API reference
Overview
Everything you need to know before sending your first request — authentication, limits, response format, and error codes.
Base URL
https://rynqu.comAll endpoints are reachable from this root. The API has no version prefix for now.
Authentication
Every request must include your API key in the Authorization header. Generate a key from Dashboard → Settings → API Keys.
Authorization: Bearer sk_xxxxxxxxxxxxxxxxxxxxNever share your key. If it's compromised, revoke it immediately from settings — a new key is generated instantly.
Rate limits
| Plan | Requests / minute |
|---|---|
| Free | 20 req/min |
| Pro | 60 req/min |
Every response includes headers to track your usage in real time:
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 57
X-RateLimit-Reset: 1746528000X-RateLimit-Reset is a Unix timestamp (seconds) indicating the next counter reset.
Response format
All responses are JSON. Content depends on the endpoint (see the dedicated pages).
Success
HTTP/1.1 200 OK
Content-Type: application/json
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"url": "https://example.com",
"title": "Example Domain",
"status": "ready",
...
}Error
HTTP/1.1 401 Unauthorized
Content-Type: application/json
{
"error": "UNAUTHORIZED",
"message": "Clé API absente ou invalide."
}Error codes
| Code | HTTP | Description |
|---|---|---|
| UNAUTHORIZED | 401 | API key missing or invalid. |
| FORBIDDEN | 403 | Plan quota exceeded (e.g. link limit). |
| NOT_FOUND | 404 | The requested resource doesn't exist or doesn't belong to you. |
| INVALID_URL | 400 | The provided URL is missing or malformed. |
| VALIDATION_ERROR | 400 | The request body doesn't match the expected schema. |
| RATE_LIMIT_EXCEEDED | 429 | Too many requests — wait before retrying. |
| INTERNAL_ERROR | 500 | Unexpected server error. Retry or contact support. |
Start with
Create a link
Was this page helpful?