# API Reference

The MariaDB AI RAG API provides a comprehensive RESTful interface for document ingestion, chunking, retrieval, and AI-powered generation. All endpoints require JWT authentication except for the login endpoint.

## Available API Documentation

### [API Reference](https://mariadb.com/docs/tools/mariadb-ai-rag/api-reference/api-reference)

Complete reference for all API endpoints including:

* Document ingestion and management
* Chunking operations
* Retrieval and search
* AI generation
* Batch operations

### [Access Control](https://mariadb.com/docs/tools/mariadb-ai-rag/api-reference/access-control)

Authentication and authorization documentation:

* JWT-based authentication
* User management endpoints
* Role-based access control
* Document sharing and permissions
* User directory management

### [Database Integration](https://mariadb.com/docs/tools/mariadb-ai-rag/api-reference/database-integration)

Direct database ingestion capabilities:

* SQL query ingestion
* Table and view ingestion
* Role-based database access
* Structured data processing

### [Orchestration](https://mariadb.com/docs/tools/mariadb-ai-rag/api-reference/orchestration)

High-level workflow endpoints:

* Full pipeline orchestration
* Ingestion orchestration
* Generation orchestration
* Multi-step RAG workflows

## Quick Start

All API requests require authentication. First, obtain a JWT token:

```bash
curl -X POST "http://localhost:8000/token" \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "username=user@example.com&password=your_password"
```

Then include the token in subsequent requests:

```bash
curl -X GET "http://localhost:8000/documents" \
  -H "Authorization: Bearer YOUR_TOKEN"
```

## Base URL

The default base URL for the API is:

```
http://localhost:8000
```

For production deployments, replace with your configured host and port.

<sub>*This page is: Copyright © 2025 MariaDB. All rights reserved.*</sub>

{% @marketo/form formId="4316" %}
