From e68b479b18b7a30e96f2458aa8d2ce868aa1d4e7 Mon Sep 17 00:00:00 2001 From: Adyen Automation Date: Fri, 14 Feb 2025 16:08:51 +0100 Subject: [PATCH] spec release --- ...ePlatformConfigurationNotification-v1.json | 2 +- ...ePlatformConfigurationNotification-v2.json | 114 ++++- json/BalancePlatformService-v2.json | 441 ++++++++++++++++-- ...ePlatformConfigurationNotification-v1.yaml | 14 +- ...ePlatformConfigurationNotification-v2.yaml | 96 +++- yaml/BalancePlatformService-v2.yaml | 352 ++++++++++++-- 6 files changed, 933 insertions(+), 86 deletions(-) diff --git a/json/BalancePlatformConfigurationNotification-v1.json b/json/BalancePlatformConfigurationNotification-v1.json index a1a864d..27bb11c 100644 --- a/json/BalancePlatformConfigurationNotification-v1.json +++ b/json/BalancePlatformConfigurationNotification-v1.json @@ -562,7 +562,7 @@ "type" : "string" }, "status" : { - "description" : "The status of the account holder.\n\nPossible values: \n\n * **Active**: The account holder is active. This is the default status when creating an account holder. \n\n * **Inactive (Deprecated)**: The account holder is temporarily inactive due to missing KYC details. You can set the account back to active by providing the missing KYC details. \n\n * **Suspended**: The account holder is permanently deactivated by Adyen. This action cannot be undone. \n\n* **Closed**: The account holder is permanently deactivated by you. This action cannot be undone.", + "description" : "The status of the account holder.\n\nPossible values: \n\n * **active**: The account holder is active and allowed to use its capabilities. This is the initial status for account holders and balance accounts. You can change this status to **suspended** or **closed**. \n\n * **suspended**: The account holder is temporarily disabled and payouts are blocked. You can change this status to **active** or **closed**. \n\n* **closed**: The account holder and all of its capabilities are permanently disabled. This is a final status and cannot be changed.", "enum" : [ "Active", "Closed", diff --git a/json/BalancePlatformConfigurationNotification-v2.json b/json/BalancePlatformConfigurationNotification-v2.json index 456ffcf..d2c4867 100644 --- a/json/BalancePlatformConfigurationNotification-v2.json +++ b/json/BalancePlatformConfigurationNotification-v2.json @@ -359,6 +359,14 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "balancePlatform-cardorder-created-processing" : { + "$ref" : "#/components/examples/post-balancePlatform.cardorder.created-balancePlatform-cardorder-created-processing" + }, + "balancePlatform-cardorder-created-rejected" : { + "$ref" : "#/components/examples/post-balancePlatform.cardorder.created-balancePlatform-cardorder-created-rejected" + } + }, "schema" : { "$ref" : "#/components/schemas/CardOrderNotificationRequest" } @@ -398,6 +406,17 @@ "requestBody" : { "content" : { "application/json" : { + "examples" : { + "balancePlatform-cardorder-updated-produced" : { + "$ref" : "#/components/examples/post-balancePlatform.cardorder.updated-balancePlatform-cardorder-updated-produced" + }, + "balancePlatform-cardorder-updated-shipped-card" : { + "$ref" : "#/components/examples/post-balancePlatform.cardorder.updated-balancePlatform-cardorder-updated-shipped-card" + }, + "balancePlatform-cardorder-updated-shipped-pin" : { + "$ref" : "#/components/examples/post-balancePlatform.cardorder.updated-balancePlatform-cardorder-updated-shipped-pin" + } + }, "schema" : { "$ref" : "#/components/schemas/CardOrderNotificationRequest" } @@ -562,7 +581,7 @@ "type" : "string" }, "status" : { - "description" : "The status of the account holder.\n\nPossible values: \n\n * **active**: The account holder is active. This is the default status when creating an account holder. \n\n * **suspended**: The account holder is permanently deactivated by Adyen. This action cannot be undone. \n\n* **closed**: The account holder is permanently deactivated by you. This action cannot be undone.", + "description" : "The status of the account holder.\n\nPossible values: \n\n * **active**: The account holder is active and allowed to use its capabilities. This is the initial status for account holders and balance accounts. You can change this status to **suspended** or **closed**. \n\n * **suspended**: The account holder is temporarily disabled and payouts are blocked. You can change this status to **active** or **closed**. \n\n* **closed**: The account holder and all of its capabilities are permanently disabled. This is a final status and cannot be changed.", "enum" : [ "active", "closed", @@ -2908,6 +2927,99 @@ "type" : "balancePlatform.balanceAccountSweep.updated" } }, + "post-balancePlatform.cardorder.created-balancePlatform-cardorder-created-processing" : { + "summary" : "Order for physical card with a PIN was successful", + "description" : "Example webhook for when a user successfully orders a physical card with a PIN", + "value" : { + "data" : { + "card" : { + "status" : "processing" + }, + "cardOrderItemId" : "OI00000000000000000000001", + "paymentInstrumentId" : "PI00000000000000000000001", + "pin" : { + "status" : "processing" + }, + "shippingMethod" : "dhlInternationalExpressBulk" + }, + "environment" : "test", + "type" : "balancePlatform.cardorder.created" + } + }, + "post-balancePlatform.cardorder.created-balancePlatform-cardorder-created-rejected" : { + "summary" : "Order for physical card with a PIN was rejected", + "description" : "Example webhook for when a user orders a physical card with a PIN, but it is rejected", + "value" : { + "data" : { + "card" : { + "errorMessage" : "Unknown value in the image field", + "status" : "rejected" + }, + "cardOrderItemId" : "OI00000000000000000000001", + "paymentInstrumentId" : "PI00000000000000000000001", + "pin" : { + "errorMessage" : "Unknown value in the image field", + "status" : "rejected" + }, + "shippingMethod" : "dhlInternationalExpressBulk" + }, + "environment" : "test", + "type" : "balancePlatform.cardorder.created" + } + }, + "post-balancePlatform.cardorder.updated-balancePlatform-cardorder-updated-produced" : { + "summary" : "Physical card with a PIN was produced", + "description" : "Example webhook for when a physical card with a PIN has been produced", + "value" : { + "data" : { + "card" : { + "status" : "produced" + }, + "cardOrderItemId" : "OI00000000000000000000001", + "paymentInstrumentId" : "PI00000000000000000000001", + "pin" : { + "status" : "produced" + }, + "shippingMethod" : "dhlInternationalExpressBulk" + }, + "environment" : "test", + "type" : "balancePlatform.cardorder.updated" + } + }, + "post-balancePlatform.cardorder.updated-balancePlatform-cardorder-updated-shipped-card" : { + "summary" : "Physical card was shipped", + "description" : "Example webhook for when a physical card has been shipped", + "value" : { + "data" : { + "card" : { + "status" : "shipped", + "trackingNumber" : "12345ABCDEF" + }, + "cardOrderItemId" : "OI00000000000000000000001", + "paymentInstrumentId" : "PI00000000000000000000001", + "shippingMethod" : "laposteLettreVert" + }, + "environment" : "test", + "type" : "balancePlatform.cardorder.updated" + } + }, + "post-balancePlatform.cardorder.updated-balancePlatform-cardorder-updated-shipped-pin" : { + "summary" : "PIN for physical card was shipped", + "description" : "Example webhook for when the PIN for a physical card has been shipped", + "value" : { + "data" : { + "cardOrderItemId" : "OI00000000000000000000001", + "paymentInstrumentId" : "PI00000000000000000000001", + "pin" : { + "status" : "shipped", + "trackingNumber" : "9876543210" + }, + "shippingMethod" : "dhlInternationalExpressLetter" + }, + "environment" : "test", + "type" : "balancePlatform.cardorder.updated" + } + }, "post-balancePlatform.paymentInstrument.created-balancePlatform-paymentInstrument-created" : { "summary" : "Card created", "description" : "Example webhook when a card was created", diff --git a/json/BalancePlatformService-v2.json b/json/BalancePlatformService-v2.json index 353fcba..1f12ab3 100644 --- a/json/BalancePlatformService-v2.json +++ b/json/BalancePlatformService-v2.json @@ -3095,6 +3095,9 @@ ], "summary" : "Get a grant account", "description" : "Returns the details of the [grant account](https://docs.adyen.com/platforms/capital#grant-account).", + "deprecated" : true, + "x-deprecatedInVersion" : "2", + "x-deprecatedMessage" : "Use the `/grantAccounts/{id}` endpoint from the [Capital API](https://docs.adyen.com/api-explorer/capital/latest/get/grantAccounts/(id)) instead.", "x-addedInVersion" : "1", "operationId" : "get-grantAccounts-id", "x-sortIndex" : 1, @@ -3220,6 +3223,9 @@ ], "summary" : "Get all available grant offers", "description" : "Returns a list of all [grant offers](https://docs.adyen.com/platforms/capital#grant-offers) available for `accountHolderId` specified as a query parameter.", + "deprecated" : true, + "x-deprecatedInVersion" : "2", + "x-deprecatedMessage" : "Use the `/grantOffers` endpoint from the [Capital API](https://docs.adyen.com/api-explorer/capital/latest/get/grantOffers) instead.", "x-addedInVersion" : "2", "operationId" : "get-grantOffers", "x-sortIndex" : 1, @@ -3345,6 +3351,9 @@ ], "summary" : "Get a grant offer", "description" : "Returns the details of a single grant offer.", + "deprecated" : true, + "x-deprecatedInVersion" : "2", + "x-deprecatedMessage" : "Use the `/grantOffers/{id}` endpoint from the [Capital API](https://docs.adyen.com/api-explorer/capital/latest/get/grantOffers/(id)) instead.", "x-addedInVersion" : "2", "operationId" : "get-grantOffers-grantOfferId", "x-sortIndex" : 1, @@ -5657,6 +5666,272 @@ } } }, + "/registeredDevices/{deviceId}/associations" : { + "patch" : { + "tags" : [ + "Manage SCA devices" + ], + "summary" : "Complete an association between an SCA device and a resource", + "description" : "Completes an association between a user's registered SCA device and an Adyen resource. For example, you can associate an SCA device with additional [business accounts](https://docs.adyen.com/platforms/business-accounts/sca/register-devices) or [Adyen-issued cards](https://docs.adyen.com/issuing/3d-secure/oob-auth-sdk/register-devices).\n\nTo complete the association, this endpoint validates the authentication data of the registered device.", + "x-addedInVersion" : "2", + "operationId" : "patch-registeredDevices-deviceId-associations", + "x-sortIndex" : 5, + "x-methodName" : "completeAssociationBetweenScaDeviceAndResource", + "security" : [ + { + "clientKey" : [ + ] + }, + { + "BasicAuth" : [ + ] + }, + { + "ApiKeyAuth" : [ + ] + } + ], + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/AssociationFinaliseRequest" + } + } + } + }, + "parameters" : [ + { + "description" : "The unique identifier of the SCA device that you are associating with a resource.", + "name" : "deviceId", + "in" : "path", + "required" : true, + "schema" : { + "type" : "string" + } + } + ], + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/AssociationFinaliseResponse" + } + } + }, + "description" : "OK - the request has succeeded." + }, + "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/RestServiceError" + } + } + }, + "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/RestServiceError" + } + } + }, + "description" : "Unauthorized - authentication required." + }, + "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/RestServiceError" + } + } + }, + "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/RestServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/RestServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." + } + } + }, + "post" : { + "tags" : [ + "Manage SCA devices" + ], + "summary" : "Initiate an association between an SCA device and a resource", + "description" : "Initiates an association between a user's registered SCA device and an Adyen resource. For example, you can associate an SCA device with additional [business accounts](https://docs.adyen.com/platforms/business-accounts/sca/register-devices) or [Adyen-issued cards](https://docs.adyen.com/issuing/3d-secure/oob-auth-sdk/register-devices).", + "x-addedInVersion" : "2", + "operationId" : "post-registeredDevices-deviceId-associations", + "x-sortIndex" : 4, + "x-methodName" : "initiateAssociationBetweenScaDeviceAndResource", + "security" : [ + { + "clientKey" : [ + ] + }, + { + "BasicAuth" : [ + ] + }, + { + "ApiKeyAuth" : [ + ] + } + ], + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/AssociationInitiateRequest" + } + } + } + }, + "parameters" : [ + { + "description" : "The unique identifier of the SCA device that you are associating with a resource.", + "name" : "deviceId", + "in" : "path", + "required" : true, + "schema" : { + "type" : "string" + } + } + ], + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/AssociationInitiateResponse" + } + } + }, + "description" : "OK - the request has succeeded." + }, + "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/RestServiceError" + } + } + }, + "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/RestServiceError" + } + } + }, + "description" : "Unauthorized - authentication required." + }, + "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/RestServiceError" + } + } + }, + "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/RestServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/RestServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." + } + } + } + }, "/registeredDevices/{id}" : { "delete" : { "tags" : [ @@ -6789,7 +7064,7 @@ "type" : "string" }, "status" : { - "description" : "The status of the account holder.\n\nPossible values: \n\n * **active**: The account holder is active. This is the default status when creating an account holder. \n\n * **suspended**: The account holder is permanently deactivated by Adyen. This action cannot be undone. \n\n* **closed**: The account holder is permanently deactivated by you. This action cannot be undone.", + "description" : "The status of the account holder.\n\nPossible values: \n\n * **active**: The account holder is active and allowed to use its capabilities. This is the initial status for account holders and balance accounts. You can change this status to **suspended** or **closed**. \n\n * **suspended**: The account holder is temporarily disabled and payouts are blocked. You can change this status to **active** or **closed**. \n\n* **closed**: The account holder and all of its capabilities are permanently disabled. This is a final status and cannot be changed.", "enum" : [ "active", "closed", @@ -6994,7 +7269,7 @@ "type" : "string" }, "status" : { - "description" : "The status of the account holder.\n\nPossible values: \n\n * **active**: The account holder is active. This is the default status when creating an account holder. \n\n * **suspended**: The account holder is permanently deactivated by Adyen. This action cannot be undone. \n\n* **closed**: The account holder is permanently deactivated by you. This action cannot be undone.", + "description" : "The status of the account holder.\n\nPossible values: \n\n * **active**: The account holder is active and allowed to use its capabilities. This is the initial status for account holders and balance accounts. You can change this status to **suspended** or **closed**. \n\n * **suspended**: The account holder is temporarily disabled and payouts are blocked. You can change this status to **active** or **closed**. \n\n* **closed**: The account holder and all of its capabilities are permanently disabled. This is a final status and cannot be changed.", "enum" : [ "active", "closed", @@ -7257,6 +7532,113 @@ ], "type" : "object" }, + "AssociationDelegatedAuthenticationData" : { + "additionalProperties" : false, + "properties" : { + "sdkOutput" : { + "description" : "A base64-encoded block with the data required to authenticate the request. You obtain this information by using our authentication SDK.", + "maxLength" : 20000, + "type" : "string" + } + }, + "required" : [ + "sdkOutput" + ], + "type" : "object" + }, + "AssociationFinaliseRequest" : { + "additionalProperties" : false, + "properties" : { + "ids" : { + "description" : "The list of unique identifiers of the resources that you are associating with the SCA device.\n\nMaximum: 5 strings.", + "items" : { + "type" : "string" + }, + "maxLength" : 5, + "type" : "array" + }, + "strongCustomerAuthentication" : { + "description" : "Contains authentication information required to associate the resource with the SCA device.", + "$ref" : "#/components/schemas/AssociationDelegatedAuthenticationData" + }, + "type" : { + "description" : "The type of resource that you are associating with the SCA device.\n\nPossible value: **PaymentInstrument**", + "enum" : [ + "PaymentInstrument" + ], + "type" : "string" + } + }, + "required" : [ + "type", + "ids", + "strongCustomerAuthentication" + ], + "type" : "object" + }, + "AssociationFinaliseResponse" : { + "additionalProperties" : false, + "properties" : { + "deviceId" : { + "description" : "The unique identifier of the SCA device you associated with a resource.", + "type" : "string" + }, + "ids" : { + "description" : "The list of unique identifiers of the resources that you associated with the SCA device.", + "items" : { + "type" : "string" + }, + "type" : "array" + }, + "type" : { + "description" : "The type of resource that you associated with the SCA device.", + "enum" : [ + "PAYMENT_INSTRUMENT" + ], + "type" : "string" + } + }, + "required" : [ + "type" + ], + "type" : "object" + }, + "AssociationInitiateRequest" : { + "additionalProperties" : false, + "properties" : { + "ids" : { + "description" : "The list of unique identifiers of the resources that you are associating with the SCA device.\n\nMaximum: 5 strings.", + "items" : { + "type" : "string" + }, + "maxLength" : 5, + "type" : "array" + }, + "type" : { + "description" : "The type of resource that you are associating with the SCA device.\n\nPossible value: **PaymentInstrument**", + "enum" : [ + "PaymentInstrument" + ], + "type" : "string" + } + }, + "required" : [ + "type", + "ids" + ], + "type" : "object" + }, + "AssociationInitiateResponse" : { + "additionalProperties" : false, + "properties" : { + "sdkInput" : { + "description" : "A string that you must pass to the authentication SDK to continue with the association process.", + "maxLength" : 20000, + "type" : "string" + } + }, + "type" : "object" + }, "Authentication" : { "additionalProperties" : false, "properties" : { @@ -9595,7 +9977,7 @@ "type" : "string" }, "type" : { - "description" : "The type of wallet the network token is associated with. For example, **applePay**.", + "description" : "The type of network token. For example, **wallet**, **cof**.", "type" : "string" } }, @@ -10291,32 +10673,6 @@ }, "type" : "object" }, - "PriorityRestriction" : { - "additionalProperties" : false, - "properties" : { - "operation" : { - "description" : "Defines how the condition must be evaluated.", - "type" : "string" - }, - "value" : { - "items" : { - "enum" : [ - "crossBorder", - "fast", - "instant", - "intraBank", - "regular" - ], - "type" : "string" - }, - "type" : "array" - } - }, - "required" : [ - "operation" - ], - "type" : "object" - }, "ProcessingTypesRestriction" : { "additionalProperties" : false, "properties" : { @@ -10978,6 +11334,25 @@ ], "type" : "object" }, + "TokenRequestorsRestriction" : { + "additionalProperties" : false, + "properties" : { + "operation" : { + "description" : "Defines how the condition must be evaluated.", + "type" : "string" + }, + "value" : { + "items" : { + "type" : "string" + }, + "type" : "array" + } + }, + "required" : [ + "operation" + ], + "type" : "object" + }, "TotalAmountRestriction" : { "additionalProperties" : false, "properties" : { @@ -11333,10 +11708,6 @@ "description" : "List of merchant ID and acquirer ID pairs, and the operation.\n\nSupported operations: **anyMatch**, **noneMatch**.", "$ref" : "#/components/schemas/MerchantsRestriction" }, - "priority" : { - "description" : "List of priorities that will be compared to the bank transfer priority according to the type.\n\nPossible values: **intraBank**, **instant**, **fast**, **regular**, **crossBorder**.Supported operations: **anyMatch**, **noneMatch**.", - "$ref" : "#/components/schemas/PriorityRestriction" - }, "processingTypes" : { "description" : "List of processing types and the operation.\n\nSupported operations: **anyMatch**, **noneMatch**.", "$ref" : "#/components/schemas/ProcessingTypesRestriction" @@ -11361,6 +11732,10 @@ "description" : "A start and end time in a time-only ISO-8601 extended offset format. Supported operations: **equals**, **notEquals**.", "$ref" : "#/components/schemas/TimeOfDayRestriction" }, + "tokenRequestors" : { + "description" : "List of token requestor IDs and the operation.\n\nSupported operations: **anyMatch**, **noneMatch**.", + "$ref" : "#/components/schemas/TokenRequestorsRestriction" + }, "totalAmount" : { "description" : "The total amount and the operation.\n\nSupported operations: **equals**, **notEquals**, **greaterThanOrEqualTo**, **greaterThan**, **lessThanOrEqualTo**, **lessThan**.", "$ref" : "#/components/schemas/TotalAmountRestriction" diff --git a/yaml/BalancePlatformConfigurationNotification-v1.yaml b/yaml/BalancePlatformConfigurationNotification-v1.yaml index a512267..9d9cdfb 100644 --- a/yaml/BalancePlatformConfigurationNotification-v1.yaml +++ b/yaml/BalancePlatformConfigurationNotification-v1.yaml @@ -377,13 +377,13 @@ components: type: string status: description: "The status of the account holder.\n\nPossible values: \n\n\ - \ * **Active**: The account holder is active. This is the default status\ - \ when creating an account holder. \n\n * **Inactive (Deprecated)**: The\ - \ account holder is temporarily inactive due to missing KYC details. You\ - \ can set the account back to active by providing the missing KYC details.\ - \ \n\n * **Suspended**: The account holder is permanently deactivated\ - \ by Adyen. This action cannot be undone. \n\n* **Closed**: The account\ - \ holder is permanently deactivated by you. This action cannot be undone." + \ * **active**: The account holder is active and allowed to use its capabilities.\ + \ This is the initial status for account holders and balance accounts.\ + \ You can change this status to **suspended** or **closed**. \n\n * **suspended**:\ + \ The account holder is temporarily disabled and payouts are blocked.\ + \ You can change this status to **active** or **closed**. \n\n* **closed**:\ + \ The account holder and all of its capabilities are permanently disabled.\ + \ This is a final status and cannot be changed." enum: - Active - Closed diff --git a/yaml/BalancePlatformConfigurationNotification-v2.yaml b/yaml/BalancePlatformConfigurationNotification-v2.yaml index 9d5a05a..411c16b 100644 --- a/yaml/BalancePlatformConfigurationNotification-v2.yaml +++ b/yaml/BalancePlatformConfigurationNotification-v2.yaml @@ -226,6 +226,11 @@ webhooks: requestBody: content: application/json: + examples: + balancePlatform-cardorder-created-processing: + $ref: '#/components/examples/post-balancePlatform.cardorder.created-balancePlatform-cardorder-created-processing' + balancePlatform-cardorder-created-rejected: + $ref: '#/components/examples/post-balancePlatform.cardorder.created-balancePlatform-cardorder-created-rejected' schema: $ref: '#/components/schemas/CardOrderNotificationRequest' responses: @@ -250,6 +255,13 @@ webhooks: requestBody: content: application/json: + examples: + balancePlatform-cardorder-updated-produced: + $ref: '#/components/examples/post-balancePlatform.cardorder.updated-balancePlatform-cardorder-updated-produced' + balancePlatform-cardorder-updated-shipped-card: + $ref: '#/components/examples/post-balancePlatform.cardorder.updated-balancePlatform-cardorder-updated-shipped-card' + balancePlatform-cardorder-updated-shipped-pin: + $ref: '#/components/examples/post-balancePlatform.cardorder.updated-balancePlatform-cardorder-updated-shipped-pin' schema: $ref: '#/components/schemas/CardOrderNotificationRequest' responses: @@ -377,11 +389,13 @@ components: type: string status: description: "The status of the account holder.\n\nPossible values: \n\n\ - \ * **active**: The account holder is active. This is the default status\ - \ when creating an account holder. \n\n * **suspended**: The account holder\ - \ is permanently deactivated by Adyen. This action cannot be undone. \n\ - \n* **closed**: The account holder is permanently deactivated by you.\ - \ This action cannot be undone." + \ * **active**: The account holder is active and allowed to use its capabilities.\ + \ This is the initial status for account holders and balance accounts.\ + \ You can change this status to **suspended** or **closed**. \n\n * **suspended**:\ + \ The account holder is temporarily disabled and payouts are blocked.\ + \ You can change this status to **active** or **closed**. \n\n* **closed**:\ + \ The account holder and all of its capabilities are permanently disabled.\ + \ This is a final status and cannot be changed." enum: - active - closed @@ -2585,6 +2599,78 @@ components: environment: test timestamp: '2024-12-15T15:42:03+01:00' type: balancePlatform.balanceAccountSweep.updated + post-balancePlatform.cardorder.created-balancePlatform-cardorder-created-processing: + summary: Order for physical card with a PIN was successful + description: Example webhook for when a user successfully orders a physical + card with a PIN + value: + data: + card: + status: processing + cardOrderItemId: OI00000000000000000000001 + paymentInstrumentId: PI00000000000000000000001 + pin: + status: processing + shippingMethod: dhlInternationalExpressBulk + environment: test + type: balancePlatform.cardorder.created + post-balancePlatform.cardorder.created-balancePlatform-cardorder-created-rejected: + summary: Order for physical card with a PIN was rejected + description: Example webhook for when a user orders a physical card with a PIN, + but it is rejected + value: + data: + card: + errorMessage: Unknown value in the image field + status: rejected + cardOrderItemId: OI00000000000000000000001 + paymentInstrumentId: PI00000000000000000000001 + pin: + errorMessage: Unknown value in the image field + status: rejected + shippingMethod: dhlInternationalExpressBulk + environment: test + type: balancePlatform.cardorder.created + post-balancePlatform.cardorder.updated-balancePlatform-cardorder-updated-produced: + summary: Physical card with a PIN was produced + description: Example webhook for when a physical card with a PIN has been produced + value: + data: + card: + status: produced + cardOrderItemId: OI00000000000000000000001 + paymentInstrumentId: PI00000000000000000000001 + pin: + status: produced + shippingMethod: dhlInternationalExpressBulk + environment: test + type: balancePlatform.cardorder.updated + post-balancePlatform.cardorder.updated-balancePlatform-cardorder-updated-shipped-card: + summary: Physical card was shipped + description: Example webhook for when a physical card has been shipped + value: + data: + card: + status: shipped + trackingNumber: 12345ABCDEF + cardOrderItemId: OI00000000000000000000001 + paymentInstrumentId: PI00000000000000000000001 + shippingMethod: laposteLettreVert + environment: test + type: balancePlatform.cardorder.updated + post-balancePlatform.cardorder.updated-balancePlatform-cardorder-updated-shipped-pin: + summary: PIN for physical card was shipped + description: Example webhook for when the PIN for a physical card has been shipped + value: + data: + cardOrderItemId: OI00000000000000000000001 + paymentInstrumentId: PI00000000000000000000001 + pin: + status: shipped + trackingNumber: '9876543210' + shippingMethod: dhlInternationalExpressLetter + environment: test + type: balancePlatform.cardorder.updated post-balancePlatform.paymentInstrument.created-balancePlatform-paymentInstrument-created: summary: Card created description: Example webhook when a card was created diff --git a/yaml/BalancePlatformService-v2.yaml b/yaml/BalancePlatformService-v2.yaml index d1db66a..0444b8d 100644 --- a/yaml/BalancePlatformService-v2.yaml +++ b/yaml/BalancePlatformService-v2.yaml @@ -1900,6 +1900,11 @@ paths: - Grant accounts summary: Get a grant account description: Returns the details of the [grant account](https://docs.adyen.com/platforms/capital#grant-account). + deprecated: true + x-deprecatedInVersion: '2' + x-deprecatedMessage: Use the `/grantAccounts/{id}` endpoint from the [Capital + API](https://docs.adyen.com/api-explorer/capital/latest/get/grantAccounts/(id)) + instead. x-addedInVersion: '1' operationId: get-grantAccounts-id x-sortIndex: 1 @@ -1974,6 +1979,10 @@ paths: summary: Get all available grant offers description: Returns a list of all [grant offers](https://docs.adyen.com/platforms/capital#grant-offers) available for `accountHolderId` specified as a query parameter. + deprecated: true + x-deprecatedInVersion: '2' + x-deprecatedMessage: Use the `/grantOffers` endpoint from the [Capital API](https://docs.adyen.com/api-explorer/capital/latest/get/grantOffers) + instead. x-addedInVersion: '2' operationId: get-grantOffers x-sortIndex: 1 @@ -2047,6 +2056,11 @@ paths: - Grant offers summary: Get a grant offer description: Returns the details of a single grant offer. + deprecated: true + x-deprecatedInVersion: '2' + x-deprecatedMessage: Use the `/grantOffers/{id}` endpoint from the [Capital + API](https://docs.adyen.com/api-explorer/capital/latest/get/grantOffers/(id)) + instead. x-addedInVersion: '2' operationId: get-grantOffers-grantOfferId x-sortIndex: 1 @@ -3470,6 +3484,173 @@ paths: schema: $ref: '#/components/schemas/RestServiceError' description: Internal Server Error - the server could not process the request. + /registeredDevices/{deviceId}/associations: + patch: + tags: + - Manage SCA devices + summary: Complete an association between an SCA device and a resource + description: 'Completes an association between a user''s registered SCA device + and an Adyen resource. For example, you can associate an SCA device with additional + [business accounts](https://docs.adyen.com/platforms/business-accounts/sca/register-devices) + or [Adyen-issued cards](https://docs.adyen.com/issuing/3d-secure/oob-auth-sdk/register-devices). + + + To complete the association, this endpoint validates the authentication data + of the registered device.' + x-addedInVersion: '2' + operationId: patch-registeredDevices-deviceId-associations + x-sortIndex: 5 + x-methodName: completeAssociationBetweenScaDeviceAndResource + security: + - clientKey: [] + - BasicAuth: [] + - ApiKeyAuth: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AssociationFinaliseRequest' + parameters: + - description: The unique identifier of the SCA device that you are associating + with a resource. + name: deviceId + in: path + required: true + schema: + type: string + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/AssociationFinaliseResponse' + description: OK - the request has succeeded. + '400': + content: + application/json: + examples: + generic: + $ref: '#/components/examples/generic-400' + schema: + $ref: '#/components/schemas/RestServiceError' + 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/RestServiceError' + description: Unauthorized - authentication required. + '403': + content: + application/json: + examples: + generic: + $ref: '#/components/examples/generic-403' + schema: + $ref: '#/components/schemas/RestServiceError' + description: Forbidden - insufficient permissions to process the request. + '422': + content: + application/json: + examples: + generic: + $ref: '#/components/examples/generic-422' + schema: + $ref: '#/components/schemas/RestServiceError' + description: Unprocessable Entity - a request validation error. + '500': + content: + application/json: + examples: + generic: + $ref: '#/components/examples/generic-500' + schema: + $ref: '#/components/schemas/RestServiceError' + description: Internal Server Error - the server could not process the request. + post: + tags: + - Manage SCA devices + summary: Initiate an association between an SCA device and a resource + description: Initiates an association between a user's registered SCA device + and an Adyen resource. For example, you can associate an SCA device with additional + [business accounts](https://docs.adyen.com/platforms/business-accounts/sca/register-devices) + or [Adyen-issued cards](https://docs.adyen.com/issuing/3d-secure/oob-auth-sdk/register-devices). + x-addedInVersion: '2' + operationId: post-registeredDevices-deviceId-associations + x-sortIndex: 4 + x-methodName: initiateAssociationBetweenScaDeviceAndResource + security: + - clientKey: [] + - BasicAuth: [] + - ApiKeyAuth: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AssociationInitiateRequest' + parameters: + - description: The unique identifier of the SCA device that you are associating + with a resource. + name: deviceId + in: path + required: true + schema: + type: string + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/AssociationInitiateResponse' + description: OK - the request has succeeded. + '400': + content: + application/json: + examples: + generic: + $ref: '#/components/examples/generic-400' + schema: + $ref: '#/components/schemas/RestServiceError' + 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/RestServiceError' + description: Unauthorized - authentication required. + '403': + content: + application/json: + examples: + generic: + $ref: '#/components/examples/generic-403' + schema: + $ref: '#/components/schemas/RestServiceError' + description: Forbidden - insufficient permissions to process the request. + '422': + content: + application/json: + examples: + generic: + $ref: '#/components/examples/generic-422' + schema: + $ref: '#/components/schemas/RestServiceError' + description: Unprocessable Entity - a request validation error. + '500': + content: + application/json: + examples: + generic: + $ref: '#/components/examples/generic-500' + schema: + $ref: '#/components/schemas/RestServiceError' + description: Internal Server Error - the server could not process the request. /registeredDevices/{id}: delete: tags: @@ -4194,11 +4375,13 @@ components: type: string status: description: "The status of the account holder.\n\nPossible values: \n\n\ - \ * **active**: The account holder is active. This is the default status\ - \ when creating an account holder. \n\n * **suspended**: The account holder\ - \ is permanently deactivated by Adyen. This action cannot be undone. \n\ - \n* **closed**: The account holder is permanently deactivated by you.\ - \ This action cannot be undone." + \ * **active**: The account holder is active and allowed to use its capabilities.\ + \ This is the initial status for account holders and balance accounts.\ + \ You can change this status to **suspended** or **closed**. \n\n * **suspended**:\ + \ The account holder is temporarily disabled and payouts are blocked.\ + \ You can change this status to **active** or **closed**. \n\n* **closed**:\ + \ The account holder and all of its capabilities are permanently disabled.\ + \ This is a final status and cannot be changed." enum: - active - closed @@ -4428,11 +4611,13 @@ components: type: string status: description: "The status of the account holder.\n\nPossible values: \n\n\ - \ * **active**: The account holder is active. This is the default status\ - \ when creating an account holder. \n\n * **suspended**: The account holder\ - \ is permanently deactivated by Adyen. This action cannot be undone. \n\ - \n* **closed**: The account holder is permanently deactivated by you.\ - \ This action cannot be undone." + \ * **active**: The account holder is active and allowed to use its capabilities.\ + \ This is the initial status for account holders and balance accounts.\ + \ You can change this status to **suspended** or **closed**. \n\n * **suspended**:\ + \ The account holder is temporarily disabled and payouts are blocked.\ + \ You can change this status to **active** or **closed**. \n\n* **closed**:\ + \ The account holder and all of its capabilities are permanently disabled.\ + \ This is a final status and cannot be changed." enum: - active - closed @@ -4685,6 +4870,104 @@ components: required: - type type: object + AssociationDelegatedAuthenticationData: + additionalProperties: false + properties: + sdkOutput: + description: A base64-encoded block with the data required to authenticate + the request. You obtain this information by using our authentication SDK. + maxLength: 20000 + type: string + required: + - sdkOutput + type: object + AssociationFinaliseRequest: + additionalProperties: false + properties: + ids: + description: 'The list of unique identifiers of the resources that you are + associating with the SCA device. + + + Maximum: 5 strings.' + items: + type: string + maxLength: 5 + type: array + strongCustomerAuthentication: + description: Contains authentication information required to associate the + resource with the SCA device. + $ref: '#/components/schemas/AssociationDelegatedAuthenticationData' + type: + description: 'The type of resource that you are associating with the SCA + device. + + + Possible value: **PaymentInstrument**' + enum: + - PaymentInstrument + type: string + required: + - type + - ids + - strongCustomerAuthentication + type: object + AssociationFinaliseResponse: + additionalProperties: false + properties: + deviceId: + description: The unique identifier of the SCA device you associated with + a resource. + type: string + ids: + description: The list of unique identifiers of the resources that you associated + with the SCA device. + items: + type: string + type: array + type: + description: The type of resource that you associated with the SCA device. + enum: + - PAYMENT_INSTRUMENT + type: string + required: + - type + type: object + AssociationInitiateRequest: + additionalProperties: false + properties: + ids: + description: 'The list of unique identifiers of the resources that you are + associating with the SCA device. + + + Maximum: 5 strings.' + items: + type: string + maxLength: 5 + type: array + type: + description: 'The type of resource that you are associating with the SCA + device. + + + Possible value: **PaymentInstrument**' + enum: + - PaymentInstrument + type: string + required: + - type + - ids + type: object + AssociationInitiateResponse: + additionalProperties: false + properties: + sdkInput: + description: A string that you must pass to the authentication SDK to continue + with the association process. + maxLength: 20000 + type: string + type: object Authentication: additionalProperties: false properties: @@ -6810,8 +7093,7 @@ components: description: The last four digits of the network token `id`. type: string type: - description: The type of wallet the network token is associated with. For - example, **applePay**. + description: The type of network token. For example, **wallet**, **cof**. type: string type: object NumberAndBicAccountIdentification: @@ -7463,25 +7745,6 @@ components: format: int32 type: integer type: object - PriorityRestriction: - additionalProperties: false - properties: - operation: - description: Defines how the condition must be evaluated. - type: string - value: - items: - enum: - - crossBorder - - fast - - instant - - intraBank - - regular - type: string - type: array - required: - - operation - type: object ProcessingTypesRestriction: additionalProperties: false properties: @@ -8144,6 +8407,19 @@ components: required: - operation type: object + TokenRequestorsRestriction: + additionalProperties: false + properties: + operation: + description: Defines how the condition must be evaluated. + type: string + value: + items: + type: string + type: array + required: + - operation + type: object TotalAmountRestriction: additionalProperties: false properties: @@ -8650,14 +8926,6 @@ components: Supported operations: **anyMatch**, **noneMatch**.' $ref: '#/components/schemas/MerchantsRestriction' - priority: - description: 'List of priorities that will be compared to the bank transfer - priority according to the type. - - - Possible values: **intraBank**, **instant**, **fast**, **regular**, **crossBorder**.Supported - operations: **anyMatch**, **noneMatch**.' - $ref: '#/components/schemas/PriorityRestriction' processingTypes: description: 'List of processing types and the operation. @@ -8731,6 +8999,12 @@ components: description: 'A start and end time in a time-only ISO-8601 extended offset format. Supported operations: **equals**, **notEquals**.' $ref: '#/components/schemas/TimeOfDayRestriction' + tokenRequestors: + description: 'List of token requestor IDs and the operation. + + + Supported operations: **anyMatch**, **noneMatch**.' + $ref: '#/components/schemas/TokenRequestorsRestriction' totalAmount: description: 'The total amount and the operation.