TechStacks!

<back to all web services

Overview

Site
The following routes are available for this service:
All Verbs/overview
import java.math.*;
import java.util.*;
import java.io.InputStream;
import net.servicestack.client.*;

public class dtos
{

    public static class Overview implements IGet
    {
        public Boolean reload = null;
        
        public Boolean isReload() { return reload; }
        public Overview setReload(Boolean value) { this.reload = value; return this; }
    }

    public static class OverviewResponse
    {
        public Date created = null;
        public ArrayList<UserInfo> topUsers = null;
        public ArrayList<TechnologyInfo> topTechnologies = null;
        public ArrayList<TechStackDetails> latestTechStacks = null;
        public ArrayList<TechnologyStack> popularTechStacks = null;
        public ArrayList<OrganizationInfo> allOrganizations = null;
        public HashMap<String,ArrayList<TechnologyInfo>> topTechnologiesByTier = null;
        public ResponseStatus responseStatus = null;
        
        public Date getCreated() { return created; }
        public OverviewResponse setCreated(Date value) { this.created = value; return this; }
        public ArrayList<UserInfo> getTopUsers() { return topUsers; }
        public OverviewResponse setTopUsers(ArrayList<UserInfo> value) { this.topUsers = value; return this; }
        public ArrayList<TechnologyInfo> getTopTechnologies() { return topTechnologies; }
        public OverviewResponse setTopTechnologies(ArrayList<TechnologyInfo> value) { this.topTechnologies = value; return this; }
        public ArrayList<TechStackDetails> getLatestTechStacks() { return latestTechStacks; }
        public OverviewResponse setLatestTechStacks(ArrayList<TechStackDetails> value) { this.latestTechStacks = value; return this; }
        public ArrayList<TechnologyStack> getPopularTechStacks() { return popularTechStacks; }
        public OverviewResponse setPopularTechStacks(ArrayList<TechnologyStack> value) { this.popularTechStacks = value; return this; }
        public ArrayList<OrganizationInfo> getAllOrganizations() { return allOrganizations; }
        public OverviewResponse setAllOrganizations(ArrayList<OrganizationInfo> value) { this.allOrganizations = value; return this; }
        public HashMap<String,ArrayList<TechnologyInfo>> getTopTechnologiesByTier() { return topTechnologiesByTier; }
        public OverviewResponse setTopTechnologiesByTier(HashMap<String,ArrayList<TechnologyInfo>> value) { this.topTechnologiesByTier = value; return this; }
        public ResponseStatus getResponseStatus() { return responseStatus; }
        public OverviewResponse setResponseStatus(ResponseStatus value) { this.responseStatus = value; return this; }
    }

    public static class UserInfo
    {
        public String userName = null;
        public String avatarUrl = null;
        public Integer stacksCount = null;
        
        public String getUserName() { return userName; }
        public UserInfo setUserName(String value) { this.userName = value; return this; }
        public String getAvatarUrl() { return avatarUrl; }
        public UserInfo setAvatarUrl(String value) { this.avatarUrl = value; return this; }
        public Integer getStacksCount() { return stacksCount; }
        public UserInfo setStacksCount(Integer value) { this.stacksCount = value; return this; }
    }

    public static class TechnologyInfo
    {
        public TechnologyTier tier = null;
        public String slug = null;
        public String name = null;
        public String logoUrl = null;
        public Integer stacksCount = null;
        
        public TechnologyTier getTier() { return tier; }
        public TechnologyInfo setTier(TechnologyTier value) { this.tier = value; return this; }
        public String getSlug() { return slug; }
        public TechnologyInfo setSlug(String value) { this.slug = value; return this; }
        public String getName() { return name; }
        public TechnologyInfo setName(String value) { this.name = value; return this; }
        public String getLogoUrl() { return logoUrl; }
        public TechnologyInfo setLogoUrl(String value) { this.logoUrl = value; return this; }
        public Integer getStacksCount() { return stacksCount; }
        public TechnologyInfo setStacksCount(Integer value) { this.stacksCount = value; return this; }
    }

