V2 Integrator API
Get Operation Status
Poll the execution state of an async operation (withdrawal, rebalance, etc.) dispatched on a portfolio.
GET
Returns the current lifecycle state of an operation previously dispatched
via a write endpoint such as
Common error responses:
POST /v2/portfolios/{portfolioId}/withdraw
or POST /v2/portfolios/{portfolioId}/rebalance. Use to poll for onchain
confirmation.
Operations transition through:
completed, failed, and cancelled are terminal — stop polling once
you see one.
- Auth:
x-api-keyheader (required) - Scope:
portfolios:read
Polling cadence
Poll at 2–5 second intervals. There is no SLA on when a dispatched withdrawal confirms onchain — it depends on the target chain’s block time, bundler throughput, and paymaster availability. For withdraws, typical end-to-end latency is under a minute on Base / Arbitrum / Polygon and under ~30 seconds on L1 in most conditions; but pathological conditions (RPC congestion, paymaster rebalancing) may push this higher.Response fields
| Field | Type | Notes |
|---|---|---|
operationId | string | Echo of the URL param. |
portfolioId | string | Echo of the URL param. |
kind | string | withdraw, rebalance, bridge, swap. |
state | enum | Current lifecycle state. |
createdAt / updatedAt | ISO 8601 | Operation timestamps. |
finishedAt | ISO 8601 or null | Set once the operation reaches a terminal state. |
error | string or null | Set on failed/cancelled. Free-form message. |
401whenx-api-keyheader is missing or the key is invalid403when the API key lacks theportfolios:readscope404when the portfolio doesn’t exist, your API key cannot access it, or theoperationIddoesn’t correspond to any operation on that portfolio500on unexpected server errors