Files
adyen-openapi/json/PaymentsAppService-v1.json
Adyen Automation 07c5486049 spec release
2025-02-12 10:54:14 +01:00

641 lines
23 KiB
JSON

{
"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"
}