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/image

Alé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âmetroTipoDescrição
idstringID do projeto

Headers

HeaderObrigatórioDescrição
x-api-key ou AuthorizationSimAPI Key da organização ou token de usuário
x-organization-idCom token de usuárioOrganização ativa do projeto. Dispensável com API Key da organização
Content-Type: application/jsonSimNecessário por haver body JSON

Body

CampoTipoObrigatórioDescrição
imagestringSimNome 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

StatusQuando ocorre
400image ausente ou em formato inválido
404Projeto 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

Nessa página