Skip to Content
Urlizo API Docs

Links

CRUD de links. Dashboard usa /links (JWT); integrações usam /api/v1/links (API Key + scopes links:read/write). Paginação page/pageSize. A Public API não expõe GET :id nem DELETE :id/permanent.

Tag no Swagger: Links · Auth: JWT (Dashboard) + API Key (Public) · 4 endpoints

GET/api/v1/links

Lista links do workspace da chave (paginado).

Auth: API Key Bearer (scope links:read)

Response

{ data: Link[], total, page, pageSize, totalPages }

Errors: 401 (chave inválida/ausente) · 403 (sem scope) · 400 VALIDATION_ERROR

POST/api/v1/links

Cria um link. Status real 201. Erros de validação retornam 400 (não 422).

Auth: API Key Bearer (scope links:write)

Request body

CampoTipoObrigatórioRegras
destinationUrlstring (url)simURL válida.
slugstringnãoMin 1, max 20, regex ^[a-zA-Z0-9_-]+$.
redirectTypeenum (12 valores)nãoDefault ALL_301.
titlestringnãoMax 255.
descriptionstringnãoMax 5000.
isActivebooleannão
expiresAtstring (date-time)não
domainIdstring (uuid)não

Response

Link criado (inclui shortUrl)

Errors: 401 · 403 · 400 VALIDATION_ERROR · 409 CONFLICT · 409 QUOTA_EXCEEDED

PATCH/api/v1/links/:id

Atualiza parcialmente um link.

Auth: API Key Bearer (scope links:write)

Response

Link atualizado

Errors: 401 · 403 · 404 · 400 VALIDATION_ERROR · 409 CONFLICT

DELETE/api/v1/links/:id

Soft delete. Status real 204. Sem versão permanent na Public API.

Auth: API Key Bearer (scope links:write)

Response

204 No Content

Errors: 401 · 403 · 404