Instâncias do Projeto
Use estes endpoints para descobrir quais instâncias estão ativas e alterar a quantidade de réplicas de um projeto. Eles são úteis para automações de escala, rotinas de economia e painéis internos de operação.
Headers
| Header | Obrigatório | Descrição |
|---|---|---|
x-api-key | Sim | API Key do projeto |
x-organization-id | Sim | Organização ativa do projeto |
Content-Type: application/json | Sim | Necessário apenas no PATCH |
Listar Instâncias
Retorna os identificadores das instâncias atuais do projeto.
GET /project/:id/instancesParâmetros de Path
| Parâmetro | Tipo | Descrição |
|---|---|---|
id | string | ID do projeto (ObjectId) |
Resposta
{
"status": "success",
"message": "get instances with success",
"data": [
{ "instance": "abc" },
{ "instance": "def" }
]
}Use o valor de instance em chamadas de métricas e logs quando quiser consultar um container específico.
Alterar Quantidade de Instâncias
Altera a quantidade de réplicas do projeto.
PATCH /project/:id/instancesBody
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
instances | number | Sim | Nova quantidade de instâncias. Deve ser um inteiro positivo. |
Exemplo
{
"instances": 3
}Resposta
{
"status": "success",
"message": "project instances changed with success"
}Regras de Operação
| Situação | Resultado |
|---|---|
instances igual ao valor atual | Retorna 200 sem alteração relevante |
instances igual a 0 | Rejeitado. Use Ciclo de Vida para parar o projeto |
| Projeto parado | Rejeitado. Use /resume antes de escalar |
| Plano mensal ou anual | Pode ser rejeitado; escala dinâmica é voltada para pagamento por hora |
Plano db-free | Não permite alteração dinâmica de instâncias |
| MariaDB | Exige exatamente 3 instâncias |
Exemplos
curl
curl -X GET "https://api.zenifra.com/v1/project/507f1f77bcf86cd799439011/instances" \
-H "x-api-key: sua-api-key" \
-H "x-organization-id: sua-organization-id"curl -X PATCH "https://api.zenifra.com/v1/project/507f1f77bcf86cd799439011/instances" \
-H "x-api-key: sua-api-key" \
-H "x-organization-id: sua-organization-id" \
-H "Content-Type: application/json" \
-d '{"instances": 3}'Python
import requests
API_KEY = "sua-api-key"
ORGANIZATION_ID = "sua-organization-id"
PROJECT_ID = "507f1f77bcf86cd799439011"
headers = {"x-api-key": API_KEY, "x-organization-id": ORGANIZATION_ID}
instances = requests.get(
f"https://api.zenifra.com/v1/project/{PROJECT_ID}/instances",
headers=headers
).json()
scale = requests.patch(
f"https://api.zenifra.com/v1/project/{PROJECT_ID}/instances",
headers=headers,
json={"instances": 3}
).json()Erros Comuns
| Código | Motivo provável | Como resolver |
|---|---|---|
400 | instances ausente, inválido ou igual a 0 | Envie um inteiro positivo e use /stop para parar |
404 | Projeto não encontrado | Verifique Project ID, API Key e organização |
409 | Estado ou plano não permite escala dinâmica | Confira se o projeto está rodando e usa pagamento por hora |
500 | Falha operacional ao aplicar escala | Tente novamente ou acione o suporte |
Próximos Passos
- Consulte Métricas e Logs para validar a nova instância.
- Use Ciclo de Vida para parar ou retomar um projeto.
- Veja Armazenamento antes de aumentar instâncias com volumes persistentes.