Skip to main content
POST
Reject a pending journal entry

Authorizations

Authorization
string
header
required

API key issued per entity via Settings > Developers > API Keys. Each key carries scopes (e.g. orders:read, products:write). Bearer token format: Authorization: Bearer ark_live_ent_Test keys use ark_test_ent_. Both are issued per entity
via Settings > Developers > API Keys.

Path Parameters

id
string<uuid>
required

Body

application/json
reason
string

Response

Rejected journal entry

A double-entry journal entry. DR sum = CR sum across all lines (Rule A1 / assertGLBalance). entry_date must fall in an open accounting period (Rule A3). Once posted, entries are immutable -- use reverse to undo. Verified against live dev RDS accounting.journal_entries.

id
string<uuid>
read-only
entity_id
string<uuid>
read-only
entry_number
string
read-only

Human-readable number (e.g. SB-JE-0000001)

entry_date
string<date>
period_id
string<uuid> | null
read-only
entry_type
string | null
status
enum<string>
read-only
Available options:
draft,
pending_approval,
posted,
reversed,
voided,
rejected
approval_status
enum<string> | null
read-only
Available options:
auto_approved,
pending_approval,
approved,
rejected
description
string
source_type
enum<string>

Event source. Postgres ENUM-locked per P0-JE-SOURCE-TYPE-ENUM (2026-05-18, FIX REQUIRED #18 closed). Invalid values rejected with HTTP 400 at the API boundary and Postgres 22P02 at the database layer. Values mirror JE_SOURCE_TYPE in arcus-api-core/utils/constants.mjs.

Available options:
INVOICE,
FULFILLMENT,
TAX,
SHIPPING,
SHIPPING_COST,
DISCOUNT,
PRICING_DISCOUNT,
COUPON_DISCOUNT,
PROCESSING_FEE,
PROCESSOR_FEE,
ORDER_CANCELLATION,
LATE_FEE,
PAYMENT,
REFUND,
CREDIT_APPLIED,
WRITE_OFF,
CREDIT_MEMO,
CUSTOMER_DEPOSIT,
CUSTOMER_DEPOSIT_APPLICATION,
CUSTOMER_DEPOSIT_REFUND,
RETURN,
RETURN_FEE,
COGS_REVERSAL,
VENDOR_RETURN,
AP_BILL,
AP_PAYMENT,
VENDOR_BILL,
VENDOR_INVOICE,
VENDOR_PAYMENT,
VENDOR_CREDIT,
BILL_REVALUATION,
VENDOR_PREPAYMENT,
VENDOR_PREPAYMENT_APPLICATION,
VENDOR_PREPAYMENT_REFUND,
INVENTORY_ADJUSTMENT,
INVENTORY_ADJ,
INVENTORY_RECEIVED,
INVENTORY_TRANSFER,
INTERCOMPANY_TRANSFER,
CYCLE_COUNT,
PO_RECEIPT,
PO_DAMAGED_WRITEOFF,
COST_REVALUATION,
BANK_RECON,
BANK_DEPOSIT,
CASH_MOVEMENT,
CHECK_CLEARED,
PAYOUT,
REGISTER,
REGISTER_SALE,
SHOPIFY_IMPORT,
SHOPIFY_PAYOUT,
AMAZON_IMPORT,
AMAZON_SETTLEMENT,
EBAY_IMPORT,
EBAY_PAYOUT,
MARKETPLACE_PAYOUT,
AMAZON_FEES,
FBA_INBOUND,
FBA_SYNC,
TAX_REMITTANCE,
DISPUTE_HOLD,
DISPUTE_WON,
DISPUTE_LOST,
MANUAL,
MANUAL_REVERSAL,
PERIOD_CLOSE,
FISCAL_YEAR_CLOSE,
ADJUSTMENT,
RECURRING_JE,
MANUFACTURING,
WO_COMPLETION,
WO_VARIANCE,
WO_LABOR,
WO_OVERHEAD,
DEPRECIATION,
ASSET_ACQUISITION,
ASSET_DISPOSAL,
IMPAIRMENT,
LEASE_COMMENCEMENT,
LEASE_PAYMENT,
LEASE_MODIFICATION,
LEASE_TERMINATION,
LEASE_BUYOUT,
LABEL_REFUND_DENIED
source_id
string | null
source_module
string | null
is_reversing
boolean
read-only
reversed_by_id
string<uuid> | null
read-only
reversal_of_id
string<uuid> | null
read-only
reverse_in_period_id
string<uuid> | null
read-only
batch_id
string<uuid> | null

Groups JEs from one business event (e.g. fulfillment posts revenue + COGS + tax + shipping in one batch). Use GET /v1/journal-entries?batch_id= to retrieve all JEs in a batch.

total_debit
number
read-only
total_credit
number
read-only
posted_at
string<date-time> | null
read-only
approved_by
string<uuid> | null
read-only
approved_at
string<date-time> | null
read-only
rejected_by
string<uuid> | null
read-only
rejected_at
string<date-time> | null
read-only
rejection_reason
string | null
read-only
idempotency_key
string | null
created_by
string<uuid> | null
read-only

User who created the entry. Stamped from the authenticated user on manual JEs; from the posting helper's created_by on system JEs.

created_by_name
string | null
read-only

Display name of the creating user (JOIN on users). Null for system-generated entries with no user attribution.

created_at
string<date-time>
read-only
updated_at
string<date-time>
read-only
lines
object[]
read-only

JE lines (included on GET single; omitted on list responses)