TechStacks!

<back to all web services

GetTechnologyStack

TechStacks
The following routes are available for this service:
GET/techstacks/{Slug}
import java.math.*
import java.util.*
import net.servicestack.client.*


open class GetTechnologyStack : IRegisterStats, IGet
{
    var slug:String? = null
}

open class GetTechnologyStackResponse
{
    var created:Date? = null
    var result:TechStackDetails? = null
    var responseStatus:ResponseStatus? = null
}

open class TechStackDetails : TechnologyStackBase()
{
    var technologyChoices:ArrayList<TechnologyInStack> = ArrayList<TechnologyInStack>()
    var id:Long? = null
    var name:String? = null
    var vendorName:String? = null
    var description:String? = null
    var appUrl:String? = null
    var screenshotUrl:String? = null
    var created:Date? = null
    var createdBy:String? = null
    var lastModified:Date? = null
    var lastModifiedBy:String? = null
    var isLocked:Boolean? = null
    var ownerId:String? = null
    var slug:String? = null
    @StringLength(2147483647)
    var details:String? = null

    @StringLength(2147483647)
    var detailsHtml:String? = null

    var lastStatusUpdate:Date? = null
    var organizationId:Int? = null
    var commentsPostId:Long? = null
    var viewCount:Int? = null
    var favCount:Int? = null
}

open class TechnologyStackBase
{
    var id:Long? = null
    var name:String? = null
    var vendorName:String? = null
    var description:String? = null
    var appUrl:String? = null
    var screenshotUrl:String? = null
    var created:Date? = null
    var createdBy:String? = null
    var lastModified:Date? = null
    var lastModifiedBy:String? = null
    var isLocked:Boolean? = null
    var ownerId:String? = null
    var slug:String? = null
    @StringLength(2147483647)
    var details:String? = null

    @StringLength(2147483647)
    var detailsHtml:String? = null

    var lastStatusUpdate:Date? = null
    var organizationId:Int? = null
    var commentsPostId:Long? = null
    var viewCount:Int? = null
    var favCount:Int? = null
}

open class TechnologyInStack : TechnologyBase()
{
    var technologyId:Long? = null
    var technologyStackId:Long? = null
    var justification:String? = null
    var id:Long? = null
    var name:String? = null
    var vendorName:String? = null
    var vendorUrl:String? = null
    var productUrl:String? = null
    var logoUrl:String? = null
    var description:String? = null
    var created:Date? = null
    var createdBy:String? = null
    var lastModified:Date? = null
    var lastModifiedBy:String? = null
    var ownerId:String? = null
    var slug:String? = null
    var logoApproved:Boolean? = null
    var isLocked:Boolean? = null
    var tier:TechnologyTier? = null
    var lastStatusUpdate:Date? = null
    var organizationId:Int? = null
    var commentsPostId:Long? = null
    var viewCount:Int? = null
    var favCount:Int? = null
}

open class TechnologyBase
{
    var id:Long? = null
    var name:String? = null
    var vendorName:String? = null
    var vendorUrl:String? = null
    var productUrl:String? = null
    var logoUrl:String? = null
    var description:String? = null
    var created:Date? = null
    var createdBy:String? = null
    var lastModified:Date? = null
    var lastModifiedBy:String? = null
    var ownerId:String? = null
    var slug:String? = null
    var logoApproved:Boolean? = null
    var isLocked:Boolean? = null
    var tier:TechnologyTier? = null
    var lastStatusUpdate:Date? = null
    var organizationId:Int? = null
    var commentsPostId:Long? = null
    var viewCount:Int? = null
    var favCount:Int? = null
}

enum class TechnologyTier
{
    ProgrammingLanguage,
    Client,
    Http,
    Server,
    Data,
    SoftwareInfrastructure,
    OperatingSystem,
    HardwareInfrastructure,
    ThirdPartyServices,
}

Kotlin 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
		}
	}
}