Toast Authentication API

The Authentication API from Toast — 1 operation(s) for authentication.

OpenAPI Specification

toast-authentication-api-openapi.yml Raw ↑
swagger: '2.0'
info:
  version: 1.0.0
  title: Toast Authentication API
  description: 'The authentication API returns an authentication token that you can present

    when your integration client software uses other Toast APIs. For more

    information about authentication, see [the Toast Developer

    Guide](https://doc.toasttab.com/doc/devguide/authentication.html).

    '
  termsOfService: https://pos.toasttab.com/api-terms-of-use
  contact:
    name: Toast developer support
host: toast-api-server
basePath: /authentication/v1
schemes:
- https
consumes:
- application/json
produces:
- application/json
tags:
- name: Authentication
paths:
  /authentication/login:
    post:
      tags:
      - Authentication
      summary: Toast Get an Authentication Token
      description: 'Returns an authentication token that your Toast API client can present

        when using other Toast platform APIs.

        '
      externalDocs:
        description: Authentication developer guide
        url: https://doc.toasttab.com/doc/devguide/authentication.html
      operationId: authenticationLoginPost
      produces:
      - application/json
      parameters:
      - name: body
        description: 'The authentication credentials for your Toast API client integration

          software.

          '
        in: body
        required: true
        schema:
          $ref: '#/definitions/AuthenticationRequest'
      responses:
        '200':
          description: 'A JSON `AuthenticationResponse` object that includes an

            authentication token string.

            '
          schema:
            $ref: '#/definitions/AuthenticationResponse'
        '401':
          description: 'The Toast API client credentials in your request are not valid.

            '
          schema:
            $ref: '#/definitions/ErrorMessage'
definitions:
  AuthenticationToken:
    type: object
    description: 'Information about a Toast platform API session, including an

      authentication token string that your Toast API client software can

      present when using other Toast platform APIs.

      '
    properties:
      tokenType:
        description: 'The OAuth 2 authentication scheme used for the authentication token.

          Toast API authentication uses the bearer authentication scheme.

          '
        type: string
        example: Bearer
      scope:
        description: 'The scope value in the authentication token request response is

          `null`. The `accessToken` JSON Web Token (JWT) contains the list of

          [scopes for your Toast API

          client](https://dev.toasttab.com/doc/devguide/apiScopes.html).

          '
        type: string
      expiresIn:
        description: "The number of seconds that the authentication token is valid. \n"
        type: integer
        example: 86400
      accessToken:
        description: 'A JSON Web Token (JWT) string that contains an authentication token.

          You [present this string when you make

          requests](https://dev.toasttab.com/doc/devguide/authentication.html#using-authentication-token)

          to other Toast API resources. The JWT includes information about your

          Toast API client.

          '
        type: string
      idToken:
        description: 'For internal use only.

          '
        type: string
      refreshToken:
        description: 'For internal use only.

          '
        type: string
  ErrorMessage:
    type: object
    description: 'An object that contains information about one or more errors that the

      Toast platform encountered when processing your API request.

      '
    properties:
      status:
        description: 'The HTTP status code of the response.

          '
        type: string
      code:
        description: 'A numeric identifier for the error condition.

          '
        type: integer
      message:
        description: 'A description of the error condition.

          '
        type: string
      messageKey:
        description: 'Reserved for future use.

          '
        type: string
      fieldName:
        description: 'Reserved for future use.

          '
        type: string
      link:
        description: 'The URL of a resource that provides more information about the error

          condition.

          '
        type: string
      requestId:
        description: 'The unique identifier of the HTTP request that your client sent to the Toast API.

          '
        type: string
      developerMessage:
        description: 'Additional detail about the error condition, if it is available.

          '
        type: string
      errors:
        description: 'A JSON array of `ErrorMessage` objects.

          '
        type: array
        items:
          $ref: '#/definitions/ErrorMessage'
      canRetry:
        description: 'Reserved for future use.

          '
        type: string
  AuthenticationRequest:
    type: object
    description: 'Authentication credentials for your Toast API integration client software.

      '
    properties:
      clientId:
        description: 'The identifier string for your Toast API client. You receive the

          identifier string from the Toast integrations team.

          '
        type: string
        example: VKuhk4NaLedOcjZpJM8grvdrsFi3MlcM
      clientSecret:
        description: 'The secret string that corresponds to your Toast API client. You

          receive the secret string from the Toast integrations team.

          '
        type: string
        example: eS960aiKdvgbSDcLUCk68HR2CJKwwHNO2HKfgxjCWxoj27KIp6jFAi2XOOc_oCuv
      userAccessType:
        description: 'Always include the `userAccessType` value and set it to

          `TOAST_MACHINE_CLIENT`.

          '
        type: string
        example: TOAST_MACHINE_CLIENT
  AuthenticationResponse:
    type: object
    description: 'A wrapper object for the response to a successful Toast API authentication

      request.

      '
    properties:
      token:
        description: 'An `AuthenticationToken` object containing information about a Toast

          platform API session, including an authentication token string that

          your Toast API client software can present when using other Toast

          platform APIs.

          '
        type: object
        $ref: '#/definitions/AuthenticationToken'
      status:
        description: The value `SUCCESS` indicates that your authentication request was successful.
        type: string
        example: SUCCESS
externalDocs:
  description: Authentication developer guide
  url: https://doc.toasttab.com/doc/devguide/authentication.html