TechStacks!

<back to all web services

Overview

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

namespace TechStacks.ServiceModel
{
    public partial class CategoryInfo
    {
        public virtual int Id { get; set; }
        public virtual string Name { get; set; }
        public virtual string Slug { get; set; }
    }

    public partial class LabelInfo
    {
        public virtual string Slug { get; set; }
        public virtual string Color { get; set; }
    }

    public partial class OrganizationInfo
    {
        public OrganizationInfo()
        {
            PostTypes = new string[]{};
            ModeratorPostTypes = new string[]{};
            Labels = new List<LabelInfo>{};
            Categories = new List<CategoryInfo>{};
        }

        public virtual int Id { get; set; }
        public virtual string Name { get; set; }
        public virtual string Slug { get; set; }
        public virtual long? RefId { get; set; }
        public virtual string RefSource { get; set; }
        public virtual long? UpVotes { get; set; }
        public virtual long? DownVotes { get; set; }
        public virtual long MembersCount { get; set; }
        public virtual int Rank { get; set; }
        public virtual bool? DisableInvites { get; set; }
        public virtual string Lang { get; set; }
        public virtual string[] PostTypes { get; set; }
        public virtual string[] ModeratorPostTypes { get; set; }
        public virtual DateTime? Locked { get; set; }
        public virtual List<LabelInfo> Labels { get; set; }
        public virtual List<CategoryInfo> Categories { get; set; }
    }

    public partial class Overview
        : IGet
    {
        public virtual bool Reload { get; set; }
    }

    public partial class OverviewResponse
    {
        public OverviewResponse()
        {
            TopUsers = new List<UserInfo>{};
            TopTechnologies = new List<TechnologyInfo>{};
            LatestTechStacks = new List<TechStackDetails>{};
            PopularTechStacks = new List<TechnologyStack>{};
            AllOrganizations = new List<OrganizationInfo>{};
            TopTechnologiesByTier = new Dictionary<string, List<TechnologyInfo>>{};
        }

        public virtual DateTime Created { get; set; }
        public virtual List<UserInfo> TopUsers { get; set; }
        public virtual List<TechnologyInfo> TopTechnologies { get; set; }
        public virtual List<TechStackDetails> LatestTechStacks { get; set; }
        public virtual List<TechnologyStack> PopularTechStacks { get; set; }
        public virtual List<OrganizationInfo> AllOrganizations { get; set; }
        public virtual Dictionary<string, List<TechnologyInfo>> TopTechnologiesByTier { get; set; }
        public virtual ResponseStatus ResponseStatus { get; set; }
    }

    public partial class TechnologyInfo
    {
        public virtual TechnologyTier Tier { get; set; }
        public virtual string Slug { get; set; }
        public virtual string Name { get; set; }
        public virtual string LogoUrl { get; set; }
        public virtual int StacksCount { get; set; }
    }

    public partial class TechnologyInStack
        : TechnologyBase
    {
        public virtual long TechnologyId { get; set; }
        public virtual long TechnologyStackId { get; set; }
        public virtual string Justification { get; set; }
        public virtual long Id { get; set; }
        public virtual string Name { get; set; }
        public virtual string VendorName { get; set; }
        public virtual string VendorUrl { get; set; }
        public virtual string ProductUrl { get; set; }
        public virtual string LogoUrl { get; set; }
        public virtual string Description { get; set; }
        public virtual DateTime Created { get; set; }
        public virtual string CreatedBy { get; set; }
        public virtual DateTime LastModified { get; set; }
        public virtual string LastModifiedBy { get; set; }
        public virtual string OwnerId { get; set; }
        public virtual string Slug { get; set; }
        public virtual bool LogoApproved { get; set; }
        public virtual bool IsLocked { get; set; }
        public virtual TechnologyTier Tier { get; set; }
        public virtual DateTime? LastStatusUpdate { get; set; }
        public virtual int? OrganizationId { get; set; }
        public virtual long? CommentsPostId { get; set; }
        public virtual int ViewCount { get; set; }
        public virtual int FavCount { get; set; }
    }

