UPP Docs
Compliance

Get profile requirements

GET
/customers/{customerId}/profiles/{purpose}/requirements

The fields an identity profile (individual KYC) of the given purpose needs, the identity verification usage that must be approved before submitting (identity_verification), and values prefilled from approved verifications. Each purpose is reviewed by a different provider and profiles are not shared between purposes. Fields use dotted paths for nesting (such as identity.first_name_en); presence.required_when means the field is required only when another field has a given value; file / file_list values are file IDs from POST /upload.

Authorization

merchantApiKeymerchantTimestampmerchantNoncemerchantSignature
headerX-API-KEY<token>

Merchant API key (starts with upk_, also accepts api-key); signing headers are also required

headerX-Timestamp<token>

Unix timestamp in seconds, within 300 seconds of server time

headerX-Nonce<token>

Unique per request; cannot be reused with the same credential during the timestamp validity window

headerX-Signature<token>

Hex HMAC-SHA256 signature (either letter case) of the method, full path, timestamp, nonce and body digest

Path Parameters

customerId*string

Customer ID (starts with cus_)

purpose*string

Profile purpose: virtual_account (virtual bank accounts) or remittance (sender details)

Value in"virtual_account""bank_account""remittance"

Response Body

Requirements and prefilled values

application/json
  1. response
requirements*
prefill*

Field values from the approved kyc verification, with the same paths as fields

identity_verification*|

Identity verification usage that must be approved before submitting (such as kyc); null when no separate verification is needed

identity_verified*boolean

Whether the required verification is approved (true when none is needed); must be true to submit

Example Request
curl -X GET 'https://sandbox.getupp.net/api/v1/customers/string/profiles/virtual_account/requirements'
Example Response
{  "requirements": {    "id": "string",    "version": "string",    "fingerprint": "string",    "fields": [      {        "path": "string",        "type": "string",        "label": "string",        "description": "string",        "nullable": true,        "presence": {},        "constraints": {},        "options": [          {            "value": "string",            "label": "string"          }        ],        "sensitive": true,        "default": null      }    ]  },  "prefill": {},  "identity_verification": "string",  "identity_verified": true}