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

# Branches API

> Create and list isolated database branches

Branches are isolated Postgres databases created from a connector. Use them for CI runs, local development, migration testing, agent work, and short-lived review environments.

## Endpoints

| Method | Path                                                | Description                   |
| ------ | --------------------------------------------------- | ----------------------------- |
| `POST` | [`/v1/branch/create`](/api/branches/create)         | Create a branch               |
| `GET`  | [`/v1/branches/{connector_id}`](/api/branches/list) | List branches for a connector |

Branch deletion is CLI-only today: [`ardent branch delete`](/cli/branches). Switching (`ardent branch switch`) is a CLI concept — the API has no notion of a current branch.

<Accordion defaultOpen={false} title="Client TLS settings for branch connections">
  Branch connections go through Ardent's routing layer, where TLS ends. Configure SQL clients and IDEs accordingly:

  * Set SSL mode to `require`. This encrypts the connection; without a custom root certificate it does not validate a CA chain.
  * Leave root certificate, CA bundle, and `sslrootcert` fields blank. A source database CA bundle can't verify the routing host and causes TLS errors.
  * Keep `channel_binding=disable`. Clients that force channel binding reject valid branch connections.
</Accordion>

## Naming guidance

Use names that are unique, readable, and safe to clean up automatically:

* `pr-123-456789`
* `agent-fix-login-20260601`
* `migration-add-index-smoke-test`

Avoid embedding secrets, customer names, or production incident details in branch names.
