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: []