> For the complete documentation index, see [llms.txt](https://wiki.crosswatch.app/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://wiki.crosswatch.app/crosswatch/advanced-and-api/api-reference.md).

# API reference

Use the CW API to integrate CW into your own workflows.

CW is self-hosted. The API is served by *your* CW instance.

It’s not a public, multi-tenant API.

{% hint style="info" %}
The API is served by your own CW instance. Base URLs and auth context depend on your deployment.
{% endhint %}

### Quick start

{% stepper %}
{% step %}

### Find your base URL

Use your local URL or reverse-proxy URL.
{% endstep %}

{% step %}

### Call the endpoint you need

Most requests and responses use JSON.
{% endstep %}

{% step %}

### Cross-check in the reference

Use the OpenAPI docs for exact request shapes.
{% endstep %}
{% endstepper %}

### API topics

* Maintenance actions and endpoints: [Maintenance](/crosswatch/settings/maintenance.md)
* Inbound playback endpoints: [Webhooks](/crosswatch/settings/scrobbler/webhooks.md)

### Base URL

Your base URL depends on where you host CW.

Examples:

* `http://localhost:8787` (local dev)
* `https://crosswatch.<your-domain>` (behind a reverse proxy)

Use HTTPS when exposed beyond localhost. Requests and responses are JSON.

### Common endpoints

These endpoints are useful for automation and debugging.

#### Provider instances (profiles)

* `GET /api/provider-instances` — list instances for all providers.
* `GET /api/provider-instances/{provider}` — list instances for one provider.
* `POST /api/provider-instances/{provider}/next` — create `PROV-P##` (optionally copy).
* `DELETE /api/provider-instances/{provider}/{instance_id}` — delete an instance (not `default`).

Related: [Profiles and instances](/crosswatch/settings/connections/profiles.md)

#### Watcher (routes mode)

* `GET /api/watch/status` — routes + group status.
* `POST /api/watch/start` — start watcher from config.
* `POST /api/watch/stop` — stop watcher.
* `GET /api/watch/logs` — tail watch logs.

#### Insights

* `GET /api/insights` — insights payload (the dashboard aggregates this).

Related: [Insights](/crosswatch/main-dashboard/insights.md)

### Related pages

<table data-view="cards"><thead><tr><th>Title</th><th data-card-target data-type="content-ref">Open</th></tr></thead><tbody><tr><td>Manage profiles and provider instances</td><td><a href="/spaces/3rh5THg1PdhVsBt3GALo/pages/F6rPNYhTkT9As4H1vv0c">/spaces/3rh5THg1PdhVsBt3GALo/pages/F6rPNYhTkT9As4H1vv0c</a></td></tr><tr><td>Inspect maintenance actions</td><td><a href="/spaces/3rh5THg1PdhVsBt3GALo/pages/IlKhfb6pyOgsPrOKgCe6">/spaces/3rh5THg1PdhVsBt3GALo/pages/IlKhfb6pyOgsPrOKgCe6</a></td></tr><tr><td>Review reverse-proxy guidance</td><td><a href="/spaces/3rh5THg1PdhVsBt3GALo/pages/tSuRV0FFanrs101vQzw8">/spaces/3rh5THg1PdhVsBt3GALo/pages/tSuRV0FFanrs101vQzw8</a></td></tr></tbody></table>

[Open API reference](https://api.crosswatch.app)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://wiki.crosswatch.app/crosswatch/advanced-and-api/api-reference.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
