Dokumentacja API
Wprowadzenie
API rdir pozwala na programatyczne tworzenie, zarządzanie i śledzenie skróconych linków. Wszystkie endpointy API używają JSON dla zapytań i odpowiedzi.
https://rdir.pl/api/v1Uwierzytelnianie
Wszystkie zapytania API muszą zawierać poprawny token API w nagłówku Authorization używając schematu Bearer.
curl https://rdir.pl/api/v1/links \
-H "Authorization: Bearer rdir_TWÓJ_TOKEN"Przechowuj je bezpiecznie używając zmiennych środowiskowych.
Limity zapytań
Zapytania API są limitowane per token. Domyślny limit to 100 zapytań na godzinę.
Informacje o limitach są zawarte w nagłówkach odpowiedzi każdego zapytania:
X-RateLimit-Limit: 100
X-RateLimit-Remaining: 87
X-RateLimit-Reset: 1706875200X-RateLimit-Limit — Maksymalna liczba zapytań dozwolona na godzinę
X-RateLimit-Remaining — Pozostała liczba zapytań w bieżącym oknie
X-RateLimit-Reset — Znacznik czasu Unix kiedy limit zostanie zresetowany
Jeśli przekroczysz limit zapytań, API zwróci odpowiedź 429 Too Many Requests.
Błędy
API używa standardowych kodów statusu HTTP i zwraca błędy w spójnym formacie JSON:
{
"error": {
"type": "validation_error",
"message": "Walidacja zapytania nie powiodła się",
"details": {
"url": "URL musi zaczynać się od http:// lub https://"
}
},
"status": 422
}Kody statusu
401Unauthorized — Brak lub nieprawidłowy token API403Forbidden — Token został unieważniony lub brak uprawnień404Not Found — Zasób nie istnieje422Unprocessable Entity — Błąd walidacji429Too Many Requests — Przekroczono limit zapytań500Internal Server Error — Coś poszło nie takEndpointy
Utwórz link
Utwórz nowy skrócony link. Wymagany jest tylko docelowy URL.
https://rdir.pl/api/v1/linksTreść zapytania
urlstringrequiredDocelowy URL do skrócenia. Musi zaczynać się od http:// lub https://
shortCodestringWłasny skrót (3-50 znaków). Jeśli nie podano, zostanie wygenerowany automatycznie.
titlestringTytuł linku do celów wyświetlania
tagsstring[]Tablica nazw tagów do organizacji linków
referrerstringParametr ref do śledzenia źródła odsyłacza
utmSourcestringParametr UTM source do śledzenia
utmMediumstringParametr UTM medium
utmCampaignstringParametr UTM campaign
utmTermstringParametr UTM term (słowa kluczowe)
utmContentstringParametr UTM content (wariant reklamy)
iosUrlstringURL specyficzny dla iOS do deep linkingu
androidUrlstringURL specyficzny dla Android do deep linkingu
Przykładowe zapytanie
curl -X POST https://rdir.pl/api/v1/links \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com/very-long-url",
"shortCode": "example",
"title": "Example Page",
"tags": ["marketing", "social"]
}'Odpowiedź (201 Created)
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"shortCode": "example",
"shortUrl": "https://rdir.pl/example",
"url": "https://example.com/very-long-url",
"title": "Example Page",
"qrCodeUrl": "https://rdir.pl/api/qr/example",
"tags": ["marketing", "social"],
"createdAt": "2026-02-02T10:30:00Z",
"updatedAt": "2026-02-02T10:30:00Z"
}Lista linków
Pobierz stronicowaną listę wszystkich linków w Twoim workspace.
https://rdir.pl/api/v1/linksParametry zapytania
pagenumberdefault: 1Numer strony dla paginacji
limitnumberdefault: 50Liczba elementów na stronę (max: 100)
searchstringSzukaj po tytule, opisie lub skrócie
tagstringFiltruj po nazwie tagu
sortBystringdefault: createdAtPole sortowania: createdAt, updatedAt
sortOrderstringdefault: descKolejność sortowania: asc, desc
Przykładowe zapytanie
curl "https://rdir.pl/api/v1/links?page=1&limit=20&search=example" \
-H "Authorization: Bearer YOUR_TOKEN"Odpowiedź (200 OK)
{
"data": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"shortCode": "example",
"shortUrl": "https://rdir.pl/example",
"url": "https://example.com",
"title": "Example Page",
"tags": ["marketing"],
"createdAt": "2026-02-02T10:30:00Z",
"updatedAt": "2026-02-02T10:30:00Z"
}
],
"pagination": {
"page": 1,
"limit": 50,
"total": 234,
"totalPages": 5
}
}Pobierz link
Pobierz szczegóły konkretnego linku po jego skrócie.
https://rdir.pl/api/v1/links/:shortcodeParametry ścieżki
shortcodestringrequiredSkrót linku do pobrania
Przykładowe zapytanie
curl https://rdir.pl/api/v1/links/example \
-H "Authorization: Bearer YOUR_TOKEN"Odpowiedź (200 OK)
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"shortCode": "example",
"shortUrl": "https://rdir.pl/example",
"url": "https://example.com/very-long-url",
"title": "Example Page",
"clickCount": 142,
"tags": ["marketing", "social"],
"createdAt": "2026-02-02T10:30:00Z",
"updatedAt": "2026-02-02T10:30:00Z"
}Zaktualizuj link
Zaktualizuj istniejący link. Wszystkie pola są opcjonalne - zaktualizowane zostaną tylko podane pola.
https://rdir.pl/api/v1/links/:shortcodeParametry ścieżki
shortcodestringrequiredSkrót linku do zaktualizowania
Treść zapytania
urlstringZaktualizuj docelowy URL
titlestringZaktualizuj tytuł linku
tagsstring[]Zamień tagi linku
Przykładowe zapytanie
curl -X PATCH https://rdir.pl/api/v1/links/example \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"title": "Updated Title",
"tags": ["updated", "marketing"]
}'Odpowiedź (200 OK)
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"shortCode": "example",
"shortUrl": "https://rdir.pl/example",
"url": "https://example.com/very-long-url",
"title": "Updated Title",
"tags": ["updated", "marketing"],
"updatedAt": "2026-02-02T11:45:00Z"
}Usuń link
Trwale usuń link. Ta akcja nie może zostać cofnięta.
https://rdir.pl/api/v1/links/:shortcodeParametry ścieżki
shortcodestringrequiredSkrót linku do usunięcia
Przykładowe zapytanie
curl -X DELETE https://rdir.pl/api/v1/links/example \
-H "Authorization: Bearer YOUR_TOKEN"Odpowiedź (204 No Content)
Brak treści odpowiedzi. Status 204 oznacza pomyślne usunięcie.
Potrzebujesz pomocy?
Jeśli masz pytania lub napotkasz problemy z API, skontaktuj się ze mną.