    public static enum TechnologyTier
    {
        ProgrammingLanguage,
        Client,
        Http,
        Server,
        Data,
        SoftwareInfrastructure,
        OperatingSystem,
        HardwareInfrastructure,
        ThirdPartyServices;
    }

    public static class TechStackDetails extends TechnologyStackBase
    {
        public ArrayList<TechnologyInStack> technologyChoices = null;
        
        public ArrayList<TechnologyInStack> getTechnologyChoices() { return technologyChoices; }
        public TechStackDetails setTechnologyChoices(ArrayList<TechnologyInStack> value) { this.technologyChoices = value; return this; }
    }

    public static class TechnologyStackBase
    {
        public Long id = null;
        public String name = null;
        public String vendorName = null;
        public String description = null;
        public String appUrl = null;
        public String screenshotUrl = null;
        public Date created = null;
        public String createdBy = null;
        public Date lastModified = null;
        public String lastModifiedBy = null;
        public Boolean isLocked = null;
        public String ownerId = null;
        public String slug = null;
        @StringLength(MaximumLength=2147483647)
        public String details = null;

        @StringLength(MaximumLength=2147483647)
        public String detailsHtml = null;

        public Date lastStatusUpdate = null;
        public Integer organizationId = null;
        public Long commentsPostId = null;
        public Integer viewCount = null;
        public Integer favCount = null;
        
        public Long getId() { return id; }
        public TechnologyStackBase setId(Long value) { this.id = value; return this; }
        public String getName() { return name; }
        public TechnologyStackBase setName(String value) { this.name = value; return this; }
        public String getVendorName() { return vendorName; }
        public TechnologyStackBase setVendorName(String value) { this.vendorName = value; return this; }
        public String getDescription() { return description; }
        public TechnologyStackBase setDescription(String value) { this.description = value; return this; }
        public String getAppUrl() { return appUrl; }
        public TechnologyStackBase setAppUrl(String value) { this.appUrl = value; return this; }
        public String getScreenshotUrl() { return screenshotUrl; }
        public TechnologyStackBase setScreenshotUrl(String value) { this.screenshotUrl = value; return this; }
        public Date getCreated() { return created; }
        public TechnologyStackBase setCreated(Date value) { this.created = value; return this; }
        public String getCreatedBy() { return createdBy; }
        public TechnologyStackBase setCreatedBy(String value) { this.createdBy = value; return this; }
        public Date getLastModified() { return lastModified; }
        public TechnologyStackBase setLastModified(Date value) { this.lastModified = value; return this; }
        public String getLastModifiedBy() { return lastModifiedBy; }
        public TechnologyStackBase setLastModifiedBy(String value) { this.lastModifiedBy = value; return this; }
        public Boolean getIsLocked() { return isLocked; }
        public TechnologyStackBase setIsLocked(Boolean value) { this.isLocked = value; return this; }
        public String getOwnerId() { return ownerId; }
        public TechnologyStackBase setOwnerId(String value) { this.ownerId = value; return this; }
        public String getSlug() { return slug; }
        public TechnologyStackBase setSlug(String value) { this.slug = value; return this; }
        public String getDetails() { return details; }
        public TechnologyStackBase setDetails(String value) { this.details = value; return this; }
        public String getDetailsHtml() { return detailsHtml; }
        public TechnologyStackBase setDetailsHtml(String value) { this.detailsHtml = value; return this; }
        public Date getLastStatusUpdate() { return lastStatusUpdate; }
        public TechnologyStackBase setLastStatusUpdate(Date value) { this.lastStatusUpdate = value; return this; }
        public Integer getOrganizationId() { return organizationId; }
        public TechnologyStackBase setOrganizationId(Integer value) { this.organizationId = value; return this; }
        public Long getCommentsPostId() { return commentsPostId; }
        public TechnologyStackBase setCommentsPostId(Long value) { this.commentsPostId = value; return this; }
        public Integer getViewCount() { return viewCount; }
        public TechnologyStackBase setViewCount(Integer value) { this.viewCount = value; return this; }
        public Integer getFavCount() { return favCount; }
        public TechnologyStackBase setFavCount(Integer value) { this.favCount = value; return this; }
    }

