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

ManualAdjusts

A Manual Adjustment will affect an Item's OnHand.

Operations

MetaInfo

Database specific configuration information

Operations

PurchaseOrders

A Purchasing document

Operations

Starts the Tiered Purchase Order Approval process

Request

Path
idstring(uuid)required

CommDoc Id of Purchase Order

curl -i -X POST \
  'https://developer.yellowdogsoftware.com/_mock/fetch/api/api/v3/purchaseOrders/{id}/requestTieredApproval' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

OK

Bodyapplication/jsonArray [
userIdstring(uuid)
emailSentboolean
notifiedbooleanread-only
]
Response
application/json
[ { "userId": "2c4a230c-5085-4924-a3e1-25fb4fc5965b", "emailSent": true, "notified": true } ]

Approves a Purchase Order Tier

Request

Body
approvedbooleanrequired
notesstring or null[ 0 .. 256 ] characters
curl -i -X PUT \
  https://developer.yellowdogsoftware.com/_mock/fetch/api/api/v3/purchaseOrders/tieredApproval \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json-patch+json' \
  -d '{
    "approved": true,
    "notes": "string"
  }'

Responses

OK

Bodyapplication/json
updatedboolean
usersNotifiedArray of objects or null(Api.Models.SendGridUserResponse)
isFinalTierboolean
errorsArray of strings or null
approvedbooleanrequired
notesstring or null[ 0 .. 256 ] characters
Response
application/json
{ "updated": true, "usersNotified": [ { … } ], "isFinalTier": true, "errors": [ "string" ], "approved": true, "notes": "string" }

Gets Purchase Orders

Request

Example use cases

api/v2/purchaseOrders?pageNumber=1&pageSize=100&Filter=committed>2024-03-05T06:06:58.529Z&Filter=lastUpdated>2024-03-06&orderBy=committed

will get the first page of purchase orders where the committed date is later than 2024-03-05T06:06:58.529Z AND the lastUpdated date is later than 2024-03-06T00:00:00Z, ordering by the committed date

/api/v2/purchaseOrders?pageNumber=1&pageSize=100&Filter=committed>2024-03-05T06:06:58.529Z&orderBy=committed

will get the first page of purchase orders where the committed date is later than 2024-03-05T06:06:58.529Z ordering by the committed date.

Query
FilterArray of strings

Filter Options:

  • docNumber (string: allows for pulling based on a particular document number)
  • committed (DateTime in v2, DateTimeOffset in v3: See Differences between v2 and v3 in Getting Started Section for more information)
  • lastUpdated (DateTime in v2, DateTimeOffset in v3: See Differences between v2 and v3 in Getting Started Section for more information)
  • vendor (GUID: allows for filtering down to only a particular vendorId. This id can be found from the GET /vendors endpoint)
ExpandArray of strings

Expand Options:

  • Items
  • Stores
  • Users
  • Vendors
  • LineDetails
  • ApprovalStatuses
OrderByArray of strings

Order By Options:

  • committed
  • docNumber
  • lastUpdated
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/purchaseOrders?Expand=string&Filter=string&OrderBy=string&PageNumber=0&PageSize=0' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

OK

