Square Terminal API

The Terminal API from Square — 15 operation(s) for terminal.

Documentation

📖
Documentation
https://developer.squareup.com/docs/payments-overview
📖
APIReference
https://developer.squareup.com/reference/square/payments-api
📖
Documentation
https://developer.squareup.com/docs/orders-api/what-it-does
📖
APIReference
https://developer.squareup.com/reference/square/orders-api
📖
Documentation
https://developer.squareup.com/docs/catalog-api/what-it-does
📖
APIReference
https://developer.squareup.com/reference/square/catalog-api
📖
Documentation
https://developer.squareup.com/docs/inventory-api/what-it-does
📖
APIReference
https://developer.squareup.com/reference/square/inventory-api
📖
Documentation
https://developer.squareup.com/docs/customers
📖
APIReference
https://developer.squareup.com/reference/square/customers-api
📖
Documentation
https://developer.squareup.com/docs/locations-api
📖
APIReference
https://developer.squareup.com/reference/square/locations-api
📖
Documentation
https://developer.squareup.com/docs/team/overview
📖
APIReference
https://developer.squareup.com/reference/square/team-api
📖
Documentation
https://developer.squareup.com/docs/labor-api/what-it-does
📖
APIReference
https://developer.squareup.com/reference/square/labor-api
📖
Documentation
https://developer.squareup.com/docs/bookings-api/what-it-is
📖
APIReference
https://developer.squareup.com/reference/square/bookings-api
📖
Documentation
https://developer.squareup.com/docs/loyalty-api/overview
📖
APIReference
https://developer.squareup.com/reference/square/loyalty-api
📖
Documentation
https://developer.squareup.com/docs/gift-cards/using-gift-cards-api
📖
APIReference
https://developer.squareup.com/reference/square/gift-cards-api
📖
Documentation
https://developer.squareup.com/docs/invoices-api/overview
📖
APIReference
https://developer.squareup.com/reference/square/invoices-api
📖
Documentation
https://developer.squareup.com/docs/subscriptions-api/overview
📖
APIReference
https://developer.squareup.com/reference/square/subscriptions-api
📖
Documentation
https://developer.squareup.com/docs/checkout-api
📖
APIReference
https://developer.squareup.com/reference/square/checkout-api
📖
Documentation
https://developer.squareup.com/docs/terminal-api/overview
📖
APIReference
https://developer.squareup.com/reference/square/terminal-api
📖
Documentation
https://developer.squareup.com/docs/payments-refunds
📖
APIReference
https://developer.squareup.com/reference/square/refunds-api
📖
Documentation
https://developer.squareup.com/docs/disputes-api/overview
📖
APIReference
https://developer.squareup.com/reference/square/disputes-api
📖
Documentation
https://developer.squareup.com/docs/merchants-api
📖
APIReference
https://developer.squareup.com/reference/square/merchants-api
📖
Documentation
https://developer.squareup.com/docs/cards-api/overview
📖
APIReference
https://developer.squareup.com/reference/square/cards-api
📖
Documentation
https://developer.squareup.com/docs/vendors-api/manage-vendors-in-apps
📖
APIReference
https://developer.squareup.com/reference/square/vendors-api
📖
Documentation
https://developer.squareup.com/docs/cashdrawershift-api/reporting
📖
APIReference
https://developer.squareup.com/reference/square/cash-drawers-api
📖
Documentation
https://developer.squareup.com/docs/bank-accounts-api
📖
APIReference
https://developer.squareup.com/reference/square/bank-accounts-api
📖
Documentation
https://developer.squareup.com/docs/payouts-api/overview
📖
APIReference
https://developer.squareup.com/reference/square/payouts-api
📖
Documentation
https://developer.squareup.com/docs/web-payments/apple-pay
📖
APIReference
https://developer.squareup.com/reference/square/apple-pay-api
📖
Documentation
https://developer.squareup.com/docs/sites-api/overview
📖
APIReference
https://developer.squareup.com/reference/square/sites-api
📖
Documentation
https://developer.squareup.com/docs/snippets-api/overview
📖
APIReference
https://developer.squareup.com/reference/square/snippets-api
📖
Documentation
https://developer.squareup.com/docs/oauth-api/overview
📖
APIReference
https://developer.squareup.com/reference/square/oauth-api
📖
Documentation
https://developer.squareup.com/docs/webhooks/overview
📖
APIReference
https://developer.squareup.com/reference/square/webhook-subscriptions-api
📖
Documentation
https://developer.squareup.com/docs/events-api/overview
📖
APIReference
https://developer.squareup.com/reference/square/events-api
📖
Documentation
https://developer.squareup.com/docs/devices-api/overview
📖
APIReference
https://developer.squareup.com/reference/square/devices-api
📖
Documentation
https://developer.squareup.com/docs/customer-groups-api/what-it-does
📖
APIReference
https://developer.squareup.com/reference/square/customer-groups-api
📖
Documentation
https://developer.squareup.com/docs/customer-segments-api/what-it-does
📖
APIReference
https://developer.squareup.com/reference/square/customer-segments-api
📖
Documentation
https://developer.squareup.com/docs/gift-cards/using-gift-card-activities-api
📖
APIReference
https://developer.squareup.com/reference/square/gift-card-activities-api
📖
Documentation
https://developer.squareup.com/docs/customer-custom-attributes-api/overview
📖
APIReference
https://developer.squareup.com/reference/square/customer-custom-attributes-api

