Editar instância
/v1/instances/{id}desde M11token da instância ou adminQuando usar
Renomeia a instância e define etiquetas e a allowlist de IP do token dela. Só os campos enviados mudam. name aceita o token da própria instância; tags e ip_allowlist exigem o token admin.
- tags: até 20, cada uma com 1 a 40 caracteres (letras minúsculas, dígitos e _ . : -); são guardadas em minúsculas e sem repetição. Servem para filtrar GET /instances e para operações em lote. - ip_allowlist: IPs ou CIDRs (até 100). Vazio ([]) libera qualquer endereço. Fora da lista, o token da instância recebe 403 forbidden em todas as rotas (inclusive /mcp). Atrás de proxy reverso, configure trusted_proxies no servidor, senão o IP visto é o do proxy.
Autenticação
Aceita o token da instância (só a própria instância) ou o token admin. Um token de outra instância recebe 403 forbidden (ou 404 not_found em webhooks de outra instância).
Parâmetros
Caminho
| Nome | Tipo | Descrição |
|---|---|---|
idobrigatório | string | Id da instância (inst_...). |
Corpo (JSON)
| Nome | Tipo | Descrição |
|---|---|---|
name | string | (até 100) |
tags | string[] | |
ip_allowlist | string[] | IPs ou CIDRs. |
Exemplo
curl -s -X PATCH "$LITEZAP_URL/v1/instances/$ID" \ -H "Authorization: Bearer $LITEZAP_TOKEN" \ -d '{"name":"Loja Centro","tags":["vip","sp"],"ip_allowlist":["203.0.113.7","10.0.0.0/8"]}'const res = await fetch("http://localhost:8787/v1/instances/inst_7f3a9c2e5b1d4086", { method: "PATCH", headers: { Authorization: `Bearer ${process.env.LITEZAP_TOKEN}`, "Content-Type": "application/json" }, body: JSON.stringify({ "name": "Loja Centro", "tags": [ "vip", "sp" ], "ip_allowlist": [ "203.0.113.7", "10.0.0.0/8" ] }),});console.log(res.status, res.status === 204 ? "" : await res.json());import osimport requests
r = requests.patch( "http://localhost:8787/v1/instances/inst_7f3a9c2e5b1d4086", headers={"Authorization": f"Bearer {os.environ['LITEZAP_TOKEN']}"}, json={ "name": "Loja Centro", "tags": ["vip", "sp"], "ip_allowlist": ["203.0.113.7", "10.0.0.0/8"], }, timeout=150,)print(r.status_code, r.json() if r.content else "")package main
import ( "fmt" "io" "net/http" "os" "strings")
func main() { req, _ := http.NewRequest("PATCH", "http://localhost:8787/v1/instances/inst_7f3a9c2e5b1d4086", strings.NewReader(`{"name":"Loja Centro","tags":["vip","sp"],"ip_allowlist":["203.0.113.7","10.0.0.0/8"]}`)) req.Header.Set("Authorization", "Bearer "+os.Getenv("LITEZAP_TOKEN")) req.Header.Set("Content-Type", "application/json") resp, err := http.DefaultClient.Do(req) if err != nil { panic(err) } defer resp.Body.Close() out, _ := io.ReadAll(resp.Body) fmt.Println(resp.Status, string(out))}<?phprequire 'vendor/autoload.php'; // composer require guzzlehttp/guzzle
$client = new GuzzleHttp\Client(['base_uri' => 'http://localhost:8787']);$res = $client->request('PATCH', '/v1/instances/inst_7f3a9c2e5b1d4086', [ 'headers' => ['Authorization' => 'Bearer ' . getenv('LITEZAP_TOKEN')], 'json' => [ 'name' => 'Loja Centro', 'tags' => ['vip', 'sp'], 'ip_allowlist' => ['203.0.113.7', '10.0.0.0/8'], ], 'http_errors' => false,]);echo $res->getStatusCode(), ' ', $res->getBody(), PHP_EOL;Nos exemplos, LITEZAP_URL é a URL base (ex.: http://localhost:8787) e o token vem deLITEZAP_TOKEN (instância) ou LITEZAP_ADMIN_TOKEN.
Resposta
200 A instância atualizada.
Campos de Instance
id | string | |
name | string | |
state | InstanceState | |
state_reason | string | Ex.: proxy_unreachable, temp_banned:<duração>. |
phone | string | Número conectado (depois do pareamento). |
tags | string[] | Etiquetas (marco 11). |
ip_allowlist | string[] | CIDRs de onde o token da instância é aceito; vazio = qualquer (marco 11). |
created_at | string | |
updated_at | string |
{ "id": "inst_7f3a9c2e5b1d4086", "name": "Loja Centro", "state": "connected", "phone": "5511999999999", "tags": [ "vip", "sp" ], "ip_allowlist": [ "203.0.113.7/32", "10.0.0.0/8" ], "created_at": "2026-10-17T13:45:00Z", "updated_at": "2026-10-18T09:00:00Z"}Erros
| Código | HTTP | Retentável | O que fazer |
|---|---|---|---|
validation_failed | 400 | não | Corrija o corpo ou os parâmetros; a message diz o campo. |
unauthorized | 401 | não | Envie Authorization: Bearer <token> válido. |
forbidden | 403 | não | Use o token certo (admin, ou o da própria instância). |
instance_not_found | 404 | não | Confira o id da instância. |
Todo erro usa o envelope {"error":{"code","message","retryable"}}. Tabela completa em Erros.
Equivalente na Z-API: Renomear instância. Veja Migrar da Z-API.
Outras operações de Instâncias: Listar instâncias · Criar instância · Consultar instância · Apagar instância · Iniciar worker · Parar worker · Reiniciar worker · Desconectar número · Rotacionar token da instância