Bodyapplication/jsonArray [
commitboolean
idstring(uuid)
thirdPartyIDstring or null
docNumberstring or null
referencestring or null
descriptionstring or null
instructionsstring or null
totalAmountnumber(double)
linesArray of objects or null(Api.Models.Dto.CommdocLine)
createdstring(date-time)
lastUpdatedstring(date-time)
vendorstring or null
createdByUserstring or null
notesstring or null
storestring or null
committedstring or null(date-time)
committedByUserstring or null
startShipstring or null(date-time)
cancelShipstring or null(date-time)
backOrderedboolean
canceledboolean
paidboolean
approvalStatusesArray of objects or null(Api.Models.Dto.CommdocApprovalStatus)
buyerstring or null
]
Response
application/json
[ { "commit": true, "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "thirdPartyID": "string", "docNumber": "string", "reference": "string", "description": "string", "instructions": "string", "totalAmount": 0.1, "lines": [ … ], "created": "2019-08-24T14:15:22Z", "lastUpdated": "2019-08-24T14:15:22Z", "vendor": "string", "createdByUser": "string", "notes": "string", "store": "string", "committed": "2019-08-24T14:15:22Z", "committedByUser": "string", "startShip": "2019-08-24T14:15:22Z", "cancelShip": "2019-08-24T14:15:22Z", "backOrdered": true, "canceled": true, "paid": true, "approvalStatuses": [ … ], "buyer": "string" } ]

Creates Purchase Orders.

Request

BodyArray [
thirdPartyIDstring or null
docNumberstringnon-emptyrequired
totalAmountnumber(double)required
linesArray of objects(Api.Models.Dto.PurchaseOrderLinesCreate)required
lines[].​commdocIDstring(uuid)
lines[].​commdocLineIDstring(uuid)
lines[].​thirdPartyLineIDstring or null
lines[].​lineNumberinteger(int32)
lines[].​vendorPricenumber(double)required
lines[].​quantitynumber(double)required
lines[].​notesstring or null
lines[].​backLinkLineIDstring(uuid)
lines[].​itemobject(Api.Models.Dto.GenericObject)required
lines[].​item.​idstring(uuid)
startShipstring or null(date-time)
Default "1911-11-11 00:00:00.000"
cancelShipstring or null(date-time)
Default "1911-11-11 00:00:00.000"
referencestring or null
descriptionstring or null
instructionsstring or null
notesstring or null
backOrderedboolean
canceledboolean
invoicedEDIboolean
committedstring or null(date-time)
vendorobject(Api.Models.Dto.GenericObject)required
vendor.​idstring(uuid)
storeobject(Api.Models.Dto.GenericObject)required
store.​idstring(uuid)
]
curl -i -X POST \
  https://developer.yellowdogsoftware.com/_mock/fetch/api/api/v3/purchaseOrders \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json-patch+json' \
  -d '[
    {
      "thirdPartyID": "string",
      "docNumber": "string",
      "totalAmount": 0.1,
      "lines": [
        {
          "commdocID": "cb99375d-6433-4b86-97cb-443f2b96b6b7",
          "commdocLineID": "9cb09c6a-a112-4d73-94fe-fbd96496e1dd",
          "thirdPartyLineID": "string",
          "lineNumber": 0,
          "vendorPrice": 0.1,
          "quantity": 0.1,
          "notes": "string",
          "backLinkLineID": "6e13b4f1-3f38-4d49-a5c5-95b5e01905d0",
          "item": {
            "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
          }
        }
      ],
      "startShip": "1911-11-11 00:00:00.000",
      "cancelShip": "1911-11-11 00:00:00.000",
      "reference": "string",
      "description": "string",
      "instructions": "string",
      "notes": "string",
      "backOrdered": true,
      "canceled": true,
      "invoicedEDI": true,
      "committed": "2019-08-24T14:15:22Z",
      "vendor": {
        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
      },
      "store": {
        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
      }
    }
  ]'

Responses

OK

Bodyapplication/jsonArray [
thirdPartyIDstring or null
docNumberstringnon-emptyrequired
totalAmountnumber(double)required
linesArray of objects(Api.Models.Dto.PurchaseOrderLinesCreate)required
lines[].​commdocIDstring(uuid)
lines[].​commdocLineIDstring(uuid)
lines[].​thirdPartyLineIDstring or null
lines[].​lineNumberinteger(int32)
lines[].​vendorPricenumber(double)required
lines[].​quantitynumber(double)required
lines[].​notesstring or null
lines[].​backLinkLineIDstring(uuid)
lines[].​itemobject(Api.Models.Dto.GenericObject)required
lines[].​item.​idstring(uuid)
startShipstring or null(date-time)
Default "1911-11-11 00:00:00.000"
cancelShipstring or null(date-time)
Default "1911-11-11 00:00:00.000"
referencestring or null
descriptionstring or null
instructionsstring or null
notesstring or null
backOrderedboolean
canceledboolean
invoicedEDIboolean
committedstring or null(date-time)
vendorobject(Api.Models.Dto.GenericObject)required
vendor.​idstring(uuid)
storeobject(Api.Models.Dto.GenericObject)required
store.​idstring(uuid)
]
Response
application/json
[ { "thirdPartyID": "string", "docNumber": "string", "totalAmount": 0.1, "lines": [ … ], "startShip": "1911-11-11 00:00:00.000", "cancelShip": "1911-11-11 00:00:00.000", "reference": "string", "description": "string", "instructions": "string", "notes": "string", "backOrdered": true, "canceled": true, "invoicedEDI": true, "committed": "2019-08-24T14:15:22Z", "vendor": { … }, "store": { … } } ]

Get Purchase Order by Id

Request

Path
idstring(uuid)required

CommDoc Id of Purchase Order

Query
ExpandArray of strings

Expand Options:

  • Items
  • Stores
  • Users
  • Vendors
  • LineDetails
  • ApprovalStatuses
curl -i -X GET \
  'https://developer.yellowdogsoftware.com/_mock/fetch/api/api/v3/purchaseOrders/{id}?Expand=string' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

OK

Bodyapplication/json
commitboolean
idstring(uuid)
thirdPartyIDstring or null
docNumberstring or null
referencestring or null
descriptionstring or null
instructionsstring or null
totalAmountnumber(double)
linesArray of objects or null(Api.Models.Dto.CommdocLine)
createdstring(date-time)
lastUpdatedstring(date-time)
vendorstring or null
createdByUserstring or null
notesstring or null
storestring or null
committedstring or null(date-time)
committedByUserstring or null
startShipstring or null(date-time)
cancelShipstring or null(date-time)
backOrderedboolean
canceledboolean
paidboolean
approvalStatusesArray of objects or null(Api.Models.Dto.CommdocApprovalStatus)
buyerstring or null
Response
application/json
{ "commit": true, "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "thirdPartyID": "string", "docNumber": "string", "reference": "string", "description": "string", "instructions": "string", "totalAmount": 0.1, "lines": [ { … } ], "created": "2019-08-24T14:15:22Z", "lastUpdated": "2019-08-24T14:15:22Z", "vendor": "string", "createdByUser": "string", "notes": "string", "store": "string", "committed": "2019-08-24T14:15:22Z", "committedByUser": "string", "startShip": "2019-08-24T14:15:22Z", "cancelShip": "2019-08-24T14:15:22Z", "backOrdered": true, "canceled": true, "paid": true, "approvalStatuses": [ { … } ], "buyer": "string" }

Get Purchase Order by token

Request

Query
ExpandArray of strings

Expand Options:

  • Items
  • Stores
  • Users
  • Vendors
  • LineDetails
  • ApprovalStatuses
curl -i -X GET \
  'https://developer.yellowdogsoftware.com/_mock/fetch/api/api/v3/purchaseOrders/byToken?Expand=string' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

OK

Bodyapplication/json
commitboolean
idstring(uuid)
thirdPartyIDstring or null
docNumberstring or null
referencestring or null
descriptionstring or null
instructionsstring or null
totalAmountnumber(double)
linesArray of objects or null(Api.Models.Dto.CommdocLine)
createdstring(date-time)
lastUpdatedstring(date-time)
vendorstring or null
createdByUserstring or null
notesstring or null
storestring or null
committedstring or null(date-time)
committedByUserstring or null
startShipstring or null(date-time)
cancelShipstring or null(date-time)
backOrderedboolean
canceledboolean
paidboolean
approvalStatusesArray of objects or null(Api.Models.Dto.CommdocApprovalStatus)
buyerstring or null
Response
application/json
{ "commit": true, "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "thirdPartyID": "string", "docNumber": "string", "reference": "string", "description": "string", "instructions": "string", "totalAmount": 0.1, "lines": [ { … } ], "created": "2019-08-24T14:15:22Z", "lastUpdated": "2019-08-24T14:15:22Z", "vendor": "string", "createdByUser": "string", "notes": "string", "store": "string", "committed": "2019-08-24T14:15:22Z", "committedByUser": "string", "startShip": "2019-08-24T14:15:22Z", "cancelShip": "2019-08-24T14:15:22Z", "backOrdered": true, "canceled": true, "paid": true, "approvalStatuses": [ { … } ], "buyer": "string" }

Get Purchase Order Approval Status by Id of Purchase Order

Request

Path
idstring(uuid)required

Id of Purchase Order

curl -i -X GET \
  'https://developer.yellowdogsoftware.com/_mock/fetch/api/api/v3/purchaseOrders/{id}/approvalStatus' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

OK

Bodyapplication/json
currentTierinteger or null(int32)
approvalStatusesArray of objects or null(Api.Models.Dto.CommdocApprovalStatus)
Response
application/json
{ "currentTier": 0, "approvalStatuses": [ { … } ] }

Get Purchase Order Approval Status using token

Request

curl -i -X GET \
  https://developer.yellowdogsoftware.com/_mock/fetch/api/api/v3/purchaseOrders/approvalStatusByToken \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

OK

Bodyapplication/json
statusstring or null
dateTimestring or null(date-time)
notesstring or null
typestring or null
tierinteger or null(int32)
userIDstring or null(uuid)
Response
application/json
{ "status": "string", "dateTime": "2019-08-24T14:15:22Z", "notes": "string", "type": "string", "tier": 0, "userID": "2c3821b8-1cdb-4b77-bcd8-a1da701e46aa" }

Update Committed Purchase orders

Request

Infrequently there are use cases where a previously committed purchase order would be allowed to have new Lines added or other adjustments to the document.

The following properties of a committed purchase order are prohibited from being updated

  • Commdoc
  • Committed Status
  • Committed Date Time
  • Vendor
  • Store
  • Arrival Log

The following requirements in place for a purchase order to be edited using this method.

  • User making the request has the appropriate permissions to edit Purchase Orders after Commit.
  • Only purchase orders that have been committed but do not have any kind of purchasing activity against them will be allowed to be edited.
BodyArray [
commdocIDstring(uuid)required
referencestring or null
descriptionstring or null
instructionsstring or null
notesstring or null
backOrderedboolean or null
canceledboolean or null
invoicedEDIboolean or null
startShipstring or null(date-time)
Default "1911-11-11 00:00:00.000"
cancelShipstring or null(date-time)
Default "1911-11-11 00:00:00.000"
linesArray of objects or null(Api.Models.Dto.PurchaseOrderLinePatch)

When populated this will alter the lines of the purchase order.

To add additional items to a purchase order you would add an object to the array with a shape like

{
	"ItemID": "12345678-1234-1234-1234-12345678123",
	"Quantity": 15,
	"VendorPrice": 1.50
}

The result set back will include the generated CommdocLineId that can be used in subsequent update requests for this Purchase Order line.

To alter existing items of a purchase order you would add an object to the array with a shape like

{
	"CommDocLineId": "87654321-1234-1234-1234-12345678123",
	"Quantity": 15,
	"VendorPrice": 1.50
}
]
curl -i -X PATCH \
  https://developer.yellowdogsoftware.com/_mock/fetch/api/api/v3/purchaseOrders/updateCommitted \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json-patch+json' \
  -d '[
    {
      "commdocID": "cb99375d-6433-4b86-97cb-443f2b96b6b7",
      "reference": "string",
      "description": "string",
      "instructions": "string",
      "notes": "string",
      "backOrdered": true,
      "canceled": true,
      "invoicedEDI": true,
      "startShip": "1911-11-11 00:00:00.000",
      "cancelShip": "1911-11-11 00:00:00.000",
      "lines": [
        {
          "commdocLineID": "9cb09c6a-a112-4d73-94fe-fbd96496e1dd",
          "itemID": "f1f85a48-b9b1-447d-a06c-c1acf57ed3a8",
          "vendorPrice": 0,
          "quantity": 0,
          "notes": "string"
        }
      ]
    }
  ]'

Responses

Success

Response
application/json
[ { "errorText": "string", "field": "string" } ]

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.