Adyen Keys API

The Keys API from Adyen — 2 operation(s) for keys.

Operations 2

POST /originKeys Adyen Create OriginKey Values for Domains #
GET /pins/publicKey Adyen Get RSA PublicKey #

Documentation

📖
Documentation
https://docs.adyen.com/marketplaces-and-platforms/classic/configure-notifications/
📖
Documentation
https://docs.adyen.com/api-explorer/Account/6/overview
📖
Documentation
https://docs.adyen.com/development-resources/webhooks/
📖
Documentation
https://docs.adyen.com/api-explorer/BalanceControl/1/overview
📖
Documentation
https://docs.adyen.com/api-explorer/BinLookup/52/overview
📖
Documentation
https://docs.adyen.com/api-explorer/Checkout/71/overview
📖
Documentation
https://docs.adyen.com/api-explorer/balanceplatform/2/overview
📖
Documentation
https://docs.adyen.com/api-explorer/balanceplatform-webhooks/1/overview
📖
Documentation
https://docs.adyen.com/development-resources/data-protection-api/
📖
Documentation
https://docs.adyen.com/risk-management/disputes-api
📖
Documentation
https://docs.adyen.com/marketplaces-and-platforms/classic/fund-transfer/
📖
Documentation
https://docs.adyen.com/marketplaces-and-platforms/collect-verification-details/hosted/
📖
Documentation
https://docs.adyen.com/marketplaces-and-platforms/legal-entity-management-api/
📖
Documentation
https://docs.adyen.com/api-explorer/Management/3/overview
📖
Documentation
https://docs.adyen.com/api-explorer/management-webhooks/3/overview
📖
Documentation
https://docs.adyen.com/marketplaces-and-platforms/classic/notifications
📖
Documentation
https://docs.adyen.com/point-of-sale/design-your-integration/notifications/
📖
Documentation
https://docs.adyen.com/online-payments/
📖
Documentation
https://docs.adyen.com/online-payments/online-payouts
📖
Documentation
https://docs.adyen.com/point-of-sale/design-your-integration/terminal-api/
📖
Documentation
https://docs.adyen.com/online-payments/tokenization
📖
Documentation
https://docs.adyen.com/api-explorer/report-webhooks/1/overview
📖
Documentation
https://docs.adyen.com/payment-methods/gift-cards/stored-value-api/
📖
Documentation
https://docs.adyen.com/point-of-sale/design-your-integration/terminal-api/terminal-api-reference/
📖
Documentation
https://docs.adyen.com/development-resources/testing/create-test-cards
📖
Documentation
https://docs.adyen.com/marketplaces-and-platforms/business-accounts/transactions/transaction-webhooks/
📖
Documentation
https://docs.adyen.com/api-explorer/transfer-webhooks/3/overview
📖
Documentation
https://docs.adyen.com/marketplaces-and-platforms/payout-to-users/on-demand-payouts
📖
Documentation
https://docs.adyen.com/development-resources/webhooks

Specifications

Other Resources

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/adyen-keys-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

adyen-keys-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Adyen Keys API
  contact:
    name: Adyen Developer Experience team
    url: https://github.com/Adyen/adyen-openapi
  termsOfService: https://www.adyen.com/legal/terms-and-conditions
  x-publicVersion: true
  version: '1.0'
  description: 'Operations tagged Keys across 2 of this provider''s published API definitions: adyen-checkout-api-openapi.yml, adyen-configuration-api-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://checkout-test.adyen.com/v71
