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, the email change 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 email and every tied EMAIL_OTP credential across all tied Embedded Wallets as one logical operation. If any tied credential cannot be updated, the customer email is not changed.
For an Embedded Wallet email 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 email 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.
Documentation Index
Fetch the complete documentation index at: https://ramps-05-22-docs-annotate-cards-intro-snippet-triggers-mint.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
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 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 updates; must be paired with Grid-Wallet-Signature.
Path Parameters
System-generated unique customer identifier
Body
- Individual Customer Update Request
- Business Customer Update Request
Request body for PATCH /customers/{customerId}. When email changes for a customer with tied Embedded Wallet internal accounts, Grid updates the customer email and every tied EMAIL_OTP credential across all tied Embedded Wallets through the endpoint's signed-retry flow.
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.
["USD", "EUR", "USDC"]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"
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
UNVERIFIED, PENDING, APPROVED, REJECTED "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"
Response
Customer updated successfully. For Embedded Wallet email updates, this is returned only on the signed retry after the customer email and all tied email OTP credentials have been updated.
- Individual Customer
- Business Customer
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.
["USD", "USDC"]Email address for the customer.
"john.doe@example.com"
Creation timestamp
"2025-07-21T17:32:28Z"
Last update timestamp
"2025-07-21T17:32:28Z"
Whether the customer is marked as deleted
false
The current KYC status of a customer
UNVERIFIED, PENDING, APPROVED, REJECTED "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"