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 ou TokenInstance • Rate-limit: Global (100/min) • Idempotente: sim
Descrição
Configura o storage S3 da instância. secretKey é encriptado at-rest e nunca retornado. Para storage compatível com S3 (MinIO, Backblaze, DO Spaces), preencha endpoint com a URL.
Exemplos
AWS S3
Aponta o storage para AWS S3 oficial: bucket ryzeapi-media em us-east-1, com endpoint vazio para usar o domínio padrão da AWS e prefixo media/myinstance/ para isolar os arquivos.
curl -X POST "https://ryzeapi.cloud/api/instance/s3/minha-instancia" \
-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
Mesmo formato do AWS, mas com endpoint apontando para um MinIO interno (https://minio.interno.empresa.com). O mesmo padrão funciona para DigitalOcean Spaces, Backblaze B2 e outros storages compatíveis com S3.
curl -X POST "https://ryzeapi.cloud/api/instance/s3/minha-instancia" \
-H "token: $Token_Instance" \
-H "Content-Type: application/json" \
-d '{
"enabled": true,
"region": "us-east-1",
"bucket": "whatsapp",
"endpoint": "https://minio.interno.empresa.com",
"accessKey": "minioadmin",
"secretKey": "minioadmin",
"pathPrefix": "ryzeapi/"
}'
Desabilitar
Envia apenas enabled: false para desativar o storage e apagar as credenciais do banco. Para reabilitar depois é necessário reenviar todos os campos novamente.
curl -X POST "https://ryzeapi.cloud/api/instance/s3/minha-instancia" \
-H "token: $Token_Instance" \
-H "Content-Type: application/json" \
-d '{"enabled":false}'
Resposta de sucesso
{
"success": true,
"message": "S3 configuration updated",
"s3": {
"enabled": true,
"region": "us-east-1",
"bucket": "ryzeapi-media",
"accessKey": "AKIA...",
"endpoint": "",
"pathPrefix": "media/myinstance/"
}
}
secretKey não aparece na resposta, o servidor nunca devolve a chave em plaintext.
Path parameters
TokenAccount ou TokenInstance.
Request body
Ativa/desativa o S3 da instância. false zera todos os campos.
Nome do bucket (deve existir, não há criação).
Secret Access Key. Encriptada at-rest.
Endpoint custom (MinIO, DO Spaces, Backblaze). Vazio para AWS S3 oficial.
Prefixo de path (ex.: media/myinstance/).
Notas
Não há teste de credenciais. O endpoint salva a config sem validar se o bucket existe ou se as credenciais funcionam, o erro só aparece quando o próximo upload de mídia tentar autenticar (visível nos logs do servidor).
Desabilitar (enabled=false) apaga as credenciais do banco. Para reabilitar depois, é necessário reenviar todos os campos.
Erros
| HTTP | error.message | Quando |
|---|
| 400 | Invalid request body | JSON malformado. |
| 401 | Invalid token | Token ausente ou inválido. |
| 404 | Instance not found | Nome não existe. |
| 429 | Rate limit exceeded. Try again later. | Mais de 100 req/min. |
| 500 | Failed to update S3 configuration | Erro de banco. |
{
"success": false,
"error": {
"message": "Failed to update S3 configuration"
}
}