Skip to main content
An originator is the company name and ACH company ID your program sends ACH as. It settles to one core balance. You create one with POST /v2/originators, update it with PATCH /v2/originators/{originator_id}, and read it with GET /v2/originators/{originator_id}. POST requires an Idempotency-Key header. See Idempotency. This example is a second originator on Acme’s program. Acme pays its own employees under a separate “Acme Payroll” company ID, so payroll goes out under that name rather than its main one. Entries settle to Acme’s operating core balance, and Lead has approved the originator for CCD and PPD only.
Every field on an originator is populated at the same time. There is no block that appears only in some statuses. A pending originator looks the same as this one with a different status, and a rejected or suspended originator carries no reason. Contact Lead to learn why.

Fields

The table lists each field on the object.

The ach block

The table lists the fields in the ach block.

The limits block

All amounts are integers in minor units. 5000 is $50.00. Each limit has a credit and a debit figure. A figure of 0 means the originator can’t send that direction at all.

Creating an originator

The create request takes these fields: Lead checks the following before it creates the originator. Each failure returns an error. A new originator starts in pending. Lead reviews it and moves it to active or rejected.

Linking account numbers

Set ach_controls.originator_id on an account number to send ACH under this originator. The account number’s balance must be the originator’s core_balance_id. If it is not, the account number create or update returns 422.

Listing originators

GET /v2/originators returns a list (objects, has_more). The core_balance_id filter is required. Filter further by status.

Coming from v0

A v2 originator replaces the v0 originator. Originators created on /v0/originators are readable on /v2/originators with core_balance_id populated.