spec release

This commit is contained in:
Adyen Automation
2023-04-18 14:41:31 +00:00
parent 4159588b6c
commit 351552cd7f
4 changed files with 1239 additions and 6 deletions

View File

@@ -10,7 +10,7 @@
"x-publicVersion" : true,
"title" : "Configuration webhooks",
"description" : "Adyen sends notifications through webhooks to inform your system about events that occur in your platform. These events include, for example, when an account holder's capabilities are updated, or when a sweep configuration is created or updated. \nWhen an event occurs, Adyen makes an HTTP POST request to a URL on your server and includes the details of the event in the request body.\n\nYou can use these webhooks to build your implementation. For example, you can use this information to update internal statuses when the status of a capability is changed.",
"x-timestamp" : "2023-03-30T18:22:05Z",
"x-timestamp" : "2023-04-18T11:25:58Z",
"termsOfService" : "https://www.adyen.com/legal/terms-and-conditions",
"contact" : {
"name" : "Adyen Developer Experience team",
@@ -21,7 +21,8 @@
"x-groups" : [
"Account holder",
"Balance account",
"Payment instrument"
"Payment instrument",
"Card order"
],
"tags" : [
],
@@ -377,6 +378,86 @@
}
}
},
"balancePlatform.cardorder.created" : {
"post" : {
"tags" : [
"Card order"
],
"summary" : "Card order created",
"description" : "Adyen sends this webhook to indicate a successful creation of a card order after you create a [payment instrument](https://docs.adyen.com/api-explorer/balanceplatform/latest/post/paymentInstruments) of `type` **card** and `formFactor` **physical**.",
"operationId" : "post-balancePlatform.cardorder.created",
"x-groupName" : "Card order",
"x-sortIndex" : 1,
"x-methodName" : "cardOrderCreated",
"security" : [
{
"ApiKeyAuth" : [
]
}
],
"requestBody" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/CardOrderNotificationRequest"
}
}
}
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/BalancePlatformNotificationResponse"
}
}
},
"description" : "OK - the request has succeeded."
}
}
}
},
"balancePlatform.cardorder.updated" : {
"post" : {
"tags" : [
"Card order"
],
"summary" : "Card order updated",
"description" : "Adyen sends this webhook when there is an update in card order status.",
"operationId" : "post-balancePlatform.cardorder.updated",
"x-groupName" : "Card order",
"x-sortIndex" : 2,
"x-methodName" : "cardOrderUpdated",
"security" : [
{
"ApiKeyAuth" : [
]
}
],
"requestBody" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/CardOrderNotificationRequest"
}
}
}
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/BalancePlatformNotificationResponse"
}
}
},
"description" : "OK - the request has succeeded."
}
}
}
},
"balancePlatform.paymentInstrument.created" : {
"post" : {
"tags" : [
@@ -1099,6 +1180,100 @@
],
"type" : "object"
},
"CardOrderItem" : {
"properties" : {
"balancePlatform" : {
"description" : "The unique identifier of the balance platform.",
"type" : "string"
},
"card" : {
"description" : "Card delivery status.",
"$ref" : "#/components/schemas/CardOrderItemDeliveryStatus"
},
"cardOrderItemReference" : {
"description" : "The unique identifier of the card order.",
"type" : "string"
},
"creationDate" : {
"description" : "The date and time when the event was triggered, in ISO 8601 extended format. For example, **2020-12-18T10:15:30+01:00**.",
"format" : "date-time",
"type" : "string"
},
"id" : {
"description" : "The ID of the resource.",
"type" : "string"
},
"paymentInstrumentReference" : {
"description" : "The unique identifier of the payment instrument related to the card order.",
"type" : "string"
},
"pin" : {
"description" : "PIN delivery status.",
"$ref" : "#/components/schemas/CardOrderItemDeliveryStatus"
},
"shippingMethod" : {
"description" : "Shipping method used to deliver the card or the PIN.",
"type" : "string"
}
},
"type" : "object"
},
"CardOrderItemDeliveryStatus" : {
"properties" : {
"status" : {
"description" : "Status of the delivery.",
"enum" : [
"created",
"delivered",
"processing",
"produced",
"rejected",
"shipped",
"unknown"
],
"type" : "string"
},
"statusError" : {
"description" : "Error status, if any.",
"type" : "string"
},
"statusErrorMessage" : {
"description" : "Error message, if any.",
"type" : "string"
},
"trackingNumber" : {
"description" : "Tracking number of the delivery.",
"type" : "string"
}
},
"type" : "object"
},
"CardOrderNotificationRequest" : {
"properties" : {
"data" : {
"description" : "Contains event details.",
"$ref" : "#/components/schemas/CardOrderItem"
},
"environment" : {
"description" : "The environment from which the webhook originated.\n\nPossible values: **test**, **live**.",
"type" : "string"
},
"type" : {
"description" : "Type of notification.",
"enum" : [
"balancePlatform.cardorder.created",
"balancePlatform.cardorder.updated"
],
"type" : "string"
}
},
"required" : [
"environment",
"type",
"data"
],
"type" : "object"
},
"Contact" : {
"properties" : {
"address" : {

View File

@@ -10,7 +10,7 @@
"x-publicVersion" : true,
"title" : "Configuration API",
"description" : "The Configuration API enables you to create a platform where you can onboard your users as account holders and create balance accounts, cards, and business accounts.\n\n## Authentication\nYour Adyen contact will provide your API credential and an API key. To connect to the API, add an `X-API-Key` header with the API key as the value, for example:\n\n ```\ncurl\n-H \"Content-Type: application/json\" \\\n-H \"X-API-Key: YOUR_API_KEY\" \\\n...\n```\n\nAlternatively, you can use the username and password to connect to the API using basic authentication. For example:\n\n```\ncurl\n-H \"Content-Type: application/json\" \\\n-U \"ws@BalancePlatform.YOUR_BALANCE_PLATFORM\":\"YOUR_WS_PASSWORD\" \\\n...\n```\n## Versioning\nThe Configuration API supports [versioning](https://docs.adyen.com/development-resources/versioning) using a version suffix in the endpoint URL. This suffix has the following format: \"vXX\", where XX is the version number.\n\nFor example:\n```\nhttps://balanceplatform-api-test.adyen.com/bcl/v2/accountHolders\n```\n## Going live\nWhen going live, your Adyen contact will provide your API credential for the live environment. You can then use the API key or the username and password to send requests to `https://balanceplatform-api-live.adyen.com/bcl/v2`.",
"x-timestamp" : "2023-04-03T11:30:38Z",
"x-timestamp" : "2023-04-17T12:23:49Z",
"termsOfService" : "https://www.adyen.com/legal/terms-and-conditions",
"contact" : {
"name" : "Adyen Developer Experience team",
@@ -25,12 +25,17 @@
"Payment instruments",
"Payment instrument groups",
"Transaction rules",
"Bank account validation"
"Bank account validation",
"Grant accounts",
"Grant offers"
],
"tags" : [
{
"name" : "Platform"
},
{
"name" : "Grant offers"
},
{
"name" : "Payment instrument groups"
},
@@ -40,6 +45,9 @@
{
"name" : "Payment instruments"
},
{
"name" : "Grant accounts"
},
{
"name" : "Bank account validation"
},
@@ -2101,6 +2109,372 @@
}
}
},
"/grantAccounts/{id}" : {
"get" : {
"tags" : [
"Grant accounts"
],
"summary" : "Get a grant account",
"description" : "Returns the details of the [grant account](https://docs.adyen.com/marketplaces-and-platforms/capital#grant-account).",
"x-addedInVersion" : "1",
"operationId" : "get-grantAccounts-id",
"x-groupName" : "Grant accounts",
"x-sortIndex" : 1,
"x-methodName" : "getGrantAccount",
"security" : [
{
"BasicAuth" : [
]
},
{
"ApiKeyAuth" : [
]
}
],
"parameters" : [
{
"description" : "The unique identifier of the grant account.",
"name" : "id",
"in" : "path",
"required" : true,
"schema" : {
"type" : "string"
}
}
],
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/CapitalGrantAccount"
}
}
},
"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."
}
}
}
},
"/grantOffers" : {
"get" : {
"tags" : [
"Grant offers"
],
"summary" : "Get all available grant offers",
"description" : "Returns a list of all [grant offers](https://docs.adyen.com/marketplaces-and-platforms/capital#grant-offers) available for `accountHolderId` specified as a query parameter.",
"x-addedInVersion" : "2",
"operationId" : "get-grantOffers",
"x-groupName" : "Grant offers",
"x-sortIndex" : 1,
"x-methodName" : "getAllAvailableGrantOffers",
"security" : [
{
"BasicAuth" : [
]
},
{
"ApiKeyAuth" : [
]
}
],
"parameters" : [
{
"description" : "The unique identifier of the grant account.",
"name" : "accountHolderId",
"in" : "query",
"required" : true,
"schema" : {
"type" : "string"
}
}
],
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/GrantOffers"
}
}
},
"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."
}
}
}
},
"/grantOffers/{grantOfferId}" : {
"get" : {
"tags" : [
"Grant offers"
],
"summary" : "Get a grant offer",
"description" : "Returns the details of a single grant offer.",
"x-addedInVersion" : "2",
"operationId" : "get-grantOffers-grantOfferId",
"x-groupName" : "Grant offers",
"x-sortIndex" : 1,
"x-methodName" : "getGrantOffer",
"security" : [
{
"BasicAuth" : [
]
},
{
"ApiKeyAuth" : [
]
}
],
"parameters" : [
{
"description" : "The unique identifier of the grant offer.",
"name" : "grantOfferId",
"in" : "path",
"required" : true,
"schema" : {
"type" : "string"
}
}
],
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/GrantOffer"
}
}
},
"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."
}
}
}
},
"/paymentInstrumentGroups" : {
"post" : {
"tags" : [
@@ -4651,6 +5025,63 @@
"CapabilityProblem" : {
"type" : "object"
},
"CapitalBalance" : {
"properties" : {
"currency" : {
"description" : "The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes).",
"type" : "string"
},
"fee" : {
"description" : "Fee amount.",
"format" : "int64",
"type" : "integer"
},
"principal" : {
"description" : "Principal amount.",
"format" : "int64",
"type" : "integer"
},
"total" : {
"description" : "Total amount. A sum of principal amount and fee amount.",
"format" : "int64",
"type" : "integer"
}
},
"required" : [
"principal",
"fee",
"total",
"currency"
],
"type" : "object"
},
"CapitalGrantAccount" : {
"properties" : {
"balances" : {
"description" : "The balances of the grant account.",
"items" : {
"$ref" : "#/components/schemas/CapitalBalance"
},
"type" : "array"
},
"fundingBalanceAccountId" : {
"description" : "The unique identifier of the balance account used to fund the grant.",
"type" : "string"
},
"id" : {
"description" : "The identifier of the grant account.",
"type" : "string"
},
"limits" : {
"description" : "The limits of the grant account.",
"items" : {
"$ref" : "#/components/schemas/GrantLimit"
},
"type" : "array"
}
},
"type" : "object"
},
"Card" : {
"properties" : {
"authentication" : {
@@ -5040,6 +5471,86 @@
},
"type" : "object"
},
"Fee" : {
"properties" : {
"amount" : {
"description" : "An object containing the fee amount.",
"$ref" : "#/components/schemas/Amount"
}
},
"required" : [
"amount"
],
"type" : "object"
},
"GrantLimit" : {
"properties" : {
"amount" : {
"description" : "The amount available on the grant account.",
"$ref" : "#/components/schemas/Amount"
}
},
"type" : "object"
},
"GrantOffer" : {
"properties" : {
"accountHolderId" : {
"description" : "The identifier of the account holder to which the grant is offered.",
"type" : "string"
},
"amount" : {
"description" : "The principal amount of the grant.",
"$ref" : "#/components/schemas/Amount"
},
"contractType" : {
"description" : "The contract type of the grant offer. Possible value: **cashAdvance**, **loan**.",
"enum" : [
"cashAdvance",
"loan"
],
"type" : "string"
},
"expiresAt" : {
"description" : "The end date of the grant offer validity period.",
"$ref" : "#/components/schemas/LocalDateTime"
},
"fee" : {
"description" : "Details of the fee configuration.",
"$ref" : "#/components/schemas/Fee"
},
"id" : {
"description" : "The unique identifier of the grant offer.",
"type" : "string"
},
"repayment" : {
"description" : "Details of the repayment configuration.",
"$ref" : "#/components/schemas/Repayment"
},
"startsAt" : {
"description" : "The starting date of the grant offer validity period.",
"$ref" : "#/components/schemas/LocalDateTime"
}
},
"required" : [
"accountHolderId"
],
"type" : "object"
},
"GrantOffers" : {
"properties" : {
"grantOffers" : {
"description" : "A list of available grant offers.",
"items" : {
"$ref" : "#/components/schemas/GrantOffer"
},
"type" : "array"
}
},
"required" : [
"grantOffers"
],
"type" : "object"
},
"HULocalAccountIdentification" : {
"additionalProperties" : false,
"properties" : {
@@ -5149,6 +5660,9 @@
},
"type" : "object"
},
"LocalDateTime" : {
"type" : "object"
},
"MatchingTransactionsRestriction" : {
"properties" : {
"operation" : {
@@ -5826,6 +6340,45 @@
],
"type" : "object"
},
"Repayment" : {
"properties" : {
"basisPoints" : {
"description" : "The repayment that is deducted daily from incoming net volume, in [basis points](https://www.investopedia.com/terms/b/basispoint.asp).",
"format" : "int32",
"type" : "integer"
},
"term" : {
"description" : "An object containing the details of the configuration for repayment term.",
"$ref" : "#/components/schemas/RepaymentTerm"
},
"threshold" : {
"description" : "An object containing the details of the 30-day repayment threshold.",
"$ref" : "#/components/schemas/ThresholdRepayment"
}
},
"required" : [
"basisPoints"
],
"type" : "object"
},
"RepaymentTerm" : {
"properties" : {
"estimatedDays" : {
"description" : "The estimated term for repaying the grant, in days.",
"format" : "int32",
"type" : "integer"
},
"maximumDays" : {
"description" : "The maximum term for repaying the grant, in days. Only applies when `contractType` is **loan**.",
"format" : "int32",
"type" : "integer"
}
},
"required" : [
"estimatedDays"
],
"type" : "object"
},
"RestServiceError" : {
"properties" : {
"detail" : {
@@ -6117,6 +6670,18 @@
},
"type" : "object"
},
"ThresholdRepayment" : {
"properties" : {
"amount" : {
"description" : "The amount to be repaid on a 30-day basis.",
"$ref" : "#/components/schemas/Amount"
}
},
"required" : [
"amount"
],
"type" : "object"
},
"TimeOfDay" : {
"properties" : {
"endTime" : {

View File

@@ -13,7 +13,7 @@ info:
\ body.\n\nYou can use these webhooks to build your implementation. For example,\
\ you can use this information to update internal statuses when the status of\
\ a capability is changed."
x-timestamp: '2023-03-30T18:22:05Z'
x-timestamp: '2023-04-18T11:25:58Z'
termsOfService: https://www.adyen.com/legal/terms-and-conditions
contact:
name: Adyen Developer Experience team
@@ -23,6 +23,7 @@ x-groups:
- Account holder
- Balance account
- Payment instrument
- Card order
tags: []
x-staticResponse: response.json
webhooks:
@@ -240,6 +241,57 @@ webhooks:
schema:
$ref: '#/components/schemas/BalancePlatformNotificationResponse'
description: OK - the request has succeeded.
balancePlatform.cardorder.created:
post:
tags:
- Card order
summary: Card order created
description: Adyen sends this webhook to indicate a successful creation of a
card order after you create a [payment instrument](https://docs.adyen.com/api-explorer/balanceplatform/latest/post/paymentInstruments)
of `type` **card** and `formFactor` **physical**.
operationId: post-balancePlatform.cardorder.created
x-groupName: Card order
x-sortIndex: 1
x-methodName: cardOrderCreated
security:
- ApiKeyAuth: []
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CardOrderNotificationRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/BalancePlatformNotificationResponse'
description: OK - the request has succeeded.
balancePlatform.cardorder.updated:
post:
tags:
- Card order
summary: Card order updated
description: Adyen sends this webhook when there is an update in card order
status.
operationId: post-balancePlatform.cardorder.updated
x-groupName: Card order
x-sortIndex: 2
x-methodName: cardOrderUpdated
security:
- ApiKeyAuth: []
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CardOrderNotificationRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/BalancePlatformNotificationResponse'
description: OK - the request has succeeded.
balancePlatform.paymentInstrument.created:
post:
tags:
@@ -975,6 +1027,81 @@ components:
required:
- configurationProfileId
type: object
CardOrderItem:
properties:
balancePlatform:
description: The unique identifier of the balance platform.
type: string
card:
description: Card delivery status.
$ref: '#/components/schemas/CardOrderItemDeliveryStatus'
cardOrderItemReference:
description: The unique identifier of the card order.
type: string
creationDate:
description: The date and time when the event was triggered, in ISO 8601
extended format. For example, **2020-12-18T10:15:30+01:00**.
format: date-time
type: string
id:
description: The ID of the resource.
type: string
paymentInstrumentReference:
description: The unique identifier of the payment instrument related to
the card order.
type: string
pin:
description: PIN delivery status.
$ref: '#/components/schemas/CardOrderItemDeliveryStatus'
shippingMethod:
description: Shipping method used to deliver the card or the PIN.
type: string
type: object
CardOrderItemDeliveryStatus:
properties:
status:
description: Status of the delivery.
enum:
- created
- delivered
- processing
- produced
- rejected
- shipped
- unknown
type: string
statusError:
description: Error status, if any.
type: string
statusErrorMessage:
description: Error message, if any.
type: string
trackingNumber:
description: Tracking number of the delivery.
type: string
type: object
CardOrderNotificationRequest:
properties:
data:
description: Contains event details.
$ref: '#/components/schemas/CardOrderItem'
environment:
description: 'The environment from which the webhook originated.
Possible values: **test**, **live**.'
type: string
type:
description: Type of notification.
enum:
- balancePlatform.cardorder.created
- balancePlatform.cardorder.updated
type: string
required:
- environment
- type
- data
type: object
Contact:
properties:
address:

View File

@@ -20,7 +20,7 @@ info:
```\n## Going live\nWhen going live, your Adyen contact will provide your API\
\ credential for the live environment. You can then use the API key or the username\
\ and password to send requests to `https://balanceplatform-api-live.adyen.com/bcl/v2`."
x-timestamp: '2023-04-03T11:30:38Z'
x-timestamp: '2023-04-17T12:23:49Z'
termsOfService: https://www.adyen.com/legal/terms-and-conditions
contact:
name: Adyen Developer Experience team
@@ -34,11 +34,15 @@ x-groups:
- Payment instrument groups
- Transaction rules
- Bank account validation
- Grant accounts
- Grant offers
tags:
- name: Platform
- name: Grant offers
- name: Payment instrument groups
- name: Account holders
- name: Payment instruments
- name: Grant accounts
- name: Bank account validation
- name: Balance accounts
- name: Transaction rules
@@ -1309,6 +1313,226 @@ paths:
schema:
$ref: '#/components/schemas/RestServiceError'
description: Internal Server Error - the server could not process the request.
/grantAccounts/{id}:
get:
tags:
- Grant accounts
summary: Get a grant account
description: Returns the details of the [grant account](https://docs.adyen.com/marketplaces-and-platforms/capital#grant-account).
x-addedInVersion: '1'
operationId: get-grantAccounts-id
x-groupName: Grant accounts
x-sortIndex: 1
x-methodName: getGrantAccount
security:
- BasicAuth: []
- ApiKeyAuth: []
parameters:
- description: The unique identifier of the grant account.
name: id
in: path
required: true
schema:
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CapitalGrantAccount'
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.
/grantOffers:
get:
tags:
- Grant offers
summary: Get all available grant offers
description: Returns a list of all [grant offers](https://docs.adyen.com/marketplaces-and-platforms/capital#grant-offers)
available for `accountHolderId` specified as a query parameter.
x-addedInVersion: '2'
operationId: get-grantOffers
x-groupName: Grant offers
x-sortIndex: 1
x-methodName: getAllAvailableGrantOffers
security:
- BasicAuth: []
- ApiKeyAuth: []
parameters:
- description: The unique identifier of the grant account.
name: accountHolderId
in: query
required: true
schema:
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/GrantOffers'
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.
/grantOffers/{grantOfferId}:
get:
tags:
- Grant offers
summary: Get a grant offer
description: Returns the details of a single grant offer.
x-addedInVersion: '2'
operationId: get-grantOffers-grantOfferId
x-groupName: Grant offers
x-sortIndex: 1
x-methodName: getGrantOffer
security:
- BasicAuth: []
- ApiKeyAuth: []
parameters:
- description: The unique identifier of the grant offer.
name: grantOfferId
in: path
required: true
schema:
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/GrantOffer'
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.
/paymentInstrumentGroups:
post:
tags:
@@ -3208,6 +3432,49 @@ components:
type: object
CapabilityProblem:
type: object
CapitalBalance:
properties:
currency:
description: The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes).
type: string
fee:
description: Fee amount.
format: int64
type: integer
principal:
description: Principal amount.
format: int64
type: integer
total:
description: Total amount. A sum of principal amount and fee amount.
format: int64
type: integer
required:
- principal
- fee
- total
- currency
type: object
CapitalGrantAccount:
properties:
balances:
description: The balances of the grant account.
items:
$ref: '#/components/schemas/CapitalBalance'
type: array
fundingBalanceAccountId:
description: The unique identifier of the balance account used to fund the
grant.
type: string
id:
description: The identifier of the grant account.
type: string
limits:
description: The limits of the grant account.
items:
$ref: '#/components/schemas/GrantLimit'
type: array
type: object
Card:
properties:
authentication:
@@ -3639,6 +3906,64 @@ components:
description: The year in which the card will expire.
type: string
type: object
Fee:
properties:
amount:
description: An object containing the fee amount.
$ref: '#/components/schemas/Amount'
required:
- amount
type: object
GrantLimit:
properties:
amount:
description: The amount available on the grant account.
$ref: '#/components/schemas/Amount'
type: object
GrantOffer:
properties:
accountHolderId:
description: The identifier of the account holder to which the grant is
offered.
type: string
amount:
description: The principal amount of the grant.
$ref: '#/components/schemas/Amount'
contractType:
description: 'The contract type of the grant offer. Possible value: **cashAdvance**,
**loan**.'
enum:
- cashAdvance
- loan
type: string
expiresAt:
description: The end date of the grant offer validity period.
$ref: '#/components/schemas/LocalDateTime'
fee:
description: Details of the fee configuration.
$ref: '#/components/schemas/Fee'
id:
description: The unique identifier of the grant offer.
type: string
repayment:
description: Details of the repayment configuration.
$ref: '#/components/schemas/Repayment'
startsAt:
description: The starting date of the grant offer validity period.
$ref: '#/components/schemas/LocalDateTime'
required:
- accountHolderId
type: object
GrantOffers:
properties:
grantOffers:
description: A list of available grant offers.
items:
$ref: '#/components/schemas/GrantOffer'
type: array
required:
- grantOffers
type: object
HULocalAccountIdentification:
additionalProperties: false
properties:
@@ -3730,6 +4055,8 @@ components:
type: string
type: array
type: object
LocalDateTime:
type: object
MatchingTransactionsRestriction:
properties:
operation:
@@ -4329,6 +4656,37 @@ components:
required:
- operation
type: object
Repayment:
properties:
basisPoints:
description: The repayment that is deducted daily from incoming net volume,
in [basis points](https://www.investopedia.com/terms/b/basispoint.asp).
format: int32
type: integer
term:
description: An object containing the details of the configuration for repayment
term.
$ref: '#/components/schemas/RepaymentTerm'
threshold:
description: An object containing the details of the 30-day repayment threshold.
$ref: '#/components/schemas/ThresholdRepayment'
required:
- basisPoints
type: object
RepaymentTerm:
properties:
estimatedDays:
description: The estimated term for repaying the grant, in days.
format: int32
type: integer
maximumDays:
description: The maximum term for repaying the grant, in days. Only applies
when `contractType` is **loan**.
format: int32
type: integer
required:
- estimatedDays
type: object
RestServiceError:
properties:
detail:
@@ -4660,6 +5018,14 @@ components:
- cron
type: string
type: object
ThresholdRepayment:
properties:
amount:
description: The amount to be repaid on a 30-day basis.
$ref: '#/components/schemas/Amount'
required:
- amount
type: object
TimeOfDay:
properties:
endTime: