ParallaxDevelopers

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

GET
/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

GET
/markets

Query Parameters

phase?string

Phase-1 lifecycle subset (ADR-014).

spec_id?string
limit?integer
cursor?string

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
  }
}
GET
/markets/{marketId}

Path Parameters

marketId*string

Response Body

application/json

application/json

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
    }
  }
}
GET
/markets/{marketId}/pool

Path Parameters

marketId*string

Response Body

application/json

application/json

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
    }
  }
}
GET
/markets/{marketId}/clearing

Path Parameters

marketId*string

Response Body

application/json

application/json

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

POST
/orders
AuthorizationBearer <token>

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

idempotency-key?string

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

GET
/positions
AuthorizationBearer <token>

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
  }
}
GET
/accounts
AuthorizationBearer <token>

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
  }
}
GET
/accounts/{accountId}/refunds
AuthorizationBearer <token>

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

accountId*string

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
    }
  }
}
POST
/accounts/{accountId}/refunds/{refundId}/claim
AuthorizationBearer <token>

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

accountId*string
refundId*string

Header Parameters

idempotency-key?string

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.

POST
/accounts/{accountId}/deposits
AuthorizationBearer <token>

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

accountId*string

Header Parameters

idempotency-key?string

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
    }
  }
}
POST
/accounts/{accountId}/withdrawals
AuthorizationBearer <token>

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

accountId*string

Header Parameters

idempotency-key?string

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
    }
  }
}

On this page