- url: https://balanceplatform-api-test.adyen.com/bcl/v2
tags:
- name: Keys
paths:
  /originKeys:
    post:
      tags:
      - Keys
      summary: Adyen Create OriginKey Values for Domains
      description: "This operation takes the origin domains and returns a JSON object containing the corresponding origin keys for the domains. \n> If you're still using origin key for your Web Drop-in or Components integration, we recommend [switching to client key](https://docs.adyen.com/development-resources/client-side-authentication/migrate-from-origin-key-to-client-key). This allows you to use a single key for all origins, add or remove origins without generating a new key, and detect the card type from the number entered in your payment form. "
      deprecated: true
      x-deprecatedInVersion: '67'
      operationId: post-originKeys
      x-sortIndex: 1
      x-methodName: originKeys
      security:
      - BasicAuth: []
      - ApiKeyAuth: []
      requestBody:
        content:
          application/json:
            examples:
              basic:
                $ref: '#/components/examples/post-originKeys-basic'
            schema:
              $ref: '#/components/schemas/UtilityRequest'
      parameters:
      - $ref: '#/components/parameters/Idempotency-Key'
      responses:
        '200':
          content:
            application/json:
              examples:
                basic:
                  $ref: '#/components/examples/post-originKeys-basic-200'
              schema:
                $ref: '#/components/schemas/UtilityResponse'
          description: OK - the request has succeeded.
          headers:
            Idempotency-Key:
              $ref: '#/components/headers/Idempotency-Key'
        '400':
          content:
            application/json:
              examples:
                generic:
                  $ref: '#/components/examples/generic-400'
              schema:
                $ref: '#/components/schemas/ServiceError'
          description: Bad Request - a problem reading or understanding the request.
        '401':
          content:
            application/json:
              examples:
                generic:
                  $ref: '#/components/examples/generic-401'
              schema:
                $ref: '#/components/schemas/ServiceError'
          description: Unauthorized - authentication required.
        '403':
          content:
            application/json:
              examples:
                generic:
                  $ref: '#/components/examples/generic-403'
              schema:
                $ref: '#/components/schemas/ServiceError'
          description: Forbidden - insufficient permissions to process the request.
        '422':
          content:
            application/json:
              examples:
                generic:
                  $ref: '#/components/examples/generic-422'
              schema:
                $ref: '#/components/schemas/ServiceError'
          description: Unprocessable Entity - a request validation error.
          headers:
            Idempotency-Key:
              $ref: '#/components/headers/Idempotency-Key'
        '500':
          content:
            application/json:
              examples:
                generic:
                  $ref: '#/components/examples/generic-500'
              schema:
                $ref: '#/components/schemas/ServiceError'
          description: Internal Server Error - the server could not process the request.
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    servers:
    - url: https://checkout-test.adyen.com/v71
  /pins/publicKey:
    get:
      tags:
      - Keys
      summary: Adyen Get RSA PublicKey
      description: Get RSA publicKey
      x-addedInVersion: '1'
      operationId: get-pins-publicKey
      x-sortIndex: 1
      x-methodName: getRsaPublickey
      security:
      - clientKey: []
      - BasicAuth: []
      - ApiKeyAuth: []
      parameters:
      - description: Purpose of publicKey.
        name: purpose
        in: query
        required: false
        schema:
          type: string
      - description: Format of publicKey.
        name: format
        in: query
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicKeyResponse'
              examples:
                get-pins-publicKey200Example:
                  summary: Default get-pins-publicKey 200 response
                  x-microcks-default: true
                  value:
                    publicKey: example_value
                    publicKeyExpiryDate: example_value
          description: OK - the request has succeeded.
        '401':
          content:
            application/json:
              examples:
                generic:
                  $ref: '#/components/examples/generic-401_2'
              schema:
                $ref: '#/components/schemas/RestServiceError'
          description: Unauthorized - authentication required.
        '403':
          content:
            application/json:
              examples:
                generic:
                  $ref: '#/components/examples/generic-403_2'
              schema:
                $ref: '#/components/schemas/RestServiceError'
          description: Forbidden - insufficient permissions to process the request.
        '422':
          content:
            application/json:
              examples:
                generic:
                  $ref: '#/components/examples/generic-422_2'
              schema:
                $ref: '#/components/schemas/RestServiceError'
          description: Unprocessable Entity - a request validation error.
        '500':
          content:
            application/json:
              examples:
                generic:
                  $ref: '#/components/examples/generic-500_2'
              schema:
                $ref: '#/components/schemas/RestServiceError'
          description: Internal Server Error - the server could not process the request.
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    servers:
    - url: https://balanceplatform-api-test.adyen.com/bcl/v2
