Skip to content
Nesta página

Erros e respostas

Sucesso

Uma resposta bem-sucedida envolve o resultado em data. As listas acrescentam pagination.

json
{
  "data": [ { "id": "…", "slug": "spring", "shortLink": "https://rvlnk.link/spring" } ],
  "pagination": { "page": 1, "limit": 50, "total": 1 }
}

Erros

Os erros chegam com o status HTTP correspondente e sempre têm este formato:

json
{
  "error": {
    "code": "conflict",
    "message": "This slug is already taken."
  }
}
HTTPcodeSignificado
400invalid_requestA requisição está errada. message diz o quê.
401unauthorizedNão há chave, ou a chave é inválida ou expirou.
403forbiddenA chave não tem uma permissão (error.requiredPermission), ou o papel do dono da chave não permite a ação.
403license_limit_reachedUm limite do plano foi atingido. error.licenseLimitReached é true. error.licenseExpired é true quando o plano expirou.
404not_foundEsse item não existe neste espaço de trabalho.
409conflictJá existe, por exemplo um slug ou um nome de tag em uso.
429rate_limitedMais de 300 requisições por minuto para a chave. Veja Retry-After.
5xxinternal_errorAlgo deu errado do nosso lado.

Requisições em massa

A criação, a atualização e a exclusão em massa retornam HTTP 200 e informam cada item separadamente. Um item com falha não interrompe os outros. Um item com falha tem error e code (os mesmos códigos acima), além de index (posição no array da requisição, na criação) ou id (na atualização e na exclusão).

json
{
  "data": {
    "created": [ { "id": "…", "slug": "a1", "shortLink": "https://rvlnk.link/a1" } ],
    "failed": [ { "index": 1, "error": "This slug is already taken.", "code": "conflict" } ]
  }
}

Paginação

GET /links aceita page (padrão 1) e limit (padrão 50, máximo 200).