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

# Introduction

> Hyze Cloud REST API — base URL, authentication with Bearer API keys, errors, rate limiting, and workspaces.

## Base URL

All API requests are made to:

```
https://api.hyzecloud.com/api
```

## Authentication

Every request requires an API key passed as a Bearer token in the `Authorization` header:

```
Authorization: Bearer hyze_your_api_key_here
```

API keys start with the `hyze_` prefix. You can create and manage keys from the [Dashboard](http://hyzecloud.com/dashboard) or via the [API Keys endpoints](/api-reference/api-keys).

<Tip>
  Session cookie auth is also supported. If you're calling from the browser while logged in, your session cookie will authenticate the request automatically.
</Tip>

## Conventions

### Content type

All request and response bodies are `application/json`, except for file uploads which use `multipart/form-data`.

### Response envelope

All endpoints return a consistent envelope:

```json theme={"system"}
{ "success": true, "data": {} }
```

When an error occurs:

```json theme={"system"}
{ "success": false, "error": "Error message", "code": "ERROR_CODE" }
```

### Rate limiting

Some endpoints enforce rate limits and will return `429 Too Many Requests` with a `Retry-After` header.

Published apps are also rate limited on the **public proxy** (per IP and per host). See [Rate limits](/en/concepts/rate-limits) for defaults and how this differs from API limits.

## Workspaces

Most endpoints require an active workspace. Workspaces are set via the web dashboard or via `POST /api/auth/set-active-organization` before using the API key.

When using an API key without a session cookie, workspace-scoped endpoints require you to pass a `workspaceId` query parameter (where supported) or maintain an active workspace session.

## Examples

```bash Language=bash theme={"system"}
curl https://api.hyzecloud.com/api/apps/ \
  -H "Authorization: Bearer hyze_your_key"
```

```js Language=JavaScript theme={"system"}
const res = await fetch("https://api.hyzecloud.com/api/apps/", {
  headers: { Authorization: `Bearer ${process.env.HYZE_API_KEY}` },
});
const data = await res.json();
```

```python Language=Python theme={"system"}
import requests

resp = requests.get(
    "https://api.hyzecloud.com/api/apps/",
    headers={"Authorization": f"Bearer {HYZE_API_KEY}"},
)
data = resp.json()
```
