> ## Documentation Index
> Fetch the complete documentation index at: https://docs.everabyte.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Migration guide

> Moving to this documentation site, and moving data or integrations from another storage provider.

This page covers two different migrations. Read the section that applies to you.

## Part 1 — Migrating from the previous API documentation

This site replaces the earlier API documentation. Some URLs have changed.

### Redirected paths

| Old path | New path |
| - | - |
| `/introduction` | `/getting-started/introduction` |
| `/quickstart` | `/getting-started/quickstart` |
| `/error-guide` | `/errors/overview` |
| `/api-reference/endpoint/get` | `/storage/download-files` |
| `/api-reference/endpoint/create` | `/storage/upload-files` |
| `/api-reference/endpoint/delete` | `/storage/manage-file-lifecycle` |
| `/file-and-folder-464042f0` | `/api-reference/introduction` |

Redirects are served by the platform, so existing bookmarks continue to resolve.

### What changed in substance

The previous documentation included content that did not match the backend. This site publishes only endpoints verified against route registration and controller behavior.

| Topic | Change |
| - | - |
| Endpoint coverage | A curated subset is published; session-only and administrative routes are excluded |
| Authentication | API-key authentication is documented as the developer path; browser sessions are described as a separate surface |
| Error responses | Envelope variants are documented per layer, including which codes are stable |
| Upload semantics | Multi-file requests return only the first file result; this is now explicit |
| Delete semantics | Soft versus hard delete, and the empty-string success payload, are documented |
| Version endpoints | HTTP `200` with nested status is documented, instead of implying header-level status |
| Encryption | Described as layered server-side encryption — application-level AES-256-GCM plus storage-level encryption at rest — with decryption under authorization |
| S3 compatibility | Described as a gated capability, not a universal guarantee |
| Partner provisioning | Explicitly excluded |

### If a page you used is gone

It was likely one of:

* an endpoint not reachable with API keys,
* an administrative or provisioning route,
* a capability that is gated or unstable.

Check the [API reference](https://docs.everabyte.com/api-reference/introduction.md) index, or contact [support@everabyte.com](mailto:support@everabyte.com).

### Updating code

The mechanical changes most integrations need:

1. **Base URL**: `https://api.everabyte.io/api`.
2. **Auth headers**: `X-Public-Key` and `X-Secret-Key`.
3. **Error handling**: read `code` when present, but do not require it. Controller errors may omit it.
4. **Delete response**: a successful file delete returns `data: ""`.
5. **Version responses**: check `data.status` inside a `200` response.
6. **Uploads**: for multiple files, list the folder afterward; the response describes only the first file.
7. **Retries**: never retry `403`, `402`, or `401`. Retry `429` and `5xx` with backoff.

## Part 2 — Migrating from another storage provider

### 1. Inventory

Before moving anything:

* count objects and total bytes,
* record average and maximum object size,
* list folders (directory structure does not always map one-to-one),
* identify objects with versions you must preserve,
* identify retention obligations,
* check for empty directories you still need.

### 2. Map the structure

| Source concept | Everabyte concept |
| - | - |
| Container / bucket | Bucket (created in dashboard) |
| Directory | Folder (max depth 8) |
| Object | File (with `name` + `extFile`) |
| Object version | File version |
| Delete marker / trash | Soft delete with trash window |
| Lifecycle rule | Retention period |
| Bucket policy | API key scopes + bucket restriction |

> [!WARNING]
>
> Folder depth is limited to 8. If your source tree is deeper, flatten it deliberately before migrating rather than discovering the limit mid-run.

### 3. Plan the transfer

1. Create target buckets in the required locations.
2. Create a key per migration job, restricted to the target buckets.
3. Copy in batches small enough to verify.
4. After each batch, list the folder and compare counts and sizes.
5. Record `fileId` and `versionId` in a mapping table if downstream systems reference them.
6. Keep the source untouched until verification passes.

### 4. Preserve what matters

| Requirement | Action |
| - | - |
| Exact revision history | Re-create versions explicitly; versions do not transfer implicitly |
| Modification timestamps | Not preserved by upload; record source timestamps in your metadata or database |
| File permissions | Not transferred; re-implement with workspaces, keys, and your own authorization |
| Checksums | Compute before and after; there is no client-supplied checksum field |

### 5. Cut over

1. Stop writes on the source.
2. Run a final incremental transfer.
3. Verify counts and critical objects.
4. Switch reads to Everabyte.
5. Keep the source read-only for a defined rollback window.
6. Retire the source only after your own verification passes.

### 6. Common mistakes

* Assuming a successful upload response means the whole batch succeeded. It may describe only the first file.
* Assuming folders transfer automatically. They do not; create the structure.
* Assuming versions transfer. They do not.
* Testing only small files. Test your largest expected object too.
* Leaving the source writable during cutover.

## Related

> **[Quickstart](https://docs.everabyte.com/getting-started/quickstart.md)**
>
> First request against the new API.

> **[Upload files](https://docs.everabyte.com/storage/upload-files.md)**
>
> Upload behavior and limits.

> **[Organize folders](https://docs.everabyte.com/storage/organize-folders.md)**
>
> Folder creation and depth limits.

> **[Versions and restore](https://docs.everabyte.com/storage/versions-and-restore.md)**
>
> Version semantics.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.