Browse the API reference

Disclosures

post/extensions/roboledger/{graph_id}/operations/disclosures

Part of Extensions: RoboLedger.

The map of a report's sections: one row per disclosure family — a note with its policies, tables and details, a statement with its parenthetical, the cover page — with block counts by level, fact and text-block counts, in filing order; with topic, one family's blocks with the ids information-block takes. Reads the report whole — the published filing on the SEC shared repository, the ledger's own report on a tenant graph — into xbrlkit's model and runs xbrlkit's own disclosures, so both answer as xbrlkit serve does. Cheap: call it before information-block. Shared-repo graphs take ticker (auto-resolving the latest filing) or report_id; tenant graphs take report_id. A filing processed before its artifacts existed answers 404 until the repository is reprocessed.

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
tickeroptionalstring

Company ticker. On shared-repository graphs (SEC) it resolves the latest matching filing when report_id is not given; ignored on tenant graphs.

report_idoptionalstring

Specific report identifier. Required on tenant graphs; on SEC, optional when ticker is given.

fiscal_yearoptionalinteger

Narrow auto-resolution to this fiscal year focus

period_typeoptionalstring

Which forms auto-resolution considers: annual (10-K / 20-F / 40-F, the default) or quarterly (10-Q as well)

topicoptionalstring

A disclosure family's name, or part of it ("leases", "income taxes"), for that family's blocks. Omit for the whole map.

Example request

curl
curl -X POST "https://api.robosystems.ai/extensions/roboledger/{graph_id}/operations/disclosures" \
  -H "X-API-Key: $ROBOSYSTEMS_API_KEY" \
  -H "Idempotency-Key: <Idempotency-Key>" \
  -H "Content-Type: application/json" \
  -d '{
  "ticker": "string",
  "report_id": "string",
  "fiscal_year": 0,
  "period_type": "string",
  "topic": "string"
}'

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

resultoptionalDisclosuresResponse

Command-specific result payload

DisclosuresResponse fields
FieldTypeDescription
graph_idrequiredstring
report_idrequiredstring
resolved_reportoptionalResolvedReportInfo

Information about the auto-resolved report.

ResolvedReportInfo fields
FieldTypeDescription
report_idrequiredstring
formoptionalstring
filing_dateoptionalstring
fiscal_yearoptionalinteger
fiscal_periodoptionalstring
disclosuresoptionalobject[]
countoptionalinteger
disclosureoptionalstring
categoryoptionalstring
blocksoptionalobject[]
block_countoptionalinteger
noteoptionalstring
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