curl --request POST \
--url 'https://api.glider.fi/v2/portfolios/a1b2c3d4/start' \
--header 'x-api-key: gldr_sk_your_api_key'
const response = await fetch(
"https://api.glider.fi/v2/portfolios/a1b2c3d4/start",
{
method: "POST",
headers: { "x-api-key": "gldr_sk_your_api_key" },
},
);
const data = await response.json();
{
"success": true,
"data": {
"portfolioId": "a1b2c3d4",
"portfolioName": "Alice Portfolio",
"ownerAccountId": "eip155:0:0xabcdef0000000000000000000000000000000001",
"strategyId": "01JWZEE2MF30KVRMRX53N88VA4",
"strategyName": "Conservative Yield",
"strategyDescription": "Multi-chain balanced allocation strategy",
"smartAccounts": [
{ "accountId": "eip155:8453:0xe3a2d1f49aee887e42655b56371d4d76bbf58058" }
],
"schedule": {
"status": "active",
"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,
"updatedAt": "2026-04-16T12:00:00.000Z"
}
}
{
"success": false,
"error": {
"code": "API_400",
"message": "Portfolio a1b2c3d4 has no rebalance schedule"
}
}
{
"success": false,
"error": {
"code": "API_006",
"message": "Portfolio with ID a1b2c3d4 not found"
}
}
Automation & Operations
Start Portfolio
Resumes automation on a paused portfolio.
POST
/
v2
/
portfolios
/
{portfolioId}
/
start
curl --request POST \
--url 'https://api.glider.fi/v2/portfolios/a1b2c3d4/start' \
--header 'x-api-key: gldr_sk_your_api_key'
const response = await fetch(
"https://api.glider.fi/v2/portfolios/a1b2c3d4/start",
{
method: "POST",
headers: { "x-api-key": "gldr_sk_your_api_key" },
},
);
const data = await response.json();
{
"success": true,
"data": {
"portfolioId": "a1b2c3d4",
"portfolioName": "Alice Portfolio",
"ownerAccountId": "eip155:0:0xabcdef0000000000000000000000000000000001",
"strategyId": "01JWZEE2MF30KVRMRX53N88VA4",
"strategyName": "Conservative Yield",
"strategyDescription": "Multi-chain balanced allocation strategy",
"smartAccounts": [
{ "accountId": "eip155:8453:0xe3a2d1f49aee887e42655b56371d4d76bbf58058" }
],
"schedule": {
"status": "active",
"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,
"updatedAt": "2026-04-16T12:00:00.000Z"
}
}
{
"success": false,
"error": {
"code": "API_400",
"message": "Portfolio a1b2c3d4 has no rebalance schedule"
}
}
{
"success": false,
"error": {
"code": "API_006",
"message": "Portfolio with ID a1b2c3d4 not found"
}
}
Resumes automation for the portfolio. Idempotent — calling
Common error responses:
start on an
already-active portfolio returns the current detail without side effects.
On transition, nextDueAt resets to the current time so the next rebalance
happens promptly rather than honouring the stale due time captured when
automation was stopped.
- Auth:
x-api-keyheader (required) - Scope:
portfolios:write
start and stop calls on the same portfolio are last-writer
wins. 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.
Returns 404 for portfolios your API key does not have access to —
same response shape as a portfolio that doesn’t exist.
string
required
Portfolio identifier returned by
POST /v2/enroll or GET /v2/portfolios.400when the portfolio has no rebalance schedule to transition401whenx-api-keyheader is missing or the key is invalid403when the API key lacks theportfolios:writescope404when the portfolio does not exist or does not belong to the tenant500on unexpected server errors
curl --request POST \
--url 'https://api.glider.fi/v2/portfolios/a1b2c3d4/start' \
--header 'x-api-key: gldr_sk_your_api_key'
const response = await fetch(
"https://api.glider.fi/v2/portfolios/a1b2c3d4/start",
{
method: "POST",
headers: { "x-api-key": "gldr_sk_your_api_key" },
},
);
const data = await response.json();
{
"success": true,
"data": {
"portfolioId": "a1b2c3d4",
"portfolioName": "Alice Portfolio",
"ownerAccountId": "eip155:0:0xabcdef0000000000000000000000000000000001",
"strategyId": "01JWZEE2MF30KVRMRX53N88VA4",
"strategyName": "Conservative Yield",
"strategyDescription": "Multi-chain balanced allocation strategy",
"smartAccounts": [
{ "accountId": "eip155:8453:0xe3a2d1f49aee887e42655b56371d4d76bbf58058" }
],
"schedule": {
"status": "active",
"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,
"updatedAt": "2026-04-16T12:00:00.000Z"
}
}
{
"success": false,
"error": {
"code": "API_400",
"message": "Portfolio a1b2c3d4 has no rebalance schedule"
}
}
{
"success": false,
"error": {
"code": "API_006",
"message": "Portfolio with ID a1b2c3d4 not found"
}
}