Skip to content

Fetch API (v3.0: 3.27.0.1)

For differences between versions, see Changelog.

REST API logo


Download OpenAPI description
Overview
API Support Group
License
Languages
Servers
Production server
https://fetch.yellowdogsoftware.com/api/v3

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

Operations

Items and Recipes are able to have images associated to them.

Operations

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

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

Operations

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

Operations

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

Operations

Item Inventory OnHand information.

Operations
Operations

UPCs or additional SKUs to for an Item.

Operations

Product information that is tracked in Yellow Dog Inventory.

Operations

A Manual Adjustment will affect an Item's OnHand.

Operations

Database specific configuration information

Operations

Collections of production groups.

Operations

A Purchasing document

Operations
Operations

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

Operations

Collections of RecipeTypes.

Operations

A requisition for purchasing or transfering an item.

Operations

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

Operations

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

Operations

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

Operations

Third Party Mappings with Yellow Dog Inventory

Operations

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

Operations

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

Operations

Request

This endpoint allows for pulling of raw transaction information that is stored in the Yellow Dog Database. As this data is considered to be raw and not processed there is not a way to determine directly with certainty what items or recipes had inventory adjustments from this endpoint. Due to the various Point of Sale integrations that may be connected with the database instance, there is not a guarentee that all transactions will match using the criteria represented in the POST /transactions Endpoint documentation.

Security
Auth API User Token
Query
FilterArray of strings

Only one filter parameter field is allowed for this endpoint.

  • checkClosed (DateTime in v2, DateTimeOffset in v3: See Differences between v2 and v3 in Getting Started Section for more information)

It is recommended when pulling transactions to always supply a date range that has already been settle in the Point of Sale Systems that are connected to the instance of Yellow Dog. Since the CheckClosed Field of the system is a datetime based value supplying a filter as like soe filter=checkClosed>=2020-05-29

Transactions closed between two dates

You can use the filter options for checkClosed to return a specific time range of when they were indicated to have been closed to the YellowDog Inventory System.

/transactions?filter=checkClosed>=2020-05-29,checkClosed<=2020-06-01

/transactions?filter=checkClosed>=2020-05-29 00:00:00,checkClosed<=2020-06-01 00:00:00

/transactions?filter=checkClosed>=2020-05-29T00:00:00-04:00,checkClosed<=2020-06-01T00:00:00-04:00

All of these request uri stubs will return the same list of all transactions that reflect a check closed value between 2020-05-29T00:00:00-04:00 and 2020-06-01T00:00:00-04:00

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://fetch.yellowdogsoftware.com/api/v3/transactions?Filter=string&PageNumber=0&PageSize=0' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

OK

