{ "openapi" : "3.1.0", "servers" : [ { "url" : "https://management-live.adyen.com/v1", "description" : "Live Environment" }, { "url" : "https://management-test.adyen.com/v1", "description" : "Test Environment" } ], "info" : { "title" : "Payments App API", "description" : "Board and manage the Adyen Payments App on your Android mobile devices.\n## Authentication\nEach request to the Payments App API must be signed with an API key. [Generate your API key](https://docs.adyen.com/development-resources/api-credentials#generate-api-key) in the Customer Area and then set this key to the `X-API-Key` header value.\n\n## Versioning\n\nPayments App API handles versioning as part of the endpoint URL. For example, to send a request to this version of the `/merchants/{merchantId}/generatePaymentsAppBoardingToken` endpoint, use:\n\n```text\nhttps://management-test.adyen.com/v1/merchants/{merchantId}/generatePaymentsAppBoardingToken\n```\n\n## Going live\n\nTo access the live endpoints, you need an API key from your live Customer Area. Use this API key to make requests to:\n\n```text\nhttps://management-live.adyen.com/v{version}\n```\n\n", "termsOfService" : "https://www.adyen.com/legal/terms-and-conditions", "contact" : { "name" : "Adyen Developer Experience team", "url" : "https://github.com/Adyen/adyen-openapi" }, "version" : "1", "x-timestamp" : "2025-02-11T15:31:29Z" }, "tags" : [ { "name" : "Payments App" } ], "paths" : { "/merchants/{merchantId}/generatePaymentsAppBoardingToken" : { "post" : { "tags" : [ "Payments App" ], "summary" : "Create a boarding token - merchant level", "description" : "Creates a boarding token used to authenticate the installation of a Payments App instance on an Android device. The boarding token is created for the `boardingRequestToken` of the Payments App for the merchant account identified in the path. \n\nTo make this request, your API credential must have the following [role](https://docs.adyen.com/development-resources/api-credentials#api-permissions):\n* Adyen Payments App role\n", "operationId" : "post-merchants-merchantId-generatePaymentsAppBoardingToken", "parameters" : [ { "name" : "merchantId", "in" : "path", "description" : "The unique identifier of the merchant account.", "required" : true, "schema" : { "type" : "string" } } ], "requestBody" : { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/BoardingTokenRequest" } } }, "required" : true }, "responses" : { "200" : { "description" : "OK - the request has succeeded.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/BoardingTokenResponse" } } } }, "400" : { "description" : "Bad Request - a problem reading or understanding the request.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/DefaultErrorResponseEntity" } } } }, "401" : { "description" : "Unauthorized - authentication required.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/DefaultErrorResponseEntity" } } } }, "403" : { "description" : "Forbidden - insufficient permissions to process the request.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/DefaultErrorResponseEntity" } } } }, "422" : { "description" : "Unprocessable Entity - a request validation error.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/DefaultErrorResponseEntity" } } } }, "500" : { "description" : "Internal Server Error - the server could not process the request.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/DefaultErrorResponseEntity" } } } } }, "x-methodName" : "generatePaymentsAppBoardingTokenForMerchant", "x-sortIndex" : 0 } }, "/merchants/{merchantId}/stores/{storeId}/generatePaymentsAppBoardingToken" : { "post" : { "tags" : [ "Payments App" ], "summary" : "Create a boarding token - store level", "description" : "Creates a boarding token used to authenticate the installation of a Payments App instance on an Android device. The boarding token is created for the `boardingRequestToken` of the Payments App for the store identified in the path.\n\nTo make this request, your API credential must have the following [role](https://docs.adyen.com/development-resources/api-credentials#api-permissions):\n* Adyen Payments App role\n", "operationId" : "post-merchants-merchantId-stores-storeId-generatePaymentsAppBoardingToken", "parameters" : [ { "name" : "merchantId", "in" : "path", "description" : "The unique identifier of the merchant account.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "storeId", "in" : "path", "description" : "The unique identifier of the store.", "required" : true, "schema" : { "type" : "string" } } ], "requestBody" : { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/BoardingTokenRequest" } } }, "required" : true }, "responses" : { "200" : { "description" : "OK - the request has succeeded.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/BoardingTokenResponse" } } } }, "400" : { "description" : "Bad Request - a problem reading or understanding the request.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/DefaultErrorResponseEntity" } } } }, "401" : { "description" : "Unauthorized - authentication required.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/DefaultErrorResponseEntity" } } } }, "403" : { "description" : "Forbidden - insufficient permissions to process the request.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/DefaultErrorResponseEntity" } } } }, "422" : { "description" : "Unprocessable Entity - a request validation error.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/DefaultErrorResponseEntity" } } } }, "500" : { "description" : "Internal Server Error - the server could not process the request.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/DefaultErrorResponseEntity" } } } } }, "x-methodName" : "generatePaymentsAppBoardingTokenForStore", "x-sortIndex" : 0 } }, "/merchants/{merchantId}/paymentsApps" : { "get" : { "tags" : [ "Payments App" ], "summary" : "Get a list of Payments Apps - merchant level", "description" : "Returns the list of Payments App instances for the merchant account identified in the path.\n\nTo make this request, your API credential must have the following [role](https://docs.adyen.com/development-resources/api-credentials#api-permissions):\n* Adyen Payments App role\n", "operationId" : "get-merchants-merchantId-paymentsApps", "parameters" : [ { "name" : "merchantId", "in" : "path", "description" : "The unique identifier of the merchant account.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "statuses", "in" : "query", "description" : "The status of the Payments App. Comma-separated list of one or more values. If no value is provided, the list returns all statuses. \n\nPossible values:\n\n* **BOARDING**\n\n * **BOARDED**\n\n * **REVOKED**", "schema" : { "type" : "string" } }, { "name" : "limit", "in" : "query", "description" : "The number of items to return.", "schema" : { "maximum" : 100, "type" : "integer", "format" : "int32", "default" : 10 } }, { "name" : "offset", "in" : "query", "description" : "The number of items to skip.", "schema" : { "type" : "integer", "format" : "int64", "default" : 0 } } ], "responses" : { "200" : { "description" : "OK - the request has succeeded.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/PaymentsAppResponse" } } } }, "400" : { "description" : "Bad Request - a problem reading or understanding the request.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/DefaultErrorResponseEntity" } } } }, "401" : { "description" : "Unauthorized - authentication required.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/DefaultErrorResponseEntity" } } } }, "403" : { "description" : "Forbidden - insufficient permissions to process the request.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/DefaultErrorResponseEntity" } } } }, "422" : { "description" : "Unprocessable Entity - a request validation error.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/DefaultErrorResponseEntity" } } } }, "500" : { "description" : "Internal Server Error - the server could not process the request.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/DefaultErrorResponseEntity" } } } } }, "x-methodName" : "listPaymentsAppForMerchant", "x-sortIndex" : 0 } }, "/merchants/{merchantId}/stores/{storeId}/paymentsApps" : { "get" : { "tags" : [ "Payments App" ], "summary" : "Get a list of Payments Apps - store level", "description" : "Returns the list of Payments App instances for the store identified in the path.\n\nTo make this request, your API credential must have the following [role](https://docs.adyen.com/development-resources/api-credentials#api-permissions):\n* Adyen Payments App role\n", "operationId" : "get-merchants-merchantId-stores-storeId-paymentsApps", "parameters" : [ { "name" : "merchantId", "in" : "path", "description" : "The unique identifier of the merchant account.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "storeId", "in" : "path", "description" : "The unique identifier of the store.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "statuses", "in" : "query", "description" : "The status of the Payments App. Comma-separated list of one or more values. If no value is provided, the list returns all statuses. \n\nPossible values:\n\n* **BOARDING**\n\n * **BOARDED**\n\n * **REVOKED**", "schema" : { "type" : "string" } }, { "name" : "limit", "in" : "query", "description" : "The number of items to return.", "schema" : { "maximum" : 100, "type" : "integer", "format" : "int32", "default" : 10 } }, { "name" : "offset", "in" : "query", "description" : "The number of items to skip.", "schema" : { "type" : "integer", "format" : "int64", "default" : 0 } } ], "responses" : { "200" : { "description" : "OK - the request has succeeded.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/PaymentsAppResponse" } } } }, "400" : { "description" : "Bad Request - a problem reading or understanding the request.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/DefaultErrorResponseEntity" } } } }, "401" : { "description" : "Unauthorized - authentication required.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/DefaultErrorResponseEntity" } } } }, "403" : { "description" : "Forbidden - insufficient permissions to process the request.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/DefaultErrorResponseEntity" } } } }, "422" : { "description" : "Unprocessable Entity - a request validation error.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/DefaultErrorResponseEntity" } } } }, "500" : { "description" : "Internal Server Error - the server could not process the request.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/DefaultErrorResponseEntity" } } } } }, "x-methodName" : "listPaymentsAppForStore", "x-sortIndex" : 0 } }, "/merchants/{merchantId}/paymentsApps/{installationId}/revoke" : { "post" : { "tags" : [ "Payments App" ], "summary" : "Revoke Payments App instance authentication", "description" : "Revokes the authentication of the Payments App instance for the `installationId` and merchant account identified in the path. This call revokes the authentication of the Payments App instance with the `installationId` identified in the path for both merchant accounts and stores.\n\nTo make this request, your API credential must have the following [role](https://docs.adyen.com/development-resources/api-credentials#api-permissions):\n* Adyen Payments App role\n", "operationId" : "post-merchants-merchantId-paymentsApps-installationId-revoke", "parameters" : [ { "name" : "merchantId", "in" : "path", "description" : "The unique identifier of the merchant account.", "required" : true, "schema" : { "type" : "string" } }, { "name" : "installationId", "in" : "path", "description" : "The unique identifier of the Payments App instance on a device.", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "description" : "OK - the request has succeeded.", "content" : { "application/json" : { } } }, "400" : { "description" : "Bad Request - a problem reading or understanding the request.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/DefaultErrorResponseEntity" } } } }, "401" : { "description" : "Unauthorized - authentication required.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/DefaultErrorResponseEntity" } } } }, "500" : { "description" : "Internal Server Error - the server could not process the request.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/DefaultErrorResponseEntity" } } } } }, "x-methodName" : "revokePaymentsApp", "x-sortIndex" : 0 } } }, "components" : { "schemas" : { "BoardingTokenResponse" : { "required" : [ "boardingToken", "installationId" ], "type" : "object", "properties" : { "boardingToken" : { "type" : "string", "description" : "The boarding token that allows the Payments App to board." }, "installationId" : { "type" : "string", "description" : "The unique identifier of the Payments App instance." } } }, "DefaultErrorResponseEntity" : { "type" : "object", "properties" : { "detail" : { "type" : "string", "description" : "A human-readable explanation specific to this occurrence of the problem." }, "errorCode" : { "type" : "string", "description" : "Unique business error code." }, "instance" : { "type" : "string", "description" : "A URI that identifies the specific occurrence of the problem if applicable." }, "invalidFields" : { "type" : "array", "description" : "Array of fields with validation errors when applicable.", "items" : { "$ref" : "#/components/schemas/InvalidField" } }, "requestId" : { "type" : "string", "description" : "The unique reference for the request." }, "status" : { "type" : "integer", "description" : "The HTTP status code.", "format" : "int32" }, "title" : { "type" : "string", "description" : "A short, human-readable summary of the problem type." }, "type" : { "type" : "string", "description" : "A URI that identifies the validation error type. It points to human-readable documentation for the problem type." } }, "description" : "Standardized error response following RFC-7807 format", "externalDocs" : { "url" : "https://www.rfc-editor.org/rfc/rfc7807" } }, "InvalidField" : { "required" : [ "message", "name", "value" ], "type" : "object", "properties" : { "name" : { "type" : "string", "description" : "The field that has an invalid value." }, "value" : { "type" : "string", "description" : "The invalid value." }, "message" : { "type" : "string", "description" : "Description of the validation error." } } }, "BoardingTokenRequest" : { "required" : [ "boardingRequestToken" ], "type" : "object", "properties" : { "boardingRequestToken" : { "type" : "string", "description" : "The boardingToken request token." } } }, "PaymentsAppDto" : { "required" : [ "installationId", "merchantAccountCode", "status" ], "type" : "object", "properties" : { "installationId" : { "type" : "string", "description" : "The unique identifier of the Payments App instance." }, "merchantAccountCode" : { "type" : "string", "description" : "The account code associated with the Payments App instance." }, "merchantStoreCode" : { "type" : "string", "description" : "The store code associated with the Payments App instance." }, "status" : { "type" : "string", "description" : "The status of the Payments App instance." } } }, "PaymentsAppResponse" : { "required" : [ "paymentsApps" ], "type" : "object", "properties" : { "paymentsApps" : { "type" : "array", "description" : "List of Payments Apps.", "items" : { "$ref" : "#/components/schemas/PaymentsAppDto" } } } } }, "securitySchemes" : { "ApiKeyAuth" : { "type" : "apiKey", "name" : "X-API-Key", "in" : "header" }, "BasicAuth" : { "type" : "http", "scheme" : "basic" } } }, "jsonSchemaDialect" : "https://spec.openapis.org/oas/3.1/dialect/base" }