Skip to main content
POST
/
v2
/
portfolios
/
{portfolioId}
/
stop
curl --request POST \
  --url 'https://api.glider.fi/v2/portfolios/pf_01JWZEE2MF30KVRMRX53N88VA4/stop' \
  --header 'x-api-key: gldr_sk_your_api_key'
{
  "success": true,
  "data": {
    "portfolioId": "pf_01JWZEE2MF30KVRMRX53N88VA4",
    "userAccountId": "eip155:0:0xabcdef0000000000000000000000000000000001",
    "strategyId": "01JWZEE2MF30KVRMRX53N88VA4",
    "strategyName": "Conservative Yield",
    "strategyDescription": "Multi-chain balanced allocation strategy",
    "vaultAccountIds": [
      "eip155:8453:0xe3a2d1f49aee887e42655b56371d4d76bbf58058"
    ],
    "schedule": {
      "status": "paused",
      "frequency": "daily",
      "intervalMs": 86400000,
      "nextDueAt": "2026-04-16T12:00:00.000Z",
      "lastRebalanceAt": "2026-04-15T12:00:00.000Z"
    },
    "createdAt": "2026-04-10T08:30:00.000Z",
    "strategyVersion": 4,
    "isMirrored": true,
    "isPinned": false,
    "scheduleId": "999",
    "updatedAt": "2026-04-16T12:00:00.000Z"
  }
}
Flips the portfolio’s rebalance schedule to paused. Idempotent — calling stop on an already-paused portfolio returns the current detail without any side effects, matching Stripe-style pause semantics. Rebalance history, on-chain balances, and vault positions are preserved while paused; call /start to resume automation. The scheduler will ignore a paused portfolio until its status is flipped back to active.
  • Auth: x-api-key header (required)
  • Scope: portfolios:write
Concurrent start and stop calls on the same portfolio are last-writer-wins on the schedule row. Both requests return 200 with the state each observed, so a client that issued the losing transition may briefly see stale status — re-fetch the portfolio detail if you need the post-race state. Cross-tenant access returns 404, not 403, so a portfolio id that belongs to a different tenant is indistinguishable from one that does not exist.
portfolioId
string
required
Portfolio identifier returned by POST /v2/enroll or GET /v2/portfolios.
Common error responses:
  • 400 when the portfolio has no rebalance schedule to transition
  • 401 when x-api-key header is missing or the key is invalid
  • 403 when the API key lacks the portfolios:write scope
  • 404 when the portfolio does not exist or does not belong to the tenant
  • 500 on unexpected server errors
curl --request POST \
  --url 'https://api.glider.fi/v2/portfolios/pf_01JWZEE2MF30KVRMRX53N88VA4/stop' \
  --header 'x-api-key: gldr_sk_your_api_key'
{
  "success": true,
  "data": {
    "portfolioId": "pf_01JWZEE2MF30KVRMRX53N88VA4",
    "userAccountId": "eip155:0:0xabcdef0000000000000000000000000000000001",
    "strategyId": "01JWZEE2MF30KVRMRX53N88VA4",
    "strategyName": "Conservative Yield",
    "strategyDescription": "Multi-chain balanced allocation strategy",
    "vaultAccountIds": [
      "eip155:8453:0xe3a2d1f49aee887e42655b56371d4d76bbf58058"
    ],
    "schedule": {
      "status": "paused",
      "frequency": "daily",
      "intervalMs": 86400000,
      "nextDueAt": "2026-04-16T12:00:00.000Z",
      "lastRebalanceAt": "2026-04-15T12:00:00.000Z"
    },
    "createdAt": "2026-04-10T08:30:00.000Z",
    "strategyVersion": 4,
    "isMirrored": true,
    "isPinned": false,
    "scheduleId": "999",
    "updatedAt": "2026-04-16T12:00:00.000Z"
  }
}