openapi: 3.0.1 info: title: ItemApi description: An API to obtain item information. version: '1.0' servers: - url: https://esl.caseys.io/itemapi paths: /graphql: post: tags: - GraphQL summary: GraphQL endpoint for item data. description: Executes GraphQL operations for item data. operationId: graphql requestBody: description: The query to execute against the graph for data. content: application/json: schema: type: string example: string responses: '200': description: The item data returned from the executed graph query. content: application/json: schema: type: string example: string /v2/store-items: get: tags: - item - v2 - StoreNumber summary: v2 Gets retrieval of items from the Item Master (Pricebook), Providing up-to-date Item data, Supporting the use of limit/offset parameters. description: Gets the data for a specific StoreNumber. operationId: getItemByStoreNumberV2 parameters: - name: StoreNumber in: query description: Store Number - Its a mandatory parameter required: true schema: type: integer - name: SupplierId in: query description: PricebookSupplierId - Its an optional parameter schema: type: integer - name: ItemStatuses in: query description: 'Item Status must be ''Deleted'', ''Active'', ''Discontinued'', ''Inactive''. if nothing passed - Consider All
Enum: `"Deleted"` `"Active"` `"Discontinued"` `"Inactive"`' schema: type: array - name: Upc in: query description: The upc of the item - Optional schema: type: string - name: Description in: query description: Provide minimum 3 chars for description - optional schema: type: string - name: Limit in: query description: The number of records to retrieve.Default is 100 schema: type: integer - name: Offset in: query description: The number of records to offset from zero.Default is 0 schema: type: integer - name: PreferredItemsOnly in: query description: When true, returns only the item data for the preferred UPC. When false, item data for all UPCs found will be returned schema: type: boolean responses: '200': description: This resource represents an item (storeNumber). content: application/json: schema: $ref: '#/components/schemas/getStoreItemsResponseModelV2' example: limit: 0 offset: 0 count: 0 total: 0 data: - storeNumber: 0 upc: string description: string itemId: string departmentId: 0 retailPrice: currentSellingUnitRetailPriceAmount: 0 currentSellingUnitRetailPriceEffectiveDate: string currentSellingUnitRetailPriceExpirationDate: string sellingStatus: status: 0 effectiveDate: string expirationDate: string suppliers: - supplierId: 0 cost: unitOfMeasure: string expirationDate: string storeCost: 0 storeCaseCost: 0 storeCostsEstablishedDate: string ratio: 0 subGroupId: 0 linkedUpc: string paymentSystemProductCode: string taxStrategyId: 0 restrictions: id: 0 name: string forcePriceEntry: true allowFoodStampPurchase: true allowRefunds: true allowDiscounts: true minimumCustomerAge: 0 '400': description: The request received was in an invalid state or format. content: application/json: schema: $ref: '#/components/schemas/apiError' example: code: 0 message: string '500': description: An error occurred while processing the request. content: application/json: schema: $ref: '#/components/schemas/apiError' example: code: 0 message: string /v2/related-items: get: tags: - v2 - Relateditems - upc summary: v2 Gets retrieval of related items from the Item Master(Pricebook), Providing up-to-date Item data, Supporting the use of limit / offset parameters description: Gets the related data for a specific upc. operationId: getRelatedItemsByUpcV2 parameters: - name: Upc in: query description: UPC of the item. required: true schema: type: string - name: Limit in: query description: Limits the number of results returned in the list.Default value is 100 schema: type: integer - name: Offset in: query description: Offsets the data in the list for use in pagination.Default value 0 schema: type: integer responses: '200': description: This resource represents an item (upc). content: application/json: schema: $ref: '#/components/schemas/getRelatedItemsResponseModelV2' example: limit: 0 offset: 0 count: 0 total: 0 data: - upc: string description: string '400': description: The request received was in an invalid state or format. content: application/json: schema: $ref: '#/components/schemas/apiError' example: code: 0 message: string '500': description: An error occurred while processing the request. content: application/json: schema: $ref: '#/components/schemas/apiError' example: code: 0 message: string /v2/unbuffered-store-items: get: summary: 'UNBUFFERED: v2 Gets retrieval of items from the Item Master (Pricebook), Providing up-to-date Item data, Supporting the use of limit/offset parameters.' description: Gets the data for a specific StoreNumber. operationId: getItemByStoreNumberUnbuffered parameters: - name: StoreNumber in: query description: Store Number - Its a mandatory parameter required: true schema: type: integer - name: SupplierId in: query description: PricebookSupplierId - Its an optional parameter schema: type: integer - name: ItemStatuses in: query description: 'Item Status must be ''Deleted'', ''Active'', ''Discontinued'', ''Inactive''. if nothing passed - Consider All
Enum: `"Deleted"` `"Active"` `"Discontinued"` `"Inactive"`' schema: type: array - name: Upc in: query description: The upc of the item - Optional schema: type: string - name: Description in: query description: Provide minimum 3 chars for description - optional schema: type: string - name: Limit in: query description: The number of records to retrieve.Default is 100 schema: type: integer - name: Offset in: query description: The number of records to offset from zero.Default is 0 schema: type: integer - name: PreferredItemsOnly in: query description: When true, returns only the item data for the preferred UPC. When false, item data for all UPCs found will be returned schema: type: boolean responses: '200': description: This resource represents an item (storeNumber). content: application/json: schema: $ref: '#/components/schemas/getStoreItemsResponseModelV2' example: limit: 0 offset: 0 count: 0 total: 0 data: - storeNumber: 0 upc: string description: string itemId: string departmentId: 0 retailPrice: currentSellingUnitRetailPriceAmount: 0 currentSellingUnitRetailPriceEffectiveDate: string currentSellingUnitRetailPriceExpirationDate: string sellingStatus: status: 0 effectiveDate: string expirationDate: string suppliers: - supplierId: 0 cost: unitOfMeasure: string expirationDate: string storeCost: 0 storeCaseCost: 0 storeCostsEstablishedDate: string ratio: 0 subGroupId: 0 linkedUpc: string paymentSystemProductCode: string taxStrategyId: 0 restrictions: id: 0 name: string forcePriceEntry: true allowFoodStampPurchase: true allowRefunds: true allowDiscounts: true minimumCustomerAge: 0 '400': description: The request received was in an invalid state or format. content: application/json: schema: $ref: '#/components/schemas/apiError' example: code: 0 message: string '500': description: An error occurred while processing the request. content: application/json: schema: $ref: '#/components/schemas/apiError' example: code: 0 message: string /openapi/V3.json: get: summary: Get OpenApi Specification description: Gets the OpenApi specification in V3.json format with the parameters . operationId: getOpenApiSpec responses: '200': description: '' components: schemas: apiError: type: object properties: code: type: integer description: Status code of the error. format: int32 message: type: string description: Message that describes the error. getRelatedItemsResponseModelV2: type: object properties: limit: type: integer description: The limited number of items returned. format: int32 offset: type: integer description: The number of items skipped. format: int32 count: type: integer description: The number of items returned. format: int32 total: type: integer description: The total number of items. format: int32 data: type: array items: $ref: '#/components/schemas/relatedItem' getStoreItemsResponseModelV2: type: object properties: limit: type: integer description: The limited number of items returned. format: int32 offset: type: integer description: The number of items skipped. format: int32 count: type: integer description: The number of items returned. format: int32 total: type: integer description: The total number of items. format: int32 data: type: array items: $ref: '#/components/schemas/storeItem' itemCost: type: object properties: unitOfMeasure: type: string description: The unitOfMeasure of the item for the store. expirationDate: type: string format: date-time nullable: true storeCost: type: number description: The cost of the item for the store. format: double storeCaseCost: type: number description: The cost of a case of the item for the store. format: double storeCostsEstablishedDate: type: string description: The date when the store costs for the item were established. format: date-time ratio: type: number format: double nullable: true description: The cost information of the item from the supplier. itemRetailPrice: type: object properties: currentSellingUnitRetailPriceAmount: type: number description: The current selling price of the item. format: double currentSellingUnitRetailPriceEffectiveDate: type: string description: The date when the current selling price became effective. format: date-time currentSellingUnitRetailPriceExpirationDate: type: string description: The date when the current selling price will expire. format: date-time description: The current retail price of the item. itemStatus: type: object properties: status: enum: - 0 - 1 - 2 - 3 type: integer description: The status code of the item. (0 = Deleted, 1 = Active, 2 = Discontinued, 3 = Inactive) format: int32 effectiveDate: type: string description: The date when the status becomes effective. format: date-time expirationDate: type: string description: The date when the status expires. format: date-time description: The current selling status of the item. itemSupplier: type: object properties: supplierId: type: integer description: The ID of the supplier in the pricebook. format: int32 cost: $ref: '#/components/schemas/itemCost' relatedItem: type: object properties: upc: type: string description: The Universal Product Code of the related item. description: type: string description: A brief description of the related item. restriction: type: object properties: id: type: integer description: The ID of the restriction. format: int32 name: type: string description: The name describing the restriction. forcePriceEntry: type: boolean description: Flag to determine if the cashier will be forced to enter a price. allowFoodStampPurchase: type: boolean description: Flag to determine if the item can be bought with food stamps. allowRefunds: type: boolean description: Flag to determine if the item can be returned. allowDiscounts: type: boolean description: Flag to determine if a discount can be applied to the item. minimumCustomerAge: type: integer description: The minimum age the customer must be to purchase this item. format: int32 description: The restrictions for the item. storeItem: type: object properties: storeNumber: type: integer description: A unique retailer assigned identifier for a store. format: int32 upc: type: string description: The Universal Product Code of the item. description: type: string description: A brief description of the item. itemId: type: string description: ORIN of the item. departmentId: type: integer description: The Department ID of the item. format: int32 retailPrice: $ref: '#/components/schemas/itemRetailPrice' sellingStatus: $ref: '#/components/schemas/itemStatus' suppliers: type: array items: $ref: '#/components/schemas/itemSupplier' description: The list of suppliers for the item. subGroupId: type: integer description: The itemSubGroup to which the items belong, within the itemGroup. format: int32 linkedUpc: type: string description: Automatically associates a related item with a transaction. Examples include Bottle Deposits or Money Order Fees. paymentSystemProductCode: type: string description: A code reported to the credit card processing host, to indicate types of products being sold in the transaction. taxStrategyId: type: integer description: It is a pointer to the Tax Strategy Maintenance Table that includes sufficient methods and/or algorithms to compute the tax relative to or required by that item/department. A TaxStrategyID = 0 indicates the item is non-taxable format: int32 restrictions: $ref: '#/components/schemas/restriction' securitySchemes: apiKeyHeader: type: apiKey name: Ocp-Apim-Subscription-Key in: header apiKeyQuery: type: apiKey name: subscription-key in: query security: - apiKeyHeader: [] - apiKeyQuery: []