Linework Developers
EN
Get access

Overview

Getting started

From zero to your first API call in a few minutes (plus the time we need to approve your access).

1. Request developer access#

The API is open to every Linework user, but access is reviewed by hand so that bots stay useful and spam stays out.

  1. Sign in to the web app and open web.linework.app → Settings → Developers.
  2. Fill in the request:
    • Use case — what your integration does, in a few sentences (for example “publish the daily menu of my restaurant and reply to questions in chat”).
    • Website — your site or the project page, if you have one.
    • Bot name — the name of your app or bot, shown to us and in your key list.
  3. Send it. You will see the status (pending, approved or declined) in the same page.

The API works on your own account. If the bot should have its own identity (for example “Pizza Roma Bot”), create a separate Linework account for it, with a profile photo and a cover, and request access from that account.

2. Create an API key#

When access is approved, the Developers page lets you create API keys:

  1. Click Create key, give it a name (for example “store-sync production”).
  2. Select only the scopes the integration needs.
  3. Copy the key. It looks like lwk_ followed by 40 characters and is shown only once.

Store it in an environment variable or a secret manager, never in your source code:

export LINEWORK_API_KEY="lwk_your_key_here"

More about keys, limits and revocation in Authentication & API keys.

3. Make your first call#

GET /me returns the account the key belongs to. It is the quickest way to check that everything works.

curl -i https://api.linework.app/open/v1/me \
  -H "Authorization: Bearer $LINEWORK_API_KEY"
const res = await fetch("https://api.linework.app/open/v1/me", {
  headers: { Authorization: `Bearer ${process.env.LINEWORK_API_KEY}` },
});
if (!res.ok) throw new Error(JSON.stringify(await res.json()));
console.log(await res.json());
import os, requests

r = requests.get(
    "https://api.linework.app/open/v1/me",
    headers={"Authorization": f"Bearer {os.environ['LINEWORK_API_KEY']}"},
    timeout=30,
)
r.raise_for_status()
print(r.json())

A successful response is a JSON object describing your profile. If you get 401 INVALID_API_KEY, check that the header is exactly Authorization: Bearer lwk_… and that the key has not been revoked. The exact response fields are listed in the API Reference.

4. Build something#

Before you go live#