Axuz Developers

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

Cria um link publico somente-leitura do board

  • Access: Team admin
  • 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`.

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).

Parameters

NameInTypeRequiredDescription
teamIdpathstringyes
idpathstringyes

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

Request body

application/json · Required

NameTypeRequiredDescription
show_assigneesbooleanno
show_due_datesbooleanno
show_descriptionsbooleanno
expires_atstring<date-time> | nullno

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

no_expirybooleanno

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
}

Responses

201

Criado. O campo token aparece SOMENTE nesta resposta.

NameTypeRequiredDescription
idstring<uuid>yes
board_idstring<uuid>yes
show_assigneesbooleanyes
show_due_datesbooleanyes
show_descriptionsbooleanyes
expires_atstring<date-time> | nullyes
revoked_atstring<date-time> | nullyes
statusstringyes

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

created_bystring<uuid>yes
created_atstring<date-time>yes
tokenstringyes

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

400

Erro no formato do servico.

NameTypeRequiredDescription
errorstringyes

401

Erro no formato do servico.

NameTypeRequiredDescription
errorstringyes

403

Erro no formato do servico.

NameTypeRequiredDescription
errorstringyes

404

Erro no formato do servico.

NameTypeRequiredDescription
errorstringyes

422

Erro no formato do servico.

NameTypeRequiredDescription
errorstringyes

429

Rate limit.

NameTypeRequiredDescription
errorstringyes
retry_afterintegeryes

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/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())