Fetch API (v3.0: 3.21.3.0)

Download OpenAPI description
Overview
API Support Group api@yellowdogsoftware.com
Languages
Servers
Mock server
https://developer.yellowdogsoftware.com/_mock/fetch/api/

Accounting

Accounting Export Reports that can be consumed by 3rd Party accounting systems

Operations

AttachedFiles

Items, Recipes, and Purchasing Documents are able to have files of record or images associated to them.

Operations

CountSheets

A dynamic list of Items that are designed to aide with physical inventories. Countsheets are based on a static list of items, Levels, and Flags

Operations

Currency

Operations used to manage currency conversion for the database. These are used when multiple currencies are used in a database.

Operations

Dimensions

Attributes that are available for assigning to an Item. Attributes can be like a Size or Color.

Operations

Flags

Flags allow you to indicate storage locations, making ordering and physical inventories easier.

Operations

Inventory

Item Inventory OnHand information.

Operations

Invoices

A Purchasing document

Operations

ItemAliases

UPCs or additional SKUs to for an Item.

Operations

Items

Product information that is tracked in Yellow Dog Inventory.

Operations

Gets all Items

Request

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.

Example Requests

/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.

Query
FilterArray of strings

Filter Options:

  • active (boolean: when this is not passed in as a filter option it will present both active and non-active Items)
  • lastUpdated (DateTime in v2, DateTimeOffset in v3: See Differences between v2 and v3 in Getting Started Section for more information)
  • levelId (UUID: This is the items level.id property for requesting only a certain type of item)
  • sku (string: When passed in it will allow lookup of an item using the Item's sku)
  • webAvailable (boolean: when this is not passed in as a filter option it will present both true and false values)
ExpandArray of strings

Expand Options:

  • stores
  • vendors
  • images (available on database versions above 366)
  • extended-item (shortDescription, isEvergreen, style, expirationDays, reference, attributes, etc...)
OrderByArray of strings

Order By Options:

  • sku
  • description
  • itemId
PageNumberinteger(int32)

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.

PageSizeinteger(int32)

Page Size

  • Default page size: 100
  • Max page size: 500

This is expected to be an integer value greater than 0. Defaults to 100 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>'

Responses

OK

Bodyapplication/json
idstring(uuid)required

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)

descriptionstring or null

Main item description in Yellow Dog

posDescription1string or null

Shorter item description for POS terminals; usually limited to 16 characters

posDescription2string or null

Shorter item description for POS terminals; usually limited to 12 characters

skustring or null

Main number associated with the item in the Yellow Dog UI; auto generated by Yellow Dog when the item is created; unique per database

noCountboolean

When true, this item's on hand will always report as zero, and no costs or inventory adjustments will be stored.

shippingWeightnumber(double)

Shipping Weight of the item. The unit of measure is not specified; this field contains a number only.

shippingHeightnumber(double)

Shipping Height of the item. The unit of measure is not specified; this field contains a number only.

shippingWidthnumber(double)

Shipping Width of the item. The unit of measure is not specified; this field contains a number only.

shippingLengthnumber(double)

Shipping Length of the item. The unit of measure is not specified; this field contains a number only.

uomstring or null

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

childCountnumber(double)

Set how much the parent the Child Item of a Parent/Child relationship. Examples:

  • Parent Child where the Parent is an Each and the Child is a 2 Pack of the Parent the childCount is .5 (1/2).
  • Parent Child where the Parent is an Each and the Child is a Case Size of 24 the childCount is 0.041666666667 (1/24)
childUsagenumber(double)

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%)

upcArray of strings or nullread-only
activeboolean

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

lastUpdatedstring or null(date-time)

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:

  • Changing an Item's Dimension
  • Making an Item available to a Store
  • Adjusting the Item's Retail Price for a Store
  • Adjusting the Item's Default Retail Price
  • Changing the Item's Level Assignment
  • Adjusting an Interface for an Item's Store

Example Scenarios that would not trigger a lastUpdated value change:

  • Item being Sold as part of a Transaction
  • Item included on an Invoice, Receipt, Purchasing Order Document
dimension1object(Api.Models.Dto.Item.ItemDimension)
dimension2object(Api.Models.Dto.Item.ItemDimension)
dimension3object(Api.Models.Dto.Item.ItemDimension)
dimension4object(Api.Models.Dto.Item.ItemDimension)
dimension5object(Api.Models.Dto.Item.ItemDimension)
dimension6object(Api.Models.Dto.Item.ItemDimension)
dimension7object(Api.Models.Dto.Item.ItemDimension)
dimension8object(Api.Models.Dto.Item.ItemDimension)
dimension9object(Api.Models.Dto.Item.ItemDimension)
dimension10object(Api.Models.Dto.Item.ItemDimension)
levelobject(Api.Models.Dto.Item.ItemLevel)

Level is a hierarchy of groupings that are used for reporting and third party interface purposes

level1object(Api.Models.Dto.Item.ItemLevel)

Level is a hierarchy of groupings that are used for reporting and third party interface purposes

level2object(Api.Models.Dto.Item.ItemLevel)

