Browse the API reference

Update Graph Metadata

post/v1/graphs/{graph_id}/operations/update-graph-metadata

Part of Graph Operations.

Edit the graph's platform-level label: display name, description, and tags. Partial — only supplied (non-null) fields change; pass "" to clear the description and [] to clear the tags. Requires admin on the graph. This is not the entity name that appears on financial statements — change that through the roboledger update-entity operation.

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
graph_nameoptionalstring

New display name. Omit to leave unchanged; cannot be cleared.

descriptionoptionalstring

New description. Omit to leave unchanged; pass '' to clear.

tagsoptionalstring[]

Replaces the full tag list (not a merge). Omit to leave unchanged; pass [] to clear. Tags are trimmed, de-duplicated, and capped at 50 characters each.

Example request

curl
curl -X POST "https://api.robosystems.ai/v1/graphs/{graph_id}/operations/update-graph-metadata" \
  -H "X-API-Key: $ROBOSYSTEMS_API_KEY" \
  -H "Idempotency-Key: <Idempotency-Key>" \
  -H "Content-Type: application/json" \
  -d '{
  "graph_name": "Acme Consulting LLC"
}'

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

resultoptionalGraphMetadataResult

Command-specific result payload

GraphMetadataResult fields
FieldTypeDescription
graph_idrequiredstring

Graph the metadata belongs to

graph_namerequiredstring

Display name after the update

descriptionoptionalstring

Description after the update ('' when unset)

Default:

tagsoptionalstring[]

Tags after the update (empty when unset)

updated_fieldsoptionalstring[]

Fields this call actually changed. Empty when the submitted values already matched what was stored.

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