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

# API Overview

Databunker Pro is a privacy-compliant user data vault and tokenization engine that provides secure storage and management of user data with built-in privacy controls, consent management, and audit capabilities.

## API Documents for AI Assistants

Feed these directly into your LLM or AI coding assistant for accurate, context-aware help when building integrations:

* [OpenAPI Specification](https://github.com/securitybunker/databunkerpro-docs/blob/main/pro/api/openapi.yml)
* [Full documentation (LLM-friendly)](https://docs.databunker.org/llms-full.txt)

## Key Features

* **User Tokenization**: Create, update, and manage user profiles with privacy controls
* **Consent Management**: Handle legal basis and user agreements for GDPR/DPDP compliance
* **Format Preserving Tokenization**: Secure tokenization of sensitive data like credit cards
* **File Storage**: Encrypted per-user file storage backed by local disk, Amazon S3, Google Cloud Storage, or Azure Blob Storage
* **Audit Trail**: Complete audit logging of all data access and modifications
* **Multi-tenant**: Support for multiple tenants with isolated data
* **Role-based Access**: Fine-grained access control with policies and roles
* **Bulk Operations**: Efficient bulk data operations with unlock mechanisms

## Authentication

All API calls require authentication via the `X-Bunker-Token` header. For multi-tenant setups, use the `X-Bunker-Tenant` header to specify the tenant context. For the full credential hierarchy — root tokens, tenant tokens, role and user xtokens, and the bulk-unlock UUID — see the [Authentication reference](/pro/api/authentication).

### Multi-Tenant Usage

Multi-tenancy is supported when Databunker Pro is configured to work with PostgreSQL database. **Note:** Databunker Pro supports both PostgreSQL and MySQL (Percona) as backend databases, but multi-tenancy requires PostgreSQL and is not available with MySQL.

When using Databunker Pro in a multi-tenant environment:

* **Single Tenant**: Omit the `X-Bunker-Tenant` header (default behavior)
* **Multi-Tenant**: Include `X-Bunker-Tenant: your-tenant-name` header

**Example:**

```bash theme={null}
# Single tenant
curl -X POST http://localhost:3000/v2/UserCreate \
  -H "X-Bunker-Token: your-token" \
  -d '{"profile":{"login":"user1"}}'

# Multi-tenant
curl -X POST http://localhost:3000/v2/UserCreate \
  -H "X-Bunker-Token: your-token" \
  -H "X-Bunker-Tenant: acme-corp" \
  -d '{"profile":{"login":"user1"}}'
```

## Base URL

The API is available at `/v2/` endpoint with all requests using POST method.

## Error Handling

Every error is returned as `{"status":"error","message":"..."}` with a conventional HTTP status code (400/403/404/409/500). See the full [Errors reference](/pro/api/errors) for the status-code table and a catalog of common messages.

## Pagination

List endpoints accept `offset`/`limit` in the request body and return a `{status, total, rows}` envelope. See the [Pagination reference](/pro/api/pagination).
