Items (item)
Auth
- GET is PUBLIC for
itemonly whenapplication_idis provided as a query param. - POST / DELETE require authorization: either
Authorization: Bearer {{oauth_access_token}}(OAuth client_credentials token), ormobstep-customer-token: {{customer_token}}(customer token)
Base URL
{{base_path}}{{api_v3_path}}/item
Notes
- Friendly entity names are supported in URLs (example:
/item). - Legacy internal names (example:
/apps_item) are still accepted for backward compatibility.
GET Query Parameters (supported by API v3)
fields(required)- Comma-separated list of fields to include in the response.
- If missing/empty: 400
invalid_requestParameter fields is required. - Example:
fields=id,name,base_price,application_id
locale(optional)- Supported values:
primary(default),secondary. - When
locale=secondary, the API may override some primary fields with their secondary-language values but you still request the base field names (do not request any*_secondaryfields).
- Supported values:
application_id(required for public GET only)- Required for public GET (
itemis public when application_id exists). - When authorized, application_id is scoped from auth context and query param is ignored.
- Required for public GET (
sort(optional)- Format:
sort=<field>,<ASC|DESC> - Example:
sort=created,DESC - If field not allowed: 400
invalid_sort. - Default when not provided:
created,DESC.
- Format:
range(optional; pagination)- Format:
range=<offset>,<limit> - Example:
range=0,50 - Default when not provided:
range=0,300. - If invalid: 400
invalid_range.
- Format:
search(optional; contains search)- Format:
search=<field>,<value> - Multiple OR groups: separate by
| - Example:
search=name,cola|short_description,zero
- Format:
group(optional)- Format:
group=<field> - Example:
group=category_id - If field not allowed: 400
invalid_group.
- Format:
- Filter by field value (optional)
- You can pass any field name as a query parameter to filter results.
- Values are comma-separated and applied as an
INcondition. - Example:
available=1orcategory_id=10,12,15
Fields (item)
| Field | Type | Required | Read-only | Default | Meaning / Description |
|---|---|---|---|---|---|
id |
integer | no | yes | - | The ID of the Item entity. |
uuid |
uuid | no | yes | - | The UUID of the Item entity. |
iid |
integer | no | no | - | The IID of the entity (legacy/internal identifier). |
name |
string | yes | no | - | Primary item name (default language). |
short_description |
string | no | no | - | Short item description (default language). |
description |
text_long | no | no | - | Full item description (default language). |
item_image |
image[] | no | no | - | Item images (multiple). In GET responses this is returned as processed image objects/URLs. |
base_price |
decimal | no | no | - | Base price of the item. |
sale_price |
decimal | no | no | - | Sale/discounted price of the item (if any). |
rewards_catalog |
boolean | no | no | false |
Whether the item is part of rewards catalog. |
loyalty_points |
decimal | no | no | - | Loyalty points value associated with the item. |
stock |
integer | no | no | 100000 |
Available stock quantity (used if tracking inventory logic depends on it). |
category_id |
entity_reference (apps_category)[] | no | no | - | Categories this item belongs to (multiple). |
weight |
integer | no | no | - | Item weight (used for delivery/pricing logic where applicable). |
available |
boolean | no | no | true |
Whether the item is currently available for ordering. |
quantity_step |
decimal | no | no | 1 |
Defines the increment step of the quantity (e.g. 1 for piece, 0.01 for grams/ml, etc.). |
quantity_min |
decimal | no | no | 1 |
Defines the minimum allowed quantity for this item. |
quantity_max |
decimal | no | no | - | Defines the maximum allowed quantity for this item. |
track_inventory |
boolean | no | no | false |
If enabled, stock is treated as finite and decremented/validated by inventory logic. |
has_components |
boolean | no | no | false |
Enable BOM (bill of materials) components for this item. |
components |
component[] | no | no | - | BOM components list (custom field type). Used when has_components=true. |
branch_id |
entity_reference (apps_branch)[] | yes | no | - | Branches where this item is available (required). |
unit |
list_string | no | no | piece |
Unit of measurement. Allowed: piece, pack, gram, kilogram, milliliter, liter. |
sku |
string | no | no | - | Stock keeping unit code. |
admin_id |
entity_reference (user) | no | no | - | Owner/admin user reference. |
variation_group_title |
string | no | no | - | Variant group title (default language). |
variation_id |
entity_reference (apps_variation)[] | no | no | - | Variants attached to this item (multiple). |
addon_group_id |
entity_reference (apps_addon_group)[] | no | no | - | Add-on groups available for this item (multiple). |
reward_points |
decimal | no | no | - | Reward points configured for the item. |
application_id |
entity_reference (apps_application) | yes | no | - | The owning application/store id (required). |
langcode |
language | no | no | - | The language code of Apps entity. |
created |
timestamp | no | no | - | The time that the entity was created. |
changed |
timestamp | no | no | - | The time that the entity was last edited. |
Notes
- For entity_reference fields, the API commonly returns arrays of
{ \"target_id\": <id> }and/or expanded referenced entities depending on the formatter logic. fieldscan also include allowed calculated fields, but only from the API v3 known list (otherwise 400invalid_field).
GET
GET Items (Public)
URL
https://mobstep.com/api/v3.0/item?application_id={{application_id}}&locale=primary&fields=id,uuid,name,short_description,description,item_image,base_price,sale_price,rewards_catalog,loyalty_points,stock,category_id,weight,available,quantity_step,quantity_min,quantity_max,track_inventory,has_components,components,branch_id,unit,sku,admin_id,variation_group_title,variation_id,addon_group_id,reward_points,application_id,langcode,created,changed Fields
| Name | Description |
|---|---|
id | - |
uuid | - |
name | - |
short_description | - |
description | - |
item_image | - |
base_price | - |
sale_price | - |
rewards_catalog | - |
loyalty_points | - |
stock | - |
category_id | - |
weight | - |
available | - |
quantity_step | - |
quantity_min | - |
quantity_max | - |
track_inventory | - |
has_components | - |
components | - |
branch_id | - |
unit | - |
sku | - |
admin_id | - |
variation_group_title | - |
variation_id | - |
addon_group_id | - |
reward_points | - |
application_id | - |
langcode | - |
created | - |
changed | - |
Headers
| Name | Value | Description |
|---|---|---|
Accept | application/json | - |
Description
Public GET for item requires application_id + fields. Authentication is not required for this entity when application_id is provided.
POST
POST Items: Create (Auth required)
URL
https://mobstep.com/api/v3.0/item Headers
| Name | Value | Description |
|---|---|---|
Content-Type | application/json | - |
Authorization | Bearer {{oauth_access_token}} | - |
mobstep-customer-token | {{customer_token}} | - |
Body
{
"name": "Sample Item",
"application_id": {{application_id}},
"branch_id": [{"target_id": 1}],
"base_price": 10.0,
"sale_price": 9.5,
"available": true,
"stock": 100
} Description
Create item. Requires authorization. Required fields: name, application_id, branch_id.
POST
POST Items: Update (Auth required)
URL
https://mobstep.com/api/v3.0/item Headers
| Name | Value | Description |
|---|---|---|
Content-Type | application/json | - |
Authorization | Bearer {{oauth_access_token}} | - |
mobstep-customer-token | {{customer_token}} | - |
Body
{
"id": "{{api_entity_id}}",
"name": "Updated Item Name"
} Description
Update item by providing id in body. Requires authorization.
DELETE
DELETE Items (Auth required)
URL
https://mobstep.com/api/v3.0/item/{{api_entity_id}} Headers
| Name | Value | Description |
|---|---|---|
Authorization | Bearer {{oauth_access_token}} | - |
mobstep-customer-token | {{customer_token}} | - |
Description
Delete item by id. Requires authorization.