box-open-sdk 0.3.1

Box API client for Rust (open source, community, punk rock) — typed models, async managers, and a reqwest runtime with retry, backoff, and token refresh.
Documentation
<!-- Generated by box-gantry. DO NOT EDIT. -->
# FileMetadataManager

Reach these methods through the `file_metadata` field on `client::Client`.

## list_file_metadata

`GET /files/{file_id}/metadata`

| Parameter | In | Type | Required |
|---|---|---|---|
| `file_id` | path | `String` | yes |
| `view` | query | `String` | no |

**Returns:** `Metadatas`

**Example**

```rust
let result = client.file_metadata.list_file_metadata("FILE_ID".to_string(), None).await?;
```

## get_file_metadata

`GET /files/{file_id}/metadata/{scope}/{template_key}`

| Parameter | In | Type | Required |
|---|---|---|---|
| `file_id` | path | `String` | yes |
| `scope` | path | `GetFileIdMetadataIdIdScope` | yes |
| `template_key` | path | `String` | yes |
| `view` | query | `String` | no |

**Returns:** `MetadataFull`

**Example**

```rust
let result = client.file_metadata.get_file_metadata("FILE_ID".to_string(), Default::default(), "TEMPLATE_KEY".to_string(), None).await?;
```

## update_file_metadata

`PUT /files/{file_id}/metadata/{scope}/{template_key}`

| Parameter | In | Type | Required |
|---|---|---|---|
| `file_id` | path | `String` | yes |
| `scope` | path | `GetFileIdMetadataIdIdScope` | yes |
| `template_key` | path | `String` | yes |

**Request body** (`application/json-patch+json`): `Vec<FileMetadataUpdateRequest>`

**Returns:** `MetadataFull`

**Example**

```rust
let result = client.file_metadata.update_file_metadata("FILE_ID".to_string(), Default::default(), "TEMPLATE_KEY".to_string(), vec![]).await?;
```

## create_file_metadata

`POST /files/{file_id}/metadata/{scope}/{template_key}`

| Parameter | In | Type | Required |
|---|---|---|---|
| `file_id` | path | `String` | yes |
| `scope` | path | `GetFileIdMetadataIdIdScope` | yes |
| `template_key` | path | `String` | yes |

**Request body** (`application/json`): `std::collections::HashMap<String, serde_json::Value>`

**Returns:** `MetadataFull`

**Example**

```rust
let result = client.file_metadata.create_file_metadata("FILE_ID".to_string(), Default::default(), "TEMPLATE_KEY".to_string(), Default::default()).await?;
```

## delete_file_metadata

`DELETE /files/{file_id}/metadata/{scope}/{template_key}`

| Parameter | In | Type | Required |
|---|---|---|---|
| `file_id` | path | `String` | yes |
| `scope` | path | `GetFileIdMetadataIdIdScope` | yes |
| `template_key` | path | `String` | yes |

**Returns:** no content

**Example**

```rust
client.file_metadata.delete_file_metadata("FILE_ID".to_string(), Default::default(), "TEMPLATE_KEY".to_string()).await?;
```