CRISP partners

Request and response schemas

Exact contracts shared by HTTP endpoints and typed SDK operations.

Find an operation in the endpoint catalogue, follow a task guide for working examples, or read the SDK reference. This reference is generated from the same contract as the SDK types and OpenAPI.

The input schema describes SDK arguments: path becomes URL segments, query becomes query parameters, body is the HTTP JSON body, and idempotencyKey becomes the Idempotency-Key header. Do not send the entire SDK input wrapper as an HTTP body. Response schemas describe data inside the success envelope, not the full HTTP response. See HTTP conventions.

JSON below is a schema, not a request example. Exact money uses decimal strings; venue-owned extensions are explicitly open objects.

getCapabilities

GET /v1/capabilities

SDK: crisp.call('getCapabilities', input). Idempotency-Key: not required.

SDK input schema (path, query, body and key)
{
  "type": "object",
  "properties": {},
  "required": [],
  "additionalProperties": false
}
Response data schema (HTTP 200)
{
  "type": "object",
  "properties": {
    "venue": {
      "type": "string"
    },
    "accounts": {
      "type": "string"
    },
    "profile": {
      "type": "string"
    },
    "wallet": {
      "type": "string"
    },
    "orders": {
      "type": "string"
    },
    "tradingStatus": {
      "type": "string"
    },
    "orderPrewarm": {
      "type": "string"
    },
    "orderRequirements": {
      "type": "string"
    },
    "positions": {
      "type": "string"
    },
    "trades": {
      "type": "string"
    },
    "eventsMarketsBooks": {
      "type": "string"
    },
    "localization": {
      "type": "string"
    },
    "depositInstructions": {
      "type": "string"
    },
    "depositQuotes": {
      "type": "string"
    },
    "withdrawalQuotes": {
      "type": "string"
    },
    "transfers": {
      "type": "string"
    },
    "withdrawals": {
      "type": "string"
    },
    "partnerFees": {
      "type": "string"
    },
    "analytics": {
      "type": "string"
    },
    "trafficAnalytics": {
      "type": "string"
    }
  },
  "required": [
    "venue",
    "accounts",
    "profile",
    "wallet",
    "orders",
    "tradingStatus",
    "orderPrewarm",
    "orderRequirements",
    "positions",
    "trades",
    "eventsMarketsBooks",
    "localization",
    "depositInstructions",
    "depositQuotes",
    "withdrawalQuotes",
    "transfers",
    "withdrawals",
    "partnerFees",
    "analytics",
    "trafficAnalytics"
  ],
  "additionalProperties": false
}

getTradingStatus

GET /v1/trading-status

SDK: crisp.call('getTradingStatus', input). Idempotency-Key: not required.

SDK input schema (path, query, body and key)
{
  "type": "object",
  "properties": {},
  "required": [],
  "additionalProperties": false
}
Response data schema (HTTP 200)
{
  "type": "object",
  "properties": {
    "mode": {
      "type": "string",
      "enum": [
        "normal",
        "cancel-only",
        "disabled"
      ]
    },
    "provider": {
      "type": "object",
      "properties": {
        "available": {
          "type": "boolean"
        },
        "pageStatus": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "activeIncidents": {
          "type": "integer",
          "minimum": 0
        },
        "activeMaintenances": {
          "type": "integer",
          "minimum": 0
        },
        "checkedAt": {
          "type": "string",
          "format": "date-time"
        }
      },
      "required": [
        "available",
        "pageStatus",
        "activeIncidents",
        "activeMaintenances",
        "checkedAt"
      ],
      "additionalProperties": false
    },
    "banner": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "id": {
              "type": "string"
            },
            "visible": {
              "type": "boolean"
            },
            "severity": {
              "type": "string",
              "enum": [
                "info",
                "warning",
                "critical"
              ]
            },
            "message": {
              "type": "string"
            },
            "statusPageUrl": {
              "type": "string"
            }
          },
          "required": [
            "id",
            "visible",
            "severity",
            "message",
            "statusPageUrl"
          ],
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "required": [
    "mode",
    "provider",
    "banner"
  ],
  "additionalProperties": false
}

createAccount

POST /v1/accounts

SDK: crisp.call('createAccount', input). Idempotency-Key: required.

SDK input schema (path, query, body and key)
{
  "type": "object",
  "properties": {
    "body": {
      "type": "object",
      "properties": {
        "externalUserId": {
          "type": "string",
          "pattern": "^[A-Za-z0-9._:@-]{1,200}$"
        },
        "email": {
          "type": "string",
          "format": "email",
          "maxLength": 254
        },
        "externalWalletAddress": {
          "type": "string",
          "pattern": "^0x[0-9a-fA-F]{40}$"
        },
        "externalIdentity": {
          "type": "object",
          "properties": {
            "label": {
              "type": "string",
              "pattern": "^[A-Za-z][A-Za-z0-9 _-]{0,63}$"
            },
            "value": {
              "type": "string",
              "minLength": 1,
              "maxLength": 320
            }
          },
          "required": [
            "label",
            "value"
          ],
          "additionalProperties": false
        },
        "referrerExternalUserId": {
          "type": "string",
          "pattern": "^[A-Za-z0-9._:@-]{1,200}$"
        }
      },
      "required": [
        "externalUserId"
      ],
      "additionalProperties": false
    },
    "idempotencyKey": {
      "type": "string",
      "pattern": "^[A-Za-z0-9._:-]{8,200}$"
    }
  },
  "required": [
    "body",
    "idempotencyKey"
  ],
  "additionalProperties": false
}
Response data schema (HTTP 202)
{
  "type": "object",
  "properties": {
    "crispAccountId": {
      "type": "string",
      "format": "uuid"
    },
    "externalUserId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9._:@-]{1,200}$"
    },
    "status": {
      "type": "string",
      "enum": [
        "provisioning",
        "wallet_pending",
        "polymarket_pending",
        "identity_pending",
        "ready",
        "failed",
        "revoked"
      ],
      "description": "identity_pending is a legacy read state, not a supported new onboarding flow."
    },
    "failureCode": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "createdAt": {
      "type": "string",
      "format": "date-time"
    },
    "updatedAt": {
      "type": "string",
      "format": "date-time"
    }
  },
  "required": [
    "crispAccountId",
    "externalUserId",
    "status",
    "failureCode",
    "createdAt",
    "updatedAt"
  ],
  "additionalProperties": false
}

listAccounts

GET /v1/accounts

SDK: crisp.call('listAccounts', input). Idempotency-Key: not required.

SDK input schema (path, query, body and key)
{
  "type": "object",
  "properties": {
    "query": {
      "type": "object",
      "properties": {
        "limit": {
          "type": "integer",
          "minimum": 1,
          "maximum": 200,
          "default": 50
        },
        "offset": {
          "type": "integer",
          "minimum": 0
        },
        "status": {
          "type": "string",
          "enum": [
            "provisioning",
            "wallet_pending",
            "polymarket_pending",
            "identity_pending",
            "ready",
            "failed",
            "revoked"
          ],
          "description": "identity_pending is a legacy read state, not a supported new onboarding flow."
        }
      },
      "required": [],
      "additionalProperties": false
    }
  },
  "required": [],
  "additionalProperties": false
}
Response data schema (HTTP 200)
{
  "type": "object",
  "properties": {
    "accounts": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "crispAccountId": {
            "type": "string",
            "format": "uuid"
          },
          "externalUserId": {
            "type": "string",
            "pattern": "^[A-Za-z0-9._:@-]{1,200}$"
          },
          "status": {
            "type": "string",
            "enum": [
              "provisioning",
              "wallet_pending",
              "polymarket_pending",
              "identity_pending",
              "ready",
              "failed",
              "revoked"
            ],
            "description": "identity_pending is a legacy read state, not a supported new onboarding flow."
          },
          "failureCode": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "crispAccountId",
          "externalUserId",
          "status",
          "failureCode",
          "createdAt",
          "updatedAt"
        ],
        "additionalProperties": false
      }
    },
    "total": {
      "type": "integer",
      "minimum": 0
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 200,
      "default": 50
    },
    "offset": {
      "type": "integer",
      "minimum": 0
    }
  },
  "required": [
    "accounts",
    "total",
    "limit",
    "offset"
  ],
  "additionalProperties": false
}

getAccount

GET /v1/accounts/{externalUserId}

SDK: crisp.call('getAccount', input). Idempotency-Key: not required.

SDK input schema (path, query, body and key)
{
  "type": "object",
  "properties": {
    "path": {
      "type": "object",
      "properties": {
        "externalUserId": {
          "type": "string",
          "pattern": "^[A-Za-z0-9._:@-]{1,200}$"
        }
      },
      "required": [
        "externalUserId"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "path"
  ],
  "additionalProperties": false
}
Response data schema (HTTP 200)
{
  "type": "object",
  "properties": {
    "crispAccountId": {
      "type": "string",
      "format": "uuid"
    },
    "externalUserId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9._:@-]{1,200}$"
    },
    "status": {
      "type": "string",
      "enum": [
        "provisioning",
        "wallet_pending",
        "polymarket_pending",
        "identity_pending",
        "ready",
        "failed",
        "revoked"
      ],
      "description": "identity_pending is a legacy read state, not a supported new onboarding flow."
    },
    "failureCode": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "createdAt": {
      "type": "string",
      "format": "date-time"
    },
    "updatedAt": {
      "type": "string",
      "format": "date-time"
    }
  },
  "required": [
    "crispAccountId",
    "externalUserId",
    "status",
    "failureCode",
    "createdAt",
    "updatedAt"
  ],
  "additionalProperties": false
}

getProfile

GET /v1/accounts/{externalUserId}/profile

SDK: crisp.call('getProfile', input). Idempotency-Key: not required.

SDK input schema (path, query, body and key)
{
  "type": "object",
  "properties": {
    "path": {
      "type": "object",
      "properties": {
        "externalUserId": {
          "type": "string",
          "pattern": "^[A-Za-z0-9._:@-]{1,200}$"
        }
      },
      "required": [
        "externalUserId"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "path"
  ],
  "additionalProperties": false
}
Response data schema (HTTP 200)
{
  "type": "object",
  "properties": {
    "crispAccountId": {
      "type": "string",
      "format": "uuid"
    },
    "externalUserId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9._:@-]{1,200}$"
    },
    "externalIdentity": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "label": {
              "type": "string",
              "pattern": "^[A-Za-z][A-Za-z0-9 _-]{0,63}$"
            },
            "value": {
              "type": "string",
              "minLength": 1,
              "maxLength": 320
            }
          },
          "required": [
            "label",
            "value"
          ],
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ]
    },
    "profile": {
      "type": "object",
      "properties": {
        "email": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "emailVerified": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ]
        },
        "username": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "displayName": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "externalWalletAddress": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "externalWalletAddressVerified": {
          "type": "boolean"
        }
      },
      "required": [
        "email",
        "emailVerified",
        "username",
        "displayName",
        "externalWalletAddress",
        "externalWalletAddressVerified"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "crispAccountId",
    "externalUserId",
    "externalIdentity",
    "profile"
  ],
  "additionalProperties": false
}

getWallet

GET /v1/accounts/{externalUserId}/wallet

SDK: crisp.call('getWallet', input). Idempotency-Key: not required.

SDK input schema (path, query, body and key)
{
  "type": "object",
  "properties": {
    "path": {
      "type": "object",
      "properties": {
        "externalUserId": {
          "type": "string",
          "pattern": "^[A-Za-z0-9._:@-]{1,200}$"
        }
      },
      "required": [
        "externalUserId"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "path"
  ],
  "additionalProperties": false
}
Response data schema (HTTP 200)
{
  "type": "object",
  "properties": {
    "crispAccountId": {
      "type": "string",
      "format": "uuid"
    },
    "externalUserId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9._:@-]{1,200}$"
    },
    "status": {
      "type": "string",
      "enum": [
        "provisioning",
        "wallet_pending",
        "polymarket_pending",
        "identity_pending",
        "ready",
        "failed",
        "revoked"
      ],
      "description": "identity_pending is a legacy read state, not a supported new onboarding flow."
    },
    "wallet": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "address": {
              "type": "string"
            },
            "tradingAddress": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ]
            },
            "type": {
              "type": "string"
            },
            "onboardingStatus": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ]
            },
            "tradeBlockedAt": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ]
            },
            "tradeBlockReason": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ]
            }
          },
          "required": [
            "address",
            "tradingAddress",
            "type",
            "onboardingStatus",
            "tradeBlockedAt",
            "tradeBlockReason"
          ],
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "required": [
    "crispAccountId",
    "externalUserId",
    "status",
    "wallet"
  ],
  "additionalProperties": false
}

createOrderCellCapability

POST /v1/accounts/{externalUserId}/order-cell-capability

SDK: crisp.call('createOrderCellCapability', input). Idempotency-Key: not required.

