Update customer by ID
Update a customer’s metadata by their system-generated ID.
Most customer updates complete synchronously and return 200 with the updated customer. If the request changes email for a customer that has one or more tied Embedded Wallet internal accounts with EMAIL_OTP credentials, or changes phoneNumber for a customer that has one or more tied Embedded Wallet internal accounts with SMS_OTP credentials, the contact update uses the two-step signed-retry flow so the customer’s wallet session authorizes the authentication credential update. On the signed retry, Grid updates the customer contact field and every tied matching OTP credential across all tied Embedded Wallets as one logical operation. If any tied credential cannot be updated, the customer contact field is not changed.
Update email and phoneNumber in separate PATCH calls. A request that includes both fields is rejected.
For an Embedded Wallet email or SMS auth phone update:
-
Call
PATCH /customers/{customerId}with the full update body and no signature headers. Grid returns202withpayloadToSign,requestId, andexpiresAt. The pending challenge binds the submitted update fields and the set of tied Embedded Wallet OTP credentials that must be updated. -
Use the session API keypair of a verified authentication credential on one of the customer’s tied Embedded Wallets to build an API-key stamp over
payloadToSign, then retry the same request with that full stamp as theGrid-Wallet-Signatureheader and therequestIdechoed back as theRequest-Idheader. The retry body must carry the same update fields submitted in step 1. The signed retry returns200with the updated customer.
Authorizations
API token authentication using format <api token id>:<api client secret>
Headers
Full API-key stamp built over the prior payloadToSign with the session API keypair of a verified authentication credential on one of the customer's tied Embedded Wallets. Required on the signed retry for Embedded Wallet email or SMS auth phone updates; ignored on the initial call and on customer updates that complete synchronously.
The requestId returned in a prior 202 response, echoed back on the signed retry so the server can correlate it with the issued challenge. Required on the signed retry for Embedded Wallet email or SMS auth phone updates; must be paired with Grid-Wallet-Signature.
Path Parameters
System-generated unique customer identifier
Body
- Individual Customer Update Request
- Business Customer Update Request
Enhanced-due-diligence (EDD) fields available as optional patchable attributes on an individual customer. Referenced via allOf from IndividualCustomerFields, so these appear as top-level optional fields on the customer resource itself; there is no separate EDD resource. The specific set required for a given customer is driven by the KYC provider's per-jurisdiction / per-flow / per-volume-tier rules (surfaced through MISSING_FIELD errors on POST /verifications).
Whether the customer is an individual or a business entity
INDIVIDUAL "INDIVIDUAL"
Updated list of currency codes the customer will use (ISO 4217 for fiat, e.g. "USD", "EUR"; tickers for crypto, e.g. "BTC", "USDC"). Replaces the existing list. Some currency combinations may require separate customers — if so, the request will be rejected with details.
Email address for the customer. For customers with tied Embedded Wallet internal accounts, changing this value also updates every tied EMAIL_OTP credential across all tied Embedded Wallets.
"john.doe@example.com"
Phone number for the customer in strict E.164 format. For customers with tied Embedded Wallet internal accounts, changing this value also updates every tied SMS_OTP credential across all tied Embedded Wallets. Send phone number and email updates as separate PATCH calls.
^\+[1-9]\d{1,14}$"+14155551234"
Optional UMA address identifier. If provided, the customer's UMA address will be updated. This is an optional identifier to route payments to the customer.
"$john.doe@uma.domain.com"
The current KYC status of a customer. HOLD means the customer is placed on hold and may be required to update or provide more information.
UNVERIFIED, PENDING, APPROVED, REJECTED, HOLD "APPROVED"
Individual's full name
"John Michael Doe"
Date of birth in ISO 8601 format (YYYY-MM-DD)
"1990-01-15"
Country code (ISO 3166-1 alpha-2)
"US"
Type of tax identification
SSN, ITIN, EIN, NON_US_TAX_ID "SSN"
Tax-identification number. For US persons this is the SSN (format ###-##-####) or ITIN. For non-US persons this is the tax number issued by taxIdCountryOfIssuance.
"123-45-6789"
Country that issued the tax identifier (ISO 3166-1 alpha-2). Required when taxIdType is NON_US_TAX_ID.
"US"
Structured source-of-funds categories (FLOW of funds for this account).
A structured source-of-funds category for an individual customer (FLOW of funds into this account). Distinct from SourceOfFundsCategory, which covers business customers.
SALARY, SELF_EMPLOYMENT_INCOME, INVESTMENT_INCOME, PENSION, RENTAL_INCOME, GIFT, INHERITANCE, LOAN, SAVINGS, SALE_OF_ASSETS, OTHER Free-form description of the customer's source of funds. Required when sourceOfFundsCategories includes OTHER; otherwise omitted.
"Contest winnings"
Structured source-of-wealth categories (STOCK — origin of accumulated wealth).
Origin of the customer's accumulated wealth (STOCK). Distinct from SourceOfFundsCategory which describes the FLOW of funds for this specific account.
SALARY, BUSINESS_INCOME, INVESTMENTS, INHERITANCE, PROPERTY_SALE, GIFT, RETIREMENT, SAVINGS, OTHER Free-form description of the customer's source of wealth. Required when sourceOfWealthCategories includes OTHER; otherwise omitted.
"Royalty income from published works"
The intended purpose for using the Grid account
CONTRACTOR_PAYOUTS, CREATOR_PAYOUTS, EMPLOYEE_PAYOUTS, MARKETPLACE_SELLER_PAYOUTS, SUPPLIER_PAYMENTS, CROSS_BORDER_B2B, AR_AUTOMATION, AP_AUTOMATION, EMBEDDED_PAYMENTS, PLATFORM_FEE_COLLECTION, P2P_TRANSFERS, CHARITABLE_DONATIONS, OTHER "CONTRACTOR_PAYOUTS"
Free-form description of the customer's intended purpose for the Grid account. Required when purposeOfAccount is OTHER; otherwise omitted.
"Household budgeting between spouses"
Expected number of transactions per month
COUNT_UNDER_10, COUNT_10_TO_100, COUNT_100_TO_500, COUNT_500_TO_1000, COUNT_OVER_1000 "COUNT_100_TO_500"
Expected total transaction volume per month in USD equivalent
VOLUME_UNDER_10K, VOLUME_10K_TO_100K, VOLUME_100K_TO_1M, VOLUME_1M_TO_10M, VOLUME_OVER_10M "VOLUME_100K_TO_1M"
Bucketed annual income (USD equivalent). Used for enhanced due diligence on higher-risk profiles.
UNDER_50K, RANGE_50K_100K, RANGE_100K_250K, RANGE_250K_1M, OVER_1M "RANGE_100K_250K"
Bucketed total net worth (USD equivalent). Used for enhanced due diligence on higher-risk profiles.
UNDER_100K, RANGE_100K_500K, RANGE_500K_1M, RANGE_1M_5M, RANGE_5M_25M, OVER_25M "RANGE_500K_1M"
Political exposure declaration (Politically Exposed Person status). HIO = head of an international organization. FAMILY_OR_ASSOCIATE covers close family members and known close associates of a PEP.
NONE, DOMESTIC, FOREIGN, HIO, FAMILY_OR_ASSOCIATE "NONE"
Response
Customer updated successfully. For Embedded Wallet email or SMS auth phone updates, this is returned only on the signed retry after the customer contact field and all tied matching OTP credentials have been updated.
- Individual Customer
- Business Customer
Enhanced-due-diligence (EDD) fields available as optional patchable attributes on an individual customer. Referenced via allOf from IndividualCustomerFields, so these appear as top-level optional fields on the customer resource itself; there is no separate EDD resource. The specific set required for a given customer is driven by the KYC provider's per-jurisdiction / per-flow / per-volume-tier rules (surfaced through MISSING_FIELD errors on POST /verifications).
Platform-specific customer identifier
"9f84e0c2a72c4fa"
Whether the customer is an individual or a business entity
INDIVIDUAL "INDIVIDUAL"
Full UMA address (always present in responses, even if system-generated). This is an optional identifier to route payments to the customer.
"$john.doe@uma.domain.com"
System-generated unique identifier
"Customer:019542f5-b3e7-1d02-0000-000000000001"
Country code (ISO 3166-1 alpha-2) representing the customer's regional identity and regulatory jurisdiction.
"US"
List of currency codes enabled for this customer.
Email address for the customer.
"john.doe@example.com"
Phone number for the customer in strict E.164 format.
^\+[1-9]\d{1,14}$"+14155551234"
Creation timestamp
"2025-07-21T17:32:28Z"
Last update timestamp
"2025-07-21T17:32:28Z"
Whether the customer is marked as deleted
false
Email and phone verification state. Only present when the customer's payment provider requires it (e.g. EU customers); omitted otherwise.
The current KYC status of a customer. HOLD means the customer is placed on hold and may be required to update or provide more information.
UNVERIFIED, PENDING, APPROVED, REJECTED, HOLD "APPROVED"
Individual's full name
"John Michael Doe"
Date of birth in ISO 8601 format (YYYY-MM-DD)
"1990-01-15"
Country code (ISO 3166-1 alpha-2)
"US"
Type of tax identification
SSN, ITIN, EIN, NON_US_TAX_ID "SSN"
Tax-identification number. For US persons this is the SSN (format ###-##-####) or ITIN. For non-US persons this is the tax number issued by taxIdCountryOfIssuance.
"123-45-6789"
Country that issued the tax identifier (ISO 3166-1 alpha-2). Required when taxIdType is NON_US_TAX_ID.
"US"
Structured source-of-funds categories (FLOW of funds for this account).
A structured source-of-funds category for an individual customer (FLOW of funds into this account). Distinct from SourceOfFundsCategory, which covers business customers.
SALARY, SELF_EMPLOYMENT_INCOME, INVESTMENT_INCOME, PENSION, RENTAL_INCOME, GIFT, INHERITANCE, LOAN, SAVINGS, SALE_OF_ASSETS, OTHER Free-form description of the customer's source of funds. Required when sourceOfFundsCategories includes OTHER; otherwise omitted.
"Contest winnings"
Structured source-of-wealth categories (STOCK — origin of accumulated wealth).
Origin of the customer's accumulated wealth (STOCK). Distinct from SourceOfFundsCategory which describes the FLOW of funds for this specific account.
SALARY, BUSINESS_INCOME, INVESTMENTS, INHERITANCE, PROPERTY_SALE, GIFT, RETIREMENT, SAVINGS, OTHER Free-form description of the customer's source of wealth. Required when sourceOfWealthCategories includes OTHER; otherwise omitted.
"Royalty income from published works"
The intended purpose for using the Grid account
CONTRACTOR_PAYOUTS, CREATOR_PAYOUTS, EMPLOYEE_PAYOUTS, MARKETPLACE_SELLER_PAYOUTS, SUPPLIER_PAYMENTS, CROSS_BORDER_B2B, AR_AUTOMATION, AP_AUTOMATION, EMBEDDED_PAYMENTS, PLATFORM_FEE_COLLECTION, P2P_TRANSFERS, CHARITABLE_DONATIONS, OTHER "CONTRACTOR_PAYOUTS"
Free-form description of the customer's intended purpose for the Grid account. Required when purposeOfAccount is OTHER; otherwise omitted.
"Household budgeting between spouses"
Expected number of transactions per month
COUNT_UNDER_10, COUNT_10_TO_100, COUNT_100_TO_500, COUNT_500_TO_1000, COUNT_OVER_1000 "COUNT_100_TO_500"
Expected total transaction volume per month in USD equivalent
VOLUME_UNDER_10K, VOLUME_10K_TO_100K, VOLUME_100K_TO_1M, VOLUME_1M_TO_10M, VOLUME_OVER_10M "VOLUME_100K_TO_1M"
Bucketed annual income (USD equivalent). Used for enhanced due diligence on higher-risk profiles.
UNDER_50K, RANGE_50K_100K, RANGE_100K_250K, RANGE_250K_1M, OVER_1M "RANGE_100K_250K"
Bucketed total net worth (USD equivalent). Used for enhanced due diligence on higher-risk profiles.
UNDER_100K, RANGE_100K_500K, RANGE_500K_1M, RANGE_1M_5M, RANGE_5M_25M, OVER_25M "RANGE_500K_1M"
Political exposure declaration (Politically Exposed Person status). HIO = head of an international organization. FAMILY_OR_ASSOCIATE covers close family members and known close associates of a PEP.
NONE, DOMESTIC, FOREIGN, HIO, FAMILY_OR_ASSOCIATE "NONE"