Instance
Update S3
Sets S3 credentials and bucket for storing instance media
POST
Update S3
Auth:
TokenAccount or TokenInstance • Rate-limit: Global (100/min) • Idempotent: yes
Description
Configures the S3 storage of the instance.secretKey is encrypted at-rest and never returned. For S3-compatible storage (MinIO, Backblaze, DO Spaces), fill endpoint with the URL.
Examples
AWS S3
Points storage to official AWS S3: bucketryzeapi-media in us-east-1, with endpoint empty to use AWS’s default domain and prefix media/myinstance/ to isolate the files.
Self-hosted MinIO
Same format as AWS, but withendpoint pointing to an internal MinIO (https://minio.internal.company.com). The same pattern works for DigitalOcean Spaces, Backblaze B2, and other S3-compatible storage.
Disable
Sends onlyenabled: false to disable the storage and delete the credentials from the database. To re-enable later, all fields must be sent again.
Success response
200 OK
secretKey does not appear in the response, the server never returns the key in plaintext.Path parameters
Instance name.
Headers
TokenAccount or TokenInstance.
application/json.Request body
Enables/disables the instance S3.
false clears all fields.Region (e.g.,
us-east-1).Bucket name (must exist; no creation is performed).
Access Key ID.
Secret Access Key. Encrypted at-rest.
Custom endpoint (MinIO, DO Spaces, Backblaze). Empty for official AWS S3.
Path prefix (e.g.,
media/myinstance/).Notes
Disabling (
enabled=false) deletes the credentials from the database. To re-enable later, all fields must be sent again.Errors
| HTTP | error.message | When |
|---|---|---|
| 400 | Invalid request body | Malformed JSON. |
| 401 | Invalid token | Token missing or invalid. |
| 404 | Instance not found | Name does not exist. |
| 429 | Rate limit exceeded. Try again later. | More than 100 req/min. |
| 500 | Failed to update S3 configuration | Database error. |