Link service
Create Pricing Blog Docs Sign in Create account
EN
English Русский Українська Deutsch Español Français Italiano Polski Nederlands Português Беларуская Български Čeština Magyar Română Slovenčina Svenska Türkçe

API

Link API

Everything you can do in the cabinet, from your own code. Auth is a token. Answers are JSON.

Auth

Create a token in the cabinet. Send it on every request. We show the secret once.

Authorization: Bearer lnk_…your_token…
X-Api-Key: lnk_…your_token…

Base URL: https://link.integrono.com/api/v1

Every JSON reply starts with ok. Errors use HTTP status plus an error key.

{"ok":true,"data":{…}}
{"ok":false,"error":"validation","fields":{…}}

Methods

GET /api/v1 GET /api/v1/me GET /api/v1/folders POST /api/v1/folders POST /api/v1/folders/reorder GET /api/v1/links POST /api/v1/links GET /api/v1/links/{code} PATCH /api/v1/links/{code} DELETE /api/v1/links/{code} GET /api/v1/links/{code}/visits GET /api/v1/links/{code}/stats GET /api/v1/links/{code}/export GET /api/v1/alias GET /api/v1/domains POST /api/v1/domains POST /api/v1/domains/{host}/verify DELETE /api/v1/domains/{host}

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" }'

Body example

{ "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] }'

Body example

{ "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"}]} ] }'

Body example

{
  "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"] }'

Body example

{
  "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" }'

Body example

{ "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

Create an API token

Powered by Integrono

Pricing · Blog · Docs · Privacy · Terms