API
API Link
Todo lo del panel, desde tu código. Auth con token. Respuestas en JSON.
Auth
Crea un token en el panel. Envíalo en cada petición. El secreto lo mostramos una vez.
Authorization: Bearer lnk_…your_token…
X-Api-Key: lnk_…your_token…
URL base: https://link.integrono.com/api/v1
Cada JSON empieza con ok. Los errores usan estado HTTP más la clave error.
{"ok":true,"data":{…}}
{"ok":false,"error":"validation","fields":{…}}
Métodos
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" }'
Ejemplo de cuerpo
{ "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] }'
Ejemplo de cuerpo
{ "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"}]} ] }'
Ejemplo de cuerpo
{
"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"] }'
Ejemplo de cuerpo
{
"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" }'
Ejemplo de cuerpo
{ "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