# API Reference

> Every endpoint of the Axelered API, grouped by resource.

## 🌐 Base URL

```http
https://api.axelered.com/v1
```

Every request except `/health` carries an API Key in the `Authorization` header. A global API Key or the Root Key
belongs to no Workspace, so it also names one in the `X-Workspace-Id` header on every Workspace route, see
[Authentication](https://docs.axelered.com/authentication).

```http
Authorization: Bearer ax_...
X-Workspace-Id: 018f8e024b2a7c3d9e1f0a2b3c4d5e6f
```

## 📦 Responses

A successful response is an envelope with `status: "ok"` and the result in `data`. Errors use the same envelope with
`status: "error"` and a code to branch on, see [Errors](https://docs.axelered.com/errors).

```json
{
  "status": "ok",
  "data": { "id": "018f8e024b2a7c3d9e1f0a2b3c4d5e6f" }
}
```

Lists are paginated with a cursor: pass `limit` (1 to 100, default 50) and the `cursor` of the previous page. `data`
holds the `items` and the `cursor` of the next page, `null` on the last one.

The OpenAPI schema of this reference is available for download:
<a href="https://docs.axelered.com/reference/openapi.json">openapi.json</a>.

## 📚 Endpoints

### Documents

Upload files to the Workspace, then read, rename, download or delete them.

- [POST /documents](https://docs.axelered.com/reference/documents/api_create_documents_post): Upload Document
- [DELETE /documents/{document_id}](https://docs.axelered.com/reference/documents/api_delete_documents__document_id__delete): Delete Document
- [GET /documents](https://docs.axelered.com/reference/documents/api_list_documents_get): List Documents
- [GET /documents/{document_id}/original](https://docs.axelered.com/reference/documents/api_original_documents__document_id__original_get): Download Document
- [GET /documents/{document_id}](https://docs.axelered.com/reference/documents/api_read_documents__document_id__get): Read Document
- [PATCH /documents/{document_id}](https://docs.axelered.com/reference/documents/api_update_documents__document_id__patch): Update Document

### Parsings

Turn a Document into a Parsed Document of Pages and Blocks.

- [POST /parsings](https://docs.axelered.com/reference/parsings/api_create_parsings_post): Submit Parsing
- [DELETE /parsings/{job_id}](https://docs.axelered.com/reference/parsings/api_delete_parsings__job_id__delete): Delete Parsing
- [GET /parsings](https://docs.axelered.com/reference/parsings/api_list_parsings_get): List Parsings
- [GET /parsings/{job_id}/output](https://docs.axelered.com/reference/parsings/api_output_parsings__job_id__output_get): Read Parsing Output
- [GET /parsings/{job_id}](https://docs.axelered.com/reference/parsings/api_read_parsings__job_id__get): Read Parsing

### Summarizations

Summarize a Document with a language model.

- [POST /summarizations](https://docs.axelered.com/reference/summarizations/api_create_summarizations_post): Submit Summarization
- [DELETE /summarizations/{job_id}](https://docs.axelered.com/reference/summarizations/api_delete_summarizations__job_id__delete): Delete Summarization
- [GET /summarizations](https://docs.axelered.com/reference/summarizations/api_list_summarizations_get): List Summarizations
- [GET /summarizations/{job_id}](https://docs.axelered.com/reference/summarizations/api_read_summarizations__job_id__get): Read Summarization

### Classifications

Assign a Document one of the Categories you define.

- [POST /classifications](https://docs.axelered.com/reference/classifications/api_create_classifications_post): Submit Classification
- [DELETE /classifications/{job_id}](https://docs.axelered.com/reference/classifications/api_delete_classifications__job_id__delete): Delete Classification
- [GET /classifications](https://docs.axelered.com/reference/classifications/api_list_classifications_get): List Classifications
- [GET /classifications/{job_id}](https://docs.axelered.com/reference/classifications/api_read_classifications__job_id__get): Read Classification

### Extractions

Extract the fields of an Output Schema from a Document as JSON.

- [POST /extractions](https://docs.axelered.com/reference/extractions/api_create_extractions_post): Submit Extraction
- [DELETE /extractions/{job_id}](https://docs.axelered.com/reference/extractions/api_delete_extractions__job_id__delete): Delete Extraction
- [GET /extractions](https://docs.axelered.com/reference/extractions/api_list_extractions_get): List Extractions
- [GET /extractions/{job_id}](https://docs.axelered.com/reference/extractions/api_read_extractions__job_id__get): Read Extraction

### Workspace

Read and update the Workspace of the request.

- [GET /workspace](https://docs.axelered.com/reference/workspace/api_read_current_workspace_get): Read Current Workspace
- [PATCH /workspace](https://docs.axelered.com/reference/workspace/api_update_current_workspace_patch): Update Current Workspace

### API Keys

Issue and revoke the API Keys and Ephemeral Tokens of the Workspace.

- [POST /keys](https://docs.axelered.com/reference/auth/api_create_keys_post): Create API Key
- [DELETE /keys/{key_id}](https://docs.axelered.com/reference/auth/api_delete_keys__key_id__delete): Delete API Key
- [GET /keys](https://docs.axelered.com/reference/auth/api_list_keys_get): List API Keys

### System

Check that the service is up.

- [GET /health](https://docs.axelered.com/reference/system/api_health_health_get): Health Check

### Admin

Manage every Workspace and the global API Keys. Requires a global API Key or the Root Key.

- [POST /admin/workspaces](https://docs.axelered.com/reference/admin/api_create_admin_workspaces_post): Create Workspace
- [POST /admin/keys](https://docs.axelered.com/reference/admin/api_create_global_admin_keys_post): Create Global API Key
- [DELETE /admin/workspaces/{workspace_id}](https://docs.axelered.com/reference/admin/api_delete_admin_workspaces__workspace_id__delete): Delete Workspace
- [DELETE /admin/keys/{key_id}](https://docs.axelered.com/reference/admin/api_delete_global_admin_keys__key_id__delete): Delete Global API Key
- [GET /admin/workspaces](https://docs.axelered.com/reference/admin/api_list_admin_workspaces_get): List Workspaces
- [GET /admin/keys](https://docs.axelered.com/reference/admin/api_list_global_admin_keys_get): List Global API Keys
- [GET /admin/workspaces/{workspace_id}](https://docs.axelered.com/reference/admin/api_read_admin_workspaces__workspace_id__get): Read Workspace
- [PUT /admin/workspaces/{workspace_id}/undelete](https://docs.axelered.com/reference/admin/api_undelete_admin_workspaces__workspace_id__undelete_put): Undelete Workspace
- [PATCH /admin/workspaces/{workspace_id}](https://docs.axelered.com/reference/admin/api_update_admin_workspaces__workspace_id__patch): Update Workspace
