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

# API overview

> QWED RESTful API reference. Learn about base URLs, authentication via API keys, core verification endpoints, and request formats for LLM output verification.

## Base URL

```text theme={null}
https://api.qwedai.com/v1
```

Or for local development:

```text theme={null}
http://localhost:8000
```

## Authentication

All requests require an API key:

```bash theme={null}
curl -H "X-API-Key: qwed_your_key" https://api.qwedai.com/v1/health
```

## Core endpoints

| Method | Endpoint                    | Description                           |
| ------ | --------------------------- | ------------------------------------- |
| GET    | `/health`                   | Health check (no auth required)       |
| POST   | `/verify/natural_language`  | Natural language verification         |
| POST   | `/verify/math`              | Math expression/equation verification |
| POST   | `/verify/logic`             | Logic constraint verification         |
| POST   | `/verify/code`              | Code security analysis                |
| POST   | `/verify/sql`               | SQL validation against schema         |
| POST   | `/verify/fact`              | Fact checking against context         |
| POST   | `/verify/consensus`         | Multi-engine consensus verification   |
| POST   | `/verify/image`             | Image claim verification              |
| POST   | `/verify/stats`             | Statistical claim verification        |
| POST   | `/verify/process`           | Reasoning trace verification          |
| POST   | `/verify/rag`               | RAG retrieval mismatch detection      |
| POST   | `/verify/batch`             | Batch verification                    |
| GET    | `/verify/batch/{job_id}`    | Get batch job status                  |
| POST   | `/agents/register`          | Register an AI agent                  |
| POST   | `/agents/{id}/verify`       | Agent verification request            |
| POST   | `/agents/{id}/tools/{tool}` | Agent tool call approval              |
| GET    | `/agents/{id}/activity`     | Agent activity audit log              |
| GET    | `/metrics`                  | System metrics                        |
| GET    | `/metrics/{org_id}`         | Per-tenant metrics                    |
| GET    | `/metrics/prometheus`       | Prometheus scrape format              |
| GET    | `/logs`                     | Tenant verification logs              |
| POST   | `/auth/signup`              | Create account and organization       |
| POST   | `/auth/signin`              | Sign in                               |
| GET    | `/auth/me`                  | Current user info                     |
| POST   | `/auth/api-keys`            | Create API key                        |
| GET    | `/auth/api-keys`            | List API keys                         |
| DELETE | `/auth/api-keys/{id}`       | Revoke API key                        |
| GET    | `/audit/logs`               | Audit logs                            |
| GET    | `/audit/export`             | Export audit logs as CSV              |

## Request format

Most verification endpoints accept JSON with a `query` or domain-specific fields:

```json theme={null}
{
  "query": "What is 15% of 200?",
  "provider": "openai"
}
```

Some endpoints (image, stats) use multipart form data instead of JSON.

## Response format

Responses vary by engine. A typical natural language verification response:

```json theme={null}
{
  "status": "VERIFIED",
  "user_query": "What is 15% of 200?",
  "translation": {
    "expression": "0.15 * 200",
    "claimed_answer": 30.0,
    "reasoning": "15% as decimal is 0.15, multiply by 200",
    "confidence": 0.95
  },
  "verification": {
    "calculated_value": 30.0,
    "is_correct": true,
    "diff": 0.0
  },
  "final_answer": 30.0,
  "latency_ms": 245.3
}
```

See [All endpoints](/api/endpoints) for engine-specific response schemas.

## Status codes

| Code | Meaning      |
| ---- | ------------ |
| 200  | Success      |
| 400  | Bad request  |
| 401  | Unauthorized |
| 429  | Rate limited |
| 500  | Server error |

## Rate limits

| Plan       | Requests/min | Requests/day |
| ---------- | ------------ | ------------ |
| Free       | 60           | 1,000        |
| Pro        | 600          | 50,000       |
| Enterprise | Unlimited    | Unlimited    |

## Detailed reference

* [All endpoints](/api/endpoints)
* [Authentication](/api/authentication)
* [Error codes](/api/errors)
* [Rate limits](/api/rate-limits)
* [DSL reference](/api/dsl-reference)
