openapi: 3.0.0
info:
  title: Authorization
  description: >-
    Obtain client access tokens for API authorization when needed (see
    [Authentication](/openapi/api_ref_intro/#authentication)). Click **Try it**
    from the API explorer below to generate access tokens directly from the
    docs. You can then use these tokens to run API requests in this API
    reference.
  version: ''
  contact: {}
servers:
  - url: https://api.sbx.transmitsecurity.io
    description: Sandbox environment
  - url: https://api.transmitsecurity.io
    description: Production environment (US)
  - url: https://api.eu.transmitsecurity.io
    description: Production environment (EU)
  - url: https://api.ca.transmitsecurity.io
    description: Production environment (CA)
  - url: https://api.au.transmitsecurity.io
    description: Production environment (AU)
paths:
  /oidc/token:
    post:
      operationId: getAccessToken
      summary: Get client access token
      description: >-
        Retrieve an access token to authorize your API request. By default, the
        access token is **valid for 1 hour**, you don't need to regenerate it
        every time before calling Mosaic APIs. <br><br> **NOTE: The request type
        and examples depend on the service you choose**
      parameters: []
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              oneOf:
                - $ref: '#/components/schemas/Identity Verification'
                - $ref: '#/components/schemas/Fraud Prevention'
                - $ref: '#/components/schemas/Others'
      responses:
        '200':
          description: Access token successfully retrieved
          content:
            application/json:
              schema:
                type: object
                properties:
                  access_token:
                    type: string
                    description: The access token issued by the authorization server
                  token_type:
                    type: string
                    description: Returned as Bearer
                    example: Bearer
                  expires_in:
                    type: integer
                    description: Expiration time of the access token in seconds
                    default: 3600
                    example: 3600
                  scope:
                    type: string
                    description: Scope of the access token
                required:
                  - access_token
                  - token_type
                  - expires_in
                  - scope
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestHttpError'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerHttpError'
components:
  schemas:
    Identity Verification:
      type: object
      properties:
        client_id:
          type: string
          description: Client identifier
        client_secret:
          type: string
          description: Client secret
        grant_type:
          type: string
          enum:
            - client_credentials
          description: Should be set to client_credentials.
        resource:
          type: string
          enum:
            - https://verify.identity.security
          description: URI of the resource the request is attempting to access.
      required:
        - client_id
        - client_secret
        - grant_type
      example:
        client_id: YOUR_CLIENT_ID
        client_secret: YOUR_CLIENT_SECRET
        grant_type: client_credentials
        resource: https://verify.identity.security
    Fraud Prevention:
      type: object
      properties:
        client_id:
          type: string
          description: Client identifier
        client_secret:
          type: string
          description: Client secret
        grant_type:
          type: string
          enum:
            - client_credentials
          description: Should be set to client_credentials.
        resource:
          type: string
          enum:
            - https://risk.identity.security
          description: URI of the resource the request is attempting to access.
      required:
        - client_id
        - client_secret
        - grant_type
      example:
        client_id: YOUR_CLIENT_ID
        client_secret: YOUR_CLIENT_SECRET
        grant_type: client_credentials
        resource: https://risk.identity.security
    Others:
      type: object
      properties:
        client_id:
          type: string
          description: Client identifier
        client_secret:
          type: string
          description: Client secret
        grant_type:
          type: string
          enum:
            - client_credentials
          description: Grant type must be client_credentials.
        resource:
          type: string
          description: URI of the resource the request is attempting to access.
      required:
        - client_id
        - client_secret
        - grant_type
      example:
        client_id: YOUR_CLIENT_ID
        client_secret: YOUR_CLIENT_SECRET
        grant_type: client_credentials
    BadRequestHttpError:
      type: object
      properties:
        message:
          type: string
          readOnly: true
          example: Bad request
        error_code:
          type: number
          readOnly: true
          example: 400
      required:
        - message
        - error_code
    InternalServerHttpError:
      type: object
      properties:
        message:
          type: string
          readOnly: true
          example: Something went wrong - Internal server error
        error_code:
          type: number
          readOnly: true
          example: 500
      required:
        - message
        - error_code
tags: []
security: []
