Skip to main content
POST
Close a fiscal period (Step 3 of 2-person SoD)

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.

Headers

Idempotency-Key
string

Client-generated unique key for idempotent POST/PATCH/DELETE operations. Alias for the Idempotency parameter. Max 255 chars. On retry with the same key, the original response is returned without re-executing the operation. Keys expire after 24 hours.

Maximum string length: 255

Path Parameters

id
string<uuid>
required

Body

application/json
note
string

Response

Period closed

An accounting period. Closed periods refuse new journal entry postings (Rule A3). Year-end closing entries that roll revenue and expense activity into retained earnings are posted via a separate explicit endpoint (POST /v1/accounting_periods/{id}/close-fiscal-year). The monthly-period close does NOT by itself post a retained-earnings rollover JE. Verified against live dev RDS accounting.accounting_periods.

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

Human-readable name (e.g. 'January 2025')

start_date
string<date>
end_date
string<date>
status
enum<string>
read-only
Available options:
open,
close_requested,
closed
closed_by
string<uuid> | null
read-only
closed_at
string<date-time> | null
read-only
close_requested_by
string<uuid> | null
read-only
close_requested_at
string<date-time> | null
read-only
close_approved_by
string<uuid> | null
read-only
close_approved_at
string<date-time> | null
read-only
reopen_reason
string | null
read-only

NEW-GAP-REOPEN-PERIOD-ENTITY-ISOLATION-SOD-REASON-AUDIT (2026-05-15): operator-supplied justification from the most recent reopen. 10-500 chars when set. Cleared on next close.

reopened_by
string<uuid> | null
read-only

User who most recently reopened this period.

reopened_at
string<date-time> | null
read-only
created_at
string<date-time>
read-only