
# Auto-Archiver API Database
```{admonition} Module type

<span style='color: #FF00FF'>[database](/core_modules.md#database-modules)</a></span>
```

Provides integration with the Auto-Archiver API for querying and storing archival data.

### Features
- **API Integration**: Supports querying for existing archives and submitting results.
- **Duplicate Prevention**: Avoids redundant archiving when `use_api_cache` is disabled.
- **Configurable**: Supports settings like API endpoint, authentication token, tags, and permissions.
- **Tagging and Metadata**: Adds tags and manages metadata for archives.
- **Optional Storage**: Archives results conditionally based on configuration.

### Setup
Requires access to an Auto-Archiver API instance and a valid API token.


## Configuration Options

### YAML
```{code} yaml
api_db:
  api_endpoint: ''
  api_token:
  public: false
  author_id:
  group_id:
  use_api_cache: true
  store_results: true
  tags: []

```

### Command Line:
| Option | Description | Default | Type|
| --- | --- | --- | --- |
| `api_db.api_endpoint` | **Required**. API endpoint where calls are made to |  | string |
| `api_db.api_token` | Optional. API Bearer token. | None | string |
| `api_db.public` | Optional. whether the URL should be publicly available via the API | False | bool |
| `api_db.author_id` | Optional. which email to assign as author | None | string |
| `api_db.group_id` | Optional. which group of users have access to the archive in case public=false as author | None | string |
| `api_db.use_api_cache` | Optional. if False then the API database will be queried prior to any archiving operations and stop if the link has already been archived | True | bool |
| `api_db.store_results` | Optional. when set, will send the results to the API database. | True | bool |
| `api_db.tags` | Optional. what tags to add to the archived URL | [] | string |

[API Reference](../../../autoapi/api_db/index)
