TechStacks!

<back to all web services

GetTechnologyStack

TechStacks
The following routes are available for this service:
GET/techstacks/{Slug}

export class TechnologyStackBase
{
    public id: number;
    public name: string;
    public vendorName: string;
    public description: string;
    public appUrl: string;
    public screenshotUrl: string;
    public created: string;
    public createdBy: string;
    public lastModified: string;
    public lastModifiedBy: string;
    public isLocked: boolean;
    public ownerId: string;
    public slug: string;
    // @StringLength(2147483647)
    public details: string;

    // @StringLength(2147483647)
    public detailsHtml: string;

    public lastStatusUpdate?: string;
    public organizationId?: number;
    public commentsPostId?: number;
    public viewCount: number;
    public favCount: number;

    public constructor(init?: Partial<TechnologyStackBase>) { (Object as any).assign(this, init); }
}

export enum TechnologyTier
{
    ProgrammingLanguage = 'ProgrammingLanguage',
    Client = 'Client',
    Http = 'Http',
    Server = 'Server',
    Data = 'Data',
    SoftwareInfrastructure = 'SoftwareInfrastructure',
    OperatingSystem = 'OperatingSystem',
    HardwareInfrastructure = 'HardwareInfrastructure',
    ThirdPartyServices = 'ThirdPartyServices',
}

export class TechnologyBase
{
    public id: number;
    public name: string;
    public vendorName: string;
    public vendorUrl: string;
    public productUrl: string;
    public logoUrl: string;
    public description: string;
    public created: string;
    public createdBy: string;
    public lastModified: string;
    public lastModifiedBy: string;
    public ownerId: string;
    public slug: string;
    public logoApproved: boolean;
    public isLocked: boolean;
    public tier: TechnologyTier;
    public lastStatusUpdate?: string;
    public organizationId?: number;
    public commentsPostId?: number;
    public viewCount: number;
    public favCount: number;

    public constructor(init?: Partial<TechnologyBase>) { (Object as any).assign(this, init); }
}

export class TechnologyInStack extends TechnologyBase
{
    public technologyId: number;
    public technologyStackId: number;
    public justification: string;
    public id: number;
    public name: string;
    public vendorName: string;
    public vendorUrl: string;
    public productUrl: string;
    public logoUrl: string;
    public description: string;
    public created: string;
    public createdBy: string;
    public lastModified: string;
    public lastModifiedBy: string;
    public ownerId: string;
    public slug: string;
    public logoApproved: boolean;
    public isLocked: boolean;
    public tier: TechnologyTier;
    public lastStatusUpdate?: string;
    public organizationId?: number;
    public commentsPostId?: number;
    public viewCount: number;
    public favCount: number;

    public constructor(init?: Partial<TechnologyInStack>) { super(init); (Object as any).assign(this, init); }
}

export class TechStackDetails extends TechnologyStackBase
{
    public technologyChoices: TechnologyInStack[];
    public id: number;
    public name: string;
    public vendorName: string;
    public description: string;
    public appUrl: string;
    public screenshotUrl: string;
    public created: string;
    public createdBy: string;
    public lastModified: string;
    public lastModifiedBy: string;
    public isLocked: boolean;
    public ownerId: string;
    public slug: string;
    // @StringLength(2147483647)
    public details: string;

    // @StringLength(2147483647)
    public detailsHtml: string;

    public lastStatusUpdate?: string;
    public organizationId?: number;
    public commentsPostId?: number;
    public viewCount: number;
    public favCount: number;

    public constructor(init?: Partial<TechStackDetails>) { super(init); (Object as any).assign(this, init); }
}

export class GetTechnologyStackResponse
{
    public created: string;
    public result: TechStackDetails;
    public responseStatus: ResponseStatus;

    public constructor(init?: Partial<GetTechnologyStackResponse>) { (Object as any).assign(this, init); }
}

export class GetTechnologyStack implements IRegisterStats, IGet
{
    public slug: string;

    public constructor(init?: Partial<GetTechnologyStack>) { (Object as any).assign(this, init); }
}

TypeScript GetTechnologyStack 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.

GET /techstacks/{Slug} HTTP/1.1 
Host: techstacks.io 
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	created: 0001-01-01,
	result: 
	{
		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
	},
	responseStatus: 
	{
		errorCode: String,
		message: String,
		stackTrace: String,
		errors: 
		[
			{
				errorCode: String,
				fieldName: String,
				message: String,
				meta: 
				{
					String: String
				}
			}
		],
		meta: 
		{
			String: String
		}
	}
}