Capability Requests

Create capability request

Creates a capability request for one product_code on the account the credentials belong to — an account_id in the body is ignored for merchant keys. Only one open request per product code is allowed; an account_update is rejected only when it touches a field or document an open request already changes.

The account must be activated first: payment-method, tax-document and account-update requests are rejected with 400 until it is. Check a payment method with GET /v1/requests/eligibility/{product_code} before submitting.

kyb_data depends on product_code — pick its shape and an example from the request body below. Attach documents by sending multipart/form-data: the JSON body in a part named payload, plus one files_<purpose> part per document. Without documents, send plain application/json.

The request is created submitted. An account update that changes only business_size and/or business_age is approved on the spot and comes back completed; a request whose business website is on PayMongo's prohibited list comes back declined.

Per-product rules, the documents each business type needs, document purposes, upload limits and the request lifecycle are in the Capability requests API guide.

post/v1/requests

Request

  • Base URL
    https://api.paymongo.com
  • URL
    https://api.paymongo.com/v1/requests
  • Auth
    • HTTP basic
    • or HTTP bearer

Headers

Account-IDstring

Organization ID of a child account to act on behalf of. Requires an enabled linked-transactions relationship in which the authenticated parent FULLY MANAGES that child, and a grant covering this route. Merchant (Basic) auth only.

Request body

account_idstring

AccountID is the account the request belongs to. On create, a merchant key is locked to its own account and any value sent here is ignored; service-to-service callers have no bound account and must supply it.

product_code'prd_svc_paymongo_card_visa_mastercard' | 'prd_svc_paymongo_ewallet_gcash' | 'prd_svc_paymongo_ewallet_grabpay' | 'prd_svc_paymongo_ewallet_maya' | 'prd_svc_paymongo_ewallet_shopeepay' | 'prd_svc_paymongo_tax_document' | 'prd_svc_paymongo_account_update' required

ProductCode is what is being asked for, and it drives every behaviour: the expected kyb_data shape, the verification rule, the status the request is created in, what approval writes and which emails go out.

request_type'account_update' | 'onboarding' required

account_update for prd_svc_paymongo_account_update, onboarding for every other product.

requester_idstring required

RequesterID identifies who initiated the request. Caller-supplied. Required, but not validated for shape and not used for authorization.

Example request

{
  "account_id": "acct_01hzy8n3k2b5xq9m4p7r6t8w1v",
  "kyb_data": {
    "business_trade_name": "Acme Home",
    "change_reason": "Rebranding"
  },
  "product_code": "prd_svc_paymongo_ewallet_gcash",
  "request_type": "onboarding",
  "requester_id": "org_01hzy8n3k2b5xq9m4p7r6t8w1v"
}

Response

OK

has_moreboolean

Example response

{
  "data": {
    "account_id": "acct_01hzy8n3k2b5xq9m4p7r6t8w1v",
    "id": "req_01hzy8n3k2b5xq9m4p7r6t8w1v",
    "product_code": "prd_svc_paymongo_ewallet_gcash",
    "request_type": "onboarding"
  }
}

Changes

No recorded changes to this operation across all 1 revision of this API.