List honestly labeled indicative price discrepancies.
const url = 'https://data.predictefy.com/v1/discrepancies?live=false&limit=20';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?live=false&limit=20' \ --header 'Authorization: Bearer <token>'DARK behind READS_ENABLE_CLUSTERS. Uses the matcher-maintained eligibility flag and orders by stored spread. The data page is fetched first; an exact total that is cold or past its honesty ceiling becomes null immediately while one process-wide background count warms it under a three-second budget. meta.totalUnavailable explains the missing total. live=true overlays current order-book mids when the order-book lane is wired, but never upgrades the indicative label.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Query Parameters
Section titled “Query Parameters”Responses
Section titled “Responses”A cluster-grain page of indicative discrepancies.
object
object
object
object
Optional cluster-page metadata. asOf is present only when page.total is served stale and records that exact count’s last successful computation time; totalUnavailable is present if and only if page.total is null; live/provenance identify a live discrepancy overlay.
object
Last successful exact-count time, present only while that total is stale.
Machine-readable explanation for an intentionally absent exact total.
object
Predictefy-live — served from the live WebSocket hub or live order book.
object
Total matching rows, or null when the total was NOT computed — never a fabricated 0. The data page is the product and the count is metadata, so routes may warm an exact total off-request or abandon a count that exceeds its short budget while the page is still served. null is always accompanied by meta.totalUnavailable, which says why; use hasMore / nextCursor to walk the result set.
Whether another page exists. Determined by fetching one row beyond the requested limit, so it stays correct even when total is null.
Opaque cursor for the next page. Omitted on the final page.
Example
{ "data": [ { "label": "indicative price discrepancy" } ], "meta": { "provenance": { "source": "predictefy-live" } }}Enveloped 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" }}Enveloped 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" }}Enveloped 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" }}Enveloped 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" }}Enveloped 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" }}Enveloped 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" }}Enveloped 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" }}