Browse the extensions reference

Preview Consolidation Entries

post/extensions/roboledger/{graph_id}/operations/preview-consolidation-entries

Part of RoboLedger: Analytical Views.

The consolidating entries a group's month needs, computed from the books and posting nothing. For each member consolidated in full: the parent's investment eliminated against the member's capital (its contributions net of distributions), the outside owners' share of that capital as noncontrolling interest, the intercompany balances, the month's intercompany income against the matching expense, and the outside owners' share of the month's result; for each member on the equity method, the parent's share of its result. Accounts are found by the rs-gaap concept they map to, and an intercompany line by the group entity its event names as counterparty. Each entry is the difference between the balance its kind should hold for the member at the month end and what the consolidation entity already holds, so the entries a person posted with the same kind count. A difference between the parent's investment and its share of a member's capital is returned as a residual and its entry withheld, never plugged; intercompany figures the two sides do not agree on are returned as reconciling items. Rejected on shared-repository graphs.

Idempotency: supply an Idempotency-Key header to make safe retries; replays within 24 hours return the same envelope. Reusing the key with a different body returns HTTP 409 Conflict.

Authentication

Authenticate in any one of these ways — not all of them:

  • API key in the X-API-Key header.
  • Bearer token in the Authorization header.

Path parameters

NameTypeDescription
graph_idrequiredstringGraph Id

Constraints: matches ^(kg[a-f0-9]{16,}(?:_[a-zA-Z0-9]{1,20})?|sec(?:_[a-zA-Z0-9]{1,20})?|library)$

Header parameters

NameTypeDescription
Idempotency-KeyoptionalstringIdempotency-Key

Request body

Required, application/json.

FieldTypeDescription
periodrequiredstring

The month, as YYYY-MM.

Constraints: matches ^\d{4}-(0[1-9]|1[0-2])$

Example request

curl
curl -X POST "https://api.robosystems.ai/extensions/roboledger/{graph_id}/operations/preview-consolidation-entries" \
  -H "X-API-Key: $ROBOSYSTEMS_API_KEY" \
  -H "Idempotency-Key: <Idempotency-Key>" \
  -H "Content-Type: application/json" \
  -d '{
  "period": "string"
}'

Responses

200 Successful Response

FieldTypeDescription
operationrequiredstring

Kebab-case operation name

operationIdrequiredstring

op_-prefixed ULID for audit and SSE correlation

statusrequiredstring

Operation lifecycle state

One of: completed, pending, failed

resultoptionalPreviewConsolidationEntriesResponse

Command-specific result payload

PreviewConsolidationEntriesResponse fields
FieldTypeDescription
periodrequiredstring

The month, as YYYY-MM.

period_startrequiredstring (date)

The month's first day.

period_endrequiredstring (date)

The month's last day.

consolidation_entity_idrequiredstring

The entity the entries post in.

proposalsoptionalConsolidationProposal[]

The entries to post; empty when the month is up to date.

ConsolidationProposal fields
FieldTypeDescription
adjustment_kindrequiredstring

What the entry adjusts.

One of: elimination_investment, elimination_intercompany, elimination_unrealized_profit, nci_allocation, nci_distribution, equity_method_pickup, equity_method_distribution, acquisition, deconsolidation, translation, manual

adjusts_entity_idrequiredstring

The entity whose figures the entry adjusts.

adjusts_entity_namerequiredstring

That entity's name.

posting_daterequiredstring (date)

The month's last day.

memorequiredstring

The entry's memo.

basisrequiredstring

How the amounts were computed.

linesrequiredConsolidationProposalLine[]

The entry's lines; they balance.

residualsoptionalConsolidationResidual[]

Differences withheld from the proposals until explained.

ConsolidationResidual fields
FieldTypeDescription
entity_idrequiredstring

The member.

entity_namerequiredstring

The member's name.

amountrequiredinteger

Cents: the parent's investment balance less its share of the member's capital. Positive when the parent carries more than its share.

explanationrequiredstring

What the two figures are.

reconciling_itemsoptionalConsolidationReconcilingItem[]

Intercompany figures the two sides do not agree on.

ConsolidationReconcilingItem fields
FieldTypeDescription
entity_idsrequiredstring[]

The two entities.

conceptrequiredstring

The rs-gaap concept left uneliminated.

entity_idrequiredstring

The entity whose figure is left.

amountrequiredinteger

Cents left uneliminated, debit-positive.

descriptionrequiredstring

What does not agree.

notesoptionalstring[]

Anything the engine left out, and why.

up_to_daterequiredboolean

True when nothing is proposed, withheld or left out: the consolidation entity already holds what the month needs. A closed month is up to date as posted; read closed first.

closedoptionalboolean

True when the consolidation entity has closed the month: its entries are as posted, and nothing is recomputed.

Default: false

drafted_entry_idsoptionalstring[]

The month's drafts propose-consolidation-entries wrote, waiting for the consolidation entity's close to post them.

atrequiredstring

ISO-8601 UTC timestamp

createdByoptionalstring

User ID that initiated the operation

idempotentReplayoptionalboolean

True when this envelope came from the idempotency cache — the underlying command did not execute again. False on fresh executions.

Default: false

StatusMeaning
400Invalid request
401Authentication required
403Access denied
404Resource not found
409Idempotency-Key conflict — key reused with different body
422Validation error
429Rate limit exceeded
500Internal server error