TechStacks!

<back to all web services

Overview

Site
The following routes are available for this service:
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;
}

JavaScript Overview DTOs

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

HTTP + 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>