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

# Platform API

The Platform API for managing Nebula Block instances, SSH keys, API keys, object storage, and billing.

The Platform API manages everything that is not inference: compute instances, SSH keys, API keys, object storage, billing, and teams.

* **Base URL:** `https://api.nebulablock.com`
* **Base path:** `/api/v1`
* **`API_URL`:** `https://api.nebulablock.com/api/v1`
* **Authentication:** `Authorization: Bearer <token or API key>` — see [Authentication](/api-reference/authentication.md)

Responses share a common envelope: a `data` payload, a `message` string, and a `status` of `success` or `failed`. Some listing endpoints add a `meta` block for pagination.

> **Important:** Several endpoints report business failures as **HTTP 200 with `"status": "failed"`** — a duplicate name, an exceeded quota, or a rejected operation does not necessarily arrive as a 4xx. Check the `status` field, not just the HTTP status code. Endpoints that behave this way say so.

## Compute

| Endpoint                                                   | Reference                                                                                     |
| ---------------------------------------------------------- | --------------------------------------------------------------------------------------------- |
| `GET /computing/products`                                  | [List Products](/api-reference/platform-api/list-products.md)                                 |
| `GET /computing/images`                                    | [List OS Images](/api-reference/platform-api/list-products/list-os-images.md)                 |
| `POST /computing/instance`                                 | [Create Instance](/api-reference/platform-api/list-products/create-instance.md)               |
| `GET /computing/instances`                                 | [List Instances](/api-reference/platform-api/list-products/list-instances.md)                 |
| `GET /computing/deleted-instances`                         | [List Deleted Instances](/api-reference/platform-api/list-products/list-deleted-instances.md) |
| `GET /computing/instance/{id}`                             | [Get Instance](/api-reference/platform-api/list-products/get-instance.md)                     |
| `GET /computing/instance/{id}/start`                       | [Start Instance](/api-reference/platform-api/list-products/start-instance.md)                 |
| `GET /computing/instance/{id}/stop`                        | [Stop Instance](/api-reference/platform-api/list-products/stop-instance.md)                   |
| `GET /computing/instance/{id}/reboot`                      | [Reboot Instance](/api-reference/platform-api/list-products/reboot-instance.md)               |
| `DELETE /computing/instance/{id}`                          | [Delete Instance](/api-reference/platform-api/list-products/delete-instance.md)               |
| `GET /computing/instance/{id}/firewall-rules`              | [Firewall Rules](/api-reference/platform-api/list-products/firewall-rules.md)                 |
| `POST /computing/instance/{id}/firewall-rules`             | [Firewall Rules](/api-reference/platform-api/list-products/firewall-rules.md)                 |
| `DELETE /computing/instance/{id}/firewall-rules/{rule_id}` | [Firewall Rules](/api-reference/platform-api/list-products/firewall-rules.md)                 |

## SSH keys

| Endpoint                | Reference                                                                     |
| ----------------------- | ----------------------------------------------------------------------------- |
| `GET /ssh-keys/`        | [List SSH Keys](/api-reference/platform-api/list-ssh-keys.md)                 |
| `POST /ssh-keys/`       | [Create SSH Key](/api-reference/platform-api/list-ssh-keys/create-ssh-key.md) |
| `PUT /ssh-keys/{id}`    | [Rename SSH Key](/api-reference/platform-api/list-ssh-keys/rename-ssh-key.md) |
| `DELETE /ssh-keys/{id}` | [Delete SSH Key](/api-reference/platform-api/list-ssh-keys/delete-ssh-key.md) |

## API keys

| Endpoint            | Reference                                                                     |
| ------------------- | ----------------------------------------------------------------------------- |
| `GET /keys`         | [List API Keys](/api-reference/platform-api/list-api-keys.md)                 |
| `POST /keys`        | [Create API Key](/api-reference/platform-api/list-api-keys/create-api-key.md) |
| `PUT /keys/{id}`    | [Update API Key](/api-reference/platform-api/list-api-keys/update-api-key.md) |
| `DELETE /keys/{id}` | [Delete API Key](/api-reference/platform-api/list-api-keys/delete-api-key.md) |

