Reference
API changes
What changed on /api/v1 and /api/v2 relative to the previous release, and why.
Deliberate contract changes relative to the previous release baseline. Anything not listed here is additive or unchanged.
/api/v1
Baseline: 3.1.2-release.31854613570 (233 operations). Current surface: 233 operations.
Changed
- Error responses now use the platform error format: the legacy envelope fields
code,status,message,defined, anddataare replaced by the new error shape on every error status, and error-code enums follow the new error registry. (response fields removed, response fields now optional; 232 operations affected) - Error statuses are declared per route from the errors that route can actually produce, replacing the old blanket status registry. (response statuses removed; 139 operations affected)
- Optional response fields are now documented as nullable, and fields that can genuinely be null at runtime say so; emitted values are unchanged. (response fields now nullable; 62 operations affected)
- Optional response fields are no longer forced into the required set by the specification generator; emitted values are unchanged. (response fields now optional; 29 operations affected)
- These fields were always required by the server; the previous specification under-documented them as optional. (request fields now required, request bodies now required; 9 operations affected)
- Country and constant union members are documented as constrained patterns instead of literal enum lists; the accepted value set is unchanged. (request variants removed; 6 operations affected)
- Removed. Use
patch /api/v2/users/me. (operations removed; 1 operations affected) - Union member encodings changed representation in the specification; the accepted and emitted value sets are unchanged. (response variants removed; 1 operations affected)
Added
1 new operation:
post /kyc-profile-versions/{versionId}/documents/upload-url
Existing operations also gained new optional fields, parameters, and response properties. Additive changes never affect existing integrations.
/api/v2
Baseline: 3.1.2-release.31854613570 (512 operations). Current surface: 701 operations.
Changed
- Error responses now use the platform error format: the legacy envelope fields
code,status,message,defined, anddataare replaced by the new error shape on every error status, and error-code enums follow the new error registry. (response fields removed, response fields now optional; 489 operations affected) - Error statuses are declared per route from the errors that route can actually produce, replacing the old blanket status registry. (response statuses removed; 489 operations affected)
- Union member encodings changed representation in the specification; the accepted and emitted value sets are unchanged. (response variants removed; 160 operations affected)
- Optional response fields are now documented as nullable, and fields that can genuinely be null at runtime say so; emitted values are unchanged. (response fields now nullable; 111 operations affected)
- Mutations that settle synchronously no longer document a
202they never emit. Asynchronous mutations keep the200/202pair: sendPrefer: wait=Nfor a bounded synchronous wait (max 99s), and pollstatusUrlfrom the202handle otherwise. (response statuses removed; 82 operations affected) - The feed surface moved to
/system/feed/*REST paths. The legacy/system/feeds/*paths keep working through server-side rewrites and are no longer documented. (operations removed; 17 operations affected) - These fields were always required by the server; the previous specification under-documented them as optional. (request fields now required; 17 operations affected)
- A
202 Acceptedresponse now carries the asynchronous queue handle (transactionId,status,statusUrl) instead of echoing the200body; pollstatusUrlfor the result. (response fields removed; 13 operations affected) - Optional response fields are no longer forced into the required set by the specification generator; emitted values are unchanged. (response fields now optional; 13 operations affected)
- Country and constant union members are documented as constrained patterns instead of literal enum lists; the accepted value set is unchanged. (request variants removed; 12 operations affected)
- The Restate operator surface was removed together with the Restate engine; durable-workflow recovery now runs through the native workflow engine and its operational runbooks. (operations removed; 6 operations affected)
- Generator-artifact parameters and middleware-handled headers left the documented parameter list; wire behavior is unchanged. (param_removed; 1 operations affected)
- Participant activity metrics are scoped to one account: pass the accountAddress of the participant wallet you are inspecting. (new required parameters; 1 operations affected)
- The local custody credentials shape matches what the server has always enforced; the looser variant was never accepted at runtime. (request variants removed; 1 operations affected)
Added
212 new operations:
/addons/governance: 20 new operations/system/feed: 20 new operations/tokens/features: 18 new operations/addons/trading-venue-markets: 17 new operations/reporting: 15 new operations/participants/multisig-drafts: 11 new operations/bundler: 8 new operations/addons/trading-venue-watchlists: 7 new operations/wallets: 7 new operations/addons/token-sales: 6 new operations/participants/multisig-invites: 6 new operations/tokens/corporate-actions: 6 new operations/admin/networks: 5 new operations/admin/rpc-api-keys: 4 new operations/organizations/networks: 4 new operations/participants/registrations: 4 new operations/addons/trading-venue-orders: 3 new operations/admin/rpc-upstream-pools: 3 new operations/addons/airdrops: 2 new operations/addons/token-sale-participant-role-grants: 2 new operations/addons/trading-venue-desk-limits: 2 new operations/addons/trading-venue-market-halts: 2 new operations/addons/trading-venue-trade-busts: 2 new operations/addons/trading-venues: 2 new operations/admin/indexing-scope: 2 new operations/platform-setup: 2 new operations/platform-status: 2 new operations/actions: 1 new operation/addons/token-sale-investments: 1 new operation/addons/token-sale-operations: 1 new operation/addons/token-sale-public-transitions: 1 new operation/addons/trading-venue-blotter: 1 new operation/addons/trading-venue-desk-limit-decisions: 1 new operation/addons/trading-venue-market-band-prunes: 1 new operation/addons/trading-venue-market-calendars: 1 new operation/addons/trading-venue-market-delistings: 1 new operation/addons/trading-venue-market-fee-schedules: 1 new operation/addons/trading-venue-order-batches: 1 new operation/addons/trading-venue-reservations: 1 new operation/addons/trading-venue-trade-bust-approvals: 1 new operation/addons/trading-venue-trade-bust-reconciliations: 1 new operation/addons/trading-venue-trade-bust-rejections: 1 new operation/addons/trading-venue-trade-bust-resumptions: 1 new operation/admin/rpc-health: 1 new operation/events: 1 new operation/kyc-profile-versions: 1 new operation/participants: 1 new operation/participants/assumable: 1 new operation/participants/holdings: 1 new operation/portfolio: 1 new operation/rpc: 1 new operation/tokens/create: 1 new operation/tokens/transfer-simulate: 1 new operation/tokens/voting-power: 1 new operation/user-realized-pnl: 1 new operation/user-realized-pnl-metrics: 1 new operation/user-unrealized-pnl-metrics: 1 new operation
Existing operations also gained new optional fields, parameters, and response properties. Additive changes never affect existing integrations.