Bodyapplication/jsonArray [
thirdPartyIdstring or null[ 0 .. 256 ] characters

This field serves as a globally unique identifier for a transaction and its lines. This ensures all lines associated with a transaction can also be associated to the POS sales event

transactionNumberstring[ 0 .. 256 ] charactersrequired

Unique ID representing a collection of multiple lines from a single transaction, also commonly referred to as a check number. This number is usually a receipt and can be used to match up POS transactions to on hand affecting events

checkClosedstring(date-time)required

The DateTime that the check was closed or made effective at the point of sale, in ISO 8601 format

employeeNumberstring or null[ 0 .. 256 ] characters

Alpha numeric code for the Employee that closed the transaction (if available)

employeeNamestring or null[ 0 .. 256 ] characters

Name of the Employee that closed the transaction (if available)

tenderstring or null[ 0 .. 256 ] characters

Method of payment, if there are multiple Tenders, provide a comma separated list of all the tenders used in the Transaction (if available)

registerNumberstring or null[ 0 .. 256 ] characters

Identifier of the register or pos station that the Transaction was closed on (if available)

registerNamestring or null[ 0 .. 256 ] characters

Name of the register or pos station that the Transaction was closed on (if available)

referencestring or null[ 0 .. 256 ] characters

Field for recording any notes or additional information about the line

storeobject(Api.Models.Dto.GenericObject)required
store.​idstring(uuid)
linesArray of objects(Api.Models.Dto.TransactionLine)required

Array of individual lines representing the items that were included in this transaction

lines[].​thirdPartyLineIdstring or null[ 0 .. 256 ] characters

Unique identifier for this transaction line. When provided this should be globally unique across all transactions.

When the unique identifier from a third party only contains incrementing integers, it is required that there be additional data points to ensure that the incrementing integers are unique across all transactions as additional integrations or instances of the same integration are maintained.

In cases like this the recommended format for thirdPartyLineIds is as followed uniqueSiteNameOrId_uniqueRevenueCenterId_transactionNumber_transactionLineNumber

Alternatively we have seen GUIDs, cuids or other unique identifiers that are not necessarily auto incrementing integers used successfully in the past for the thirdPartyLineIds.

lines[].​itemNumberstring or null[ 0 .. 256 ] characters

Third Party Item ID or number; any unique number associated with your item

lines[].​skustring or null[ 0 .. 256 ] characters

Yellow Dog SKU

lines[].​itemDescriptionstring or null[ 0 .. 256 ] characters

Item Description

lines[].​itemRetailnumber or null(double)

Unit Retail for the item

lines[].​baseRetailnumber or null(double)

Standard unit retail for the item; usually the same as ItemRetail.

In some cases, an item might be sold at a different ItemRetail than the standard price, but it is not actually discounted; in this case, the BaseRetail would be different than the ItemRetail

lines[].​itemDiscountnumber or null(double)

Unit Discount for the item. Should always be negative

lines[].​discountDescriptionstring or null[ 0 .. 256 ] characters

Discount Description, comma separated list of any discount descriptions or names that were applied to this line

lines[].​quantitynumber or null(double)

Quantity sold, negative designates a return

lines[].​transactionLineNumberstring or null[ 0 .. 256 ] characters

Transaction line number is associated to the individual line of the transaction

lines[].​modifierstring or null[ 0 .. 256 ] characters

This field should contain the ThirdPartyLineID of the line it is modifying.

lines[].​itemobject(Api.Models.Dto.GenericObject)
lines[].​lineNumberinteger or null(int32)[ 0 .. 2147483647 ]Deprecatedread-only

Transaction line number, can be an index or a number that is associated to the individual line of the transaction

]
Response
application/json
[ { "thirdPartyId": "string", "transactionNumber": "string", "checkClosed": "2019-08-24T14:15:22Z", "employeeNumber": "string", "employeeName": "string", "tender": "string", "registerNumber": "string", "registerName": "string", "reference": "string", "store": {}, "lines": [] } ]

Request

Security
Auth API User Token
Query
suppressOutputboolean

If true the api will not respond with transactions created or updated in the response. Errors are still shown if applicable.

