Overview

In the GrailPay ACH API, a user can take the form of a Person, Business, or Merchant. These entities work together to represent the full lifecycle of participants in your ACH flow — from individuals initiating transactions, to businesses receiving funds, to merchants operating within a platform. Each user record is uniquely identified by a UUID, and many of these endpoints return rich data models, including associated relationships such as bank accounts, linked entities, and KYB status (where applicable). When deleting a user (such as a person), the record is logically deleted — meaning it is hidden from the API but retained in the system for compliance and auditing purposes. Use this guide to query and manage the users in your platform efficiently.

People

In the GrailPay ACH API, a Person represents an individual user within your platform. A person may be directly involved in sending or receiving funds, or they may be linked to a Business or Merchant entity as part of an onboarding or transaction workflow. This flexible structure allows you to model a wide range of real-world scenarios—from independent users to employees or representatives acting on behalf of a larger organization. Person records support essential attributes such as name, contact information, and optional associations to other entities, enabling rich identity and relationship management across your integration.

List People

To retrieve a list of people, you can use the endpoint that returns all people associated with your vendor. This endpoint allows you to fetch a paginated list of people, including their UUIDs, names, and email addresses. For complete request and response schemas, refer to the List Users OpenAPI Documentation.

Fetch a Person

To retrieve a specific person, you will need the UUID of the person you want to retrieve. This endpoint allows you to fetch detailed information about a person, including their name, email, phone number, and the vendor they are associated with. For complete request and response schemas, refer to the Fetch a User OpenAPI Documentation.

Update a Person

To update a person, you must supply the UUID of the person record you wish to modify along with the fields you intend to change. This endpoint allows you to update basic identifying information such as name, email, or phone number. Only fields explicitly passed in the request will be updated — all other fields will remain unchanged. This ensures you can make partial updates without affecting the full record. For complete request and response schemas, refer to the Update Person OpenAPI Documentation.

Delete a Person

To delete a specific person, you will need the UUID of the person you want to delete. This endpoint allows you to remove a person from the system, which will also make any associated information such as bank accounts, transfers, and related businesses or merchants inaccessible. For complete request and response schemas, refer to the Delete User OpenAPI Documentation.

Businesses

In the GrailPay ACH API, a Business is a simple entity type that represents an organization capable of sending or receiving funds. Unlike Merchants, Businesses do not undergo KYB (Know Your Business) verification. However, they are modeled separately from People to ensure proper ACH classification and compliance with NACHA regulations.

Update a Business

To update an existing business, send a PATCH request with the updated fields—such as name, address, or contact information. This helps maintain accurate records for downstream ACH processing and reporting.
While transactions are typically created using the UUID of the Person associated with a Business, this endpoint specifically requires the UUID of the Business entity itself.
For full request and response definitions, refer to the Update a Business OpenAPI Documentation.

Merchants

In the GrailPay ACH API, a Merchant is a specialized type of Business that has completed KYB (Know Your Business) verification. KYB is a regulatory requirement that ensures the identity and legitimacy of a business entity before it can participate in financial transactions. At least one party in every transaction must be KYB-verified, which is why Merchants play a critical role in GrailPay’s compliance and payment workflows. Although Merchants are technically a kind of Business, they require additional data during onboarding and are subject to stricter validation rules. This distinction allows GrailPay to maintain compliance while enabling robust and flexible transaction models.

Update a Merchant

To update an existing merchant, send a PATCH request to the update endpoint with any updated fields—such as legal name, contact information, or address.
If a merchant’s KYB status needs to be corrected or additional data is required to pass KYB checks, this endpoint should be used to resubmit or correct their business information.
While transactions are typically created using the UUID of the Person associated with a Merchant, this endpoint specifically requires the UUID of the Merchant entity itself.
For full request and response definitions, refer to the Update A Merchant OpenAPI Documentation.

Questions?

If you’re encountering any issues, please reach out to [email protected].