Axuz Developers

POST /teams/{teamId}/boards/

Cria board (com colunas iniciais opcionais)

  • Access: Team member
  • Service: https://api-workspace.axuz.net

Accepted authentication

  • sessionCookie — Sessão plena Axuz (cookie de sessão da casa). Sessão restrita é 403 enrollment_required.
  • bearerSession — JWT de acesso da sessão em `Authorization: Bearer`.

— POST /teams/{teamId}/boards. Motivo: novo board. Name vazio triggerea IA (Claude) com fallback. Gate: timeline_id fora do alcance do módulo tasks → 404 (W-012 S5).

Retorno: 201 Board (com columns quando enviadas); 400/404/500. Efeito: 0-1 OpenAI/Anthropic call + 1 INSERT (ou 1 tx board+colunas).

Parameters

NameInTypeRequiredDescription
teamIdpathstringyes

Request body

application/json · Required

NameTypeRequiredDescription
namestringno

vazio gera nome automatico

descriptionstringno
timeline_idstring<uuid>no
columnsarray<object>no

Opcional. Colunas criadas NA MESMA transacao do board, na ordem enviada, com position 1..N e is_done=false. Nome aparado, 1..200 caracteres. Ausente/vazio = board sem colunas.

columns[].namestringyes
{
  "name": "string",
  "description": "string",
  "timeline_id": "00000000-0000-0000-0000-000000000000",
  "columns": [
    {
      "name": "string"
    }
  ]
}

Responses

201

Board criado. Com columns na requisicao, a resposta traz columns (array de Column, na ordem criada); sem, a chave e omitida.

NameTypeRequiredDescription
idstring<uuid>no
team_idstring<uuid>no
timeline_idstring<uuid>no
namestringno
descriptionstringno
created_bystring<uuid>no
created_atstring<date-time>no
updated_atstring<date-time>no
columnsarray<Column>no

so no POST com columns

columns[].idstring<uuid>yes
columns[].team_idstring<uuid>yes
columns[].board_idstring<uuid>yes
columns[].namestringyes
columns[].positionintegeryes
columns[].is_donebooleanyes

coluna de conclusao do board (no maximo uma)

columns[].created_atstring<date-time>yes
columns[].updated_atstring<date-time>yes

400

columns invalido ("invalid columns": nome vazio/longo, >50, tipo errado) - nada e criado

401

sem sessao

403

Sem permissao (nao e owner/admin; token sem escopo; token de integracao em rota nao permitida)

NameTypeRequiredDescription
errorstringyes

404

canal (timeline_id) fora do alcance do modulo tasks

429

Limite de requisições excedido.

NameTypeRequiredDescription
errorstringyes

500

Erro interno. Tente de novo com backoff; reporte o X-Request-Id.

NameTypeRequiredDescription
errorstringyes

Examples

"Try it" is turned off in this reference. Use the examples with your test credential.

curl

curl -sS -X POST 'https://api-workspace.axuz.net/teams/TEAM_ID/boards/' \
  -H "Authorization: Bearer $AXUZ_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name":"string","description":"string","timeline_id":"00000000-0000-0000-0000-000000000000","columns":[{"name":"string"}]}'

Node.js

const res = await fetch("https://api-workspace.axuz.net/teams/TEAM_ID/boards/", {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.AXUZ_TOKEN}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    "name": "string",
    "description": "string",
    "timeline_id": "00000000-0000-0000-0000-000000000000",
    "columns": [
      {
        "name": "string"
      }
    ]
  }),
});
if (!res.ok) throw new Error(`HTTP ${res.status}: ${await res.text()}`);
console.log(await res.json());

Python

import os
import requests

res = requests.request(
    "POST",
    "https://api-workspace.axuz.net/teams/TEAM_ID/boards/",
    headers={
        "Authorization": f"Bearer {os.environ['AXUZ_TOKEN']}",
    },
    json={
        "name": "string",
        "description": "string",
        "timeline_id": "00000000-0000-0000-0000-000000000000",
        "columns": [
            {
                "name": "string",
            },
        ],
    },
    timeout=30,
)
res.raise_for_status()
print(res.json())