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

# API Introduction

> Complete API reference for JobHive platform integration

<Note>
  All API endpoints require authentication. Get your API key from your JobHive dashboard under Settings → API Keys.
</Note>

## Welcome to JobHive API

The JobHive API provides complete access to our AI-powered interview platform. Build custom integrations, automate your hiring workflows, and access real-time interview data.

<img src="https://mintlify.s3.us-west-1.amazonaws.com/jobhive/images/api/api-overview-diagram.png" alt="JobHive API Architecture - REST endpoints, WebSocket connections, authentication flow, and integration patterns" className="rounded-lg border shadow-lg mb-6" />

<CardGroup cols={2}>
  <Card title="Quick Start" icon="rocket" href="/development">
    Get up and running in minutes
  </Card>

  <Card title="Authentication" icon="key" href="#authentication">
    Learn about API authentication
  </Card>

  <Card title="Rate Limits" icon="gauge" href="#rate-limits">
    Understand API usage limits
  </Card>

  <Card title="Webhooks" icon="webhook" href="/api-reference/endpoint/webhook">
    Real-time event notifications
  </Card>
</CardGroup>

## Base URL

All API requests should be made to:

```
https://backend.jobhive.ai/v1
```

## Authentication

All API endpoints require authentication using Bearer tokens. Include your API key in the Authorization header:

```bash theme={null}
curl -X GET "https://backend.jobhive.ai/v1/interviews" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json"
```

### API Key Management

* Generate API keys from your JobHive dashboard
* Use different keys for development and production
* Rotate keys regularly for security
* Never expose API keys in client-side code

## Rate Limits

JobHive enforces rate limits based on your subscription plan:

| Plan         | Requests/min | Burst Limit | Monthly Quota |
| ------------ | ------------ | ----------- | ------------- |
| Free         | 60           | 100         | 10,000        |
| Professional | 300          | 500         | 100,000       |
| Enterprise   | 1,000        | 2,000       | Unlimited     |

### Rate Limit Headers

API responses include rate limit information:

```http theme={null}
X-RateLimit-Limit: 300
X-RateLimit-Remaining: 299
X-RateLimit-Reset: 1640995200
```

## Response Format

All API responses use consistent JSON formatting:

```json theme={null}
{
  "success": true,
  "data": {
    // Response data
  },
  "meta": {
    "timestamp": "2024-01-15T10:30:00Z",
    "request_id": "req_abc123"
  }
}
```

### Error Responses

Error responses include detailed information:

```json theme={null}
{
  "success": false,
  "error": {
    "code": "VALIDATION_ERROR",
    "message": "Invalid email format",
    "details": {
      "field": "candidate_email",
      "value": "invalid-email"
    }
  },
  "meta": {
    "timestamp": "2024-01-15T10:30:00Z",
    "request_id": "req_abc123"
  }
}
```

## HTTP Status Codes

| Code | Description           |
| ---- | --------------------- |
| 200  | Success               |
| 201  | Created               |
| 400  | Bad Request           |
| 401  | Unauthorized          |
| 403  | Forbidden             |
| 404  | Not Found             |
| 429  | Too Many Requests     |
| 500  | Internal Server Error |

## Pagination

List endpoints support cursor-based pagination:

```json theme={null}
{
  "data": [...],
  "pagination": {
    "next_cursor": "eyJpZCI6MTIzfQ==",
    "has_more": true,
    "total_count": 150
  }
}
```

Use the `cursor` parameter for pagination:

```bash theme={null}
curl "https://backend.jobhive.ai/v1/interviews?cursor=eyJpZCI6MTIzfQ=="
```

## Integration Examples

<CardGroup cols={3}>
  <Card title="JavaScript/Node.js" icon="js" href="/examples/javascript">
    Direct API integration with axios and fetch
  </Card>

  <Card title="Python" icon="python" href="/examples/python">
    Requests library with async patterns
  </Card>

  <Card title="cURL Examples" icon="terminal" href="/examples/curl">
    Ready-to-use command examples
  </Card>
</CardGroup>

<img src="https://mintlify.s3.us-west-1.amazonaws.com/jobhive/images/api/integration-examples.png" alt="API Integration Examples - Code snippets showing JavaScript, Python, and cURL implementations for common API operations" className="rounded-lg border shadow-lg mb-4" />

## Support

Need help with the API? We're here to assist:

* **Developer Support**: [exec@jobhive.ai](mailto:exec@jobhive.ai)
* **API Status**: [status.jobhive.ai](https://status.jobhive.ai)

<Tip>
  Use test mode for development to avoid consuming production credits. Add `"test_mode": true` to your requests.
</Tip>
