TechStacks!

<back to all web services

Overview

Site
The following routes are available for this service:
All Verbs/overview
Imports System
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports TechStacks.ServiceModel
Imports TechStacks.ServiceModel.Types

Namespace Global

    Namespace TechStacks.ServiceModel

        Public Partial Class CategoryInfo
            Public Overridable Property Id As Integer
            Public Overridable Property Name As String
            Public Overridable Property Slug As String
        End Class

        Public Partial Class LabelInfo
            Public Overridable Property Slug As String
            Public Overridable Property Color As String
        End Class

        Public Partial Class OrganizationInfo
            Public Sub New()
                PostTypes = New String(){}
                ModeratorPostTypes = New String(){}
                Labels = New List(Of LabelInfo)
                Categories = New List(Of CategoryInfo)
            End Sub

            Public Overridable Property Id As Integer
            Public Overridable Property Name As String
            Public Overridable Property Slug As String
            Public Overridable Property RefId As Nullable(Of Long)
            Public Overridable Property RefSource As String
            Public Overridable Property UpVotes As Nullable(Of Long)
            Public Overridable Property DownVotes As Nullable(Of Long)
            Public Overridable Property MembersCount As Long
            Public Overridable Property Rank As Integer
            Public Overridable Property DisableInvites As Nullable(Of Boolean)
            Public Overridable Property Lang As String
            Public Overridable Property PostTypes As String()
            Public Overridable Property ModeratorPostTypes As String()
            Public Overridable Property Locked As Nullable(Of Date)
            Public Overridable Property Labels As List(Of LabelInfo)
            Public Overridable Property Categories As List(Of CategoryInfo)
        End Class

        Public Partial Class Overview
            Implements IGet
            Public Overridable Property Reload As Boolean
        End Class

        Public Partial Class OverviewResponse
            Public Sub New()
                TopUsers = New List(Of UserInfo)
                TopTechnologies = New List(Of TechnologyInfo)
                LatestTechStacks = New List(Of TechStackDetails)
                PopularTechStacks = New List(Of TechnologyStack)
                AllOrganizations = New List(Of OrganizationInfo)
                TopTechnologiesByTier = New Dictionary(Of String, List(Of TechnologyInfo))
            End Sub

            Public Overridable Property Created As Date
            Public Overridable Property TopUsers As List(Of UserInfo)
            Public Overridable Property TopTechnologies As List(Of TechnologyInfo)
            Public Overridable Property LatestTechStacks As List(Of TechStackDetails)
            Public Overridable Property PopularTechStacks As List(Of TechnologyStack)
            Public Overridable Property AllOrganizations As List(Of OrganizationInfo)
            Public Overridable Property TopTechnologiesByTier As Dictionary(Of String, List(Of TechnologyInfo))
            Public Overridable Property ResponseStatus As ResponseStatus
        End Class

        Public Partial Class TechnologyInfo
            Public Overridable Property Tier As TechnologyTier
            Public Overridable Property Slug As String
            Public Overridable Property Name As String
            Public Overridable Property LogoUrl As String
            Public Overridable Property StacksCount As Integer
        End Class

        Public Partial Class TechnologyInStack
            Inherits TechnologyBase
            Public Overridable Property TechnologyId As Long
            Public Overridable Property TechnologyStackId As Long
            Public Overridable Property Justification As String
            Public Overridable Property Id As Long
            Public Overridable Property Name As String
            Public Overridable Property VendorName As String
            Public Overridable Property VendorUrl As String
            Public Overridable Property ProductUrl As String
            Public Overridable Property LogoUrl As String
            Public Overridable Property Description As String
            Public Overridable Property Created As Date
            Public Overridable Property CreatedBy As String
            Public Overridable Property LastModified As Date
            Public Overridable Property LastModifiedBy As String
            Public Overridable Property OwnerId As String
            Public Overridable Property Slug As String
            Public Overridable Property LogoApproved As Boolean
            Public Overridable Property IsLocked As Boolean
            Public Overridable Property Tier As TechnologyTier
            Public Overridable Property LastStatusUpdate As Nullable(Of Date)
            Public Overridable Property OrganizationId As Nullable(Of Integer)
            Public Overridable Property CommentsPostId As Nullable(Of Long)
            Public Overridable Property ViewCount As Integer
            Public Overridable Property FavCount As Integer
        End Class

        Public Partial Class TechStackDetails
            Inherits TechnologyStackBase
            Public Sub New()
                TechnologyChoices = New List(Of TechnologyInStack)
            End Sub

            Public Overridable Property TechnologyChoices As List(Of TechnologyInStack)
            Public Overridable Property Id As Long
            Public Overridable Property Name As String
            Public Overridable Property VendorName As String
            Public Overridable Property Description As String
            Public Overridable Property AppUrl As String
            Public Overridable Property ScreenshotUrl As String
            Public Overridable Property Created As Date
            Public Overridable Property CreatedBy As String
            Public Overridable Property LastModified As Date
            Public Overridable Property LastModifiedBy As String
            Public Overridable Property IsLocked As Boolean
            Public Overridable Property OwnerId As String
            Public Overridable Property Slug As String
            <StringLength(Integer.MaxValue)>
            Public Overridable Property Details As String

            <StringLength(Integer.MaxValue)>
            Public Overridable Property DetailsHtml As String

            Public Overridable Property LastStatusUpdate As Nullable(Of Date)
            Public Overridable Property OrganizationId As Nullable(Of Integer)
            Public Overridable Property CommentsPostId As Nullable(Of Long)
            Public Overridable Property ViewCount As Integer
            Public Overridable Property FavCount As Integer
        End Class

        Public Partial Class UserInfo
            Public Overridable Property UserName As String
            Public Overridable Property AvatarUrl As String
            Public Overridable Property StacksCount As Integer
        End Class
    End Namespace

    Namespace TechStacks.ServiceModel.Types

        Public Partial Class TechnologyBase
            Public Overridable Property Id As Long
            Public Overridable Property Name As String
            Public Overridable Property VendorName As String
            Public Overridable Property VendorUrl As String
            Public Overridable Property ProductUrl As String
            Public Overridable Property LogoUrl As String
            Public Overridable Property Description As String
            Public Overridable Property Created As Date
            Public Overridable Property CreatedBy As String
            Public Overridable Property LastModified As Date
            Public Overridable Property LastModifiedBy As String
            Public Overridable Property OwnerId As String
            Public Overridable Property Slug As String
            Public Overridable Property LogoApproved As Boolean
            Public Overridable Property IsLocked As Boolean
            Public Overridable Property Tier As TechnologyTier
            Public Overridable Property LastStatusUpdate As Nullable(Of Date)
            Public Overridable Property OrganizationId As Nullable(Of Integer)
            Public Overridable Property CommentsPostId As Nullable(Of Long)
            Public Overridable Property ViewCount As Integer
            Public Overridable Property FavCount As Integer
        End Class

        Public Partial Class TechnologyStack
            Inherits TechnologyStackBase
            Public Overridable Property Id As Long
            Public Overridable Property Name As String
            Public Overridable Property VendorName As String
            Public Overridable Property Description As String
            Public Overridable Property AppUrl As String
            Public Overridable Property ScreenshotUrl As String
            Public Overridable Property Created As Date
            Public Overridable Property CreatedBy As String
            Public Overridable Property LastModified As Date
            Public Overridable Property LastModifiedBy As String
            Public Overridable Property IsLocked As Boolean
            Public Overridable Property OwnerId As String
            Public Overridable Property Slug As String
            <StringLength(Integer.MaxValue)>
            Public Overridable Property Details As String

            <StringLength(Integer.MaxValue)>
            Public Overridable Property DetailsHtml As String

            Public Overridable Property LastStatusUpdate As Nullable(Of Date)
            Public Overridable Property OrganizationId As Nullable(Of Integer)
            Public Overridable Property CommentsPostId As Nullable(Of Long)
            Public Overridable Property ViewCount As Integer
            Public Overridable Property FavCount As Integer
        End Class

        Public Partial Class TechnologyStackBase
            Public Overridable Property Id As Long
            Public Overridable Property Name As String
            Public Overridable Property VendorName As String
            Public Overridable Property Description As String
            Public Overridable Property AppUrl As String
            Public Overridable Property ScreenshotUrl As String
            Public Overridable Property Created As Date
            Public Overridable Property CreatedBy As String
            Public Overridable Property LastModified As Date
            Public Overridable Property LastModifiedBy As String
            Public Overridable Property IsLocked As Boolean
            Public Overridable Property OwnerId As String
            Public Overridable Property Slug As String
            <StringLength(Integer.MaxValue)>
            Public Overridable Property Details As String

            <StringLength(Integer.MaxValue)>
            Public Overridable Property DetailsHtml As String

            Public Overridable Property LastStatusUpdate As Nullable(Of Date)
            Public Overridable Property OrganizationId As Nullable(Of Integer)
            Public Overridable Property CommentsPostId As Nullable(Of Long)
            Public Overridable Property ViewCount As Integer
            Public Overridable Property FavCount As Integer
        End Class

        Public Enum TechnologyTier
            ProgrammingLanguage
            Client
            Http
            Server
            Data
            SoftwareInfrastructure
            OperatingSystem
            HardwareInfrastructure
            ThirdPartyServices
        End Enum
    End Namespace
