Dokumentation der ToLink.to API.
Die Verwendung der API ist kostenlos und bedarf nur der Erstellung eines API Keys im Benutzerkonto.
Die API v2 steht neben der API v1. v1 bleibt wie sie ist. v2 nutzt Adressen und HTTP-Methoden. Derselbe API-Key aus den Einstellungen gilt als Bearer-Token. Erfolg und Fehler kommen als HTTP-Status und JSON, ohne den alten Umschlag aus v1.
Fehlt der Key oder ist er falsch, antwortet die API mit Status 401 und {"message":"Invalid API Key"}.
GET /api/v2/ping
GET /api/v2/ping Authorization: Bearer token123
{
"message": "Pong"
}
POST /api/v2/folders
Mehrere Links stehen in einem Text und werden mit ; getrennt.
POST /api/v2/folders
Authorization: Bearer token123
Content-Type: application/json
{
"title": "Test Folder",
"links": "https://example.com/file.bin;https://example.com/second.bin",
"options": {
"web": true,
"container": false,
"cln": false,
"captcha": false,
"captcha_text": false,
"password": ""
}
}
{
"url": "https://tolink.to/f/foexamplefolder1",
"folder": "foexamplefolder1",
"title": "Test Folder"
}
GET /api/v2/folders
Query: order ist ASC oder DESC (Standard DESC). limit ist die Anzahl Ordner pro Seite (Standard 100, höchstens 200). page ist die Seite (Standard 1). status ist online, offline, partial oder disabled. offline enthält offline und deaktivierte Ordner. Die Antwort nennt page, pages und total.
GET /api/v2/folders?order=DESC&limit=10&page=1&status=partial Authorization: Bearer token123
{
"order": "DESC",
"limit": 10,
"page": 1,
"pages": 1,
"total": 1,
"status": "partial",
"folders": [
{
"id": "4",
"folder": "foexamplefolder1",
"title": "Test Folder",
"status": "3",
"hits": 1,
"hoster": ["uploaded"]
}
]
}
GET /api/v2/folders/{folder}
GET /api/v2/folders/foexamplefolder1 Authorization: Bearer token123
{
"folder": "foexamplefolder1",
"checked": null,
"status": 3
}
GET /api/v2/folders/{folder}/details
Nur der Eigentümer bekommt die Antwort. Ein fremder oder unbekannter Ordner liefert 404 mit Resource not found. Der Status-Abruf darüber bleibt für jeden gültigen Key offen.
GET /api/v2/folders/foexamplefolder1/details Authorization: Bearer token123
{
"id": "4",
"folder": "foexamplefolder1",
"url": "https://tolink.to/f/foexamplefolder1",
"title": "Test Folder",
"status": 3,
"hits": 12,
"created": "2026-11-01 12:00:00",
"modified": "2026-11-02 08:00:00",
"checked": "2026-11-02 09:00:00",
"options": {
"web": true,
"container": false,
"cln": false,
"captcha": false,
"captcha_text": false,
"password": ""
},
"links": [
{
"id": "18",
"url": "https://example.com/file.bin",
"title": "file.bin",
"status": 1,
"size": 1500,
"hits": 3,
"hoster": "uploaded",
"created": "2026-11-01 12:00:00"
}
]
}
PATCH /api/v2/folders/{folder}
Felder, die fehlen, bleiben. Ein leeres links lässt die vorhandenen Links stehen.
PATCH /api/v2/folders/foexamplefolder1
Authorization: Bearer token123
Content-Type: application/json
{
"title": "Neuer Titel"
}
{
"folder": "foexamplefolder1",
"title": "Neuer Titel",
"affected": 1
}
DELETE /api/v2/folders/{folder}
DELETE /api/v2/folders/foexamplefolder1 Authorization: Bearer token123
{
"deleted": true,
"folder": "foexamplefolder1",
"message": "Ordner erfolgreich gelöscht"
}
POST /api/v2/shortlinks
POST /api/v2/shortlinks
Authorization: Bearer token123
Content-Type: application/json
{
"link": "https://example.com/file.bin"
}
{
"url": "https://tolink.to/l/a5",
"alias": "a5"
}
DELETE /api/v2/shortlinks/{shortlink}
DELETE /api/v2/shortlinks/a5 Authorization: Bearer token123
{
"deleted": true,
"alias": "a5",
"message": "Link successful deleted"
}