Level is a hierarchy of groupings that are used for reporting and third party interface purposes

level3object(Api.Models.Dto.Item.ItemLevel)

Level is a hierarchy of groupings that are used for reporting and third party interface purposes

level4object(Api.Models.Dto.Item.ItemLevel)

Level is a hierarchy of groupings that are used for reporting and third party interface purposes

parentItemobject(Api.Models.Dto.GenericObject)
recipeobject(Api.Models.Dto.GenericObject)
matrixobject(Api.Models.Dto.GenericObject)
webPropertiesobject(Api.Models.Dto.Item.WebProperties)
storesArray of objects or null(Api.Models.Dto.Item.Item2StoreGet)

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

vendorsArray of objects or null(Api.Models.Dto.Item.Item2VendorGet)

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

imagesArray of objects or null(Api.Models.Dto.Item.ItemImage)
shortDescriptionstring or null

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

isEvergreenboolean or null

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

stylestring or null

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

expirationDaysnumber or null(double)

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

referencestring or null

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

attributesstring or null

This value is only available when the expand option extended-item is passed in the query string example: /items?Expand=extended-item

Response
application/json
{ "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" }

Upserts Items in bulk

Request

This endpoint allows for bulk upserting of item configuration changes.

Creating items does have a different set of fields that are required than updating.

Creating an Item

The fields that are required to create an item are as followed: itemSku, defaultVendorCode, defaultVendorCost, levelCode, description, initialStoreCode, and dimension1Desc.

Updating an Item

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.

Validation Errors

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.

Additional Notes

Processing the item changes can take up to 10 minutes to process due to the amount of background processing that needs to be done.

Body
importDataArray of objects or null(Dingo.GraphQL.ItemConfigInput)

Values to be used for setting the imports

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"
      }
    ]
  }'

Responses

Success

Response
No response example

Gets an Item by Id

Request

Path
idstring(uuid)required
Query
FilterArray of strings

Filter Options:

  • active (boolean: when this is not passed in as a filter option it will present both active and non-active Items)
  • lastUpdated (DateTime in v2, DateTimeOffset in v3: See Differences between v2 and v3 in Getting Started Section for more information)
  • levelId (UUID: This is the items level.id property for requesting only a certain type of item)
  • sku (string: When passed in it will allow lookup of an item using the Item's sku)
  • webAvailable (boolean: when this is not passed in as a filter option it will present both true and false values)
ExpandArray of strings

Expand Options:

  • stores
  • vendors
  • images (available on database versions above 366)
  • extended-item (shortDescription, isEvergreen, style, expirationDays, reference, attributes, etc...)
OrderByArray of strings

Order By Options:

  • sku
  • description
  • itemId
PageNumberinteger(int32)

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.

PageSizeinteger(int32)

Page Size

  • Default page size: 100
  • Max page size: 500

This is expected to be an integer value greater than 0. Defaults to 100 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>'

Responses

OK

Bodyapplication/json
idstring(uuid)required

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)

descriptionstring or null

Main item description in Yellow Dog

posDescription1string or null

Shorter item description for POS terminals; usually limited to 16 characters

posDescription2string or null

Shorter item description for POS terminals; usually limited to 12 characters

skustring or null

Main number associated with the item in the Yellow Dog UI; auto generated by Yellow Dog when the item is created; unique per database

noCountboolean

When true, this item's on hand will always report as zero, and no costs or inventory adjustments will be stored.

shippingWeightnumber(double)

Shipping Weight of the item. The unit of measure is not specified; this field contains a number only.

shippingHeightnumber(double)

Shipping Height of the item. The unit of measure is not specified; this field contains a number only.

shippingWidthnumber(double)

Shipping Width of the item. The unit of measure is not specified; this field contains a number only.

shippingLengthnumber(double)

Shipping Length of the item. The unit of measure is not specified; this field contains a number only.

uomstring or null

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

childCountnumber(double)

Set how much the parent the Child Item of a Parent/Child relationship. Examples:

  • Parent Child where the Parent is an Each and the Child is a 2 Pack of the Parent the childCount is .5 (1/2).
  • Parent Child where the Parent is an Each and the Child is a Case Size of 24 the childCount is 0.041666666667 (1/24)
childUsagenumber(double)

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%)

upcArray of strings or nullread-only
activeboolean

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

lastUpdatedstring or null(date-time)

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:

  • Changing an Item's Dimension
  • Making an Item available to a Store
  • Adjusting the Item's Retail Price for a Store
  • Adjusting the Item's Default Retail Price
  • Changing the Item's Level Assignment
  • Adjusting an Interface for an Item's Store

Example Scenarios that would not trigger a lastUpdated value change:

  • Item being Sold as part of a Transaction
  • Item included on an Invoice, Receipt, Purchasing Order Document