SDK input schema (path, query, body and key)
{
  "type": "object",
  "properties": {
    "path": {
      "type": "object",
      "properties": {
        "externalUserId": {
          "type": "string",
          "pattern": "^[A-Za-z0-9._:@-]{1,200}$"
        }
      },
      "required": [
        "externalUserId"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "path"
  ],
  "additionalProperties": false
}
Response data schema (HTTP 200)
{
  "type": "object",
  "properties": {
    "execution": {
      "type": "object",
      "properties": {
        "endpoint": {
          "type": "string"
        },
        "capability": {
          "type": "string"
        },
        "expiresAt": {
          "type": "string",
          "format": "date-time"
        }
      },
      "required": [
        "endpoint",
        "capability",
        "expiresAt"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "execution"
  ],
  "additionalProperties": false
}

placeOrder

POST /v1/accounts/{externalUserId}/orders

SDK: crisp.call('placeOrder', input). Idempotency-Key: required.

SDK input schema (path, query, body and key)
{
  "type": "object",
  "properties": {
    "path": {
      "type": "object",
      "properties": {
        "externalUserId": {
          "type": "string",
          "pattern": "^[A-Za-z0-9._:@-]{1,200}$"
        }
      },
      "required": [
        "externalUserId"
      ],
      "additionalProperties": false
    },
    "body": {
      "oneOf": [
        {
          "type": "object",
          "properties": {
            "marketId": {
              "type": "string"
            },
            "tokenId": {
              "type": "string",
              "pattern": "^(0|[1-9]\\d{0,100})$"
            },
            "side": {
              "type": "string",
              "enum": [
                "BUY",
                "SELL"
              ]
            },
            "type": {
              "type": "string",
              "enum": [
                "market"
              ]
            },
            "amount": {
              "type": "string",
              "pattern": "^(?=\\d+(?:\\.\\d+)?$)(?=.*[1-9]).+$",
              "description": "Exact decimal string. Never use floating point for ledger arithmetic."
            },
            "price": {
              "type": "string",
              "pattern": "^\\d+(?:\\.\\d+)?$",
              "description": "Exact decimal string. Never use floating point for ledger arithmetic."
            },
            "size": {
              "type": "string",
              "pattern": "^\\d+(?:\\.\\d+)?$",
              "description": "Exact decimal string. Never use floating point for ledger arithmetic."
            },
            "priceLimit": {
              "type": "string",
              "pattern": "^\\d+(?:\\.\\d+)?$",
              "description": "Exact decimal string. Never use floating point for ledger arithmetic."
            },
            "orderType": {
              "type": "string"
            },
            "expiresInSeconds": {
              "type": "integer",
              "minimum": 0
            },
            "outcomeIndex": {
              "type": "integer",
              "minimum": 0
            },
            "tickSize": {
              "type": "string",
              "pattern": "^\\d+(?:\\.\\d+)?$",
              "description": "Exact decimal string. Never use floating point for ledger arithmetic."
            },
            "negRisk": {
              "type": "boolean"
            }
          },
          "required": [
            "marketId",
            "tokenId",
            "side",
            "type",
            "amount"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "marketId": {
              "type": "string"
            },
            "tokenId": {
              "type": "string",
              "pattern": "^(0|[1-9]\\d{0,100})$"
            },
            "side": {
              "type": "string",
              "enum": [
                "BUY",
                "SELL"
              ]
            },
            "type": {
              "type": "string",
              "enum": [
                "limit"
              ]
            },
            "amount": {
              "type": "string",
              "pattern": "^\\d+(?:\\.\\d+)?$",
              "description": "Exact decimal string. Never use floating point for ledger arithmetic."
            },
            "price": {
              "type": "string",
              "pattern": "^0?\\.(?=\\d*[1-9])\\d+$",
              "description": "Exact decimal string. Never use floating point for ledger arithmetic."
            },
            "size": {
              "type": "string",
              "pattern": "^(?=\\d+(?:\\.\\d+)?$)(?=.*[1-9]).+$",
              "description": "Exact decimal string. Never use floating point for ledger arithmetic."
            },
            "priceLimit": {
              "type": "string",
              "pattern": "^\\d+(?:\\.\\d+)?$",
              "description": "Exact decimal string. Never use floating point for ledger arithmetic."
            },
            "orderType": {
              "type": "string"
            },
            "expiresInSeconds": {
              "type": "integer",
              "minimum": 0
            },
            "outcomeIndex": {
              "type": "integer",
              "minimum": 0
            },
            "tickSize": {
              "type": "string",
              "pattern": "^\\d+(?:\\.\\d+)?$",
              "description": "Exact decimal string. Never use floating point for ledger arithmetic."
            },
            "negRisk": {
              "type": "boolean"
            }
          },
          "required": [
            "marketId",
            "tokenId",
            "side",
            "type",
            "price",
            "size"
          ],
          "additionalProperties": false
        }
      ],
      "description": "Market BUY amount is a cash budget; market SELL amount is shares. Limit requires price and size. priceLimit is optional market slippage protection. Legacy numeric monetary inputs are accepted by the API; new clients use decimal strings."
    },
    "idempotencyKey": {
      "type": "string",
      "pattern": "^[A-Za-z0-9._:-]{8,200}$"
    }
  },
  "required": [
    "path",
    "body",
    "idempotencyKey"
  ],
  "additionalProperties": false
}
Response data schema (HTTP 202)
{
  "type": "object",
  "properties": {
    "crispAccountId": {
      "type": "string",
      "format": "uuid"
    },
    "externalUserId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9._:@-]{1,200}$"
    },
    "command": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "format": "uuid"
        },
        "state": {
          "type": "string",
          "enum": [
            "queued",
            "running",
            "retryable",
            "succeeded",
            "failed",
            "ambiguous"
          ]
        },
        "failureCode": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "id",
        "state",
        "failureCode"
      ],
      "additionalProperties": false
    },
    "order": {
      "type": "object",
      "properties": {
        "id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "marketId": {
          "type": "string"
        },
        "tokenId": {
          "type": "string"
        },
        "side": {
          "type": "string"
        },
        "type": {
          "type": "string"
        },
        "status": {
          "type": "string"
        },
        "fill": {
          "anyOf": [
            {
              "type": "object",
              "additionalProperties": true,
              "description": "Venue-owned JSON extension; fields are not a stable CRISP contract. Handle missing fields."
            },
            {
              "type": "null"
            }
          ]
        },
        "priceLimit": {
          "anyOf": [
            {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "number"
                }
              ]
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "id",
        "marketId",
        "tokenId",
        "side",
        "type",
        "status",
        "fill",
        "priceLimit"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "crispAccountId",
    "externalUserId",
    "command",
    "order"
  ],
  "additionalProperties": false
}

prewarmOrders

POST /v1/accounts/{externalUserId}/orders/prewarm

SDK: crisp.call('prewarmOrders', input). Idempotency-Key: not required.

SDK input schema (path, query, body and key)
{
  "type": "object",
  "properties": {
    "path": {
      "type": "object",
      "properties": {
        "externalUserId": {
          "type": "string",
          "pattern": "^[A-Za-z0-9._:@-]{1,200}$"
        }
      },
      "required": [
        "externalUserId"
      ],
      "additionalProperties": false
    },
    "body": {
      "type": "object",
      "properties": {
        "tokenIds": {
          "type": "array",
          "items": {
            "type": "string",
            "pattern": "^(0|[1-9]\\d{0,100})$"
          },
          "minItems": 1,
          "maxItems": 2
        }
      },
      "required": [
        "tokenIds"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "path",
    "body"
  ],
  "additionalProperties": false
}
Response data schema (HTTP 200)
{
  "type": "object",
  "properties": {
    "tokenIds": {
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^(0|[1-9]\\d{0,100})$"
      }
    },
    "warmed": {
      "type": "boolean"
    },
    "skipped": {
      "type": "string"
    }
  },
  "required": [
    "tokenIds",
    "warmed"
  ],
  "additionalProperties": false
}

listOrders

GET /v1/accounts/{externalUserId}/orders

SDK: crisp.call('listOrders', input). Idempotency-Key: not required.

SDK input schema (path, query, body and key)
{
  "type": "object",
  "properties": {
    "path": {
      "type": "object",
      "properties": {
        "externalUserId": {
          "type": "string",
          "pattern": "^[A-Za-z0-9._:@-]{1,200}$"
        }
      },
      "required": [
        "externalUserId"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "path"
  ],
  "additionalProperties": false
}
Response data schema (HTTP 200)
{
  "type": "object",
  "properties": {
    "crispAccountId": {
      "type": "string",
      "format": "uuid"
    },
    "externalUserId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9._:@-]{1,200}$"
    },
    "orders": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": true,
        "description": "Venue-owned JSON extension; fields are not a stable CRISP contract. Handle missing fields."
      }
    }
  },
  "required": [
    "crispAccountId",
    "externalUserId",
    "orders"
  ],
  "additionalProperties": false
}

getOperation

GET /v1/accounts/{externalUserId}/operations/{operationId}

SDK: crisp.call('getOperation', input). Idempotency-Key: not required.

SDK input schema (path, query, body and key)
{
  "type": "object",
  "properties": {
    "path": {
      "type": "object",
      "properties": {
        "externalUserId": {
          "type": "string",
          "pattern": "^[A-Za-z0-9._:@-]{1,200}$"
        },
        "operationId": {
          "type": "string",
          "format": "uuid"
        }
      },
      "required": [
        "externalUserId",
        "operationId"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "path"
  ],
  "additionalProperties": false
}
Response data schema (HTTP 200)
{
  "type": "object",
  "properties": {
    "operation": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "format": "uuid"
        },
        "operation": {
          "type": "string",
          "enum": [
            "order.place",
            "order.cancel",
            "position.redeem"
          ]
        },
        "state": {
          "type": "string",
          "enum": [
            "queued",
            "running",
            "retryable",
            "succeeded",
            "failed",
            "ambiguous"
          ]
        },
        "terminal": {
          "type": "boolean"
        },
        "outcomeUnknown": {
          "type": "boolean"
        },
        "failureCode": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "orderId": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "redemption": {
          "anyOf": [
            {
              "type": "object",
              "properties": {
                "transactionHash": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "count": {
                  "type": "integer",
                  "minimum": 0
                },
                "total": {
                  "type": "integer",
                  "minimum": 0
                },
                "conditionIds": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "fallback": {
                  "type": "boolean"
                }
              },
              "required": [
                "transactionHash",
                "count",
                "total",
                "conditionIds",
                "fallback"
              ],
              "additionalProperties": false
            },
            {
              "type": "null"
            }
          ]
        },
        "createdAt": {
          "type": "string",
          "format": "date-time"
        },
        "updatedAt": {
          "type": "string",
          "format": "date-time"
        }
      },
      "required": [
        "id",
        "operation",
        "state",
        "terminal",
        "outcomeUnknown",
        "failureCode",
        "orderId",
        "redemption",
        "createdAt",
        "updatedAt"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "operation"
  ],
  "additionalProperties": false
}

findOperation

GET /v1/accounts/{externalUserId}/operations

SDK: crisp.call('findOperation', input). Idempotency-Key: not required.

SDK input schema (path, query, body and key)
{
  "type": "object",
  "properties": {
    "path": {
      "type": "object",
      "properties": {
        "externalUserId": {
          "type": "string",
          "pattern": "^[A-Za-z0-9._:@-]{1,200}$"
        }
      },
      "required": [
        "externalUserId"
      ],
      "additionalProperties": false
    },
    "query": {
      "type": "object",
      "properties": {
        "operation": {
          "type": "string",
          "enum": [
            "order.place",
            "order.cancel",
            "position.redeem"
          ]
        },
        "idempotencyKey": {
          "type": "string",
          "pattern": "^[A-Za-z0-9._:-]{8,200}$"
        }
      },
      "required": [
        "operation",
        "idempotencyKey"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "path",
    "query"
  ],
  "additionalProperties": false
}
Response data schema (HTTP 200)
{
  "type": "object",
  "properties": {
    "operation": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "format": "uuid"
        },
        "operation": {
          "type": "string",
          "enum": [
            "order.place",
            "order.cancel",
            "position.redeem"
          ]
        },
        "state": {
          "type": "string",
          "enum": [
            "queued",
            "running",
            "retryable",
            "succeeded",
            "failed",
            "ambiguous"
          ]
        },
        "terminal": {
          "type": "boolean"
        },
        "outcomeUnknown": {
          "type": "boolean"
        },
        "failureCode": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "orderId": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "redemption": {
          "anyOf": [
            {
              "type": "object",
              "properties": {
                "transactionHash": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "count": {
                  "type": "integer",
                  "minimum": 0
                },
                "total": {
                  "type": "integer",
                  "minimum": 0
                },
                "conditionIds": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "fallback": {
                  "type": "boolean"
                }
              },
              "required": [
                "transactionHash",
                "count",
                "total",
                "conditionIds",
                "fallback"
              ],
              "additionalProperties": false
            },
            {
              "type": "null"
            }
          ]
        },
        "createdAt": {
          "type": "string",
          "format": "date-time"
        },
        "updatedAt": {
          "type": "string",
          "format": "date-time"
        }
      },
      "required": [
        "id",
        "operation",
        "state",
        "terminal",
        "outcomeUnknown",
        "failureCode",
        "orderId",
        "redemption",
        "createdAt",
        "updatedAt"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "operation"
  ],
  "additionalProperties": false
}

listTradeFills

GET /v1/accounts/{externalUserId}/trade-fills

SDK: crisp.call('listTradeFills', input). Idempotency-Key: not required.

SDK input schema (path, query, body and key)
{
  "type": "object",
  "properties": {
    "path": {
      "type": "object",
      "properties": {
        "externalUserId": {
          "type": "string",
          "pattern": "^[A-Za-z0-9._:@-]{1,200}$"
        }
      },
      "required": [
        "externalUserId"
      ],
      "additionalProperties": false
    },
    "query": {
      "type": "object",
      "properties": {
        "from": {
          "type": "string",
          "format": "date-time"
        },
        "to": {
          "type": "string",
          "format": "date-time"
        },
        "limit": {
          "type": "integer",
          "minimum": 1,
          "maximum": 100,
          "default": 50
        },
        "cursor": {
          "type": "string"
        }
      },
      "required": [
        "from",
        "to"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "path",
    "query"
  ],
  "additionalProperties": false
}
Response data schema (HTTP 200)
{
  "type": "object",
  "properties": {
    "crispAccountId": {
      "type": "string",
      "format": "uuid"
    },
    "externalUserId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9._:@-]{1,200}$"
    },
    "window": {
      "type": "object",
      "properties": {
        "from": {
          "type": "string",
          "format": "date-time"
        },
        "to": {
          "type": "string",
          "format": "date-time"
        }
      },
      "required": [
        "from",
        "to"
      ],
      "additionalProperties": false
    },
    "fills": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "venue": {
            "type": "string"
          },
          "upstreamFillId": {
            "type": "string"
          },
          "clobOrderId": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "clientOrderId": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "matchedAt": {
            "type": "string",
            "format": "date-time"
          },
          "marketId": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "marketTitle": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "assetId": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "outcome": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "side": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "price": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^\\d+(?:\\.\\d+)?$",
                "description": "Exact decimal string. Never use floating point for ledger arithmetic."
              },
              {
                "type": "null"
              }
            ]
          },
          "shares": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^\\d+(?:\\.\\d+)?$",
                "description": "Exact decimal string. Never use floating point for ledger arithmetic."
              },
              {
                "type": "null"
              }
            ]
          },
          "notionalUsdc": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^\\d+(?:\\.\\d+)?$",
                "description": "Exact decimal string. Never use floating point for ledger arithmetic."
              },
              {
                "type": "null"
              }
            ]
          },
          "venueFeeUsdc": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^\\d+(?:\\.\\d+)?$",
                "description": "Exact decimal string. Never use floating point for ledger arithmetic."
              },
              {
                "type": "null"
              }
            ]
          },
          "venueTransactionHash": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "venueStatus": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "fee": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "collectionId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "amountUsdc": {
                    "type": "string",
                    "pattern": "^\\d+(?:\\.\\d+)?$",
                    "description": "Exact decimal string. Never use floating point for ledger arithmetic."
                  },
                  "state": {
                    "type": "string",
                    "enum": [
                      "queued",
                      "submitting",
                      "submitted",
                      "settled",
                      "manual_review"
                    ]
                  },
                  "transactionHash": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "allocations": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "recipientType": {
                          "type": "string",
                          "enum": [
                            "crisp_revenue",
                            "partner_treasury",
                            "referral"
                          ]
                        },
                        "referralLevel": {
                          "anyOf": [
                            {
                              "type": "integer",
                              "minimum": 0
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "beneficiaryAccountId": {
                          "anyOf": [
                            {
                              "type": "string",
                              "format": "uuid"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "amountUsdc": {
                          "type": "string",
                          "pattern": "^\\d+(?:\\.\\d+)?$",
                          "description": "Exact decimal string. Never use floating point for ledger arithmetic."
                        },
                        "destinationAddress": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "payout": {
                          "anyOf": [
                            {
                              "type": "object",
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "state": {
                                  "type": "string",
                                  "enum": [
                                    "queued",
                                    "submitting",
                                    "submitted",
                                    "settled",
                                    "manual_review"
                                  ]
                                },
                                "batchAmountUsdc": {
                                  "type": "string",
                                  "pattern": "^\\d+(?:\\.\\d+)?$",
                                  "description": "Exact decimal string. Never use floating point for ledger arithmetic."
                                },
                                "transactionHash": {
                                  "anyOf": [
                                    {
                                      "type": "string"
                                    },
                                    {
                                      "type": "null"
                                    }
                                  ]
                                }
                              },
                              "required": [
                                "id",
                                "state",
                                "batchAmountUsdc",
                                "transactionHash"
                              ],
                              "additionalProperties": false
                            },
                            {
                              "type": "null"
                            }
                          ]
                        }
                      },
                      "required": [
                        "recipientType",
                        "referralLevel",
                        "beneficiaryAccountId",
                        "amountUsdc",
                        "destinationAddress",
                        "payout"
                      ],
                      "additionalProperties": false
                    }
                  }
                },
                "required": [
                  "collectionId",
                  "amountUsdc",
                  "state",
                  "transactionHash",
                  "allocations"
                ],
                "additionalProperties": false
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "id",
          "venue",
          "upstreamFillId",
          "clobOrderId",
          "clientOrderId",
          "matchedAt",
          "marketId",
          "marketTitle",
          "assetId",
          "outcome",
          "side",
          "price",
          "shares",
          "notionalUsdc",
          "venueFeeUsdc",
          "venueTransactionHash",
          "venueStatus",
          "fee"
        ],
        "additionalProperties": false
      }
    },
    "cursor": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "hasMore": {
      "type": "boolean"
    }
  },
  "required": [
    "crispAccountId",
    "externalUserId",
    "window",
    "fills",
    "cursor",
    "hasMore"
  ],
  "additionalProperties": false
}

listOrderTradeFills

GET /v1/accounts/{externalUserId}/orders/{orderId}/trade-fills

SDK: crisp.call('listOrderTradeFills', input). Idempotency-Key: not required.

