> ## 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. # Item Categories > Retrieves a list of item catgories **Security** The requesting user must have the following permission to retrieve item categories: - Food → Item Categories → View Item Categories ## OpenAPI ````json GET /public/v1/inventory/item-categories { "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/item-categories": { "get": { "tags": [ "inventory" ], "summary": "Item Categories", "description": "Retrieves a list of item catgories\n\n**Security**\n\nThe requesting user must have the following permission to retrieve item categories:\n\n- Food → Item Categories → View Item Categories", "parameters": [ { "$ref": "#/components/parameters/TenantId" }, { "name": "modifiedOnStart", "in": "query", "description": "Starting datetime of the 'modifiedOn' range (inclusive). May be supplied alone, in which case the range is open-ended at the upper bound.", "required": false, "schema": { "type": "string", "format": "date-time" } }, { "name": "modifiedOnEnd", "in": "query", "description": "Ending datetime of the 'modifiedOn' range (inclusive). May be supplied alone, in which case the range is open-ended at the lower bound.", "required": false, "schema": { "type": "string", "format": "date-time" } }, { "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": "", "schema": { "type": "string" }, "required": false } ], "responses": { "200": { "description": "The list of item category entities", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/PublicItemCategoriesResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/PublicItemCategoriesResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/PublicItemCategoriesResponse" } } } }, "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": { "PublicItemCategoriesResponse": { "type": "object", "properties": { "items": { "type": "array", "items": { "$ref": "#/components/schemas/ItemCategory" }, "nullable": true, "description": "Collection of public item categories records returned in this page." }, "nextLink": { "type": "string", "nullable": true, "description": "URL to retrieve the next page of results, or null when this is the last page." } }, "additionalProperties": false, "description": "A response containing item categories." }, "ItemCategory": { "type": "object", "properties": { "id": { "type": "string", "description": "Item category identifier.", "format": "uuid" }, "name": { "type": "string", "description": "Item category name.", "nullable": true }, "itemPrefix": { "type": "string", "description": "Item prefix.", "nullable": true }, "costVarianceThreshold": { "type": "number", "description": "Item category acceptable variance.", "format": "double", "nullable": true }, "counted": { "type": "boolean", "description": "Indicates whether the include in inventory count flag is set.", "nullable": true }, "actualAsTheoretical": { "type": "boolean", "description": "Indicates whether the actual as Theoretical flag is set.", "nullable": true }, "varianceCapType": { "type": "integer", "description": "Variance cap type.", "format": "int32" }, "varianceCapPercent": { "type": "number", "description": "Variance cap percent.", "format": "double", "nullable": true }, "inventoryVarianceThreshold": { "type": "number", "description": "Inventory Variance Threshold.", "format": "double", "nullable": true }, "costAccount": { "$ref": "#/components/schemas/GeneralLedgerAccountReference" }, "inventoryAccount": { "$ref": "#/components/schemas/GeneralLedgerAccountReference" }, "wasteAccount": { "$ref": "#/components/schemas/GeneralLedgerAccountReference" }, "donationAccount": { "$ref": "#/components/schemas/GeneralLedgerAccountReference" }, "createdOn": { "type": "string", "description": "The time at which the record was created.", "format": "date-time" }, "modifiedOn": { "type": "string", "description": "The time at which the record was last modified.", "format": "date-time" }, "createdBy": { "$ref": "#/components/schemas/GlAccountUserReference", "description": "User who created the item category." }, "modifiedBy": { "$ref": "#/components/schemas/GlAccountUserReference", "description": "User who last modified the item category." }, "type": { "type": "integer", "description": "Item category type.", "format": "int32" }, "brand": { "$ref": "#/components/schemas/BrandReference" } }, "additionalProperties": false, "description": "An item category, indicating the type of item." }, "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." }, "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." }, "BrandReference": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64", "description": "Unique identifier of the brand." }, "name": { "type": "string", "nullable": true, "description": "Display name of the brand." } }, "additionalProperties": false, "description": "A reference to a Brand." } }, "securitySchemes": { "Bearer": { "type": "http", "scheme": "Bearer" } } } } ````