Skip to content
En esta página

Errores y respuestas

Éxito

Una respuesta correcta envuelve el resultado en data. Las listas añaden pagination.

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

Errores

Los errores llegan con el estado HTTP correspondiente y siempre tienen esta forma:

json
{
  "error": {
    "code": "conflict",
    "message": "This slug is already taken."
  }
}
HTTPcodeSignificado
400invalid_requestLa petición es incorrecta. message indica qué.
401unauthorizedNo hay clave, o la clave no es válida o ha caducado.
403forbiddenLa clave no tiene un permiso (error.requiredPermission), o el rol del propietario de la clave no puede hacerlo.
403license_limit_reachedSe alcanzó un límite del plan. error.licenseLimitReached es true. error.licenseExpired es true cuando el plan ha caducado.
404not_foundNo existe ese elemento en este espacio de trabajo.
409conflictYa existe, por ejemplo un slug o un nombre de etiqueta ocupado.
429rate_limitedMás de 300 peticiones por minuto para la clave. Consulta Retry-After.
5xxinternal_errorAlgo falló de nuestra parte.

Peticiones masivas

La creación, actualización y eliminación masivas devuelven HTTP 200 e informan de cada elemento por separado. Un elemento fallido no detiene a los demás. Un elemento fallido tiene error y code (los mismos códigos de arriba), además de index (posición en el array de la petición, al crear) o id (al actualizar y eliminar).

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

Paginación

GET /links acepta page (por defecto 1) y limit (por defecto 50, máximo 200).