Browse the API reference

Delete Mapping Association

post/extensions/roboledger/{graph_id}/operations/delete-mapping-association

Part of Extensions: RoboLedger.

Remove a single CoA → reporting-concept mapping edge by id. The mapping structure itself remains; only the association row is dropped. Use this to correct a wrong mapping — delete the bad edge, then create-mapping-association the right one. Find the association id via the library_element_arcs GraphQL field. Library-seeded rows cannot be deleted (403). An edge for an account with landed history in a closed month cannot be removed (422) until those months are reopened, latest-first.

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

Header parameters

NameTypeDescription
Idempotency-KeyoptionalstringIdempotency-Key

Request body

Required, application/json.

FieldTypeDescription
mapping_idrequiredstring

The mapping structure containing the association.

association_idrequiredstring

The association edge to delete.

Example request

curl
curl -X POST "https://api.robosystems.ai/extensions/roboledger/{graph_id}/operations/delete-mapping-association" \
  -H "X-API-Key: $ROBOSYSTEMS_API_KEY" \
  -H "Idempotency-Key: <Idempotency-Key>" \
  -H "Content-Type: application/json" \
  -d '{
  "association_id": "assoc_01HVF8T0M2YTAY3BBNRH0V0",
  "mapping_id": "map_01HVF8T0M2YTAY3BBNRH0V0"
}'

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

resultoptionalDeleteResult

Command-specific result payload

DeleteResult fields
FieldTypeDescription
deletedrequiredboolean

`true` when the row was deleted in this call. Always `true` today — 404 covers the not-found case at the HTTP layer rather than via this field.

atrequiredstring

ISO-8601 UTC timestamp

createdByoptionalstring

User ID that initiated the operation (null for legacy callers)

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