Browse the API reference

Create Mapping Association

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

Part of Extensions: RoboLedger.

Link a chart-of-accounts element to a US GAAP reporting concept. One mapping edge per call — use auto-map-elements for bulk AI-assisted mapping. Duplicate (from, to, type) tuples return 409. Map before you close: an account with landed history in a closed month cannot be re-mapped (422) — the closed month's stamped statements were computed through the old arcs. Reopen latest-first down to the earliest month named, map, then close forward.

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
from_element_idrequiredstring

Source element (typically a CoA element).

to_element_idrequiredstring

Target element (typically a US GAAP reporting concept).

association_typeoptionalstring

Edge semantics. `mapping` rolls up CoA elements into reporting concepts; `presentation` orders concepts in a structure; `calculation` carries debit/credit weights; `equivalence` is a synonym link.

One of: presentation, calculation, mapping, equivalence

Default: mapping

order_valueoptionalnumber

Display order within the structure (lower = earlier).

weightoptionalnumber

Calculation weight (typically +1.0 or -1.0). Used by calculation linkbases to express signed roll-ups.

confidenceoptionalnumber

Confidence score (0–1). For AI-suggested mappings: ≥0.90 auto-approved, 0.70–0.89 flagged for review, <0.70 skipped.

suggested_byoptionalstring

Source of the suggestion (e.g., 'mapping_agent', 'user'). Captured for audit; not used by the runtime.

mapping_idrequiredstring

Target mapping structure ID.

Example request

curl
curl -X POST "https://api.robosystems.ai/extensions/roboledger/{graph_id}/operations/create-mapping-association" \
  -H "X-API-Key: $ROBOSYSTEMS_API_KEY" \
  -H "Idempotency-Key: <Idempotency-Key>" \
  -H "Content-Type: application/json" \
  -d '{
  "association_type": "mapping",
  "confidence": 0.95,
  "from_element_id": "elem_coa_revenue_product",
  "mapping_id": "map_01HVF8T0M2YTAY3BBNRH0V0",
  "suggested_by": "user",
  "to_element_id": "elem_usgaap_Revenues",
  "weight": 1
}'

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

resultoptionalAssociationResponse

Command-specific result payload

AssociationResponse fields
FieldTypeDescription
idrequiredstring
structure_idrequiredstring
from_element_idrequiredstring
from_element_nameoptionalstring
from_element_qnameoptionalstring
to_element_idrequiredstring
to_element_nameoptionalstring
to_element_qnameoptionalstring
association_typerequiredstring
order_valueoptionalnumber
weightoptionalnumber
confidenceoptionalnumber
suggested_byoptionalstring
approved_byoptionalstring
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