| GET | /techstacks/{Slug} |
|---|
"use strict";
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;
}
/** @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 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 GetTechnologyStackResponse {
/** @param {{created?:string,result?:TechStackDetails,responseStatus?:ResponseStatus}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
created;
/** @type {TechStackDetails} */
result;
/** @type {ResponseStatus} */
responseStatus;
}
export class GetTechnologyStack {
/** @param {{slug?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
slug;
}
JavaScript GetTechnologyStack DTOs
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.
GET /techstacks/{Slug} HTTP/1.1
Host: techstacks.io
Accept: application/xml
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length
<GetTechnologyStackResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel">
<Created>0001-01-01T00:00:00</Created>
<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>
<Result>
<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>
</Result>
</GetTechnologyStackResponse>