# API Reference

The WarpStream API allows programatically interacting with various aspects of the WarpStream control plane. Example request / response payloads are provided for different API endpoints.

## Authentication

All API requests should be issued as `POST` requests with JSON payloads, and authentication for all endpoints is managed via the `warpstream-api-key` header. The value should be set to a WarpStream API Key generated in the admin console. Different endpoints accept different key types:

* **Application Keys** can authenticate requests to manage workspace-specific resources such as virtual clusters, topics, ACLs, and pipelines.
* **Agent Keys** can authenticate requests to virtual cluster-specific APIs, scoped to the cluster the Agent Key is associated with.
* **Account Keys** can authenticate requests to manage account-level resources such as workspaces, users, user roles, and invitations.

For more details about the different key types, see [Secrets Overview](https://docs.warpstream.com/warpstream/reference/secrets-overview).


---

# Agent Instructions: 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:

```
GET https://docs.warpstream.com/warpstream/reference/api-reference.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
