Create an Agreement
Grant a merchant's authorization for one or more business scenarios (such as collection or payout) to the calling platform partner. This endpoint is idempotent by business semantics (accountId + authBusinessScenarios) — repeating the same authorization combination has no side effects, so no requestId is required. Platform partners: Your authentication credentials (your API Key, or the Client-Id header for RSA signature integrations) also identify the authorized platform partner (partnerId).
Request Parameters
accountIdstring
required
WF account ID of the authorizing merchant (the party granting authorization). Fixed length of 16 characters.
authBusinessScenariosarray
required
Business scenario codes to authorize. Provide one element per product; at least one element is required. See AuthBusinessScenario.
Response Parameters
resultResult
See Result.
agreementsarray
Authorization agreement details, one entry per requested scenario, aligned with authBusinessScenarios. Returned when resultStatus is S.
Error Codes
Definition
POST /api/open/v1/agreements/createRequest
{
"accountId": "2188000000000123",
"authBusinessScenarios": [
"AUTH_CHARGE",
"AUTH_PAYOUT"
]
}Response
{
"result": {
"resultCode": "SUCCESS",
"resultMessage": "success",
"resultStatus": "S"
},
"agreements": [
{
"id": "agr_20260808000001",
"accountId": "2188000000000123",
"accountName": "Example Trading Ltd.",
"authBusinessScenario": "AUTH_CHARGE",
"status": "VALID",
"createdAt": "2026-08-08T13:08:56Z",
"expiresAt": "2027-08-08T13:08:56Z"
},
{
"id": "agr_20260808000002",
"accountId": "2188000000000123",
"accountName": "Example Trading Ltd.",
"authBusinessScenario": "AUTH_PAYOUT",
"status": "VALID",
"createdAt": "2026-08-08T13:08:56Z",
"expiresAt": "2027-08-08T13:08:56Z"
}
]
}