Customer Types
The Grid API supports both individual and business customers. While the API schema itself makes most Personally Identifiable Information (PII) optional at the initial customer creation, specific fields may become mandatory based on the currencies the customer will transact with. Your platform’s configuration (retrieved viaGET /config
) includes a supportedCurrencies
array. If a customer is intended to use a specific currency, any fields listed in for that currency must be provided when creating or updating the customer.
Customer Registration Process
Creating a New Customer
When creating or updating customers, thecustomerType
field must be specified as either INDIVIDUAL
or BUSINESS
. Depending if you are a regulated or unregulated platform your KYC/KYB requirements will vary.
Regulated Platforms
Regulated Platforms
Regulated platforms have lighter KYC requirements since they handle compliance verification internally.
- Direct API Onboarding: Create customers directly via API calls with minimal verification
- Internal KYC/KYB: Handle identity verification through your own compliance systems
- Reduced Documentation: Only provide essential customer information required by your payment counterparty or service provider.
- Faster Onboarding: Streamlined process for known, verified customers
Creating Customers via Direct API
For regulated platforms, you can create customers directly through the API without requiring external KYC verification:To register a new customer in the system, use thePOST /customers
endpoint:bankAccountInfo
is always required:- Individual customer
- Business Customer
Unregulated Platforms
Unregulated Platforms
Unregulated platforms require full KYC/KYB verification of customers through hosted flows.
- Hosted KYC Flow: Use the hosted KYC link for complete identity verification
- Extended Review: Customers may require manual review and approval in some cases
Hosted KYC Link Flow
The hosted KYC flow provides a secure, hosted interface where customers can complete their identity verification and onboarding process.Generate KYC Link
Complete KYC Process
1
Generate KYC Link
Call the
/customers/kyc-link
endpoint with your redirectUri
parameter to generate a hosted KYC URL for your customer.The
redirectUri
parameter is embedded in the generated KYC URL and will be used to automatically redirect the customer back to your application after they complete verification.2
Redirect Customer
Redirect your customer to the returned
kycUrl
where they can complete their identity verification in the hosted interface.The KYC link is single-use and expires after a limited time period for security.
3
Customer Completes Verification
The customer completes the identity verification process in the hosted KYC interface, providing required documents and information.
The hosted interface handles document collection, verification checks, and compliance requirements automatically.
After verification processing, you’ll receive a KYC status webhook notification indicating the final verification result.
4
Automatic Redirect
Upon successful KYC completion, the customer is automatically redirected to your specified
redirectUri
URL.The customer account will be automatically created by the system upon successful KYC completion. You can identify the new customer using your
platformCustomerId
or other identifiers.5
Handle Completion
On your redirect page, handle the completed KYC flow and integrate the new customer into your application.
Customer Management
Retrieving Customer Information
You can retrieve customer information using either the Grid-assigned customer ID or your platform’s customer ID:Updating Customer Information
To update customer information:Bank Account Information
The API supports various bank account formats based on country and funding type. There are two types of funding mechanisms supported by Grid: an omnibus FBO (for benefit of) account owned by the platform, or direct customer-owned accounts. You must provide the correct format based on the customer’s region and bank account type.Optional Platform Account ID
All bank account types support an optionalplatformAccountId
field that allows you to link bank accounts to your internal systems. This field can be any string that helps identify the account in your platform (e.g., database IDs, custom references, etc.).
Example with platform account ID:
platformAccountId
:
- Tracking multiple bank accounts and uma addresses for the same customer
- Linking accounts to internal accounting systems
- Maintaining consistency between the Grid API and your platform’s account records
- Facilitating account reconciliation and reporting
FBO Accounts
FBO Accounts
FBO accounts are used when the platform has a single omnibus account that is used to fund all customers. Account details
must be provided manually at the platform level. For each customer, during you should simply provide:
Please contact us to set up FBO account for a specific currency.
Mexico: CLABE
Mexico: CLABE
United States: ACH (Account and Routing Number)
United States: ACH (Account and Routing Number)
Brazil PIX
Brazil PIX
CPF
, CNPJ
, PHONE
, EMAIL
, or RANDOM
.India: UPI (Unified Payments Interface)
India: UPI (Unified Payments Interface)
International: IBAN
International: IBAN
Data Validation
The Grid API performs validation on all customer data. Common validation rules include:- All required fields must be present based on customer type
- Date of birth must be in YYYY-MM-DD format and represent a valid date
- Names must not contain special characters or excessive spaces
- Bank account information must follow country-specific formats
- Addresses must include all required fields including country code
Best Practices
- Identity Verification: Choose a proper KYC/KYB identity verification flow as detailed in the Quickstart Guide
- Data Security: Store and transmit customer data securely, following data protection regulations
- Regular Updates: Keep customer information up to date, especially banking details
- Error Handling: Implement proper error handling to manage validation failures gracefully
- Idempotent Operations: Use your platformCustomerId consistently to avoid duplicate customer creation
Bulk Customer Import Operations
For scenarios where you need to add many customers to the system at once, the API provides a CSV file upload endpoint.CSV File Upload
For large-scale customer imports, you can upload a CSV file containing customer information:CSV Upload Best Practices
- Use a spreadsheet application to prepare your CSV file
- Validate data before upload (e.g., date formats, required fields)
- Include a header row with column names
- Use UTF-8 encoding for special characters
- Keep file size under 100MB for optimal processing
- Webhook notifications (if configured)
- Status polling endpoint:
Best Practices for Bulk Operations
- Use platform customer IDs to track individual customers in the bulk operation
- Implement proper error handling for partial successes
- Consider breaking very large datasets into multiple smaller jobs
- Use webhooks for real-time status updates on asynchronous jobs
- For CSV uploads, validate your data before submission
CSV Format
The CSV file should have the following columns: Required columns for all customers:- platformCustomerId: Your platform’s unique identifier for the customer
- customerType: Either “INDIVIDUAL” or “BUSINESS”
- fullName: Individual’s full name
- birthDate: Date of birth in YYYY-MM-DD format
- addressLine1: Street address line 1
- city: City
- state: State/Province/Region
- postalCode: Postal/ZIP code
- country: Country code (ISO 3166-1 alpha-2)
- accountType: Bank account type (CLABE, US_ACCOUNT, PIX, IBAN, UPI)
- accountNumber: Bank account number
- bankName: Name of the bank
- businessLegalName: Legal name of the business
- addressLine1: Street address line 1
- city: City
- state: State/Province/Region
- postalCode: Postal/ZIP code
- country: Country code (ISO 3166-1 alpha-2)
- accountType: Bank account type (CLABE, US_ACCOUNT, PIX, IBAN, UPI)
- accountNumber: Bank account number
- bankName: Name of the bank
- addressLine2: Street address line 2
- platformAccountId: Your platform’s identifier for the bank account
- description: Optional description for the customer
- email: Customer’s email address
- businessRegistrationNumber: Business registration number
- businessTaxId: Tax identification number
- routingNumber: ACH routing number (9 digits)
- accountCategory: Either “CHECKING” or “SAVINGS”
- clabeNumber: 18-digit CLABE number
- pixKey: PIX key value
- pixKeyType: Type of PIX key (CPF, CNPJ, EMAIL, PHONE, RANDOM)
- vpa: Virtual Payment Address for UPI payments
- iban: International Bank Account Number
- swiftBic: SWIFT/BIC code (8 or 11 characters)