    public static class TechnologyInStack extends TechnologyBase
    {
        public Long technologyId = null;
        public Long technologyStackId = null;
        public String justification = null;
        
        public Long getTechnologyId() { return technologyId; }
        public TechnologyInStack setTechnologyId(Long value) { this.technologyId = value; return this; }
        public Long getTechnologyStackId() { return technologyStackId; }
        public TechnologyInStack setTechnologyStackId(Long value) { this.technologyStackId = value; return this; }
        public String getJustification() { return justification; }
        public TechnologyInStack setJustification(String value) { this.justification = value; return this; }
    }

    public static class TechnologyBase
    {
        public Long id = null;
        public String name = null;
        public String vendorName = null;
        public String vendorUrl = null;
        public String productUrl = null;
        public String logoUrl = null;
        public String description = null;
        public Date created = null;
        public String createdBy = null;
        public Date lastModified = null;
        public String lastModifiedBy = null;
        public String ownerId = null;
        public String slug = null;
        public Boolean logoApproved = null;
        public Boolean isLocked = null;
        public TechnologyTier tier = null;
        public Date lastStatusUpdate = null;
        public Integer organizationId = null;
        public Long commentsPostId = null;
        public Integer viewCount = null;
        public Integer favCount = null;
        
        public Long getId() { return id; }
        public TechnologyBase setId(Long value) { this.id = value; return this; }
        public String getName() { return name; }
        public TechnologyBase setName(String value) { this.name = value; return this; }
        public String getVendorName() { return vendorName; }
        public TechnologyBase setVendorName(String value) { this.vendorName = value; return this; }
        public String getVendorUrl() { return vendorUrl; }
        public TechnologyBase setVendorUrl(String value) { this.vendorUrl = value; return this; }
        public String getProductUrl() { return productUrl; }
        public TechnologyBase setProductUrl(String value) { this.productUrl = value; return this; }
        public String getLogoUrl() { return logoUrl; }
        public TechnologyBase setLogoUrl(String value) { this.logoUrl = value; return this; }
        public String getDescription() { return description; }
        public TechnologyBase setDescription(String value) { this.description = value; return this; }
        public Date getCreated() { return created; }
        public TechnologyBase setCreated(Date value) { this.created = value; return this; }
        public String getCreatedBy() { return createdBy; }
        public TechnologyBase setCreatedBy(String value) { this.createdBy = value; return this; }
        public Date getLastModified() { return lastModified; }
        public TechnologyBase setLastModified(Date value) { this.lastModified = value; return this; }
        public String getLastModifiedBy() { return lastModifiedBy; }
        public TechnologyBase setLastModifiedBy(String value) { this.lastModifiedBy = value; return this; }
        public String getOwnerId() { return ownerId; }
        public TechnologyBase setOwnerId(String value) { this.ownerId = value; return this; }
        public String getSlug() { return slug; }
        public TechnologyBase setSlug(String value) { this.slug = value; return this; }
        public Boolean isLogoApproved() { return logoApproved; }
        public TechnologyBase setLogoApproved(Boolean value) { this.logoApproved = value; return this; }
        public Boolean getIsLocked() { return isLocked; }
        public TechnologyBase setIsLocked(Boolean value) { this.isLocked = value; return this; }
        public TechnologyTier getTier() { return tier; }
        public TechnologyBase setTier(TechnologyTier value) { this.tier = value; return this; }
        public Date getLastStatusUpdate() { return lastStatusUpdate; }
        public TechnologyBase setLastStatusUpdate(Date value) { this.lastStatusUpdate = value; return this; }
        public Integer getOrganizationId() { return organizationId; }
        public TechnologyBase setOrganizationId(Integer value) { this.organizationId = value; return this; }
        public Long getCommentsPostId() { return commentsPostId; }
        public TechnologyBase setCommentsPostId(Long value) { this.commentsPostId = value; return this; }
        public Integer getViewCount() { return viewCount; }
        public TechnologyBase setViewCount(Integer value) { this.viewCount = value; return this; }
        public Integer getFavCount() { return favCount; }
        public TechnologyBase setFavCount(Integer value) { this.favCount = value; return this; }
    }

