Create a Batch Journal Transaction (One-to-Many)

You can create a batch of journal requests by using this endpoint. This is enabled on JNLC type Journals for now only.

Every single request must be valid for the entire batch operation to succeed.

In the case of a successful request, the response will contain an array of journal objects with an extra attribute error_message in the case when a specific account fails to receive a journal.

Idempotency: When the Idempotency-Key header is supplied, this endpoint is
idempotent. Multiple requests with the same key and identical request body will
create only one batch. A subsequent request returns the previously created
batch with the same response (no duplicate is created). If the same key is used
with a different request body, the API returns 422 Unprocessable Entity.

Recommended for production: Always supply Idempotency-Key when creating
journal batches. This allows safe retries on timeouts, network errors, or 5xx responses
without risking duplicate batches. Use a client-generated unique value (e.g. UUID).

Body Params

Journals API allows you to move cash or securities from one account to another.

This model represents the fields you can specify when creating a request of many Journals out of one account to many others at once.

string

The 4-character correspondent code

entries
array of objects
required
length ≥ 1

An array of objects describing which accounts you want to move funds into and how much to move into each account

entries*
string | null
required

Journal amount in USD

string | null

Currency code in ISO format

string

Journal entry description, gets returned in the response

string | null
string
uuid
required

The ID of the account that you want to journal funds into

string

Only valid for JNLC journals. Null for JNLS.max 255 characters

string

Only valid for JNLC journals. Null for JNLS.max 255 characters

string

Only valid for JNLC journals. Null for JNLS.max 255 characters

string

Only valid for JNLC journals. Null for JNLS. Max 255 characters.

date-time
string
enum
required

Only supports JNLC for now

Allowed:
uuid
required

The account id that is the originator of the funds being moved. Most likely is your Sweep Firm Account

Headers
string
length ≤ 128

Optional client-generated key for safe retries and duplicate request detection.
This endpoint currently accepts keys up to 128 characters. Alpaca is moving toward
a 36-character maximum; new implementations should generate a unique UUIDv7 or
UUIDv4 value (36 characters including hyphens) for each logical operation. Do not
reuse a key across operations.

Responses

Language
Credentials
Basic
base64
:
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json