Browse the API reference

Unblock Source Graph

post/extensions/roboledger/{graph_id}/operations/unblock-source-graph

Part of Extensions: RoboLedger.

Lifts a block, allowing that graph to share reports into this one again. Reports removed by an earlier purge are not restored — unblocking reopens the channel, it does not undo. Requires the graph admin role: a block is a standing decision about who may write into this graph, so a member cannot reverse it over an admin's head. Returns 404 when the source was not blocked.

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
source_graph_idrequiredstring

Graph ID to unblock.

Example request

curl
curl -X POST "https://api.robosystems.ai/extensions/roboledger/{graph_id}/operations/unblock-source-graph" \
  -H "X-API-Key: $ROBOSYSTEMS_API_KEY" \
  -H "Idempotency-Key: <Idempotency-Key>" \
  -H "Content-Type: application/json" \
  -d '{
  "source_graph_id": "kg1a2b3c4d5e6f7a8b9c"
}'

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

resultoptionalBlockedSourceGraphResponse

Command-specific result payload

BlockedSourceGraphResponse fields
FieldTypeDescription
idrequiredstring

Block row identifier (ULID).

source_graph_idrequiredstring

The blocked sender's graph ID.

source_graph_nameoptionalstring

Display name of the blocked graph (if known).

blocked_byrequiredstring

User ID that created the block.

blocked_atrequiredstring (date-time)

When the block was created.

reasonoptionalstring

Recipient's own note, if given.

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