    public static class TechnologyStack extends TechnologyStackBase
    {
        
    }

    public static class OrganizationInfo
    {
        public Integer id = null;
        public String name = null;
        public String slug = null;
        public Long refId = null;
        public String refSource = null;
        public Long upVotes = null;
        public Long downVotes = null;
        public Long membersCount = null;
        public Integer rank = null;
        public Boolean disableInvites = null;
        public String lang = null;
        public ArrayList<String> postTypes = null;
        public ArrayList<String> moderatorPostTypes = null;
        public Date locked = null;
        public ArrayList<LabelInfo> labels = null;
        public ArrayList<CategoryInfo> categories = null;
        
        public Integer getId() { return id; }
        public OrganizationInfo setId(Integer value) { this.id = value; return this; }
        public String getName() { return name; }
        public OrganizationInfo setName(String value) { this.name = value; return this; }
        public String getSlug() { return slug; }
        public OrganizationInfo setSlug(String value) { this.slug = value; return this; }
        public Long getRefId() { return refId; }
        public OrganizationInfo setRefId(Long value) { this.refId = value; return this; }
        public String getRefSource() { return refSource; }
        public OrganizationInfo setRefSource(String value) { this.refSource = value; return this; }
        public Long getUpVotes() { return upVotes; }
        public OrganizationInfo setUpVotes(Long value) { this.upVotes = value; return this; }
        public Long getDownVotes() { return downVotes; }
        public OrganizationInfo setDownVotes(Long value) { this.downVotes = value; return this; }
        public Long getMembersCount() { return membersCount; }
        public OrganizationInfo setMembersCount(Long value) { this.membersCount = value; return this; }
        public Integer getRank() { return rank; }
        public OrganizationInfo setRank(Integer value) { this.rank = value; return this; }
        public Boolean isDisableInvites() { return disableInvites; }
        public OrganizationInfo setDisableInvites(Boolean value) { this.disableInvites = value; return this; }
        public String getLang() { return lang; }
        public OrganizationInfo setLang(String value) { this.lang = value; return this; }
        public ArrayList<String> getPostTypes() { return postTypes; }
        public OrganizationInfo setPostTypes(ArrayList<String> value) { this.postTypes = value; return this; }
        public ArrayList<String> getModeratorPostTypes() { return moderatorPostTypes; }
        public OrganizationInfo setModeratorPostTypes(ArrayList<String> value) { this.moderatorPostTypes = value; return this; }
        public Date getLocked() { return locked; }
        public OrganizationInfo setLocked(Date value) { this.locked = value; return this; }
        public ArrayList<LabelInfo> getLabels() { return labels; }
        public OrganizationInfo setLabels(ArrayList<LabelInfo> value) { this.labels = value; return this; }
        public ArrayList<CategoryInfo> getCategories() { return categories; }
        public OrganizationInfo setCategories(ArrayList<CategoryInfo> value) { this.categories = value; return this; }
    }

    public static class LabelInfo
    {
        public String slug = null;
        public String color = null;
        
        public String getSlug() { return slug; }
        public LabelInfo setSlug(String value) { this.slug = value; return this; }
        public String getColor() { return color; }
        public LabelInfo setColor(String value) { this.color = value; return this; }
    }

