---
title: "Api"
description: "Documentation for Api"
---
[AIR-3][AIS-3][BPC-3][RES-3]
# AI API Reference
## Overview
Add a brief overview of this document here.
This document provides a comprehensive reference for the Anya Core AI API.
## Table of Contents
- [Authentication](#authentication)
- [Endpoints](#endpoints)
- [Inference](#inference)
- [Model Management](#model-management)
- [Monitoring](#monitoring)
- [Error Handling](#error-handling)
- [Rate Limiting](#rate-limiting)
## Authentication
All API requests require authentication using API keys.
```http
Authorization: Bearer YOUR_API_KEY
```
## Endpoints
### Inference
#### Generate Text
```http
POST /v1/ai/generate
```
**Request Body:**
```json
{
"model": "gpt-4",
"messages": [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Hello!"}
],
"temperature": 0.7,
"max_tokens": 150
}
```
**Response:**
```json
{
"id": "cmpl-123",
"object": "text_completion",
"created": 1677652288,
"model": "gpt-4",
"choices": [
{
"message": {
"role": "assistant",
"content": "Hello! How can I help you today?"
},
"finish_reason": "stop",
"index": 0
}
],
"usage": {
"prompt_tokens": 10,
"completion_tokens": 8,
"total_tokens": 18
}
}
```
### Model Management
#### List Available Models
```http
GET /v1/ai/models
```
**Response:**
```json
{
"data": [
{
"id": "gpt-4",
"object": "model",
"created": 1677649600,
"owned_by": "openai",
"permission": [
{
"id": "modelperm-123",
"object": "model_permission",
"created": 1677649600,
"allow_create_engine": false,
"allow_sampling": true,
"allow_logprobs": true,
"allow_search_indices": false,
"allow_view": true,
"allow_fine_tuning": false,
"organization": "*",
"group": null,
"is_blocking": false
}
],
"root": "gpt-4",
"parent": null
}
],
"object": "list"
}
```
### Monitoring
#### Get System Status
```http
GET /v1/ai/status
```
**Response:**
```json
{
"status": "operational",
"version": "1.0.0",
"models_loaded": 5,
"total_requests": 1000,
"average_latency_ms": 250,
"error_rate": 0.01
}
```
## Error Handling
### Error Response Format
```json
{
"error": {
"code": "invalid_request_error",
"message": "Invalid request parameters",
"param": "temperature",
"type": "invalid_parameter"
}
}
```
### Common Error Codes
| 400 | invalid_request_error | Invalid request parameters |
| 401 | authentication_error | Invalid or missing API key |
| 403 | permission_denied | Insufficient permissions |
| 404 | not_found | Resource not found |
| 429 | rate_limit_exceeded | Rate limit exceeded |
| 500 | server_error | Internal server error |
## Rate Limiting
API requests are rate limited to protect the service from abuse. The current limits are:
- **Free Tier**: 100 requests per minute
- **Pro Tier**: 1,000 requests per minute
- **Enterprise**: Custom limits available
Rate limit headers are included in all responses:
```
X-RateLimit-Limit: 100
X-RateLimit-Remaining: 98
X-RateLimit-Reset: 1625097600
```
When the rate limit is exceeded, the API will return a 429 status code with a `Retry-After` header indicating how long to wait before making another request.
## See Also
- [Related Document](#related-document)