SDK input schema (path, query, body and key)
{
  "type": "object",
  "properties": {
    "path": {
      "type": "object",
      "properties": {
        "externalUserId": {
          "type": "string",
          "pattern": "^[A-Za-z0-9._:@-]{1,200}$"
        },
        "orderId": {
          "type": "string"
        }
      },
      "required": [
        "externalUserId",
        "orderId"
      ],
      "additionalProperties": false
    },
    "query": {
      "type": "object",
      "properties": {
        "limit": {
          "type": "integer",
          "minimum": 1,
          "maximum": 200,
          "default": 100
        },
        "cursor": {
          "type": "string"
        }
      },
      "required": [],
      "additionalProperties": false
    }
  },
  "required": [
    "path"
  ],
  "additionalProperties": false
}
Response data schema (HTTP 200)
{
  "type": "object",
  "properties": {
    "crispAccountId": {
      "type": "string",
      "format": "uuid"
    },
    "externalUserId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9._:@-]{1,200}$"
    },
    "orderId": {
      "type": "string"
    },
    "fills": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "venue": {
            "type": "string"
          },
          "upstreamFillId": {
            "type": "string"
          },
          "clobOrderId": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "clientOrderId": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "matchedAt": {
            "type": "string",
            "format": "date-time"
          },
          "marketId": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "marketTitle": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "assetId": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "outcome": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "side": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "price": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^\\d+(?:\\.\\d+)?$",
                "description": "Exact decimal string. Never use floating point for ledger arithmetic."
              },
              {
                "type": "null"
              }
            ]
          },
          "shares": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^\\d+(?:\\.\\d+)?$",
                "description": "Exact decimal string. Never use floating point for ledger arithmetic."
              },
              {
                "type": "null"
              }
            ]
          },
          "notionalUsdc": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^\\d+(?:\\.\\d+)?$",
                "description": "Exact decimal string. Never use floating point for ledger arithmetic."
              },
              {
                "type": "null"
              }
            ]
          },
          "venueFeeUsdc": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^\\d+(?:\\.\\d+)?$",
                "description": "Exact decimal string. Never use floating point for ledger arithmetic."
              },
              {
                "type": "null"
              }
            ]
          },
          "venueTransactionHash": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "venueStatus": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "fee": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "collectionId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "amountUsdc": {
                    "type": "string",
                    "pattern": "^\\d+(?:\\.\\d+)?$",
                    "description": "Exact decimal string. Never use floating point for ledger arithmetic."
                  },
                  "state": {
                    "type": "string",
                    "enum": [
                      "queued",
                      "submitting",
                      "submitted",
                      "settled",
                      "manual_review"
                    ]
                  },
                  "transactionHash": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "allocations": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "recipientType": {
                          "type": "string",
                          "enum": [
                            "crisp_revenue",
                            "partner_treasury",
                            "referral"
                          ]
                        },
                        "referralLevel": {
                          "anyOf": [
                            {
                              "type": "integer",
                              "minimum": 0
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "beneficiaryAccountId": {
                          "anyOf": [
                            {
                              "type": "string",
                              "format": "uuid"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "amountUsdc": {
                          "type": "string",
                          "pattern": "^\\d+(?:\\.\\d+)?$",
                          "description": "Exact decimal string. Never use floating point for ledger arithmetic."
                        },
                        "destinationAddress": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "payout": {
                          "anyOf": [
                            {
                              "type": "object",
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "state": {
                                  "type": "string",
                                  "enum": [
                                    "queued",
                                    "submitting",
                                    "submitted",
                                    "settled",
                                    "manual_review"
                                  ]
                                },
                                "batchAmountUsdc": {
                                  "type": "string",
                                  "pattern": "^\\d+(?:\\.\\d+)?$",
                                  "description": "Exact decimal string. Never use floating point for ledger arithmetic."
                                },
                                "transactionHash": {
                                  "anyOf": [
                                    {
                                      "type": "string"
                                    },
                                    {
                                      "type": "null"
                                    }
                                  ]
                                }
                              },
                              "required": [
                                "id",
                                "state",
                                "batchAmountUsdc",
                                "transactionHash"
                              ],
                              "additionalProperties": false
                            },
                            {
                              "type": "null"
                            }
                          ]
                        }
                      },
                      "required": [
                        "recipientType",
                        "referralLevel",
                        "beneficiaryAccountId",
                        "amountUsdc",
                        "destinationAddress",
                        "payout"
                      ],
                      "additionalProperties": false
                    }
                  }
                },
                "required": [
                  "collectionId",
                  "amountUsdc",
                  "state",
                  "transactionHash",
                  "allocations"
                ],
                "additionalProperties": false
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "id",
          "venue",
          "upstreamFillId",
          "clobOrderId",
          "clientOrderId",
          "matchedAt",
          "marketId",
          "marketTitle",
          "assetId",
          "outcome",
          "side",
          "price",
          "shares",
          "notionalUsdc",
          "venueFeeUsdc",
          "venueTransactionHash",
          "venueStatus",
          "fee"
        ],
        "additionalProperties": false
      }
    },
    "cursor": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "hasMore": {
      "type": "boolean"
    }
  },
  "required": [
    "crispAccountId",
    "externalUserId",
    "orderId",
    "fills",
    "cursor",
    "hasMore"
  ],
  "additionalProperties": false
}

listUpdates

GET /v1/accounts/{externalUserId}/updates

SDK: crisp.call('listUpdates', input). Idempotency-Key: not required.

SDK input schema (path, query, body and key)
{
  "type": "object",
  "properties": {
    "path": {
      "type": "object",
      "properties": {
        "externalUserId": {
          "type": "string",
          "pattern": "^[A-Za-z0-9._:@-]{1,200}$"
        }
      },
      "required": [
        "externalUserId"
      ],
      "additionalProperties": false
    },
    "query": {
      "type": "object",
      "properties": {
        "cursor": {
          "type": "string",
          "pattern": "^\\d+$"
        },
        "limit": {
          "type": "integer",
          "minimum": 1,
          "maximum": 200,
          "default": 100
        }
      },
      "required": [],
      "additionalProperties": false
    }
  },
  "required": [
    "path"
  ],
  "additionalProperties": false
}
Response data schema (HTTP 200)
{
  "type": "object",
  "properties": {
    "crispAccountId": {
      "type": "string",
      "format": "uuid"
    },
    "externalUserId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9._:@-]{1,200}$"
    },
    "events": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "cursor": {
            "type": "string"
          },
          "version": {
            "type": "integer",
            "enum": [
              1
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "account.status_changed",
              "order.updated",
              "trade.recorded",
              "balance.updated",
              "funding.updated",
              "withdrawal.updated",
              "position.redeemed",
              "settlement.updated",
              "reconciliation.completed"
            ]
          },
          "externalUserId": {
            "type": "string",
            "pattern": "^[A-Za-z0-9._:@-]{1,200}$"
          },
          "accountId": {
            "type": "string",
            "format": "uuid"
          },
          "occurredAt": {
            "type": "string",
            "format": "date-time"
          },
          "data": {
            "type": "object",
            "additionalProperties": true,
            "description": "Venue-owned JSON extension; fields are not a stable CRISP contract. Handle missing fields."
          }
        },
        "required": [
          "id",
          "cursor",
          "version",
          "type",
          "externalUserId",
          "accountId",
          "occurredAt",
          "data"
        ],
        "additionalProperties": false
      }
    },
    "updates": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "cursor": {
            "type": "string"
          },
          "version": {
            "type": "integer",
            "enum": [
              1
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "account.status_changed",
              "order.updated",
              "trade.recorded",
              "balance.updated",
              "funding.updated",
              "withdrawal.updated",
              "position.redeemed",
              "settlement.updated",
              "reconciliation.completed"
            ]
          },
          "externalUserId": {
            "type": "string",
            "pattern": "^[A-Za-z0-9._:@-]{1,200}$"
          },
          "accountId": {
            "type": "string",
            "format": "uuid"
          },
          "occurredAt": {
            "type": "string",
            "format": "date-time"
          },
          "data": {
            "type": "object",
            "additionalProperties": true,
            "description": "Venue-owned JSON extension; fields are not a stable CRISP contract. Handle missing fields."
          }
        },
        "required": [
          "id",
          "cursor",
          "version",
          "type",
          "externalUserId",
          "accountId",
          "occurredAt",
          "data"
        ],
        "additionalProperties": false
      }
    },
    "cursor": {
      "type": "string"
    },
    "hasMore": {
      "type": "boolean"
    }
  },
  "required": [
    "crispAccountId",
    "externalUserId",
    "events",
    "updates",
    "cursor",
    "hasMore"
  ],
  "additionalProperties": false
}

createRealtimeSession

POST /v1/accounts/{externalUserId}/realtime-session

SDK: crisp.call('createRealtimeSession', input). Idempotency-Key: not required.

SDK input schema (path, query, body and key)
{
  "type": "object",
  "properties": {
    "path": {
      "type": "object",
      "properties": {
        "externalUserId": {
          "type": "string",
          "pattern": "^[A-Za-z0-9._:@-]{1,200}$"
        }
      },
      "required": [
        "externalUserId"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "path"
  ],
  "additionalProperties": false
}
Response data schema (HTTP 201)
{
  "type": "object",
  "properties": {
    "crispAccountId": {
      "type": "string",
      "format": "uuid"
    },
    "session": {
      "type": "object",
      "properties": {
        "transport": {
          "type": "string",
          "enum": [
            "websocket"
          ]
        },
        "protocol": {
          "type": "string",
          "enum": [
            "crisp-partner-realtime.v1"
          ]
        },
        "endpoint": {
          "type": "string"
        },
        "token": {
          "type": "string"
        },
        "expiresAt": {
          "type": "string",
          "format": "date-time"
        },
        "cursorKey": {
          "type": "string"
        }
      },
      "required": [
        "transport",
        "protocol",
        "endpoint",
        "token",
        "expiresAt",
        "cursorKey"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "crispAccountId",
    "session"
  ],
  "additionalProperties": false
}

getSellableShares

GET /v1/accounts/{externalUserId}/sellable-shares

SDK: crisp.call('getSellableShares', input). Idempotency-Key: not required.

SDK input schema (path, query, body and key)
{
  "type": "object",
  "properties": {
    "path": {
      "type": "object",
      "properties": {
        "externalUserId": {
          "type": "string",
          "pattern": "^[A-Za-z0-9._:@-]{1,200}$"
        }
      },
      "required": [
        "externalUserId"
      ],
      "additionalProperties": false
    },
    "query": {
      "type": "object",
      "properties": {
        "tokenId": {
          "type": "string",
          "pattern": "^(0|[1-9]\\d{0,100})$"
        }
      },
      "required": [
        "tokenId"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "path",
    "query"
  ],
  "additionalProperties": false
}
Response data schema (HTTP 200)
{
  "type": "object",
  "properties": {
    "tokenId": {
      "type": "string",
      "pattern": "^(0|[1-9]\\d{0,100})$"
    },
    "availableShares": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ]
    },
    "asOf": {
      "type": "string",
      "format": "date-time"
    }
  },
  "required": [
    "tokenId",
    "availableShares",
    "asOf"
  ],
  "additionalProperties": false
}

cancelOrder

POST /v1/accounts/{externalUserId}/orders/{orderId}/cancel

SDK: crisp.call('cancelOrder', input). Idempotency-Key: required.

SDK input schema (path, query, body and key)
{
  "type": "object",
  "properties": {
    "path": {
      "type": "object",
      "properties": {
        "externalUserId": {
          "type": "string",
          "pattern": "^[A-Za-z0-9._:@-]{1,200}$"
        },
        "orderId": {
          "type": "string"
        }
      },
      "required": [
        "externalUserId",
        "orderId"
      ],
      "additionalProperties": false
    },
    "idempotencyKey": {
      "type": "string",
      "pattern": "^[A-Za-z0-9._:-]{8,200}$"
    }
  },
  "required": [
    "path",
    "idempotencyKey"
  ],
  "additionalProperties": false
}
Response data schema (HTTP 202)
{
  "type": "object",
  "properties": {
    "crispAccountId": {
      "type": "string",
      "format": "uuid"
    },
    "externalUserId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9._:@-]{1,200}$"
    },
    "command": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "format": "uuid"
        },
        "state": {
          "type": "string",
          "enum": [
            "queued",
            "running",
            "retryable",
            "succeeded",
            "failed",
            "ambiguous"
          ]
        },
        "failureCode": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "id",
        "state",
        "failureCode"
      ],
      "additionalProperties": false
    },
    "orderId": {
      "type": "string"
    },
    "response": {
      "anyOf": [
        {
          "type": "object",
          "additionalProperties": true,
          "description": "Venue-owned JSON extension; fields are not a stable CRISP contract. Handle missing fields."
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "required": [
    "crispAccountId",
    "externalUserId",
    "command",
    "orderId",
    "response"
  ],
  "additionalProperties": false
}

listPositions

GET /v1/accounts/{externalUserId}/positions

SDK: crisp.call('listPositions', input). Idempotency-Key: not required.

SDK input schema (path, query, body and key)
{
  "type": "object",
  "properties": {
    "path": {
      "type": "object",
      "properties": {
        "externalUserId": {
          "type": "string",
          "pattern": "^[A-Za-z0-9._:@-]{1,200}$"
        }
      },
      "required": [
        "externalUserId"
      ],
      "additionalProperties": false
    },
    "query": {
      "type": "object",
      "properties": {
        "limit": {
          "type": "integer",
          "minimum": 1,
          "maximum": 200,
          "default": 50
        },
        "offset": {
          "type": "integer",
          "minimum": 0
        },
        "closed": {
          "type": "boolean"
        }
      },
      "required": [],
      "additionalProperties": false
    }
  },
  "required": [
    "path"
  ],
  "additionalProperties": false
}
Response data schema (HTTP 200)
{
  "type": "object",
  "properties": {
    "crispAccountId": {
      "type": "string",
      "format": "uuid"
    },
    "externalUserId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9._:@-]{1,200}$"
    },
    "positions": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": true,
        "description": "Venue-owned JSON extension; fields are not a stable CRISP contract. Handle missing fields."
      }
    },
    "normalized": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "marketId": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "tokenId": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "title": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "outcome": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "outcomeIndex": {
            "anyOf": [
              {
                "type": "integer",
                "minimum": 0
              },
              {
                "type": "null"
              }
            ]
          },
          "shares": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^-?\\d+(?:\\.\\d+)?$",
                "description": "Venue display snapshot, not spendable balance or ledger authority."
              },
              {
                "type": "null"
              }
            ]
          },
          "averagePrice": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^-?\\d+(?:\\.\\d+)?$",
                "description": "Venue display snapshot, not spendable balance or ledger authority."
              },
              {
                "type": "null"
              }
            ]
          },
          "currentPrice": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^-?\\d+(?:\\.\\d+)?$",
                "description": "Venue display snapshot, not spendable balance or ledger authority."
              },
              {
                "type": "null"
              }
            ]
          },
          "costUsd": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^-?\\d+(?:\\.\\d+)?$",
                "description": "Venue display snapshot, not spendable balance or ledger authority."
              },
              {
                "type": "null"
              }
            ]
          },
          "currentValueUsd": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^-?\\d+(?:\\.\\d+)?$",
                "description": "Venue display snapshot, not spendable balance or ledger authority."
              },
              {
                "type": "null"
              }
            ]
          },
          "cashPnlUsd": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^-?\\d+(?:\\.\\d+)?$",
                "description": "Venue display snapshot, not spendable balance or ledger authority."
              },
              {
                "type": "null"
              }
            ]
          },
          "realizedPnlUsd": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^-?\\d+(?:\\.\\d+)?$",
                "description": "Venue display snapshot, not spendable balance or ledger authority."
              },
              {
                "type": "null"
              }
            ]
          },
          "redeemable": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ]
          },
          "negRisk": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "marketId",
          "tokenId",
          "title",
          "outcome",
          "outcomeIndex",
          "shares",
          "averagePrice",
          "currentPrice",
          "costUsd",
          "currentValueUsd",
          "cashPnlUsd",
          "realizedPnlUsd",
          "redeemable",
          "negRisk"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "crispAccountId",
    "externalUserId",
    "positions",
    "normalized"
  ],
  "additionalProperties": false
}

redeemPositions

POST /v1/accounts/{externalUserId}/positions/redeem

SDK: crisp.call('redeemPositions', input). Idempotency-Key: required.

