| POST | /api/authentication/token | Get Bearer access token, contact support for credentials |
|---|
using System;
using System.IO;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using DX.STF.Application.ClientApi.Messages.Authentication;
using DX.STF.Application.ClientApi.ResponseMessages.Authentication;
namespace DX.STF.Application.ClientApi.Messages.Authentication
{
///<summary>
///Auth
///</summary>
[Api(Description="Auth")]
[ApiResponse(Description="Access token response", IsDefaultResponse=true, StatusCode=200)]
public partial class GetAuthToken
{
///<summary>
///Post parameters in body
///</summary>
[ApiMember(Description="Post parameters in body", ParameterType="model")]
public virtual string ClientId { get; set; }
///<summary>
///Post parameters in body
///</summary>
[ApiMember(Description="Post parameters in body", ParameterType="model")]
public virtual string ClientSecret { get; set; }
///<summary>
///Post parameters in body
///</summary>
[ApiMember(Description="Post parameters in body", ParameterType="model")]
public virtual string Scope { get; set; }
}
}
namespace DX.STF.Application.ClientApi.ResponseMessages.Authentication
{
public partial class AccessTokenResponse
{
public virtual string AccessToken { get; set; }
public virtual string Scope { get; set; }
public virtual string TokenType { get; set; }
public virtual int ExpiresIn { get; set; }
public virtual int HttpStatusCode { get; set; }
public virtual string HttpErrorReason { get; set; }
public virtual string Error { get; set; }
}
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /api/authentication/token HTTP/1.1
Host: stf-api-uat.data-xchange.co.za
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
clientId: String,
clientSecret: String,
scope: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
accessToken: String,
scope: String,
tokenType: String,
expiresIn: 0,
httpStatusCode: 0,
httpErrorReason: String,
error: String
}