GOV.UK Pay Authorise card payments API

The Authorise card payments API from GOV.UK Pay — 1 operation(s) for authorise card payments.

Operations 1

POST /v1/auth Send card details to authorise a MOTO payment #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/gov-uk-pay-authorise-card-payments-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

gov-uk-pay-authorise-card-payments-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: The GOV.UK Pay REST API. Read [our documentation](https://docs.payments.service.gov.uk/) for more details.
  title: GOV.UK Pay Agreements Authorise card payments API
  version: 1.0.3
servers:
- url: https://publicapi.payments.service.gov.uk
tags:
- name: Authorise card payments
paths:
  /v1/auth:
    post:
      description: You can use this endpoint to [authorise payments](https://docs.payments.service.gov.uk/moto_payments/moto_send_card_details_api/) you have created with `authorisation_mode` set to `moto_api`.
      operationId: Authorise a MOTO payment
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuthorisationRequest'
        required: true
      responses:
        '204':
          description: Your authorisation request was successful.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequestError'
          description: Your request is invalid. Check the `code` and `description` in the response to find out why your request failed.
        '402':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequestError'
          description: The `card_number` you sent is not a valid card number or you chose not to accept this card type. Check the `code` and `description` fields in the response to find out why your request failed.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: A value you sent is invalid or missing. Check the `code` and `description` in the response to find out why your request failed.
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequestError'
          description: There is something wrong with GOV.UK Pay. If there are no issues on our status page (https://payments.statuspage.io), you can contact us with your error code and we'll investigate.
      summary: Send card details to authorise a MOTO payment
      tags:
      - Authorise card payments
components:
  schemas:
    RequestError:
      type: object
      description: A Request Error response
      properties:
        code:
          type: string
          description: An [API error code](https://docs.payments.service.gov.uk/api_reference/#gov-uk-pay-api-error-codes)that explains why the payment failed.<br><br>`code` only appears if the payment failed.
          example: P0102
        description:
          type: string
          description: Additional details about the error.
          example: 'Invalid attribute value: amount. Must be less than or equal to 10000000'
        field:
          type: string
          description: The parameter in your request that's causing the error.
          example: amount
        header:
          type: string
          description: The header in your request that's causing the error.
          example: Idempotency-Key
    ErrorResponse:
      type: object
      description: An error response
      properties:
        code:
          type: string
          description: A GOV.UK Pay API error code. You can [find out more about this code in our documentation](https://docs.payments.service.gov.uk/api_reference/#gov-uk-pay-api-error-codes).
          example: P0900
        description:
          type: string
          description: Additional details about the error
          example: Too many requests
    AuthorisationRequest:
      type: object
      description: Contains the user's payment information. This information will be sent to the payment service provider to authorise the payment.
      properties:
        card_number:
          type: string
          description: The full card number from the paying user's card.
          example: '4242424242424242'
          maxLength: 19
          minLength: 12
        cardholder_name:
          type: string
          description: The name on the paying user's card.
          example: J. Citizen
          maxLength: 255
          minLength: 0
        cvc:
          type: string
          description: The card verification code (CVC) or card verification value (CVV) on the paying user's card.
          example: '123'
          maxLength: 4
          minLength: 3
        expiry_date:
          type: string
          description: The expiry date of the paying user's card. This value must be in `MM/YY` format.
          example: 09/22
          maxLength: 5
          minLength: 5
        one_time_token:
          type: string
          description: This single use token authorises your request and matches it to a payment. GOV.UK Pay generated the `one_time_token` when the payment was created.
          example: 12345-edsfr-6789-gtyu
          minLength: 1
      required:
      - card_number
      - cardholder_name
      - cvc
      - expiry_date
      - one_time_token
  securitySchemes:
    BearerAuth:
      description: 'GOV.UK Pay authenticates API calls with [OAuth2 HTTP bearer tokens](http://tools.ietf.org/html/rfc6750). You need to use an `"Authorization"` HTTP header to provide your API key, with a `"Bearer"` prefix. For example: `Authorization: Bearer {YOUR_API_KEY_HERE}`'
      scheme: bearer
      type: http