Atualizar Imagem de Deploy
Atualiza a imagem Docker do projeto para iniciar um novo deploy.
Permissões necessárias
O escopo mínimo é project.image.update em project:<project-id>. A sessão de usuário owner tem acesso completo; assistant, member e API Key da organização precisam desse grant específico.
PATCH /v1/project/:id/imageAlém das rotas de ambientes de preview com opt-in, esta é a única rota que ainda aceita a chave legada do projeto. Limite de requisições: 10 por minuto (contado por IP de origem).
Parâmetros de Path
| Parâmetro | Tipo | Descrição |
|---|---|---|
id | string | ID do projeto |
Headers
| Header | Obrigatório | Descrição |
|---|---|---|
x-api-key ou Authorization | Sim | API Key da organização ou token de usuário |
x-organization-id | Com token de usuário | Organização ativa do projeto. Dispensável com API Key da organização |
Content-Type: application/json | Sim | Necessário por haver body JSON |
Body
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
image | string | Sim | Nome da imagem Docker com registry e tag (ex: docker.io/library/nginx:1.27.3, myregistry.com/myapp:v1.0). Importante: Sempre use uma tag específica e imutável (como v1.0.0) em vez de latest para evitar obter imagens diferentes inesperadamente. Tamanho de 8 a 256 caracteres; referências que começam com http:// ou https:// são rejeitadas. |
Exemplo
{
"image": "docker.io/library/nginx:1.27.3"
}Resposta
{
"status": "success",
"message": "updated with success"
}Erros
| Status | Quando ocorre |
|---|---|
400 | image ausente ou em formato inválido |
404 | Projeto não encontrado |
Exemplos
curl
curl -X PATCH "https://api.zenifra.com/v1/project/507f1f77bcf86cd799439011/image" \
-H "x-api-key: sua-api-key" \
-H "x-organization-id: sua-organization-id" \
-H "Content-Type: application/json" \
-d '{"image": "docker.io/library/nginx:1.27.3"}'Python
import requests
API_KEY = "sua-api-key"
ORGANIZATION_ID = "sua-organization-id"
PROJECT_ID = "507f1f77bcf86cd799439011"
response = requests.patch(
f"https://api.zenifra.com/v1/project/{PROJECT_ID}/image",
headers={"x-api-key": API_KEY, "x-organization-id": ORGANIZATION_ID},
json={"image": "docker.io/library/nginx:1.27.3"}
)
print(response.json())Node.js
const axios = require('axios');
const API_KEY = 'sua-api-key';
const ORGANIZATION_ID = 'sua-organization-id';
const PROJECT_ID = '507f1f77bcf86cd799439011';
axios.patch(
`https://api.zenifra.com/v1/project/${PROJECT_ID}/image`,
{ image: 'docker.io/library/nginx:1.27.3' },
{ headers: { 'x-api-key': API_KEY, 'x-organization-id': ORGANIZATION_ID } }
).then(res => console.log(res.data));Última atualização em
Conexões privadas — API
Consulte o mapa de conexões, crie e remova conexões privadas direcionais entre aplicações, Jobs, bancos de dados e cache e salve o layout por organização e usuário.
Histórico de Deployments
Consulte o histórico mensal de deployments de um projeto Zenifra via API com autenticação por API Key e organização ativa.