Cofres e páginas
Listar cofres, listar e ler páginas, criar, editar e mandar para a lixeira.
Todos os caminhos começam em https://wire.ia.br/api/v1. Os exemplos usam $PAPER_TOKEN e $PAPER_CONTA como variáveis de ambiente.
Listar cofres
GET /vaultsDevolve só os cofres que o token alcança. Com token normal, só aparecem cofres sincronizados com o Google Drive. Com token seguro, aparece só a cópia dele.
[
{ "id": "principal", "nome": "Meu caderno", "acesso": "editar", "copia": false },
{ "id": "cmg2k1x9a4tz", "nome": "Trabalho", "acesso": "ler", "copia": false }
]O cofre principal sempre tem o id principal. Cópias para IA têm ids no formato copia- seguido de 16 caracteres.
Listar páginas
GET /vaults/{cofre}/pages
GET /vaults/{cofre}/pages?parent={id}
GET /vaults/{cofre}/pages?parent=Sem parent, devolve todas as páginas e pastas do cofre. Com parent={id}, só as que estão dentro daquela página ou pasta. Com parent= vazio, só as da raiz.
[
{ "id": "pa1k2m3n4o5p", "title": "Reunião de segunda", "parentId": null, "kind": "pagina", "updatedAt": "2026-10-01T14:03:11.000Z" },
{ "id": "pb7q8r9s0t1u", "title": "Projetos", "parentId": null, "kind": "pasta", "updatedAt": "2026-09-28T10:00:00.000Z" }
]| Campo | O que é |
|---|---|
id | Id da página. É o mesmo no app, no Drive e na API. |
title | Título. |
parentId | Página ou pasta onde ela está. null na raiz. |
kind | pagina (tem texto) ou pasta (só agrupa). |
updatedAt | Última mudança, em ISO 8601. |
locked | true em páginas protegidas. Elas só aparecem na lista se o token puder ver o título delas. |
Ler uma página
GET /vaults/{cofre}/pages/{id}
GET /vaults/{cofre}/pages/{id}?format=md{
"id": "pa1k2m3n4o5p",
"title": "Reunião de segunda",
"parentId": null,
"kind": "pagina",
"updatedAt": "2026-10-01T14:03:11.000Z",
"markdown": "## Pauta\n\n- [ ] Revisar orçamento @2026-10-06 10:00\n- [x] Mandar ata",
"props": { "tags": "trabalho" }
}Com ?format=md, a resposta é só o texto em Markdown (text/markdown), começando pelo título. Bom para colar direto numa IA.
props traz as propriedades do frontmatter da página. O formato do Markdown está em Formato das páginas.
Página protegida por senha responde 423, sempre.
Criar uma página ou pasta
POST /vaults/{cofre}/pages
Content-Type: application/json{
"title": "Ideias para o fim de semana",
"markdown": "- Trilha no sábado\n- [ ] Comprar pão",
"parentId": "pb7q8r9s0t1u",
"kind": "pagina"
}| Campo | Obrigatório | Regras |
|---|---|---|
title | Não | Até 200 caracteres. Vazio vira "Sem título". |
markdown | Não | Até 1 MB. Ignorado em pastas. |
parentId | Não | Id de uma página ou pasta do mesmo cofre. |
kind | Não | pagina (padrão) ou pasta. |
Resposta:
{ "id": "pc2v3w4x5y6z", "title": "Ideias para o fim de semana", "kind": "pagina" }Precisa de permissão Ler e editar no cofre. A página aparece no app da pessoa na próxima sincronização.
Editar uma página
PATCH /vaults/{cofre}/pages/{id}
Content-Type: application/jsonMande um ou mais destes campos:
| Campo | O que faz |
|---|---|
title | Troca o título. |
markdown | Troca o texto inteiro. |
append | Acrescenta texto no fim, depois de uma linha em branco. |
{ "append": "## Atualização\n\nO orçamento foi aprovado." }Prefira append sempre que der. Ele não apaga nada que a pessoa escreveu enquanto o seu programa trabalhava.
Pastas não têm texto: PATCH numa pasta com markdown ou append responde 400.
Mandar para a lixeira
DELETE /vaults/{cofre}/pages/{id}{ "ok": true, "lixeira": true }A página vai para a lixeira do Google Drive da pessoa, e dá para recuperar de lá. Em cópias para IA, a página fica marcada como apagada até a pessoa revisar.
Quando o app vê as mudanças
Com token normal, a mudança vai direto para o Google Drive. O app da pessoa traz na próxima sincronização, que acontece ao abrir o app, ao voltar para a aba e de tempos em tempos. Se a pessoa mexeu na mesma página no aparelho ao mesmo tempo, nada se perde: uma das versões vira uma cópia "(outra versão)".