API reference
The 12 live REST endpoints, generated from the OpenAPI contract (openapi/parallax.json).
This reference is generated from the committed OpenAPI contract — it cannot drift from the live API. Every field, status, and example below comes straight from the spec.
Money fields are integer minor-unit strings (pair with a currency). matched / matched_contracts
are contract COUNTS, not money. Prices are integers 0–100. See Money & numbers.
Meta
Response Body
application/json
curl -X GET "https://example.com/meta"{
"par": "1000000",
"price": {
"min": 0,
"max": 0
},
"currencies": [
"USD"
],
"algorithm_version": "string",
"api": {
"version": "string"
},
"server_time": "2019-08-24T14:15:22Z"
}Markets
Query Parameters
Phase-1 lifecycle subset (ADR-014).
Response Body
application/json
curl -X GET "https://example.com/markets"{
"data": [
{
"market_id": "string",
"spec_id": "string",
"spec_version": "string",
"family": "Binary",
"title": "string",
"phase": "Draft",
"currency": "USD",
"as_of_offset": "0000000000000128841"
}
],
"page": {
"next_cursor": "string",
"has_more": true
}
}curl -X GET "https://example.com/markets/string"{
"market_id": "string",
"spec_id": "string",
"spec_version": "string",
"family": "Binary",
"title": "string",
"phase": "Draft",
"currency": "USD",
"as_of_offset": "0000000000000128841",
"rulebook_version": "string",
"legs": [
{
"legId": "string",
"label": "string"
}
],
"par": "1000000"
}{
"error": {
"code": "string",
"message": "string",
"correlation_id": "string",
"details": {
"property1": null,
"property2": null
}
}
}curl -X GET "https://example.com/markets/string/pool"{
"market_id": "string",
"phase": "Draft",
"as_of_offset": "0000000000000128841",
"currency": "USD",
"par": "1000000",
"legs": [
{
"leg_id": "string",
"pool_funded": "1000000",
"indicative_price": 0,
"open_interest": "1000000"
}
],
"indicative_note": "string"
}{
"error": {
"code": "string",
"message": "string",
"correlation_id": "string",
"details": {
"property1": null,
"property2": null
}
}
}curl -X GET "https://example.com/markets/string/clearing"{
"market_id": "string",
"outcome": "CLEARED",
"no_clear_reason": "EMPTY",
"algorithm_version": "string",
"currency": "USD",
"as_of_offset": "0000000000000128841",
"legs": [
{
"leg_id": "string",
"clearing_price": 0,
"matched_contracts": "42",
"refunded_amount": "1000000"
}
],
"totals": {
"escrow_minor": "1000000",
"fee_minor": "1000000",
"refunded_minor": "1000000"
}
}{
"error": {
"code": "string",
"message": "string",
"correlation_id": "string",
"details": {
"property1": null,
"property2": null
}
}
}Orders
Authorization
bearer WorkOS-issued JWT — an AuthKit session token (humans). The gateway verifies it (JWKS) and maps it to a firm principal (ADR-011/022). Machine-to-machine credentials (OAuth2 client-credentials) are PLANNED, not yet issued.
In: header
Header Parameters
Client-generated UUID; dedupes the submission for 24h. SDK auto-supplies it; gateway enforces presence on writes.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
curl -X POST "https://example.com/orders" \ -H "Content-Type: application/json" \ -d '{ "market_id": "string", "leg_id": "string", "demand_amount": "1000000" }'{
"order_id": "string",
"client_order_id": "string",
"market_id": "string",
"leg_id": "string",
"book": "string",
"demand_amount": "1000000",
"limit_price": 0,
"status": "ACCEPTED",
"matched_minor": "1000000",
"refunded_minor": "1000000",
"collateral_hold": "1000000",
"currency": "USD",
"created_at": "2019-08-24T14:15:22Z",
"as_of_offset": "0000000000000128841"
}{
"error": {
"code": "string",
"message": "string",
"correlation_id": "string",
"details": {
"property1": null,
"property2": null
}
}
}{
"error": {
"code": "string",
"message": "string",
"correlation_id": "string",
"details": {
"property1": null,
"property2": null
}
}
}Portfolio — positions & collateral
Authorization
bearer WorkOS-issued JWT — an AuthKit session token (humans). The gateway verifies it (JWKS) and maps it to a firm principal (ADR-011/022). Machine-to-machine credentials (OAuth2 client-credentials) are PLANNED, not yet issued.
In: header
Response Body
application/json
curl -X GET "https://example.com/positions"{
"data": [
{
"market_id": "string",
"leg_id": "string",
"stake_minor": "1000000",
"pool_minor": "1000000",
"matched": "42",
"clearing_price": 0,
"collateral_posted": "1000000",
"settlement_status": "PENDING"
}
],
"page": {
"next_cursor": "string",
"has_more": true
}
}Authorization
bearer WorkOS-issued JWT — an AuthKit session token (humans). The gateway verifies it (JWKS) and maps it to a firm principal (ADR-011/022). Machine-to-machine credentials (OAuth2 client-credentials) are PLANNED, not yet issued.
In: header
Response Body
application/json
curl -X GET "https://example.com/accounts"{
"data": [
{
"account_id": "string",
"firm_id": "string",
"currency": "USD",
"balance": "1000000",
"held": "1000000",
"available": "1000000",
"claimable": "1000000",
"as_of_offset": "0000000000000128841"
}
],
"page": {
"next_cursor": "string",
"has_more": true
}
}Authorization
bearer WorkOS-issued JWT — an AuthKit session token (humans). The gateway verifies it (JWKS) and maps it to a firm principal (ADR-011/022). Machine-to-machine credentials (OAuth2 client-credentials) are PLANNED, not yet issued.
In: header
Path Parameters
Response Body
application/json
application/json
curl -X GET "https://example.com/accounts/string/refunds"{
"data": [
{
"refund_id": "string",
"market_id": "string",
"reason": "string",
"amount": "1000000",
"currency": "USD",
"as_of_offset": "0000000000000128841"
}
],
"page": {
"next_cursor": "string",
"has_more": true
}
}{
"error": {
"code": "string",
"message": "string",
"correlation_id": "string",
"details": {
"property1": null,
"property2": null
}
}
}Authorization
bearer WorkOS-issued JWT — an AuthKit session token (humans). The gateway verifies it (JWKS) and maps it to a firm principal (ADR-011/022). Machine-to-machine credentials (OAuth2 client-credentials) are PLANNED, not yet issued.
In: header
Path Parameters
Header Parameters
Client-generated UUID; dedupes the submission for 24h. SDK auto-supplies it; gateway enforces presence on writes.
Response Body
application/json
application/json
application/json
curl -X POST "https://example.com/accounts/string/refunds/string/claim"{
"account_id": "string",
"refund_id": "string",
"claimed_amount": "1000000",
"balance": "1000000",
"currency": "USD",
"as_of_offset": "0000000000000128841"
}{
"error": {
"code": "string",
"message": "string",
"correlation_id": "string",
"details": {
"property1": null,
"property2": null
}
}
}{
"error": {
"code": "string",
"message": "string",
"correlation_id": "string",
"details": {
"property1": null,
"property2": null
}
}
}Funding (stubbed — always 503)
These routes exist but funding rails are out of MVP scope, so they only ever return a typed 503. See the
capability matrix.
Authorization
bearer WorkOS-issued JWT — an AuthKit session token (humans). The gateway verifies it (JWKS) and maps it to a firm principal (ADR-011/022). Machine-to-machine credentials (OAuth2 client-credentials) are PLANNED, not yet issued.
In: header
Path Parameters
Header Parameters
Client-generated UUID; dedupes the submission for 24h. SDK auto-supplies it; gateway enforces presence on writes.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
curl -X POST "https://example.com/accounts/string/deposits" \ -H "Content-Type: application/json" \ -d '{ "amount": "1000000" }'{
"funding_id": "string",
"account_id": "string",
"kind": "deposit",
"amount": "1000000",
"currency": "USD",
"status": "PENDING",
"as_of_offset": "0000000000000128841"
}{
"error": {
"code": "string",
"message": "string",
"correlation_id": "string",
"details": {
"property1": null,
"property2": null
}
}
}{
"error": {
"code": "string",
"message": "string",
"correlation_id": "string",
"details": {
"property1": null,
"property2": null
}
}
}Authorization
bearer WorkOS-issued JWT — an AuthKit session token (humans). The gateway verifies it (JWKS) and maps it to a firm principal (ADR-011/022). Machine-to-machine credentials (OAuth2 client-credentials) are PLANNED, not yet issued.
In: header
Path Parameters
Header Parameters
Client-generated UUID; dedupes the submission for 24h. SDK auto-supplies it; gateway enforces presence on writes.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
curl -X POST "https://example.com/accounts/string/withdrawals" \ -H "Content-Type: application/json" \ -d '{ "amount": "1000000" }'{
"funding_id": "string",
"account_id": "string",
"kind": "deposit",
"amount": "1000000",
"currency": "USD",
"status": "PENDING",
"as_of_offset": "0000000000000128841"
}{
"error": {
"code": "string",
"message": "string",
"correlation_id": "string",
"details": {
"property1": null,
"property2": null
}
}
}{
"error": {
"code": "string",
"message": "string",
"correlation_id": "string",
"details": {
"property1": null,
"property2": null
}
}
}Interim auth (read endpoints)
A clearly-caveated stopgap — paste a WorkOS AuthKit human session token into a non-browser client to hit the read endpoints today. Machine credentials are planned; this is not production headless auth.
Operator guide
How to read the Parallax admin console — a read-only snapshot of market lifecycle, with no transition controls. Phases, NO_CLEAR, and the sign-in vs admin-role distinction explained for operators.