SDK input schema (path, query, body and key)
{
  "type": "object",
  "properties": {
    "path": {
      "type": "object",
      "properties": {
        "externalUserId": {
          "type": "string",
          "pattern": "^[A-Za-z0-9._:@-]{1,200}$"
        }
      },
      "required": [
        "externalUserId"
      ],
      "additionalProperties": false
    },
    "body": {
      "type": "object",
      "properties": {
        "positions": {
          "type": "array",
          "minItems": 1,
          "maxItems": 20,
          "items": {
            "type": "object",
            "properties": {
              "conditionId": {
                "type": "string"
              },
              "size": {
                "type": "number"
              },
              "outcomeIndex": {
                "type": "integer",
                "enum": [
                  0,
                  1
                ]
              },
              "negRisk": {
                "type": "boolean"
              }
            },
            "required": [
              "conditionId",
              "size",
              "outcomeIndex",
              "negRisk"
            ],
            "additionalProperties": false
          }
        }
      },
      "required": [
        "positions"
      ],
      "additionalProperties": false
    },
    "idempotencyKey": {
      "type": "string",
      "pattern": "^[A-Za-z0-9._:-]{8,200}$"
    }
  },
  "required": [
    "path",
    "body",
    "idempotencyKey"
  ],
  "additionalProperties": false
}
Response data schema (HTTP 202)
{
  "type": "object",
  "properties": {
    "crispAccountId": {
      "type": "string",
      "format": "uuid"
    },
    "externalUserId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9._:@-]{1,200}$"
    },
    "command": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "format": "uuid"
        },
        "state": {
          "type": "string",
          "enum": [
            "queued",
            "running",
            "retryable",
            "succeeded",
            "failed",
            "ambiguous"
          ]
        },
        "failureCode": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "id",
        "state",
        "failureCode"
      ],
      "additionalProperties": false
    },
    "redemption": {
      "type": "object",
      "properties": {
        "transactionHash": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "count": {
          "type": "integer",
          "minimum": 0
        },
        "total": {
          "type": "integer",
          "minimum": 0
        },
        "conditionIds": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "fallback": {
          "type": "boolean"
        }
      },
      "required": [
        "transactionHash",
        "count",
        "total",
        "conditionIds",
        "fallback"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "crispAccountId",
    "externalUserId",
    "command",
    "redemption"
  ],
  "additionalProperties": false
}

listTrades

GET /v1/accounts/{externalUserId}/trades

SDK: crisp.call('listTrades', input). Idempotency-Key: not required.

SDK input schema (path, query, body and key)
{
  "type": "object",
  "properties": {
    "path": {
      "type": "object",
      "properties": {
        "externalUserId": {
          "type": "string",
          "pattern": "^[A-Za-z0-9._:@-]{1,200}$"
        }
      },
      "required": [
        "externalUserId"
      ],
      "additionalProperties": false
    },
    "query": {
      "type": "object",
      "properties": {
        "limit": {
          "type": "integer",
          "minimum": 1,
          "maximum": 200,
          "default": 50
        },
        "offset": {
          "type": "integer",
          "minimum": 0
        },
        "conditionId": {
          "type": "string"
        }
      },
      "required": [],
      "additionalProperties": false
    }
  },
  "required": [
    "path"
  ],
  "additionalProperties": false
}
Response data schema (HTTP 200)
{
  "type": "object",
  "properties": {
    "crispAccountId": {
      "type": "string",
      "format": "uuid"
    },
    "externalUserId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9._:@-]{1,200}$"
    },
    "trades": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": true,
        "description": "Venue-owned JSON extension; fields are not a stable CRISP contract. Handle missing fields."
      }
    },
    "normalized": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "marketId": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "tokenId": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "title": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "outcome": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "side": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "BUY",
                  "SELL"
                ]
              },
              {
                "type": "null"
              }
            ]
          },
          "shares": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^-?\\d+(?:\\.\\d+)?$",
                "description": "Venue display snapshot, not spendable balance or ledger authority."
              },
              {
                "type": "null"
              }
            ]
          },
          "price": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^-?\\d+(?:\\.\\d+)?$",
                "description": "Venue display snapshot, not spendable balance or ledger authority."
              },
              {
                "type": "null"
              }
            ]
          },
          "timestampSeconds": {
            "anyOf": [
              {
                "type": "integer",
                "minimum": 0
              },
              {
                "type": "null"
              }
            ]
          },
          "transactionHash": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "marketId",
          "tokenId",
          "title",
          "outcome",
          "side",
          "shares",
          "price",
          "timestampSeconds",
          "transactionHash"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "crispAccountId",
    "externalUserId",
    "trades",
    "normalized"
  ],
  "additionalProperties": false
}

getDiscoveryLocalization

GET /v1/localization/discovery

SDK: crisp.call('getDiscoveryLocalization', input). Idempotency-Key: not required.

SDK input schema (path, query, body and key)
{
  "type": "object",
  "properties": {
    "query": {
      "type": "object",
      "properties": {
        "locale": {
          "type": "string",
          "enum": [
            "en",
            "zh",
            "zh-hant",
            "ja"
          ]
        }
      },
      "required": [],
      "additionalProperties": false
    }
  },
  "required": [],
  "additionalProperties": false
}
Response data schema (HTTP 200)
{
  "type": "object",
  "properties": {
    "locale": {
      "type": "string",
      "enum": [
        "en",
        "zh",
        "zh-hant",
        "ja"
      ]
    },
    "fallbackLocale": {
      "type": "string",
      "enum": [
        "en"
      ]
    },
    "source": {
      "type": "string",
      "enum": [
        "upstream",
        "unavailable"
      ]
    },
    "topics": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string"
          },
          "label": {
            "type": "string"
          }
        },
        "required": [
          "key",
          "label"
        ],
        "additionalProperties": false
      }
    },
    "tags": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string"
          },
          "label": {
            "type": "string"
          }
        },
        "required": [
          "slug",
          "label"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "locale",
    "fallbackLocale",
    "source",
    "topics",
    "tags"
  ],
  "additionalProperties": false
}

getLocalizationLocales

GET /v1/localization/locales

SDK: crisp.call('getLocalizationLocales', input). Idempotency-Key: not required.

SDK input schema (path, query, body and key)
{
  "type": "object",
  "properties": {},
  "required": [],
  "additionalProperties": false
}
Response data schema (HTTP 200)
{
  "type": "object",
  "properties": {
    "locales": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "en",
          "zh",
          "zh-hant",
          "ja"
        ]
      }
    },
    "defaultLocale": {
      "type": "string",
      "enum": [
        "en"
      ]
    },
    "maxBatchSize": {
      "type": "integer",
      "minimum": 0
    },
    "rulesPolicy": {
      "type": "string",
      "enum": [
        "original_only"
      ]
    }
  },
  "required": [
    "locales",
    "defaultLocale",
    "maxBatchSize",
    "rulesPolicy"
  ],
  "additionalProperties": false
}

getCatalogLocalization

GET /v1/localization/catalog

SDK: crisp.call('getCatalogLocalization', input). Idempotency-Key: not required.

SDK input schema (path, query, body and key)
{
  "type": "object",
  "properties": {
    "query": {
      "type": "object",
      "properties": {
        "locale": {
          "type": "string",
          "enum": [
            "en",
            "zh",
            "zh-hant",
            "ja"
          ]
        },
        "eventId": {
          "type": "array",
          "items": {
            "type": "string",
            "pattern": "^\\d{1,64}$"
          },
          "maxItems": 25
        },
        "marketId": {
          "type": "array",
          "items": {
            "type": "string",
            "pattern": "^0x[0-9a-fA-F]{64}$"
          },
          "maxItems": 25
        }
      },
      "required": [],
      "additionalProperties": false
    }
  },
  "required": [],
  "additionalProperties": false
}
Response data schema (HTTP 200)
{
  "type": "object",
  "properties": {
    "locale": {
      "type": "string",
      "enum": [
        "en",
        "zh",
        "zh-hant",
        "ja"
      ]
    },
    "fallbackLocale": {
      "type": "string",
      "enum": [
        "en"
      ]
    },
    "source": {
      "type": "string",
      "enum": [
        "upstream",
        "unavailable"
      ]
    },
    "events": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "eventId": {
            "type": "string"
          },
          "title": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "seriesTitle": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "markets": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "marketId": {
                  "type": "string"
                },
                "sourceMarketId": {
                  "type": "string"
                },
                "title": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "groupItemTitle": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "outcomes": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "tokenId": {
                        "type": "string",
                        "pattern": "^(0|[1-9]\\d{0,100})$"
                      },
                      "index": {
                        "type": "integer",
                        "minimum": 0
                      },
                      "label": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "tokenId",
                      "index",
                      "label"
                    ],
                    "additionalProperties": false
                  }
                }
              },
              "required": [
                "marketId",
                "sourceMarketId",
                "title",
                "groupItemTitle",
                "outcomes"
              ],
              "additionalProperties": false
            }
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "label": {
                  "type": "string"
                }
              },
              "required": [
                "id",
                "label"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "eventId",
          "title",
          "markets",
          "tags"
        ],
        "additionalProperties": false
      }
    },
    "markets": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "marketId": {
            "type": "string"
          },
          "sourceMarketId": {
            "type": "string"
          },
          "title": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "groupItemTitle": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "outcomes": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "tokenId": {
                  "type": "string",
                  "pattern": "^(0|[1-9]\\d{0,100})$"
                },
                "index": {
                  "type": "integer",
                  "minimum": 0
                },
                "label": {
                  "type": "string"
                }
              },
              "required": [
                "tokenId",
                "index",
                "label"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "marketId",
          "sourceMarketId",
          "title",
          "groupItemTitle",
          "outcomes"
        ],
        "additionalProperties": false
      }
    },
    "missingEventIds": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "missingMarketIds": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "locale",
    "fallbackLocale",
    "source",
    "events",
    "markets",
    "missingEventIds",
    "missingMarketIds"
  ],
  "additionalProperties": false
}

listEvents

GET /v1/events

SDK: crisp.call('listEvents', input). Idempotency-Key: not required.

SDK input schema (path, query, body and key)
{
  "type": "object",
  "properties": {
    "query": {
      "type": "object",
      "properties": {
        "limit": {
          "type": "integer",
          "minimum": 1,
          "maximum": 200,
          "default": 50
        },
        "offset": {
          "type": "integer",
          "minimum": 0
        },
        "active": {
          "type": "boolean"
        },
        "closed": {
          "type": "boolean"
        },
        "tag": {
          "type": "string"
        },
        "locale": {
          "type": "string",
          "enum": [
            "en",
            "zh",
            "zh-hant",
            "ja"
          ]
        }
      },
      "required": [],
      "additionalProperties": false
    }
  },
  "required": [],
  "additionalProperties": false
}
Response data schema (HTTP 200)
{
  "type": "object",
  "properties": {
    "events": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": true,
        "description": "Venue-owned JSON extension; fields are not a stable CRISP contract. Handle missing fields."
      }
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 200,
      "default": 50
    },
    "offset": {
      "type": "integer",
      "minimum": 0
    },
    "localization": {
      "type": "object",
      "properties": {
        "locale": {
          "type": "string",
          "enum": [
            "en",
            "zh",
            "zh-hant",
            "ja"
          ]
        },
        "fallbackLocale": {
          "type": "string",
          "enum": [
            "en"
          ]
        },
        "source": {
          "type": "string",
          "enum": [
            "upstream",
            "unavailable"
          ]
        },
        "events": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "eventId": {
                "type": "string"
              },
              "title": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "seriesTitle": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "markets": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "marketId": {
                      "type": "string"
                    },
                    "sourceMarketId": {
                      "type": "string"
                    },
                    "title": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "groupItemTitle": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "outcomes": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "tokenId": {
                            "type": "string",
                            "pattern": "^(0|[1-9]\\d{0,100})$"
                          },
                          "index": {
                            "type": "integer",
                            "minimum": 0
                          },
                          "label": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "tokenId",
                          "index",
                          "label"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "marketId",
                    "sourceMarketId",
                    "title",
                    "groupItemTitle",
                    "outcomes"
                  ],
                  "additionalProperties": false
                }
              },
              "tags": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "label": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "id",
                    "label"
                  ],
                  "additionalProperties": false
                }
              }
            },
            "required": [
              "eventId",
              "title",
              "markets",
              "tags"
            ],
            "additionalProperties": false
          }
        },
        "markets": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "marketId": {
                "type": "string"
              },
              "sourceMarketId": {
                "type": "string"
              },
              "title": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "groupItemTitle": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "outcomes": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "tokenId": {
                      "type": "string",
                      "pattern": "^(0|[1-9]\\d{0,100})$"
                    },
                    "index": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "label": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "tokenId",
                    "index",
                    "label"
                  ],
                  "additionalProperties": false
                }
              }
            },
            "required": [
              "marketId",
              "sourceMarketId",
              "title",
              "groupItemTitle",
              "outcomes"
            ],
            "additionalProperties": false
          }
        },
        "missingEventIds": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "missingMarketIds": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "required": [
        "locale",
        "fallbackLocale",
        "source",
        "events",
        "markets",
        "missingEventIds",
        "missingMarketIds"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "events",
    "limit",
    "offset"
  ],
  "additionalProperties": false
}

getEvent

GET /v1/events/{id}

SDK: crisp.call('getEvent', input). Idempotency-Key: not required.

SDK input schema (path, query, body and key)
{
  "type": "object",
  "properties": {
    "path": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        }
      },
      "required": [
        "id"
      ],
      "additionalProperties": false
    },
    "query": {
      "type": "object",
      "properties": {
        "locale": {
          "type": "string",
          "enum": [
            "en",
            "zh",
            "zh-hant",
            "ja"
          ]
        }
      },
      "required": [],
      "additionalProperties": false
    }
  },
  "required": [
    "path"
  ],
  "additionalProperties": false
}
Response data schema (HTTP 200)
{
  "type": "object",
  "properties": {
    "event": {
      "type": "object",
      "additionalProperties": true,
      "description": "Venue-owned JSON extension; fields are not a stable CRISP contract. Handle missing fields."
    },
    "localization": {
      "type": "object",
      "properties": {
        "locale": {
          "type": "string",
          "enum": [
            "en",
            "zh",
            "zh-hant",
            "ja"
          ]
        },
        "fallbackLocale": {
          "type": "string",
          "enum": [
            "en"
          ]
        },
        "source": {
          "type": "string",
          "enum": [
            "upstream",
            "unavailable"
          ]
        },
        "events": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "eventId": {
                "type": "string"
              },
              "title": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "seriesTitle": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "markets": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "marketId": {
                      "type": "string"
                    },
                    "sourceMarketId": {
                      "type": "string"
                    },
                    "title": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "groupItemTitle": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "outcomes": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "tokenId": {
                            "type": "string",
                            "pattern": "^(0|[1-9]\\d{0,100})$"
                          },
                          "index": {
                            "type": "integer",
                            "minimum": 0
                          },
                          "label": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "tokenId",
                          "index",
                          "label"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "marketId",
                    "sourceMarketId",
                    "title",
                    "groupItemTitle",
                    "outcomes"
                  ],
                  "additionalProperties": false
                }
              },
              "tags": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "label": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "id",
                    "label"
                  ],
                  "additionalProperties": false
                }
              }
            },
            "required": [
              "eventId",
              "title",
              "markets",
              "tags"
            ],
            "additionalProperties": false
          }
        },
        "markets": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "marketId": {
                "type": "string"
              },
              "sourceMarketId": {
                "type": "string"
              },
              "title": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "groupItemTitle": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "outcomes": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "tokenId": {
                      "type": "string",
                      "pattern": "^(0|[1-9]\\d{0,100})$"
                    },
                    "index": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "label": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "tokenId",
                    "index",
                    "label"
                  ],
                  "additionalProperties": false
                }
              }
            },
            "required": [
              "marketId",
              "sourceMarketId",
              "title",
              "groupItemTitle",
              "outcomes"
            ],
            "additionalProperties": false
          }
        },
        "missingEventIds": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "missingMarketIds": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "required": [
        "locale",
        "fallbackLocale",
        "source",
        "events",
        "markets",
        "missingEventIds",
        "missingMarketIds"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "event"
  ],
  "additionalProperties": false
}

listMarkets

GET /v1/markets

SDK: crisp.call('listMarkets', input). Idempotency-Key: not required.

