---
title: "Create a Journal"
method: POST
path: "/v1/journals"
tags: ["Journals"]
---

# Create a Journal

`POST /v1/journals`

## Request

- Base URL: `https://broker-api.giftcity.sandbox.in.alpaca.markets`
- URL: `https://broker-api.giftcity.sandbox.in.alpaca.markets/v1/journals`
- Auth: HTTP basic

A journal can be JNLC (move cash) or JNLS (move shares), dictated by `entry_type`. Generally, journal requests are subject to approval and starts from the `pending` status. The status changes are propagated through the Event API. Under certain conditions agreed for the partner, such journal transactions that meet the criteria are executed right away.

**Idempotency**: Reusing the same key with an identical request returns the
previously created journal without creating a duplicate. Reusing the same key with
a different request returns `422 Unprocessable Entity`.

## Headers

- `Idempotency-Key` string

## Request body

- CreateJournalRequest: 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 Journal Fixture Rules - No Fixtures - anything below limit is executed immediately - anything above limit is pending until executed at EOD, - With Fixtures - any status = rejected will be rejected EOD - any status = pending will be pending forever
  - `amount` string: Required if `entry_type` = `JNLC`
  - `currency` string: The currency of the journal. Defaults to the system currency (for example, USD in the US or EUR in the EU) when omitted. Correspondents with local currency trading enabled must send this field, and the value must be the system currency or one of the correspondent's enabled currencies
  - `description` string: Max 1024 characters. Can include fixtures for amounts that are above the transaction limit
  - `entry_type` 'JNLC' | 'JNLS', required: This enum represents the various kinds of Journal alpaca supports. Current values are: - **JNLC** Journal Cash between accounts - **JNLS** Journal Securities between accounts
  - `from_account` string, uuid, required: The account_id you wish to journal from
  - `qty` string: Required if `entry_type` = `JNLS`
  - `symbol` string: Required if `entry_type` = `JNLS`
  - `to_account` string, uuid, required: The account_id you wish to journal to
  - `transmitter_account_number` string: Max 255 characters. See more details about [Travel Rule](https://alpaca.markets/docs/broker/integration/funding/#travel-rule) in our main documentation.
  - `transmitter_address` string: Max 255 characters. See more details about [Travel Rule](https://alpaca.markets/docs/broker/integration/funding/#travel-rule) in our main documentation.
  - `transmitter_financial_institution` string: Max 255 characters. See more details about [Travel Rule](https://alpaca.markets/docs/broker/integration/funding/#travel-rule) in our main documentation.
  - `transmitter_name` string: Max 255 characters. See more details about [Travel Rule](https://alpaca.markets/docs/broker/integration/funding/#travel-rule) in our main documentation.
  - `transmitter_timestamp` string, date-time: RFC 3339 format. See more details about [Travel Rule](https://alpaca.markets/docs/broker/integration/funding/#travel-rule) in our main documentation.

## Response `200`

The New Journal object

- union: Represents a cash or securities transfer between accounts, selected by `entry_type`.
  - JNLC: A cash journal response with all shared Journal fields.
    - `created_at` string, date-time: The creation time when supplied by the endpoint.
    - `currency` string, required: Currency denomination of the journal.
    - `description` string, required: The journal description.
    - `from_account` string, uuid, required: The account ID that initiated the journal.
    - `id` string, uuid, required: The journal ID.
    - `net_amount` string, decimal, nullable, required: The cash amount, or null when not applicable.
    - `price` string, decimal, nullable, required: The journaled security price, or null when not applicable.
    - `qty` string, decimal, nullable, required: The journaled security quantity, or null when not applicable.
    - `settle_date` string, date, nullable, required: The settlement date, or null until one is assigned.
    - `status` 'pending' | 'canceled' | 'executed' | 'activity_created' | 'queued' | 'rejected' | 'deleted' | 'refused' | 'sent_to_clearing' | 'correct', required: Represents the status that a Journal instance can be in. **Current Values** queued Journal in queue to be processed. Journal is not processed yet. sent_to_clearing Journal sent to be processed by Alpaca's booking system. The journal is not processed yet. pending Journal pending to be processed as it requires manual approval from Alpaca operations (for example due to hitting JNLC daily limits). executed Journal executed and balances updated for both sides of the journal transaction. This is not a final status, journals can be reversed if there is an error. activity_created Non-trade activity has been created for journal (JNLC v2-only). rejected Journal rejected. Please try again. canceled Journal canceled. This is a **FINAL** status. refused Journal refused. Please try again. deleted Journal deleted. This is a **FINAL** status. correct Journal is corrected. Previously executed journal is cancelled and a new journal is corrected amount is created. This is a **FINAL** status.
    - `symbol` string, nullable, required: The journaled security symbol, or null for a cash journal.
    - `system_date` string, date, nullable, required: The booking-system date, or null until one is assigned.
    - `to_account` string, uuid, required: The account ID that received the journal.
    - `transmitter_info` TransmitterInfo: Information about the transmitter to satisfy travel rule requirements. Required if the requesting correspondent qualifies as a financial institution
      - `originator_bank_account_number` string: Required if the requesting correspondent qualifies as a financial institution
      - `originator_bank_name` string: Required if the requesting correspondent qualifies as a financial institution
      - `originator_city` string
      - `originator_country` string: Required if the requesting correspondent qualifies as a financial institution
      - `originator_full_name` string: Required if the requesting correspondent qualifies as a financial institution
      - `originator_postal_code` string
      - `originator_state` string
      - `originator_street_address` string
      - `other_identifying_information` string: Used to facilitate transfer lookup in the event it is required. Recommended to be the originating bank's reference number for the transfer
    - `entry_type` 'JNLC', required: Cash journal discriminator value.
    - `transmitter_account_number` string: Optional for JNLC journals. Maximum 255 characters. See more details about [Travel Rule](https://alpaca.markets/docs/broker/integration/funding/#travel-rule) in our main documentation.
    - `transmitter_address` string: Optional for JNLC journals. Maximum 255 characters. See more details about [Travel Rule](https://alpaca.markets/docs/broker/integration/funding/#travel-rule) in our main documentation.
    - `transmitter_financial_institution` string: Optional for JNLC journals. Maximum 255 characters. See more details about [Travel Rule](https://alpaca.markets/docs/broker/integration/funding/#travel-rule) in our main documentation.
    - `transmitter_name` string: Optional for JNLC journals. Maximum 255 characters. See more details about [Travel Rule](https://alpaca.markets/docs/broker/integration/funding/#travel-rule) in our main documentation.
    - `transmitter_timestamp` string, date-time: Optional for JNLC journals. RFC 3339 format. See more details about [Travel Rule](https://alpaca.markets/docs/broker/integration/funding/#travel-rule) in our main documentation.
  - JNLS: A securities journal response with all shared Journal fields.
    - `created_at` string, date-time: The creation time when supplied by the endpoint.
    - `currency` string, required: Currency denomination of the journal.
    - `description` string, required: The journal description.
    - `from_account` string, uuid, required: The account ID that initiated the journal.
    - `id` string, uuid, required: The journal ID.
    - `net_amount` string, decimal, nullable, required: The cash amount, or null when not applicable.
    - `price` string, decimal, nullable, required: The journaled security price, or null when not applicable.
    - `qty` string, decimal, nullable, required: The journaled security quantity, or null when not applicable.
    - `settle_date` string, date, nullable, required: The settlement date, or null until one is assigned.
    - `status` 'pending' | 'canceled' | 'executed' | 'activity_created' | 'queued' | 'rejected' | 'deleted' | 'refused' | 'sent_to_clearing' | 'correct', required: Represents the status that a Journal instance can be in. **Current Values** queued Journal in queue to be processed. Journal is not processed yet. sent_to_clearing Journal sent to be processed by Alpaca's booking system. The journal is not processed yet. pending Journal pending to be processed as it requires manual approval from Alpaca operations (for example due to hitting JNLC daily limits). executed Journal executed and balances updated for both sides of the journal transaction. This is not a final status, journals can be reversed if there is an error. activity_created Non-trade activity has been created for journal (JNLC v2-only). rejected Journal rejected. Please try again. canceled Journal canceled. This is a **FINAL** status. refused Journal refused. Please try again. deleted Journal deleted. This is a **FINAL** status. correct Journal is corrected. Previously executed journal is cancelled and a new journal is corrected amount is created. This is a **FINAL** status.
    - `symbol` string, nullable, required: The journaled security symbol, or null for a cash journal.
    - `system_date` string, date, nullable, required: The booking-system date, or null until one is assigned.
    - `to_account` string, uuid, required: The account ID that received the journal.
    - `transmitter_info` TransmitterInfo: Information about the transmitter to satisfy travel rule requirements. Required if the requesting correspondent qualifies as a financial institution
      - `originator_bank_account_number` string: Required if the requesting correspondent qualifies as a financial institution
      - `originator_bank_name` string: Required if the requesting correspondent qualifies as a financial institution
      - `originator_city` string
      - `originator_country` string: Required if the requesting correspondent qualifies as a financial institution
      - `originator_full_name` string: Required if the requesting correspondent qualifies as a financial institution
      - `originator_postal_code` string
      - `originator_state` string
      - `originator_street_address` string
      - `other_identifying_information` string: Used to facilitate transfer lookup in the event it is required. Recommended to be the originating bank's reference number for the transfer
    - `entry_type` 'JNLS', required: Securities journal discriminator value.

## Other responses

- `400`: One of the parameters is invalid.
- `403`: The amount requested to move is not available.
- `404`: One of the account is not found.
- `422`: The idempotency key was already used with a different request payload.

---

[API](https://skmtc.dev/alpacahq/apis/broker-api.md) - [All operations](https://skmtc.dev/alpacahq/apis/broker-api/llms.txt) - [OpenAPI document](https://skmtc.dev/alpacahq/apis/broker-api/revisions/381b1ecb3ccc?raw)
