TechStacks!

<back to all web services

SessionInfo

User
Requires Authentication
The following routes are available for this service:
All Verbs/my-session
"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;
}
export class TechnologyStack extends 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,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 {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 Technology extends 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,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} */
    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 UserActivity {
    /** @param {{id?:number,userName?:string,karma?:number,technologyCount?:number,techStacksCount?:number,postsCount?:number,postUpVotes?:number,postDownVotes?:number,commentUpVotes?:number,commentDownVotes?:number,postCommentsCount?:number,pinnedCommentCount?:number,postReportCount?:number,postCommentReportCount?:number,created?:string,modified?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {number} */
    id;
    /** @type {string} */
    userName;
    /** @type {number} */
    karma;
    /** @type {number} */
    technologyCount;
    /** @type {number} */
    techStacksCount;
    /** @type {number} */
    postsCount;
    /** @type {number} */
    postUpVotes;
    /** @type {number} */
    postDownVotes;
    /** @type {number} */
    commentUpVotes;
    /** @type {number} */
    commentDownVotes;
    /** @type {number} */
    postCommentsCount;
    /** @type {number} */
    pinnedCommentCount;
    /** @type {number} */
    postReportCount;
    /** @type {number} */
    postCommentReportCount;
    /** @type {string} */
    created;
    /** @type {string} */
    modified;
}
export class OrganizationMember {
    /** @param {{id?:number,organizationId?:number,userId?:number,userName?:string,isOwner?:boolean,isModerator?:boolean,denyAll?:boolean,denyPosts?:boolean,denyComments?:boolean,notes?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {number} */
    id;
    /** @type {number} */
    organizationId;
    /** @type {number} */
    userId;
    /** @type {string} */
    userName;
    /** @type {boolean} */
    isOwner;
    /** @type {boolean} */
    isModerator;
    /** @type {boolean} */
    denyAll;
    /** @type {boolean} */
    denyPosts;
    /** @type {boolean} */
    denyComments;
    /** @type {string} */
    notes;
}
export class OrganizationMemberInvite {
    /** @param {{id?:number,organizationId?:number,userId?:number,userName?:string,dismissed?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {number} */
    id;
    /** @type {number} */
    organizationId;
    /** @type {number} */
    userId;
    /** @type {string} */
    userName;
    /** @type {?string} */
    dismissed;
}
export class OrganizationSubscription {
    /** @param {{id?:number,organizationId?:number,userId?:number,userName?:string,postTypes?:string[],frequencyDays?:number,lastSyncedId?:number,lastSynced?:string,created?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {number} */
    id;
    /** @type {number} */
    organizationId;
    /** @type {number} */
    userId;
    /** @type {string} */
    userName;
    /** @type {string[]} */
    postTypes;
    /** @type {?number} */
    frequencyDays;
    /** @type {?number} */
    lastSyncedId;
    /** @type {?string} */
    lastSynced;
    /** @type {string} */
    created;
}
export class SessionInfoResponse {
    /** @param {{created?:string,id?:string,referrerUrl?:string,userAuthId?:string,userAuthName?:string,userName?:string,displayName?:string,firstName?:string,lastName?:string,email?:string,createdAt?:string,lastModified?:string,roles?:string[],permissions?:string[],isAuthenticated?:boolean,authProvider?:string,profileUrl?:string,githubProfileUrl?:string,twitterProfileUrl?:string,accessToken?:string,avatarUrl?:string,techStacks?:TechnologyStack[],favoriteTechStacks?:TechnologyStack[],favoriteTechnologies?:Technology[],userActivity?:UserActivity,members?:OrganizationMember[],memberInvites?:OrganizationMemberInvite[],subscriptions?:OrganizationSubscription[],responseStatus?:ResponseStatus}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    created;
    /** @type {string} */
    id;
    /** @type {string} */
    referrerUrl;
    /** @type {string} */
    userAuthId;
    /** @type {string} */
    userAuthName;
    /** @type {string} */
    userName;
    /** @type {string} */
    displayName;
    /** @type {string} */
    firstName;
    /** @type {string} */
    lastName;
    /** @type {string} */
    email;
    /** @type {string} */
    createdAt;
    /** @type {string} */
    lastModified;
    /** @type {string[]} */
    roles;
    /** @type {string[]} */
    permissions;
    /** @type {boolean} */
    isAuthenticated;
    /** @type {string} */
    authProvider;
    /** @type {string} */
    profileUrl;
    /** @type {string} */
    githubProfileUrl;
    /** @type {string} */
    twitterProfileUrl;
    /** @type {string} */
    accessToken;
    /** @type {string} */
    avatarUrl;
    /** @type {TechnologyStack[]} */
    techStacks;
    /** @type {TechnologyStack[]} */
    favoriteTechStacks;
    /** @type {Technology[]} */
    favoriteTechnologies;
    /** @type {UserActivity} */
    userActivity;
    /** @type {OrganizationMember[]} */
    members;
    /** @type {OrganizationMemberInvite[]} */
    memberInvites;
    /** @type {OrganizationSubscription[]} */
    subscriptions;
    /** @type {ResponseStatus} */
    responseStatus;
}
export class SessionInfo {
    constructor(init) { Object.assign(this, init) }
}

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

