Storages
Use Storages to register reusable S3-compatible destinations for recordings, copied files, and exported media.
Choose this whenYou need to register an S3-compatible destination that another module will write to.
Use another module whenUse Files or Recordings to create or copy media; Storages only registers the destination.
/api/storages/createBefore you start
All methods require an administrative x-access-token. Prepare a compatible bucket endpoint and credentials with only the permissions required by the workflow. Access and secret keys are write-only values and are not returned by read methods.
What you can do
createandupdateregister or change a storage destination.getAll,getCount, andgetByIdinspect configured destinations.removedeletes a destination record.
Example workflow
{
"name": "Event archive",
"type": "STORAGE_TYPE_S3",
"bucket_url": "https://media.example.s3.amazonaws.com",
"access_key": "ACCESS_KEY_ID",
"secret_key": "SECRET_ACCESS_KEY",
"meta_data": {}
}
- Create the storage destination before the event.
- Copy a small non-production file to it.
- Verify the object and access policy at the destination.
- Reference the storage identifier from the production transfer workflow.
Common use cases
- Archive completed recordings in AWS S3 or compatible storage.
- Separate editorial handoff from long-term retention buckets.
- Rotate destination credentials without changing workflows that reference the storage destination.
Limits and troubleshooting
Read methods cannot recover stored secret values. Wrong endpoints, bucket policies, regions, credentials, or network rules can make transfers fail even when the destination record exists. Validate with a small copy after every change.
Next steps
Use Files to copy media to this destination and monitor transfer progress.
Register reusable object storage
Create an S3-compatible destination once, then reference its id from file-copy and retention workflows.
- Register the destinationSave the provider type, bucket URL, and credentials.
POST /api/storages/create - Confirm the resourceRead the stored non-secret configuration before using its id.
POST /api/storages/getById
Treat access and secret keys as write-only credentials. Verify bucket policy and least-privilege access outside the public docs.
Use this method before any recording, archive, or file-transfer workflow is pointed at external storage.
It registers the target, validates bucket and metadata settings, and makes the destination available for production use. The preset examples are the fastest path for common S3-compatible providers such as AWS S3 or Backblaze.
Use this preset when recordings or copied assets should land in an AWS S3 bucket.
Use this preset when the storage backend is Backblaze and the bucket URL follows the S3-compatible Backblaze endpoint pattern.
Dashboard label: Storage Name.
The unique storage name. The backend validates a constrained name pattern and length before creating the storage object.
Dashboard label: Location.
Real product values include STORAGE_TYPE_S3, STORAGE_TYPE_BACKBLAZE, and an internal-disk type used as a model default.
Dashboard label: Bucket URL.
Full bucket URL for the storage target.
Dashboard label: Access key (Key ID).
Write-only credential field used when the storage is created or updated.
Dashboard label: Secret key (App key).
Write-only credential field used when the storage is created or updated.
Dashboard label: Metadata URL.
Redis metadata backend used by the storage mounting layer.
Optional metadata object stored with the storage target.
Storage object identifiers and the saved storage name.
Storage type, bucket URL, and the normalized folder name derived from the storage name.
Saved metadata backend fields for the storage object.
Creation timestamp managed by the backend.
The create and update flows accept credentials, but list and lookup methods intentionally avoid returning the secret fields back to the client.