API do MyNotes

Crie e edite páginas do MyNotes direto de um agente de IA (Claude, ChatGPT) ou de uma automação — sem abrir o app. Você controla tudo com chaves criadas em MyNotes → Configurações → API pública.

É uma IA que vai usar?

Duas formas de ensinar um agente a usar esta API sem trabalho manual:

  1. 1. Aponte para o arquivo de referência. É um .md legível por máquina com tudo (endpoints, schemas, erros): https://theo.beadev.ai/api/v1/reference
  2. 2. Cole o prompt pronto (logo abaixo, em Prompt de agente) e troque {SUA_CHAVE} pela sua chave.

Autenticação

Toda requisição precisa do header Authorization: Bearer SUA_CHAVE. A chave aparece uma única vez, na criação. Cada chave tem escopo (leitura ou leitura+escrita) e pode ser restrita a pastas. Revogue a qualquer momento nas Configurações.

Authorization: Bearer mnk_live_xxxxxxxxxxxxxxxxxxxxxxxx

Base

Todas as URLs começam em https://theo.beadev.ai/api/v1. Respostas em JSON. Limite de 60 requisições por minuto por chave.

Endpoints

POST/api/v1/pages— cria uma página
PATCH/api/v1/pages/{id}— atualiza (replace/append)
GET/api/v1/pages/{id}— lê a página como Markdown
GET/api/v1/pages?query=— busca páginas por título
GET/api/v1/folders— lista a árvore de pastas
GET/api/v1/reference— esta referência em Markdown (sem auth)

Criar uma página

Mande o conteúdo em Markdown — títulos, listas, negrito, tabelas, citações, divisores e checklists são convertidos nos blocos do MyNotes (mesmo motor do “Montar report com IA”). O destino é o id de uma pasta OU um caminho por títulos.

curl -X POST https://theo.beadev.ai/api/v1/pages \
  -H "Authorization: Bearer $MYNOTES_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Relatório semanal",
    "folder": "Loot Studios/1 - Operações",
    "markdown": "# Resumo\n\n- Vendas **+12%**\n- 3 pendências\n\n## Próximos passos\n1. Fechar orçamento\n2. Revisar campanha"
  }'

# resposta 201:
# { "id": "…", "title": "Relatório semanal",
#   "url": "https://theo.beadev.ai/app/mynotes?p=…", "folderId": "…" }

Atualizar

mode: "replace" (padrão) troca todo o conteúdo; mode: "append" acrescenta no fim, preservando o que já existe.

curl -X PATCH https://theo.beadev.ai/api/v1/pages/PAGE_ID \
  -H "Authorization: Bearer $MYNOTES_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "mode": "append", "markdown": "\n## Atualização\nTudo certo por aqui." }'

# resposta 200: { "id": "…", "url": "…", "mode": "append" }

Ler / buscar / pastas

# Ler como Markdown
curl https://theo.beadev.ai/api/v1/pages/PAGE_ID -H "Authorization: Bearer $MYNOTES_KEY"
# → { "id":"…","title":"…","kind":"doc","markdown":"# …","apiAuthor":"…","url":"…" }

# Buscar por título (sem query = 25 mais recentes)
curl "https://theo.beadev.ai/api/v1/pages?query=relatório" -H "Authorization: Bearer $MYNOTES_KEY"
# → { "pages": [ { "id":"…","title":"…","kind":"doc","url":"…" } ] }

# Árvore de pastas (id + caminho, use o "path" no campo folder do POST)
curl https://theo.beadev.ai/api/v1/folders -H "Authorization: Bearer $MYNOTES_KEY"
# → { "folders": [ { "id":"…","title":"…","path":"…","children":[…] } ] }

Prompt de agente

Cole num agente com acesso a requisições HTTP e troque {SUA_CHAVE} pela chave criada nas Configurações. Ele já descreve todas as operações:

Você tem acesso à API do MyNotes (theo) para criar e editar páginas de anotações.

- Base: https://theo.beadev.ai/api/v1
- Autenticação: cabeçalho "Authorization: Bearer {SUA_CHAVE}" em TODA requisição.
- Referência completa (leia se precisar de detalhes): https://theo.beadev.ai/api/v1/reference

Operações:
- Criar página:   POST https://theo.beadev.ai/api/v1/pages
    corpo JSON: { "title": "Título", "markdown": "conteúdo em Markdown", "folder": "Pasta/Subpasta" }
    (folder é opcional: id de pasta OU caminho por títulos "A/B/C"; ausente = raiz)
    resposta: { "id": "...", "url": "https://...", "title": "..." }
- Atualizar:      PATCH https://theo.beadev.ai/api/v1/pages/{id}
    corpo JSON: { "markdown": "...", "mode": "replace" }   // ou "append" pra acrescentar no fim
- Ler (Markdown): GET https://theo.beadev.ai/api/v1/pages/{id}
- Buscar título:  GET https://theo.beadev.ai/api/v1/pages?query=texto
- Listar pastas:  GET https://theo.beadev.ai/api/v1/folders

Regras: o conteúdo é Markdown (títulos #/##, listas, **negrito**, tabelas, citações >, divisores ---, checklists - [ ]). Limite de 60 requisições por minuto. Sempre devolva a "url" da página ao usuário. Em caso de erro, a resposta é { "error": { "code": "...", "message": "..." } }.

Erros

Sempre no formato { "error": { "code": "…", "message": "…" } }. Os principais:

HTTPcodequando
401no_token / invalid_keysem header, ou chave inválida/revogada
403scope / folder_scopechave só-leitura, ou alvo fora das pastas permitidas
404not_found / folder_not_foundpágina ou pasta inexistente
422not_a_doca página não é de texto (é diagrama/base)
429rate_limitedmais de 60 requisições por minuto

Regras

feito com theo · abrir o MyNotes