Record Deconsolidation
/extensions/roboledger/{graph_id}/operations/record-deconsolidationPart of RoboLedger: Ledger & Events.
Record a member's leaving the group, once left_on is set on it: what the parent received for its shares in cents (0 for a dissolution) and the basis. It writes a draft in the consolidation entity, dated the first day of the month after the member's last, that its close posts: what the consolidation entity still holds for the member on its balance-sheet accounts and as the outside owners' interest is taken off (goodwill, step-ups, the price above book of the investment, the outside owners' accumulated share), a member in full has the results it earned in the group put back into the group's equity as they leave with its books, and the difference is the gain or loss on its leaving: the group's adjustment to the gain the parent's own books took, so the consolidated gain is the consideration less the carrying amount of what left (ASC 810). The investment and intercompany eliminations go back on their own in that month's proposals. The parent's own sale entry stays on its books. Recording again replaces the draft; a posted deconsolidation is reversed first. A retained interest is not supported yet.
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-Keyheader. - Bearer token in the
Authorizationheader.
Path parameters
| Name | Type | Description |
|---|---|---|
graph_idrequired | string | Graph Id Constraints: matches |
Header parameters
| Name | Type | Description |
|---|---|---|
Idempotency-Keyoptional | string | Idempotency-Key |
Request body
Required, application/json.
| Field | Type | Description |
|---|---|---|
entity_idrequired | string | The member that left: its |
considerationrequired | integer | Cents the parent received for its shares; 0 for a dissolution or an abandonment. Recorded with the entry for the record: the parent's own books hold the sale, cash against its investment and its own gain or loss, which this entry adjusts to the group's. Constraints: at least 0 |
basisrequired | string | The sale agreement, the dissolution, or what sets the price. Constraints: at least 1 character |
Example request
curl -X POST "https://api.robosystems.ai/extensions/roboledger/{graph_id}/operations/record-deconsolidation" \
-H "X-API-Key: $ROBOSYSTEMS_API_KEY" \
-H "Idempotency-Key: <Idempotency-Key>" \
-H "Content-Type: application/json" \
-d '{
"entity_id": "string",
"consideration": 0,
"basis": "string"
}'Responses
200 Successful Response
| Field | Type | Description | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
operationrequired | string | Kebab-case operation name | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
operationIdrequired | string | op_-prefixed ULID for audit and SSE correlation | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
statusrequired | string | Operation lifecycle state One of: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
resultoptional | DeconsolidationResponse | Command-specific result payload DeconsolidationResponse fields
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
atrequired | string | ISO-8601 UTC timestamp | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
createdByoptional | string | User ID that initiated the operation | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
idempotentReplayoptional | boolean | True when this envelope came from the idempotency cache — the underlying command did not execute again. False on fresh executions. Default: |
| Status | Meaning |
|---|---|
| 400 | Invalid request |
| 401 | Authentication required |
| 403 | Access denied |
| 404 | Resource not found |
| 409 | Idempotency-Key conflict — key reused with different body |
| 422 | Validation error |
| 429 | Rate limit exceeded |
| 500 | Internal server error |