SDK input schema (path, query, body and key)
{
  "type": "object",
  "properties": {
    "query": {
      "type": "object",
      "properties": {
        "limit": {
          "type": "integer",
          "minimum": 1,
          "maximum": 200,
          "default": 50
        },
        "offset": {
          "type": "integer",
          "minimum": 0
        },
        "active": {
          "type": "boolean"
        },
        "closed": {
          "type": "boolean"
        },
        "conditionId": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "locale": {
          "type": "string",
          "enum": [
            "en",
            "zh",
            "zh-hant",
            "ja"
          ]
        }
      },
      "required": [],
      "additionalProperties": false
    }
  },
  "required": [],
  "additionalProperties": false
}
Response data schema (HTTP 200)
{
  "type": "object",
  "properties": {
    "markets": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": true,
        "description": "Venue-owned JSON extension; fields are not a stable CRISP contract. Handle missing fields."
      }
    },
    "normalized": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "marketId": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "title": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "slug": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "imageUrl": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "active": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ]
          },
          "closed": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ]
          },
          "acceptingOrders": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ]
          },
          "outcomes": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "tokenId": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "label": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "index": {
                  "type": "integer",
                  "minimum": 0
                },
                "price": {
                  "anyOf": [
                    {
                      "type": "string",
                      "pattern": "^-?\\d+(?:\\.\\d+)?$",
                      "description": "Venue display snapshot, not spendable balance or ledger authority."
                    },
                    {
                      "type": "null"
                    }
                  ]
                }
              },
              "required": [
                "tokenId",
                "label",
                "index",
                "price"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "marketId",
          "title",
          "slug",
          "imageUrl",
          "active",
          "closed",
          "acceptingOrders",
          "outcomes"
        ],
        "additionalProperties": false
      }
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 200,
      "default": 50
    },
    "offset": {
      "type": "integer",
      "minimum": 0
    },
    "localization": {
      "type": "object",
      "properties": {
        "locale": {
          "type": "string",
          "enum": [
            "en",
            "zh",
            "zh-hant",
            "ja"
          ]
        },
        "fallbackLocale": {
          "type": "string",
          "enum": [
            "en"
          ]
        },
        "source": {
          "type": "string",
          "enum": [
            "upstream",
            "unavailable"
          ]
        },
        "events": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "eventId": {
                "type": "string"
              },
              "title": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "seriesTitle": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "markets": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "marketId": {
                      "type": "string"
                    },
                    "sourceMarketId": {
                      "type": "string"
                    },
                    "title": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "groupItemTitle": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "outcomes": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "tokenId": {
                            "type": "string",
                            "pattern": "^(0|[1-9]\\d{0,100})$"
                          },
                          "index": {
                            "type": "integer",
                            "minimum": 0
                          },
                          "label": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "tokenId",
                          "index",
                          "label"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "marketId",
                    "sourceMarketId",
                    "title",
                    "groupItemTitle",
                    "outcomes"
                  ],
                  "additionalProperties": false
                }
              },
              "tags": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "label": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "id",
                    "label"
                  ],
                  "additionalProperties": false
                }
              }
            },
            "required": [
              "eventId",
              "title",
              "markets",
              "tags"
            ],
            "additionalProperties": false
          }
        },
        "markets": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "marketId": {
                "type": "string"
              },
              "sourceMarketId": {
                "type": "string"
              },
              "title": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "groupItemTitle": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "outcomes": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "tokenId": {
                      "type": "string",
                      "pattern": "^(0|[1-9]\\d{0,100})$"
                    },
                    "index": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "label": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "tokenId",
                    "index",
                    "label"
                  ],
                  "additionalProperties": false
                }
              }
            },
            "required": [
              "marketId",
              "sourceMarketId",
              "title",
              "groupItemTitle",
              "outcomes"
            ],
            "additionalProperties": false
          }
        },
        "missingEventIds": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "missingMarketIds": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "required": [
        "locale",
        "fallbackLocale",
        "source",
        "events",
        "markets",
        "missingEventIds",
        "missingMarketIds"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "markets",
    "normalized",
    "limit",
    "offset"
  ],
  "additionalProperties": false
}

getMarket

GET /v1/markets/{conditionId}

SDK: crisp.call('getMarket', input). Idempotency-Key: not required.

SDK input schema (path, query, body and key)
{
  "type": "object",
  "properties": {
    "path": {
      "type": "object",
      "properties": {
        "conditionId": {
          "type": "string"
        }
      },
      "required": [
        "conditionId"
      ],
      "additionalProperties": false
    },
    "query": {
      "type": "object",
      "properties": {
        "locale": {
          "type": "string",
          "enum": [
            "en",
            "zh",
            "zh-hant",
            "ja"
          ]
        }
      },
      "required": [],
      "additionalProperties": false
    }
  },
  "required": [
    "path"
  ],
  "additionalProperties": false
}
Response data schema (HTTP 200)
{
  "type": "object",
  "properties": {
    "conditionId": {
      "type": "string"
    },
    "markets": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": true,
        "description": "Venue-owned JSON extension; fields are not a stable CRISP contract. Handle missing fields."
      }
    },
    "normalized": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "marketId": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "title": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "slug": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "imageUrl": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "active": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ]
          },
          "closed": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ]
          },
          "acceptingOrders": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ]
          },
          "outcomes": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "tokenId": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "label": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "index": {
                  "type": "integer",
                  "minimum": 0
                },
                "price": {
                  "anyOf": [
                    {
                      "type": "string",
                      "pattern": "^-?\\d+(?:\\.\\d+)?$",
                      "description": "Venue display snapshot, not spendable balance or ledger authority."
                    },
                    {
                      "type": "null"
                    }
                  ]
                }
              },
              "required": [
                "tokenId",
                "label",
                "index",
                "price"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "marketId",
          "title",
          "slug",
          "imageUrl",
          "active",
          "closed",
          "acceptingOrders",
          "outcomes"
        ],
        "additionalProperties": false
      }
    },
    "localization": {
      "type": "object",
      "properties": {
        "locale": {
          "type": "string",
          "enum": [
            "en",
            "zh",
            "zh-hant",
            "ja"
          ]
        },
        "fallbackLocale": {
          "type": "string",
          "enum": [
            "en"
          ]
        },
        "source": {
          "type": "string",
          "enum": [
            "upstream",
            "unavailable"
          ]
        },
        "events": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "eventId": {
                "type": "string"
              },
              "title": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "seriesTitle": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "markets": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "marketId": {
                      "type": "string"
                    },
                    "sourceMarketId": {
                      "type": "string"
                    },
                    "title": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "groupItemTitle": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "outcomes": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "tokenId": {
                            "type": "string",
                            "pattern": "^(0|[1-9]\\d{0,100})$"
                          },
                          "index": {
                            "type": "integer",
                            "minimum": 0
                          },
                          "label": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "tokenId",
                          "index",
                          "label"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "marketId",
                    "sourceMarketId",
                    "title",
                    "groupItemTitle",
                    "outcomes"
                  ],
                  "additionalProperties": false
                }
              },
              "tags": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "label": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "id",
                    "label"
                  ],
                  "additionalProperties": false
                }
              }
            },
            "required": [
              "eventId",
              "title",
              "markets",
              "tags"
            ],
            "additionalProperties": false
          }
        },
        "markets": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "marketId": {
                "type": "string"
              },
              "sourceMarketId": {
                "type": "string"
              },
              "title": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "groupItemTitle": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "outcomes": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "tokenId": {
                      "type": "string",
                      "pattern": "^(0|[1-9]\\d{0,100})$"
                    },
                    "index": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "label": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "tokenId",
                    "index",
                    "label"
                  ],
                  "additionalProperties": false
                }
              }
            },
            "required": [
              "marketId",
              "sourceMarketId",
              "title",
              "groupItemTitle",
              "outcomes"
            ],
            "additionalProperties": false
          }
        },
        "missingEventIds": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "missingMarketIds": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "required": [
        "locale",
        "fallbackLocale",
        "source",
        "events",
        "markets",
        "missingEventIds",
        "missingMarketIds"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "conditionId",
    "markets",
    "normalized"
  ],
  "additionalProperties": false
}

getBook

GET /v1/books/{tokenId}

SDK: crisp.call('getBook', input). Idempotency-Key: not required.

