Cofre de senhas e arquivos
Senhas e arquivos da loja com acesso por usuário. O escopo “Somente leitura” das chaves de API não inclui o cofre; use escopo personalizado ou “Igual ao meu usuário” se a integração realmente precisar. Cada item só é visível para quem o criou e para os usuários da lista de acesso.
Base: https://api.nivesistemas.com.br · 10 endpoints
GET /vault/users
Seção intitulada “GET /vault/users”Usuários que podem receber acesso a itens
curl -X GET "https://api.nivesistemas.com.br/vault/users" \ -H "Authorization: Bearer sl_live_exemplo_abc123xyz789" \ -H "X-Store-Slug: loja-demo"const res = await fetch("https://api.nivesistemas.com.br/vault/users", { method: "GET", headers: { Authorization: "Bearer sl_live_exemplo_abc123xyz789", "X-Store-Slug": "loja-demo", },});const data = await res.json();import requests
res = requests.request( "GET", "https://api.nivesistemas.com.br/vault/users", headers={ "Authorization": "Bearer sl_live_exemplo_abc123xyz789", "X-Store-Slug": "loja-demo", },)print(res.json())GET /vault/items
Seção intitulada “GET /vault/items”Listar itens visíveis (sem o segredo)
Query params
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
q |
string | não | Busca |
kind |
string | não | PASSWORD ou FILE |
curl -X GET "https://api.nivesistemas.com.br/vault/items" \ -H "Authorization: Bearer sl_live_exemplo_abc123xyz789" \ -H "X-Store-Slug: loja-demo"const res = await fetch("https://api.nivesistemas.com.br/vault/items", { method: "GET", headers: { Authorization: "Bearer sl_live_exemplo_abc123xyz789", "X-Store-Slug": "loja-demo", },});const data = await res.json();import requests
res = requests.request( "GET", "https://api.nivesistemas.com.br/vault/items", headers={ "Authorization": "Bearer sl_live_exemplo_abc123xyz789", "X-Store-Slug": "loja-demo", },)print(res.json())GET /vault/items/:id
Seção intitulada “GET /vault/items/:id”Detalhe do item (sem o segredo)
Parâmetros de rota: id
curl -X GET "https://api.nivesistemas.com.br/vault/items/{id}" \ -H "Authorization: Bearer sl_live_exemplo_abc123xyz789" \ -H "X-Store-Slug: loja-demo"const res = await fetch("https://api.nivesistemas.com.br/vault/items/{id}", { method: "GET", headers: { Authorization: "Bearer sl_live_exemplo_abc123xyz789", "X-Store-Slug": "loja-demo", },});const data = await res.json();import requests
res = requests.request( "GET", "https://api.nivesistemas.com.br/vault/items/{id}", headers={ "Authorization": "Bearer sl_live_exemplo_abc123xyz789", "X-Store-Slug": "loja-demo", },)print(res.json())POST /vault/items
Seção intitulada “POST /vault/items”Criar senha
Corpo (JSON)
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
title |
string | sim | Nome |
secret |
string | sim | Senha (guardada criptografada) |
username |
string | não | Usuário/login |
url |
string | não | Endereço |
notes |
string | não | Observações |
access |
array | não | [{ userId, canEdit }] |
Resposta: 201 Created. Exige permissão de gerenciar o cofre.
curl -X POST "https://api.nivesistemas.com.br/vault/items" \ -H "Authorization: Bearer sl_live_exemplo_abc123xyz789" \ -H "X-Store-Slug: loja-demo" \ -H "Content-Type: application/json" \ -d '{"title":"","secret":"","username":"","url":"","notes":"","access":[]}'const res = await fetch("https://api.nivesistemas.com.br/vault/items", { method: "POST", headers: { Authorization: "Bearer sl_live_exemplo_abc123xyz789", "X-Store-Slug": "loja-demo", "Content-Type": "application/json", }, body: JSON.stringify({ "title": "", "secret": "", "username": "", "url": "", "notes": "", "access": [] }),});const data = await res.json();import requests
res = requests.request( "POST", "https://api.nivesistemas.com.br/vault/items", headers={ "Authorization": "Bearer sl_live_exemplo_abc123xyz789", "X-Store-Slug": "loja-demo", }, json={ "title": "", "secret": "", "username": "", "url": "", "notes": "", "access": [] },)print(res.json())POST /vault/files
Seção intitulada “POST /vault/files”Enviar arquivo (multipart/form-data, campo file, até 10 MB)
Corpo (JSON)
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
file |
file | sim | Arquivo |
title |
string | não | Nome |
notes |
string | não | Observações |
access |
string | não | JSON [{ userId, canEdit }] |
Resposta: 201 Created. Exige permissão de gerenciar o cofre.
curl -X POST "https://api.nivesistemas.com.br/vault/files" \ -H "Authorization: Bearer sl_live_exemplo_abc123xyz789" \ -H "X-Store-Slug: loja-demo" \ -H "Content-Type: application/json" \ -d '{"file":null,"title":"","notes":"","access":""}'const res = await fetch("https://api.nivesistemas.com.br/vault/files", { method: "POST", headers: { Authorization: "Bearer sl_live_exemplo_abc123xyz789", "X-Store-Slug": "loja-demo", "Content-Type": "application/json", }, body: JSON.stringify({ "file": null, "title": "", "notes": "", "access": "" }),});const data = await res.json();import requests
res = requests.request( "POST", "https://api.nivesistemas.com.br/vault/files", headers={ "Authorization": "Bearer sl_live_exemplo_abc123xyz789", "X-Store-Slug": "loja-demo", }, json={ "file": None, "title": "", "notes": "", "access": "" },)print(res.json())POST /vault/items/:id/reveal
Seção intitulada “POST /vault/items/:id/reveal”Revelar a senha — retorna { secret } e registra no log de atividade
Parâmetros de rota: id
curl -X POST "https://api.nivesistemas.com.br/vault/items/{id}/reveal" \ -H "Authorization: Bearer sl_live_exemplo_abc123xyz789" \ -H "X-Store-Slug: loja-demo"const res = await fetch("https://api.nivesistemas.com.br/vault/items/{id}/reveal", { method: "POST", headers: { Authorization: "Bearer sl_live_exemplo_abc123xyz789", "X-Store-Slug": "loja-demo", },});const data = await res.json();import requests
res = requests.request( "POST", "https://api.nivesistemas.com.br/vault/items/{id}/reveal", headers={ "Authorization": "Bearer sl_live_exemplo_abc123xyz789", "X-Store-Slug": "loja-demo", },)print(res.json())GET /vault/items/:id/file
Seção intitulada “GET /vault/items/:id/file”Baixar o arquivo (sempre como download)
Parâmetros de rota: id
curl -X GET "https://api.nivesistemas.com.br/vault/items/{id}/file" \ -H "Authorization: Bearer sl_live_exemplo_abc123xyz789" \ -H "X-Store-Slug: loja-demo"const res = await fetch("https://api.nivesistemas.com.br/vault/items/{id}/file", { method: "GET", headers: { Authorization: "Bearer sl_live_exemplo_abc123xyz789", "X-Store-Slug": "loja-demo", },});const data = await res.json();import requests
res = requests.request( "GET", "https://api.nivesistemas.com.br/vault/items/{id}/file", headers={ "Authorization": "Bearer sl_live_exemplo_abc123xyz789", "X-Store-Slug": "loja-demo", },)print(res.json())PUT /vault/items/:id/file
Seção intitulada “PUT /vault/items/:id/file”Substituir o arquivo (multipart, campo file)
Parâmetros de rota: id
curl -X PUT "https://api.nivesistemas.com.br/vault/items/{id}/file" \ -H "Authorization: Bearer sl_live_exemplo_abc123xyz789" \ -H "X-Store-Slug: loja-demo"const res = await fetch("https://api.nivesistemas.com.br/vault/items/{id}/file", { method: "PUT", headers: { Authorization: "Bearer sl_live_exemplo_abc123xyz789", "X-Store-Slug": "loja-demo", },});const data = await res.json();import requests
res = requests.request( "PUT", "https://api.nivesistemas.com.br/vault/items/{id}/file", headers={ "Authorization": "Bearer sl_live_exemplo_abc123xyz789", "X-Store-Slug": "loja-demo", },)print(res.json())PATCH /vault/items/:id
Seção intitulada “PATCH /vault/items/:id”Atualizar item (título, usuário, URL, senha, observações, acesso)
Parâmetros de rota: id
curl -X PATCH "https://api.nivesistemas.com.br/vault/items/{id}" \ -H "Authorization: Bearer sl_live_exemplo_abc123xyz789" \ -H "X-Store-Slug: loja-demo"const res = await fetch("https://api.nivesistemas.com.br/vault/items/{id}", { method: "PATCH", headers: { Authorization: "Bearer sl_live_exemplo_abc123xyz789", "X-Store-Slug": "loja-demo", },});const data = await res.json();import requests
res = requests.request( "PATCH", "https://api.nivesistemas.com.br/vault/items/{id}", headers={ "Authorization": "Bearer sl_live_exemplo_abc123xyz789", "X-Store-Slug": "loja-demo", },)print(res.json())DELETE /vault/items/:id
Seção intitulada “DELETE /vault/items/:id”Excluir item
Parâmetros de rota: id
Resposta: 204 No Content
curl -X DELETE "https://api.nivesistemas.com.br/vault/items/{id}" \ -H "Authorization: Bearer sl_live_exemplo_abc123xyz789" \ -H "X-Store-Slug: loja-demo"const res = await fetch("https://api.nivesistemas.com.br/vault/items/{id}", { method: "DELETE", headers: { Authorization: "Bearer sl_live_exemplo_abc123xyz789", "X-Store-Slug": "loja-demo", },});const data = await res.json();import requests
res = requests.request( "DELETE", "https://api.nivesistemas.com.br/vault/items/{id}", headers={ "Authorization": "Bearer sl_live_exemplo_abc123xyz789", "X-Store-Slug": "loja-demo", },)print(res.json())
