Compare figures
Recompute and compare figures you already extracted.
/api/v1/analyze/conflictshttps://api.webcite.coWhen to use it
Compare figures only when entity, period, unit, currency, scale, basis, and definition are compatible. Include source-linked fxRates for currency conversion and reviewed precedenceRules only where justified. A missing comparison is not a clean result.
Request
1 credit.
Examples run on your server. Set WEBCITE_API_KEY first. Python examples use the requests package.
curl --fail-with-body -X POST 'https://api.webcite.co/api/v1/analyze/conflicts' \
-H "x-api-key: $WEBCITE_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"figures": [
{
"metric": "revenue",
"value": 12,
"unit": "currency",
"currency": "USD",
"period": "FY2025",
"decimalValue": "12",
"provenance": {
"assetId": "YOUR_ASSET_ID",
"sheet": "Income statement",
"cell": "B2",
"documentName": "Example annual report",
"method": "rule"
}
}
]
}'Request body
figuresobject[]requiredFigures extracted across one or more documents. The engine groups compatible entities, periods, currencies, scales, bases and definitions, recomputes derivable metrics, and reports conflicts or unavailable comparisons.
Show figures fields
basisstringWhether the figure is actual, forecast, assumed or unknown.
Values: "actual""forecast""assumption""unknown"
currencystringCurrency code of the normalized value.
decimalValuestringCanonical decimal text used for exact arithmetic. Without it the figure can be reported but not recomputed.
definitionstringDefinition or accounting-policy scope.
entitystringEntity scope, e.g. "subscription".
metricstringrequiredMetric dictionary key, e.g. "gross_margin".
observationIdstringImmutable observation identity. Exact replay may reuse it.
periodstringPeriod, e.g. "FY2024".
provenanceobjectrequiredShow provenance fields
assetIdstringrequiredAsset the figure came from.
cellstringCell reference, e.g. B4.
documentNamestringrequiredHuman-readable document name.
methodstringrequiredHow the value was extracted.
Values: "rule""model"
pagenumber1-based page.
sheetstringSheet name.
scalestringScale qualifier for the already-normalized value. This does not apply another conversion.
unitstringrequiredCanonical unit.
Values: "percent""multiple""currency""ratio""count""months"
valuenumberrequiredValue normalized to the metric canonical unit.
fxRatesobject[]Source-linked FX observations. A rate is used only for its exact applicable period and declared conversion direction.
Show fxRates fields
applicableDatestringrequiredapplicablePeriodstringrequireddecimalRatestringrequiredCanonical decimal rate used by exact arithmetic.
directionstringrequiredValues: "multiply""divide"
fromCurrencystringrequiredidstringrequiredprovenanceobjectrequiredShow provenance fields
assetIdstringrequiredAsset the figure came from.
cellstringCell reference, e.g. B4.
documentNamestringrequiredHuman-readable document name.
methodstringrequiredHow the value was extracted.
Values: "rule""model"
pagenumber1-based page.
sheetstringSheet name.
ratenumberrequiredruleRevisionstringrequiredtoCurrencystringrequiredprecedenceRulesobject[]Reviewed, scope-exact decisions that select one observation and enumerate every superseded competing identity.
Show precedenceRules fields
basisstringrequiredValues: "actual""forecast""assumption""unknown"
currencystringrequireddefinitionstringrequiredentitystringrequiredidstringrequiredmetricstringrequiredperiodstringrequiredprovenanceobjectrequiredShow provenance fields
assetIdstringrequiredAsset the figure came from.
cellstringCell reference, e.g. B4.
documentNamestringrequiredHuman-readable document name.
methodstringrequiredHow the value was extracted.
Values: "rule""model"
pagenumber1-based page.
sheetstringSheet name.
reasonstringrequiredreviewerIdstringrequiredruleRevisionstringrequiredscalestringrequiredselectedObservationIdstringrequiredsupersededObservationIdsstring[]requiredResponse
Returns conflicts, recomputations, and review information. The current public schema describes the request figures but does not define the complete response.
200 response
See the response guidance above. A complete JSON schema is not published for this response.
Errors
For 400, check the request fields and source identifiers. For 401, check your API key. For 429, wait for the retry interval. See the errors guide before retrying a billable request.
401- Unauthorized - API key required
429- Rate limit exceeded