> ## Documentation Index
> Fetch the complete documentation index at: https://docs.glider.fi/llms.txt
> Use this file to discover all available pages before exploring further.

# Portfolio Schedule Interval

> Update the rebalance schedule interval for a portfolio

Updates the rebalance schedule interval for a portfolio.

## ETH Mainnet Policy Limits (Effective March 2, 2026)

* ETH mainnet (`primary_chain_id = "1"`) supports interval cadence only.
* Minimum allowed interval is `24 hours` (`86,400,000ms`).
* Intervals below 24h are rejected with:
  * `SCHEDULE_ETH_MAINNET_INTERVAL_TOO_SHORT`
* Non-interval schedule specs are rejected with:
  * `SCHEDULE_ETH_MAINNET_INTERVAL_ONLY`

<ParamField path="portfolioId" type="string" required>
  The unique identifier of the portfolio
</ParamField>

<ParamField body="interval" type="object" required>
  The new interval settings
</ParamField>

<ParamField body="interval.every" type="number" required>
  Interval in milliseconds (general min: 1 hour, ETH mainnet min: 24 hours, max: 1 year)
</ParamField>

<ParamField body="interval.offset" type="number" default="0">
  Offset from start time in milliseconds
</ParamField>

<ParamField header="X-API-KEY" type="string" required>
  Your API key for authentication
</ParamField>

<ParamField header="Content-Type" type="string" default="application/json">
  The format of the request body
</ParamField>

<RequestExample>
  ```bash cURL theme={null}
  curl --request POST \
    --url 'https://api.glider.fi/v1/portfolio/port_abc123/update-schedule-interval' \
    --header 'Content-Type: application/json' \
    --header 'X-API-KEY: your_api_key_here' \
    --data '{
      "interval": {
        "every": 43200000,
        "offset": 0
      }
    }'
  ```

  ```javascript JavaScript theme={null}
  const portfolioId = "port_abc123";
  const updateIntervalResponse = await fetch(
    `https://api.glider.fi/v1/portfolio/${portfolioId}/update-schedule-interval`,
    {
      method: "POST",
      headers: {
        "Content-Type": "application/json",
        "X-API-KEY": "your_api_key_here",
      },
      body: JSON.stringify({
        interval: {
          every: 43200000, // 12 hours in milliseconds
          offset: 0, // Optional: Offset from the start time in milliseconds
        },
      }),
    }
  );

  const updateIntervalResult = await updateIntervalResponse.json();
  ```
</RequestExample>

<ResponseExample>
  ```json theme={null}
  {
    "success": true,
    "data": {
      "portfolioId": "port_abc123",
      "scheduleId": "sched_abc123",
      "previousInterval": {
        "every": 21600000,
        "offset": 0
      },
      "newInterval": {
        "every": 43200000,
        "offset": 0,
        "humanReadable": "12 hours"
      },
      "message": "Portfolio rebalance schedule updated to run every 12 hours",
      "nextScheduledRun": "2023-05-22T01:30:00.000Z"
    },
    "correlationId": "corr_abc123",
    "requestId": "req_xyz789",
    "timestamp": "2023-05-21T13:45:12.345Z"
  }
  ```
</ResponseExample>