    public partial class TechStackDetails
        : TechnologyStackBase
    {
        public TechStackDetails()
        {
            TechnologyChoices = new List<TechnologyInStack>{};
        }

        public virtual List<TechnologyInStack> TechnologyChoices { get; set; }
        public virtual long Id { get; set; }
        public virtual string Name { get; set; }
        public virtual string VendorName { get; set; }
        public virtual string Description { get; set; }
        public virtual string AppUrl { get; set; }
        public virtual string ScreenshotUrl { get; set; }
        public virtual DateTime Created { get; set; }
        public virtual string CreatedBy { get; set; }
        public virtual DateTime LastModified { get; set; }
        public virtual string LastModifiedBy { get; set; }
        public virtual bool IsLocked { get; set; }
        public virtual string OwnerId { get; set; }
        public virtual string Slug { get; set; }
        [StringLength(int.MaxValue)]
        public virtual string Details { get; set; }

        [StringLength(int.MaxValue)]
        public virtual string DetailsHtml { get; set; }

        public virtual DateTime? LastStatusUpdate { get; set; }
        public virtual int? OrganizationId { get; set; }
        public virtual long? CommentsPostId { get; set; }
        public virtual int ViewCount { get; set; }
        public virtual int FavCount { get; set; }
    }

    public partial class UserInfo
    {
        public virtual string UserName { get; set; }
        public virtual string AvatarUrl { get; set; }
        public virtual int StacksCount { get; set; }
    }

}

namespace TechStacks.ServiceModel.Types
{
    public partial class TechnologyBase
    {
        public virtual long Id { get; set; }
        public virtual string Name { get; set; }
        public virtual string VendorName { get; set; }
        public virtual string VendorUrl { get; set; }
        public virtual string ProductUrl { get; set; }
        public virtual string LogoUrl { get; set; }
        public virtual string Description { get; set; }
        public virtual DateTime Created { get; set; }
        public virtual string CreatedBy { get; set; }
        public virtual DateTime LastModified { get; set; }
        public virtual string LastModifiedBy { get; set; }
        public virtual string OwnerId { get; set; }
        public virtual string Slug { get; set; }
        public virtual bool LogoApproved { get; set; }
        public virtual bool IsLocked { get; set; }
        public virtual TechnologyTier Tier { get; set; }
        public virtual DateTime? LastStatusUpdate { get; set; }
        public virtual int? OrganizationId { get; set; }
        public virtual long? CommentsPostId { get; set; }
        public virtual int ViewCount { get; set; }
        public virtual int FavCount { get; set; }
    }

    public partial class TechnologyStack
        : TechnologyStackBase
    {
        public virtual long Id { get; set; }
        public virtual string Name { get; set; }
        public virtual string VendorName { get; set; }
        public virtual string Description { get; set; }
        public virtual string AppUrl { get; set; }
        public virtual string ScreenshotUrl { get; set; }
        public virtual DateTime Created { get; set; }
        public virtual string CreatedBy { get; set; }
        public virtual DateTime LastModified { get; set; }
        public virtual string LastModifiedBy { get; set; }
        public virtual bool IsLocked { get; set; }
        public virtual string OwnerId { get; set; }
        public virtual string Slug { get; set; }
        [StringLength(int.MaxValue)]
        public virtual string Details { get; set; }

        [StringLength(int.MaxValue)]
        public virtual string DetailsHtml { get; set; }

        public virtual DateTime? LastStatusUpdate { get; set; }
        public virtual int? OrganizationId { get; set; }
        public virtual long? CommentsPostId { get; set; }
        public virtual int ViewCount { get; set; }
        public virtual int FavCount { get; set; }
    }

    public partial class TechnologyStackBase
    {
        public virtual long Id { get; set; }
        public virtual string Name { get; set; }
        public virtual string VendorName { get; set; }
        public virtual string Description { get; set; }
        public virtual string AppUrl { get; set; }
        public virtual string ScreenshotUrl { get; set; }
        public virtual DateTime Created { get; set; }
        public virtual string CreatedBy { get; set; }
        public virtual DateTime LastModified { get; set; }
        public virtual string LastModifiedBy { get; set; }
        public virtual bool IsLocked { get; set; }
        public virtual string OwnerId { get; set; }
        public virtual string Slug { get; set; }
        [StringLength(int.MaxValue)]
        public virtual string Details { get; set; }

        [StringLength(int.MaxValue)]
        public virtual string DetailsHtml { get; set; }

        public virtual DateTime? LastStatusUpdate { get; set; }
        public virtual int? OrganizationId { get; set; }
        public virtual long? CommentsPostId { get; set; }
        public virtual int ViewCount { get; set; }
        public virtual int FavCount { get; set; }
    }

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

}

C# Overview DTOs

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

HTTP + CSV

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: text/csv
Content-Type: text/csv
Content-Length: length

{"reload":false}
HTTP/1.1 200 OK
Content-Type: text/csv
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"}}}