SDK input schema (path, query, body and key)
{
  "type": "object",
  "properties": {
    "path": {
      "type": "object",
      "properties": {
        "tokenId": {
          "type": "string",
          "pattern": "^(0|[1-9]\\d{0,100})$"
        }
      },
      "required": [
        "tokenId"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "path"
  ],
  "additionalProperties": false
}
Response data schema (HTTP 200)
{
  "type": "object",
  "properties": {
    "tokenId": {
      "type": "string",
      "pattern": "^(0|[1-9]\\d{0,100})$"
    },
    "book": {
      "type": "object",
      "additionalProperties": true,
      "description": "Venue-owned JSON extension; fields are not a stable CRISP contract. Handle missing fields."
    },
    "normalized": {
      "type": "object",
      "properties": {
        "tokenId": {
          "type": "string"
        },
        "marketId": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "bids": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "price": {
                "anyOf": [
                  {
                    "type": "string",
                    "pattern": "^-?\\d+(?:\\.\\d+)?$",
                    "description": "Venue display snapshot, not spendable balance or ledger authority."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "shares": {
                "anyOf": [
                  {
                    "type": "string",
                    "pattern": "^-?\\d+(?:\\.\\d+)?$",
                    "description": "Venue display snapshot, not spendable balance or ledger authority."
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "required": [
              "price",
              "shares"
            ],
            "additionalProperties": false
          }
        },
        "asks": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "price": {
                "anyOf": [
                  {
                    "type": "string",
                    "pattern": "^-?\\d+(?:\\.\\d+)?$",
                    "description": "Venue display snapshot, not spendable balance or ledger authority."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "shares": {
                "anyOf": [
                  {
                    "type": "string",
                    "pattern": "^-?\\d+(?:\\.\\d+)?$",
                    "description": "Venue display snapshot, not spendable balance or ledger authority."
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "required": [
              "price",
              "shares"
            ],
            "additionalProperties": false
          }
        },
        "minimumOrderShares": {
          "anyOf": [
            {
              "type": "string",
              "pattern": "^-?\\d+(?:\\.\\d+)?$",
              "description": "Venue display snapshot, not spendable balance or ledger authority."
            },
            {
              "type": "null"
            }
          ]
        },
        "tickSize": {
          "anyOf": [
            {
              "type": "string",
              "pattern": "^-?\\d+(?:\\.\\d+)?$",
              "description": "Venue display snapshot, not spendable balance or ledger authority."
            },
            {
              "type": "null"
            }
          ]
        },
        "negRisk": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "tokenId",
        "marketId",
        "bids",
        "asks",
        "minimumOrderShares",
        "tickSize",
        "negRisk"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "tokenId",
    "book",
    "normalized"
  ],
  "additionalProperties": false
}

getOrderRequirements

GET /v1/order-requirements

SDK: crisp.call('getOrderRequirements', input). Idempotency-Key: not required.

SDK input schema (path, query, body and key)
{
  "type": "object",
  "properties": {
    "query": {
      "type": "object",
      "properties": {
        "tokenId": {
          "type": "string",
          "pattern": "^(0|[1-9]\\d{0,100})$"
        },
        "side": {
          "type": "string",
          "enum": [
            "BUY",
            "SELL"
          ]
        },
        "type": {
          "type": "string",
          "enum": [
            "market",
            "limit"
          ]
        },
        "amount": {
          "type": "string",
          "pattern": "^\\d+(?:\\.\\d+)?$",
          "description": "Exact decimal string. Never use floating point for ledger arithmetic."
        },
        "amounts": {
          "type": "string"
        },
        "price": {
          "type": "string",
          "pattern": "^\\d+(?:\\.\\d+)?$",
          "description": "Exact decimal string. Never use floating point for ledger arithmetic."
        },
        "size": {
          "type": "string",
          "pattern": "^\\d+(?:\\.\\d+)?$",
          "description": "Exact decimal string. Never use floating point for ledger arithmetic."
        }
      },
      "required": [
        "tokenId",
        "side"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "query"
  ],
  "additionalProperties": false
}
Response data schema (HTTP 200)
{
  "type": "object",
  "properties": {
    "requirements": {
      "type": "object",
      "properties": {
        "tokenId": {
          "type": "string",
          "pattern": "^(0|[1-9]\\d{0,100})$"
        },
        "side": {
          "type": "string",
          "enum": [
            "BUY",
            "SELL"
          ]
        },
        "type": {
          "type": "string",
          "enum": [
            "market",
            "limit"
          ]
        },
        "minOrderSize": {
          "type": "number"
        },
        "tickSize": {
          "type": "number"
        },
        "minimumBuyAmount": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ]
        },
        "allInBuyAmount": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ]
        },
        "payoutIfWon": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ]
        },
        "averagePrice": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ]
        },
        "marketBuyQuotes": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "allInAmount": {
                "type": "number"
              },
              "payoutIfWon": {
                "type": "number"
              },
              "averagePrice": {
                "type": "number"
              }
            },
            "required": [
              "allInAmount",
              "payoutIfWon",
              "averagePrice"
            ],
            "additionalProperties": false
          }
        },
        "asOf": {
          "type": "string",
          "format": "date-time"
        }
      },
      "required": [
        "tokenId",
        "side",
        "type",
        "minOrderSize",
        "tickSize",
        "minimumBuyAmount",
        "allInBuyAmount",
        "payoutIfWon",
        "averagePrice",
        "marketBuyQuotes",
        "asOf"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "requirements"
  ],
  "additionalProperties": false
}

getDepositInstructions

GET /v1/accounts/{externalUserId}/wallet/deposit-instructions

SDK: crisp.call('getDepositInstructions', input). Idempotency-Key: not required.

SDK input schema (path, query, body and key)
{
  "type": "object",
  "properties": {
    "path": {
      "type": "object",
      "properties": {
        "externalUserId": {
          "type": "string",
          "pattern": "^[A-Za-z0-9._:@-]{1,200}$"
        }
      },
      "required": [
        "externalUserId"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "path"
  ],
  "additionalProperties": false
}
Response data schema (HTTP 200)
{
  "type": "object",
  "properties": {
    "crispAccountId": {
      "type": "string",
      "format": "uuid"
    },
    "externalUserId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9._:@-]{1,200}$"
    },
    "instructions": {
      "type": "object",
      "additionalProperties": true,
      "description": "Venue-owned JSON extension; fields are not a stable CRISP contract. Handle missing fields."
    },
    "normalized": {
      "type": "object",
      "properties": {
        "addresses": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "networkFamily": {
                "type": "string"
              },
              "address": {
                "type": "string"
              }
            },
            "required": [
              "networkFamily",
              "address"
            ],
            "additionalProperties": false
          }
        },
        "assets": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "chainId": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "chainName": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "tokenAddress": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "symbol": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "name": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "decimals": {
                "anyOf": [
                  {
                    "type": "integer",
                    "minimum": 0
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "minimumDepositUsd": {
                "anyOf": [
                  {
                    "type": "string",
                    "pattern": "^-?\\d+(?:\\.\\d+)?$",
                    "description": "Venue display snapshot, not spendable balance or ledger authority."
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "required": [
              "chainId",
              "chainName",
              "tokenAddress",
              "symbol",
              "name",
              "decimals",
              "minimumDepositUsd"
            ],
            "additionalProperties": false
          }
        }
      },
      "required": [
        "addresses",
        "assets"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "crispAccountId",
    "externalUserId",
    "instructions",
    "normalized"
  ],
  "additionalProperties": false
}

getTradingAvailability

GET /v1/accounts/{externalUserId}/wallet/trading-availability

SDK: crisp.call('getTradingAvailability', input). Idempotency-Key: not required.

SDK input schema (path, query, body and key)
{
  "type": "object",
  "properties": {
    "path": {
      "type": "object",
      "properties": {
        "externalUserId": {
          "type": "string",
          "pattern": "^[A-Za-z0-9._:@-]{1,200}$"
        }
      },
      "required": [
        "externalUserId"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "path"
  ],
  "additionalProperties": false
}
Response data schema (HTTP 200)
{
  "type": "object",
  "properties": {
    "crispAccountId": {
      "type": "string",
      "format": "uuid"
    },
    "externalUserId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9._:@-]{1,200}$"
    },
    "availableToTrade": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "formatted": {
              "type": "string"
            },
            "symbol": {
              "type": "string"
            }
          },
          "required": [
            "formatted",
            "symbol"
          ],
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ]
    },
    "asOf": {
      "type": "string"
    }
  },
  "required": [
    "crispAccountId",
    "externalUserId",
    "availableToTrade",
    "asOf"
  ],
  "additionalProperties": false
}

getFunding

GET /v1/accounts/{externalUserId}/wallet/funding

SDK: crisp.call('getFunding', input). Idempotency-Key: not required.

SDK input schema (path, query, body and key)
{
  "type": "object",
  "properties": {
    "path": {
      "type": "object",
      "properties": {
        "externalUserId": {
          "type": "string",
          "pattern": "^[A-Za-z0-9._:@-]{1,200}$"
        }
      },
      "required": [
        "externalUserId"
      ],
      "additionalProperties": false
    },
    "query": {
      "type": "object",
      "properties": {
        "details": {
          "type": "string",
          "enum": [
            "summary",
            "trading",
            "full"
          ]
        }
      },
      "required": [],
      "additionalProperties": false
    }
  },
  "required": [
    "path"
  ],
  "additionalProperties": false
}
Response data schema (HTTP 200)
{
  "type": "object",
  "properties": {
    "crispAccountId": {
      "type": "string",
      "format": "uuid"
    },
    "externalUserId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9._:@-]{1,200}$"
    },
    "wallet": {
      "type": "object",
      "properties": {
        "tradingAddress": {
          "type": "string"
        }
      },
      "required": [
        "tradingAddress"
      ],
      "additionalProperties": false
    },
    "balance": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "baseUnit": {
              "type": "string"
            },
            "formatted": {
              "type": "string"
            },
            "symbol": {
              "type": "string"
            },
            "decimals": {
              "type": "integer",
              "minimum": 0
            }
          },
          "required": [
            "baseUnit",
            "formatted"
          ],
          "additionalProperties": true
        },
        {
          "type": "null"
        }
      ]
    },
    "balanceStatus": {
      "type": "string",
      "enum": [
        "available",
        "temporarily_unavailable"
      ]
    },
    "availableToTrade": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "formatted": {
              "type": "string"
            },
            "symbol": {
              "type": "string"
            }
          },
          "required": [
            "formatted",
            "symbol"
          ],
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ]
    },
    "details": {
      "type": "string",
      "enum": [
        "summary",
        "trading",
        "full"
      ]
    },
    "deposit": {
      "type": "object",
      "properties": {
        "instructions": {
          "anyOf": [
            {
              "type": "object",
              "additionalProperties": true,
              "description": "Venue-owned JSON extension; fields are not a stable CRISP contract. Handle missing fields."
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "instructions"
      ],
      "additionalProperties": false
    },
    "withdrawal": {
      "type": "object",
      "properties": {
        "source": {
          "anyOf": [
            {
              "type": "object",
              "properties": {
                "baseUnit": {
                  "type": "string"
                },
                "formatted": {
                  "type": "string"
                },
                "symbol": {
                  "type": "string"
                },
                "decimals": {
                  "type": "integer",
                  "minimum": 0
                }
              },
              "required": [
                "baseUnit",
                "formatted"
              ],
              "additionalProperties": true
            },
            {
              "type": "null"
            }
          ]
        },
        "enabled": {
          "type": "boolean"
        },
        "authorization": {
          "type": "string"
        },
        "availability": {
          "type": "string"
        }
      },
      "required": [
        "source",
        "enabled",
        "authorization"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "crispAccountId",
    "externalUserId",
    "wallet",
    "balance",
    "balanceStatus",
    "availableToTrade",
    "details",
    "deposit",
    "withdrawal"
  ],
  "additionalProperties": false
}

listTransfers

GET /v1/accounts/{externalUserId}/wallet/transfers

SDK: crisp.call('listTransfers', input). Idempotency-Key: not required.

SDK input schema (path, query, body and key)
{
  "type": "object",
  "properties": {
    "path": {
      "type": "object",
      "properties": {
        "externalUserId": {
          "type": "string",
          "pattern": "^[A-Za-z0-9._:@-]{1,200}$"
        }
      },
      "required": [
        "externalUserId"
      ],
      "additionalProperties": false
    },
    "query": {
      "type": "object",
      "properties": {
        "limit": {
          "type": "integer",
          "minimum": 1,
          "maximum": 100,
          "default": 50
        },
        "cursor": {
          "type": "string"
        }
      },
      "required": [],
      "additionalProperties": false
    }
  },
  "required": [
    "path"
  ],
  "additionalProperties": false
}
Response data schema (HTTP 200)
{
  "type": "object",
  "properties": {
    "crispAccountId": {
      "type": "string",
      "format": "uuid"
    },
    "externalUserId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9._:@-]{1,200}$"
    },
    "transfers": {
      "type": "object",
      "additionalProperties": true,
      "description": "Venue-owned JSON extension; fields are not a stable CRISP contract. Handle missing fields."
    }
  },
  "required": [
    "crispAccountId",
    "externalUserId",
    "transfers"
  ],
  "additionalProperties": false
}

quoteDeposit

POST /v1/accounts/{externalUserId}/wallet/deposit-quote

SDK: crisp.call('quoteDeposit', input). Idempotency-Key: not required.

SDK input schema (path, query, body and key)
{
  "type": "object",
  "properties": {
    "path": {
      "type": "object",
      "properties": {
        "externalUserId": {
          "type": "string",
          "pattern": "^[A-Za-z0-9._:@-]{1,200}$"
        }
      },
      "required": [
        "externalUserId"
      ],
      "additionalProperties": false
    },
    "body": {
      "type": "object",
      "properties": {
        "fromAmountBaseUnit": {
          "type": "string",
          "pattern": "^(?=\\d{1,100}$)0*[1-9]\\d*$",
          "description": "Positive integer in the source token base units."
        },
        "fromChainId": {
          "type": "string"
        },
        "fromTokenAddress": {
          "type": "string"
        }
      },
      "required": [
        "fromAmountBaseUnit",
        "fromChainId",
        "fromTokenAddress"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "path",
    "body"
  ],
  "additionalProperties": false
}
Response data schema (HTTP 200)
{
  "type": "object",
  "properties": {
    "crispAccountId": {
      "type": "string",
      "format": "uuid"
    },
    "externalUserId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9._:@-]{1,200}$"
    },
    "quote": {
      "type": "object",
      "additionalProperties": true,
      "description": "Venue-owned JSON extension; fields are not a stable CRISP contract. Handle missing fields."
    }
  },
  "required": [
    "crispAccountId",
    "externalUserId",
    "quote"
  ],
  "additionalProperties": false
}

quoteWithdrawal

POST /v1/accounts/{externalUserId}/wallet/withdrawal-quote

SDK: crisp.call('quoteWithdrawal', input). Idempotency-Key: not required.

SDK input schema (path, query, body and key)
{
  "type": "object",
  "properties": {
    "path": {
      "type": "object",
      "properties": {
        "externalUserId": {
          "type": "string",
          "pattern": "^[A-Za-z0-9._:@-]{1,200}$"
        }
      },
      "required": [
        "externalUserId"
      ],
      "additionalProperties": false
    },
    "body": {
      "type": "object",
      "properties": {
        "amountBaseUnit": {
          "type": "string",
          "pattern": "^(?=\\d{1,100}$)0*[1-9]\\d*$",
          "description": "Positive integer in the source token base units."
        },
        "recipientAddress": {
          "type": "string"
        },
        "toChainId": {
          "type": "string"
        },
        "toTokenAddress": {
          "type": "string"
        }
      },
      "required": [
        "amountBaseUnit",
        "recipientAddress",
        "toChainId",
        "toTokenAddress"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "path",
    "body"
  ],
  "additionalProperties": false
}
Response data schema (HTTP 200)
{
  "type": "object",
  "properties": {
    "externalUserId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9._:@-]{1,200}$"
    },
    "quote": {
      "type": "object",
      "additionalProperties": true,
      "description": "Venue-owned JSON extension; fields are not a stable CRISP contract. Handle missing fields."
    }
  },
  "required": [
    "externalUserId",
    "quote"
  ],
  "additionalProperties": false
}

listWithdrawals

GET /v1/accounts/{externalUserId}/withdrawals

SDK: crisp.call('listWithdrawals', input). Idempotency-Key: not required.

SDK input schema (path, query, body and key)
{
  "type": "object",
  "properties": {
    "path": {
      "type": "object",
      "properties": {
        "externalUserId": {
          "type": "string",
          "pattern": "^[A-Za-z0-9._:@-]{1,200}$"
        }
      },
      "required": [
        "externalUserId"
      ],
      "additionalProperties": false
    },
    "query": {
      "type": "object",
      "properties": {
        "limit": {
          "type": "integer",
          "minimum": 1,
          "maximum": 200,
          "default": 50
        },
        "offset": {
          "type": "integer",
          "minimum": 0
        }
      },
      "required": [],
      "additionalProperties": false
    }
  },
  "required": [
    "path"
  ],
  "additionalProperties": false
}
Response data schema (HTTP 200)
{
  "type": "object",
  "properties": {
    "crispAccountId": {
      "type": "string",
      "format": "uuid"
    },
    "externalUserId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9._:@-]{1,200}$"
    },
    "withdrawals": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "amountBaseUnit": {
            "type": "string",
            "pattern": "^(?=\\d{1,100}$)0*[1-9]\\d*$",
            "description": "Positive integer in the source token base units."
          },
          "recipientAddress": {
            "type": "string"
          },
          "toChainId": {
            "type": "string"
          },
          "toTokenAddress": {
            "type": "string"
          },
          "bridgeAddress": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "state": {
            "type": "string",
            "enum": [
              "queued",
              "submitting",
              "submitted",
              "confirmed",
              "failed",
              "manual_review"
            ]
          },
          "relayTransactionId": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "transactionHash": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "failureCode": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "finalDestinationStatus": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "submittedAt": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ]
          },
          "confirmedAt": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "id",
          "amountBaseUnit",
          "recipientAddress",
          "toChainId",
          "toTokenAddress",
          "bridgeAddress",
          "state",
          "relayTransactionId",
          "transactionHash",
          "failureCode",
          "finalDestinationStatus",
          "createdAt",
          "updatedAt",
          "submittedAt",
          "confirmedAt"
        ],
        "additionalProperties": false
      }
    },
    "total": {
      "type": "integer",
      "minimum": 0
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 200,
      "default": 50
    },
    "offset": {
      "type": "integer",
      "minimum": 0
    }
  },
  "required": [
    "crispAccountId",
    "externalUserId",
    "withdrawals",
    "total",
    "limit",
    "offset"
  ],
  "additionalProperties": false
}

getWithdrawal

GET /v1/accounts/{externalUserId}/withdrawals/{withdrawalId}

SDK: crisp.call('getWithdrawal', input). Idempotency-Key: not required.

