Footnotes

Backlog / Remaining Performance Obligations

Pro

Returns remaining performance obligations (RPO), the contracted revenue not yet recognized, the closest thing GAAP has to a bookings number, plus the share the filer expects to recognize within its disclosed window. Comparing RPO growth to revenue growth is the classic bookings-momentum signal for subscription and long-contract businesses.

Monetary values default to US dollars (currency parameter as on the statements endpoints, fx audit block, currency=original for as-filed). expectedShareInWindow is a fraction of 1 and never converted.

What this data can tell you:

  • RPO growth vs revenue growth as a forward demand signal.
  • Contracted revenue coverage: RPO relative to annual revenue.
  • Changes in the share expected to convert near-term.

Data honesty notes:

  • Coverage is roughly 15% of active filers, driven by ASC 606 adoption; companies without long-term contracts rarely tag it.
  • The expected-timing breakdown by future year is tagged with date-typed contexts that are not reliably numeric; this version serves the total and the disclosed-window share, and says so.
  • Mis-tagged whole-percent shares are re-scaled and flagged normalized: true.
get/api/footnotes/backlog

Query parameters

symbolstring

Stock ticker symbol. Identify the entity by exactly one of: symbol, cik, cusip, composite_figi, or share_class_figi. At least one is required.

cikinteger

SEC Central Index Key (CIK).

cusipstring

CUSIP identifier (9 characters).

composite_figistring

Composite OpenFIGI identifier.

share_class_figistring

Share-class OpenFIGI identifier.

currencystring

Currency to return all monetary values in (default USD).

Pass any ISO 4217 code from the table below, or original to disable conversion and receive every figure in its own as-reported currency. With a target currency, any line item not already in it is converted on the fly at the period-appropriate rate (spot for balance-sheet instants, period-average for income/cash-flow flows); values already in the target pass through untouched (no round-trip), and the per-period fx block records the rate(s) applied. A currency that cannot be priced for a given period leaves those facts native and flags them under fx.unconverted.

Accepted values

CodeCurrency
originalReturn every value in its original as-reported currency (no conversion)
USDUS Dollar, default
AEDUnited Arab Emirates Dirham
AFNAfghan Afghani
ALLAlbanian Lek
AMDArmenian Dram
ANGNetherlands Antillean Guilder
AOAAngolan Kwanza
ARSArgentine Peso
AUDAustralian Dollar
AWGAruban Florin
AZNAzerbaijani Manat
BAMBosnia-Herzegovina Convertible Mark
BBDBarbadian Dollar
BDTBangladeshi Taka
BGNBulgarian Lev
BHDBahraini Dinar
BIFBurundian Franc
BMDBermudan Dollar
BNDBrunei Dollar
BOBBolivian Boliviano
BRLBrazilian Real
BSDBahamian Dollar
BTNBhutanese Ngultrum
BWPBotswanan Pula
BYNBelarusian Ruble
BZDBelize Dollar
CADCanadian Dollar
CDFCongolese Franc
CHFSwiss Franc
CLPChilean Peso
CNYChinese Yuan
COPColombian Peso
CRCCosta Rican Colón
CUPCuban Peso
CVECape Verdean Escudo
CZKCzech Koruna
DJFDjiboutian Franc
DKKDanish Krone
DOPDominican Peso
DZDAlgerian Dinar
EGPEgyptian Pound
ERNEritrean Nakfa
ETBEthiopian Birr
EUREuro
FJDFijian Dollar
FKPFalkland Islands Pound
GBPBritish Pound
GELGeorgian Lari
GHSGhanaian Cedi
GIPGibraltar Pound
GMDGambian Dalasi
GNFGuinean Franc
GTQGuatemalan Quetzal
GYDGuyanaese Dollar
HKDHong Kong Dollar
HNLHonduran Lempira
HTGHaitian Gourde
HUFHungarian Forint
IDRIndonesian Rupiah
ILSIsraeli New Shekel
INRIndian Rupee
IQDIraqi Dinar
IRRIranian Rial
ISKIcelandic Króna
JMDJamaican Dollar
JODJordanian Dinar
JPYJapanese Yen
KESKenyan Shilling
KGSKyrgyz Som
KHRCambodian Riel
KMFComorian Franc
KPWNorth Korean Won
KRWSouth Korean Won
KWDKuwaiti Dinar
KYDCayman Islands Dollar
KZTKazakhstani Tenge
LAKLaotian Kip
LBPLebanese Pound
LKRSri Lankan Rupee
LRDLiberian Dollar
LSLLesotho Loti
LYDLibyan Dinar
MADMoroccan Dirham
MDLMoldovan Leu
MGAMalagasy Ariary
MKDMacedonian Denar
MMKMyanmar Kyat
MNTMongolian Tugrik
MOPMacanese Pataca
MRUMauritanian Ouguiya
MURMauritian Rupee
MVRMaldivian Rufiyaa
MWKMalawian Kwacha
MXNMexican Peso
MYRMalaysian Ringgit
MZNMozambican Metical
NADNamibian Dollar
NGNNigerian Naira
NIONicaraguan Córdoba
NOKNorwegian Krone
NPRNepalese Rupee
NZDNew Zealand Dollar
OMROmani Rial
PABPanamanian Balboa
PENPeruvian Sol
PGKPapua New Guinean Kina
PHPPhilippine Peso
PKRPakistani Rupee
PLNPolish Zloty
PYGParaguayan Guarani
QARQatari Riyal
RONRomanian Leu
RSDSerbian Dinar
RUBRussian Ruble
RWFRwandan Franc
SARSaudi Riyal
SBDSolomon Islands Dollar
SCRSeychellois Rupee
SDGSudanese Pound
SEKSwedish Krona
SGDSingapore Dollar
SHPSt. Helena Pound
SLESierra Leonean Leone
SOSSomali Shilling
SRDSurinamese Dollar
SSPSouth Sudanese Pound
STNSão Tomé & Príncipe Dobra
SVCSalvadoran Colón
SYPSyrian Pound
SZLSwazi Lilangeni
THBThai Baht
TJSTajikistani Somoni
TMTTurkmenistani Manat
TNDTunisian Dinar
TOPTongan Paʻanga
TRYTurkish Lira
TTDTrinidad & Tobago Dollar
TWDNew Taiwan Dollar
TZSTanzanian Shilling
UAHUkrainian Hryvnia
UGXUgandan Shilling
UYUUruguayan Peso
UZSUzbekistani Som
VESVenezuelan Bolívar
VNDVietnamese Dong
VUVVanuatu Vatu
WSTSamoan Tala
XAFCentral African CFA Franc
XCDEast Caribbean Dollar
XDRSpecial Drawing Rights
XOFWest African CFA Franc
XPFCFP Franc
YERYemeni Rial
ZARSouth African Rand
ZMWZambian Kwacha
ZWGZimbabwean Gold
period'annual' | 'quarter'

