What is a Business?
A Business in the GrailPay ACH API represents a business entity who can send or receive ACH transfers. Each business is uniquely identified by auuid
associated with the user, which is returned upon successful onboarding and is required for
future operations such as linking bank accounts and initiating transfers.
Onboarding a business is a core part of working with the GrailPay ACH API. This guide outlines the business onboarding
workflow and provides context for common use cases. For complete request and response schemas, refer to
the OpenAPI documentation.
A business is a specialized type of person in the GrailPay ACH API. While the onboarding process is similar to
that of a person, it includes additional fields and requirements. If you are transferring funds on behalf of a
business entity, it must be onboarded using the business registration flow to meet compliance and regulatory
obligations.
Testing
When testing in GrailPay’s sandbox environment, you can create a business as usual. To include a bank account, simply use any random 12-digit account number along with one of our supported test routing numbers. For more details, refer to the Technical Overview guide.Step 1: Collect Business Information
To create a business we need to collect information about the point of contact and the information about the business itself, you can provide any combination of the following fields: Point of Contact Information:- First name ( point of contact for the business )
- Last name ( point of contact for the business )
- Phone
- Name ( legal name of the business )
- Address ( business address )
While only a bank account is required to create a business, we strongly recommend supplying full information to
ensure a smooth onboarding experience and help meet regulatory and compliance standards.
Step 2: Link to a Merchant for Billing Attribution
If you want to associate billable events with a merchant, include the billing_merchant_user_uuid in your request payload. This value should reference a user tied to a KYB-verified merchant. You will receive this UUID when you onboard the merchant using the Onboard a Merchant endpoint. Field:billing_merchant_user_uuid
— UUID of the merchant user that should receive billing attribution.
This enables GrailPay to accurately report on merchant usage and ensures billing traceability across your organization.
While adding a billing user uuid is not required, we strongly recommend supplying this information to ensure
accurate tracking of usage for your internal billing purposes.
Step 3: Provide a Bank Account
You can onboard a person with or without a connected bank account. If you choose to provide one, we support two methods:Option A: Link a Plaid Account
If you’re using Plaid for bank account linking, include the following fields:bank_account.plaid.access_token
bank_account.plaid.account_id
Option B: Manual Entry
You can also onboard a person using manually provided account details:account_number
routing_number
account_name
account_type
(checking
orsavings
)
Real-Time Validation (Recommended)
To reduce risk and ensure funds can be properly routed, enable real-time validation by including:Validation Outcomes
Whenvalidate_account_routing
is used, the response includes a valid_account
field with one of the following values:
Value | Meaning |
---|---|
valid | Account is valid. Person was successfully created. |
invalid | Account is invalid. Person was not created. (HTTP 406) |
not_validated | Could not validate. Person was created, but account status is unknown. |
Step 4: Review the Response
Upon success, you’ll receive a response containing:- The
uuid
of the person related to the business. This uuid is required for future operations such as linking bank accounts and initiating transfers. - Echoed values such as name and address
- Status of the onboarding
valid_account
field (if validation was enabled)