SDK input schema (path, query, body and key)
{
  "type": "object",
  "properties": {
    "path": {
      "type": "object",
      "properties": {
        "externalUserId": {
          "type": "string",
          "pattern": "^[A-Za-z0-9._:@-]{1,200}$"
        },
        "withdrawalId": {
          "type": "string",
          "format": "uuid"
        }
      },
      "required": [
        "externalUserId",
        "withdrawalId"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "path"
  ],
  "additionalProperties": false
}
Response data schema (HTTP 200)
{
  "type": "object",
  "properties": {
    "crispAccountId": {
      "type": "string",
      "format": "uuid"
    },
    "externalUserId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9._:@-]{1,200}$"
    },
    "withdrawal": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "format": "uuid"
        },
        "amountBaseUnit": {
          "type": "string",
          "pattern": "^(?=\\d{1,100}$)0*[1-9]\\d*$",
          "description": "Positive integer in the source token base units."
        },
        "recipientAddress": {
          "type": "string"
        },
        "toChainId": {
          "type": "string"
        },
        "toTokenAddress": {
          "type": "string"
        },
        "bridgeAddress": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "state": {
          "type": "string",
          "enum": [
            "queued",
            "submitting",
            "submitted",
            "confirmed",
            "failed",
            "manual_review"
          ]
        },
        "relayTransactionId": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "transactionHash": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "failureCode": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "finalDestinationStatus": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "createdAt": {
          "type": "string",
          "format": "date-time"
        },
        "updatedAt": {
          "type": "string",
          "format": "date-time"
        },
        "submittedAt": {
          "anyOf": [
            {
              "type": "string",
              "format": "date-time"
            },
            {
              "type": "null"
            }
          ]
        },
        "confirmedAt": {
          "anyOf": [
            {
              "type": "string",
              "format": "date-time"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "id",
        "amountBaseUnit",
        "recipientAddress",
        "toChainId",
        "toTokenAddress",
        "bridgeAddress",
        "state",
        "relayTransactionId",
        "transactionHash",
        "failureCode",
        "finalDestinationStatus",
        "createdAt",
        "updatedAt",
        "submittedAt",
        "confirmedAt"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "crispAccountId",
    "externalUserId",
    "withdrawal"
  ],
  "additionalProperties": false
}

findWithdrawal

GET /v1/accounts/{externalUserId}/withdrawal-intents/{idempotencyKey}

SDK: crisp.call('findWithdrawal', input). Idempotency-Key: not required.

SDK input schema (path, query, body and key)
{
  "type": "object",
  "properties": {
    "path": {
      "type": "object",
      "properties": {
        "externalUserId": {
          "type": "string",
          "pattern": "^[A-Za-z0-9._:@-]{1,200}$"
        },
        "idempotencyKey": {
          "type": "string",
          "pattern": "^[A-Za-z0-9._:-]{8,200}$"
        }
      },
      "required": [
        "externalUserId",
        "idempotencyKey"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "path"
  ],
  "additionalProperties": false
}
Response data schema (HTTP 200)
{
  "type": "object",
  "properties": {
    "crispAccountId": {
      "type": "string",
      "format": "uuid"
    },
    "externalUserId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9._:@-]{1,200}$"
    },
    "withdrawal": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "format": "uuid"
        },
        "amountBaseUnit": {
          "type": "string",
          "pattern": "^(?=\\d{1,100}$)0*[1-9]\\d*$",
          "description": "Positive integer in the source token base units."
        },
        "recipientAddress": {
          "type": "string"
        },
        "toChainId": {
          "type": "string"
        },
        "toTokenAddress": {
          "type": "string"
        },
        "bridgeAddress": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "state": {
          "type": "string",
          "enum": [
            "queued",
            "submitting",
            "submitted",
            "confirmed",
            "failed",
            "manual_review"
          ]
        },
        "relayTransactionId": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "transactionHash": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "failureCode": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "finalDestinationStatus": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "createdAt": {
          "type": "string",
          "format": "date-time"
        },
        "updatedAt": {
          "type": "string",
          "format": "date-time"
        },
        "submittedAt": {
          "anyOf": [
            {
              "type": "string",
              "format": "date-time"
            },
            {
              "type": "null"
            }
          ]
        },
        "confirmedAt": {
          "anyOf": [
            {
              "type": "string",
              "format": "date-time"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "id",
        "amountBaseUnit",
        "recipientAddress",
        "toChainId",
        "toTokenAddress",
        "bridgeAddress",
        "state",
        "relayTransactionId",
        "transactionHash",
        "failureCode",
        "finalDestinationStatus",
        "createdAt",
        "updatedAt",
        "submittedAt",
        "confirmedAt"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "crispAccountId",
    "externalUserId",
    "withdrawal"
  ],
  "additionalProperties": false
}

getReferralClaim

GET /v1/accounts/{externalUserId}/referral-claims/{claimId}

SDK: crisp.call('getReferralClaim', input). Idempotency-Key: not required.

SDK input schema (path, query, body and key)
{
  "type": "object",
  "properties": {
    "path": {
      "type": "object",
      "properties": {
        "externalUserId": {
          "type": "string",
          "pattern": "^[A-Za-z0-9._:@-]{1,200}$"
        },
        "claimId": {
          "type": "string",
          "format": "uuid"
        }
      },
      "required": [
        "externalUserId",
        "claimId"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "path"
  ],
  "additionalProperties": false
}
Response data schema (HTTP 200)
{
  "type": "object",
  "properties": {
    "claim": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "format": "uuid"
        },
        "state": {
          "type": "string",
          "enum": [
            "queued",
            "submitting",
            "submitted",
            "settled",
            "manual_review"
          ]
        },
        "amountUsdc": {
          "type": "string",
          "pattern": "^\\d+(?:\\.\\d+)?$",
          "description": "Exact decimal string. Never use floating point for ledger arithmetic."
        },
        "transactionHash": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "terminal": {
          "type": "boolean"
        },
        "needsReview": {
          "type": "boolean"
        },
        "createdAt": {
          "type": "string",
          "format": "date-time"
        },
        "updatedAt": {
          "type": "string",
          "format": "date-time"
        }
      },
      "required": [
        "id",
        "state",
        "amountUsdc",
        "transactionHash",
        "terminal",
        "needsReview",
        "createdAt",
        "updatedAt"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "claim"
  ],
  "additionalProperties": false
}

createWithdrawal

POST /v1/accounts/{externalUserId}/withdrawals

SDK: crisp.call('createWithdrawal', input). Idempotency-Key: required.

SDK input schema (path, query, body and key)
{
  "type": "object",
  "properties": {
    "path": {
      "type": "object",
      "properties": {
        "externalUserId": {
          "type": "string",
          "pattern": "^[A-Za-z0-9._:@-]{1,200}$"
        }
      },
      "required": [
        "externalUserId"
      ],
      "additionalProperties": false
    },
    "body": {
      "type": "object",
      "properties": {
        "amountBaseUnit": {
          "type": "string",
          "pattern": "^(?=\\d{1,100}$)0*[1-9]\\d*$",
          "description": "Positive integer in the source token base units."
        },
        "recipientAddress": {
          "type": "string"
        },
        "toChainId": {
          "type": "string"
        },
        "toTokenAddress": {
          "type": "string"
        }
      },
      "required": [
        "amountBaseUnit",
        "recipientAddress",
        "toChainId",
        "toTokenAddress"
      ],
      "additionalProperties": false
    },
    "idempotencyKey": {
      "type": "string",
      "pattern": "^[A-Za-z0-9._:-]{8,200}$"
    }
  },
  "required": [
    "path",
    "body",
    "idempotencyKey"
  ],
  "additionalProperties": false
}
Response data schema (HTTP 202)
{
  "type": "object",
  "properties": {
    "crispAccountId": {
      "type": "string",
      "format": "uuid"
    },
    "externalUserId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9._:@-]{1,200}$"
    },
    "withdrawal": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "format": "uuid"
        },
        "amountBaseUnit": {
          "type": "string",
          "pattern": "^(?=\\d{1,100}$)0*[1-9]\\d*$",
          "description": "Positive integer in the source token base units."
        },
        "recipientAddress": {
          "type": "string"
        },
        "toChainId": {
          "type": "string"
        },
        "toTokenAddress": {
          "type": "string"
        },
        "bridgeAddress": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "state": {
          "type": "string",
          "enum": [
            "queued",
            "submitting",
            "submitted",
            "confirmed",
            "failed",
            "manual_review"
          ]
        },
        "relayTransactionId": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "transactionHash": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "failureCode": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "finalDestinationStatus": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "createdAt": {
          "type": "string",
          "format": "date-time"
        },
        "updatedAt": {
          "type": "string",
          "format": "date-time"
        },
        "submittedAt": {
          "anyOf": [
            {
              "type": "string",
              "format": "date-time"
            },
            {
              "type": "null"
            }
          ]
        },
        "confirmedAt": {
          "anyOf": [
            {
              "type": "string",
              "format": "date-time"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "id",
        "amountBaseUnit",
        "recipientAddress",
        "toChainId",
        "toTokenAddress",
        "bridgeAddress",
        "state",
        "relayTransactionId",
        "transactionHash",
        "failureCode",
        "finalDestinationStatus",
        "createdAt",
        "updatedAt",
        "submittedAt",
        "confirmedAt"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "crispAccountId",
    "externalUserId",
    "withdrawal"
  ],
  "additionalProperties": false
}

getTradingAnalytics

GET /v1/analytics/trading

SDK: crisp.call('getTradingAnalytics', input). Idempotency-Key: not required.

SDK input schema (path, query, body and key)
{
  "type": "object",
  "properties": {
    "query": {
      "type": "object",
      "properties": {
        "from": {
          "type": "string",
          "format": "date"
        },
        "to": {
          "type": "string",
          "format": "date"
        }
      },
      "required": [],
      "additionalProperties": false
    }
  },
  "required": [],
  "additionalProperties": false
}
Response data schema (HTTP 200)
{
  "type": "object",
  "properties": {
    "venue": {
      "type": "string"
    },
    "period": {
      "type": "object",
      "properties": {
        "from": {
          "type": "string",
          "format": "date-time"
        },
        "to": {
          "type": "string",
          "format": "date-time"
        }
      },
      "required": [
        "from",
        "to"
      ],
      "additionalProperties": false
    },
    "source": {
      "type": "string"
    },
    "consistency": {
      "type": "string"
    },
    "ingestion": {
      "type": "object",
      "properties": {
        "lastCompletedAt": {
          "anyOf": [
            {
              "type": "string",
              "format": "date-time"
            },
            {
              "type": "null"
            }
          ]
        },
        "inProgress": {
          "type": "boolean"
        },
        "lastError": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "lastCompletedAt",
        "inProgress",
        "lastError"
      ],
      "additionalProperties": false
    },
    "accounts": {
      "type": "object",
      "properties": {
        "ready": {
          "type": "integer",
          "minimum": 0
        },
        "withMatchedTrades": {
          "type": "integer",
          "minimum": 0
        },
        "displayedWithMatchedTrades": {
          "type": "integer",
          "minimum": 0
        },
        "userMetricsTruncated": {
          "type": "boolean"
        }
      },
      "required": [
        "ready",
        "withMatchedTrades",
        "displayedWithMatchedTrades",
        "userMetricsTruncated"
      ],
      "additionalProperties": false
    },
    "totals": {
      "type": "object",
      "properties": {
        "tradingVolumeUsdc": {
          "type": "string",
          "pattern": "^\\d+(?:\\.\\d+)?$",
          "description": "Exact decimal string. Never use floating point for ledger arithmetic."
        },
        "polymarketTakerFeesUsdc": {
          "type": "string",
          "pattern": "^\\d+(?:\\.\\d+)?$",
          "description": "Exact decimal string. Never use floating point for ledger arithmetic."
        },
        "platformFeesUsdc": {
          "type": "string",
          "pattern": "^\\d+(?:\\.\\d+)?$",
          "description": "Exact decimal string. Never use floating point for ledger arithmetic."
        },
        "platformFeesSettledUsdc": {
          "type": "string",
          "pattern": "^\\d+(?:\\.\\d+)?$",
          "description": "Exact decimal string. Never use floating point for ledger arithmetic."
        },
        "partnerTreasuryFeesUsdc": {
          "type": "string",
          "pattern": "^\\d+(?:\\.\\d+)?$",
          "description": "Exact decimal string. Never use floating point for ledger arithmetic."
        },
        "partnerTreasuryFeesSettledUsdc": {
          "type": "string",
          "pattern": "^\\d+(?:\\.\\d+)?$",
          "description": "Exact decimal string. Never use floating point for ledger arithmetic."
        },
        "partnerFeesUsdc": {
          "type": "string",
          "pattern": "^\\d+(?:\\.\\d+)?$",
          "description": "Exact decimal string. Never use floating point for ledger arithmetic."
        },
        "partnerFeesSettledUsdc": {
          "type": "string",
          "pattern": "^\\d+(?:\\.\\d+)?$",
          "description": "Exact decimal string. Never use floating point for ledger arithmetic."
        },
        "partnerFeesClaimedUsdc": {
          "type": "string",
          "pattern": "^\\d+(?:\\.\\d+)?$",
          "description": "Exact decimal string. Never use floating point for ledger arithmetic."
        },
        "partnerFeesOutstandingUsdc": {
          "type": "string",
          "pattern": "^\\d+(?:\\.\\d+)?$",
          "description": "Exact decimal string. Never use floating point for ledger arithmetic."
        }
      },
      "required": [
        "tradingVolumeUsdc",
        "polymarketTakerFeesUsdc",
        "platformFeesUsdc",
        "platformFeesSettledUsdc",
        "partnerTreasuryFeesUsdc",
        "partnerTreasuryFeesSettledUsdc",
        "partnerFeesUsdc",
        "partnerFeesSettledUsdc",
        "partnerFeesClaimedUsdc",
        "partnerFeesOutstandingUsdc"
      ],
      "additionalProperties": false
    },
    "users": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "crispAccountId": {
            "type": "string",
            "format": "uuid"
          },
          "externalUserId": {
            "type": "string",
            "pattern": "^[A-Za-z0-9._:@-]{1,200}$"
          },
          "tradeCount": {
            "type": "integer",
            "minimum": 0
          },
          "tradingVolumeUsdc": {
            "type": "string",
            "pattern": "^\\d+(?:\\.\\d+)?$",
            "description": "Exact decimal string. Never use floating point for ledger arithmetic."
          },
          "polymarketTakerFeesUsdc": {
            "type": "string",
            "pattern": "^\\d+(?:\\.\\d+)?$",
            "description": "Exact decimal string. Never use floating point for ledger arithmetic."
          },
          "partnerFeesUsdc": {
            "type": "string",
            "pattern": "^\\d+(?:\\.\\d+)?$",
            "description": "Exact decimal string. Never use floating point for ledger arithmetic."
          },
          "partnerFeesSettledUsdc": {
            "type": "string",
            "pattern": "^\\d+(?:\\.\\d+)?$",
            "description": "Exact decimal string. Never use floating point for ledger arithmetic."
          },
          "partnerFeesClaimedUsdc": {
            "type": "string",
            "pattern": "^\\d+(?:\\.\\d+)?$",
            "description": "Exact decimal string. Never use floating point for ledger arithmetic."
          },
          "partnerFeesOutstandingUsdc": {
            "type": "string",
            "pattern": "^\\d+(?:\\.\\d+)?$",
            "description": "Exact decimal string. Never use floating point for ledger arithmetic."
          }
        },
        "required": [
          "crispAccountId",
          "externalUserId",
          "tradeCount",
          "tradingVolumeUsdc",
          "polymarketTakerFeesUsdc",
          "partnerFeesUsdc",
          "partnerFeesSettledUsdc",
          "partnerFeesClaimedUsdc",
          "partnerFeesOutstandingUsdc"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "venue",
    "period",
    "source",
    "consistency",
    "ingestion",
    "accounts",
    "totals",
    "users"
  ],
  "additionalProperties": false
}

recordPageView

POST /v1/traffic/page-views

SDK: crisp.call('recordPageView', input). Idempotency-Key: not required.

SDK input schema (path, query, body and key)
{
  "type": "object",
  "properties": {
    "body": {
      "type": "object",
      "properties": {
        "eventId": {
          "type": "string",
          "format": "uuid"
        },
        "projectSlug": {
          "type": "string"
        },
        "visitorToken": {
          "type": "string"
        },
        "pagePath": {
          "type": "string"
        },
        "referrerHost": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "countryCode": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "isLanding": {
          "type": "boolean"
        }
      },
      "required": [
        "eventId",
        "projectSlug",
        "visitorToken",
        "pagePath"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "body"
  ],
  "additionalProperties": false
}
Response data schema (HTTP 202)
{
  "type": "object",
  "properties": {
    "recorded": {
      "type": "boolean"
    }
  },
  "required": [
    "recorded"
  ],
  "additionalProperties": false
}

listFeeClaims

GET /v1/fee-claims

SDK: crisp.call('listFeeClaims', input). Idempotency-Key: not required.

SDK input schema (path, query, body and key)
{
  "type": "object",
  "properties": {
    "query": {
      "type": "object",
      "properties": {
        "limit": {
          "type": "integer",
          "minimum": 1,
          "maximum": 90,
          "default": 31
        }
      },
      "required": [],
      "additionalProperties": false
    }
  },
  "required": [],
  "additionalProperties": false
}
Response data schema (HTTP 200)
{
  "type": "object",
  "properties": {
    "venue": {
      "type": "string"
    },
    "cadence": {
      "type": "string"
    },
    "claims": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "feeDay": {
            "type": "string",
            "format": "date"
          },
          "recipientAddress": {
            "type": "string"
          },
          "accruedUsdc": {
            "type": "string",
            "pattern": "^\\d+(?:\\.\\d+)?$",
            "description": "Exact decimal string. Never use floating point for ledger arithmetic."
          },
          "collectedUsdc": {
            "type": "string",
            "pattern": "^\\d+(?:\\.\\d+)?$",
            "description": "Exact decimal string. Never use floating point for ledger arithmetic."
          },
          "claimableUsdc": {
            "type": "string",
            "pattern": "^\\d+(?:\\.\\d+)?$",
            "description": "Exact decimal string. Never use floating point for ledger arithmetic."
          },
          "claim": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "state": {
                    "type": "string",
                    "enum": [
                      "queued",
                      "submitting",
                      "submitted",
                      "settled",
                      "manual_review"
                    ]
                  },
                  "amountUsdc": {
                    "type": "string",
                    "pattern": "^\\d+(?:\\.\\d+)?$",
                    "description": "Exact decimal string. Never use floating point for ledger arithmetic."
                  },
                  "transactionHash": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "requestedAt": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "settledAt": {
                    "anyOf": [
                      {
                        "type": "string",
                        "format": "date-time"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  }
                },
                "required": [
                  "id",
                  "state",
                  "amountUsdc",
                  "transactionHash",
                  "requestedAt",
                  "settledAt"
                ],
                "additionalProperties": false
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "feeDay",
          "recipientAddress",
          "accruedUsdc",
          "collectedUsdc",
          "claimableUsdc",
          "claim"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "venue",
    "cadence",
    "claims"
  ],
  "additionalProperties": false
}

createFeeClaim

POST /v1/fee-claims

SDK: crisp.call('createFeeClaim', input). Idempotency-Key: required.

SDK input schema (path, query, body and key)
{
  "type": "object",
  "properties": {
    "body": {
      "type": "object",
      "properties": {
        "feeDay": {
          "type": "string",
          "format": "date"
        },
        "recipientAddress": {
          "type": "string",
          "pattern": "^0x[0-9a-fA-F]{40}$"
        }
      },
      "required": [
        "feeDay",
        "recipientAddress"
      ],
      "additionalProperties": false
    },
    "idempotencyKey": {
      "type": "string",
      "pattern": "^[A-Za-z0-9._:-]{8,200}$"
    }
  },
  "required": [
    "body",
    "idempotencyKey"
  ],
  "additionalProperties": false
}
Response data schema (HTTP 202)
{
  "type": "object",
  "properties": {
    "venue": {
      "type": "string"
    },
    "claim": {
      "type": "object",
      "properties": {
        "feeDay": {
          "type": "string",
          "format": "date"
        },
        "recipientAddress": {
          "type": "string"
        },
        "accruedUsdc": {
          "type": "string",
          "pattern": "^\\d+(?:\\.\\d+)?$",
          "description": "Exact decimal string. Never use floating point for ledger arithmetic."
        },
        "collectedUsdc": {
          "type": "string",
          "pattern": "^\\d+(?:\\.\\d+)?$",
          "description": "Exact decimal string. Never use floating point for ledger arithmetic."
        },
        "claimableUsdc": {
          "type": "string",
          "pattern": "^\\d+(?:\\.\\d+)?$",
          "description": "Exact decimal string. Never use floating point for ledger arithmetic."
        },
        "claim": {
          "anyOf": [
            {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid"
                },
                "state": {
                  "type": "string",
                  "enum": [
                    "queued",
                    "submitting",
                    "submitted",
                    "settled",
                    "manual_review"
                  ]
                },
                "amountUsdc": {
                  "type": "string",
                  "pattern": "^\\d+(?:\\.\\d+)?$",
                  "description": "Exact decimal string. Never use floating point for ledger arithmetic."
                },
                "transactionHash": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "requestedAt": {
                  "type": "string",
                  "format": "date-time"
                },
                "settledAt": {
                  "anyOf": [
                    {
                      "type": "string",
                      "format": "date-time"
                    },
                    {
                      "type": "null"
                    }
                  ]
                }
              },
              "required": [
                "id",
                "state",
                "amountUsdc",
                "transactionHash",
                "requestedAt",
                "settledAt"
              ],
              "additionalProperties": false
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "feeDay",
        "recipientAddress",
        "accruedUsdc",
        "collectedUsdc",
        "claimableUsdc",
        "claim"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "venue",
    "claim"
  ],
  "additionalProperties": false
}

setReferrer

PUT /v1/accounts/{externalUserId}/referrer

SDK: crisp.call('setReferrer', input). Idempotency-Key: required.

SDK input schema (path, query, body and key)
{
  "type": "object",
  "properties": {
    "path": {
      "type": "object",
      "properties": {
        "externalUserId": {
          "type": "string",
          "pattern": "^[A-Za-z0-9._:@-]{1,200}$"
        }
      },
      "required": [
        "externalUserId"
      ],
      "additionalProperties": false
    },
    "body": {
      "type": "object",
      "properties": {
        "referrerExternalUserId": {
          "type": "string",
          "pattern": "^[A-Za-z0-9._:@-]{1,200}$"
        }
      },
      "required": [
        "referrerExternalUserId"
      ],
      "additionalProperties": false
    },
    "idempotencyKey": {
      "type": "string",
      "pattern": "^[A-Za-z0-9._:-]{8,200}$"
    }
  },
  "required": [
    "path",
    "body",
    "idempotencyKey"
  ],
  "additionalProperties": false
}
Response data schema (HTTP 200)
{
  "type": "object",
  "properties": {
    "externalUserId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9._:@-]{1,200}$"
    },
    "referrerExternalUserId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9._:@-]{1,200}$"
    },
    "created": {
      "type": "boolean"
    }
  },
  "required": [
    "externalUserId",
    "referrerExternalUserId",
    "created"
  ],
  "additionalProperties": false
}

getReferralEarnings

GET /v1/accounts/{externalUserId}/referral-earnings

SDK: crisp.call('getReferralEarnings', input). Idempotency-Key: not required.

SDK input schema (path, query, body and key)
{
  "type": "object",
  "properties": {
    "path": {
      "type": "object",
      "properties": {
        "externalUserId": {
          "type": "string",
          "pattern": "^[A-Za-z0-9._:@-]{1,200}$"
        }
      },
      "required": [
        "externalUserId"
      ],
      "additionalProperties": false
    },
    "query": {
      "type": "object",
      "properties": {
        "from": {
          "type": "string",
          "format": "date"
        },
        "to": {
          "type": "string",
          "format": "date"
        },
        "granularity": {
          "type": "string",
          "enum": [
            "daily",
            "weekly",
            "monthly"
          ]
        },
        "limit": {
          "type": "integer",
          "minimum": 1,
          "maximum": 366,
          "default": 31
        }
      },
      "required": [],
      "additionalProperties": false
    }
  },
  "required": [
    "path"
  ],
  "additionalProperties": false
}
Response data schema (HTTP 200)
{
  "type": "object",
  "properties": {
    "cadence": {
      "type": "string"
    },
    "from": {
      "anyOf": [
        {
          "type": "string",
          "format": "date"
        },
        {
          "type": "null"
        }
      ]
    },
    "to": {
      "anyOf": [
        {
          "type": "string",
          "format": "date"
        },
        {
          "type": "null"
        }
      ]
    },
    "granularity": {
      "type": "string"
    },
    "earnings": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "feeDay": {
            "type": "string",
            "format": "date"
          },
          "accruedUsdc": {
            "type": "string",
            "pattern": "^\\d+(?:\\.\\d+)?$",
            "description": "Exact decimal string. Never use floating point for ledger arithmetic."
          },
          "collectedUsdc": {
            "type": "string",
            "pattern": "^\\d+(?:\\.\\d+)?$",
            "description": "Exact decimal string. Never use floating point for ledger arithmetic."
          },
          "feeDayConcluded": {
            "type": "boolean"
          },
          "claimableUsdc": {
            "type": "string",
            "pattern": "^\\d+(?:\\.\\d+)?$",
            "description": "Exact decimal string. Never use floating point for ledger arithmetic."
          },
          "claim": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "state": {
                    "type": "string",
                    "enum": [
                      "queued",
                      "submitting",
                      "submitted",
                      "settled",
                      "manual_review"
                    ]
                  },
                  "amountUsdc": {
                    "type": "string",
                    "pattern": "^\\d+(?:\\.\\d+)?$",
                    "description": "Exact decimal string. Never use floating point for ledger arithmetic."
                  },
                  "totalAmountUsdc": {
                    "type": "string",
                    "pattern": "^\\d+(?:\\.\\d+)?$",
                    "description": "Exact decimal string. Never use floating point for ledger arithmetic."
                  },
                  "transactionHash": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  }
                },
                "required": [
                  "id",
                  "state",
                  "amountUsdc",
                  "transactionHash"
                ],
                "additionalProperties": false
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "feeDay",
          "accruedUsdc",
          "collectedUsdc",
          "feeDayConcluded",
          "claimableUsdc",
          "claim"
        ],
        "additionalProperties": false
      }
    },
    "series": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "periodStart": {
            "type": "string",
            "format": "date"
          },
          "accruedUsdc": {
            "type": "string",
            "pattern": "^\\d+(?:\\.\\d+)?$",
            "description": "Exact decimal string. Never use floating point for ledger arithmetic."
          },
          "collectedUsdc": {
            "type": "string",
            "pattern": "^\\d+(?:\\.\\d+)?$",
            "description": "Exact decimal string. Never use floating point for ledger arithmetic."
          },
          "claimableUsdc": {
            "type": "string",
            "pattern": "^\\d+(?:\\.\\d+)?$",
            "description": "Exact decimal string. Never use floating point for ledger arithmetic."
          }
        },
        "required": [
          "periodStart",
          "accruedUsdc",
          "collectedUsdc",
          "claimableUsdc"
        ],
        "additionalProperties": false
      }
    },
    "levels": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "level": {
            "type": "integer",
            "minimum": 0
          },
          "accruedUsdc": {
            "type": "string",
            "pattern": "^\\d+(?:\\.\\d+)?$",
            "description": "Exact decimal string. Never use floating point for ledger arithmetic."
          }
        },
        "required": [
          "level",
          "accruedUsdc"
        ],
        "additionalProperties": false
      }
    },
    "claimEarnings": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "feeDay": {
            "type": "string",
            "format": "date"
          },
          "accruedUsdc": {
            "type": "string",
            "pattern": "^\\d+(?:\\.\\d+)?$",
            "description": "Exact decimal string. Never use floating point for ledger arithmetic."
          },
          "collectedUsdc": {
            "type": "string",
            "pattern": "^\\d+(?:\\.\\d+)?$",
            "description": "Exact decimal string. Never use floating point for ledger arithmetic."
          },
          "feeDayConcluded": {
            "type": "boolean"
          },
          "claimableUsdc": {
            "type": "string",
            "pattern": "^\\d+(?:\\.\\d+)?$",
            "description": "Exact decimal string. Never use floating point for ledger arithmetic."
          },
          "claim": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "state": {
                    "type": "string",
                    "enum": [
                      "queued",
                      "submitting",
                      "submitted",
                      "settled",
                      "manual_review"
                    ]
                  },
                  "amountUsdc": {
                    "type": "string",
                    "pattern": "^\\d+(?:\\.\\d+)?$",
                    "description": "Exact decimal string. Never use floating point for ledger arithmetic."
                  },
                  "totalAmountUsdc": {
                    "type": "string",
                    "pattern": "^\\d+(?:\\.\\d+)?$",
                    "description": "Exact decimal string. Never use floating point for ledger arithmetic."
                  },
                  "transactionHash": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  }
                },
                "required": [
                  "id",
                  "state",
                  "amountUsdc",
                  "transactionHash"
                ],
                "additionalProperties": false
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "feeDay",
          "accruedUsdc",
          "collectedUsdc",
          "feeDayConcluded",
          "claimableUsdc",
          "claim"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "cadence",
    "from",
    "to",
    "granularity",
    "earnings",
    "series",
    "levels",
    "claimEarnings"
  ],
  "additionalProperties": false
}

