SLINK Arabic-first AI, automation, agents and private networks
API reference

Developers / REST API

REST API

Everything the apps do is an API call you can make too.

Base URL#

https://api.slink.w9li.dev

Interactive reference: https://api.slink.w9li.dev/docs · schema: openapi.json. 226 endpoints: chat, automations, integrations, vault, devices, screens, network, fleet, console.

Authentication#

Bearer tokens issued by POST /auth/login (accounts) or POST /auth/guest (per-device guests). Send the device id with every call so per-device isolation and skills work.

Authorization: Bearer slk_…
X-Device: d0123456789abcdef0123456
X-Client: ios | android | web

Chat with streaming#

POST /chat
{ "messages": [{ "role": "user", "content": "ذكّرني بكرا ٩ أرسل العرض" }],
  "conversation_id": "…" }

# Server-sent events
event: round   data: 0
event: tool    data: {"name":"web_search","label":"بحث بالإنترنت","state":"start"}
event: delta   data: "أبشر، "
event: done    data: {"reply":"…","model":"…","usage":{…}}

Other stream events: memory (facts about to be saved), secret (open a secure input sheet), device (ask the device for a skill), open_account and browse (owner browser).

Try it#

These buttons call the live API from your browser. No token needed for these two.

the live health check
downloads openapi.json and counts paths

More examples#

GET  /automations                 # my automations
POST /assist  → POST /confirm     # natural language → confirmed automation
GET  /catalog                     # services with live/setup/soon states
GET  /me/integrations             # capability toggles per service
PUT  /me/vault                    # write-only secrets
GET  /signage/screens             # screens (manager role)
GET  /fleet/devices               # PCs (IT role)

API reference#

EndpointMethodAuthNotes
/auth/guestPOSTnonePer-device guest token; daily cap per IP
/auth/login · /auth/signupPOSTnoneAccounts; invite codes carry consent levels
/chatPOSTbearerStreams SSE: round, tool, delta, memory, secret, device, done
/assist → /confirmPOSTbearerNatural language → confirmed automation
/automationsGET · PUT · DELETEbearerList, pause, delete
/catalog · /integrationsGETbearerServices with states; what is linked
/me/vaultGET · PUT · DELETEbearerWrite-only secrets (names + masked hints)
/me/accountsGET · PUT · DELETEownerSite logins for the SLINK browser
/signage/*variousmanagerScreens, assets, playlists, overrides
/fleet/*variousIT rolePC fleet: checks, cleanup, messages, power
/net/*variousbearerPrivate network: devices, pulse, exit nodes
/admin/*variousadminConsole, dev agent, settings

Headers#

HeaderTypeDefault
AuthorizationBearer slk_…required
X-Device24-hex device idrequired for skills and isolation
X-Clientios · android · webweb
Accepttext/event-stream for streamsapplication/json

Stream events#

EventPayloadWhen
roundround numbereach model round
toolname, label, statea tool starts / finishes
deltatextevery streamed token
memoryitemsfacts the assistant wants to keep
secretname, label, whyopen the secure input sheet
devicerid, capability, queryask the device for a skill
open_account · browseid, site, url (+rid)owner browser
donereply, model, usageend of the reply
errordetailsomething failed