<SessionInfo xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel" />
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<SessionInfoResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel">
  <AccessToken>String</AccessToken>
  <AuthProvider>String</AuthProvider>
  <AvatarUrl>String</AvatarUrl>
  <Created>0001-01-01T00:00:00</Created>
  <CreatedAt>0001-01-01T00:00:00</CreatedAt>
  <DisplayName>String</DisplayName>
  <Email>String</Email>
  <FavoriteTechStacks xmlns:d2p1="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">
    <d2p1:TechnologyStack>
      <d2p1:AppUrl>String</d2p1:AppUrl>
      <d2p1:CommentsPostId>0</d2p1:CommentsPostId>
      <d2p1:Created>0001-01-01T00:00:00</d2p1:Created>
      <d2p1:CreatedBy>String</d2p1:CreatedBy>
      <d2p1:Description>String</d2p1:Description>
      <d2p1:Details>String</d2p1:Details>
      <d2p1:DetailsHtml>String</d2p1:DetailsHtml>
      <d2p1:FavCount>0</d2p1:FavCount>
      <d2p1:Id>0</d2p1:Id>
      <d2p1:IsLocked>false</d2p1:IsLocked>
      <d2p1:LastModified>0001-01-01T00:00:00</d2p1:LastModified>
      <d2p1:LastModifiedBy>String</d2p1:LastModifiedBy>
      <d2p1:LastStatusUpdate>0001-01-01T00:00:00</d2p1:LastStatusUpdate>
      <d2p1:Name>String</d2p1:Name>
      <d2p1:OrganizationId>0</d2p1:OrganizationId>
      <d2p1:OwnerId>String</d2p1:OwnerId>
      <d2p1:ScreenshotUrl>String</d2p1:ScreenshotUrl>
      <d2p1:Slug>String</d2p1:Slug>
      <d2p1:VendorName>String</d2p1:VendorName>
      <d2p1:ViewCount>0</d2p1:ViewCount>
    </d2p1:TechnologyStack>
  </FavoriteTechStacks>
  <FavoriteTechnologies xmlns:d2p1="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">
    <d2p1:Technology>
      <d2p1:CommentsPostId>0</d2p1:CommentsPostId>
      <d2p1:Created>0001-01-01T00:00:00</d2p1:Created>
      <d2p1:CreatedBy>String</d2p1:CreatedBy>
      <d2p1:Description>String</d2p1:Description>
      <d2p1:FavCount>0</d2p1:FavCount>
      <d2p1:Id>0</d2p1:Id>
      <d2p1:IsLocked>false</d2p1:IsLocked>
      <d2p1:LastModified>0001-01-01T00:00:00</d2p1:LastModified>
      <d2p1:LastModifiedBy>String</d2p1:LastModifiedBy>
      <d2p1:LastStatusUpdate>0001-01-01T00:00:00</d2p1:LastStatusUpdate>
      <d2p1:LogoApproved>false</d2p1:LogoApproved>
      <d2p1:LogoUrl>String</d2p1:LogoUrl>
      <d2p1:Name>String</d2p1:Name>
      <d2p1:OrganizationId>0</d2p1:OrganizationId>
      <d2p1:OwnerId>String</d2p1:OwnerId>
      <d2p1:ProductUrl>String</d2p1:ProductUrl>
      <d2p1:Slug>String</d2p1:Slug>
      <d2p1:Tier>ProgrammingLanguage</d2p1:Tier>
      <d2p1:VendorName>String</d2p1:VendorName>
      <d2p1:VendorUrl>String</d2p1:VendorUrl>
      <d2p1:ViewCount>0</d2p1:ViewCount>
    </d2p1:Technology>
  </FavoriteTechnologies>
  <FirstName>String</FirstName>
  <GithubProfileUrl>String</GithubProfileUrl>
  <Id>String</Id>
  <IsAuthenticated>false</IsAuthenticated>
  <LastModified>0001-01-01T00:00:00</LastModified>
  <LastName>String</LastName>
  <MemberInvites xmlns:d2p1="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">
    <d2p1:OrganizationMemberInvite>
      <d2p1:Dismissed>0001-01-01T00:00:00</d2p1:Dismissed>
      <d2p1:Id>0</d2p1:Id>
      <d2p1:OrganizationId>0</d2p1:OrganizationId>
      <d2p1:UserId>0</d2p1:UserId>
      <d2p1:UserName>String</d2p1:UserName>
    </d2p1:OrganizationMemberInvite>
  </MemberInvites>
  <Members xmlns:d2p1="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">
    <d2p1:OrganizationMember>
      <d2p1:DenyAll>false</d2p1:DenyAll>
      <d2p1:DenyComments>false</d2p1:DenyComments>
      <d2p1:DenyPosts>false</d2p1:DenyPosts>
      <d2p1:Id>0</d2p1:Id>
      <d2p1:IsModerator>false</d2p1:IsModerator>
      <d2p1:IsOwner>false</d2p1:IsOwner>
      <d2p1:Notes>String</d2p1:Notes>
      <d2p1:OrganizationId>0</d2p1:OrganizationId>
      <d2p1:UserId>0</d2p1:UserId>
      <d2p1:UserName>String</d2p1:UserName>
    </d2p1:OrganizationMember>
  </Members>
  <Permissions xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:string>String</d2p1:string>
  </Permissions>
  <ProfileUrl>String</ProfileUrl>
  <ReferrerUrl>String</ReferrerUrl>
  <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>
  <Roles xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:string>String</d2p1:string>
  </Roles>
  <Subscriptions xmlns:d2p1="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">
    <d2p1:OrganizationSubscription>
      <d2p1:Created>0001-01-01T00:00:00</d2p1:Created>
      <d2p1:FrequencyDays>0</d2p1:FrequencyDays>
      <d2p1:Id>0</d2p1:Id>
      <d2p1:LastSynced>0001-01-01T00:00:00</d2p1:LastSynced>
      <d2p1:LastSyncedId>0</d2p1:LastSyncedId>
      <d2p1:OrganizationId>0</d2p1:OrganizationId>
      <d2p1:PostTypes xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
        <d4p1:string>String</d4p1:string>
      </d2p1:PostTypes>
      <d2p1:UserId>0</d2p1:UserId>
      <d2p1:UserName>String</d2p1:UserName>
    </d2p1:OrganizationSubscription>
  </Subscriptions>
  <TechStacks xmlns:d2p1="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">
    <d2p1:TechnologyStack>
      <d2p1:AppUrl>String</d2p1:AppUrl>
      <d2p1:CommentsPostId>0</d2p1:CommentsPostId>
      <d2p1:Created>0001-01-01T00:00:00</d2p1:Created>
      <d2p1:CreatedBy>String</d2p1:CreatedBy>
      <d2p1:Description>String</d2p1:Description>
      <d2p1:Details>String</d2p1:Details>
      <d2p1:DetailsHtml>String</d2p1:DetailsHtml>
      <d2p1:FavCount>0</d2p1:FavCount>
      <d2p1:Id>0</d2p1:Id>
      <d2p1:IsLocked>false</d2p1:IsLocked>
      <d2p1:LastModified>0001-01-01T00:00:00</d2p1:LastModified>
      <d2p1:LastModifiedBy>String</d2p1:LastModifiedBy>
      <d2p1:LastStatusUpdate>0001-01-01T00:00:00</d2p1:LastStatusUpdate>
      <d2p1:Name>String</d2p1:Name>
      <d2p1:OrganizationId>0</d2p1:OrganizationId>
      <d2p1:OwnerId>String</d2p1:OwnerId>
      <d2p1:ScreenshotUrl>String</d2p1:ScreenshotUrl>
      <d2p1:Slug>String</d2p1:Slug>
      <d2p1:VendorName>String</d2p1:VendorName>
      <d2p1:ViewCount>0</d2p1:ViewCount>
    </d2p1:TechnologyStack>
  </TechStacks>
  <TwitterProfileUrl>String</TwitterProfileUrl>
  <UserActivity xmlns:d2p1="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">
    <d2p1:CommentDownVotes>0</d2p1:CommentDownVotes>
    <d2p1:CommentUpVotes>0</d2p1:CommentUpVotes>
    <d2p1:Created>0001-01-01T00:00:00</d2p1:Created>
    <d2p1:Id>0</d2p1:Id>
    <d2p1:Karma>0</d2p1:Karma>
    <d2p1:Modified>0001-01-01T00:00:00</d2p1:Modified>
    <d2p1:PinnedCommentCount>0</d2p1:PinnedCommentCount>
    <d2p1:PostCommentReportCount>0</d2p1:PostCommentReportCount>
    <d2p1:PostCommentsCount>0</d2p1:PostCommentsCount>
    <d2p1:PostDownVotes>0</d2p1:PostDownVotes>
    <d2p1:PostReportCount>0</d2p1:PostReportCount>
    <d2p1:PostUpVotes>0</d2p1:PostUpVotes>
    <d2p1:PostsCount>0</d2p1:PostsCount>
    <d2p1:TechStacksCount>0</d2p1:TechStacksCount>
    <d2p1:TechnologyCount>0</d2p1:TechnologyCount>
    <d2p1:UserName>String</d2p1:UserName>
  </UserActivity>
  <UserAuthId>String</UserAuthId>
  <UserAuthName>String</UserAuthName>
  <UserName>String</UserName>
</SessionInfoResponse>