dimension1object(Api.Models.Dto.Item.ItemDimension)
dimension2object(Api.Models.Dto.Item.ItemDimension)
dimension3object(Api.Models.Dto.Item.ItemDimension)
dimension4object(Api.Models.Dto.Item.ItemDimension)
dimension5object(Api.Models.Dto.Item.ItemDimension)
dimension6object(Api.Models.Dto.Item.ItemDimension)
dimension7object(Api.Models.Dto.Item.ItemDimension)
dimension8object(Api.Models.Dto.Item.ItemDimension)
dimension9object(Api.Models.Dto.Item.ItemDimension)
dimension10object(Api.Models.Dto.Item.ItemDimension)
levelobject(Api.Models.Dto.Item.ItemLevel)

Level is a hierarchy of groupings that are used for reporting and third party interface purposes

level1object(Api.Models.Dto.Item.ItemLevel)

Level is a hierarchy of groupings that are used for reporting and third party interface purposes

level2object(Api.Models.Dto.Item.ItemLevel)

Level is a hierarchy of groupings that are used for reporting and third party interface purposes

level3object(Api.Models.Dto.Item.ItemLevel)

Level is a hierarchy of groupings that are used for reporting and third party interface purposes

level4object(Api.Models.Dto.Item.ItemLevel)

Level is a hierarchy of groupings that are used for reporting and third party interface purposes

parentItemobject(Api.Models.Dto.GenericObject)
recipeobject(Api.Models.Dto.GenericObject)
matrixobject(Api.Models.Dto.GenericObject)
webPropertiesobject(Api.Models.Dto.Item.WebProperties)
storesArray of objects or null(Api.Models.Dto.Item.Item2StoreGet)

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

vendorsArray of objects or null(Api.Models.Dto.Item.Item2VendorGet)

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

imagesArray of objects or null(Api.Models.Dto.Item.ItemImage)
shortDescriptionstring or null

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

isEvergreenboolean or null

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

stylestring or null

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

expirationDaysnumber or null(double)

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

referencestring or null

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

attributesstring or null

This value is only available when the expand option extended-item is passed in the query string example: /items?Expand=extended-item

Response
application/json
{ "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" }

Upserts Item Store Configs

Request

Body
importDataArray of objects or null(Dingo.GraphQL.ItemStoreConfigInput)

Values to be used for setting the imports

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"
      }
    ]
  }'

Responses

User does not have sufficient access for this endpoint: Access API Administrator access is required.

Response
No response example

Adds an Image as an Attached File to an Item.

Request

User's client MUST be 366+ with cloud storage enabled

Path
itemIdstring(uuid)required

Item Id

Query
descriptionstring

Description or Title of the Image file

Bodymultipart/form-data
filestring(binary)
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

Responses

OK

Bodyapplication/json
idstring(uuid)
Response
application/json
{ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08" }

Updates the Description of an Items Attached File

Request

Path
itemIdstring(uuid)required

Item Id

imageIdstring(uuid)required

Attached File Id

Body

New Description of the Attached File

descriptionstringnon-emptyrequired
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"
  }'

Responses

OK

Bodyapplication/json
placementinteger(int32)
rowDeletedboolean
attachedFileIDstring or null(uuid)
ownerIDstring(uuid)
descriptionstring or null
fileDatastring or null
isPictureboolean
originalFilestring or null
imageURLstring or null
mimeTypestring or null

Content type of the file that is being used on upload of an image.

This is expected to be blank when it is coming from the database.

Response
application/json
{ "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" }

Deletes an item's image

Request

Path
itemIdstring(uuid)required

Item Id

imageIdstring(uuid)required

Attached File Id

curl -i -X DELETE \
  'https://developer.yellowdogsoftware.com/_mock/fetch/api/api/v3/items/{itemId}/images/{imageId}' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

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.

Response
application/json
{ "message": "string", "errors": [ { … } ] }

Adds a new record for an item's retail

Request

Path
idstring(uuid)required

Item Id

Body

Item Retail Creation Object

storeIdstring(uuid)required
datestring(date-time)required
retail1number(double)required
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
  }'

Responses

OK

Bodyapplication/json
userIdstring(uuid)
itemIDstring(uuid)
storeIdstring(uuid)required
datestring(date-time)required
retail1number(double)required
Response
application/json
{ "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 }

ManualAdjusts

A Manual Adjustment will affect an Item's OnHand.

Operations

MetaInfo

Database specific configuration information

Operations

PurchaseOrders

A Purchasing document

Operations

Receipts

A Receiving document

Operations

Recipes

Collections of items and recipes, with quantities, that are used to create other items.

Operations

Requests

A requisition for purchasing or transfering an item.

Operations

Sessions

Associate a count to an Item, these sessions can be used for Purchasing Documents or Physical Inventories.

Operations

Stores

Business Entities or locations of a single business entity that need to maintain their own inventory records.

ThirdPartyCodes

Additional configuration options that control item, store or level behavior with third-party integrations

ThirdParty

Third Party Mappings with Yellow Dog Inventory

ThirdPartySessions

Records that increment or decrement inventory based on customer interactions with a store

Transactions

Records that increment or decrement inventory based on customer interactions with a store

Transfers

A record of movement of Items from one Store to another.

Vendors

Vendors, Suppliers, Distributors, or Manufacturors that provide Items into the Inventory.