Skip to main content

Documentation Index

Fetch the complete documentation index at: https://archie.com/docs/llms.txt

Use this file to discover all available pages before exploring further.

The File Manager is where you connect your project to a cloud storage provider. Pick a provider, paste in credentials, and the REST file endpoints and the Assets feature start using it as their backing store. No new code on your end. To open it, navigate to App Services → File Manager in the Backend Console. File Manager overview and storage options

Per-environment configuration

File storage providers are scoped per environment. Each environment has its own set of configured providers — useful for keeping dev uploads in a separate bucket from production. When you branch a new environment, you can optionally tick File storage providers in the branching modal to copy the configuration. Each copy gets a new unique identifier so it can be edited independently.

Supported providers

Amazon S3

Connect an AWS S3 bucket via Access Key ID and Secret Access Key.

Google Cloud Storage

Connect a GCP bucket via a service account credentials JSON.

Azure Blob Storage

Connect an Azure Storage container via account name and access key.

Filestack

Connect a Filestack bucket via the API key from your Filestack dashboard.
To configure a provider, click Configure next to it and fill in the credentials. The provider becomes available immediately to the file endpoints.

Amazon S3

FieldWhat goes in it
Bucket NameExact name of the S3 bucket where files will be stored.
Access Key IDPublic identifier for the AWS IAM user authorized to write to the bucket.
Secret Access KeyPrivate key paired with the Access Key ID. Stored encrypted.
RegionAWS region code where the bucket lives (e.g., us-east-1).
Amazon S3 configuration

Google Cloud Storage

FieldWhat goes in it
Bucket NameName of the bucket created in your GCP console.
Project IDUnique identifier of the GCP project.
Credentials JSONComplete contents of the service account credentials JSON file.
Google Cloud Storage configuration The service account needs the Storage Object Admin role on the bucket — enough to create, read, and delete objects but not to manage the bucket itself.

Azure Blob Storage

FieldWhat goes in it
Container NameName of the container within your storage account.
Account NameName of the Azure Storage Account.
Access KeyStorage account access key for authenticating requests.
Azure Blob Storage configuration

Filestack

FieldWhat goes in it
Bucket NameName of the bucket associated with your Filestack storage backend.
API KeyFilestack API Key from your Filestack dashboard.
Filestack configuration

Uploading and retrieving files

The configured provider backs the standard file endpoints. You don’t call the storage provider directly — Archie handles signing, validation, and access control.
  • REST: POST /api/rest/files, GET /api/rest/files/{id}, DELETE /api/rest/files/{id}. Full reference at REST → File management.
  • Records: Store the returned fileId on a record (typically in a JSONB or text field) and re-issue the signed download URL when you need to serve the file.
  • Assets: Files appear in the Assets section of the project, browseable through the dashboard.

Supported MIME types

The upload endpoint accepts a broad allowlist by prefix:
CategoryExamples
ImagesAll image/* (jpeg, png, gif, webp, svg+xml, bmp, tiff, avif)
VideoAll video/* (mp4, webm, quicktime)
AudioAll audio/* (mpeg, wav, ogg)
TextAll text/* (plain, csv, html, xml)
Documentsapplication/pdf, MS Office, OpenXML formats
Archivesapplication/zip, application/gzip, application/x-tar
Dataapplication/json, application/xml
Genericapplication/octet-stream
Unsupported types return 422 Unprocessable Entity from the upload endpoint.

Permissions

Who can upload, list, download, and delete files is governed in Role-Based Access like every other endpoint. For per-record file access (a user can only download files attached to records they own), reference the file from a Data Model record and govern access through that table’s permissions.

FAQ

Yes — every supported provider can be configured concurrently. When uploading, you select the target provider via the providerType form field. Useful for migrations or tiered storage (hot in S3, cold in Glacier-backed S3, archived in another bucket).
Only if you explicitly tick File storage providers in the branching modal. The copy gets a new ID, so future edits don’t propagate back. Branching never copies authentication-provider secrets — those stay env-specific by design.
They stay in the old provider until you migrate them. Archie tracks the provider per file, so old uploads keep resolving to their original bucket. Run a migration script if you want to consolidate.
Enforced at the gateway. Exceeding it returns 413 Payload Too Large. For very large files, use a direct-to-storage upload pattern through your provider’s SDK and store only the resulting object key in Archie.
Upload the file to get a fileId, then store that fileId on a JSONB or text field on the record. Re-issue the signed URL through the download endpoint when you need to serve it. See REST → File management.