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.
Show child parametersShow child parameters
Error Codes
resultCoderesultStatusresultMessageTroubleshooting
SUCCESSSsuccessN/A
PARAM_ILLEGALFParameter validation failed.Ensure `accountId` is exactly 16 characters and `authBusinessScenarios` contains at least one valid scenario.
AUTH_AGREEMENT_PRODUCT_NOT_SUPPORTFThe authorization agreement product is not supported.One or more values in `authBusinessScenarios` are not supported for this merchant. Verify the requested products and retry.
PROCESS_FAILFA general business failure occurred. Do not retry.Verify the merchant is eligible for the requested authorization, then contact support if the issue persists.
Definition
POST /api/open/v1/agreements/create
Request
{
"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"
  }
]
}