API ReferenceCross-Venue Intelligence
List persisted discrepancy snapshots.
const url = 'https://data.predictefy.com/v1/discrepancies/history?limit=20&offset=0';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url 'https://data.predictefy.com/v1/discrepancies/history?limit=20&offset=0' \ --header 'Authorization: Bearer <token>'Returns change-only discrepancy snapshots newest first. from and to accept ISO-8601 timestamps or epoch milliseconds. to defaults to now and from defaults to 24 hours before to; every range is capped at 90 days. Metered with the history weight.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Query Parameters
Section titled “Query Parameters”Inclusive range start as ISO-8601 or epoch milliseconds.
Inclusive range end as ISO-8601 or epoch milliseconds.
Optional exact cluster id.
Offsets above the maximum are rejected; use cursor pagination for deep walks.
Responses
Section titled “Responses”A bounded page with an exact total.
object
object
Lossless string representation of the persisted bigserial id.
object
object
object
object
Examplegenerated
{ "success": true, "data": [ { "id": "example", "clusterId": "example", "observedAt": "2026-04-15T12:00:00Z", "source": "example", "contentHash": "example", "contracts": 1, "netEdge": 1, "roi": 1, "executable": true, "legs": { "low": { "venue": "example", "canonicalMarketId": "example", "price": 1 }, "high": { "venue": "example", "canonicalMarketId": "example", "price": 1 } } } ], "page": { "limit": 1, "offset": 1, "total": 1, "hasMore": true }}VALIDATION_ERROR
object
object
Always present on errors; quote this id when reporting a failed request.
Present only when a venue error is attributed to a specific exchange.
Example
{ "success": false, "error": { "code": "VALIDATION_ERROR" }}UNAUTHORIZED
object
object
Always present on errors; quote this id when reporting a failed request.
Present only when a venue error is attributed to a specific exchange.
Example
{ "success": false, "error": { "code": "VALIDATION_ERROR" }}INSUFFICIENT_CREDITS — history weight
object
object
Always present on errors; quote this id when reporting a failed request.
Present only when a venue error is attributed to a specific exchange.
Example
{ "success": false, "error": { "code": "VALIDATION_ERROR" }}SCOPE_MISSING or PLAN_REQUIRED — see credits.md
object
object
Always present on errors; quote this id when reporting a failed request.
Present only when a venue error is attributed to a specific exchange.
Example
{ "success": false, "error": { "code": "VALIDATION_ERROR" }}ROUTE_NOT_FOUND while the cluster lane is dark
object
object
Always present on errors; quote this id when reporting a failed request.
Present only when a venue error is attributed to a specific exchange.
Example
{ "success": false, "error": { "code": "VALIDATION_ERROR" }}RATE_LIMITED
object
object
Always present on errors; quote this id when reporting a failed request.
Present only when a venue error is attributed to a specific exchange.
Example
{ "success": false, "error": { "code": "VALIDATION_ERROR" }}Unexpected internal error. Retryable; error.requestId identifies the failure.
object
object
Always present on errors; quote this id when reporting a failed request.
Present only when a venue error is attributed to a specific exchange.
Example
{ "success": false, "error": { "code": "VALIDATION_ERROR" }}