End Namespace

VB.NET Overview DTOs

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

To embed the response in a jsonp callback, append ?callback=myCallback

HTTP + JSON

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/json
Content-Type: application/json
Content-Length: length

{"reload":false}
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length

{"created":"0001-01-01T00:00:00.0000000","topUsers":[{"userName":"String","avatarUrl":"String","stacksCount":0}],"topTechnologies":[{"tier":"ProgrammingLanguage","slug":"String","name":"String","logoUrl":"String","stacksCount":0}],"latestTechStacks":[{"technologyChoices":[{"technologyId":0,"technologyStackId":0,"justification":"String","id":0,"name":"String","vendorName":"String","vendorUrl":"String","productUrl":"String","logoUrl":"String","description":"String","created":"0001-01-01T00:00:00.0000000","createdBy":"String","lastModified":"0001-01-01T00:00:00.0000000","lastModifiedBy":"String","ownerId":"String","slug":"String","logoApproved":false,"isLocked":false,"tier":"ProgrammingLanguage","lastStatusUpdate":"0001-01-01T00:00:00.0000000","organizationId":0,"commentsPostId":0,"viewCount":0,"favCount":0}],"id":0,"name":"String","vendorName":"String","description":"String","appUrl":"String","screenshotUrl":"String","created":"0001-01-01T00:00:00.0000000","createdBy":"String","lastModified":"0001-01-01T00:00:00.0000000","lastModifiedBy":"String","isLocked":false,"ownerId":"String","slug":"String","details":"String","detailsHtml":"String","lastStatusUpdate":"0001-01-01T00:00:00.0000000","organizationId":0,"commentsPostId":0,"viewCount":0,"favCount":0}],"popularTechStacks":[{"id":0,"name":"String","vendorName":"String","description":"String","appUrl":"String","screenshotUrl":"String","created":"0001-01-01T00:00:00.0000000","createdBy":"String","lastModified":"0001-01-01T00:00:00.0000000","lastModifiedBy":"String","isLocked":false,"ownerId":"String","slug":"String","details":"String","detailsHtml":"String","lastStatusUpdate":"0001-01-01T00:00:00.0000000","organizationId":0,"commentsPostId":0,"viewCount":0,"favCount":0}],"allOrganizations":[{"id":0,"name":"String","slug":"String","refId":0,"refSource":"String","upVotes":0,"downVotes":0,"membersCount":0,"rank":0,"disableInvites":false,"lang":"String","postTypes":["String"],"moderatorPostTypes":["String"],"locked":"0001-01-01T00:00:00.0000000","labels":[{"slug":"String","color":"String"}],"categories":[{"id":0,"name":"String","slug":"String"}]}],"topTechnologiesByTier":{"String":[{"tier":"ProgrammingLanguage","slug":"String","name":"String","logoUrl":"String","stacksCount":0}]},"responseStatus":{"errorCode":"String","message":"String","stackTrace":"String","errors":[{"errorCode":"String","fieldName":"String","message":"String","meta":{"String":"String"}}],"meta":{"String":"String"}}}