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

# API overview

> The Harmstack REST API lets you submit benchmarks, manage jobs, and query results programmatically.

The Harmstack REST API is a JSON REST API. All endpoints live under the `/v0` path prefix and use bearer token authentication.

## Base URL

```
https://api.harmstack.com/v0
```

<Note>
  The exact base URL is provided when you receive your API key. Use the URL supplied by your account team rather than assuming the one above.
</Note>

## Versioning

All public endpoints are versioned under `/v0`. The version is part of the URL path — there are no version headers or query parameters.

## Endpoints

| Method | Path             | Auth required |
| ------ | ---------------- | ------------- |
| `GET`  | `/v0/health`     | No            |
| `GET`  | `/v0/me`         | Yes           |
| `GET`  | `/v0/benchmarks` | Yes           |
| `POST` | `/v0/jobs`       | Yes           |
| `POST` | `/v0/jobs/batch` | Yes           |
| `GET`  | `/v0/jobs`       | Yes           |
| `GET`  | `/v0/jobs/{id}`  | Yes           |

<Note>
  Admin-only endpoints are intentionally excluded from this documentation. Contact Vetted Medical support if you believe you need admin access.
</Note>

## Response format

Every endpoint returns JSON. Successful responses include the relevant resource or list of resources directly in the response body.

## Error responses

When a request fails, the API returns an HTTP error status code and a JSON body describing the problem.

| Status                      | Meaning                                                                                                     |
| --------------------------- | ----------------------------------------------------------------------------------------------------------- |
| `400 Bad Request`           | The request was malformed or missing required fields. Check your request body and parameters.               |
| `401 Unauthorized`          | The `Authorization` header is missing, malformed, or contains an invalid or revoked API key.                |
| `404 Not Found`             | The requested resource does not exist or is not accessible to your account.                                 |
| `500 Internal Server Error` | An unexpected error occurred on the server. Retry the request, and contact support if the problem persists. |

Error responses follow this shape:

```json theme={null}
{
  "error": "description of the problem"
}
```
