---
title: "List switchovers"
method: GET
path: "/organizations/{organization}/databases/{database}/branches/{branch}/switchovers"
tags: ["Switchovers"]
---

# List switchovers

`GET /organizations/{organization}/databases/{database}/branches/{branch}/switchovers`

### Authorization
A service token or OAuth token must have at least one of the following access or scopes in order to use this API endpoint:

**Service Token Accesses**
 `read_branch`, `delete_branch`, `create_branch`, `connect_production_branch`, `connect_branch`

**OAuth Scopes**

 | Resource | Scopes |
| :------- | :---------- |
| Organization | `read_branches` |
| Database | `read_branches` |
| Branch | `read_branch` |

## Path parameters

- `organization` string, required
- `database` string, required
- `branch` string, required

## Query parameters

- `page` integer
- `per_page` integer

## Response `200`

Returns switchovers

- object
  - `type` string, required — The response type. Always "list" for paginated responses.
  - `current_page` integer, required — The current page number
  - `per_page` integer, required — The maximum number of results per page
  - `next_page` integer, nullable, required — The next page number, or null when this is the last page
  - `next_page_url` string, nullable, required — The next page of results, or null when this is the last page
  - `prev_page` integer, nullable, required — The previous page number, or null when this is the first page
  - `prev_page_url` string, nullable, required — The previous page of results, or null when this is the first page
  - `data` object[], required
    - `id` string, required — The ID of the switchover
    - `state` 'pending' | 'running' | 'succeeded' | 'failed' | 'canceled', required — The state of the switchover
    - `method` 'switchover' | 'restart', nullable — How the primary was moved. `switchover` promotes a replica on a highly available branch; `restart` restarts the single instance of a branch that has no replicas. Absent until the operator selects one.
    - `error` string, nullable — Why the switchover failed. A failed switchover has an unconfirmed outcome and does not imply the primary stayed put.
    - `started_at` string, nullable, required — When the switchover was requested
    - `completed_at` string, nullable, required — When the switchover finished
    - `created_at` string, required — When the switchover was created
    - `updated_at` string, required — When the switchover was last updated
    - `actor` object, required
      - `id` string, required — The ID of the actor
      - `display_name` string, required — The name of the actor
      - `avatar_url` string, required — The URL of the actor's avatar

## Other responses

- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found
- `500` — Internal Server Error

## Changes

- **2026-08-26** `0b43a2011e53` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/planetscale/apis/planetscale-api/changes/organizations/:organization/databases/:database/branches/:branch/switchovers/get.md)

---

[API](https://skmtc.dev/planetscale/apis/planetscale-api.md) · [All operations](https://skmtc.dev/planetscale/apis/planetscale-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/planetscale/planetscale-api/revisions/6d28c038c4fd/schema)
