Find the exact module, copy the working request shape, and move from product workflow to API call without getting buried in the tree.
Write the workflow in plain language. We will turn it into a GPT-ready brief you can use to generate requests, module order, and starter payloads.
Use Storages to define where finished media should go after it leaves local disk. This is the module for external buckets and archive targets used by recordings, copied files, and exported assets.
In production, a storage object gives your team a reusable destination with a stable id. Downstream jobs can reference that object instead of repeating bucket URLs and credentials in every workflow.
create and update register or change a storage target.getAll and getCount support inventory and audits.getById returns one configured destination.remove detaches a target that is no longer needed.access_key and secret_key as write-only inputs. They are supplied on create or update and are not returned later.The examples below cover the two most common object storage setups used in production.
Typical choice for long-term retention and shared media libraries.
{
"name": "AWS media archive",
"type": "STORAGE_TYPE_S3",
"bucket_url": "https://my-media-bucket.s3.us-east-1.amazonaws.com",
"access_key": "AWS_ACCESS_KEY_ID",
"secret_key": "AWS_SECRET_ACCESS_KEY",
"redis_meta_data_url": "redis://localhost:6379/2",
"meta_data": {}
}
Typical choice for cost-sensitive archive and off-instance retention.
{
"name": "Backblaze media archive",
"type": "STORAGE_TYPE_BACKBLAZE",
"bucket_url": "https://s3.us-east-005.backblazeb2.com/my-media-bucket",
"access_key": "B2_KEY_ID",
"secret_key": "B2_APPLICATION_KEY",
"redis_meta_data_url": "redis://localhost:6379/2",
"meta_data": {}
}
Create the storage object before enabling recording or export workflows for an event. That way, operators are not entering bucket details during a live production window and every job can point to a known-good destination.
Different buckets usually exist for different reasons: long-term archive, short-term editorial exchange, or final customer delivery. Model those as separate storage objects so permissions, lifecycle rules, and operational ownership stay clear.
When keys or endpoint details change, update the storage object and run a small validation transfer before the next show. Read APIs will confirm the destination exists, but they will not return stored secrets for review.
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.