Accounting Export Reports that can be consumed by 3rd Party accounting systems
If you are looking to only pull item data for a single store, it is highly recommended to use the /store/:storeId/items
endpoint located in the 'Stores' Endpoint Section.
This endpoint will not end back items that are marked as deleted. In the Yellow Dog Inventory system, the items are soft deleted and are able to be marked as undeleted.
/items?Expand=Stores&Expand=Vendors&orderBy=sku&pageNumber=1&pageSize=100
For populating your initial datastore it is best to make a call through all pages of the items endpoint with the proper expansion query parameters. From this point forward you should be able to use the following call example to refresh your datastore with only the changes that have occured in the item configuration.
/items?Expand=Stores&Expand=Vendors&orderBy=sku&filter=lastUpdated>=20240501
This request will return all the items that have a lastUpdated later than 2024-05-01
. It is highly recommended that you use a request like this for updating your data store for the latest item configurations. It is recommended that the lastUpdated filter value be set as the last time the item refresh cycle began.
Page Number for the result set.
This is expected to be an integer value greater than 0. Defaults to 1 when not passed in.
For more information see the Getting Started Section for Pagination.
curl -i -X GET \ 'https://developer.yellowdogsoftware.com/_mock/fetch/api/api/v3/items?Expand=string&Filter=string&OrderBy=string&PageNumber=0&PageSize=0' \ -H 'Authorization: Bearer <YOUR_JWT_HERE>'
OK
Yellow Dog's primary key for the Item; always unique. When pushing items to the API, if an ItemID is present, Yellow Dog will update or create an item. If ItemID is not present, Yellow Dog will create an item and provide the ItemID in response. ItemID is formatted as a GUID (example: 433ef432-f63e-4c26-a29f-39d4079d9fc9)
Shorter item description for POS terminals; usually limited to 16 characters
Shorter item description for POS terminals; usually limited to 12 characters
Main number associated with the item in the Yellow Dog UI; auto generated by Yellow Dog when the item is created; unique per database
When true, this item's on hand will always report as zero, and no costs or inventory adjustments will be stored.
Shipping Weight of the item. The unit of measure is not specified; this field contains a number only.
Shipping Height of the item. The unit of measure is not specified; this field contains a number only.
Shipping Width of the item. The unit of measure is not specified; this field contains a number only.
Shipping Length of the item. The unit of measure is not specified; this field contains a number only.
Unit of Measure; additional text field used to describe the way an item is measured; not often used because we use Dimension 1 for item size
Set how much the parent the Child Item of a Parent/Child relationship. Examples:
This is the expected usage amount of a child item. This should be the decimal representation of the percentage.This defaults to 1.0 (100%)
True=Item is active in Yellow Dog; False=Item is inactive in Yellow Dog; inactive items can have an on hand count, but are not sold at the POS; this is generally used for seasonal or special event items that are only sold at specific times
DateTime when this item was last updated in Yellow Dog, in ISO 8601 format. This is not impacted by changes of an Item's onhand value. This is used to indicate when a change to an items configuration has been adjusted.
Example Scenarios that would trigger a lastUpdated value change:
Example Scenarios that would not trigger a lastUpdated value change:
Level is a hierarchy of groupings that are used for reporting and third party interface purposes
Level is a hierarchy of groupings that are used for reporting and third party interface purposes
Level is a hierarchy of groupings that are used for reporting and third party interface purposes
Level is a hierarchy of groupings that are used for reporting and third party interface purposes
Level is a hierarchy of groupings that are used for reporting and third party interface purposes
Items have specific store availability and can have different on hand counts, retail prices, and costs per store
This is only available when expand vendors is passed in the query string. example: /items?Expand=Stores
Items are assigned to at least one specific vendor in Yellow Dog.
This is only available when expand vendors is passed in the query string. example: /items?Expand=Vendors
Short Description of the item; this is a free form text field that should describe the item in less characters than the item.Description.
This is commonly used for smaller screen devices or when a more concise description is needed.
This value is only available when the expand option extended-item
is passed in the query string example: /items?Expand=extended-item
Evergreen items are items that do not expire or do not "Age". This indicator is used to help manage the items that are always good for inventory or do not turn by season/year.
This value is only available when the expand option extended-item
is passed in the query string example: /items?Expand=extended-item
Style code of the item. This is used to group like items together, such as a matrix of shirts that all have the same Style code/number.
This value is only available when the expand option extended-item
is passed in the query string example: /items?Expand=extended-item
Generally, how many days before this type of item expires once added to inventory.
This value is only available when the expand option extended-item
is passed in the query string example: /items?Expand=extended-item
Free text field for additional reference notes or identifiers. Reference has no specific business use within YDI. Use this field to record other necessary, customer-specific information.
This value is only available when the expand option extended-item
is passed in the query string example: /items?Expand=extended-item
{ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "description": "string", "posDescription1": "string", "posDescription2": "string", "sku": "string", "noCount": true, "shippingWeight": 0.1, "shippingHeight": 0.1, "shippingWidth": 0.1, "shippingLength": 0.1, "uom": "string", "childCount": 0.1, "childUsage": 0.1, "upc": [ "string" ], "active": true, "lastUpdated": "2019-08-24T14:15:22Z", "dimension1": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "description": "string" }, "dimension2": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "description": "string" }, "dimension3": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "description": "string" }, "dimension4": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "description": "string" }, "dimension5": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "description": "string" }, "dimension6": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "description": "string" }, "dimension7": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "description": "string" }, "dimension8": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "description": "string" }, "dimension9": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "description": "string" }, "dimension10": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "description": "string" }, "level": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "code": "string", "description": "string" }, "level1": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "code": "string", "description": "string" }, "level2": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "code": "string", "description": "string" }, "level3": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "code": "string", "description": "string" }, "level4": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "code": "string", "description": "string" }, "parentItem": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08" }, "recipe": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08" }, "matrix": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08" }, "webProperties": { "title": "string", "description": "string", "extendedDescription": "string", "availableDate": "2019-08-24T14:15:22Z", "expiresDate": "2019-08-24T14:15:22Z", "sale": true, "itemSaleRetail": 0, "itemSalePercentOff": 0, "saleBegins": "2019-08-24T14:15:22Z", "saleEnds": "2019-08-24T14:15:22Z", "available": true, "flagA": true, "flagB": true, "flagC": true, "tags": "string", "productType": "string" }, "stores": [ { … } ], "vendors": [ { … } ], "images": [ { … } ], "shortDescription": "string", "isEvergreen": true, "style": "string", "expirationDays": 0, "reference": "string", "attributes": "string" }
This endpoint allows for bulk upserting of item configuration changes.
Creating items does have a different set of fields that are required than updating.
The fields that are required to create an item are as followed: itemSku, defaultVendorCode, defaultVendorCost, levelCode, description, initialStoreCode, and dimension1Desc.
The only field that is required for an update is the itemSku field as that is what is used for matching to an existing item for updating. Any fields that are not supposed to be updated should be passed in as a null
or omitted from the body of the request.
Any kind of data validation will be passed back as a body response similar to the following.
{ "Message": "Unable to import item configs at this time", "Errors": [ { "Message": "error processing item configurations", "Extensions": [ { "errorText": "Value:`317` does not match an existing vendor/manufacturer code.", "field": "manufacturerCode" } ] } ] }
This validation error reflects that the manufacturerCode value does not exist as a valid vendor code in the Yellow Dog Inventory Instance.
When a validation error occurs then the entire request will fail.
Processing the item changes can take up to 10 minutes to process due to the amount of background processing that needs to be done.
curl -i -X PATCH \ https://developer.yellowdogsoftware.com/_mock/fetch/api/api/v3/items \ -H 'Authorization: Bearer <YOUR_JWT_HERE>' \ -H 'Content-Type: application/json-patch+json' \ -d '{ "importData": [ { "itemSku": "string", "defaultVendorCode": "string", "defaultVendorCost": 0.1, "levelCode": "string", "dimension1Desc": "string", "dimension2Desc": "string", "dimension3Desc": "string", "dimension4Desc": "string", "dimension5Desc": "string", "dimension6Desc": "string", "dimension7Desc": "string", "dimension8Desc": "string", "dimension9Desc": "string", "dimension10Desc": "string", "description": "string", "shortDescription": "string", "posDescription1": "string", "posDescription2": "string", "reference1": "string", "reference2": "string", "reference3": "string", "reference4": "string", "msrp": 0, "uom": "string", "expirationDays": 0, "notes": "string", "childCount": 0, "childUsage": 0, "isActive": true, "isPrintLabels": true, "isNoCount": true, "isPurchaseOrderEnabled": true, "isPosEnabled": true, "isPhysicalInventoryEnabled": true, "isManualAdjustEnabled": true, "isTransferEnabled": true, "isPrdTransferItem": true, "isRecipeIngredientItem": true, "syncTrigger": "string", "converted": "string", "placement": 0, "shippingWeight": 0, "shippingHeight": 0, "shippingWidth": 0, "shippingLength": 0, "style": "string", "isEvergreen": true, "isChargeable": true, "isRequestEnabled": true, "isNonChargeable": true, "isSupplies": true, "isRestockSize": true, "startingRetail": 0, "allowDecimalQuantity": true, "defaultRetailPrice": 0, "isPreferredPurchasingSize": true, "upc1": "string", "parentItemSku": "string", "vendorPartNumber": "string", "webpropertyTitle": "string", "webpropertyDescription": "string", "webpropertyExtendedDescription": "string", "webpropertyAvailableDate": "2019-08-24T14:15:22Z", "webpropertyExpiresDate": "2019-08-24T14:15:22Z", "webpropertyItemSaleRetail": 0, "webpropertyItemSalePercentOff": 0, "webpropertySale": true, "webpropertySaleBegins": "2019-08-24T14:15:22Z", "webpropertySaleEnds": "2019-08-24T14:15:22Z", "webpropertyFlagA": true, "webpropertyFlagB": true, "webpropertyFlagC": true, "webpropertyAvailable": true, "webpropertyPlacement": 0, "webpropertyTags": "string", "webpropertyProductType": "string", "manufacturerCode": "string", "initialStoreCode": "string" } ] }'
Page Number for the result set.
This is expected to be an integer value greater than 0. Defaults to 1 when not passed in.
For more information see the Getting Started Section for Pagination.
curl -i -X GET \ 'https://developer.yellowdogsoftware.com/_mock/fetch/api/api/v3/items/{id}?Expand=string&Filter=string&OrderBy=string&PageNumber=0&PageSize=0' \ -H 'Authorization: Bearer <YOUR_JWT_HERE>'
OK
Yellow Dog's primary key for the Item; always unique. When pushing items to the API, if an ItemID is present, Yellow Dog will update or create an item. If ItemID is not present, Yellow Dog will create an item and provide the ItemID in response. ItemID is formatted as a GUID (example: 433ef432-f63e-4c26-a29f-39d4079d9fc9)
Shorter item description for POS terminals; usually limited to 16 characters
Shorter item description for POS terminals; usually limited to 12 characters
Main number associated with the item in the Yellow Dog UI; auto generated by Yellow Dog when the item is created; unique per database
When true, this item's on hand will always report as zero, and no costs or inventory adjustments will be stored.
Shipping Weight of the item. The unit of measure is not specified; this field contains a number only.
Shipping Height of the item. The unit of measure is not specified; this field contains a number only.
Shipping Width of the item. The unit of measure is not specified; this field contains a number only.
Shipping Length of the item. The unit of measure is not specified; this field contains a number only.
Unit of Measure; additional text field used to describe the way an item is measured; not often used because we use Dimension 1 for item size
Set how much the parent the Child Item of a Parent/Child relationship. Examples:
This is the expected usage amount of a child item. This should be the decimal representation of the percentage.This defaults to 1.0 (100%)
True=Item is active in Yellow Dog; False=Item is inactive in Yellow Dog; inactive items can have an on hand count, but are not sold at the POS; this is generally used for seasonal or special event items that are only sold at specific times
DateTime when this item was last updated in Yellow Dog, in ISO 8601 format. This is not impacted by changes of an Item's onhand value. This is used to indicate when a change to an items configuration has been adjusted.
Example Scenarios that would trigger a lastUpdated value change:
Example Scenarios that would not trigger a lastUpdated value change:
Level is a hierarchy of groupings that are used for reporting and third party interface purposes
Level is a hierarchy of groupings that are used for reporting and third party interface purposes
Level is a hierarchy of groupings that are used for reporting and third party interface purposes
Level is a hierarchy of groupings that are used for reporting and third party interface purposes
Level is a hierarchy of groupings that are used for reporting and third party interface purposes
Items have specific store availability and can have different on hand counts, retail prices, and costs per store
This is only available when expand vendors is passed in the query string. example: /items?Expand=Stores
Items are assigned to at least one specific vendor in Yellow Dog.
This is only available when expand vendors is passed in the query string. example: /items?Expand=Vendors
Short Description of the item; this is a free form text field that should describe the item in less characters than the item.Description.
This is commonly used for smaller screen devices or when a more concise description is needed.
This value is only available when the expand option extended-item
is passed in the query string example: /items?Expand=extended-item
Evergreen items are items that do not expire or do not "Age". This indicator is used to help manage the items that are always good for inventory or do not turn by season/year.
This value is only available when the expand option extended-item
is passed in the query string example: /items?Expand=extended-item
Style code of the item. This is used to group like items together, such as a matrix of shirts that all have the same Style code/number.
This value is only available when the expand option extended-item
is passed in the query string example: /items?Expand=extended-item
Generally, how many days before this type of item expires once added to inventory.
This value is only available when the expand option extended-item
is passed in the query string example: /items?Expand=extended-item
Free text field for additional reference notes or identifiers. Reference has no specific business use within YDI. Use this field to record other necessary, customer-specific information.
This value is only available when the expand option extended-item
is passed in the query string example: /items?Expand=extended-item
{ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "description": "string", "posDescription1": "string", "posDescription2": "string", "sku": "string", "noCount": true, "shippingWeight": 0.1, "shippingHeight": 0.1, "shippingWidth": 0.1, "shippingLength": 0.1, "uom": "string", "childCount": 0.1, "childUsage": 0.1, "upc": [ "string" ], "active": true, "lastUpdated": "2019-08-24T14:15:22Z", "dimension1": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "description": "string" }, "dimension2": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "description": "string" }, "dimension3": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "description": "string" }, "dimension4": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "description": "string" }, "dimension5": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "description": "string" }, "dimension6": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "description": "string" }, "dimension7": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "description": "string" }, "dimension8": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "description": "string" }, "dimension9": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "description": "string" }, "dimension10": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "description": "string" }, "level": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "code": "string", "description": "string" }, "level1": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "code": "string", "description": "string" }, "level2": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "code": "string", "description": "string" }, "level3": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "code": "string", "description": "string" }, "level4": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "code": "string", "description": "string" }, "parentItem": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08" }, "recipe": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08" }, "matrix": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08" }, "webProperties": { "title": "string", "description": "string", "extendedDescription": "string", "availableDate": "2019-08-24T14:15:22Z", "expiresDate": "2019-08-24T14:15:22Z", "sale": true, "itemSaleRetail": 0, "itemSalePercentOff": 0, "saleBegins": "2019-08-24T14:15:22Z", "saleEnds": "2019-08-24T14:15:22Z", "available": true, "flagA": true, "flagB": true, "flagC": true, "tags": "string", "productType": "string" }, "stores": [ { … } ], "vendors": [ { … } ], "images": [ { … } ], "shortDescription": "string", "isEvergreen": true, "style": "string", "expirationDays": 0, "reference": "string", "attributes": "string" }
curl -i -X PATCH \ https://developer.yellowdogsoftware.com/_mock/fetch/api/api/v3/items/store-configs \ -H 'Authorization: Bearer <YOUR_JWT_HERE>' \ -H 'Content-Type: application/json-patch+json' \ -d '{ "importData": [ { "itemSku": "string", "storeCode": "string", "isAvailable": true, "bin": "string", "reorderPoint": 0, "parLevel": 0, "isNoCount": true, "isNonRestock": true, "maxCapacity": 0, "automaticParAlgorithm": "string", "tariffCode": "string" } ] }'
User does not have sufficient access for this endpoint: Access API Administrator access is required.
No response example
curl -i -X POST \ 'https://developer.yellowdogsoftware.com/_mock/fetch/api/api/v3/items/{itemId}/images?description=string' \ -H 'Authorization: Bearer <YOUR_JWT_HERE>' \ -H 'Content-Type: multipart/form-data' \ -F file=string
{ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08" }
New Description of the Attached File
curl -i -X PATCH \ 'https://developer.yellowdogsoftware.com/_mock/fetch/api/api/v3/items/{itemId}/images/{imageId}' \ -H 'Authorization: Bearer <YOUR_JWT_HERE>' \ -H 'Content-Type: application/json-patch+json' \ -d '{ "description": "string" }'
{ "placement": 0, "rowDeleted": true, "attachedFileID": "c1e2a223-7d63-43d0-bb89-e518e85ce912", "ownerID": "4d1ec274-d781-4778-8ffc-812e9ab43c0c", "description": "string", "fileData": "string", "isPicture": true, "originalFile": "string", "imageURL": "string", "mimeType": "string" }
curl -i -X DELETE \ 'https://developer.yellowdogsoftware.com/_mock/fetch/api/api/v3/items/{itemId}/images/{imageId}' \ -H 'Authorization: Bearer <YOUR_JWT_HERE>'
Rate limiting quota exceeded
Apply pause on further requests to the api using a wait method for the amount of seconds presented in the Response Header Key 'Retry-After'.
To prevent running into further instances of this rate limiting, use the Response Headers returned back from all other requests to ensure there is enough buffer.
For further information see Rate Limiting Section of Getting Started of api documentation site.
{ "message": "string", "errors": [ { … } ] }
Item Retail Creation Object
curl -i -X POST \ 'https://developer.yellowdogsoftware.com/_mock/fetch/api/api/v3/items/{id}/retails' \ -H 'Authorization: Bearer <YOUR_JWT_HERE>' \ -H 'Content-Type: application/json-patch+json' \ -d '{ "storeId": "b8adcdc8-9238-4168-90f8-77b2d14c211c", "date": "2019-08-24T14:15:22Z", "retail1": 0.1 }'
{ "userId": "2c4a230c-5085-4924-a3e1-25fb4fc5965b", "itemID": "f1f85a48-b9b1-447d-a06c-c1acf57ed3a8", "storeId": "b8adcdc8-9238-4168-90f8-77b2d14c211c", "date": "2019-08-24T14:15:22Z", "retail1": 0.1 }