| All Verbs | /overview |
|---|
"use strict";
export class UserInfo {
/** @param {{userName?:string,avatarUrl?:string,stacksCount?:number}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
userName;
/** @type {string} */
avatarUrl;
/** @type {number} */
stacksCount;
}
/** @typedef {'ProgrammingLanguage'|'Client'|'Http'|'Server'|'Data'|'SoftwareInfrastructure'|'OperatingSystem'|'HardwareInfrastructure'|'ThirdPartyServices'} */
export var TechnologyTier;
(function (TechnologyTier) {
TechnologyTier["ProgrammingLanguage"] = "ProgrammingLanguage"
TechnologyTier["Client"] = "Client"
TechnologyTier["Http"] = "Http"
TechnologyTier["Server"] = "Server"
TechnologyTier["Data"] = "Data"
TechnologyTier["SoftwareInfrastructure"] = "SoftwareInfrastructure"
TechnologyTier["OperatingSystem"] = "OperatingSystem"
TechnologyTier["HardwareInfrastructure"] = "HardwareInfrastructure"
TechnologyTier["ThirdPartyServices"] = "ThirdPartyServices"
})(TechnologyTier || (TechnologyTier = {}));
export class TechnologyInfo {
/** @param {{tier?:TechnologyTier,slug?:string,name?:string,logoUrl?:string,stacksCount?:number}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {TechnologyTier} */
tier;
/** @type {string} */
slug;
/** @type {string} */
name;
/** @type {string} */
logoUrl;
/** @type {number} */
stacksCount;
}
export class TechnologyStackBase {
/** @param {{id?:number,name?:string,vendorName?:string,description?:string,appUrl?:string,screenshotUrl?:string,created?:string,createdBy?:string,lastModified?:string,lastModifiedBy?:string,isLocked?:boolean,ownerId?:string,slug?:string,details?:string,detailsHtml?:string,lastStatusUpdate?:string,organizationId?:number,commentsPostId?:number,viewCount?:number,favCount?:number}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
id;
/** @type {string} */
name;
/** @type {string} */
vendorName;
/** @type {string} */
description;
/** @type {string} */
appUrl;
/** @type {string} */
screenshotUrl;
/** @type {string} */
created;
/** @type {string} */
createdBy;
/** @type {string} */
lastModified;
/** @type {string} */
lastModifiedBy;
/** @type {boolean} */
isLocked;
/** @type {string} */
ownerId;
/** @type {string} */
slug;
/** @type {string} */
details;
/** @type {string} */
detailsHtml;
/** @type {?string} */
lastStatusUpdate;
/** @type {?number} */
organizationId;
/** @type {?number} */
commentsPostId;
/** @type {number} */
viewCount;
/** @type {number} */
favCount;
}
export class TechnologyBase {
/** @param {{id?:number,name?:string,vendorName?:string,vendorUrl?:string,productUrl?:string,logoUrl?:string,description?:string,created?:string,createdBy?:string,lastModified?:string,lastModifiedBy?:string,ownerId?:string,slug?:string,logoApproved?:boolean,isLocked?:boolean,tier?:TechnologyTier,lastStatusUpdate?:string,organizationId?:number,commentsPostId?:number,viewCount?:number,favCount?:number}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
id;
/** @type {string} */
name;
/** @type {string} */
vendorName;
/** @type {string} */
vendorUrl;
/** @type {string} */
productUrl;
/** @type {string} */
logoUrl;
/** @type {string} */
description;
/** @type {string} */
created;
/** @type {string} */
createdBy;
/** @type {string} */
lastModified;
/** @type {string} */
lastModifiedBy;
/** @type {string} */
ownerId;
/** @type {string} */
slug;
/** @type {boolean} */
logoApproved;
/** @type {boolean} */
isLocked;
/** @type {TechnologyTier} */
tier;
/** @type {?string} */
lastStatusUpdate;
/** @type {?number} */
organizationId;
/** @type {?number} */
commentsPostId;
/** @type {number} */
viewCount;
/** @type {number} */
favCount;
}
export class TechnologyInStack extends TechnologyBase {
/** @param {{technologyId?:number,technologyStackId?:number,justification?:string,id?:number,name?:string,vendorName?:string,vendorUrl?:string,productUrl?:string,logoUrl?:string,description?:string,created?:string,createdBy?:string,lastModified?:string,lastModifiedBy?:string,ownerId?:string,slug?:string,logoApproved?:boolean,isLocked?:boolean,tier?:TechnologyTier,lastStatusUpdate?:string,organizationId?:number,commentsPostId?:number,viewCount?:number,favCount?:number}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {number} */
technologyId;
/** @type {number} */
technologyStackId;
/** @type {string} */
justification;
}
export class TechStackDetails extends TechnologyStackBase {
/** @param {{technologyChoices?:TechnologyInStack[],id?:number,name?:string,vendorName?:string,description?:string,appUrl?:string,screenshotUrl?:string,created?:string,createdBy?:string,lastModified?:string,lastModifiedBy?:string,isLocked?:boolean,ownerId?:string,slug?:string,details?:string,detailsHtml?:string,lastStatusUpdate?:string,organizationId?:number,commentsPostId?:number,viewCount?:number,favCount?:number}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {TechnologyInStack[]} */
technologyChoices = [];
}
export class TechnologyStack extends TechnologyStackBase {
/** @param {{id?:number,name?:string,vendorName?:string,description?:string,appUrl?:string,screenshotUrl?:string,created?:string,createdBy?:string,lastModified?:string,lastModifiedBy?:string,isLocked?:boolean,ownerId?:string,slug?:string,details?:string,detailsHtml?:string,lastStatusUpdate?:string,organizationId?:number,commentsPostId?:number,viewCount?:number,favCount?:number}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
}
export class LabelInfo {
/** @param {{slug?:string,color?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
slug;
/** @type {string} */
color;
}
export class CategoryInfo {
/** @param {{id?:number,name?:string,slug?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
id;
/** @type {string} */
name;
/** @type {string} */
slug;
}
export class OrganizationInfo {
/** @param {{id?:number,name?:string,slug?:string,refId?:number,refSource?:string,upVotes?:number,downVotes?:number,membersCount?:number,rank?:number,disableInvites?:boolean,lang?:string,postTypes?:string[],moderatorPostTypes?:string[],locked?:string,labels?:LabelInfo[],categories?:CategoryInfo[]}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
id;
/** @type {string} */
name;
/** @type {string} */
slug;
/** @type {?number} */
refId;
/** @type {string} */
refSource;
/** @type {?number} */
upVotes;
/** @type {?number} */
downVotes;
/** @type {number} */
membersCount;
/** @type {number} */
rank;
/** @type {?boolean} */
disableInvites;
/** @type {string} */
lang;
/** @type {string[]} */
postTypes = [];
/** @type {string[]} */
moderatorPostTypes = [];
/** @type {?string} */
locked;
/** @type {LabelInfo[]} */
labels = [];
/** @type {CategoryInfo[]} */
categories = [];
}
export class OverviewResponse {
/** @param {{created?:string,topUsers?:UserInfo[],topTechnologies?:TechnologyInfo[],latestTechStacks?:TechStackDetails[],popularTechStacks?:TechnologyStack[],allOrganizations?:OrganizationInfo[],topTechnologiesByTier?:{ [index:string]: TechnologyInfo[]; },responseStatus?:ResponseStatus}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
created;
/** @type {UserInfo[]} */
topUsers = [];
/** @type {TechnologyInfo[]} */
topTechnologies = [];
/** @type {TechStackDetails[]} */
latestTechStacks = [];
/** @type {TechnologyStack[]} */
popularTechStacks = [];
/** @type {OrganizationInfo[]} */
allOrganizations = [];
/** @type {{ [index:string]: TechnologyInfo[]; }} */
topTechnologiesByTier = {};
/** @type {ResponseStatus} */
responseStatus;
}
export class Overview {
/** @param {{reload?:boolean}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {boolean} */
reload;
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
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: application/xml
Content-Type: application/xml
Content-Length: length
<Overview xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel">
<Reload>false</Reload>
</Overview>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length
<OverviewResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel">
<AllOrganizations>
<OrganizationInfo>
<Categories>
<CategoryInfo>
<Id>0</Id>
<Name>String</Name>
<Slug>String</Slug>
</CategoryInfo>
</Categories>
<DisableInvites>false</DisableInvites>
<DownVotes>0</DownVotes>
<Id>0</Id>
<Labels>
<LabelInfo>
<Color>String</Color>
<Slug>String</Slug>
</LabelInfo>
</Labels>
<Lang>String</Lang>
<Locked>0001-01-01T00:00:00</Locked>
<MembersCount>0</MembersCount>
<ModeratorPostTypes xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d4p1:string>String</d4p1:string>
</ModeratorPostTypes>
<Name>String</Name>
<PostTypes xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d4p1:string>String</d4p1:string>
</PostTypes>
<Rank>0</Rank>
<RefId>0</RefId>
<RefSource>String</RefSource>
<Slug>String</Slug>
<UpVotes>0</UpVotes>
</OrganizationInfo>
</AllOrganizations>
<Created>0001-01-01T00:00:00</Created>
<LatestTechStacks>
<TechStackDetails>
<AppUrl xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">String</AppUrl>
<CommentsPostId xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">0</CommentsPostId>
<Created xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">0001-01-01T00:00:00</Created>
<CreatedBy xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">String</CreatedBy>
<Description xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">String</Description>
<Details xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">String</Details>
<DetailsHtml xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">String</DetailsHtml>
<FavCount xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">0</FavCount>
<Id xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">0</Id>
<IsLocked xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">false</IsLocked>
<LastModified xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">0001-01-01T00:00:00</LastModified>
<LastModifiedBy xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">String</LastModifiedBy>
<LastStatusUpdate xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">0001-01-01T00:00:00</LastStatusUpdate>
<Name xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">String</Name>
<OrganizationId xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">0</OrganizationId>
<OwnerId xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">String</OwnerId>
<ScreenshotUrl xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">String</ScreenshotUrl>
<Slug xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">String</Slug>
<VendorName xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">String</VendorName>
<ViewCount xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">0</ViewCount>
<TechnologyChoices>
<TechnologyInStack>
<CommentsPostId xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">0</CommentsPostId>
<Created xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">0001-01-01T00:00:00</Created>
<CreatedBy xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">String</CreatedBy>
<Description xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">String</Description>
<FavCount xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">0</FavCount>
<Id xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">0</Id>
<IsLocked xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">false</IsLocked>
<LastModified xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">0001-01-01T00:00:00</LastModified>
<LastModifiedBy xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">String</LastModifiedBy>
<LastStatusUpdate xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">0001-01-01T00:00:00</LastStatusUpdate>
<LogoApproved xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">false</LogoApproved>
<LogoUrl xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">String</LogoUrl>
<Name xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">String</Name>
<OrganizationId xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">0</OrganizationId>
<OwnerId xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">String</OwnerId>
<ProductUrl xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">String</ProductUrl>
<Slug xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">String</Slug>
<Tier xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">ProgrammingLanguage</Tier>
<VendorName xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">String</VendorName>
<VendorUrl xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">String</VendorUrl>
<ViewCount xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">0</ViewCount>
<Justification>String</Justification>
<TechnologyId>0</TechnologyId>
<TechnologyStackId>0</TechnologyStackId>
</TechnologyInStack>
</TechnologyChoices>
</TechStackDetails>
</LatestTechStacks>
<PopularTechStacks xmlns:d2p1="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">
<d2p1:TechnologyStack>
<d2p1:AppUrl>String</d2p1:AppUrl>
<d2p1:CommentsPostId>0</d2p1:CommentsPostId>
<d2p1:Created>0001-01-01T00:00:00</d2p1:Created>
<d2p1:CreatedBy>String</d2p1:CreatedBy>
<d2p1:Description>String</d2p1:Description>
<d2p1:Details>String</d2p1:Details>
<d2p1:DetailsHtml>String</d2p1:DetailsHtml>
<d2p1:FavCount>0</d2p1:FavCount>
<d2p1:Id>0</d2p1:Id>
<d2p1:IsLocked>false</d2p1:IsLocked>
<d2p1:LastModified>0001-01-01T00:00:00</d2p1:LastModified>
<d2p1:LastModifiedBy>String</d2p1:LastModifiedBy>
<d2p1:LastStatusUpdate>0001-01-01T00:00:00</d2p1:LastStatusUpdate>
<d2p1:Name>String</d2p1:Name>
<d2p1:OrganizationId>0</d2p1:OrganizationId>
<d2p1:OwnerId>String</d2p1:OwnerId>
<d2p1:ScreenshotUrl>String</d2p1:ScreenshotUrl>
<d2p1:Slug>String</d2p1:Slug>
<d2p1:VendorName>String</d2p1:VendorName>
<d2p1:ViewCount>0</d2p1:ViewCount>
</d2p1:TechnologyStack>
</PopularTechStacks>
<ResponseStatus xmlns:d2p1="http://schemas.servicestack.net/types">
<d2p1:ErrorCode>String</d2p1:ErrorCode>
<d2p1:Message>String</d2p1:Message>
<d2p1:StackTrace>String</d2p1:StackTrace>
<d2p1:Errors>
<d2p1:ResponseError>
<d2p1:ErrorCode>String</d2p1:ErrorCode>
<d2p1:FieldName>String</d2p1:FieldName>
<d2p1:Message>String</d2p1:Message>
<d2p1:Meta xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d5p1:KeyValueOfstringstring>
<d5p1:Key>String</d5p1:Key>
<d5p1:Value>String</d5p1:Value>
</d5p1:KeyValueOfstringstring>
</d2p1:Meta>
</d2p1:ResponseError>
</d2p1:Errors>
<d2p1:Meta xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:KeyValueOfstringstring>
<d3p1:Key>String</d3p1:Key>
<d3p1:Value>String</d3p1:Value>
</d3p1:KeyValueOfstringstring>
</d2p1:Meta>
</ResponseStatus>
<TopTechnologies>
<TechnologyInfo>
<LogoUrl>String</LogoUrl>
<Name>String</Name>
<Slug>String</Slug>
<StacksCount>0</StacksCount>
<Tier>ProgrammingLanguage</Tier>
</TechnologyInfo>
</TopTechnologies>
<TopTechnologiesByTier xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d2p1:KeyValueOfstringArrayOfTechnologyInfowgYcwPx1>
<d2p1:Key>String</d2p1:Key>
<d2p1:Value>
<TechnologyInfo>
<LogoUrl>String</LogoUrl>
<Name>String</Name>
<Slug>String</Slug>
<StacksCount>0</StacksCount>
<Tier>ProgrammingLanguage</Tier>
</TechnologyInfo>
</d2p1:Value>
</d2p1:KeyValueOfstringArrayOfTechnologyInfowgYcwPx1>
</TopTechnologiesByTier>
<TopUsers>
<UserInfo>
<AvatarUrl>String</AvatarUrl>
<StacksCount>0</StacksCount>
<UserName>String</UserName>
</UserInfo>
</TopUsers>
</OverviewResponse>