components:
  examples:
    post-originKeys-basic:
      summary: Get origin keys
      value:
        originDomains:
        - https://www.your-domain1.com
        - https://www.your-domain2.com
        - https://www.your-domain3.com
    generic-401:
      summary: Response code 401. Unauthorized.
      value:
        status: 401
        errorCode: '000'
        message: HTTP Status Response - Unauthorized
        errorType: security
    generic-500:
      summary: Response code 500. Internal server error.
      value:
        status: 500
        errorCode: '905'
        message: Payment details are not supported
        errorType: configuration
        pspReference: '8516091485743033'
    generic-403:
      summary: Response code 403. Forbidden.
      value:
        status: 403
        errorCode: '901'
        message: Invalid Merchant Account
        errorType: security
        pspReference: 881611827877203B
    generic-422:
      summary: Response code 422. Unprocessable entity.
      value:
        status: 422
        errorCode: '14_030'
        message: Return URL is missing.
        errorType: validation
        pspReference: '8816118280275544'
    post-originKeys-basic-200:
      summary: Example response for request 'basic'
      value:
        originKeys:
          https://www.your-domain1.com: pub.v2.8116178901076090.aHR0cHM6Ly93d3cueW91ci1kb21haW4xLmNvbQ.pvbYlrXz0ICP4kwMJXDGDLVMqALhwXr1MSRjT-fkhvw
          https://www.your-domain3.com: pub.v2.8116178901076090.aHR0cHM6Ly93d3cueW91ci1kb21haW4zLmNvbQ.FrTpVz7_RzAywKasM0kXCRoMfoMkKIKaxjFymRGORIc
          https://www.your-domain2.com: pub.v2.8116178901076090.aHR0cHM6Ly93d3cueW91ci1kb21haW4yLmNvbQ.LdN9kvJ35fYFFiBSJA4idMnwwxJ5_yXpeNS__Ap5wkg
    generic-400:
      summary: Response code 400. Bad request.
      value:
        status: 400
        errorCode: '702'
        message: 'Unexpected input: ", expected: }'
        errorType: validation
    generic-401_2:
      summary: Response code - 401 Unauthorized
      value:
        type: https://docs.adyen.com/errors/security/unauthorized
        title: Unauthorized
        status: 401
        detail: Not authorized to access this service.
        errorCode: '00_401'
    generic-500_2:
      summary: Response code - 500 Internal Server Error
      value:
        type: https://docs.adyen.com/errors/general/internal
        title: An internal error happened
        status: 500
        detail: Unrecoverable error while trying to create payment instrument
        requestId: 1WAF555PLWNTLYOQ
        errorCode: '00_500'
    generic-403_2:
      summary: Response code - 403 Forbidden.
      value:
        type: https://docs.adyen.com/errors/security/unauthorized
        title: Forbidden
        status: 403
        detail: Not the right permission to access this service.
        errorCode: '00_403'
    generic-422_2:
      summary: Response code - 422 Unprocessable Entity.
      value:
        type: https://docs.adyen.com/errors/general/invalid-field-value
        title: Invalid Payment Instrument information provided
        status: 422
        detail: The balanceAccountId can only be changed when the status is Inactive or Requested
        requestId: 1W1UI15PLVGC9V8O
        errorCode: '30_031'
  headers:
    Idempotency-Key:
      description: The idempotency key used for processing the request. Present if the key was provided in the request.
      schema:
        type: string
  schemas:
    ServiceError:
      properties:
        additionalData:
          x-addedInVersion: '46'
          additionalProperties:
            type: string
          description: Contains additional information about the payment. Some data fields are included only if you select them first. Go to **Customer Area** > **Developers** > **Additional data**.
          type: object
        errorCode:
          description: The error code mapped to the error message.
          type: string
        errorType:
          description: The category of the error.
          type: string
        message:
          description: A short explanation of the issue.
          type: string
        pspReference:
          description: The PSP reference of the payment.
          type: string
        status:
          description: The HTTP response status.
          format: int32
          type: integer
      type: object
    UtilityResponse:
      properties:
        originKeys:
          x-addedInVersion: '1'
          additionalProperties:
            type: string
          description: The list of origin keys for all requested domains. For each list item, the key is the domain and the value is the origin key.
          type: object
      type: object
    UtilityRequest:
      properties:
        originDomains:
          description: The list of origin domains, for which origin keys are requested.
          items:
            type: string
          type: array
      required:
      - originDomains
      type: object
    InvalidField:
      properties:
        message:
          description: Description of the validation error.
          type: string
        name:
          description: The field that has an invalid value.
          type: string
        value:
          description: The invalid value.
          type: string
      required:
      - name
      - value
      - message
      type: object
    RestServiceError:
      properties:
        detail:
          description: A human-readable explanation specific to this occurrence of the problem.
          type: string
        errorCode:
          description: A code that identifies the problem type.
          type: string
        instance:
          description: A unique URI that identifies the specific occurrence of the problem.
          type: string
        invalidFields:
          description: Detailed explanation of each validation error, when applicable.
          items:
            $ref: '#/components/schemas/InvalidField'
          type: array
        requestId:
          description: A unique reference for the request, essentially the same as `pspReference`.
          type: string
        response:
          description: JSON response payload.
          $ref: '#/components/schemas/JSONObject'
        status:
          description: The HTTP status code.
          format: int32
          type: integer
        title:
          description: A short, human-readable summary of the problem type.
          type: string
        type:
          description: A URI that identifies the problem type, pointing to human-readable documentation on this problem type.
          type: string
      required:
      - type
      - errorCode
      - title
      - detail
      - status
      type: object
    PublicKeyResponse:
      properties:
        publicKey:
          description: The public key to be used for encrypting the symmetric session key.
          type: string
        publicKeyExpiryDate:
          description: The expiry date of the public key.
          type: string
      required:
      - publicKey
      - publicKeyExpiryDate
      type: object
    JSONObject:
      type: object
  parameters:
    Idempotency-Key:
      description: A unique identifier for the message with a maximum of 64 characters (we recommend a UUID).
      example: 37ca9c97-d1d1-4c62-89e8-706891a563ed
      name: Idempotency-Key
      in: header
      schema:
        type: string
  securitySchemes:
    ApiKeyAuth:
      in: header
      name: X-API-Key
      type: apiKey
    BasicAuth:
      scheme: basic
      type: http
    clientKey:
      in: query
      name: clientKey
      type: apiKey
x-refined-from:
- adyen-checkout-api-openapi.yml
- adyen-configuration-api-openapi.yml
x-groups:
- Account holders
- Accounts
- Verification