openapi: 3.0.3 info: title: One-Time Login Applications Token API description: Login users using one-time login methods like magic links or OTPs. This implements a backend-to-backend integration for authentication. version: '' servers: - url: https://api.sbx.transmitsecurity.io/cis description: Sandbox environment - url: https://api.transmitsecurity.io/cis description: Production environment (US) - url: https://api.eu.transmitsecurity.io/cis description: Production environment (EU) - url: https://api.ca.transmitsecurity.io/cis description: Production environment (CA) - url: https://api.au.transmitsecurity.io/cis description: Production environment (AU) security: [] tags: - name: Token paths: /v1/token: post: operationId: tokenExchange summary: Exchange code for token description: Retrieve ID and access tokens. This API is used to retrieve ID and access tokens using the code that was returned in the redirect URI as a query parameter (for example, when the user clicks a magic link). It may also create a new user if create_new_user was set to true in the send request and no user exists for the email address or phone number (depending on the flow). deprecated: true parameters: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ApiTokenExchangeRequestInput' responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiTokenExchangeResponse' '400': description: '' content: application/json: schema: $ref: '#/components/schemas/BadRequestHttpError' tags: - Token components: schemas: BadRequestHttpError: type: object properties: message: example: Bad request type: array items: type: string error_code: type: number example: 400 required: - message - error_code ApiTokenExchangeResponse: type: object properties: id_token: type: string access_token: type: string refresh_token: type: string is_user_created: type: boolean description: Indicates if this is a new user or not required: - id_token - access_token - refresh_token - is_user_created ApiTokenExchangeRequestInput: type: object properties: code: type: string description: Authorization code returned in the redirect URI as a query parameter upon successful authentication example: GZxLFKTDCnlANVTxNvaWz7AIGPpXqZYSXdAwjiWRuOH client_id: type: string description: Client ID of the application requesting the token example: DgsdfhSDsdfhtSDFXCCXBVMKPws345yscv2345XCZV maxLength: 50 client_secret: type: string description: Client Secret of the application requesting the token example: FzxvdDMbvxnc45sdfb789XCVGEW6usazxcvbw3KPsb23 maxLength: 50 required: - code - client_id - client_secret securitySchemes: bearer: scheme: bearer bearerFormat: JWT type: http UserAccessToken: type: http description: A token returned upon end-user authentication, which provides access to resources and data for the user and app for which it was generated scheme: bearer bearerFormat: JWT AdminAccessToken: type: oauth2 flows: clientCredentials: tokenUrl: /oidc/token scopes: {} description: A token generated by a management application using the [token endpoint](/openapi/token.openapi/other/getaccesstoken). It provides access to all resources for the tenant and its apps ClientAccessToken: type: oauth2 flows: clientCredentials: tokenUrl: /oidc/token scopes: {} description: A token generated by an end-user application using the [token endpoint](/openapi/token.openapi/other/getaccesstoken). It provides access to resources and data on the tenant level or associated with the specific application (but not other apps in the tenant) OrgAdminAccessToken: type: oauth2 flows: clientCredentials: tokenUrl: /oidc/token scopes: {} description: A token returned upon B2B authentication for a user that has the organizationAdmin or organizationCreator role.