Introduction
REST JSON API for Lagr inventory and warehouse management.
Lagr exposes a versioned REST API at `/api/v1`. All requests and responses use JSON.
**Getting started**
1. `POST /api/v1/auth/login` with `email`, `password`, and `tenant_slug` to obtain a Bearer token.
2. Send `Authorization: Bearer {token}` and `X-Tenant-Slug: {tenant_slug}` on every authenticated request.
Successful responses wrap payloads in `{ "data": ... }`. Errors return `{ "code": "...", "message": "..." }`.
Download the [Postman collection](/developers.postman) or [OpenAPI spec](/developers.openapi) from the links in the sidebar.
**API areas**
| Area | What it covers |
|------|----------------|
| Getting started | Health, login, current user |
| Warehouses | Warehouses and bin/slot locations |
| Catalog | Products, SKUs, categories, VAT, currencies |
| Inventory | On-hand levels, lots, movements, transfers |
| Warehouse operations | Write-offs and stock takes |
| Purchasing | Distributors and purchase orders |
| Sales | Customers and sales orders (pick/ship) |
| Integrations | ERP connections and Tripletex sync |
| Webhooks | Incoming Tripletex events |
Authenticating requests
To authenticate requests, include an Authorization header with the value "Bearer {YOUR_BEARER_TOKEN}".
All authenticated endpoints are marked with a requires authentication badge in the documentation below.
Authenticate with POST /api/v1/auth/login using email, password, and tenant_slug. The response includes a Bearer token.
Send these headers on all other endpoints:
Authorization: Bearer {token}X-Tenant-Slug: {tenant_slug}
Integration endpoints additionally require the integrations.manage permission for the authenticated user.
Getting started
Health check, authentication, and session context.
Overview
Health check
Returns API and database status. No authentication required.
Example request:
curl --request GET \
--get "https://api.lagrwms.no/api/v1/health" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://api.lagrwms.no/api/v1/health"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"status": "ok",
"database": "ok"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Authentication
Login
Exchange email, password, and tenant slug for a Bearer token.
Example request:
curl --request POST \
"https://api.lagrwms.no/api/v1/auth/login" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"email\": \"user@example.com\",
\"password\": \"|]|{+-\",
\"tenant_slug\": \"demo\"
}"
const url = new URL(
"https://api.lagrwms.no/api/v1/auth/login"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"email": "user@example.com",
"password": "|]|{+-",
"tenant_slug": "demo"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Session
Get current user
requires authentication
Example request:
curl --request GET \
--get "https://api.lagrwms.no/api/v1/me" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://api.lagrwms.no/api/v1/me"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Warehouses
Physical warehouses that hold stock.
List warehouses
requires authentication
Example request:
curl --request GET \
--get "https://api.lagrwms.no/api/v1/warehouses" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://api.lagrwms.no/api/v1/warehouses"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create warehouses
requires authentication
Example request:
curl --request POST \
"https://api.lagrwms.no/api/v1/warehouses" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"b\",
\"code\": \"n\",
\"status\": \"inactive\",
\"timezone\": \"Antarctica\\/Rothera\"
}"
const url = new URL(
"https://api.lagrwms.no/api/v1/warehouses"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "b",
"code": "n",
"status": "inactive",
"timezone": "Antarctica\/Rothera"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get warehouses
requires authentication
Example request:
curl --request GET \
--get "https://api.lagrwms.no/api/v1/warehouses/architecto" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://api.lagrwms.no/api/v1/warehouses/architecto"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Locations
Bins, slots, and areas inside a warehouse.
List locations
requires authentication
Example request:
curl --request GET \
--get "https://api.lagrwms.no/api/v1/warehouses/architecto/locations" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://api.lagrwms.no/api/v1/warehouses/architecto/locations"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create locations
requires authentication
Example request:
curl --request POST \
"https://api.lagrwms.no/api/v1/warehouses/architecto/locations" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"b\",
\"code\": \"n\",
\"kind\": \"area\",
\"parent_id\": 16,
\"status\": \"inactive\"
}"
const url = new URL(
"https://api.lagrwms.no/api/v1/warehouses/architecto/locations"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "b",
"code": "n",
"kind": "area",
"parent_id": 16,
"status": "inactive"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get locations
requires authentication
Example request:
curl --request GET \
--get "https://api.lagrwms.no/api/v1/warehouses/architecto/locations/architecto" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://api.lagrwms.no/api/v1/warehouses/architecto/locations/architecto"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Catalog
Product master data and relationships.
Products
List products
requires authentication
Example request:
curl --request GET \
--get "https://api.lagrwms.no/api/v1/products" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://api.lagrwms.no/api/v1/products"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create products
requires authentication
Example request:
curl --request POST \
"https://api.lagrwms.no/api/v1/products" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"b\",
\"code\": \"n\",
\"category_id\": 16,
\"vat_type_id\": 16,
\"status\": \"inactive\",
\"description\": \"Et animi quos velit et fugiat.\",
\"external_id\": \"d\",
\"source_system\": \"l\"
}"
const url = new URL(
"https://api.lagrwms.no/api/v1/products"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "b",
"code": "n",
"category_id": 16,
"vat_type_id": 16,
"status": "inactive",
"description": "Et animi quos velit et fugiat.",
"external_id": "d",
"source_system": "l"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get products
requires authentication
Example request:
curl --request GET \
--get "https://api.lagrwms.no/api/v1/products/architecto" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://api.lagrwms.no/api/v1/products/architecto"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update products
requires authentication
Example request:
curl --request PUT \
"https://api.lagrwms.no/api/v1/products/architecto" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"b\",
\"category_id\": 16,
\"vat_type_id\": 16,
\"status\": \"inactive\",
\"description\": \"Et animi quos velit et fugiat.\"
}"
const url = new URL(
"https://api.lagrwms.no/api/v1/products/architecto"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "b",
"category_id": 16,
"vat_type_id": 16,
"status": "inactive",
"description": "Et animi quos velit et fugiat."
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Add product relationship
requires authentication
Example request:
curl --request POST \
"https://api.lagrwms.no/api/v1/products/architecto/relationships" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"related_product_id\": 16,
\"relationship_type\": \"architecto\"
}"
const url = new URL(
"https://api.lagrwms.no/api/v1/products/architecto/relationships"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"related_product_id": 16,
"relationship_type": "architecto"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Remove product relationship
requires authentication
SKUs
List SKUs
requires authentication
Example request:
curl --request GET \
--get "https://api.lagrwms.no/api/v1/products/architecto/skus" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://api.lagrwms.no/api/v1/products/architecto/skus"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create SKUs
requires authentication
Example request:
curl --request POST \
"https://api.lagrwms.no/api/v1/products/architecto/skus" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"code\": \"b\",
\"manufacturer_code\": \"n\",
\"barcode\": \"g\",
\"barcodes\": [
\"z\"
],
\"status\": \"active\",
\"external_id\": \"m\",
\"source_system\": \"i\",
\"distributor_codes\": [
{
\"distributor_id\": 16,
\"item_code\": \"n\"
}
]
}"
const url = new URL(
"https://api.lagrwms.no/api/v1/products/architecto/skus"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"code": "b",
"manufacturer_code": "n",
"barcode": "g",
"barcodes": [
"z"
],
"status": "active",
"external_id": "m",
"source_system": "i",
"distributor_codes": [
{
"distributor_id": 16,
"item_code": "n"
}
]
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get SKUs
requires authentication
Example request:
curl --request GET \
--get "https://api.lagrwms.no/api/v1/products/architecto/skus/architecto" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://api.lagrwms.no/api/v1/products/architecto/skus/architecto"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Categories
List categories
requires authentication
Example request:
curl --request GET \
--get "https://api.lagrwms.no/api/v1/categories" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"parent_id\": 16
}"
const url = new URL(
"https://api.lagrwms.no/api/v1/categories"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"parent_id": 16
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create categories
requires authentication
Example request:
curl --request POST \
"https://api.lagrwms.no/api/v1/categories" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"b\",
\"code\": \"n\",
\"parent_id\": 16,
\"department_id\": 16,
\"status\": \"active\",
\"tracking_rules\": {
\"serial\": \"architecto\",
\"imei\": \"architecto\",
\"fifo\": true
}
}"
const url = new URL(
"https://api.lagrwms.no/api/v1/categories"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "b",
"code": "n",
"parent_id": 16,
"department_id": 16,
"status": "active",
"tracking_rules": {
"serial": "architecto",
"imei": "architecto",
"fifo": true
}
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get categories
requires authentication
Example request:
curl --request GET \
--get "https://api.lagrwms.no/api/v1/categories/architecto" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://api.lagrwms.no/api/v1/categories/architecto"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
VAT types
List VAT types
requires authentication
Example request:
curl --request GET \
--get "https://api.lagrwms.no/api/v1/vat-types" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"direction\": \"inbound\"
}"
const url = new URL(
"https://api.lagrwms.no/api/v1/vat-types"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"direction": "inbound"
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create VAT types
requires authentication
Example request:
curl --request POST \
"https://api.lagrwms.no/api/v1/vat-types" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"code\": \"bngzmiyvdljnikhw\",
\"name\": \"a\",
\"direction\": \"outbound\",
\"basis_percentage\": 50,
\"tax_percentage\": 62,
\"status\": \"active\",
\"tripletex_id\": 16,
\"source_system\": \"n\"
}"
const url = new URL(
"https://api.lagrwms.no/api/v1/vat-types"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"code": "bngzmiyvdljnikhw",
"name": "a",
"direction": "outbound",
"basis_percentage": 50,
"tax_percentage": 62,
"status": "active",
"tripletex_id": 16,
"source_system": "n"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Seed default VAT types
requires authentication
Example request:
curl --request POST \
"https://api.lagrwms.no/api/v1/vat-types/seed-defaults" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://api.lagrwms.no/api/v1/vat-types/seed-defaults"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get VAT types
requires authentication
Example request:
curl --request GET \
--get "https://api.lagrwms.no/api/v1/vat-types/architecto" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://api.lagrwms.no/api/v1/vat-types/architecto"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Currencies
List currencies
requires authentication
Example request:
curl --request GET \
--get "https://api.lagrwms.no/api/v1/currencies" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://api.lagrwms.no/api/v1/currencies"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List exchange rates
requires authentication
Example request:
curl --request GET \
--get "https://api.lagrwms.no/api/v1/exchange-rates" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"currency\": \"bng\",
\"limit\": 16
}"
const url = new URL(
"https://api.lagrwms.no/api/v1/exchange-rates"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"currency": "bng",
"limit": 16
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get latest exchange rate
requires authentication
Example request:
curl --request GET \
--get "https://api.lagrwms.no/api/v1/exchange-rates/latest" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"currency\": \"bng\",
\"date\": \"2026-07-10T21:07:01\"
}"
const url = new URL(
"https://api.lagrwms.no/api/v1/exchange-rates/latest"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"currency": "bng",
"date": "2026-07-10T21:07:01"
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Sync exchange rates
requires authentication
Example request:
curl --request POST \
"https://api.lagrwms.no/api/v1/exchange-rates/sync" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"currencies\": [
\"bng\"
],
\"observations\": 16
}"
const url = new URL(
"https://api.lagrwms.no/api/v1/exchange-rates/sync"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"currencies": [
"bng"
],
"observations": 16
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Inventory
On-hand, reserved, and available quantities per SKU and location.
Levels
List inventory levels
requires authentication
Example request:
curl --request GET \
--get "https://api.lagrwms.no/api/v1/inventory" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"sku_id\": 16,
\"location_id\": 16
}"
const url = new URL(
"https://api.lagrwms.no/api/v1/inventory"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"sku_id": 16,
"location_id": 16
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Lots
List inventory lots
requires authentication
Example request:
curl --request GET \
--get "https://api.lagrwms.no/api/v1/inventory-lots" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"sku_id\": 16,
\"location_id\": 16
}"
const url = new URL(
"https://api.lagrwms.no/api/v1/inventory-lots"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"sku_id": 16,
"location_id": 16
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Tracked units
List tracked units
requires authentication
Example request:
curl --request GET \
--get "https://api.lagrwms.no/api/v1/tracked-units" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"sku_id\": 16,
\"location_id\": 16
}"
const url = new URL(
"https://api.lagrwms.no/api/v1/tracked-units"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"sku_id": 16,
"location_id": 16
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Movements
List stock movements
requires authentication
Example request:
curl --request GET \
--get "https://api.lagrwms.no/api/v1/stock-movements" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"sku_id\": 16,
\"location_id\": 16
}"
const url = new URL(
"https://api.lagrwms.no/api/v1/stock-movements"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"sku_id": 16,
"location_id": 16
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create stock movements
requires authentication
Example request:
curl --request POST \
"https://api.lagrwms.no/api/v1/stock-movements" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"sku_id\": 16,
\"location_id\": 16,
\"movement_type\": \"adjust\",
\"quantity_delta\": \"architecto\",
\"unit_cost\": 39,
\"tracked_unit_ids\": [
16
],
\"note\": \"architecto\",
\"source_document_type\": \"n\",
\"source_document_id\": 16,
\"source_system\": \"n\",
\"units\": [
{
\"serial_number\": \"g\",
\"imei\": \"z\",
\"unit_cost\": 77
}
]
}"
const url = new URL(
"https://api.lagrwms.no/api/v1/stock-movements"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"sku_id": 16,
"location_id": 16,
"movement_type": "adjust",
"quantity_delta": "architecto",
"unit_cost": 39,
"tracked_unit_ids": [
16
],
"note": "architecto",
"source_document_type": "n",
"source_document_id": 16,
"source_system": "n",
"units": [
{
"serial_number": "g",
"imei": "z",
"unit_cost": 77
}
]
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Transfers
Create stock transfers
requires authentication
Example request:
curl --request POST \
"https://api.lagrwms.no/api/v1/stock-transfers" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"sku_id\": 16,
\"from_location_id\": 16,
\"to_location_id\": 16,
\"quantity\": \"architecto\",
\"note\": \"architecto\"
}"
const url = new URL(
"https://api.lagrwms.no/api/v1/stock-transfers"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"sku_id": 16,
"from_location_id": 16,
"to_location_id": 16,
"quantity": "architecto",
"note": "architecto"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Warehouse operations
Shrinkage, damage, and valuation adjustments.
Write-offs
List write-off
requires authentication
Example request:
curl --request GET \
--get "https://api.lagrwms.no/api/v1/write-offs" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://api.lagrwms.no/api/v1/write-offs"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create write-off
requires authentication
Example request:
curl --request POST \
"https://api.lagrwms.no/api/v1/write-offs" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"warehouse_id\": 16,
\"type\": \"architecto\",
\"reason_code\": \"architecto\",
\"notes\": \"architecto\",
\"lines\": [
{
\"sku_id\": 16,
\"location_id\": 16,
\"quantity\": \"architecto\",
\"new_unit_cost\": 39,
\"tracked_unit_ids\": [
16
],
\"notes\": \"architecto\"
}
]
}"
const url = new URL(
"https://api.lagrwms.no/api/v1/write-offs"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"warehouse_id": 16,
"type": "architecto",
"reason_code": "architecto",
"notes": "architecto",
"lines": [
{
"sku_id": 16,
"location_id": 16,
"quantity": "architecto",
"new_unit_cost": 39,
"tracked_unit_ids": [
16
],
"notes": "architecto"
}
]
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get write-off
requires authentication
Example request:
curl --request GET \
--get "https://api.lagrwms.no/api/v1/write-offs/architecto" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://api.lagrwms.no/api/v1/write-offs/architecto"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Complete write-off
requires authentication
Example request:
curl --request POST \
"https://api.lagrwms.no/api/v1/write-offs/architecto/complete" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://api.lagrwms.no/api/v1/write-offs/architecto/complete"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Cancel write-off
requires authentication
Example request:
curl --request POST \
"https://api.lagrwms.no/api/v1/write-offs/architecto/cancel" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://api.lagrwms.no/api/v1/write-offs/architecto/cancel"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Stock takes
List stock take
requires authentication
Example request:
curl --request GET \
--get "https://api.lagrwms.no/api/v1/stock-takes" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://api.lagrwms.no/api/v1/stock-takes"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create stock take
requires authentication
Example request:
curl --request POST \
"https://api.lagrwms.no/api/v1/stock-takes" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"warehouse_id\": 16,
\"type\": \"architecto\",
\"scope\": \"architecto\",
\"category_ids\": [
16
],
\"notes\": \"architecto\",
\"assigned_user_id\": 16,
\"lines\": [
{
\"sku_id\": 16,
\"location_id\": 16,
\"notes\": \"architecto\"
}
]
}"
const url = new URL(
"https://api.lagrwms.no/api/v1/stock-takes"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"warehouse_id": 16,
"type": "architecto",
"scope": "architecto",
"category_ids": [
16
],
"notes": "architecto",
"assigned_user_id": 16,
"lines": [
{
"sku_id": 16,
"location_id": 16,
"notes": "architecto"
}
]
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get stock take
requires authentication
Example request:
curl --request GET \
--get "https://api.lagrwms.no/api/v1/stock-takes/architecto" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://api.lagrwms.no/api/v1/stock-takes/architecto"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Start stock take
requires authentication
Example request:
curl --request POST \
"https://api.lagrwms.no/api/v1/stock-takes/architecto/start" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://api.lagrwms.no/api/v1/stock-takes/architecto/start"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Scan during stock take
requires authentication
Example request:
curl --request POST \
"https://api.lagrwms.no/api/v1/stock-takes/architecto/scan" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"scan\": \"b\",
\"location_id\": 16,
\"increment\": true
}"
const url = new URL(
"https://api.lagrwms.no/api/v1/stock-takes/architecto/scan"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"scan": "b",
"location_id": 16,
"increment": true
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Record stock take count
requires authentication
Example request:
curl --request POST \
"https://api.lagrwms.no/api/v1/stock-takes/architecto/lines/architecto/count" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"counted_quantity\": \"architecto\",
\"notes\": \"architecto\"
}"
const url = new URL(
"https://api.lagrwms.no/api/v1/stock-takes/architecto/lines/architecto/count"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"counted_quantity": "architecto",
"notes": "architecto"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Complete stock take
requires authentication
Example request:
curl --request POST \
"https://api.lagrwms.no/api/v1/stock-takes/architecto/complete" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://api.lagrwms.no/api/v1/stock-takes/architecto/complete"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Cancel stock take
requires authentication
Example request:
curl --request POST \
"https://api.lagrwms.no/api/v1/stock-takes/architecto/cancel" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://api.lagrwms.no/api/v1/stock-takes/architecto/cancel"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Purchasing
Suppliers and inbound purchase orders.
Distributors
List distributors
requires authentication
Example request:
curl --request GET \
--get "https://api.lagrwms.no/api/v1/distributors" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://api.lagrwms.no/api/v1/distributors"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create distributors
requires authentication
Example request:
curl --request POST \
"https://api.lagrwms.no/api/v1/distributors" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"b\",
\"distributor_number\": \"n\",
\"address_line1\": \"g\",
\"address_line2\": \"z\",
\"postal_code\": \"m\",
\"city\": \"i\",
\"country\": \"yv\",
\"phone\": \"d\",
\"contact_email\": \"jermaine.tillman@example.org\",
\"organization_number\": \"h\",
\"website\": \"w\",
\"notes\": \"architecto\",
\"status\": \"inactive\",
\"default_currency\": \"ngz\"
}"
const url = new URL(
"https://api.lagrwms.no/api/v1/distributors"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "b",
"distributor_number": "n",
"address_line1": "g",
"address_line2": "z",
"postal_code": "m",
"city": "i",
"country": "yv",
"phone": "d",
"contact_email": "jermaine.tillman@example.org",
"organization_number": "h",
"website": "w",
"notes": "architecto",
"status": "inactive",
"default_currency": "ngz"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get distributors
requires authentication
Example request:
curl --request GET \
--get "https://api.lagrwms.no/api/v1/distributors/architecto" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://api.lagrwms.no/api/v1/distributors/architecto"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Purchase orders
List purchase order
requires authentication
Example request:
curl --request GET \
--get "https://api.lagrwms.no/api/v1/purchase-orders" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://api.lagrwms.no/api/v1/purchase-orders"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create purchase order
requires authentication
Example request:
curl --request POST \
"https://api.lagrwms.no/api/v1/purchase-orders" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"warehouse_id\": 16,
\"distributor_id\": 16,
\"vendor_name\": \"n\",
\"reference\": \"g\",
\"expected_at\": \"2026-07-10T21:07:01\",
\"notes\": \"architecto\",
\"currency_code\": \"ngz\",
\"lines\": [
{
\"sku_id\": 16,
\"quantity_ordered\": \"architecto\",
\"unit_cost\": 39
}
]
}"
const url = new URL(
"https://api.lagrwms.no/api/v1/purchase-orders"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"warehouse_id": 16,
"distributor_id": 16,
"vendor_name": "n",
"reference": "g",
"expected_at": "2026-07-10T21:07:01",
"notes": "architecto",
"currency_code": "ngz",
"lines": [
{
"sku_id": 16,
"quantity_ordered": "architecto",
"unit_cost": 39
}
]
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get purchase order
requires authentication
Example request:
curl --request GET \
--get "https://api.lagrwms.no/api/v1/purchase-orders/architecto" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://api.lagrwms.no/api/v1/purchase-orders/architecto"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Submit purchase order
requires authentication
Example request:
curl --request POST \
"https://api.lagrwms.no/api/v1/purchase-orders/architecto/submit" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://api.lagrwms.no/api/v1/purchase-orders/architecto/submit"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Cancel purchase order
requires authentication
Example request:
curl --request POST \
"https://api.lagrwms.no/api/v1/purchase-orders/architecto/cancel" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://api.lagrwms.no/api/v1/purchase-orders/architecto/cancel"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Receive purchase order line
requires authentication
Example request:
curl --request POST \
"https://api.lagrwms.no/api/v1/purchase-orders/architecto/lines/architecto/receive" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"location_id\": 16,
\"quantity\": \"architecto\",
\"unit_cost\": 39,
\"note\": \"architecto\",
\"units\": [
{
\"serial_number\": \"n\",
\"imei\": \"g\"
}
]
}"
const url = new URL(
"https://api.lagrwms.no/api/v1/purchase-orders/architecto/lines/architecto/receive"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"location_id": 16,
"quantity": "architecto",
"unit_cost": 39,
"note": "architecto",
"units": [
{
"serial_number": "n",
"imei": "g"
}
]
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Sales
Customers and outbound sales order fulfillment.
Customers
List customers
requires authentication
Example request:
curl --request GET \
--get "https://api.lagrwms.no/api/v1/customers" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://api.lagrwms.no/api/v1/customers"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create customers
requires authentication
Example request:
curl --request POST \
"https://api.lagrwms.no/api/v1/customers" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"b\",
\"customer_number\": \"n\",
\"address_line1\": \"g\",
\"address_line2\": \"z\",
\"postal_code\": \"m\",
\"city\": \"i\",
\"country\": \"yv\",
\"phone\": \"d\",
\"email\": \"jermaine.tillman@example.org\",
\"organization_number\": \"h\",
\"status\": \"inactive\"
}"
const url = new URL(
"https://api.lagrwms.no/api/v1/customers"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "b",
"customer_number": "n",
"address_line1": "g",
"address_line2": "z",
"postal_code": "m",
"city": "i",
"country": "yv",
"phone": "d",
"email": "jermaine.tillman@example.org",
"organization_number": "h",
"status": "inactive"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get customers
requires authentication
Example request:
curl --request GET \
--get "https://api.lagrwms.no/api/v1/customers/architecto" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://api.lagrwms.no/api/v1/customers/architecto"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update customers
requires authentication
Example request:
curl --request PUT \
"https://api.lagrwms.no/api/v1/customers/architecto" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"b\",
\"address_line1\": \"n\",
\"address_line2\": \"g\",
\"postal_code\": \"z\",
\"city\": \"m\",
\"country\": \"iy\",
\"phone\": \"v\",
\"email\": \"jdach@example.org\",
\"organization_number\": \"i\",
\"status\": \"active\"
}"
const url = new URL(
"https://api.lagrwms.no/api/v1/customers/architecto"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "b",
"address_line1": "n",
"address_line2": "g",
"postal_code": "z",
"city": "m",
"country": "iy",
"phone": "v",
"email": "jdach@example.org",
"organization_number": "i",
"status": "active"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Sales orders
List sales order
requires authentication
Example request:
curl --request GET \
--get "https://api.lagrwms.no/api/v1/sales-orders" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://api.lagrwms.no/api/v1/sales-orders"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create sales order
requires authentication
Example request:
curl --request POST \
"https://api.lagrwms.no/api/v1/sales-orders" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"warehouse_id\": 16,
\"customer_name\": \"n\",
\"reference\": \"g\",
\"notes\": \"architecto\",
\"lines\": [
{
\"sku_id\": 16,
\"quantity_ordered\": \"architecto\"
}
]
}"
const url = new URL(
"https://api.lagrwms.no/api/v1/sales-orders"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"warehouse_id": 16,
"customer_name": "n",
"reference": "g",
"notes": "architecto",
"lines": [
{
"sku_id": 16,
"quantity_ordered": "architecto"
}
]
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get sales order
requires authentication
Example request:
curl --request GET \
--get "https://api.lagrwms.no/api/v1/sales-orders/architecto" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://api.lagrwms.no/api/v1/sales-orders/architecto"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Confirm and reserve sales order
requires authentication
Example request:
curl --request POST \
"https://api.lagrwms.no/api/v1/sales-orders/architecto/confirm" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"allocations\": [
{
\"line_id\": 16,
\"location_id\": 16,
\"quantity\": \"architecto\"
}
]
}"
const url = new URL(
"https://api.lagrwms.no/api/v1/sales-orders/architecto/confirm"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"allocations": [
{
"line_id": 16,
"location_id": 16,
"quantity": "architecto"
}
]
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Cancel sales order
requires authentication
Example request:
curl --request POST \
"https://api.lagrwms.no/api/v1/sales-orders/architecto/cancel" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://api.lagrwms.no/api/v1/sales-orders/architecto/cancel"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Pick allocated stock
requires authentication
Example request:
curl --request POST \
"https://api.lagrwms.no/api/v1/sales-orders/architecto/allocations/architecto/pick" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"quantity\": \"architecto\",
\"note\": \"architecto\"
}"
const url = new URL(
"https://api.lagrwms.no/api/v1/sales-orders/architecto/allocations/architecto/pick"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"quantity": "architecto",
"note": "architecto"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Ship picked stock
requires authentication
Example request:
curl --request POST \
"https://api.lagrwms.no/api/v1/sales-orders/architecto/allocations/architecto/ship" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"quantity\": \"architecto\",
\"tracked_unit_ids\": [
16
],
\"note\": \"architecto\"
}"
const url = new URL(
"https://api.lagrwms.no/api/v1/sales-orders/architecto/allocations/architecto/ship"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"quantity": "architecto",
"tracked_unit_ids": [
16
],
"note": "architecto"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Integrations
ERP connections, credentials, and Tripletex sync actions. Requires integrations.manage.
Tripletex sync
Tripletex webhook guide
requires authentication
Example request:
curl --request GET \
--get "https://api.lagrwms.no/api/v1/integrations/tripletex/webhook-guide" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://api.lagrwms.no/api/v1/integrations/tripletex/webhook-guide"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Sync products from Tripletex
requires authentication
Example request:
curl --request POST \
"https://api.lagrwms.no/api/v1/integrations/tripletex/sync-products" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"connection_id\": 16
}"
const url = new URL(
"https://api.lagrwms.no/api/v1/integrations/tripletex/sync-products"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"connection_id": 16
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Inbound sync (all entities)
requires authentication
Example request:
curl --request POST \
"https://api.lagrwms.no/api/v1/integrations/tripletex/sync-all" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://api.lagrwms.no/api/v1/integrations/tripletex/sync-all"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Two-way reconciliation
requires authentication
Example request:
curl --request POST \
"https://api.lagrwms.no/api/v1/integrations/tripletex/reconcile" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://api.lagrwms.no/api/v1/integrations/tripletex/reconcile"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Push products to Tripletex
requires authentication
Example request:
curl --request POST \
"https://api.lagrwms.no/api/v1/integrations/tripletex/push-products" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"connection_id\": 16,
\"product_id\": 16
}"
const url = new URL(
"https://api.lagrwms.no/api/v1/integrations/tripletex/push-products"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"connection_id": 16,
"product_id": 16
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Sync sales orders from Tripletex
requires authentication
Example request:
curl --request POST \
"https://api.lagrwms.no/api/v1/integrations/tripletex/sync-orders" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"connection_id\": 16
}"
const url = new URL(
"https://api.lagrwms.no/api/v1/integrations/tripletex/sync-orders"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"connection_id": 16
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Sync suppliers from Tripletex
requires authentication
Example request:
curl --request POST \
"https://api.lagrwms.no/api/v1/integrations/tripletex/sync-suppliers" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"connection_id\": 16
}"
const url = new URL(
"https://api.lagrwms.no/api/v1/integrations/tripletex/sync-suppliers"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"connection_id": 16
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Sync customers from Tripletex
requires authentication
Example request:
curl --request POST \
"https://api.lagrwms.no/api/v1/integrations/tripletex/sync-customers" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"connection_id\": 16
}"
const url = new URL(
"https://api.lagrwms.no/api/v1/integrations/tripletex/sync-customers"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"connection_id": 16
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Sync Employees
requires authentication
Example request:
curl --request POST \
"https://api.lagrwms.no/api/v1/integrations/tripletex/sync-employees" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"connection_id\": 16
}"
const url = new URL(
"https://api.lagrwms.no/api/v1/integrations/tripletex/sync-employees"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"connection_id": 16
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List webhook events
requires authentication
Example request:
curl --request GET \
--get "https://api.lagrwms.no/api/v1/integrations/webhook-events" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"connection_id\": 16,
\"status\": \"n\",
\"event\": \"g\",
\"per_page\": 16
}"
const url = new URL(
"https://api.lagrwms.no/api/v1/integrations/webhook-events"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"connection_id": 16,
"status": "n",
"event": "g",
"per_page": 16
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List webhook subscriptions
requires authentication
Example request:
curl --request GET \
--get "https://api.lagrwms.no/api/v1/integrations/tripletex/webhook-subscriptions" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://api.lagrwms.no/api/v1/integrations/tripletex/webhook-subscriptions"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update webhook subscriptions
requires authentication
Example request:
curl --request PUT \
"https://api.lagrwms.no/api/v1/integrations/tripletex/webhook-subscriptions" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"connection_id\": 16,
\"events\": [
\"architecto\"
]
}"
const url = new URL(
"https://api.lagrwms.no/api/v1/integrations/tripletex/webhook-subscriptions"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"connection_id": 16,
"events": [
"architecto"
]
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Connections
List integration connection
requires authentication
Example request:
curl --request GET \
--get "https://api.lagrwms.no/api/v1/integrations" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://api.lagrwms.no/api/v1/integrations"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create integration connection
requires authentication
Example request:
curl --request POST \
"https://api.lagrwms.no/api/v1/integrations" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"b\",
\"provider\": \"n\",
\"status\": \"inactive\"
}"
const url = new URL(
"https://api.lagrwms.no/api/v1/integrations"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "b",
"provider": "n",
"status": "inactive"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get integration connection
requires authentication
Example request:
curl --request GET \
--get "https://api.lagrwms.no/api/v1/integrations/architecto" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://api.lagrwms.no/api/v1/integrations/architecto"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update integration connection
requires authentication
Example request:
curl --request PUT \
"https://api.lagrwms.no/api/v1/integrations/architecto" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"b\",
\"status\": \"error\"
}"
const url = new URL(
"https://api.lagrwms.no/api/v1/integrations/architecto"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "b",
"status": "error"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Test integration connection
requires authentication
Example request:
curl --request POST \
"https://api.lagrwms.no/api/v1/integrations/architecto/test" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://api.lagrwms.no/api/v1/integrations/architecto/test"
);
const headers = {
"Authorization": "Bearer {YOUR_BEARER_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Webhooks
Incoming events from Tripletex (Bearer secret, not user token).
Tripletex webhook receiver
Inbound events from Tripletex. Authenticated via webhook signature middleware, not Bearer tokens.
Example request:
curl --request POST \
"https://api.lagrwms.no/api/v1/webhooks/tripletex/demo" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://api.lagrwms.no/api/v1/webhooks/tripletex/demo"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.