API
Link API
Alles aus dem Kabinett, aus deinem Code. Auth per Token. Antworten als JSON.
Auth
Lege im Kabinett ein Token an. Schicke es bei jedem Request. Das Geheimnis zeigen wir einmal.
Authorization: Bearer lnk_…your_token…
X-Api-Key: lnk_…your_token…
Basis-URL: https://link.integrono.com/api/v1
Jede JSON-Antwort beginnt mit ok. Fehler nutzen HTTP-Status plus error-Schlüssel.
{"ok":true,"data":{…}}
{"ok":false,"error":"validation","fields":{…}}
Methoden
GET /api/v1
Catalog
Public list of every method. No token needed.
curl -s https://link.integrono.com/api/v1 \
-H "Authorization: Bearer $TOKEN" \
-H "Accept: application/json"
GET /api/v1/me
Account
Who the token belongs to, plus link and domain counts.
curl -s https://link.integrono.com/api/v1/me \
-H "Authorization: Bearer $TOKEN" \
-H "Accept: application/json"
GET /api/v1/folders
List folders
Folders for the token owner, in drag order.
curl -s https://link.integrono.com/api/v1/folders \
-H "Authorization: Bearer $TOKEN" \
-H "Accept: application/json"
POST /api/v1/folders
Create a folder
JSON: name.
curl -s https://link.integrono.com/api/v1/folders \
-H "Authorization: Bearer $TOKEN" \
-H "Accept: application/json" \
-X POST \
-H "Content-Type: application/json" \
-d '{ "name": "APK" }'
Beispiel-Body
{ "name": "APK" }
POST /api/v1/folders/reorder
Reorder folders
JSON: ids[] in the new order.
curl -s https://link.integrono.com/api/v1/folders/reorder \
-H "Authorization: Bearer $TOKEN" \
-H "Accept: application/json" \
-X POST \
-H "Content-Type: application/json" \
-d '{ "ids": [3, 1, 2] }'
Beispiel-Body
{ "ids": [3, 1, 2] }
GET /api/v1/links
List links
Query: q, type=url|text|image, status=active|paused|exhausted, folder_id, per_page, page.
curl -s https://link.integrono.com/api/v1/links \
-H "Authorization: Bearer $TOKEN" \
-H "Accept: application/json"
POST /api/v1/links
Create a link
JSON or multipart (image). Fields: type, title, target_url, body_text, image, code, max_views, access_password, log_bots, domain, geo_mode=off|allow|deny, allowed_countries[], blocked_countries[], timezone, opens_at, closes_at, before_mode=message|url, after_mode=message|url, before_url, after_url, before_message, after_message, closed_message, schedule_enabled, ab_on, a_weight, variants[], a_steps[], steps[]. log_bots defaults to false: crawlers skip click history.
curl -s https://link.integrono.com/api/v1/links \
-H "Authorization: Bearer $TOKEN" \
-H "Accept: application/json" \
-X POST \
-H "Content-Type: application/json" \
-d '{ "type": "url", "title": "Promo", "target_url": "https://shop.example.com/a", "code": "promo", "ab_on": true, "a_weight": 50, "a_steps": [{"name": "Land"}], "variants": [ {"label": "B", "url": "https://shop.example.com/b", "weight": 50, "steps": [{"name": "Land"}]} ] }'
Beispiel-Body
{
"type": "url",
"title": "Promo",
"target_url": "https://shop.example.com/a",
"code": "promo",
"ab_on": true,
"a_weight": 50,
"a_steps": [{"name": "Land"}],
"variants": [
{"label": "B", "url": "https://shop.example.com/b", "weight": 50, "steps": [{"name": "Land"}]}
]
}
GET /api/v1/links/{code}
Get one link
Full settings, public URL, A/B variants, and pixel URLs.
curl -s https://link.integrono.com/api/v1/links/{code} \
-H "Authorization: Bearer $TOKEN" \
-H "Accept: application/json"
PATCH /api/v1/links/{code}
Update a link
Same fields as create, plus status=active|paused and clear_password=true. Send only what you want to change. PUT works too.
curl -s https://link.integrono.com/api/v1/links/{code} \
-H "Authorization: Bearer $TOKEN" \
-H "Accept: application/json" \
-X PATCH \
-H "Content-Type: application/json" \
-d '{ "status": "paused", "target_url": "https://shop.example.com/new", "allowed_countries": ["UA", "PL"] }'
Beispiel-Body
{
"status": "paused",
"target_url": "https://shop.example.com/new",
"allowed_countries": ["UA", "PL"]
}
DELETE /api/v1/links/{code}
Delete a link
Removes the link and its click history.
curl -s https://link.integrono.com/api/v1/links/{code} \
-H "Authorization: Bearer $TOKEN" \
-H "Accept: application/json" \
-X DELETE
GET /api/v1/links/{code}/visits
Click history
Query: q, device, country, browser, os, opened=1|0, from, to, per_page, page. Each row has IP, place, device, browser, source, variant, and funnel steps.
curl -s https://link.integrono.com/api/v1/links/{code}/visits \
-H "Authorization: Bearer $TOKEN" \
-H "Accept: application/json"
GET /api/v1/links/{code}/stats
Stats and funnel
Day chart, country/device/referer/browser/OS/language split, and A/B conversion by pixel steps.
curl -s https://link.integrono.com/api/v1/links/{code}/stats \
-H "Authorization: Bearer $TOKEN" \
-H "Accept: application/json"
GET /api/v1/links/{code}/export
Export clicks CSV
Downloads every visit as a CSV file.
curl -s https://link.integrono.com/api/v1/links/{code}/export \
-H "Authorization: Bearer $TOKEN" \
-H "Accept: application/json"
GET /api/v1/alias
Check a custom path
Query: code. Returns whether that short path is free.
curl -s https://link.integrono.com/api/v1/alias \
-H "Authorization: Bearer $TOKEN" \
-H "Accept: application/json"
GET /api/v1/domains
List domains
Your branded hosts, verify token, CNAME target, and origin IP.
curl -s https://link.integrono.com/api/v1/domains \
-H "Authorization: Bearer $TOKEN" \
-H "Accept: application/json"
POST /api/v1/domains
Add a domain
Body: host. Then point DNS and call verify.
curl -s https://link.integrono.com/api/v1/domains \
-H "Authorization: Bearer $TOKEN" \
-H "Accept: application/json" \
-X POST \
-H "Content-Type: application/json" \
-d '{ "host": "go.yourbrand.com" }'
Beispiel-Body
{ "host": "go.yourbrand.com" }
POST /api/v1/domains/{host}/verify
Verify a domain
Checks CNAME, A, TXT, or the well-known file. Turns the domain live when DNS is ready.
curl -s https://link.integrono.com/api/v1/domains/{host}/verify \
-H "Authorization: Bearer $TOKEN" \
-H "Accept: application/json" \
-X POST
DELETE /api/v1/domains/{host}
Remove a domain
Drops the host from the account.
curl -s https://link.integrono.com/api/v1/domains/{host} \
-H "Authorization: Bearer $TOKEN" \
-H "Accept: application/json" \
-X DELETE