Record an evidence-link open (optional)
const url = 'https://api.stockalloy.com/api/b2b/telemetry/proof-open';const options = { method: 'POST', headers: {'X-API-Key': '<X-API-Key>', 'Content-Type': 'application/json'}, body: '{"evidence_key":"example","cik":"example","source_accession":"example","series_key":"example","metric_id":"example","surface":"example","viewer_url":"example"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://api.stockalloy.com/api/b2b/telemetry/proof-open \ --header 'Content-Type: application/json' \ --header 'X-API-Key: <X-API-Key>' \ --data '{ "evidence_key": "example", "cik": "example", "source_accession": "example", "series_key": "example", "metric_id": "example", "surface": "example", "viewer_url": "example" }'Optional integration telemetry: record that a user opened an evidence link in your product. Fire-and-forget; returns 202 immediately. Not counted against your monthly quota (rate limit still applies).
Authorizations
Section titled “Authorizations”Request Bodyrequired
Section titled “Request Bodyrequired”object
Where the open happened in your product (free-form label).
Examplegenerated
{ "evidence_key": "example", "cik": "example", "source_accession": "example", "series_key": "example", "metric_id": "example", "surface": "example", "viewer_url": "example"}Responses
Section titled “Responses”Accepted.
object
Example
{ "ok": true}Invalid request — missing/invalid fields, malformed JSON, or an unsupported scope combination.
object
Human-readable error message.
Example
{ "error": "query is required"}Missing or invalid API key.
object
Human-readable error message.
Example
{ "error": "API key required"}Key revoked/disabled/expired, account disabled, key not entitled for this product, or cross-company search not enabled for this key.
object
Human-readable error message.
Example
{ "error": "API key has expired"}Rate limit exceeded (per-minute) or quota exceeded (daily/monthly, account-level or per-key). Distinguish by body shape.
object
Seconds until the window resets.
Requests allowed per minute for this key.
object
daily quota exceeded or monthly quota exceeded.
account sums usage across all keys on the account; api_key is a per-key cap.
Examples
Per-minute rate limit
{ "error": "Rate limit exceeded", "retryAfter": 31, "limit": 60, "windowMs": 60000}Monthly quota
{ "error": "monthly quota exceeded", "quota": "monthly", "scope": "account", "limit": 5000, "used": 5000}Headers
Section titled “Headers”Requests allowed per minute for this key.
Requests remaining in the current minute window.
Unix timestamp (seconds) when the window resets.
Seconds to wait before retrying (429 only).
Unexpected server error.
object
Human-readable error message.
Example
{ "error": "Facts lookup failed"}