Next Restaurant 6.1.0: move your data in, run payroll, and connect other systems Next Inventory 6.2.0: a REST API and webhooks for your other systems Next DB 6.1: Auto-Updating Tables, Printing, Phone Layout and SEO Next Task 6.0.0: a task manager for Joomla Next Inventory 6.1.1: smoother Check Out, no more list limits, and much faster PHP2Shell: Is Your Joomla Site Safe? What to Do Today Introducing Next Boards: Kanban project and task boards for Joomla Building the Future of Joomla Extensions
NextSoftware

Lookup Sku

GET /lookup/sku

Find the published item with an exact SKU

Scope lookups:read. 404 when nothing matches.

Request

GET https://example.com/api/index.php/v1/nextinventory/lookup/sku?sku=<string>

Parameters

Name Type In Required Description
sku string query Yes

Responses

200 — The item.

{
    "data": {
        "id": 1,
        "title": "string",
        "alias": "string",
        "item_type": "asset",
        "sku": "string",
        "barcode": "string",
        "serial_number": "string",
        "category_id": 1,
        "category_title": "string",
        "warehouse_id": 1,
        "warehouse_title": "string",
        "unit_id": 1,
        "unit_title": "string",
        "unit_code": "string",
        "stock_quantity": 1.5,
        "unit_price": 1.5,
        "low_stock_threshold": 1.5,
        "weight": 1.5,
        "weight_unit": "string",
        "track_weight": true,
        "description": "string",
        "image": "string",
        "state": 1,
        "created": "2026-01-01T12:00:00Z",
        "modified": "2026-01-01T12:00:00Z"
    }
}
Field Type Meaning
data.id integer
data.title string
data.alias string|null
data.item_type string One of asset, consumable, sellable.
data.sku string|null
data.barcode string|null
data.serial_number string|null
data.category_id integer|null
data.category_title string|null
data.warehouse_id integer|null
data.warehouse_title string|null
data.unit_id integer|null
data.unit_title string|null
data.unit_code string|null
data.stock_quantity number
data.unit_price number
data.low_stock_threshold number
data.weight number|null
data.weight_unit string|null
data.track_weight boolean
data.description string|null
data.image string|null Site-relative path of the original image.
data.state integer 1 published, 0 unpublished.
data.created string|null (date-time)
data.modified string|null (date-time)

Errors

Status Code When
4 A refusal. Common codes: MISSING_TOKEN / INVALID_TOKEN (401); API_DISABLED, ACCOUNT_UNUSABLE, ACCESS_DENIED, TASK_NOT_ALLOWED, MISSING_SCOPE, APP_DISABLED, DEMO_LOCKED, FORBIDDEN (403); NOT_FOUND (404); BAD_REQUEST / INVALID_JSON / INVALID_IDEMPOTENCY_KEY (400, validation and stock rules, with the reason in title); IDEMPOTENCY_IN_PROGRESS (409); PRECONDITION_FAILED (412, the record changed since the If-Match ETag was read); IDEMPOTENCY_KEY_REUSED (422); RATE_LIMITED / TOO_MANY_FAILED_LOGINS (429, with a Retry-After header in seconds); SERVER_ERROR (500).

Examples

curl

curl -s "https://example.com/api/index.php/v1/nextinventory/lookup/sku?sku=value" \
  -H "Authorization: Bearer $API_TOKEN"

PHP

<?php
$ch = curl_init('https://example.com/api/index.php/v1/nextinventory/lookup/sku?sku=<string>');

curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER     => [
        'Authorization: Bearer ' . getenv('API_TOKEN'),
    ],
]);

$response = json_decode(curl_exec($ch), true);
curl_close($ch);

JavaScript

const API_TOKEN = process.env.API_TOKEN;

const response = await fetch("https://example.com/api/index.php/v1/nextinventory/lookup/sku?sku=<string>", {
  headers: {
    "Authorization": `Bearer ${API_TOKEN}`,
  },
});
const data = await response.json();

All Extensions