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

# List schedules for a tenant.

> Schedules

### Path parameters

<ParamField path="tenant_id" type="string" required>
  Tenant identifier
</ParamField>

### Query parameters

<ParamField query="page" type="integer (int32)">
  Page number (1-indexed)
</ParamField>

<ParamField query="page_size" type="integer (int32)">
  Items per page (max 100)
</ParamField>

### Response

`object`

<ResponseField name="items" type="object[]" required>
  The items on this page

  <Expandable title="items">
    <ResponseField name="scheduleId" type="string (uuid)" required />

    <ResponseField name="tenantId" type="string" required />

    <ResponseField name="jobType" type="string" required />

    <ResponseField name="everySeconds" type="integer" required />

    <ResponseField name="enabled" type="boolean" required />

    <ResponseField name="nextRunAt" type="string (date-time)" required />

    <ResponseField name="lastRunAt" type="string (date-time)" />

    <ResponseField name="lastError" type="string" />

    <ResponseField name="consecutiveFailures" type="integer" required />

    <ResponseField name="createdAt" type="string (date-time)" required />

    <ResponseField name="updatedAt" type="string (date-time)" required />

    <ResponseField name="cronExpression" type="string" />

    <ResponseField name="triggerType" type="string" required />

    <ResponseField name="maxConsecutiveFailures" type="integer" required />
  </Expandable>
</ResponseField>

<ResponseField name="pagination" type="object" required>
  Pagination metadata

  <Expandable title="pagination">
    <ResponseField name="page" type="integer" required>
      Current page number
    </ResponseField>

    <ResponseField name="pageSize" type="integer" required>
      Number of items per page
    </ResponseField>

    <ResponseField name="totalItems" type="integer">
      Total number of items across all pages
    </ResponseField>

    <ResponseField name="totalPages" type="integer">
      Total number of pages
    </ResponseField>

    <ResponseField name="hasNext" type="boolean" required>
      Whether there is a next page
    </ResponseField>

    <ResponseField name="hasPrevious" type="boolean" required>
      Whether there is a previous page
    </ResponseField>
  </Expandable>
</ResponseField>

### Status codes

| Code  | Meaning                 |
| ----- | ----------------------- |
| `200` | Schedules               |
| `401` | Unauthorized            |
| `424` | Database not configured |

<RequestExample>
  ```bash cURL theme={null}
  curl --request GET \
    --url 'https://api.sync.stateset.com/v1/tenants/{tenant_id}/schedules' \
    --header 'x-stateset-api-key: YOUR_API_KEY'
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={null}
  {
    "items": [
      {
        "scheduleId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "tenantId": "acme-outdoors",
        "jobType": "string",
        "everySeconds": 250,
        "enabled": true,
        "nextRunAt": "2026-08-31T14:22:05Z",
        "lastRunAt": "2026-08-31T14:22:05Z",
        "lastError": "string",
        "consecutiveFailures": 1,
        "createdAt": "2026-08-31T14:22:05Z",
        "updatedAt": "2026-08-31T14:22:05Z",
        "cronExpression": "string",
        "triggerType": "string",
        "maxConsecutiveFailures": 1
      }
    ],
    "pagination": {
      "page": 1,
      "pageSize": 20,
      "totalItems": 1,
      "totalPages": 1,
      "hasNext": true,
      "hasPrevious": true
    }
  }
  ```
</ResponseExample>
