Desenvolvedores

Construa sobre as suas próprias
notas de reunião.

Três superfícies, uma só credencial: uma API REST para notas e pastas, webhooks assinados para eventos de notas e tarefas, e um servidor MCP com que as suas ferramentas de IA falam diretamente.

Autenticação

Uma chave, criada nas Configurações.

Um administrador do espaço de trabalho cria uma chave em Configurações, depois Integrações, depois Webhooks de saída. A chave aparece uma única vez, na criação, e só o hash fica guardado: uma cópia perdida não se recupera. Envie-a como token bearer ou num cabeçalho X-API-Key.

curl https://api.reline.so/api/zapier/me \
  -H "Authorization: Bearer rlk_your_key_here"

# X-API-Key: rlk_your_key_here works too

Até onde uma chave chega

Uma chave age em nome do administrador que a criou, dentro desse único espaço de trabalho. Cada leitura e cada escrita passa pelas mesmas verificações de permissão que essa pessoa tem no aplicativo, por isso uma chave nunca alcança uma nota privada que o dono já não pudesse abrir.

Revogar uma chave

Revogar bloqueia a chave já no pedido seguinte e apaga todas as assinaturas de webhook que ela criou. Os recetores deixam de receber eventos no mesmo instante, sem período de tolerância.

REST

Seis endpoints sobre notas e pastas.

As respostas são JSON. As falhas chegam com um estado 4xx e um campo a descrever o que correu mal.

https://api.reline.so

MétodoEndpointO que faz
GET/api/zapier/meResolve a chave para um espaço de trabalho e uma pessoa. Use para conferir uma credencial.
GET/api/zapier/notesAs notas recentes que pode ver, as mais novas primeiro. Restrinja a uma pasta com folderId.
POST/api/zapier/notesCria uma nota, opcionalmente dentro de uma pasta onde tenha permissão de escrita.
GET/api/zapier/foldersAs pastas que pode ver. Passe level=edit para ficar só com aquelas onde pode escrever.
POST/api/zapier/subscribeRegista uma assinatura de webhook para um evento, opcionalmente limitada a uma pasta.
DELETE/api/zapier/subscribeRemove uma assinatura pelo id devolvido quando foi criada.
curl -X POST https://api.reline.so/api/zapier/notes \
  -H "Authorization: Bearer rlk_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{"title":"Kickoff call","description":"Agenda + owners"}'

# 201 -> { "id": "...", "title": "Kickoff call", "url": "https://..." }

O objeto nota

O mesmo formato volta do endpoint de notas e viaja na carga útil de cada webhook, por isso um campo que mapeia uma vez encaixa em todo o lado. Os campos de resumo e de tarefas viajam com os eventos que os carregam.

{
  "id": "j57...",
  "noteId": "j57...",
  "title": "Kickoff call",
  "url": "https://app.reline.so/acme/notes/j57...",
  "folderId": "k21..." | null,
  "folderName": "Clients" | null,
  "isArchived": false,
  "createdAt": 1788302403777,
  "updatedAt": 1788302911204
}
Webhooks

Seis eventos, assinados à saída.

Assine nas Configurações ou pela API. Cada entrega é um POST com um único evento. Limite uma assinatura a uma pasta para estreitar o que a acorda.

Eventos

note.created
Uma nota foi criada, por uma pessoa, pelo calendário ou pela API.
note.summarized
Um resumo acabou de ser gerado. Editá-lo depois não dispara o evento outra vez.
note.archived
Uma nota foi para o lixo. Apenas a nota tocada diretamente, nunca uma cascata.
note.restored
Uma nota saiu do lixo.
action_items.extracted
Foram extraídas tarefas de uma nota, entregues num lote com a lista completa do momento.
action_item.completed
Alguém marcou uma tarefa como feita.

A entrega

Três cabeçalhos viajam com o corpo: o nome do evento, um id de entrega único e a assinatura.

POST https://your-endpoint.example.com
X-Reline-Event:     note.summarized
X-Reline-Delivery:  9f3c...
X-Reline-Signature: t=1788302403,v1=6b8a...

{
  "id": "9f3c...",
  "event": "note.summarized",
  "occurredAt": 1788302403777,
  "workspace": { "id": "w1...", "slug": "acme", "name": "Acme" },
  "data": { "noteId": "j57...", "summary": "# Kickoff\n..." }
}

Verificar uma entrega

A assinatura é um HMAC-SHA256 sobre o carimbo temporal e o corpo em bruto, unidos por um ponto, com o segredo de assinatura mostrado ao criar a assinatura. Calcule-a sobre os bytes recebidos, antes de fazer parse do JSON, e compare em tempo constante.

import crypto from 'node:crypto'

// `raw` is the request body as received — verify BEFORE JSON.parse.
function verify(raw: string, header: string, secret: string): boolean {
  const parts = Object.fromEntries(header.split(',').map((p) => p.split('=')))
  const expected = crypto
    .createHmac('sha256', secret)
    .update(`${parts.t}.${raw}`)
    .digest('hex')
  if (typeof parts.v1 !== 'string' || parts.v1.length !== expected.length) return false
  return crypto.timingSafeEqual(Buffer.from(expected), Buffer.from(parts.v1))
}

Quando um recetor falha

As entregas são repetidas, e uma assinatura que falha vezes seguidas é desligada sozinha em vez de ser repetida para sempre. O último estado e o último erro de cada hook aparecem nas Configurações.

MCP

Aponte uma ferramenta de IA ao seu espaço de trabalho.

O servidor fala Model Context Protocol sobre HTTP, por isso funciona no claude.ai, no ChatGPT, no Claude Code, no Cursor e em qualquer cliente que suporte o protocolo. Entre com OAuth, ou envie a mesma chave do espaço de trabalho como token bearer.

https://mcp.reline.so/mcp

claude mcp add --transport http reline https://mcp.reline.so/mcp

# or authenticate a plain HTTP client with the same workspace key:
#   Authorization: Bearer rlk_your_key_here

As ferramentas paginadas devolvem um cursor. Uma página curta não quer dizer o fim; só um cursor nulo quer.

Leitura

  • search
  • fetch
  • get_note
  • get_transcript
  • list_notes
  • count_notes
  • list_meetings
  • list_recent_meetings
  • list_folders
  • list_people
  • list_calendar_events
  • list_action_items
  • list_workspaces
  • get_workspace_info

Escrita

  • create_note
  • append_to_note
  • update_note
  • create_folder
  • complete_action_item
Limites

Os números que vale a pena saber.

120 pedidos por minuto

Contados por chave numa janela fixa de um minuto. Passar disso devolve um 429 até a janela avançar.

10 chaves ativas por espaço de trabalho

As revogadas não contam. Crie uma por integração e poderá retirá-las uma de cada vez.

Só administradores

Criar e revogar chaves exige o papel de administrador. Os membros podem usar uma integração construída sobre uma chave, mas não podem criar uma.

Um espaço de trabalho por chave

Uma chave nunca atravessa para outro espaço de trabalho. Trabalhar em vários pede uma chave para cada um.

Está a construir algo sobre isto?

Conte-nos o que está a ligar e o que falta. A superfície cresce onde as pessoas realmente empurram.

Fale connosco