# Download a chunk

> One 16 MiB part of a stored file.

`GET https://api.codebuckets.clatterlabs.xyz/v1/buckets/{bucket_id}/objects/{object_id}/chunks/{index}` (key permission: `buckets:read`)

Returns chunk `index` decrypted, with its SHA-256 in the `X-Content-SHA256` header. Concatenate chunks 0 to `chunk_count - 1` to rebuild the file. Doesn't count toward the key's per-minute limit.

## Authorizations

- `Authorization` (string, required): Your API key as a bearer token: `Bearer clsk_...`. Create keys in the [Console](https://console.clatterlabs.com/api-keys) with the Code Buckets permissions you need.
- `X-Clatter-Account` (string, required): The Account ID that owns the key, like `CL-7K2M9QXA`. Find it in Console › Settings. A missing value answers `401 missing_account_id`; someone else's answers `401 account_mismatch`.

## Path parameters

- `bucket_id` (string, required): The bucket id (`cbk_…`).
- `object_id` (string, required): The object id (`cbo_…`).
- `index` (integer, required): 0 to `chunk_count - 1`.

## Response

- `(body)` (binary): The chunk's bytes.

## Example request

```bash
curl "https://api.codebuckets.clatterlabs.xyz/v1/buckets/cbk_q7c1r9t2y6u0i3o8p5a4/objects/cbo_m2n8b4v6c1x9z3l7k5j0/chunks/0" \
  -H "Authorization: Bearer $CLATTER_API_KEY" \
  -H "X-Clatter-Account: $CLATTER_ACCOUNT_ID" \
  -o part-00000
```

## Errors

| Status | Code | When |
| --- | --- | --- |
| `401` | `invalid_api_key / missing_account_id / account_mismatch` | The key or Account ID is wrong. |
| `402` | `quota_exceeded` | This month's free tokens are used up. |
| `403` | `insufficient_scope` | The key lacks the permission. |
| `404` | `not_found` | No object with that id on your account. |
| `400` | `bad_chunk` | Index out of range. |


