# Documents resource

Canonical page: https://docs.ovok.com/flutter-sdk/reference/ovok_sdk/documents-resource

{/* Generated by scripts/generate_reference.dart; do not edit. */}

## DocumentsResource [#documentsresource]

```dart
class DocumentsResource
```

Uploaded documents and their download URLs. Reached through `ovok.documents`.

Every request throws an `OvokException` subclass when it fails.

### Constructors [#constructors]

#### DocumentsResource.new [#documentsresourcenew]

```dart
DocumentsResource(HttpClient _http, String _baseUrl)
```

Built by `Ovok`; use `ovok.documents` instead.

| Parameter | Type | Kind | Default |
| ------ | ------ | ------ | ------ |
| `_http` | `HttpClient` | positional |  |
| `_baseUrl` | `String` | positional |  |

### Methods [#methods]

#### DocumentsResource.list [#documentsresourcelist]

```dart
Future<JsonMap> list([QueryParams params = const {}])
```

Lists documents. Calls `GET document` with `params`.

| Parameter | Type | Kind | Default |
| ------ | ------ | ------ | ------ |
| `params` | `QueryParams` | optional positional | `const {}` |

Returns `Future<Map<String, dynamic>>`.

#### DocumentsResource.createUpload [#documentsresourcecreateupload]

```dart
Future<JsonMap> createUpload(JsonMap body)
```

Creates a document upload. Calls `POST document`.

| Parameter | Type | Kind | Default |
| ------ | ------ | ------ | ------ |
| `body` | `JsonMap` | positional |  |

Returns `Future<Map<String, dynamic>>`.

#### DocumentsResource.replaceUpload [#documentsresourcereplaceupload]

```dart
Future<JsonMap> replaceUpload(String documentId, JsonMap body)
```

Replaces a document's upload. Calls `POST document/{documentId}`.

| Parameter | Type | Kind | Default |
| ------ | ------ | ------ | ------ |
| `documentId` | `String` | positional |  |
| `body` | `JsonMap` | positional |  |

Returns `Future<Map<String, dynamic>>`.

#### DocumentsResource.updateMetadata [#documentsresourceupdatemetadata]

```dart
Future<JsonMap> updateMetadata(String documentId, JsonMap body)
```

Updates a document's metadata. Calls `PATCH document/{documentId}`.

| Parameter | Type | Kind | Default |
| ------ | ------ | ------ | ------ |
| `documentId` | `String` | positional |  |
| `body` | `JsonMap` | positional |  |

Returns `Future<Map<String, dynamic>>`.

#### DocumentsResource.delete [#documentsresourcedelete]

```dart
Future<JsonMap> delete(String documentId)
```

Deletes a document. Calls `DELETE document/{documentId}`.

| Parameter | Type | Kind | Default |
| ------ | ------ | ------ | ------ |
| `documentId` | `String` | positional |  |

Returns `Future<Map<String, dynamic>>`.

#### DocumentsResource.downloadUrl [#documentsresourcedownloadurl]

```dart
String downloadUrl(String documentId, [QueryParams params = const {}])
```

The signed-in download URL, `document/{documentId}`; sends no request.

Fetched with the bearer token, it redirects to a signed download URL.

| Parameter | Type | Kind | Default |
| ------ | ------ | ------ | ------ |
| `documentId` | `String` | positional |  |
| `params` | `QueryParams` | optional positional | `const {}` |

Returns `String`.

#### DocumentsResource.publicDownloadUrl [#documentsresourcepublicdownloadurl]

```dart
String publicDownloadUrl(String publicToken, [QueryParams params = const {}])
```

The public download URL, `document/public/{publicToken}`; sends no request.

Needs no bearer, so it fits an image, download or media element.

| Parameter | Type | Kind | Default |
| ------ | ------ | ------ | ------ |
| `publicToken` | `String` | positional |  |
| `params` | `QueryParams` | optional positional | `const {}` |

Returns `String`.
