Axuz Developers

POST /teams/{teamId}/boards/{id}/public-shares

Cria um link publico somente-leitura do board

  • Acesso: Admin da equipe
  • Serviço: https://api-workspace.axuz.net

Autenticação aceita

  • 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`.

Apenas owner/admin do team. Todos os flags default false (deny-by-default: o titulo, a coluna e a prioridade das tarefas sao sempre expostos; o resto o dono liga). Maximo de 20 links ativos por board (422 too many active shares). expires_at opcional, no futuro e a no maximo 365 dias; omitido = 30 dias (nunca eterno por omissao); link sem validade so com no_expiry: true (exclusivo com expires_at, senao 400). Emite board.public_share.created (sem token, sem hash).

Parâmetros

NomeEmTipoObrigatórioDescrição
teamIdpathstringsim
idpathstringsim

No servico o segmento e {id}; o nome aqui e so descritivo.

Corpo da requisição

application/json · Obrigatório

NomeTipoObrigatórioDescrição
show_assigneesbooleannão
show_due_datesbooleannão
show_descriptionsbooleannão
expires_atstring<date-time> | nullnão

Ausente = 30 dias (default). Deve ser futuro e <= 365 dias. Null equivale a ausente.

no_expirybooleannão

Opt-in explicito para link sem validade. Exclusivo com expires_at (400).

{
  "show_assignees": false,
  "show_due_dates": false,
  "show_descriptions": false,
  "expires_at": "2026-01-15T12:00:00Z",
  "no_expiry": false
}

Respostas

201

Criado. O campo token aparece SOMENTE nesta resposta.

NomeTipoObrigatórioDescrição
idstring<uuid>sim
board_idstring<uuid>sim
show_assigneesbooleansim
show_due_datesbooleansim
show_descriptionsbooleansim
expires_atstring<date-time> | nullsim
revoked_atstring<date-time> | nullsim
statusstringsim

enum: "active", "expired", "revoked"

created_bystring<uuid>sim
created_atstring<date-time>sim
tokenstringsim

Credencial do link. Mostrada UMA vez. O link publico e <origem do front>/<rota publica do front>/<token>.

400

Erro no formato do servico.

NomeTipoObrigatórioDescrição
errorstringsim

401

Erro no formato do servico.

NomeTipoObrigatórioDescrição
errorstringsim

403

Erro no formato do servico.

NomeTipoObrigatórioDescrição
errorstringsim

404

Erro no formato do servico.

NomeTipoObrigatórioDescrição
errorstringsim

422

Erro no formato do servico.

NomeTipoObrigatórioDescrição
errorstringsim

429

Rate limit.

NomeTipoObrigatórioDescrição
errorstringsim
retry_afterintegersim

500

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

NomeTipoObrigatórioDescrição
errorstringsim

Exemplos

O "Try it" está desligado nesta referência. Use os exemplos com a sua credencial de teste.

curl

curl -sS -X POST 'https://api-workspace.axuz.net/teams/TEAM_ID/boards/ID/public-shares' \
  -H "Authorization: Bearer $AXUZ_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"show_assignees":false,"show_due_dates":false,"show_descriptions":false,"expires_at":"2026-01-15T12:00:00Z","no_expiry":false}'

Node.js

const res = await fetch("https://api-workspace.axuz.net/teams/TEAM_ID/boards/ID/public-shares", {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.AXUZ_TOKEN}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    "show_assignees": false,
    "show_due_dates": false,
    "show_descriptions": false,
    "expires_at": "2026-01-15T12:00:00Z",
    "no_expiry": false
  }),
});
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/ID/public-shares",
    headers={
        "Authorization": f"Bearer {os.environ['AXUZ_TOKEN']}",
    },
    json={
        "show_assignees": False,
        "show_due_dates": False,
        "show_descriptions": False,
        "expires_at": "2026-01-15T12:00:00Z",
        "no_expiry": False,
    },
    timeout=30,
)
res.raise_for_status()
print(res.json())