getReferralSummary

GET /v1/accounts/{externalUserId}/referral-summary

SDK: crisp.call('getReferralSummary', input). Idempotency-Key: not required.

SDK input schema (path, query, body and key)
{
  "type": "object",
  "properties": {
    "path": {
      "type": "object",
      "properties": {
        "externalUserId": {
          "type": "string",
          "pattern": "^[A-Za-z0-9._:@-]{1,200}$"
        }
      },
      "required": [
        "externalUserId"
      ],
      "additionalProperties": false
    },
    "query": {
      "type": "object",
      "properties": {
        "limit": {
          "type": "integer",
          "minimum": 1,
          "maximum": 200,
          "default": 50
        },
        "offset": {
          "type": "integer",
          "minimum": 0
        }
      },
      "required": [],
      "additionalProperties": false
    }
  },
  "required": [
    "path"
  ],
  "additionalProperties": false
}
Response data schema (HTTP 200)
{
  "type": "object",
  "properties": {
    "summary": {
      "type": "object",
      "properties": {
        "accruedUsdc": {
          "type": "string",
          "pattern": "^\\d+(?:\\.\\d+)?$",
          "description": "Exact decimal string. Never use floating point for ledger arithmetic."
        },
        "claimableUsdc": {
          "type": "string",
          "pattern": "^\\d+(?:\\.\\d+)?$",
          "description": "Exact decimal string. Never use floating point for ledger arithmetic."
        },
        "pendingSettlementUsdc": {
          "type": "string",
          "pattern": "^\\d+(?:\\.\\d+)?$",
          "description": "Exact decimal string. Never use floating point for ledger arithmetic."
        },
        "payoutPendingUsdc": {
          "type": "string",
          "pattern": "^\\d+(?:\\.\\d+)?$",
          "description": "Exact decimal string. Never use floating point for ledger arithmetic."
        },
        "paidOutUsdc": {
          "type": "string",
          "pattern": "^\\d+(?:\\.\\d+)?$",
          "description": "Exact decimal string. Never use floating point for ledger arithmetic."
        }
      },
      "required": [
        "accruedUsdc",
        "claimableUsdc",
        "pendingSettlementUsdc",
        "payoutPendingUsdc",
        "paidOutUsdc"
      ],
      "additionalProperties": false
    },
    "payouts": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "state": {
            "type": "string",
            "enum": [
              "queued",
              "submitting",
              "submitted",
              "settled",
              "manual_review"
            ]
          },
          "amountUsdc": {
            "type": "string",
            "pattern": "^\\d+(?:\\.\\d+)?$",
            "description": "Exact decimal string. Never use floating point for ledger arithmetic."
          },
          "transactionHash": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "feeDays": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "date"
            }
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "id",
          "state",
          "amountUsdc",
          "transactionHash",
          "feeDays",
          "createdAt",
          "updatedAt"
        ],
        "additionalProperties": false
      }
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 200,
      "default": 50
    },
    "offset": {
      "type": "integer",
      "minimum": 0
    },
    "hasMore": {
      "type": "boolean"
    }
  },
  "required": [
    "summary",
    "payouts",
    "limit",
    "offset",
    "hasMore"
  ],
  "additionalProperties": false
}

claimReferralRewards

POST /v1/accounts/{externalUserId}/referral-claims

SDK: crisp.call('claimReferralRewards', input). Idempotency-Key: required.

SDK input schema (path, query, body and key)
{
  "type": "object",
  "properties": {
    "path": {
      "type": "object",
      "properties": {
        "externalUserId": {
          "type": "string",
          "pattern": "^[A-Za-z0-9._:@-]{1,200}$"
        }
      },
      "required": [
        "externalUserId"
      ],
      "additionalProperties": false
    },
    "body": {
      "oneOf": [
        {
          "type": "object",
          "properties": {
            "all": {
              "type": "boolean",
              "enum": [
                true
              ]
            }
          },
          "required": [
            "all"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "feeDay": {
              "type": "string",
              "format": "date"
            }
          },
          "required": [
            "feeDay"
          ],
          "additionalProperties": false
        }
      ]
    },
    "idempotencyKey": {
      "type": "string",
      "pattern": "^[A-Za-z0-9._:-]{8,200}$"
    }
  },
  "required": [
    "path",
    "body",
    "idempotencyKey"
  ],
  "additionalProperties": false
}
Response data schema (HTTP 202)
{
  "anyOf": [
    {
      "type": "object",
      "properties": {
        "claims": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "feeDay": {
                "type": "string",
                "format": "date"
              },
              "accruedUsdc": {
                "type": "string",
                "pattern": "^\\d+(?:\\.\\d+)?$",
                "description": "Exact decimal string. Never use floating point for ledger arithmetic."
              },
              "collectedUsdc": {
                "type": "string",
                "pattern": "^\\d+(?:\\.\\d+)?$",
                "description": "Exact decimal string. Never use floating point for ledger arithmetic."
              },
              "feeDayConcluded": {
                "type": "boolean"
              },
              "claimableUsdc": {
                "type": "string",
                "pattern": "^\\d+(?:\\.\\d+)?$",
                "description": "Exact decimal string. Never use floating point for ledger arithmetic."
              },
              "claim": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string",
                        "format": "uuid"
                      },
                      "state": {
                        "type": "string",
                        "enum": [
                          "queued",
                          "submitting",
                          "submitted",
                          "settled",
                          "manual_review"
                        ]
                      },
                      "amountUsdc": {
                        "type": "string",
                        "pattern": "^\\d+(?:\\.\\d+)?$",
                        "description": "Exact decimal string. Never use floating point for ledger arithmetic."
                      },
                      "totalAmountUsdc": {
                        "type": "string",
                        "pattern": "^\\d+(?:\\.\\d+)?$",
                        "description": "Exact decimal string. Never use floating point for ledger arithmetic."
                      },
                      "transactionHash": {
                        "anyOf": [
                          {
                            "type": "string"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      }
                    },
                    "required": [
                      "id",
                      "state",
                      "amountUsdc",
                      "transactionHash"
                    ],
                    "additionalProperties": false
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "required": [
              "feeDay",
              "accruedUsdc",
              "collectedUsdc",
              "feeDayConcluded",
              "claimableUsdc",
              "claim"
            ],
            "additionalProperties": false
          }
        },
        "amountUsdc": {
          "type": "string",
          "pattern": "^\\d+(?:\\.\\d+)?$",
          "description": "Exact decimal string. Never use floating point for ledger arithmetic."
        },
        "dayCount": {
          "type": "integer",
          "minimum": 0
        }
      },
      "required": [
        "claims",
        "amountUsdc",
        "dayCount"
      ],
      "additionalProperties": false
    },
    {
      "type": "object",
      "properties": {
        "claim": {
          "type": "object",
          "properties": {
            "feeDay": {
              "type": "string",
              "format": "date"
            },
            "accruedUsdc": {
              "type": "string",
              "pattern": "^\\d+(?:\\.\\d+)?$",
              "description": "Exact decimal string. Never use floating point for ledger arithmetic."
            },
            "collectedUsdc": {
              "type": "string",
              "pattern": "^\\d+(?:\\.\\d+)?$",
              "description": "Exact decimal string. Never use floating point for ledger arithmetic."
            },
            "feeDayConcluded": {
              "type": "boolean"
            },
            "claimableUsdc": {
              "type": "string",
              "pattern": "^\\d+(?:\\.\\d+)?$",
              "description": "Exact decimal string. Never use floating point for ledger arithmetic."
            },
            "claim": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "state": {
                      "type": "string",
                      "enum": [
                        "queued",
                        "submitting",
                        "submitted",
                        "settled",
                        "manual_review"
                      ]
                    },
                    "amountUsdc": {
                      "type": "string",
                      "pattern": "^\\d+(?:\\.\\d+)?$",
                      "description": "Exact decimal string. Never use floating point for ledger arithmetic."
                    },
                    "totalAmountUsdc": {
                      "type": "string",
                      "pattern": "^\\d+(?:\\.\\d+)?$",
                      "description": "Exact decimal string. Never use floating point for ledger arithmetic."
                    },
                    "transactionHash": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "required": [
                    "id",
                    "state",
                    "amountUsdc",
                    "transactionHash"
                  ],
                  "additionalProperties": false
                },
                {
                  "type": "null"
                }
              ]
            }
          },
          "required": [
            "feeDay",
            "accruedUsdc",
            "collectedUsdc",
            "feeDayConcluded",
            "claimableUsdc",
            "claim"
          ],
          "additionalProperties": false
        }
      },
      "required": [
        "claim"
      ],
      "additionalProperties": false
    }
  ]
}

getFeeProgram

GET /v1/fee-program

SDK: crisp.call('getFeeProgram', input). Idempotency-Key: not required.

SDK input schema (path, query, body and key)
{
  "type": "object",
  "properties": {},
  "required": [],
  "additionalProperties": false
}
Response data schema (HTTP 200)
{
  "type": "object",
  "properties": {
    "program": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "version": {
              "type": "integer",
              "minimum": 0
            },
            "effectiveAt": {
              "type": "string",
              "format": "date-time"
            },
            "consentVersion": {
              "type": "string"
            },
            "totalFeeBps": {
              "type": "integer",
              "minimum": 0
            },
            "chargeSides": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "buy",
                  "sell"
                ]
              }
            },
            "levels": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "recipient": {
                    "type": "string",
                    "enum": [
                      "crisp_revenue",
                      "partner_treasury",
                      "referral"
                    ]
                  },
                  "level": {
                    "anyOf": [
                      {
                        "type": "integer",
                        "minimum": 0
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "bps": {
                    "type": "integer",
                    "minimum": 0
                  }
                },
                "required": [
                  "recipient",
                  "level",
                  "bps"
                ],
                "additionalProperties": false
              }
            }
          },
          "required": [
            "version",
            "effectiveAt",
            "consentVersion",
            "totalFeeBps",
            "chargeSides",
            "levels"
          ],
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "required": [
    "program"
  ],
  "additionalProperties": false
}
CRISP Partner Documentation