Default true
BodyArray [
thirdPartyIdstring or null[ 0 .. 256 ] characters

This field serves as a globally unique identifier for a transaction and its lines. This ensures all lines associated with a transaction can also be associated to the POS sales event

transactionNumberstring[ 0 .. 256 ] charactersrequired

Unique ID representing a collection of multiple lines from a single transaction, also commonly referred to as a check number. This number is usually a receipt and can be used to match up POS transactions to on hand affecting events

checkClosedstring(date-time)required

The DateTime that the check was closed or made effective at the point of sale, in ISO 8601 format.

For example, to effectively post a checkclosed datetime of 2024-07-02 14:11:52.9366717 in PST when the offset for PST is -07:00, you could post any of the following:

  • 2024-07-02T14:11:52.9366717-07:00
  • 2024-07-02 14:11:52.9366717-07:00
  • 2024-07-02T21:11:52.9366717Z
  • 2024-07-02 21:11:52.9366717Z
employeeNumberstring or null[ 0 .. 256 ] characters

Alpha numeric code for the Employee that closed the transaction (if available)

employeeNamestring or null[ 0 .. 256 ] characters

Name of the Employee that closed the transaction (if available)

tenderstring or null[ 0 .. 256 ] characters

Method of payment, if there are multiple Tenders, provide a comma separated list of all unique tenders used in the Transaction (if available)

registerNumberstring or null[ 0 .. 256 ] characters

Identifier of the register or pos station that the Transaction was closed on (if available)

registerNamestring or null[ 0 .. 256 ] characters

Name of the register or pos station that the Transaction was closed on (if available)

referencestring or null[ 0 .. 256 ] characters

Field for recording any notes or additional information about the line

storeobject(Api.Models.Dto.GenericObject)required
store.​idstring(uuid)
linesArray of objects(Api.Models.Dto.TransactionLineUpsert)required

Array of individual lines representing the items that were included in this transaction

lines[].​thirdPartyLineIdstring or null[ 0 .. 256 ] characters

Unique identifier for this transaction line. When provided this should be globally unique across all transactions.

When the unique identifier from a third party only contains incrementing integers, it is required that there be additional data points to ensure that the incrementing integers are unique across all transactions as additional integrations or instances of the same integration are maintained.

In cases like this the recommended format for thirdPartyLineIds is as followed uniqueSiteNameOrId_uniqueRevenueCenterId_transactionNumber_transactionLineNumber

Alternatively we have seen GUIDs, cuids or other unique identifiers that are not necessarily auto incrementing integers used successfully in the past for the thirdPartyLineIds.

lines[].​itemNumberstring or null[ 0 .. 256 ] characters

Third Party Item ID or number; any unique number associated with your item

lines[].​skustring or null[ 0 .. 256 ] characters

Yellow Dog SKU

lines[].​itemDescriptionstring or null[ 0 .. 256 ] characters

Item Description

lines[].​itemRetailnumber(double)required

Unit Retail for the item

lines[].​baseRetailnumber or null(double)

Standard unit retail for the item; usually the same as ItemRetail.

In some cases, an item might be sold at a different ItemRetail than the standard price, but it is not actually discounted; in this case, the BaseRetail would be different than the ItemRetail

lines[].​itemDiscountnumber or null(double)

Unit Discount for the item. Should always be negative

lines[].​discountDescriptionstring or null[ 0 .. 256 ] characters

Discount Description, comma separated list of any discount descriptions or names that were applied to this line

lines[].​quantitynumber(double)required

Quantity sold, negative designates a return

lines[].​lineNumberinteger(int32)[ 0 .. 2147483647 ]required

Transaction line number, can be an index or a number that is associated to the individual line of the transaction

lines[].​modifierstring or null[ 0 .. 256 ] characters

This field should contain the ThirdPartyLineID of the line it is modifying.

lines[].​itemobject(Api.Models.Dto.GenericObject)
]
curl -i -X POST \
  'https://fetch.yellowdogsoftware.com/api/v3/transactions?suppressOutput=true' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json-patch+json' \
  -d '[
    {
      "thirdPartyId": "thirdpartyUniqueIDForEntireTicket",
      "transactionNumber": "454545",
      "checkClosed": "2021-03-11T15:38:55Z",
      "employeeNumber": "OneRing",
      "employeeName": "Bilbo Baggins",
      "tender": "Cash",
      "registerNumber": "1",
      "registerName": "Shire",
      "reference": "Transaction with Multiple Lines",
      "store": {
        "id": "6a5386e3-f6f3-11e3-8ff2-000c29d58da6"
      },
      "lines": [
        {
          "thirdPartyLineId": "thirdpartyUniqueIDForEntireTicket_1",
          "itemNumber": "101",
          "itemDescription": "Burger",
          "itemRetail": 15,
          "baseRetail": 15,
          "itemDiscount": 0,
          "quantity": 1,
          "lineNumber": 1
        },
        {
          "thirdPartyLineId": "thirdpartyUniqueIDForEntireTicket_2",
          "itemNumber": "100",
          "itemDescription": "Btl Water 20 oz.",
          "itemRetail": 2,
          "baseRetail": 2,
          "itemDiscount": 0,
          "quantity": 1,
          "lineNumber": 2
        }
      ]
    }
  ]'

Responses

OK

Response
No content

Request

Security
Auth API User Token
Path
storeIdstring(uuid)required

Id of the Yellow Dog Store that is being fetched. The Store ID can be found from the Get All Stores Endpoint as the id Property of the Store Model.

Query
FilterArray of strings

Only one filter parameter field is allowed for this endpoint.

  • checkClosed (DateTime in v2, DateTimeOffset in v3: See Differences between v2 and v3 in Getting Started Section for more information)

It is recommended when pulling transactions to always supply a date range that has already been settle in the Point of Sale Systems that are connected to the instance of Yellow Dog. Since the CheckClosed Field of the system is a datetime based value supplying a filter as like soe filter=checkClosed>=2020-05-29

Transactions closed between two dates

You can use the filter options for checkClosed to return a specific time range of when they were indicated to have been closed to the YellowDog Inventory System.

/transactions?filter=checkClosed>=2020-05-29,checkClosed<=2020-06-01

/transactions?filter=checkClosed>=2020-05-29 00:00:00,checkClosed<=2020-06-01 00:00:00