## Billing

| Endpoint                                   | Reference                                                                                    |
| ------------------------------------------ | -------------------------------------------------------------------------------------------- |
| `GET /users/credits`                       | [Get Credit Balance](/api-reference/platform-api/get-credit-balance.md)                      |
| `GET /users/credits/history`               | [Get Payment History](/api-reference/platform-api/get-credit-balance/get-payment-history.md) |
| `GET /users/invoices`                      | [List Invoices](/api-reference/platform-api/get-credit-balance/list-invoices.md)             |
| `GET /users/invoice-download/{invoice_id}` | [Download Invoice](/api-reference/platform-api/get-credit-balance/download-invoice.md)       |

## Object storage

> **Note:** Workspace responses carry a `provider` field identifying the storage backend, and the console appends a matching `provider` query parameter to every object storage call. The parameter is not required — the endpoints behave the same without it — but you will see it in browser traffic.

| Endpoint                                      | Reference                                                                                     |
| --------------------------------------------- | --------------------------------------------------------------------------------------------- |
| `GET /object-storage/`                        | [List Storage Workspaces](/api-reference/platform-api/list-workspaces.md)                     |
| `POST /object-storage/`                       | [Create Storage Workspace](/api-reference/platform-api/list-workspaces/create-workspace.md)   |
| `DELETE /object-storage/`                     | [Delete Storage Workspace](/api-reference/platform-api/list-workspaces/delete-workspace.md)   |
| `POST /object-storage/regenerate-key-pair`    | [Regenerate Access Keys](/api-reference/platform-api/list-workspaces/regenerate-key-pair.md)  |
| `GET /object-storage/buckets`                 | [List Buckets](/api-reference/platform-api/list-workspaces/list-buckets.md)                   |
| `POST /object-storage/bucket`                 | [Create Bucket](/api-reference/platform-api/list-workspaces/create-bucket.md)                 |
| `DELETE /object-storage/bucket`               | [Delete Bucket](/api-reference/platform-api/list-workspaces/delete-bucket.md)                 |
| `GET /object-storage/bucket/files`            | [List Files](/api-reference/platform-api/list-workspaces/list-files.md)                       |
| `POST /object-storage/upload`                 | [Upload File](/api-reference/platform-api/list-workspaces/upload-file.md)                     |
| `GET /object-storage/download-url`            | [Get Download URL](/api-reference/platform-api/list-workspaces/get-download-url.md)           |
| `DELETE /object-storage/file`                 | [Delete File](/api-reference/platform-api/list-workspaces/delete-file.md)                     |
| `POST /object-storage/buckets/toggle-privacy` | [Toggle Bucket Privacy](/api-reference/platform-api/list-workspaces/toggle-bucket-privacy.md) |
| `GET /object-storage/usage-data`              | [Get Storage Usage](/api-reference/platform-api/list-workspaces/get-usage.md)                 |

## Not yet documented

These endpoints are live but do not have reference pages yet. Their shapes are visible in the console's network traffic, and the guides linked below cover the same features through the UI:

| Area                                 | Base path                                                       | Guide                                                                                                     |
| ------------------------------------ | --------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- |
| Teams, members, roles, and team keys | `/teams`                                                        | [Teams](/account/teams.md)                                                                                |
| Usage and spend summaries            | `/usage`                                                        | —                                                                                                         |
| Account notifications                | `/notifications`                                                | —                                                                                                         |
| Webhook configuration                | `/webhook-configs`                                              | —                                                                                                         |
| Hardware store                       | `/hardware`                                                     | —                                                                                                         |
| Storage workspace details            | `/object-storage/details`                                       | [Object Storage](/products/object-storage.md)                                                             |
| Direct object download               | `/object-storage/download`, `/object-storage/download-resource` | [Get Download URL](/api-reference/platform-api/list-workspaces/get-download-url.md) covers the usual path |

## See also

* [Authentication](/api-reference/authentication.md)
* [Inference API](/api-reference/inference-api.md)
* [Glossary](/resources/glossary.md)
