Workspace
Criar chave de API
Cria uma chave de API com escopos e allowlist de IP opcional.
Sessão do painel
Sessão + CSRF
Exemplo de requisição
curl -X POST "https://seu-dominio/tenant/api-keys" \
-H "Cookie: vertice_session=..." \
-H "x-csrf-token: ..." \
-H "content-type: application/json" \
-d '{"name":"Integração CRM","scopes":["read","write"],"allowedIps":[]}'
const response = await fetch('https://seu-dominio/tenant/api-keys', {
method: 'POST',
headers: {
credentials: 'include',
'x-csrf-token': '<csrf-token>',
'content-type': 'application/json',
},
body: JSON.stringify({
"name": "Integração CRM",
"scopes": [
"read",
"write"
],
"allowedIps": []
}),
});
const payload = await response.json();
console.log(payload);
Entenda
Conceituação
Cria uma chave de API com escopos e allowlist de IP opcional. O valor completo é retornado uma única vez.
Toda escrita por sessão exige o header x-csrf-token correspondente ao cookie vertice_csrf.
Corpo JSON. Os campos abaixo são exemplos; campos marcados como obrigatórios precisam ser enviados.
Contrato
Atributos
Header
Cookie
string
obrigatório
Cookie vertice_session emitido no login.
x-csrf-token
string
obrigatório
Token CSRF do cookie vertice_csrf, exigido em métodos de escrita.
content-type
string
obrigatório
application/json.
Body
name
string
obrigatório
Nome exibido do recurso, contato, enquete ou grupo.
scopes
array<string>
opcional
Escopos da chave: read e/ou write.
allowedIps
array
opcional
IPs ou CIDRs autorizados. Vazio libera qualquer origem.
Payload
Request Body
{
"name": "Integração CRM",
"scopes": [
"read",
"write"
],
"allowedIps": []
}
Contrato
201
Resposta
{
"data": {
"ok": true
}
}
Respostas de sucesso são envelopadas em data.
Erros comuns
400
Corpo, query ou parâmetro inválido. A resposta traz error.code e error.message.
401
Credencial ausente, inválida ou sessão expirada.
403
Papel insuficiente ou workspace suspenso.