Browse the extensions reference

reportDownloadUrl

returns ReportBundleDownload

Presigned download URL for a published Report's serialization bundle.

The only way to download a report's bundle. Every format resolves to a short-lived presigned S3 URL which the client follows directly — the field returns the URL, never the bytes. JSON-LD is stamped at publish time; XBRL is materialized and cached on first request. expiresIn is the URL's lifetime in seconds, bounded 60-3600.

Returns null when the report doesn't exist; raises REPORT_BUNDLE_NOT_AVAILABLE when it exists but has no published bundle yet.

Arguments

NameTypeDescription
reportIdString!The published report whose bundle to link.
formatReportDownloadFormatSerialization flavor. Defaults to JSON-LD.
expiresInIntURL lifetime in seconds, 60-3600. Out of range raises INVALID_EXPIRES_IN.

Returns ReportBundleDownload

Presigned-URL response for a published Report's serialization bundle. Every flavor resolves to a short-lived presigned URL pointing at the bundle in S3 — JSON-LD is stamped at publish time, XBRL is materialized on first download and cached by generationCount. The client follows downloadUrl to fetch the artifact directly from S3 (the API never streams the bytes). Mirrors the backup-download shape the frontend already consumes.

FieldTypeDescription
downloadUrlString!Presigned URL that streams the bundle directly from S3.
expiresAtDateTime!UTC timestamp at which the presigned URL stops working.
contentTypeString!MIME type of the artifact behind the URL.
formatString!Serialization flavor delivered by this URL — one of the RdfFlavor / XbrlFlavor values (e.g. jsonld, xbrl-2.1).
generationCountInt!Bundle generation number stamped on the Report.
omittedContent[String!]!Content the Report carries that this flavor does not. disclosure_notes: the XBRL 2.1 zip ships statements only — tenant-authored disclosure notes render on screen and ride the JSON-LD and holon flavors, but are excluded from this file. The Tavi compiled model carries the statements and notes but has no home for ib_envelopes (the per-Network Information Block payloads), definition_links (equivalence, general-special, essence-alias and mapping arcs), reporting_style, framework_pins, fact_sets (the FactSet partition and each fact's structure pin) or filing_lifecycle (filing status, supersession, share provenance); all of it rides the JSON-LD and holon flavors.

Example

query
{ reportDownloadUrl(reportId: "...") { downloadUrl expiresAt contentType format } }
curl
curl -X POST "https://api.robosystems.ai/extensions/$GRAPH_ID/graphql" \
  -H "X-API-Key: $ROBOSYSTEMS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query": "{ reportDownloadUrl(reportId: \"...\") { downloadUrl expiresAt contentType format } }"}'