GET /public/shared/{token}
Viewer público multi-mode share.
- Access: Public (link or signature)
- Service:
https://api-flow.axuz.net
Accepted authentication
No authentication (public route, or protected by link/signature).
— GET /public/shared/{token}. No auth required for mode=public or mode=time. mode=email validates the VERIFIED session identity (signed access_token cookie/Bearer → email from the auth_api; the client-supplied X-User-Email header is ignored — TK-031b). Returns 403 {requires_login, email} when the caller is not authed as the target email.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
token | path | string | yes | 16 bytes hex (2^128 espaço). |
X-User-Email | header | string | no | Obrigatório quando |
Responses
200
OK.
| Name | Type | Required | Description |
|---|---|---|---|
title | string | yes | |
document | FlowDocument | yes | Shape enxuta espelhando |
document.nodes | array<FlowNode> | yes | |
document.nodes[].id | string | yes | |
document.nodes[].type | string | yes | |
document.nodes[].position | FlowXY | yes | |
document.nodes[].position.x | number | yes | |
document.nodes[].position.y | number | yes | |
document.nodes[].width | integer | null | no | |
document.nodes[].height | integer | null | no | |
document.nodes[].parentNode | string | no | |
document.nodes[].extent | string | no | |
document.nodes[].data | object | yes | |
document.nodes[].style | object | no | |
document.edges | array<FlowEdge> | yes | |
document.edges[].id | string | yes | |
document.edges[].source | string | yes | |
document.edges[].target | string | yes | |
document.edges[].type | string | no | |
document.edges[].data | object | no | |
last_updated_at | string<date-time> | yes | |
readonly | boolean | yes | |
share | object | yes | |
share.mode | string | yes | enum: |
share.access | string | yes | enum: |
share.expires_at | string<date-time> | null | no |
403
Share mode=email e caller não é o target.
| Name | Type | Required | Description |
|---|---|---|---|
error | string | yes | |
requires_login | boolean | yes | |
email | string<email> | null | no | Email alvo do share. |
404
Token inválido, revogado ou view-limit exceeded.
| Name | Type | Required | Description |
|---|---|---|---|
error | string | yes |
410
Share expirou (expires_at < now).
| Name | Type | Required | Description |
|---|---|---|---|
error | string | yes |
429
Rate limit per-token.
| Name | Type | Required | Description |
|---|---|---|---|
error | string | yes |
500
Erro interno. Tente de novo com backoff; reporte o X-Request-Id.
| Name | Type | Required | Description |
|---|---|---|---|
error | string | yes |
Examples
"Try it" is turned off in this reference. Use the examples with your test credential.
curl
curl -sS -X GET 'https://api-flow.axuz.net/public/shared/TOKEN'Node.js
const res = await fetch("https://api-flow.axuz.net/public/shared/TOKEN", {
method: 'GET',
});
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(
"GET",
"https://api-flow.axuz.net/public/shared/TOKEN",
timeout=30,
)
res.raise_for_status()
print(res.json())