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

# API Overview

> Complete reference for all Hypermodel API endpoints

## Base URL

```
https://api.hypermodel.ai/api/v1
```

## Authentication

All endpoints require authentication via the `X-API-Key` header:

```bash theme={null}
X-API-Key: your-api-key
```

<Note>
  Contact us to get your API key for authentication
</Note>

## Available Endpoints

<CardGroup cols={2}>
  <Card title="Create Query" icon="plus" href="/api-reference/create-query">
    Submit a new query for processing with sync or async modes
  </Card>

  <Card title="Get Query Status" icon="magnifying-glass" href="/api-reference/get-query">
    Retrieve the status and results of a specific query
  </Card>

  <Card title="List Queries" icon="list" href="/api-reference/list-queries">
    List all queries with their current status
  </Card>

  <Card title="PDF Extraction" icon="file-pdf" href="/api-reference/pdf-extract">
    Extract structured data from PDF documents using AI
  </Card>
</CardGroup>

## Quick Links

<CardGroup cols={2}>
  <Card title="Destinations" icon="location-dot" href="/destinations">
    Configure URL, Snowflake, Sheets, or Clay destinations
  </Card>

  <Card title="JSON Schemas" icon="code" href="/schemas">
    Examples of JSON schemas for different use cases
  </Card>
</CardGroup>

## Request Flow

<Steps>
  <Step title="Authenticate">
    Include your API key in the `X-API-Key` header
  </Step>

  <Step title="Choose Mode">
    Select synchronous (immediate results) or asynchronous (background processing)
  </Step>

  <Step title="Submit Query">
    Send your natural language query with a JSON schema
  </Step>

  <Step title="Receive Results">
    Get results directly (sync) or via your chosen destination (async)
  </Step>
</Steps>

## Error Handling

All errors follow a consistent format:

```json theme={null}
{
  "error": "Error type",
  "message": "Human-readable error message",
  "details": [/* Optional array of detailed error information */]
}
```

### Common HTTP Status Codes

| Code  | Description                              |
| ----- | ---------------------------------------- |
| `200` | Synchronous query completed successfully |
| `202` | Async query accepted for processing      |
| `400` | Invalid request parameters               |
| `401` | Missing API key                          |
| `403` | Invalid API key                          |
| `404` | Query ID not found                       |
| `500` | Server-side error during processing      |

## Rate Limits

<Info>
  Rate limits vary by plan. Contact us for information about rate limits on your account.
</Info>

## Support

Need help? Reach out to us for support.
