TechStacks!

<back to all web services

CreateTechnologyStack

TechStacks
Requires Authentication
The following routes are available for this service:
POST/techstacks
"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,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;
    /** @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 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,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;
    /** @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 CreateTechnologyStackResponse {
    /** @param {{result?:TechStackDetails,responseStatus?:ResponseStatus}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {TechStackDetails} */
    result;
    /** @type {ResponseStatus} */
    responseStatus;
}
export class CreateTechnologyStack {
    /** @param {{name?:string,slug?:string,vendorName?:string,appUrl?:string,screenshotUrl?:string,description?:string,details?:string,isLocked?:boolean,technologyIds?:number[]}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    name;
    /** @type {string} */
    slug;
    /** @type {string} */
    vendorName;
    /** @type {string} */
    appUrl;
    /** @type {string} */
    screenshotUrl;
    /** @type {string} */
    description;
    /** @type {string} */
    details;
    /** @type {boolean} */
    isLocked;
    /** @type {number[]} */
    technologyIds;
}

JavaScript CreateTechnologyStack 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 /techstacks HTTP/1.1 
Host: techstacks.io 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<CreateTechnologyStack xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel">
  <AppUrl>String</AppUrl>
  <Description>String</Description>
  <Details>String</Details>
  <IsLocked>false</IsLocked>
  <Name>String</Name>
  <ScreenshotUrl>String</ScreenshotUrl>
  <Slug>String</Slug>
  <TechnologyIds xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:long>0</d2p1:long>
  </TechnologyIds>
  <VendorName>String</VendorName>
</CreateTechnologyStack>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<CreateTechnologyStackResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel">
  <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>
</CreateTechnologyStackResponse>