Inventory

Stock Takes

A StockTake represents a stock take of inventory items.

The StockTake object

Attributes

  • iduuidrequired

    The ID of the stocktake.

  • descriptionstringrequired

    The description of the stocktake.

  • statusstringrequired

    The status of the stocktake.

    Possible values:in_progresscomplete
  • currencystringrequired

    The currency of the stocktake.

  • created_by_iduuidrequirednullable

    The ID of the user who created the stocktake.

  • created_byobjectoptionalnullable

    The summary of the user who created the stocktake.

  • posted_by_iduuidoptionalnullable

    The ID of the user who posted the stocktake.

  • posted_byobjectoptionalnullable

    The summary of the user who posted the stocktake.

  • items_addedbooleanrequired

    Whether items have been added to the stock take.

  • site_iduuidrequired

    The ID of the site the stocktake belongs to.

  • organisation_iduuidrequired

    The ID of the organisation this stocktake belongs to.

  • created_atdate-timerequired

    The date and time the stocktake was created.

  • posted_atdate-timerequirednullable

    The date and time the stocktake was posted.

  • updated_atdate-timerequired

    The date and time the stocktake was last updated.

{
  "id": "00000000-0000-0000-0000-000000000000",
  "description": "Stocktake started on 01/06/2024",
  "status": "in_progress",
  "currency": "gbp",
  "created_by_id": "00000000-0000-0000-0000-000000000000",
  "created_by": {},
  "posted_by_id": "00000000-0000-0000-0000-000000000000",
  "posted_by": {
    "id": "00000000-0000-0000-0000-000000000000",
    "email": "guest@example.com",
    "first_name": "Dan",
    "last_name": "Johnson",
    "full_name": "Dan Johnson"
  },
  "items_added": false,
  "site_id": "00000000-0000-0000-0000-000000000000",
  "organisation_id": "00000000-0000-0000-0000-000000000000",
  "created_at": "2024-06-01T12:00:00Z",
  "posted_at": "2026-01-15T09:30:00+00:00",
  "updated_at": "2026-01-15T09:30:00+00:00"
}
get/inventory/stock-takes

List Stocktakes

listStockTakes

This endpoint retrieves a list of all the stocktakes for the given site.

Query parameters

  • site_iduuidrequired

    Filter stocktakes by site.

  • pageintegeroptional

    The page to retrieve results from

  • per_pageintegeroptional

    The number of results to return per page

Responses

  • 200

    The stocktakes were successfully retrieved

  • 401

    The user is unauthenticated

post/inventory/stock-takes

Create a Stocktake

createStockTake

This endpoint creates a stocktake for the given site.

Request body

  • descriptionstringrequired

    Free-text label shown in the admin UI and on stocktake reports, used to distinguish this stocktake from others (e.g. "Quarterly retail count Q1 2024"). 1-255 characters.

Responses

  • 201

    The stocktake was successfully retrieved

  • 401

    The user is unauthenticated

  • 403

    The authenticated user does not have permission.

  • 422

    The request didn't pass validation

get/inventory/stock-takes/{stockTakeId}

Show a Stocktake

getStockTake

This endpoint retrieves a stocktake for the given site.

Path parameters

  • stockTakeIduuidrequired

    Identifier of the stocktake. Returned from createStockTake; use it to read the stocktake, list or update its items, post the final counts, or poll the async queue for export status.

Responses

  • 200

    The stocktake was successfully retrieved

  • 401

    The user is unauthenticated

  • 404

    The resource couldn't be found

put/inventory/stock-takes/{stockTakeId}

Update a Stocktake

updateStockTake

This endpoint updates a stocktake for the given site.

Path parameters

  • stockTakeIduuidrequired

    Identifier of the stocktake. Returned from createStockTake; use it to read the stocktake, list or update its items, post the final counts, or poll the async queue for export status.

Request body

  • descriptionstringoptional

    Free-text label shown in the admin UI and on stocktake reports, used to distinguish this stocktake from others (e.g. "Quarterly retail count Q1 2024"). 1-255 characters.

Responses

  • 200

    The stocktake was successfully retrieved

  • 401

    The user is unauthenticated

  • 403

    The authenticated user does not have permission.

  • 404

    The resource couldn't be found

  • 422

    The request didn't pass validation

delete/inventory/stock-takes/{stockTakeId}

Delete a Stocktake

deleteStockTake

This endpoint deletes a stocktake for the given site.

Path parameters

  • stockTakeIduuidrequired

    Identifier of the stocktake. Returned from createStockTake; use it to read the stocktake, list or update its items, post the final counts, or poll the async queue for export status.

Responses

  • 204

    The stocktake was successfully deleted.

  • 401

    The user is unauthenticated

  • 403

    The authenticated user does not have permission.

  • 404

    The resource couldn't be found

post/inventory/stock-takes/{stockTakeId}/post

Post a Stocktake

createStockTakePosting

This endpoint posts a stocktake for the given site.

Path parameters

  • stockTakeIduuidrequired

    Identifier of the stocktake. Returned from createStockTake; use it to read the stocktake, list or update its items, post the final counts, or poll the async queue for export status.

Responses

  • 200

    The job was successfully queued

  • 401

    The user is unauthenticated

  • 403

    The authenticated user does not have permission.

  • 404

    The resource couldn't be found

get/inventory/stock-takes/{stockTakeId}/items

List Stocktake Items

