> ## Documentation Index > Fetch the complete documentation index at: https://docs.restaurant365.com/llms.txt > Use this file to discover all available pages before exploring further. # Inventory Counts > Retrieves a list of inventory counts matching the supplied filter and pagination criteria, sorted by last modified date and time. Each count contains only the items present on that count, not every item with inventory activity. Usage figures such as purchases, transfers, waste, and theoretical usage are calculated when the count is created and change only when the variance data is refreshed in the application. **Security** The requesting user must have the following permission to retrieve inventory counts: - Food → Inventory Counts → View Inventory Counts and View Variance Tab ## OpenAPI ````json GET /public/v1/inventory/inventory-counts { "openapi": "3.0.1", "info": { "title": "R365 Public API", "contact": { "name": "R365 Services Team", "email": "r365@restaurant365.com" }, "version": "1.0" }, "security": [ { "Bearer": [] } ], "paths": { "/public/v1/inventory/inventory-counts": { "get": { "tags": [ "inventory" ], "summary": "Inventory Counts", "description": "Retrieves a list of inventory counts matching the supplied filter and pagination criteria, sorted by last modified date and time. Each count contains only the items present on that count, not every item with inventory activity. Usage figures such as purchases, transfers, waste, and theoretical usage are calculated when the count is created and change only when the variance data is refreshed in the application.\n\n**Security**\n\nThe requesting user must have the following permission to retrieve inventory counts:\n\n- Food → Inventory Counts → View Inventory Counts and View Variance Tab", "parameters": [ { "$ref": "#/components/parameters/TenantId" }, { "name": "modifiedOnStart", "in": "query", "description": "Earliest modified date and time to return", "required": false, "schema": { "type": "string", "format": "date-time" } }, { "name": "modifiedOnEnd", "in": "query", "description": "Latest modified date and time to return", "required": false, "schema": { "type": "string", "format": "date-time" } }, { "name": "dateOfBusinessStart", "in": "query", "description": "Earliest count date to return", "required": false, "schema": { "type": "string", "format": "date" } }, { "name": "dateOfBusinessEnd", "in": "query", "description": "Latest count date to return", "required": false, "schema": { "type": "string", "format": "date" } }, { "name": "status", "in": "query", "description": "Statuses of the counts to return, as a comma, semicolon or pipe-separated list of \"In Progress\", \"Completed\", \"Approved\", returns counts with any status if not specified", "required": false, "schema": { "type": "string" } }, { "name": "locationIds", "in": "query", "description": "Unique identifier (GUID) of the location to return counts for, only one location is accepted per request", "required": false, "schema": { "type": "string", "format": "uuid" } }, { "name": "includeData", "in": "query", "description": "Data to include in the response, as a comma, semicolon or pipe-separated list of \"itemDetail\", \"varianceSummary\", includes all data if not specified", "schema": { "type": "string" } }, { "name": "pageSize", "in": "query", "required": false, "schema": { "type": "integer", "format": "int32", "minimum": 1, "maximum": 250, "default": 250 }, "description": "Maximum number of top-level objects to return in one page." }, { "name": "continuationToken", "in": "query", "description": "Opaque token from the next link of a previous response that retrieves the next page of results, page size is ignored when supplied", "schema": { "type": "string" }, "required": false }, { "name": "varianceUofM", "in": "query", "description": "Unit of measure used for variance quantities, \"Inventory\" or \"Reporting\", defaults to \"Inventory\"", "schema": { "$ref": "#/components/schemas/VarianceUofM" }, "required": false }, { "name": "includeEodOnly", "in": "query", "description": "Indicates whether to return only end-of-day counts, defaults to true, spot counts are excluded when true", "schema": { "type": "boolean" }, "required": false } ], "responses": { "200": { "description": "list of inventory count entities", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/PublicInventoryCountsResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/PublicInventoryCountsResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/PublicInventoryCountsResponse" } } } }, "400": { "description": "Bad Request — a parameter value is malformed, of the wrong type, or outside its allowed range." }, "401": { "description": "Unauthorized — the bearer token is missing, invalid or expired, or is not valid for the specified tenant." }, "403": { "description": "Forbidden — the caller lacks the permission required for this operation." }, "404": { "description": "Not Found — the requested resource does not exist, or the supplied continuation token is unknown or has expired." }, "409": { "description": "Conflict — the request conflicts with the current state of the resource and cannot be applied." }, "422": { "description": "Unprocessable Entity — a required parameter is missing, or a supplied parameter value is invalid." }, "429": { "description": "Too Many Requests — the caller has exceeded the rate limit; retry after a short delay." }, "500": { "description": "Internal Server Error — an unexpected error occurred while processing the request." } } } } }, "components": { "parameters": { "TenantId": { "name": "x-r365-context-tenant-id", "in": "header", "required": true, "description": "Identifies the R365 tenant the request applies to. Required on every request.", "schema": { "type": "string" } } }, "schemas": { "VarianceUofM": { "type": "string", "enum": [ "Inventory", "Reporting" ], "default": "Inventory", "description": "Unit of measure used for variance quantities." }, "PublicInventoryCountsResponse": { "type": "object", "properties": { "items": { "type": "array", "items": { "$ref": "#/components/schemas/InventoryCount" }, "nullable": true, "description": "Inventory counts on the current page." }, "nextLink": { "type": "string", "nullable": true, "description": "Link to the next page of results, null when no further pages exist." } }, "additionalProperties": false, "description": "Contains inventory counts matching the supplied filter and pagination criteria." }, "InventoryCount": { "type": "object", "properties": { "id": { "type": "integer", "description": "The unique identifier of the inventory count.", "format": "int64" }, "inventoryCountTemplate": { "allOf": [ { "$ref": "#/components/schemas/InventoryCountTemplateReference" } ], "description": "The template used to initialize the count. Populated for counts created from a single legacy template and null for counts created from new inventory templates.", "nullable": true }, "inventoryCountTemplates": { "type": "array", "items": { "$ref": "#/components/schemas/InventoryCountTemplateReferenceDetails" }, "description": "The templates used to initialize the count, ordered from least frequent to most frequent recurrence. Populated for counts created from new inventory templates and empty for counts created from a legacy inventory template.", "nullable": true }, "location": { "allOf": [ { "$ref": "#/components/schemas/InventoryLocationReference" } ], "description": "The location being counted.", "nullable": true }, "legalEntity": { "allOf": [ { "$ref": "#/components/schemas/LegalEntitiesLegalEntityReference" } ], "description": "The legal entity of the location being counted.", "nullable": true }, "isCountInOpenFiscalPeriod": { "type": "boolean", "description": "Indicates whether the count date falls within an open fiscal period." }, "name": { "type": "string", "description": "The name of the inventory count.", "nullable": true }, "status": { "type": "string", "description": "The status of the inventory count. Values are \"In Progress\", \"Completed\", \"Approved\".", "nullable": true }, "date": { "type": "string", "description": "The business date the inventory count is for.", "format": "date", "nullable": true }, "duration": { "type": "string", "description": "The time from creation of the inventory count until it was marked completed, zero while the count is in progress.", "format": "date-span" }, "frequency": { "type": "string", "description": "The frequency of the inventory count, taken from the least frequent template for counts that combine multiple templates.\r\nValues are \"On Demand\", \"Daily\", \"Weekly\", \"Period\", \"Monthly\", \"Quarterly\", \"Annually\"; counts created from a single\r\nlegacy template carry that template's free-text frequency.", "nullable": true }, "isGLPosting": { "type": "boolean", "description": "Indicates whether the inventory count posts to the general ledger." }, "totalAmount": { "type": "number", "description": "The total value of the inventory count, calculated as the sum of each item's total counted quantity multiplied by its cost per first unit of measure.", "format": "double", "nullable": true }, "createdOn": { "type": "string", "description": "The date and time the inventory count was created.", "format": "date-time" }, "createdBy": { "allOf": [ { "$ref": "#/components/schemas/GlAccountUserReference" } ], "description": "The user who created the inventory count.", "nullable": true }, "modifiedOn": { "type": "string", "description": "The date and time the inventory count was last changed.", "format": "date-time", "nullable": true }, "modifiedBy": { "allOf": [ { "$ref": "#/components/schemas/GlAccountUserReference" } ], "description": "The user who last modified the inventory count.", "nullable": true }, "completedOn": { "type": "string", "description": "The date and time the inventory count was completed.", "format": "date-time", "nullable": true }, "completedBy": { "allOf": [ { "$ref": "#/components/schemas/GlAccountUserReference" } ], "description": "The user who completed the inventory count.", "nullable": true }, "approvedOn": { "type": "string", "description": "The date and time the inventory count was approved.", "format": "date-time", "nullable": true }, "approvedBy": { "allOf": [ { "$ref": "#/components/schemas/GlAccountUserReference" } ], "description": "The user who approved the inventory count.", "nullable": true }, "teamMember": { "allOf": [ { "$ref": "#/components/schemas/GlAccountUserReference" } ], "description": "The user who last modified the inventory count.", "nullable": true }, "transactionId": { "type": "string", "description": "The unique identifier (GUID) of the general ledger transaction. Only set when a count that posts to the general ledger has been completed or approved.", "format": "uuid", "nullable": true }, "alertsCount": { "type": "integer", "description": "The number of alerts associated with the inventory count.", "format": "int32" }, "isCountScheduled": { "type": "boolean", "description": "Deprecated. Relates to an earlier version of scheduling and does not indicate whether the count was created from a scheduled template.", "deprecated": true }, "isTheoGenerated": { "type": "boolean", "description": "Indicates whether the count quantities were pre-filled from theoretical on-hand quantities." }, "hasPreviousCountLinks": { "type": "boolean", "description": "Indicates whether the previous count of each counted item is recorded on the count." }, "details": { "type": "array", "items": { "$ref": "#/components/schemas/InventoryCountDetail" }, "description": "The items present on the inventory count.", "nullable": true }, "varianceSummary": { "allOf": [ { "$ref": "#/components/schemas/InventoryCountVarianceSummary" } ], "description": "The usage variance summary of the inventory count. For counts that combine multiple templates, includes only the items of the least frequent template.", "nullable": true }, "additionalVarianceSummary": { "allOf": [ { "$ref": "#/components/schemas/InventoryCountVarianceSummary" } ], "description": "The usage variance summary for the templates other than the least frequent template, for counts that combine multiple templates.", "nullable": true } }, "additionalProperties": false, "description": "An inventory count, indicating actual inventory levels at a specific point in time." }, "InventoryCountTemplateReference": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the inventory count template.", "nullable": true } }, "additionalProperties": false, "description": "A reference to an inventory count template." }, "InventoryCountTemplateReferenceDetails": { "type": "object", "properties": { "inventoryCountId": { "type": "integer", "description": "The unique identifier of the inventory count.", "format": "int64" }, "inventoryCountTemplateId": { "type": "string", "description": "The unique identifier of the inventory count template.", "nullable": true }, "inventoryCountTemplateName": { "type": "string", "description": "The name of the inventory count template.", "nullable": true }, "isGLPostingTemplate": { "type": "boolean", "description": "Indicates whether counts created from the template post to the general ledger." }, "recurrence": { "type": "string", "description": "The recurrence of the template. Values are \"On Demand\", \"Daily\", \"Weekly\", \"Period\", \"Monthly\", \"Quarterly\", \"Annually\".", "nullable": true } }, "description": "A reference to an inventory count template, including its identifiers and scheduling details.", "additionalProperties": false }, "InventoryLocationReference": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the location.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the location.", "nullable": true }, "number": { "type": "string", "description": "The location number.", "nullable": true } }, "additionalProperties": false, "description": "Represents a reference to a location." }, "LegalEntitiesLegalEntityReference": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid", "description": "Unique identifier of the legal entity." }, "name": { "type": "string", "nullable": true, "description": "Display name of the legal entity." } }, "additionalProperties": false, "description": "A reference to a legal entity." }, "GlAccountUserReference": { "type": "object", "properties": { "id": { "type": "string", "description": "The unique identifier of the user.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the user.", "nullable": true } }, "additionalProperties": false, "description": "A reference to a user." }, "InventoryCountDetail": { "type": "object", "properties": { "id": { "type": "integer", "description": "The unique identifier of the detail.", "format": "int64" }, "name": { "type": "string", "description": "The name of the counted item.", "nullable": true }, "sortIndex": { "type": "integer", "description": "The sort order of the item within the storage location.", "format": "int64" }, "storageLocation": { "allOf": [ { "$ref": "#/components/schemas/InventoryCountStorageLocationReference" } ], "description": "The storage location of the counted item.", "nullable": true }, "inventoryCountTemplateDetailId": { "type": "integer", "description": "The identifier of the template detail used to create this detail.", "format": "int64", "nullable": true }, "item": { "allOf": [ { "$ref": "#/components/schemas/PublicItemReferenceWithCategory" } ], "description": "The item being counted, including its categories.", "nullable": true }, "costAccount": { "allOf": [ { "$ref": "#/components/schemas/GeneralLedgerAccountReference" } ], "description": "The general ledger cost account of the item.", "nullable": true }, "inventoryAccount": { "allOf": [ { "$ref": "#/components/schemas/GeneralLedgerAccountReference" } ], "description": "The general ledger inventory account of the item.", "nullable": true }, "unitOfMeasure1": { "allOf": [ { "$ref": "#/components/schemas/InventoryUnitOfMeasureReference" } ], "description": "The first unit of measure configured for the item.", "nullable": true }, "unitOfMeasure2": { "allOf": [ { "$ref": "#/components/schemas/InventoryUnitOfMeasureReference" } ], "description": "The second unit of measure configured for the item.", "nullable": true }, "unitOfMeasure3": { "allOf": [ { "$ref": "#/components/schemas/InventoryUnitOfMeasureReference" } ], "description": "The third unit of measure configured for the item.", "nullable": true }, "quantity1": { "type": "number", "description": "The counted quantity in the first unit of measure.", "format": "double", "nullable": true }, "quantity2": { "type": "number", "description": "The counted quantity in the second unit of measure.", "format": "double", "nullable": true }, "quantity3": { "type": "number", "description": "The counted quantity in the third unit of measure.", "format": "double", "nullable": true }, "itemUofM1Cost": { "type": "number", "description": "The cost of the item per first unit of measure.", "format": "double" }, "uofM2QtyMultiplier": { "type": "number", "description": "The conversion factor from the second unit of measure to the first.", "format": "double" }, "uofM3QtyMultiplier": { "type": "number", "description": "The conversion factor from the third unit of measure to the first.", "format": "double" }, "previousQuantity": { "type": "number", "description": "Deprecated. Always returns 0.", "format": "double" }, "totalQuantity": { "type": "number", "description": "The total counted quantity of the item in the storage location.", "format": "double" }, "previousItemUofM1Cost": { "type": "number", "description": "Deprecated. Always returns 0.", "format": "double" }, "isCounted": { "type": "boolean", "description": "Indicates whether the item has been counted in the storage location. A counted quantity of 0 still counts as counted." }, "totalAmount": { "type": "number", "description": "The total amount of the item in the storage location, calculated as the total counted quantity multiplied by the cost per first unit of measure, rounded to 4 decimal places.", "format": "double" }, "previousAmount": { "type": "number", "description": "Deprecated. Always returns 0.", "format": "double" }, "adjustment": { "type": "number", "description": "Deprecated. Always returns 0.", "format": "double" }, "modifiedOn": { "type": "string", "description": "The date and time the detail was last modified.", "format": "date-time" }, "modifiedBy": { "allOf": [ { "$ref": "#/components/schemas/GlAccountUserReference" } ], "description": "The user who last modified the detail.", "nullable": true }, "alert": { "type": "string", "description": "The row-level alert for the detail, if any.", "nullable": true }, "templateIds": { "type": "array", "items": { "type": "string" }, "description": "The unique identifiers of the templates the item belongs to.", "nullable": true } }, "additionalProperties": false, "description": "A counted item within an inventory count, for one storage location." }, "InventoryCountVarianceSummary": { "type": "object", "properties": { "isActualUsageReviewCompleted": { "type": "boolean", "description": "Indicates whether the actual usage variances have been reviewed." }, "isTheoreticalUsageReviewCompleted": { "type": "boolean", "description": "Indicates whether the theoretical usage variances have been reviewed." }, "itemSummaries": { "type": "array", "items": { "$ref": "#/components/schemas/InventoryCountItemVarianceSummary" }, "description": "The variance details for each item in the count.", "nullable": true } }, "additionalProperties": false, "description": "A usage variance summary for an inventory count, calculated from a starting point chosen for each item. Prep recipes are broken down into their ingredients. Values for counts that include prep recipes may be incomplete until the variance data is refreshed in the application." }, "InventoryCountStorageLocationReference": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the inventory count storage location.", "nullable": true } }, "additionalProperties": false, "description": "A reference to an inventory count storage location." }, "PublicItemReferenceWithCategory": { "type": "object", "properties": { "id": { "type": "string", "description": "The unique identifier (GUID) of the item.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the item.", "nullable": true }, "number": { "type": "string", "description": "The item number, if any.", "nullable": true }, "itemType": { "type": "string", "description": "The type of the item, if any.", "nullable": true }, "itemCategory1": { "allOf": [ { "$ref": "#/components/schemas/ItemCategoryReference" } ], "description": "The first category of the item, null when the item has no first category.", "nullable": true }, "itemCategory2": { "allOf": [ { "$ref": "#/components/schemas/ItemCategoryReference" } ], "description": "The second category of the item, null when the item has no second category.", "nullable": true }, "itemCategory3": { "allOf": [ { "$ref": "#/components/schemas/ItemCategoryReference" } ], "description": "The third category of the item, null when the item has no third category.", "nullable": true } }, "description": "A reference to an item, including its categories.", "additionalProperties": false }, "GeneralLedgerAccountReference": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid", "description": "Unique identifier of the general ledger account." }, "name": { "type": "string", "nullable": true, "description": "Display name of the general ledger account." }, "number": { "type": "string", "nullable": true, "description": "Number assigned to the general ledger account." } }, "additionalProperties": false, "description": "A reference to a General Ledger Account." }, "InventoryUnitOfMeasureReference": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid", "description": "Unique identifier of the unit of measure." }, "name": { "type": "string", "nullable": true, "description": "Display name of the unit of measure." } }, "additionalProperties": false, "description": "A reference to a unit of measure." }, "InventoryCountItemVarianceSummary": { "type": "object", "properties": { "item": { "allOf": [ { "$ref": "#/components/schemas/PublicItemReference" } ], "description": "The item the variance applies to.", "nullable": true }, "uofM": { "allOf": [ { "$ref": "#/components/schemas/InventoryUnitOfMeasureReference" } ], "description": "The unit of measure used for the variance quantities.", "nullable": true }, "costAccount": { "allOf": [ { "$ref": "#/components/schemas/GeneralLedgerAccountReference" } ], "description": "The general ledger cost account of the item.", "nullable": true }, "inventoryAccount": { "allOf": [ { "$ref": "#/components/schemas/GeneralLedgerAccountReference" } ], "description": "The general ledger inventory account of the item.", "nullable": true }, "itemCategory1": { "allOf": [ { "$ref": "#/components/schemas/ItemCategoryReference" } ], "description": "The first category of the item, null when the item has no first category.", "nullable": true }, "itemCategory2": { "allOf": [ { "$ref": "#/components/schemas/ItemCategoryReference" } ], "description": "The second category of the item, null when the item has no second category.", "nullable": true }, "itemCategory3": { "allOf": [ { "$ref": "#/components/schemas/ItemCategoryReference" } ], "description": "The third category of the item, null when the item has no third category.", "nullable": true }, "quantitiesFromDate": { "type": "string", "description": "The start date of the quantity transaction range used for the variance.", "format": "date" }, "dateLastCounted": { "type": "string", "description": "The date of the previous count of the item.", "format": "date", "nullable": true }, "beginningQuantity": { "type": "number", "description": "The quantity from the previous count.", "format": "double", "nullable": true }, "beginningAmount": { "type": "number", "description": "The amount from the previous count.", "format": "double", "nullable": true }, "purchaseQuantity": { "type": "number", "description": "The quantity from purchasing transactions.", "format": "double" }, "purchaseAmount": { "type": "number", "description": "The amount from purchasing transactions.", "format": "double" }, "transferQuantity": { "type": "number", "description": "The quantity from transfer transactions.", "format": "double" }, "transferAmount": { "type": "number", "description": "The amount from transfer transactions.", "format": "double" }, "endQuantity": { "type": "number", "description": "The quantity from the current count.", "format": "double" }, "endAmount": { "type": "number", "description": "The amount from the current count.", "format": "double" }, "endCost": { "type": "number", "description": "The cost from the current count.", "format": "double" }, "actualUsage": { "type": "number", "description": "The actual usage quantity.", "format": "double" }, "actualUsageAmount": { "type": "number", "description": "The amount of the actual usage.", "format": "double" }, "wasteUsage": { "type": "number", "description": "The usage quantity logged as waste.", "format": "double" }, "wasteUsageAmount": { "type": "number", "description": "The amount of the usage logged as waste.", "format": "double" }, "theoreticalUsage": { "type": "number", "description": "The theoretical usage quantity.", "format": "double" }, "theoreticalUsageAmount": { "type": "number", "description": "The amount of the theoretical usage.", "format": "double" }, "variance": { "type": "number", "description": "The variance between actual and theoretical usage.", "format": "double" }, "varianceAmount": { "type": "number", "description": "The amount of the variance between actual and theoretical usage.", "format": "double" }, "unexplainedVariance": { "type": "number", "description": "The variance with no explaining transactions.", "format": "double" }, "unexplainedVarianceAmount": { "type": "number", "description": "The amount of the variance with no explaining transactions.", "format": "double" }, "efficiency": { "type": "number", "description": "The usage efficiency of the item.", "format": "double", "nullable": true }, "isAboveTheoreticalThreshold": { "type": "boolean", "description": "Indicates whether the item is above the allowed efficiency threshold." }, "templateId": { "type": "string", "description": "The unique identifier of the count template the item belongs to.", "nullable": true } }, "additionalProperties": false, "description": "A summary of the usage variance for an item in an inventory count." }, "ItemCategoryReference": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid", "description": "Unique identifier of the item category." }, "name": { "type": "string", "nullable": true, "description": "Display name of the item category." } }, "additionalProperties": false, "description": "A reference to an item category." }, "PublicItemReference": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid", "description": "Unique identifier of the public item." }, "name": { "type": "string", "nullable": true, "description": "Display name of the public item." }, "number": { "type": "string", "nullable": true, "description": "Number assigned to the public item." }, "itemType": { "type": "string", "nullable": true } }, "additionalProperties": false, "description": "A reference to an item." } }, "securitySchemes": { "Bearer": { "type": "http", "scheme": "Bearer" } } } } ````