Documentation Index
Fetch the complete documentation index at: https://docs.ryzeapi.cloud/llms.txt
Use this file to discover all available pages before exploring further.
Auth: TokenAccount o TokenInstance • Rate-limit: Global (100/min) • Idempotente: sí
Descripción
Configura el almacenamiento S3 de la instancia. La secretKey es cifrada at-rest y nunca devuelta. Para almacenamiento S3-compatible (MinIO, Backblaze, DO Spaces), rellena endpoint con la URL.
Ejemplos
AWS S3
Apunta el almacenamiento al AWS S3 oficial: bucket ryzeapi-media en us-east-1, con endpoint vacío para usar el dominio default de AWS y prefijo media/myinstance/ para aislar los archivos.
curl -X POST "https://ryzeapi.cloud/api/instance/s3/my-instance" \
-H "token: $Token_Instance" \
-H "Content-Type: application/json" \
-d '{
"enabled": true,
"region": "us-east-1",
"bucket": "ryzeapi-media",
"accessKey": "AKIA...",
"secretKey": "secret-redacted",
"endpoint": "",
"pathPrefix": "media/myinstance/"
}'
MinIO self-hosted
Mismo formato que AWS, pero con endpoint apuntando a un MinIO interno (https://minio.internal.company.com). El mismo patrón funciona para DigitalOcean Spaces, Backblaze B2 y otros almacenamientos S3-compatibles.
curl -X POST "https://ryzeapi.cloud/api/instance/s3/my-instance" \
-H "token: $Token_Instance" \
-H "Content-Type: application/json" \
-d '{
"enabled": true,
"region": "us-east-1",
"bucket": "whatsapp",
"endpoint": "https://minio.internal.company.com",
"accessKey": "minioadmin",
"secretKey": "minioadmin",
"pathPrefix": "ryzeapi/"
}'
Deshabilitar
Envía solo enabled: false para deshabilitar el almacenamiento y eliminar las credenciales de la base de datos. Para volver a habilitar más tarde, todos los campos deben enviarse de nuevo.
curl -X POST "https://ryzeapi.cloud/api/instance/s3/my-instance" \
-H "token: $Token_Instance" \
-H "Content-Type: application/json" \
-d '{"enabled":false}'
Respuesta exitosa
{
"success": true,
"message": "S3 configuration updated",
"s3": {
"enabled": true,
"region": "us-east-1",
"bucket": "ryzeapi-media",
"accessKey": "AKIA...",
"endpoint": "",
"pathPrefix": "media/myinstance/"
}
}
secretKey no aparece en la respuesta, el servidor nunca devuelve la clave en texto plano.
Parámetros de ruta
Cabeceras
TokenAccount o TokenInstance.
Cuerpo de la solicitud
Habilita/deshabilita el S3 de la instancia. false limpia todos los campos.
Región (p. ej., us-east-1).
Nombre del bucket (debe existir; no se realiza creación).
Secret Access Key. Cifrada at-rest.
Endpoint personalizado (MinIO, DO Spaces, Backblaze). Vacío para AWS S3 oficial.
Prefijo de path (p. ej., media/myinstance/).
Notas
No hay testing de credenciales. El endpoint guarda la config sin validar si el bucket existe o si las credenciales funcionan, el error solo aparece cuando el próximo upload de media intenta autenticarse (visible en los logs del servidor).
Deshabilitar (enabled=false) elimina las credenciales de la base de datos. Para volver a habilitar más tarde, todos los campos deben enviarse de nuevo.
Errores
| HTTP | error.message | Cuándo |
|---|
| 400 | Invalid request body | JSON malformado. |
| 401 | Invalid token | Token faltante o inválido. |
| 404 | Instance not found | Nombre no existe. |
| 429 | Rate limit exceeded. Try again later. | Más de 100 req/min. |
| 500 | Failed to update S3 configuration | Error de base de datos. |
{
"success": false,
"error": {
"message": "Failed to update S3 configuration"
}
}