Specifications

Other Resources

OpenAPI Specification

square-terminal-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  version: '2.0'
  title: Square ApplePay Terminal API
  description: 'Supercharge Square for sellers of every size. Our entire connected commerce platform  from elegant hardware to a rich suite of Square APIs  is yours to build with. Whether youre developing an app or composing a bespoke solution, this is the place to make it happen. '
  termsOfService: https://connect.squareup.com/tos
  contact:
    name: Square Developer Platform
    email: developers@squareup.com
    url: https://squareup.com/developers
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
  externalDocs:
    description: 'Read the official documentation here:'
    url: https://docs.connect.squareup.com/
  x-server-configuration:
    default-environment: production
    default-server: default
    environments:
    - name: production
      servers:
      - name: default
        url: https://connect.squareup.com
    - name: sandbox
      servers:
      - name: default
        url: https://connect.squareupsandbox.com
    - name: custom
      servers:
      - name: default
        url: '{custom_url}'
    parameters:
    - name: custom_url
      description: Sets the base URL requests are made to. Defaults to `https://connect.squareup.com`
      type: string
      example: https://connect.squareup.com
  x-square-generic-error-codes:
  - ACCESS_TOKEN_EXPIRED
  - ACCESS_TOKEN_REVOKED
  - API_VERSION_INCOMPATIBLE
  - APPLICATION_DISABLED
  - ARRAY_EMPTY
  - ARRAY_LENGTH_TOO_LONG
  - ARRAY_LENGTH_TOO_SHORT
  - BAD_CERTIFICATE
  - BAD_GATEWAY
  - BAD_REQUEST
  - CONFLICT
  - CONFLICTING_PARAMETERS
  - CURRENCY_MISMATCH
  - EXPECTED_ARRAY
  - EXPECTED_BASE64_ENCODED_BYTE_ARRAY
  - EXPECTED_BOOLEAN
  - EXPECTED_FLOAT
  - EXPECTED_INTEGER
  - EXPECTED_JSON_BODY
  - EXPECTED_MAP
  - EXPECTED_OBJECT
  - EXPECTED_STRING
  - FORBIDDEN
  - GATEWAY_TIMEOUT
  - GONE
  - IDEMPOTENCY_KEY_REUSED
  - INCORRECT_TYPE
  - INSUFFICIENT_SCOPES
  - INTERNAL_SERVER_ERROR
  - INVALID_ARRAY_VALUE
  - INVALID_CONTENT_TYPE
  - INVALID_CURSOR
  - INVALID_ENUM_VALUE
  - INVALID_FORM_VALUE
  - INVALID_SORT_ORDER
  - INVALID_SQUARE_VERSION_FORMAT
  - INVALID_TIME
  - INVALID_TIME_RANGE
  - INVALID_VALUE
  - LOCATION_MISMATCH
  - MAP_KEY_LENGTH_TOO_LONG
  - MAP_KEY_LENGTH_TOO_SHORT
  - MERCHANT_SUBSCRIPTION_NOT_FOUND
  - METHOD_NOT_ALLOWED
  - MISSING_REQUIRED_PARAMETER
  - NOT_ACCEPTABLE
  - NOT_FOUND
  - NOT_IMPLEMENTED
  - NO_FIELDS_SET
  - RATE_LIMITED
  - REQUEST_ENTITY_TOO_LARGE
  - REQUEST_TIMEOUT
  - SANDBOX_NOT_SUPPORTED
  - SERVICE_UNAVAILABLE
  - TOO_MANY_MAP_ENTRIES
  - UNAUTHORIZED
  - UNEXPECTED_VALUE
  - UNKNOWN_BODY_PARAMETER
  - UNKNOWN_QUERY_PARAMETER
  - UNPROCESSABLE_ENTITY
  - UNSUPPORTED_MEDIA_TYPE
  - V1_ACCESS_TOKEN
  - V1_APPLICATION
  - VALUE_EMPTY
  - VALUE_REGEX_MISMATCH
  - VALUE_TOO_HIGH
  - VALUE_TOO_LONG
  - VALUE_TOO_LOW
  - VALUE_TOO_SHORT