listStockTakeItems

This endpoint retrieves a list of all the items for the given stocktake.

Path parameters

  • stockTakeIduuidrequired

    Identifier of the stocktake. Returned from createStockTake; use it to read the stocktake, list or update its items, post the final counts, or poll the async queue for export status.

Query parameters

  • brand_idsstring[]optional

    A comma-separated list of brand IDs to retrieve stocktake items for.

  • category_idsstring[]optional

    A comma-separated list of category IDs to retrieve stocktake items for.

  • supplier_idsstring[]optional

    A comma-separated list of supplier IDs to retrieve stocktake items for.

  • queryuuidoptional

    A search query to filter stocktake items by. This will search the item name.

  • statusstringoptional

    The status to filter the stocktake items by.

    Possible values:alluncountedcounted
  • pageintegeroptional

    The page to retrieve results from

  • per_pageintegeroptional

    The number of results to return per page

Responses

  • 200

    The stock take items were successfully retrieved

  • 401

    The user is unauthenticated

  • 404

    The resource couldn't be found

put/inventory/stock-takes/{stockTakeId}/items/{stockTakeItemId}

Update a Stocktake Item

updateStockTakeItem

This endpoint updates a stocktake item for the given stocktake.

Path parameters

  • stockTakeIduuidrequired

    Identifier of the stocktake. Returned from createStockTake; use it to read the stocktake, list or update its items, post the final counts, or poll the async queue for export status.

  • stockTakeItemIduuidrequired

    The ID of the StockTakeItem

Request body

  • counted_quantitynumberoptionalnullable

    The quantity counted for this stocktake item.

Responses

  • 200

    The stocktake item was successfully retrieved

  • 401

    The user is unauthenticated

  • 403

    The authenticated user does not have permission.

  • 404

    The resource couldn't be found

  • 422

    The request didn't pass validation

delete/inventory/stock-takes/{stockTakeId}/items/{stockTakeItemId}

Delete a Stocktake Item

deleteStockTakeItem

This endpoint deletes a stocktake item for the given stocktake.

Path parameters

  • stockTakeIduuidrequired

    Identifier of the stocktake. Returned from createStockTake; use it to read the stocktake, list or update its items, post the final counts, or poll the async queue for export status.

  • stockTakeItemIduuidrequired

    The ID of the StockTakeItem

Responses

  • 204

    The stocktake item was successfully deleted.

  • 401

    The user is unauthenticated

  • 403

    The authenticated user does not have permission.

  • 404

    The resource couldn't be found

get/inventory/stock-takes/{stockTakeId}/queue

Export a Stocktake

actionQueueStockTakeExport

This endpoint queues an export of a stocktake for the given site.

Path parameters

  • stockTakeIduuidrequired

    Identifier of the stocktake whose queued export job status is being fetched. Posting a stocktake kicks off an async job; poll this endpoint until the job reports as complete.

Query parameters

  • site_iduuidrequired

    Filter the StockTake by site.

  • brand_idsstring[]optional

    A comma-separated list of brand IDs to retrieve stocktake items for.

  • category_idsstring[]optional

    A comma-separated list of category IDs to retrieve stocktake items for.

  • supplier_idsstring[]optional

    A comma-separated list of supplier IDs to retrieve stocktake items for.

  • statusstringoptional

    The status to filter the stocktake items by.

    Possible values:alluncountedcounted

Responses

  • 200

    The job was successfully queued

  • 400

    The request failed.

  • 401

    The user is unauthenticated

  • 404

    The resource couldn't be found

get/inventory/stock-takes/{stockTakeId}/items-v2

List the items of a stock take (v2)

listStockTakeItemsV2

Returns the items of a stocktake with v2 totals and filters. Use query, status, and the category/supplier/brand filters to drill into a specific slice of the stocktake while it's in progress. Compared to the v1 list (listStockTakeItems), the v2 response surfaces additional totals: total items, counted, uncounted, total adjustment value, and currency.

Path parameters

  • stockTakeIduuidrequired

    Identifier of the stocktake. Returned from createStockTake; use it to read the stocktake, list or update its items, post the final counts, or poll the async queue for export status.

Query parameters

  • category_idsstring[]optional

    A comma-separated list of category IDs to filter the items by.

  • supplier_idsstring[]optional

    A comma-separated list of supplier IDs to filter the items by.

  • brand_idsstring[]optional

    A comma-separated list of brand IDs to filter the items by.

  • querystringoptional

    A query to filter the products on. This searches the product name.

  • statusstringoptional

    The status to filter the stock take items on.

    Possible values:alluncountedcounted

Responses

  • 200

    The stock take items were successfully retrieved.

  • 401

    The user is unauthenticated

  • 404

    The resource couldn't be found

post/inventory/stock-takes/{stockTakeId}/submit

Submit a stock take

actionSubmitStockTake

Submits the stocktake, locking it from further edits and posting the resulting stock adjustments synchronously. Use this instead of createStockTakePosting when the caller wants the adjustments applied immediately rather than via the async queue.

Path parameters

  • stockTakeIduuidrequired

    Identifier of the stocktake. Returned from createStockTake; use it to read the stocktake, list or update its items, post the final counts, or poll the async queue for export status.

Responses

  • 200

    The stocktake was successfully retrieved

  • 401

    The user is unauthenticated

  • 403

    The authenticated user does not have permission.

  • 404

    The resource couldn't be found