Base reporting period: annual or quarter (the periods companies actually report, without the derived ttm rollup).

The reporting period: annual returns fiscal-year-end RPO; quarter returns the quarterly series (Q4 = fiscal-year-end).

limitinteger

Maximum number of periods to return (may be clamped by subscription tier).

Response

RPO per period

periodstring date

The fiscal period end date (YYYY-MM-DD)

fiscalYearinteger
fiscalPeriod'FY' | 'Q1' | 'Q2' | 'Q3' | 'Q4'

Fiscal period of a reported value: FY (annual) or Q1-Q4 (quarterly).

currencystring nullable

Currency of the RPO after conversion; null when unconverted (see fx.unconverted)

normalizedboolean

Only present (as true) when the share was re-scaled from a mis-tagged whole percent.

remainingPerformanceObligationnumber

Total contracted revenue not yet recognized, at period end

expectedShareInWindownumber

Share of the RPO the filer expects to recognize within its disclosed window (fraction of 1). The window length itself is prose, not XBRL.

dateFiledstring date nullable

SEC filing acceptance date of the newest filing contributing to this period. Use this to gate point-in-time data and avoid lookahead bias.

Example response

[
  {
    "period": "2026-01-31",
    "fiscalYear": 2026,
    "fiscalPeriod": "FY",
    "currency": "USD",
    "remainingPerformanceObligation": 63000000000,
    "expectedShareInWindow": 0.49,
    "dateFiled": "2026-03-05",
    "fx": {
      "targetCurrency": "USD",
      "originalCurrencies": [
        "USD",
        "EUR",
        "VEF"
      ],
      "rates": [
        {
          "from": "EUR",
          "method": "average",
          "rate": 1.0824,
          "start": "2024-01-01",
          "end": "2024-12-31"
        },
        {
          "from": "EUR",
          "method": "spot",
          "rate": 1.0389,
          "effectiveDate": "2024-12-31"
        }
      ],
      "unconverted": {
        "VEF": [
          "otherIncomeExpense"
        ]
      }
    }
  }
]

Changes