servers:
- url: https://connect.squareup.com
  variables: {}
tags:
- name: Terminal
paths:
  /v2/terminals/actions:
    post:
      tags:
      - Terminal
      summary: Square Create Terminal Action
      operationId: CreateTerminalAction
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      description: Creates a Terminal action request and sends it to the specified device.
      x-release-status: BETA
      security:
      - oauth2:
        - PAYMENTS_WRITE
      parameters: []
      requestBody:
        required: true
        description: 'An object containing the fields to POST for the request.


          See the corresponding object definition for field details.'
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateTerminalActionRequest'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateTerminalActionResponse'
      x-endpoint-errors:
      - error-code: BAD_REQUEST
      - error-code: IDEMPOTENCY_KEY_REUSED
      - error-code: INVALID_LOCATION
      - error-code: INVALID_VALUE
      - error-code: UNAUTHORIZED
  /v2/terminals/actions/search:
    post:
      tags:
      - Terminal
      summary: Square Search Terminal Actions
      operationId: SearchTerminalActions
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      description: Retrieves a filtered list of Terminal action requests created by the account making the request. Terminal action requests are available for 30 days.
      x-release-status: BETA
      security:
      - oauth2:
        - PAYMENTS_READ
      parameters: []
      requestBody:
        required: true
        description: 'An object containing the fields to POST for the request.


          See the corresponding object definition for field details.'
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SearchTerminalActionsRequest'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SearchTerminalActionsResponse'
      x-endpoint-errors:
      - error-code: BAD_REQUEST
      - error-code: INVALID_CURSOR
      - error-code: UNKNOWN_QUERY_PARAMETER
  /v2/terminals/actions/{action_id}:
    get:
      tags:
      - Terminal
      summary: Square Get Terminal Action
      operationId: GetTerminalAction
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      description: Retrieves a Terminal action request by `action_id`. Terminal action requests are available for 30 days.
      x-release-status: BETA
      security:
      - oauth2:
        - PAYMENTS_READ
      parameters:
      - name: action_id
        description: Unique ID for the desired `TerminalAction`.
        schema:
          type: string
        in: path
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetTerminalActionResponse'
      x-endpoint-errors:
      - error-code: BAD_REQUEST
      - error-code: NOT_FOUND
  /v2/terminals/actions/{action_id}/cancel:
    post:
      tags:
      - Terminal
      summary: Square Cancel Terminal Action
      operationId: CancelTerminalAction
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      description: Cancels a Terminal action request if the status of the request permits it.
      x-release-status: BETA
      security:
      - oauth2:
        - PAYMENTS_WRITE
      parameters:
      - name: action_id
        description: Unique ID for the desired `TerminalAction`.
        schema:
          type: string
        in: path
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CancelTerminalActionResponse'
      x-endpoint-errors:
      - error-code: BAD_REQUEST
      - error-code: NOT_FOUND
      - error-code: TEMPORARY_ERROR
  /v2/terminals/actions/{action_id}/dismiss:
    post:
      tags:
      - Terminal
      summary: Square Dismiss Terminal Action
      operationId: DismissTerminalAction
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      description: 'Dismisses a Terminal action request if the status and type of the request permits it.


        See [Link and Dismiss Actions](https://developer.squareup.com/docs/terminal-api/advanced-features/custom-workflows/link-and-dismiss-actions) for more details.'
      x-release-status: BETA
      security:
      - oauth2: []
      parameters:
      - name: action_id
        description: Unique ID for the `TerminalAction` associated with the action to be dismissed.
        schema:
          type: string
        in: path
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DismissTerminalActionResponse'
      x-endpoint-errors:
      - error-code: BAD_REQUEST
      - error-code: NOT_FOUND
  /v2/terminals/checkouts:
    post:
      tags:
      - Terminal
      summary: Square Create Terminal Checkout
      operationId: CreateTerminalCheckout
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      description: 'Creates a Terminal checkout request and sends it to the specified device to take a payment

        for the requested amount.'
      x-release-status: PUBLIC
      security:
      - oauth2:
        - PAYMENTS_WRITE
      parameters: []
      requestBody:
        required: true
        description: 'An object containing the fields to POST for the request.


          See the corresponding object definition for field details.'
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateTerminalCheckoutRequest'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateTerminalCheckoutResponse'
      x-endpoint-errors:
      - error-code: BAD_REQUEST
      - error-code: IDEMPOTENCY_KEY_REUSED
      - error-code: INVALID_FEES
      - error-code: INVALID_LOCATION
      - error-code: INVALID_VALUE
      - error-code: UNAUTHORIZED
  /v2/terminals/checkouts/search:
    post:
      tags:
      - Terminal
      summary: Square Search Terminal Checkouts
      operationId: SearchTerminalCheckouts
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      description: Returns a filtered list of Terminal checkout requests created by the application making the request. Only Terminal checkout requests created for the merchant scoped to the OAuth token are returned. Terminal checkout requests are available for 30 days.
      x-release-status: PUBLIC
      security:
      - oauth2:
        - PAYMENTS_READ
      parameters: []
      requestBody:
        required: true
        description: 'An object containing the fields to POST for the request.


          See the corresponding object definition for field details.'
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SearchTerminalCheckoutsRequest'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SearchTerminalCheckoutsResponse'
      x-endpoint-errors:
      - error-code: BAD_REQUEST
      - error-code: INVALID_CURSOR
      - error-code: UNKNOWN_QUERY_PARAMETER
  /v2/terminals/checkouts/{checkout_id}:
    get:
      tags:
      - Terminal
      summary: Square Get Terminal Checkout
      operationId: GetTerminalCheckout
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      description: Retrieves a Terminal checkout request by `checkout_id`. Terminal checkout requests are available for 30 days.
      x-release-status: PUBLIC
      security:
      - oauth2:
        - PAYMENTS_READ
      parameters:
      - name: checkout_id
        description: The unique ID for the desired `TerminalCheckout`.
        schema:
          type: string
        in: path
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetTerminalCheckoutResponse'
      x-endpoint-errors:
      - error-code: BAD_REQUEST
      - error-code: NOT_FOUND
  /v2/terminals/checkouts/{checkout_id}/cancel:
    post:
      tags:
      - Terminal
      summary: Square Cancel Terminal Checkout
      operationId: CancelTerminalCheckout
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      description: Cancels a Terminal checkout request if the status of the request permits it.
      x-release-status: PUBLIC
      security:
      - oauth2:
        - PAYMENTS_WRITE
      parameters:
      - name: checkout_id
        description: The unique ID for the desired `TerminalCheckout`.
        schema:
          type: string
        in: path
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CancelTerminalCheckoutResponse'
      x-endpoint-errors:
      - error-code: BAD_REQUEST
      - error-code: NOT_FOUND
  /v2/terminals/checkouts/{checkout_id}/dismiss:
    post:
      tags:
      - Terminal
      summary: Square Dismiss Terminal Checkout
      operationId: DismissTerminalCheckout
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      description: Dismisses a Terminal checkout request if the status and type of the request permits it.
      x-release-status: BETA
      security:
      - oauth2: []
      parameters:
      - name: checkout_id
        description: Unique ID for the `TerminalCheckout` associated with the checkout to be dismissed.
        schema:
          type: string
        in: path
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DismissTerminalCheckoutResponse'
      x-endpoint-errors:
      - error-code: BAD_REQUEST
      - error-code: NOT_FOUND
  /v2/terminals/refunds:
    post:
      tags:
      - Terminal
      summary: Square Create Terminal Refund
      operationId: CreateTerminalRefund
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      description: Creates a request to refund an Interac payment completed on a Square Terminal. Refunds for Interac payments on a Square Terminal are supported only for Interac debit cards in Canada. Other refunds for Terminal payments should use the Refunds API. For more information, see [Refunds API](api:Refunds).
      x-release-status: PUBLIC
      security:
      - oauth2:
        - PAYMENTS_WRITE
      parameters: []
      requestBody:
        required: true
        description: 'An object containing the fields to POST for the request.


          See the corresponding object definition for field details.'
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateTerminalRefundRequest'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateTerminalRefundResponse'
  /v2/terminals/refunds/search:
    post:
      tags:
      - Terminal
      summary: Square Search Terminal Refunds
      operationId: SearchTerminalRefunds
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      description: Retrieves a filtered list of Interac Terminal refund requests created by the seller making the request. Terminal refund requests are available for 30 days.
      x-release-status: PUBLIC
      security:
      - oauth2:
        - PAYMENTS_READ
      parameters: []
      requestBody:
        required: true
        description: 'An object containing the fields to POST for the request.


          See the corresponding object definition for field details.'
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SearchTerminalRefundsRequest'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SearchTerminalRefundsResponse'
  /v2/terminals/refunds/{terminal_refund_id}:
    get:
      tags:
      - Terminal
      summary: Square Get Terminal Refund
      operationId: GetTerminalRefund
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      description: Retrieves an Interac Terminal refund object by ID. Terminal refund objects are available for 30 days.
      x-release-status: PUBLIC
      security:
      - oauth2:
        - PAYMENTS_READ
      parameters:
      - name: terminal_refund_id
        description: The unique ID for the desired `TerminalRefund`.
        schema:
          type: string
        in: path
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetTerminalRefundResponse'
  /v2/terminals/refunds/{terminal_refund_id}/cancel:
    post:
      tags:
      - Terminal
      summary: Square Cancel Terminal Refund
      operationId: CancelTerminalRefund
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      description: Cancels an Interac Terminal refund request by refund request ID if the status of the request permits it.
      x-release-status: PUBLIC
      security:
      - oauth2:
        - PAYMENTS_WRITE
      parameters:
      - name: terminal_refund_id
        description: The unique ID for the desired `TerminalRefund`.
        schema:
          type: string
        in: path
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CancelTerminalRefundResponse'
  /v2/terminals/refunds/{terminal_refund_id}/dismiss:
    post:
      tags:
      - Terminal
      summary: Square Dismiss Terminal Refund
      operationId: DismissTerminalRefund
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      description: Dismisses a Terminal refund request if the status and type of the request permits it.
      x-release-status: BETA
      security:
      - oauth2: []
      parameters:
      - name: terminal_refund_id
        description: Unique ID for the `TerminalRefund` associated with the refund to be dismissed.
        schema:
          type: string
        in: path
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DismissTerminalRefundResponse'
      x-endpoint-errors:
      - error-code: BAD_REQUEST
      - error-code: NOT_FOUND
components:
  schemas:
    TerminalCheckoutQuery:
      type: object
      x-release-status: PUBLIC
      properties:
        filter:
          $ref: '#/components/schemas/TerminalCheckoutQueryFilter'
          description: Options for filtering returned `TerminalCheckout` objects.
          nullable: true
        sort:
          $ref: '#/components/schemas/TerminalCheckoutQuerySort'
          description: Option for sorting returned `TerminalCheckout` objects.
          nullable: true
    ConfirmationDecision:
      type: object
      x-release-status: BETA
      properties:
        has_agreed:
          type: boolean
          description: The buyer's decision to the displayed terms.
          readOnly: true
    ErrorCategory:
      type: string
      enum:
      - API_ERROR
      - AUTHENTICATION_ERROR
      - INVALID_REQUEST_ERROR
      - RATE_LIMIT_ERROR
      - PAYMENT_METHOD_ERROR
      - REFUND_ERROR
      - MERCHANT_SUBSCRIPTION_ERROR
      - EXTERNAL_VENDOR_ERROR
      x-enum-elements:
      - name: API_ERROR
        description: An error occurred with the Connect API itself.
      - name: AUTHENTICATION_ERROR
        description: 'An authentication error occurred. Most commonly, the request had

          a missing, malformed, or otherwise invalid `Authorization` header.'
      - name: INVALID_REQUEST_ERROR
        description: 'The request was invalid. Most commonly, a required parameter was

          missing, or a provided parameter had an invalid value.'
      - name: RATE_LIMIT_ERROR
        description: 'Your application reached the Square API rate limit. You might receive this error if your application sends a high number of requests

          to Square APIs in a short period of time.


          Your application should monitor responses for `429 RATE_LIMITED` errors and use a retry mechanism with an [exponential backoff](https://en.wikipedia.org/wiki/Exponential_backoff)

          schedule to resend the requests at an increasingly slower rate. It is also a good practice to use a randomized delay (jitter) in your retry schedule.'
      - name: PAYMENT_METHOD_ERROR
        description: 'An error occurred while processing a payment method. Most commonly,

          the details of the payment method were invalid (such as a card''s CVV

          or expiration date).'
      - name: REFUND_ERROR
        description: An error occurred while attempting to process a refund.
      - name: MERCHANT_SUBSCRIPTION_ERROR
        description: An error occurred when checking a merchant subscription status
      - name: EXTERNAL_VENDOR_ERROR
        description: An error that is returned from an external vendor's API
      description: 'Indicates which high-level category of error has occurred during a

        request to the Connect API.'
      x-release-status: PUBLIC
    ErrorCode:
      type: string
      enum:
      - INTERNAL_SERVER_ERROR
      - UNAUTHORIZED
      - ACCESS_TOKEN_EXPIRED
      - ACCESS_TOKEN_REVOKED
      - CLIENT_DISABLED
      - FORBIDDEN
      - INSUFFICIENT_SCOPES
      - APPLICATION_DISABLED
      - V1_APPLICATION
      - V1_ACCESS_TOKEN
      - CARD_PROCESSING_NOT_ENABLED
      - MERCHANT_SUBSCRIPTION_NOT_FOUND
      - BAD_REQUEST
      - MISSING_REQUIRED_PARAMETER
      - INCORRECT_TYPE
      - INVALID_TIME
      - INVALID_TIME_RANGE
      - INVALID_VALUE
      - INVALID_CURSOR
      - UNKNOWN_QUERY_PARAMETER
      - CONFLICTING_PARAMETERS
      - EXPECTED_JSON_BODY
      - INVALID_SORT_ORDER
      - VALUE_REGEX_MISMATCH
      - VALUE_TOO_SHORT
      - VALUE_TOO_LONG
      - VALUE_TOO_LOW
      - VALUE_TOO_HIGH
      - VALUE_EMPTY
      - ARRAY_LENGTH_TOO_LONG
      - ARRAY_LENGTH_TOO_SHORT
      - ARRAY_EMPTY
      - EXPECTED_BOOLEAN
      - EXPECTED_INTEGER
      - EXPECTED_FLOAT
      - EXPECTED_STRING
      - EXPECTED_OBJECT
      - EXPECTED_ARRAY
      - EXPECTED_MAP
      - EXPECTED_BASE64_ENCODED_BYTE_ARRAY
      - INVALID_ARRAY_VALUE
      - INVALID_ENUM_VALUE
      - INVALID_CONTENT_TYPE
      - INVALID_FORM_VALUE
      - CUSTOMER_NOT_FOUND
      - ONE_INSTRUMENT_EXPECTED
      - NO_FIELDS_SET
      - TOO_MANY_MAP_ENTRIES
      - MAP_KEY_LENGTH_TOO_SHORT
      - MAP_KEY_LENGTH_TOO_LONG
      - CUSTOMER_MISSING_NAME
      - CUSTOMER_MISSING_EMAIL
      - INVALID_PAUSE_LENGTH
      - INVALID_DATE
      - UNSUPPORTED_COUNTRY
      - UNSUPPORTED_CURRENCY
      - APPLE_TTP_PIN_TOKEN
      - CARD_EXPIRED
      - INVALID_EXPIRATION
      - INVALID_EXPIRATION_YEAR
      - INVALID_EXPIRATION_DATE
      - UNSUPPORTED_CARD_BRAND
      - UNSUPPORTED_ENTRY_METHOD
      - INVALID_ENCRYPTED_CARD
      - INVALID_CARD
      - PAYMENT_AMOUNT_MISMATCH
      - GENERIC_DECLINE
      - CVV_FAILURE
      - ADDRESS_VERIFICATION_FAILURE
      - INVALID_ACCOUNT
      - CURRENCY_MISMATCH
      - INSUFFICIENT_FUNDS
      - INSUFFICIENT_PERMISSIONS
      - CARDHOLDER_INSUFFICIENT_PERMISSIONS
      - INVALID_LOCATION
      - TRANSACTION_LIMIT
      - VOICE_FAILURE
      - PAN_FAILURE
      - EXPIRATION_FAILURE
      - CARD_NOT_SUPPORTED
      - INVALID_PIN
      - MISSING_PIN
      - MISSING_ACCOUNT_TYPE
      - INVALID_POSTAL_CODE
      - INVALID_FEES
      - MANUALLY_ENTERED_PAYMENT_NOT_SUPPORTED
      - PAYMENT_LIMIT_EXCEEDED
      - GIFT_CARD_AVAILABLE_AMOUNT
      - ACCOUNT_UNUSABLE
      - BUYER_REFUSED_PAYMENT
      - DELAYED_TRANSACTION_EXPIRED
      - DELAYED_TRANSACTION_CANCELED
      - DELAYED_TRANSACTION_CAPTURED
      - DELAYED_TRANSACTION_FAILED
      - CARD_TOKEN_EXPIRED
      - CARD_TOKEN_USED
      - AMOUNT_TOO_HIGH
      - UNSUPPORTED_INSTRUMENT_TYPE
      - REFUND_AMOUNT_INVALID
      - REFUND_ALREADY_PENDING
      - PAYMENT_NOT_REFUNDABLE
      - PAYMENT_NOT_REFUNDABLE_DUE_TO_DISPUTE
      - REFUND_DECLINED
      - INSUFFICIENT_PERMISSIONS_FOR_REFUND
      - INVALID_CARD_DATA
      - SOURCE_USED
      - SOURCE_EXPIRED
      - UNSUPPORTED_LOYALTY_REWARD_TIER
      - LOCATION_MISMATCH
      - IDEMPOTENCY_KEY_REUSED
      - UNEXPECTED_VALUE
      - SANDBOX_NOT_SUPPORTED
      - INVALID_EMAIL_ADDRESS
      - INVALID_PHONE_NUMBER
      - CHECKOUT_EXPIRED
      - BAD_CERTIFICATE
      - INVALID_SQUARE_VERSION_FORMAT
      - API_VERSION_INCOMPATIBLE
      - CARD_PRESENCE_REQUIRED
      - UNSUPPORTED_SOURCE_TYPE
      - CARD_MISMATCH
      - PLAID_ERROR
      - PLAID_ERROR_ITEM_LOGIN_REQUIRED
      - PLAID_ERROR_RATE_LIMIT
      - CARD_DECLINED
      - VERIFY_CVV_FAILURE
      - VERIFY_AVS_FAILURE
      - CARD_DECLINED_CALL_ISSUER
      - CARD_DECLINED_VERIFICATION_REQUIRED
      - BAD_EXPIRATION
      - CHIP_INSERTION_REQUIRED
      - ALLOWABLE_PIN_TRIES_EXCEEDED
      - RESERVATION_DECLINED
      - UNKNOWN_BODY_PARAMETER
      - NOT_FOUND
      - APPLE_PAYMENT_PROCESSING_CERTIFICATE_HASH_NOT_FOUND
      - METHOD_NOT_ALLOWED
      - NOT_ACCEPTABLE
      - REQUEST_TIMEOUT
      - CONFLICT
      - GONE
      - REQUEST_ENTITY_TOO_LARGE
      - UNSUPPORTED_MEDIA_TYPE
      - UNPROCESSABLE_ENTITY
      - RATE_LIMITED
      - NOT_IMPLEMENTED
      - BAD_GATEWAY
      - SERVICE_UNAVAILABLE
      - TEMPORARY_ERROR
      - GATEWAY_TIMEOUT
      x-enum-elements:
      - name: INTERNAL_SERVER_ERROR
        description: A general server error occurred.
        error-category: API_ERROR
      - name: UNAUTHORIZED
        description: A general authorization error occurred.
        error-category: AUTHENTICATION_ERROR
      - name: ACCESS_TOKEN_EXPIRED
        description: The provided access token has expired.
        error-category: AUTHENTICATION_ERROR
      - name: ACCESS_TOKEN_REVOKED
        description: The provided access token has been revoked.
        error-category: AUTHENTICATION_ERROR
      - name: CLIENT_DISABLED
        description: The provided client has been disabled.
        error-category: AUTHENTICATION_ERROR
      - name: FORBIDDEN
        description: A general access error occurred.
        error-category: AUTHENTICATION_ERROR
      - name: INSUFFICIENT_SCOPES
        description: 'The provided access token does not have permission

          to execute the requested action.'
        error-category: AUTHENTICATION_ERROR
      - name: APPLICATION_DISABLED
        description: The calling application was disabled.
        error-category: INVALID_REQUEST_ERROR
      - name: V1_APPLICATION
        description: 'The calling application was created prior to

          2016-03-30 and is not compatible with v2 Square API calls.'
        error-category: INVALID_REQUEST_ERROR
      - name: V1_ACCESS_TOKEN
        description: 'The calling application is using an access token

          created prior to 2016-03-30 and is not compatible with v2 Square API

          calls.'
        error-category: INVALID_REQUEST_ERROR
      - name: CARD_PROCESSING_NOT_ENABLED
        description: 'The location provided in the API call is not

          enabled for credit card processing.'
        error-category: INVALID_REQUEST_ERROR
      - name: MERCHANT_SUBSCRIPTION_NOT_FOUND
        description: A required subscription was not found for the merchant
        error-category: MERCHANT_SUBSCRIPTION_ERROR
      - name: BAD_REQUEST
        description: A general error occurred with the request.
        error-category: INVALID_REQUEST_ERROR
      - name: MISSING_REQUIRED_PARAMETER
        description: 'The request is missing a required path, query, or

          body parameter.'
        error-category: INVALID_REQUEST_ERROR
      - name: INCORRECT_TYPE
        description: 'The value provided in the request is the wrong

          type. For example, a string instead of an integer.'
        error-category: INVALID_REQUEST_ERROR
      - name: INVALID_TIME
        description: 'Formatting for the provided time value is

          incorrect.'
        error-category: INVALID_REQUEST_ERROR
      - name: INVALID_TIME_RANGE
        description: 'The time range provided in the request is invalid.

          For example, the end time is before the start time.'
        error-category: INVALID_REQUEST_ERROR
      - name: INVALID_VALUE
        description: 'The provided value is invalid. For example,

          including `%` in a phone number.'
        error-category: INVALID_REQUEST_ERROR
      - name: INVALID_CURSOR
        description: 'The pagination cursor included in the request is

          invalid.'
        error-category: INVALID_REQUEST_ERROR
      - name: UNKNOWN_QUERY_PARAMETER
        description: 'The query parameters provided is invalid for the

          requested endpoint.'
        error-category: INVALID_REQUEST_ERROR
      - name: CONFLICTING_PARAMETERS
        description: 'One or more of the request parameters conflict with

          each other.'
        error-category: INVALID_REQUEST_ERROR
      - name: EXPECTED_JSON_BODY
        description: The request body is not a JSON object.
        error-category: INVALID_REQUEST_ERROR
      - name: INVALID_SORT_ORDER
        description: 'The provided sort order is not a valid key.

          Currently, sort order must be `ASC` or `DESC`.'
        error-category: INVALID_REQUEST_ERROR
      - name: VALUE_REGEX_MISMATCH
        description: 'The provided value does not match an expected

          regular expression.'
        error-category: INVALID_REQUEST_ERROR
      - name: VALUE_TOO_SHORT
        description: 'The provided string value is shorter than the

          minimum length allowed.'
        error-category: INVALID_REQUEST_ERROR
      - name: VALUE_TOO_LONG
        description: 'The provided string value is longer than the

          maximum length allowed.'
        error-category: INVALID_REQUEST_ERROR
      - name: VALUE_TOO_LOW
        description: 'The provided value is less than the supported

          minimum.'
        error-category: INVALID_REQUEST_ERROR
      - name: VALUE_TOO_HIGH
        description: 'The provided value is greater than the supported

          maximum.'
        error-category: INVALID_REQUEST_ERROR
      - name: VALUE_EMPTY
        description: 'The provided value has a default (empty) value

          such as a blank string.'
        error-category: INVALID_REQUEST_ERROR
      - name: ARRAY_LENGTH_TOO_LONG
        description: The provided array has too many elements.
        error-category: INVALID_REQUEST_ERROR
      - name: ARRAY_LENGTH_TOO_SHORT
        description: The provided array has too few elements.
        error-category: INVALID_REQUEST_ERROR
      - name: ARRAY_EMPTY
        description: The provided array is empty.
        error-category: INVALID_REQUEST_ERROR
      - name: EXPECTED_BOOLEAN
        description: 'The endpoint expected the provided value to be a

          boolean.'
        error-category: INVALID_REQUEST_ERROR
      - name: EXPECTED_INTEGER
        description: 'The endpoint expected the provided value to be an

          integer.'
        error-category: INVALID_REQUEST_ERROR
      - name: EXPECTED_FLOAT
        description: 'The endpoint expected the provided value to be a

          float.'
        error-category: INVALID_REQUEST_ERROR
      - name: EXPECTED_STRING
        description: 'The endpoint expected the provided value to be a

          string.'
        error-category: INVALID_REQUEST_ERROR
      - name: EXPECTED_OBJECT
        description: 'The endpoint expected the provided value to be a

          JSON object.'
        error-category: INVALID_REQUEST_ERROR
      - name: EXPECTED_ARRAY
        description: 'The endpoint expected the provided value to be an

          array or list.'
        error-category: INVALID_REQUEST_ERROR
      - name: EXPECTED_MAP
        description: 'The endpoint expected the provided value to be a

          map or associative array.'
        error-category: INVALID_REQUEST_ERROR
      - name: EXPECTED_BASE64_ENCODED_BYTE_ARRAY
        description: 'The endpoint expected the provided value to be an

          array encoded in base64.'
        error-category: INVALID_REQUEST_ERROR
      - name: INVALID_ARRAY_VALUE
        description: 'One or more objects in the array does not match the

          array type.'
        error-category: INVALID_REQUEST_ERROR
      - name: INVALID_ENUM_VALUE
        description: 'The provided static string is not v

# --- truncated at 32 KB (143 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/square/refs/heads/main/openapi/square-terminal-api-openapi.yml