DX STF Client API

<back to all web services

GetAuthToken

Auth Requests

Auth

The following routes are available for this service:
POST/api/authentication/tokenGet Bearer access token, contact support for credentials
import datetime
import decimal
from marshmallow.fields import *
from servicestack import *
from typing import *
from dataclasses import dataclass, field
from dataclasses_json import dataclass_json, LetterCase, Undefined, config
from enum import Enum, IntEnum
Object = TypeVar('Object')


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class AccessTokenResponse:
    access_token: Optional[str] = None
    scope: Optional[str] = None
    token_type: Optional[str] = None
    expires_in: int = 0
    http_status_code: int = 0
    http_error_reason: Optional[str] = None
    error: Optional[str] = None


# @Api(Description="Auth")
# @ApiResponse(Description="Access token response", IsDefaultResponse=true, StatusCode=200)
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class GetAuthToken:
    """
    Auth
    """

    # @ApiMember(Description="Post parameters in body", ParameterType="model")
    client_id: Optional[str] = None
    """
    Post parameters in body
    """


    # @ApiMember(Description="Post parameters in body", ParameterType="model")
    client_secret: Optional[str] = None
    """
    Post parameters in body
    """


    # @ApiMember(Description="Post parameters in body", ParameterType="model")
    scope: Optional[str] = None
    """
    Post parameters in body
    """

Python GetAuthToken DTOs

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

HTTP + OTHER

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

{"clientId":"String","clientSecret":"String","scope":"String"}
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length

{"accessToken":"String","scope":"String","tokenType":"String","expiresIn":0,"httpStatusCode":0,"httpErrorReason":"String","error":"String"}