Documentação para desenvolvedores
API RESTA partir do Pro
Leia e atualize boards, posts e comentários.
Autenticação
Crie uma chave em Developers e envie no header Authorization. Cada chave pertence a um workspace e pode ler e alterar tudo nele, inclusive boards privados, então mantenha a chave no seu servidor. Respostas e mudanças de status ficam registradas em nome de quem criou a chave.
curl https://fdbk.online/api/v1/boards \
-H "Authorization: Bearer fdbk_your_key"Erros e limites
Os corpos são JSON e as datas seguem a ISO 8601 em UTC. Cada workspace tem 60 requisições por minuto no Pro e 300 no Business; acima disso você recebe 429 com um header Retry-After.
{
"error": {
"code": "invalid_request",
"message": "title: Too small: expected string to have >=4 characters"
}
}| Código | Descrição |
|---|---|
unauthorized401 | Chave ausente, errada ou revogada. |
plan_required403 | O plano do workspace não inclui a API. |
not_found404 | Esse board, post ou comentário não existe neste workspace. |
invalid_json400 | O corpo não é um JSON válido. |
invalid_request400 | Um campo está faltando ou errado; a mensagem diz qual. |
rate_limited429 | Requisições demais neste minuto. Espere o Retry-After. |
server_error500 | Falha do nosso lado. Tente de novo mais tarde. |
Boards
GET/api/v1/boards
Todos os boards do workspace.
curl https://fdbk.online/api/v1/boards -H "Authorization: Bearer fdbk_your_key"{
"data": [
{
"id": "…",
"slug": "app",
"name": "Acme App",
"description": null,
"public": true,
"url": "https://fdbk.online/acme/app"
}
]
}Posts
GET/api/v1/posts
Lista os posts, do mais novo para o mais antigo. Os filtros vão na query string.
| Parâmetro | Descrição |
|---|---|
boardstring | O slug de um board. Padrão: todos os boards. |
statusstring | open, planned, in_progress, done ou closed. |
qstring | Busca nos títulos e descrições. |
sortstring | new (padrão) ou top. |
include_mergedboolean | Inclui posts unidos a outros. Padrão: false. |
limitnumber | De 1 a 100. Padrão: 25. |
offsetnumber | Onde começar. Use o next_offset da última página. |
curl "https://fdbk.online/api/v1/posts?board=app&status=planned&sort=top&limit=10" \
-H "Authorization: Bearer fdbk_your_key"{
"data": [
{
"id": 22,
"board": { "id": "…", "slug": "app", "name": "Acme App" },
"title": "Export to CSV",
"body": "Need it for reports",
"category": "feature",
"status": "planned",
"votes": 4,
"comments": 1,
"pinned": false,
"merged_into": null,
"author": { "name": "Carla" },
"url": "https://fdbk.online/acme/app/p/22-export-to-csv",
"admin_url": "https://fdbk.online/admin/p/22",
"created_at": "2026-10-03T03:07:24.721Z",
"updated_at": "2026-10-03T03:19:04.810Z"
}
],
"has_more": false,
"next_offset": null
}POST/api/v1/posts
Cria um post. O voto do autor conta, como no board.
| Parâmetro | Descrição |
|---|---|
boardstringobrigatório | O slug do board. |
titlestringobrigatório | De 4 a 120 caracteres. |
bodystring | A descrição, com até 5.000 caracteres. |
categorystring | feature (padrão), bug ou improvement. |
authorobject | { name, email }. Um e-mail conhecido publica como essa pessoa; senão, é criado um convidado com esse nome. Sem ele, o post fica no nome de quem criou a chave. |
curl https://fdbk.online/api/v1/posts \
-H "Authorization: Bearer fdbk_your_key" \
-H "Content-Type: application/json" \
-d '{
"board": "app",
"title": "Dark mode",
"body": "From a support ticket",
"category": "feature",
"author": { "name": "Dana", "email": "dana@example.com" }
}'201 Created
{
"data": {
"id": 22,
"board": { "id": "…", "slug": "app", "name": "Acme App" },
"title": "Export to CSV",
"body": "Need it for reports",
"category": "feature",
"status": "planned",
"votes": 4,
"comments": 1,
"pinned": false,
"merged_into": null,
"author": { "name": "Carla" },
"url": "https://fdbk.online/acme/app/p/22-export-to-csv",
"admin_url": "https://fdbk.online/admin/p/22",
"created_at": "2026-10-03T03:07:24.721Z",
"updated_at": "2026-10-03T03:19:04.810Z"
}
}GET/api/v1/posts/{id}
Um post.
curl https://fdbk.online/api/v1/posts/22 -H "Authorization: Bearer fdbk_your_key"{
"data": {
"id": 22,
"board": { "id": "…", "slug": "app", "name": "Acme App" },
"title": "Export to CSV",
"body": "Need it for reports",
"category": "feature",
"status": "planned",
"votes": 4,
"comments": 1,
"pinned": false,
"merged_into": null,
"author": { "name": "Carla" },
"url": "https://fdbk.online/acme/app/p/22-export-to-csv",
"admin_url": "https://fdbk.online/admin/p/22",
"created_at": "2026-10-03T03:07:24.721Z",
"updated_at": "2026-10-03T03:19:04.810Z"
}
}PATCH/api/v1/posts/{id}
Muda o status e responde com o post. O autor e quem comentou recebem o e-mail de sempre, se o board estiver com isso ativado.
| Parâmetro | Descrição |
|---|---|
statusstringobrigatório | open, planned, in_progress, done ou closed. |
curl -X PATCH https://fdbk.online/api/v1/posts/22 \
-H "Authorization: Bearer fdbk_your_key" \
-H "Content-Type: application/json" \
-d '{ "status": "in_progress" }'Comentários
GET/api/v1/posts/{id}/comments
Os comentários de um post, do mais antigo para o mais novo.
curl https://fdbk.online/api/v1/posts/22/comments -H "Authorization: Bearer fdbk_your_key"{
"data": [
{
"id": 12,
"post_id": 22,
"body": "On it",
"official": true,
"author": { "name": "Ana" },
"created_at": "2026-10-03T14:20:00.000Z"
}
]
}POST/api/v1/posts/{id}/comments
Publica uma resposta oficial do time.
| Parâmetro | Descrição |
|---|---|
bodystringobrigatório | Até 2.000 caracteres. |
curl https://fdbk.online/api/v1/posts/22/comments \
-H "Authorization: Bearer fdbk_your_key" \
-H "Content-Type: application/json" \
-d '{ "body": "Shipping this next week." }'Prefere ser avisado das mudanças em vez de perguntar? Use webhooks.