Submit or resubmit a profile
The profile must be not yet submitted or resubmission_required; it is created if it does not exist. When the purpose requires an identity verification (virtual_account requires kyc), start that verification first (POST /customers/{customerId}/verifications, which also creates the profile) and submit after it is approved; prefilled values can be overridden in data. If the customer has no user at the provider yet and no email, contact_email is required (not needed for individuals who gave one when starting the kyc verification).
After submitting the status is under_review; the review outcome is sent with the customer_profile.status_changed webhook.
merchantApiKeymerchantTimestampmerchantNoncemerchantSignatureX-API-KEY<token>Merchant API key (starts with upk_, also accepts api-key); signing headers are also required
X-Timestamp<token>Unix timestamp in seconds, within 300 seconds of server time
X-Nonce<token>Unique per request; cannot be reused with the same credential during the timestamp validity window
X-Signature<token>Hex HMAC-SHA256 signature (either letter case) of the method, full path, timestamp, nonce and body digest
customerId*stringCustomer ID (starts with cus_)
purpose*stringProfile purpose: virtual_account (virtual bank accounts) or remittance (sender details)
"virtual_account""bank_account""remittance"application/json- body
contact_email?stringRequired when the customer has no email and no user at the provider yet; used to create the user at the provider
emaildata*Profile data according to the requirements
Profile
application/json- response
id*stringProfile ID (starts with cpf_)
customer_id*stringpurpose*CustomerProfilePurposeProfile purpose, which determines the reviewing provider. virtual_account is used for virtual bank accounts and some local payouts; remittance holds sender details for other local payouts (approved once UPP's checks pass). The purpose must be enabled for the merchant (on by default; UPP can turn it off per merchant); otherwise profile endpoints return 404
"virtual_account""bank_account""remittance"type*string"individual""organization"status*CustomerProfileStatusdraft not submitted, submitting / submit_uncertain being submitted, under_review in review, resubmission_required needs changes and resubmission, approved approved, rejected rejected (cannot be submitted again)
"draft""submitting""submit_uncertain""under_review""resubmission_required""approved""rejected"audit_remark*|Review notes when resubmission is required or the profile is rejected
submissions*integerNumber of submissions
approved_at*|date-timecreated_at*stringdate-timeupdated_at*stringdate-timecurl -X POST 'https://sandbox.getupp.net/api/v1/customers/string/profiles/virtual_account' \ -H 'Content-Type: application/json' \ -d '{ "data": {}}'{ "id": "string", "customer_id": "string", "purpose": "virtual_account", "type": "individual", "status": "draft", "audit_remark": "string", "submissions": 0, "approved_at": "2019-08-24T14:15:22Z", "created_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z"}