    public static class CategoryInfo
    {
        public Integer id = null;
        public String name = null;
        public String slug = null;
        
        public Integer getId() { return id; }
        public CategoryInfo setId(Integer value) { this.id = value; return this; }
        public String getName() { return name; }
        public CategoryInfo setName(String value) { this.name = value; return this; }
        public String getSlug() { return slug; }
        public CategoryInfo setSlug(String value) { this.slug = value; return this; }
    }

}

Java Overview DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + JSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /overview HTTP/1.1 
Host: techstacks.io 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	reload: False
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	created: 0001-01-01,
	topUsers: 
	[
		{
			userName: String,
			avatarUrl: String,
			stacksCount: 0
		}
	],
	topTechnologies: 
	[
		{
			tier: ProgrammingLanguage,
			slug: String,
			name: String,
			logoUrl: String,
			stacksCount: 0
		}
	],
	latestTechStacks: 
	[
		{
			technologyChoices: 
			[
				{
					technologyId: 0,
					technologyStackId: 0,
					justification: String,
					id: 0,
					name: String,
					vendorName: String,
					vendorUrl: String,
					productUrl: String,
					logoUrl: String,
					description: String,
					created: 0001-01-01,
					createdBy: String,
					lastModified: 0001-01-01,
					lastModifiedBy: String,
					ownerId: String,
					slug: String,
					logoApproved: False,
					isLocked: False,
					tier: ProgrammingLanguage,
					lastStatusUpdate: 0001-01-01,
					organizationId: 0,
					commentsPostId: 0,
					viewCount: 0,
					favCount: 0
				}
			],
			id: 0,
			name: String,
			vendorName: String,
			description: String,
			appUrl: String,
			screenshotUrl: String,
			created: 0001-01-01,
			createdBy: String,
			lastModified: 0001-01-01,
			lastModifiedBy: String,
			isLocked: False,
			ownerId: String,
			slug: String,
			details: String,
			detailsHtml: String,
			lastStatusUpdate: 0001-01-01,
			organizationId: 0,
			commentsPostId: 0,
			viewCount: 0,
			favCount: 0
		}
	],
	popularTechStacks: 
	[
		{
			id: 0,
			name: String,
			vendorName: String,
			description: String,
			appUrl: String,
			screenshotUrl: String,
			created: 0001-01-01,
			createdBy: String,
			lastModified: 0001-01-01,
			lastModifiedBy: String,
			isLocked: False,
			ownerId: String,
			slug: String,
			details: String,
			detailsHtml: String,
			lastStatusUpdate: 0001-01-01,
			organizationId: 0,
			commentsPostId: 0,
			viewCount: 0,
			favCount: 0
		}
	],
	allOrganizations: 
	[
		{
			id: 0,
			name: String,
			slug: String,
			refId: 0,
			refSource: String,
			upVotes: 0,
			downVotes: 0,
			membersCount: 0,
			rank: 0,
			disableInvites: False,
			lang: String,
			postTypes: 
			[
				String
			],
			moderatorPostTypes: 
			[
				String
			],
			locked: 0001-01-01,
			labels: 
			[
				{
					slug: String,
					color: String
				}
			],
			categories: 
			[
				{
					id: 0,
					name: String,
					slug: String
				}
			]
		}
	],
	topTechnologiesByTier: 
	{
		String: 
		[
			{
				tier: ProgrammingLanguage,
				slug: String,
				name: String,
				logoUrl: String,
				stacksCount: 0
			}
		]
	},
	responseStatus: 
	{
		errorCode: String,
		message: String,
		stackTrace: String,
		errors: 
		[
			{
				errorCode: String,
				fieldName: String,
				message: String,
				meta: 
				{
					String: String
				}
			}
		],
		meta: 
		{
			String: String
		}
	}
}