/transactions?filter=checkClosed>=2020-05-29T00:00:00-04:00,checkClosed<=2020-06-01T00:00:00-04:00

All of these request uri stubs will return the same list of all transactions that reflect a check closed value between 2020-05-29T00:00:00-04:00 and 2020-06-01T00:00:00-04:00

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://fetch.yellowdogsoftware.com/api/v3/transactions/store/{storeId}?Filter=string&PageNumber=0&PageSize=0' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

OK

Bodyapplication/jsonArray [
thirdPartyIdstring or null[ 0 .. 256 ] characters

This field serves as a globally unique identifier for a transaction and its lines. This ensures all lines associated with a transaction can also be associated to the POS sales event

transactionNumberstring[ 0 .. 256 ] charactersrequired

Unique ID representing a collection of multiple lines from a single transaction, also commonly referred to as a check number. This number is usually a receipt and can be used to match up POS transactions to on hand affecting events

checkClosedstring(date-time)required

The DateTime that the check was closed or made effective at the point of sale, in ISO 8601 format

employeeNumberstring or null[ 0 .. 256 ] characters

Alpha numeric code for the Employee that closed the transaction (if available)

employeeNamestring or null[ 0 .. 256 ] characters

Name of the Employee that closed the transaction (if available)

tenderstring or null[ 0 .. 256 ] characters

Method of payment, if there are multiple Tenders, provide a comma separated list of all the tenders used in the Transaction (if available)

registerNumberstring or null[ 0 .. 256 ] characters

Identifier of the register or pos station that the Transaction was closed on (if available)

registerNamestring or null[ 0 .. 256 ] characters

Name of the register or pos station that the Transaction was closed on (if available)

referencestring or null[ 0 .. 256 ] characters

Field for recording any notes or additional information about the line

storeobject(Api.Models.Dto.GenericObject)required
store.​idstring(uuid)
linesArray of objects(Api.Models.Dto.TransactionLine)required

Array of individual lines representing the items that were included in this transaction

lines[].​thirdPartyLineIdstring or null[ 0 .. 256 ] characters

Unique identifier for this transaction line. When provided this should be globally unique across all transactions.

When the unique identifier from a third party only contains incrementing integers, it is required that there be additional data points to ensure that the incrementing integers are unique across all transactions as additional integrations or instances of the same integration are maintained.

In cases like this the recommended format for thirdPartyLineIds is as followed uniqueSiteNameOrId_uniqueRevenueCenterId_transactionNumber_transactionLineNumber

Alternatively we have seen GUIDs, cuids or other unique identifiers that are not necessarily auto incrementing integers used successfully in the past for the thirdPartyLineIds.

lines[].​itemNumberstring or null[ 0 .. 256 ] characters

Third Party Item ID or number; any unique number associated with your item

lines[].​skustring or null[ 0 .. 256 ] characters

Yellow Dog SKU

lines[].​itemDescriptionstring or null[ 0 .. 256 ] characters

Item Description

lines[].​itemRetailnumber or null(double)

Unit Retail for the item

lines[].​baseRetailnumber or null(double)

Standard unit retail for the item; usually the same as ItemRetail.

In some cases, an item might be sold at a different ItemRetail than the standard price, but it is not actually discounted; in this case, the BaseRetail would be different than the ItemRetail

lines[].​itemDiscountnumber or null(double)

Unit Discount for the item. Should always be negative

lines[].​discountDescriptionstring or null[ 0 .. 256 ] characters

Discount Description, comma separated list of any discount descriptions or names that were applied to this line

lines[].​quantitynumber or null(double)

Quantity sold, negative designates a return

lines[].​transactionLineNumberstring or null[ 0 .. 256 ] characters

Transaction line number is associated to the individual line of the transaction

lines[].​modifierstring or null[ 0 .. 256 ] characters

This field should contain the ThirdPartyLineID of the line it is modifying.

lines[].​itemobject(Api.Models.Dto.GenericObject)
lines[].​lineNumberinteger or null(int32)[ 0 .. 2147483647 ]Deprecatedread-only

Transaction line number, can be an index or a number that is associated to the individual line of the transaction

]
Response
application/json
[ { "thirdPartyId": "string", "transactionNumber": "string", "checkClosed": "2019-08-24T14:15:22Z", "employeeNumber": "string", "employeeName": "string", "tender": "string", "registerNumber": "string", "registerName": "string", "reference": "string", "store": {}, "lines": [] } ]

