Submit product feedback
0xArchive API reference for Submit product feedback. Includes authentication, parameters, response shape, examples, and route-safe implementation notes.
Machine schema
Machine schema
Authorizations
API key for authentication. Get yours at https://0xarchive.io/dashboard
Headers
Optional key with 8-128 visible ASCII characters (0x21-0x7e). Reuse it only for an identical retry; a different request with the same key returns 409.
8 - 128^[!-~]{8,128}$Selects the 2026-10 response contract. Send 2026-10-01; any dated version on or after it selects the same shapes. Without the header every response keeps its existing shape. With it:
- The data quality routes,
/v1/status/coverageand/v1/symbolsanswer the standard{success, data, meta}envelope. - Record times that are integer milliseconds by default become RFC 3339 UTC strings with millisecond precision, and the integer moves to a
*_msfield: L4 resting-ordertimestamp(timestamp_ms), CVD buckets, HIP-3 oracle reads, Lighter and Lighter on Robinhood Chain liquidations and liquidation volume. Levels and trigger-levelssnapshot_tsbecome RFC 3339 withsnapshot_ts_ms. - Error bodies carry the contract
error_codenames:invalid_parameterinstead ofinvalid_query_paramsandinvalid_path_params,historical_depth_exceededinstead ofhistory_window_exceeded, andhistorical_range_exceededinstead ofrequest_range_exceeded; a malformed cursor that fails to parse answers 400invalid_cursorinstead ofinvalid_query_params. With0xArchive-Version: 2026-10-01, malformed cursors on trades, liquidations, L2 and L4 diffs, order history, TP/SL and order-flow routes answer 400invalid_cursor. Without the header, the first six route families treat a malformed cursor as no cursor and return the first page; order flow answers 400invalid_query_params. Malformed trade time inputs answer 400invalid_time_rangewith the header and 400invalid_query_paramswithout it.
The response echoes the selected version in its own 0xArchive-Version header.
2026-10-01 "2026-10-01"
Body
A product feedback request. Anonymous submissions are allowed. Account identity is derived only from a validated credential, never from request fields. Optional structured context fields are flat on the request and share a 2,048-byte serialized limit.
Feedback type. Security reports use type=other with category=security.
bug, feature, question, other Required nonblank message, limited to 5,000 UTF-8 bytes. Include any free-text reproduction details in this field; there is no separate free-text context property.
1 - 5000Optional feedback category. Defaults to support.
support, security Optional contact email for anonymous submissions. If a credential authenticates the request, this field is ignored and the account email is used; this field never establishes account identity.
254Optional surface identifier (maximum 64 UTF-8 bytes).
Optional route identifier (maximum 512 UTF-8 bytes).
Optional venue identifier (maximum 64 UTF-8 bytes).
Optional market-family identifier (maximum 64 UTF-8 bytes).
Optional symbol identifier (maximum 128 UTF-8 bytes).
Optional data-type identifier (maximum 64 UTF-8 bytes).
Optional start timestamp in Unix milliseconds. When both start and end are supplied, start must not exceed end.
0 <= x <= 253402300799999Optional end timestamp in Unix milliseconds. When both start and end are supplied, start must not exceed end.
0 <= x <= 253402300799999Optional request identifier (maximum 128 UTF-8 bytes).
Optional error-code identifier (maximum 128 UTF-8 bytes).
Response
HTTP 202: feedback accepted with a receipt identifier.
Receipt returned when feedback has been accepted. The standard response envelope, plus the legacy message field.
true true
Response metadata. Every 2xx JSON response carries meta.request_id; list payloads add count; cursor-paged routes add has_more and, when another page follows, next_cursor; per-symbol routes add symbol and venue. Fields that do not apply to a route are omitted.
Human-readable acknowledgement kept from the earlier response. It does not promise a reply.
"Thank you for your feedback!"