Request

This endpoint is intended to be used for looking up a specific Transaction record.

Security
Auth API User Token
Path
thirdPartyIdstringrequired

This field serves as a globally unique identifier for a transaction and its lines.

curl -i -X GET \
  'https://fetch.yellowdogsoftware.com/api/v3/transactions/{thirdPartyId}' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

OK

Bodyapplication/json
thirdPartyIdstring or null[ 0 .. 256 ] characters

This field serves as a globally unique identifier for a transaction and its lines. This ensures all lines associated with a transaction can also be associated to the POS sales event

transactionNumberstring[ 0 .. 256 ] charactersrequired

Unique ID representing a collection of multiple lines from a single transaction, also commonly referred to as a check number. This number is usually a receipt and can be used to match up POS transactions to on hand affecting events

checkClosedstring(date-time)required

The DateTime that the check was closed or made effective at the point of sale, in ISO 8601 format

employeeNumberstring or null[ 0 .. 256 ] characters

Alpha numeric code for the Employee that closed the transaction (if available)

employeeNamestring or null[ 0 .. 256 ] characters

Name of the Employee that closed the transaction (if available)

tenderstring or null[ 0 .. 256 ] characters

Method of payment, if there are multiple Tenders, provide a comma separated list of all the tenders used in the Transaction (if available)

registerNumberstring or null[ 0 .. 256 ] characters

Identifier of the register or pos station that the Transaction was closed on (if available)

registerNamestring or null[ 0 .. 256 ] characters

Name of the register or pos station that the Transaction was closed on (if available)

referencestring or null[ 0 .. 256 ] characters

Field for recording any notes or additional information about the line

storeobject(Api.Models.Dto.GenericObject)required
store.​idstring(uuid)
linesArray of objects(Api.Models.Dto.TransactionLine)required

Array of individual lines representing the items that were included in this transaction

lines[].​thirdPartyLineIdstring or null[ 0 .. 256 ] characters

Unique identifier for this transaction line. When provided this should be globally unique across all transactions.

When the unique identifier from a third party only contains incrementing integers, it is required that there be additional data points to ensure that the incrementing integers are unique across all transactions as additional integrations or instances of the same integration are maintained.

In cases like this the recommended format for thirdPartyLineIds is as followed uniqueSiteNameOrId_uniqueRevenueCenterId_transactionNumber_transactionLineNumber

Alternatively we have seen GUIDs, cuids or other unique identifiers that are not necessarily auto incrementing integers used successfully in the past for the thirdPartyLineIds.

lines[].​itemNumberstring or null[ 0 .. 256 ] characters

Third Party Item ID or number; any unique number associated with your item

lines[].​skustring or null[ 0 .. 256 ] characters

Yellow Dog SKU

lines[].​itemDescriptionstring or null[ 0 .. 256 ] characters

Item Description

lines[].​itemRetailnumber or null(double)

Unit Retail for the item

lines[].​baseRetailnumber or null(double)

Standard unit retail for the item; usually the same as ItemRetail.

In some cases, an item might be sold at a different ItemRetail than the standard price, but it is not actually discounted; in this case, the BaseRetail would be different than the ItemRetail

lines[].​itemDiscountnumber or null(double)

Unit Discount for the item. Should always be negative

lines[].​discountDescriptionstring or null[ 0 .. 256 ] characters

Discount Description, comma separated list of any discount descriptions or names that were applied to this line

lines[].​quantitynumber or null(double)

Quantity sold, negative designates a return

lines[].​transactionLineNumberstring or null[ 0 .. 256 ] characters

Transaction line number is associated to the individual line of the transaction

lines[].​modifierstring or null[ 0 .. 256 ] characters

This field should contain the ThirdPartyLineID of the line it is modifying.

lines[].​itemobject(Api.Models.Dto.GenericObject)
lines[].​lineNumberinteger or null(int32)[ 0 .. 2147483647 ]Deprecatedread-only

Transaction line number, can be an index or a number that is associated to the individual line of the transaction

Response
application/json
{ "thirdPartyId": "string", "transactionNumber": "string", "checkClosed": "2019-08-24T14:15:22Z", "employeeNumber": "string", "employeeName": "string", "tender": "string", "registerNumber": "string", "registerName": "string", "reference": "string", "store": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08" }, "lines": [ {} ] }

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

Operations

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

Operations