Heads up, our devs are blazing ahead—docs are catching up, so some features might not be fully documented yet.

Purchase

Purchase

List purchase orders

get

Lists all purchase orders.

Authorizations
Path parameters
storeUidstringRequired

Reference to a Store.

Pattern: ^[A-Za-z0-9-_]+
tenantUidstringRequired

Reference to a tenant.

Pattern: ^[A-Za-z0-9-_]+
Query parameters
purchaseOrderExternalIdstringOptional

External reference to a purchaseOrderUid.

pageNumberintegerOptional

Reference to a specific page in a result set.

pageSizeintegerOptional

The number of items per page in a result set.

sortBystringOptional

Defines which field the resource list is sorted by.

sortDirectionstring · enumOptional
ENUM Description
ASC Sort in ascending order
DESC Sort in descending order
Possible values:
Responses
200
Example response
application/json
get
GET /v2/tenants/{tenantUid}/stores/{storeUid}/purchase-orders HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200

Example response

{
  "items": [
    {
      "createdAt": "2025-07-30T18:09:02.189Z",
      "createdBy": "text",
      "deliveryAddress": "text",
      "deliveryCity": "text",
      "deliveryCountryCode": "text",
      "deliveryName": "text",
      "deliveryPostalCode": "text",
      "externalId": "text",
      "items": [
        {
          "createdAt": "2025-07-30T18:09:02.189Z",
          "createdBy": "text",
          "expectedDeliveryDate": "2025-07-30",
          "externalId": "text",
          "lastModifiedAt": "2025-07-30T18:09:02.189Z",
          "lastModifiedBy": "text",
          "productUid": "text",
          "productName": "text",
          "productSerialNoRequired": "NO",
          "productSku": "text",
          "purchaseOrderItemUid": "text",
          "quantityOrdered": 1,
          "quantityReceived": 1,
          "quantityReserved": 1,
          "supplierSku": "text",
          "unitPrice": 1,
          "receivementItems": [
            {
              "receivementUid": "text",
              "createdAt": "2025-07-30T18:09:02.189Z",
              "createdBy": "text",
              "externalId": "text",
              "lastModifiedAt": "2025-07-30T18:09:02.189Z",
              "lastModifiedBy": "text",
              "product": {
                "productUid": "text",
                "name": "text",
                "sku": "text"
              },
              "purchaseOrderItemUid": "text",
              "quantity": 1,
              "unitCost": 1,
              "receivementItemUid": "text",
              "serialnumber": "text",
              "status": "text",
              "note": "text",
              "tenantUserUid": "text",
              "tenantUserDisplayName": "text"
            }
          ],
          "discountAmount": 1,
          "freightAmount": 1,
          "unitCost": 1,
          "totalLinePrice": 1,
          "localCurrency": {
            "unitPrice": 1,
            "discountAmount": 1,
            "freightAmount": 1,
            "unitCost": 1,
            "totalLinePrice": 1
          },
          "reservations": [
            {
              "orderUid": "text",
              "orderItemUid": "text",
              "orderNumber": "text",
              "quantity": 1,
              "reservationType": "NONE"
            }
          ]
        }
      ],
      "lastModifiedAt": "2025-07-30T18:09:02.189Z",
      "lastModifiedBy": "text",
      "note": "text",
      "purchaseNumber": "text",
      "purchaseOrderUid": "text",
      "status": "NEW",
      "storeUid": "text",
      "storeName": "text",
      "supplierUid": "text",
      "supplierName": "text",
      "discountRate": 1,
      "freight": 1,
      "currency": {
        "code": "text",
        "exchangeRate": 1
      }
    }
  ],
  "paging": {
    "pageNumber": 1,
    "pageSize": 1,
    "totalCount": 1
  }
}

Create a new purchase order

post

Specify a currency when the order is not in local currency. The currency must exist in your foreign currencies. If you leave exchangeRate empty, the exchange rate that is on the foreign currency will be used.

Authorizations
Path parameters
storeUidstringRequired

Reference to a Store.

Pattern: ^[A-Za-z0-9-_]+
tenantUidstringRequired

Reference to a tenant.

Pattern: ^[A-Za-z0-9-_]+
Body
deliveryAddressstringOptional
deliveryCitystringOptional
deliveryCountryCodestringOptional
deliveryNamestringOptional
deliveryPostalCodestringOptional
externalIdstringOptional
notestringOptional
statusstring · enumOptional
ENUM Description
NEW Created, but not sent to supplier yet.
SENT_TO_SUPPLIER Sent to supplier.
CANCELLED_BY_SUPPLIER The purchase order have been cancelled by the supplier. This status is only applicable for suppliers who are integrated with FlowRetail.
IN_TRANSIT The goods are in transit. This status is only applicable for suppliers who are integrated with FlowRetail.
PARTIALLY_RECEIVED Not all goods have been received yet.
RECEIVED All goods have been received.
CLOSED No longer able to process purchase order.
CANCELLED_BY_SUPPLIER Purchase was cancelled by supplier
Possible values:
supplierUidstringRequiredPattern: ^[A-Za-z0-9-_]+
discountRateintegerOptional
freightintegerOptional
currencystringOptional

ISO 4217 code

exchangeRateintegerOptional
purchaseOrderUidstringOptionalPattern: ^[A-Za-z0-9-_]+
itemsall of[]Optional
and
Responses
200
Example response
application/json
post
POST /v2/tenants/{tenantUid}/stores/{storeUid}/purchase-orders HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 504

{
  "deliveryAddress": "text",
  "deliveryCity": "text",
  "deliveryCountryCode": "text",
  "deliveryName": "text",
  "deliveryPostalCode": "text",
  "externalId": "text",
  "note": "text",
  "status": "NEW",
  "supplierUid": "text",
  "discountRate": 1,
  "freight": 1,
  "currency": "text",
  "exchangeRate": 1,
  "purchaseOrderUid": "text",
  "items": [
    {
      "expectedDeliveryDate": "2025-07-30",
      "externalId": "text",
      "productUid": "text",
      "quantityOrdered": 1,
      "supplierSku": "text",
      "unitPrice": 1,
      "purchaseOrderItemUid": "text"
    }
  ],
  "autoOrderProposal": {
    "warehouseUid": "text"
  }
}
200

Example response

{
  "createdAt": "2025-07-30T18:09:02.189Z",
  "createdBy": "text",
  "deliveryAddress": "text",
  "deliveryCity": "text",
  "deliveryCountryCode": "text",
  "deliveryName": "text",
  "deliveryPostalCode": "text",
  "externalId": "text",
  "items": [
    {
      "createdAt": "2025-07-30T18:09:02.189Z",
      "createdBy": "text",
      "expectedDeliveryDate": "2025-07-30",
      "externalId": "text",
      "lastModifiedAt": "2025-07-30T18:09:02.189Z",
      "lastModifiedBy": "text",
      "productUid": "text",
      "productName": "text",
      "productSerialNoRequired": "NO",
      "productSku": "text",
      "purchaseOrderItemUid": "text",
      "quantityOrdered": 1,
      "quantityReceived": 1,
      "quantityReserved": 1,
      "supplierSku": "text",
      "unitPrice": 1,
      "receivementItems": [
        {
          "receivementUid": "text",
          "createdAt": "2025-07-30T18:09:02.189Z",
          "createdBy": "text",
          "externalId": "text",
          "lastModifiedAt": "2025-07-30T18:09:02.189Z",
          "lastModifiedBy": "text",
          "product": {
            "productUid": "text",
            "name": "text",
            "sku": "text"
          },
          "purchaseOrderItemUid": "text",
          "quantity": 1,
          "unitCost": 1,
          "receivementItemUid": "text",
          "serialnumber": "text",
          "status": "text",
          "note": "text",
          "tenantUserUid": "text",
          "tenantUserDisplayName": "text"
        }
      ],
      "discountAmount": 1,
      "freightAmount": 1,
      "unitCost": 1,
      "totalLinePrice": 1,
      "localCurrency": {
        "unitPrice": 1,
        "discountAmount": 1,
        "freightAmount": 1,
        "unitCost": 1,
        "totalLinePrice": 1
      },
      "reservations": [
        {
          "orderUid": "text",
          "orderItemUid": "text",
          "orderNumber": "text",
          "quantity": 1,
          "reservationType": "NONE"
        }
      ]
    }
  ],
  "lastModifiedAt": "2025-07-30T18:09:02.189Z",
  "lastModifiedBy": "text",
  "note": "text",
  "purchaseNumber": "text",
  "purchaseOrderUid": "text",
  "status": "NEW",
  "storeUid": "text",
  "storeName": "text",
  "supplierUid": "text",
  "supplierName": "text",
  "discountRate": 1,
  "freight": 1,
  "currency": {
    "code": "text",
    "exchangeRate": 1
  }
}

Get purchase order details

get

Get details for a purchase order.

Authorizations
Path parameters
storeUidstringRequired

Reference to a Store.

Pattern: ^[A-Za-z0-9-_]+
purchaseOrderUidstringRequired

Reference to a PurchaseOrder.

Pattern: ^[A-Za-z0-9-_]+
tenantUidstringRequired

Reference to a tenant.

Pattern: ^[A-Za-z0-9-_]+
Responses
200
Example response
application/json
get
GET /v2/tenants/{tenantUid}/stores/{storeUid}/purchase-orders/{purchaseOrderUid} HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200

Example response

{
  "createdAt": "2025-07-30T18:09:02.189Z",
  "createdBy": "text",
  "deliveryAddress": "text",
  "deliveryCity": "text",
  "deliveryCountryCode": "text",
  "deliveryName": "text",
  "deliveryPostalCode": "text",
  "externalId": "text",
  "items": [
    {
      "createdAt": "2025-07-30T18:09:02.189Z",
      "createdBy": "text",
      "expectedDeliveryDate": "2025-07-30",
      "externalId": "text",
      "lastModifiedAt": "2025-07-30T18:09:02.189Z",
      "lastModifiedBy": "text",
      "productUid": "text",
      "productName": "text",
      "productSerialNoRequired": "NO",
      "productSku": "text",
      "purchaseOrderItemUid": "text",
      "quantityOrdered": 1,
      "quantityReceived": 1,
      "quantityReserved": 1,
      "supplierSku": "text",
      "unitPrice": 1,
      "receivementItems": [
        {
          "receivementUid": "text",
          "createdAt": "2025-07-30T18:09:02.189Z",
          "createdBy": "text",
          "externalId": "text",
          "lastModifiedAt": "2025-07-30T18:09:02.189Z",
          "lastModifiedBy": "text",
          "product": {
            "productUid": "text",
            "name": "text",
            "sku": "text"
          },
          "purchaseOrderItemUid": "text",
          "quantity": 1,
          "unitCost": 1,
          "receivementItemUid": "text",
          "serialnumber": "text",
          "status": "text",
          "note": "text",
          "tenantUserUid": "text",
          "tenantUserDisplayName": "text"
        }
      ],
      "discountAmount": 1,
      "freightAmount": 1,
      "unitCost": 1,
      "totalLinePrice": 1,
      "localCurrency": {
        "unitPrice": 1,
        "discountAmount": 1,
        "freightAmount": 1,
        "unitCost": 1,
        "totalLinePrice": 1
      },
      "reservations": [
        {
          "orderUid": "text",
          "orderItemUid": "text",
          "orderNumber": "text",
          "quantity": 1,
          "reservationType": "NONE"
        }
      ]
    }
  ],
  "lastModifiedAt": "2025-07-30T18:09:02.189Z",
  "lastModifiedBy": "text",
  "note": "text",
  "purchaseNumber": "text",
  "purchaseOrderUid": "text",
  "status": "NEW",
  "storeUid": "text",
  "storeName": "text",
  "supplierUid": "text",
  "supplierName": "text",
  "discountRate": 1,
  "freight": 1,
  "currency": {
    "code": "text",
    "exchangeRate": 1
  }
}

Update purchase order details

put

Specify a currency when the order is not in local currency. The currency must exist in your foreign currencies. If you leave exchangeRate empty, the exchange rate that is on the foreign currency will be used.

Authorizations
Path parameters
storeUidstringRequired

Reference to a Store.

Pattern: ^[A-Za-z0-9-_]+
purchaseOrderUidstringRequired

Reference to a PurchaseOrder.

Pattern: ^[A-Za-z0-9-_]+
tenantUidstringRequired

Reference to a tenant.

Pattern: ^[A-Za-z0-9-_]+
Body
deliveryAddressstringOptional
deliveryCitystringOptional
deliveryCountryCodestringOptional
deliveryNamestringOptional
deliveryPostalCodestringOptional
externalIdstringOptional
notestringOptional
statusstring · enumOptional
ENUM Description
NEW Created, but not sent to supplier yet.
SENT_TO_SUPPLIER Sent to supplier.
CANCELLED_BY_SUPPLIER The purchase order have been cancelled by the supplier. This status is only applicable for suppliers who are integrated with FlowRetail.
IN_TRANSIT The goods are in transit. This status is only applicable for suppliers who are integrated with FlowRetail.
PARTIALLY_RECEIVED Not all goods have been received yet.
RECEIVED All goods have been received.
CLOSED No longer able to process purchase order.
CANCELLED_BY_SUPPLIER Purchase was cancelled by supplier
Possible values:
supplierUidstringOptionalPattern: ^[A-Za-z0-9-_]+
discountRateintegerOptional
freightintegerOptional
currencystringOptional

ISO 4217 code

exchangeRateintegerOptional
Responses
200
Example response
application/json
put
PUT /v2/tenants/{tenantUid}/stores/{storeUid}/purchase-orders/{purchaseOrderUid} HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 324

{
  "deliveryAddress": "text",
  "deliveryCity": "text",
  "deliveryCountryCode": "text",
  "deliveryName": "text",
  "deliveryPostalCode": "text",
  "externalId": "text",
  "note": "text",
  "status": "NEW",
  "supplierUid": "text",
  "discountRate": 1,
  "freight": 1,
  "currency": "text",
  "exchangeRate": 1,
  "items": [
    {
      "purchaseOrderItemUid": "text",
      "quantityReceived": 1
    }
  ]
}
200

Example response

{
  "createdAt": "2025-07-30T18:09:02.189Z",
  "createdBy": "text",
  "deliveryAddress": "text",
  "deliveryCity": "text",
  "deliveryCountryCode": "text",
  "deliveryName": "text",
  "deliveryPostalCode": "text",
  "externalId": "text",
  "items": [
    {
      "createdAt": "2025-07-30T18:09:02.189Z",
      "createdBy": "text",
      "expectedDeliveryDate": "2025-07-30",
      "externalId": "text",
      "lastModifiedAt": "2025-07-30T18:09:02.189Z",
      "lastModifiedBy": "text",
      "productUid": "text",
      "productName": "text",
      "productSerialNoRequired": "NO",
      "productSku": "text",
      "purchaseOrderItemUid": "text",
      "quantityOrdered": 1,
      "quantityReceived": 1,
      "quantityReserved": 1,
      "supplierSku": "text",
      "unitPrice": 1,
      "receivementItems": [
        {
          "receivementUid": "text",
          "createdAt": "2025-07-30T18:09:02.189Z",
          "createdBy": "text",
          "externalId": "text",
          "lastModifiedAt": "2025-07-30T18:09:02.189Z",
          "lastModifiedBy": "text",
          "product": {
            "productUid": "text",
            "name": "text",
            "sku": "text"
          },
          "purchaseOrderItemUid": "text",
          "quantity": 1,
          "unitCost": 1,
          "receivementItemUid": "text",
          "serialnumber": "text",
          "status": "text",
          "note": "text",
          "tenantUserUid": "text",
          "tenantUserDisplayName": "text"
        }
      ],
      "discountAmount": 1,
      "freightAmount": 1,
      "unitCost": 1,
      "totalLinePrice": 1,
      "localCurrency": {
        "unitPrice": 1,
        "discountAmount": 1,
        "freightAmount": 1,
        "unitCost": 1,
        "totalLinePrice": 1
      },
      "reservations": [
        {
          "orderUid": "text",
          "orderItemUid": "text",
          "orderNumber": "text",
          "quantity": 1,
          "reservationType": "NONE"
        }
      ]
    }
  ],
  "lastModifiedAt": "2025-07-30T18:09:02.189Z",
  "lastModifiedBy": "text",
  "note": "text",
  "purchaseNumber": "text",
  "purchaseOrderUid": "text",
  "status": "NEW",
  "storeUid": "text",
  "storeName": "text",
  "supplierUid": "text",
  "supplierName": "text",
  "discountRate": 1,
  "freight": 1,
  "currency": {
    "code": "text",
    "exchangeRate": 1
  }
}

Delete a purchase order

delete

Deletes a purchase order.

Authorizations
Path parameters
storeUidstringRequired

Reference to a Store.

Pattern: ^[A-Za-z0-9-_]+
purchaseOrderUidstringRequired

Reference to a PurchaseOrder.

Pattern: ^[A-Za-z0-9-_]+
tenantUidstringRequired

Reference to a tenant.

Pattern: ^[A-Za-z0-9-_]+
Responses
204
No Content
delete
DELETE /v2/tenants/{tenantUid}/stores/{storeUid}/purchase-orders/{purchaseOrderUid} HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
204

No Content

No content

List purchase order items

get

Lists all items on a purchase order.

Authorizations
Path parameters
storeUidstringRequired

Reference to a Store.

Pattern: ^[A-Za-z0-9-_]+
purchaseOrderUidstringRequired

Reference to a PurchaseOrder.

Pattern: ^[A-Za-z0-9-_]+
tenantUidstringRequired

Reference to a tenant.

Pattern: ^[A-Za-z0-9-_]+
Query parameters
pageNumberintegerOptional

Reference to a specific page in a result set.

pageSizeintegerOptional

The number of items per page in a result set.

sortBystringOptional

Defines which field the resource list is sorted by.

sortDirectionstring · enumOptional
ENUM Description
ASC Sort in ascending order
DESC Sort in descending order
Possible values:
Responses
200
Example response
application/json
get
GET /v2/tenants/{tenantUid}/stores/{storeUid}/purchase-orders/{purchaseOrderUid}/purchase-order-items HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200

Example response

{
  "items": [
    {
      "createdAt": "2025-07-30T18:09:02.189Z",
      "createdBy": "text",
      "expectedDeliveryDate": "2025-07-30",
      "externalId": "text",
      "lastModifiedAt": "2025-07-30T18:09:02.189Z",
      "lastModifiedBy": "text",
      "productUid": "text",
      "productName": "text",
      "productSerialNoRequired": "NO",
      "productSku": "text",
      "purchaseOrderItemUid": "text",
      "quantityOrdered": 1,
      "quantityReceived": 1,
      "quantityReserved": 1,
      "supplierSku": "text",
      "unitPrice": 1,
      "receivementItems": [
        {
          "receivementUid": "text",
          "createdAt": "2025-07-30T18:09:02.189Z",
          "createdBy": "text",
          "externalId": "text",
          "lastModifiedAt": "2025-07-30T18:09:02.189Z",
          "lastModifiedBy": "text",
          "product": {
            "productUid": "text",
            "name": "text",
            "sku": "text"
          },
          "purchaseOrderItemUid": "text",
          "quantity": 1,
          "unitCost": 1,
          "receivementItemUid": "text",
          "serialnumber": "text",
          "status": "text",
          "note": "text",
          "tenantUserUid": "text",
          "tenantUserDisplayName": "text"
        }
      ],
      "discountAmount": 1,
      "freightAmount": 1,
      "unitCost": 1,
      "totalLinePrice": 1,
      "localCurrency": {
        "unitPrice": 1,
        "discountAmount": 1,
        "freightAmount": 1,
        "unitCost": 1,
        "totalLinePrice": 1
      },
      "reservations": [
        {
          "orderUid": "text",
          "orderItemUid": "text",
          "orderNumber": "text",
          "quantity": 1,
          "reservationType": "NONE"
        }
      ]
    }
  ],
  "paging": {
    "pageNumber": 1,
    "pageSize": 1,
    "totalCount": 1
  }
}

Add a purchase order item

post

Adds an item to a purchase order.

Authorizations
Path parameters
storeUidstringRequired

Reference to a Store.

Pattern: ^[A-Za-z0-9-_]+
purchaseOrderUidstringRequired

Reference to a PurchaseOrder.

Pattern: ^[A-Za-z0-9-_]+
tenantUidstringRequired

Reference to a tenant.

Pattern: ^[A-Za-z0-9-_]+
Body
all ofOptional
and
Responses
200
Example response
application/json
post
POST /v2/tenants/{tenantUid}/stores/{storeUid}/purchase-orders/{purchaseOrderUid}/purchase-order-items HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 162

{
  "expectedDeliveryDate": "2025-07-30",
  "externalId": "text",
  "productUid": "text",
  "quantityOrdered": 1,
  "supplierSku": "text",
  "unitPrice": 1,
  "purchaseOrderItemUid": "text"
}
200

Example response

{
  "createdAt": "2025-07-30T18:09:02.189Z",
  "createdBy": "text",
  "deliveryAddress": "text",
  "deliveryCity": "text",
  "deliveryCountryCode": "text",
  "deliveryName": "text",
  "deliveryPostalCode": "text",
  "externalId": "text",
  "items": [
    {
      "createdAt": "2025-07-30T18:09:02.189Z",
      "createdBy": "text",
      "expectedDeliveryDate": "2025-07-30",
      "externalId": "text",
      "lastModifiedAt": "2025-07-30T18:09:02.189Z",
      "lastModifiedBy": "text",
      "productUid": "text",
      "productName": "text",
      "productSerialNoRequired": "NO",
      "productSku": "text",
      "purchaseOrderItemUid": "text",
      "quantityOrdered": 1,
      "quantityReceived": 1,
      "quantityReserved": 1,
      "supplierSku": "text",
      "unitPrice": 1,
      "receivementItems": [
        {
          "receivementUid": "text",
          "createdAt": "2025-07-30T18:09:02.189Z",
          "createdBy": "text",
          "externalId": "text",
          "lastModifiedAt": "2025-07-30T18:09:02.189Z",
          "lastModifiedBy": "text",
          "product": {
            "productUid": "text",
            "name": "text",
            "sku": "text"
          },
          "purchaseOrderItemUid": "text",
          "quantity": 1,
          "unitCost": 1,
          "receivementItemUid": "text",
          "serialnumber": "text",
          "status": "text",
          "note": "text",
          "tenantUserUid": "text",
          "tenantUserDisplayName": "text"
        }
      ],
      "discountAmount": 1,
      "freightAmount": 1,
      "unitCost": 1,
      "totalLinePrice": 1,
      "localCurrency": {
        "unitPrice": 1,
        "discountAmount": 1,
        "freightAmount": 1,
        "unitCost": 1,
        "totalLinePrice": 1
      },
      "reservations": [
        {
          "orderUid": "text",
          "orderItemUid": "text",
          "orderNumber": "text",
          "quantity": 1,
          "reservationType": "NONE"
        }
      ]
    }
  ],
  "lastModifiedAt": "2025-07-30T18:09:02.189Z",
  "lastModifiedBy": "text",
  "note": "text",
  "purchaseNumber": "text",
  "purchaseOrderUid": "text",
  "status": "NEW",
  "storeUid": "text",
  "storeName": "text",
  "supplierUid": "text",
  "supplierName": "text",
  "discountRate": 1,
  "freight": 1,
  "currency": {
    "code": "text",
    "exchangeRate": 1
  }
}

Get purchase order item details

get

Get details for an item on a purchase order.

Authorizations
Path parameters
storeUidstringRequired

Reference to a Store.

Pattern: ^[A-Za-z0-9-_]+
purchaseOrderUidstringRequired

Reference to a PurchaseOrder.

Pattern: ^[A-Za-z0-9-_]+
purchaseOrderItemUidstringRequired

Reference to an item on a purchase order

Pattern: ^[A-Za-z0-9-_]+
tenantUidstringRequired

Reference to a tenant.

Pattern: ^[A-Za-z0-9-_]+
Responses
200
Example response
application/json
get
GET /v2/tenants/{tenantUid}/stores/{storeUid}/purchase-orders/{purchaseOrderUid}/purchase-order-items/{purchaseOrderItemUid} HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200

Example response

{
  "createdAt": "2025-07-30T18:09:02.189Z",
  "createdBy": "text",
  "expectedDeliveryDate": "2025-07-30",
  "externalId": "text",
  "lastModifiedAt": "2025-07-30T18:09:02.189Z",
  "lastModifiedBy": "text",
  "productUid": "text",
  "productName": "text",
  "productSerialNoRequired": "NO",
  "productSku": "text",
  "purchaseOrderItemUid": "text",
  "quantityOrdered": 1,
  "quantityReceived": 1,
  "quantityReserved": 1,
  "supplierSku": "text",
  "unitPrice": 1,
  "receivementItems": [
    {
      "receivementUid": "text",
      "createdAt": "2025-07-30T18:09:02.189Z",
      "createdBy": "text",
      "externalId": "text",
      "lastModifiedAt": "2025-07-30T18:09:02.189Z",
      "lastModifiedBy": "text",
      "product": {
        "productUid": "text",
        "name": "text",
        "sku": "text"
      },
      "purchaseOrderItemUid": "text",
      "quantity": 1,
      "unitCost": 1,
      "receivementItemUid": "text",
      "serialnumber": "text",
      "status": "text",
      "note": "text",
      "tenantUserUid": "text",
      "tenantUserDisplayName": "text"
    }
  ],
  "discountAmount": 1,
  "freightAmount": 1,
  "unitCost": 1,
  "totalLinePrice": 1,
  "localCurrency": {
    "unitPrice": 1,
    "discountAmount": 1,
    "freightAmount": 1,
    "unitCost": 1,
    "totalLinePrice": 1
  },
  "reservations": [
    {
      "orderUid": "text",
      "orderItemUid": "text",
      "orderNumber": "text",
      "quantity": 1,
      "reservationType": "NONE"
    }
  ]
}

Update purchase order item details

put

Update details for an item on a purchase order.

Authorizations
Path parameters
storeUidstringRequired

Reference to a Store.

Pattern: ^[A-Za-z0-9-_]+
purchaseOrderUidstringRequired

Reference to a PurchaseOrder.

Pattern: ^[A-Za-z0-9-_]+
purchaseOrderItemUidstringRequired

Reference to an item on a purchase order

Pattern: ^[A-Za-z0-9-_]+
tenantUidstringRequired

Reference to a tenant.

Pattern: ^[A-Za-z0-9-_]+
Body
expectedDeliveryDatestring · dateOptional
externalIdstringOptional

External reference to purchase order line

productUidstringOptionalPattern: ^[A-Za-z0-9-_]+
quantityOrderedintegerOptional
supplierSkustringOptional
unitPriceintegerOptional

unitPrice is in purchase order currency

Responses
200
Example response
application/json
put
PUT /v2/tenants/{tenantUid}/stores/{storeUid}/purchase-orders/{purchaseOrderUid}/purchase-order-items/{purchaseOrderItemUid} HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 132

{
  "expectedDeliveryDate": "2025-07-30",
  "externalId": "text",
  "productUid": "text",
  "quantityOrdered": 1,
  "supplierSku": "text",
  "unitPrice": 1
}
200

Example response

{
  "createdAt": "2025-07-30T18:09:02.189Z",
  "createdBy": "text",
  "deliveryAddress": "text",
  "deliveryCity": "text",
  "deliveryCountryCode": "text",
  "deliveryName": "text",
  "deliveryPostalCode": "text",
  "externalId": "text",
  "items": [
    {
      "createdAt": "2025-07-30T18:09:02.189Z",
      "createdBy": "text",
      "expectedDeliveryDate": "2025-07-30",
      "externalId": "text",
      "lastModifiedAt": "2025-07-30T18:09:02.189Z",
      "lastModifiedBy": "text",
      "productUid": "text",
      "productName": "text",
      "productSerialNoRequired": "NO",
      "productSku": "text",
      "purchaseOrderItemUid": "text",
      "quantityOrdered": 1,
      "quantityReceived": 1,
      "quantityReserved": 1,
      "supplierSku": "text",
      "unitPrice": 1,
      "receivementItems": [
        {
          "receivementUid": "text",
          "createdAt": "2025-07-30T18:09:02.189Z",
          "createdBy": "text",
          "externalId": "text",
          "lastModifiedAt": "2025-07-30T18:09:02.189Z",
          "lastModifiedBy": "text",
          "product": {
            "productUid": "text",
            "name": "text",
            "sku": "text"
          },
          "purchaseOrderItemUid": "text",
          "quantity": 1,
          "unitCost": 1,
          "receivementItemUid": "text",
          "serialnumber": "text",
          "status": "text",
          "note": "text",
          "tenantUserUid": "text",
          "tenantUserDisplayName": "text"
        }
      ],
      "discountAmount": 1,
      "freightAmount": 1,
      "unitCost": 1,
      "totalLinePrice": 1,
      "localCurrency": {
        "unitPrice": 1,
        "discountAmount": 1,
        "freightAmount": 1,
        "unitCost": 1,
        "totalLinePrice": 1
      },
      "reservations": [
        {
          "orderUid": "text",
          "orderItemUid": "text",
          "orderNumber": "text",
          "quantity": 1,
          "reservationType": "NONE"
        }
      ]
    }
  ],
  "lastModifiedAt": "2025-07-30T18:09:02.189Z",
  "lastModifiedBy": "text",
  "note": "text",
  "purchaseNumber": "text",
  "purchaseOrderUid": "text",
  "status": "NEW",
  "storeUid": "text",
  "storeName": "text",
  "supplierUid": "text",
  "supplierName": "text",
  "discountRate": 1,
  "freight": 1,
  "currency": {
    "code": "text",
    "exchangeRate": 1
  }
}

Remove a purchase order item

delete

Removes an item from a purchase order.

Authorizations
Path parameters
storeUidstringRequired

Reference to a Store.

Pattern: ^[A-Za-z0-9-_]+
purchaseOrderUidstringRequired

Reference to a PurchaseOrder.

Pattern: ^[A-Za-z0-9-_]+
purchaseOrderItemUidstringRequired

Reference to an item on a purchase order

Pattern: ^[A-Za-z0-9-_]+
tenantUidstringRequired

Reference to a tenant.

Pattern: ^[A-Za-z0-9-_]+
Responses
200
Example response
application/json
delete
DELETE /v2/tenants/{tenantUid}/stores/{storeUid}/purchase-orders/{purchaseOrderUid}/purchase-order-items/{purchaseOrderItemUid} HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200

Example response

{
  "createdAt": "2025-07-30T18:09:02.189Z",
  "createdBy": "text",
  "deliveryAddress": "text",
  "deliveryCity": "text",
  "deliveryCountryCode": "text",
  "deliveryName": "text",
  "deliveryPostalCode": "text",
  "externalId": "text",
  "items": [
    {
      "createdAt": "2025-07-30T18:09:02.189Z",
      "createdBy": "text",
      "expectedDeliveryDate": "2025-07-30",
      "externalId": "text",
      "lastModifiedAt": "2025-07-30T18:09:02.189Z",
      "lastModifiedBy": "text",
      "productUid": "text",
      "productName": "text",
      "productSerialNoRequired": "NO",
      "productSku": "text",
      "purchaseOrderItemUid": "text",
      "quantityOrdered": 1,
      "quantityReceived": 1,
      "quantityReserved": 1,
      "supplierSku": "text",
      "unitPrice": 1,
      "receivementItems": [
        {
          "receivementUid": "text",
          "createdAt": "2025-07-30T18:09:02.189Z",
          "createdBy": "text",
          "externalId": "text",
          "lastModifiedAt": "2025-07-30T18:09:02.189Z",
          "lastModifiedBy": "text",
          "product": {
            "productUid": "text",
            "name": "text",
            "sku": "text"
          },
          "purchaseOrderItemUid": "text",
          "quantity": 1,
          "unitCost": 1,
          "receivementItemUid": "text",
          "serialnumber": "text",
          "status": "text",
          "note": "text",
          "tenantUserUid": "text",
          "tenantUserDisplayName": "text"
        }
      ],
      "discountAmount": 1,
      "freightAmount": 1,
      "unitCost": 1,
      "totalLinePrice": 1,
      "localCurrency": {
        "unitPrice": 1,
        "discountAmount": 1,
        "freightAmount": 1,
        "unitCost": 1,
        "totalLinePrice": 1
      },
      "reservations": [
        {
          "orderUid": "text",
          "orderItemUid": "text",
          "orderNumber": "text",
          "quantity": 1,
          "reservationType": "NONE"
        }
      ]
    }
  ],
  "lastModifiedAt": "2025-07-30T18:09:02.189Z",
  "lastModifiedBy": "text",
  "note": "text",
  "purchaseNumber": "text",
  "purchaseOrderUid": "text",
  "status": "NEW",
  "storeUid": "text",
  "storeName": "text",
  "supplierUid": "text",
  "supplierName": "text",
  "discountRate": 1,
  "freight": 1,
  "currency": {
    "code": "text",
    "exchangeRate": 1
  }
}

Print or send receipt

post

Send receipt as PDF, print on printer or get as PDF

Authorizations
Path parameters
storeUidstringRequired

Reference to a Store.

Pattern: ^[A-Za-z0-9-_]+
tenantUidstringRequired

Reference to a tenant.

Pattern: ^[A-Za-z0-9-_]+
purchaseOrderUidstringRequired

Reference to a PurchaseOrder.

Pattern: ^[A-Za-z0-9-_]+
Body
emailstringRequired
recepientsstring[]Optional
subjectstringOptional
bodystringOptional
includePDFbooleanOptionalDefault: true
Responses
200
Based on the Accept header the response will be base64 json encoded or a raw file. application/octet-stream will return a binary file application/json will return a json with the file content base64 encoded.
post
POST /v2/tenants/{tenantUid}/stores/{storeUid}/purchase-orders/{purchaseOrderUid}/receipt HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 161

{
  "email": "text",
  "recepients": [
    "text"
  ],
  "subject": "text",
  "body": "text",
  "includePDF": true,
  "attachments": [
    {
      "content": "text",
      "contentType": "text",
      "filename": "text"
    }
  ]
}
{
  "content": "text",
  "contentType": "text",
  "filename": "text"
}

List supplier products for product

get

Lists all supplier products for a productUid. If the product has been linked to a tenant productUid then additional information will be added.

Authorizations
Path parameters
tenantUidstringRequired

Reference to a tenant.

Pattern: ^[A-Za-z0-9-_]+
productUidstringRequired

Reference to a Product.

Pattern: ^[A-Za-z0-9-_]+
Query parameters
pageNumberintegerOptional

Reference to a specific page in a result set.

pageSizeintegerOptional

The number of items per page in a result set.

sortBystringOptional

Defines which field the resource list is sorted by.

sortDirectionstring · enumOptional
ENUM Description
ASC Sort in ascending order
DESC Sort in descending order
Possible values:
Responses
200
Example response
application/json
get
GET /v2/tenants/{tenantUid}/products/{productUid}/suppliers HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200

Example response

{
  "items": [
    {
      "createdAt": "2025-07-30T18:09:02.189Z",
      "lastModifiedAt": "2025-07-30T18:09:02.189Z",
      "productUid": "text",
      "supplierUid": "text",
      "purchasePrice": 1,
      "supplierProductUid": "text",
      "supplierSku": "text"
    }
  ],
  "paging": {
    "pageNumber": 1,
    "pageSize": 1,
    "totalCount": 1
  }
}

Search for purchase orders

post

Search for purchase orders

Authorizations
Path parameters
tenantUidstringRequired

Reference to a tenant.

Pattern: ^[A-Za-z0-9-_]+
Query parameters
pageNumberintegerOptional

Reference to a specific page in a result set.

pageSizeintegerOptional

The number of items per page in a result set.

sortBystringOptional

Defines which field the resource list is sorted by.

sortDirectionstring · enumOptional
ENUM Description
ASC Sort in ascending order
DESC Sort in descending order
Possible values:
Body

Search for purchase orders in all stores on tenant.

An empty string will be ignored, and handeled as if the key did not exist in the payload.

Fuzzy search means that it will try to find words that contains the query string that is supplied. The search is case-insensitive. Example: If you search for "Ol" you will get "Olsen", "Olstad", "Bolset", "Ormebol", [email protected], etc ..

fromDateTimestring · date-timeOptional
toDateTimestring · date-timeOptional
storeUidsstring[]Optional

Reference to a list of storeUids

organizationUidsstring[]Optional

Reference to a list of organizationUids

supplierUidstringOptionalPattern: ^[A-Za-z0-9-_]+
querystringOptional
productUidsstring[]Optional
Responses
200
Example response
application/json
post
POST /v2/tenants/{tenantUid}/purchase-orders/search HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 215

{
  "fromDateTime": "2025-07-30T18:09:02.189Z",
  "toDateTime": "2025-07-30T18:09:02.189Z",
  "orderStatuses": [
    "NEW"
  ],
  "storeUids": [
    "text"
  ],
  "organizationUids": [
    "text"
  ],
  "supplierUid": "text",
  "query": "text",
  "productUids": [
    "text"
  ]
}
200

Example response

{
  "items": [
    {
      "createdAt": "2025-07-30T18:09:02.189Z",
      "createdBy": "text",
      "deliveryAddress": "text",
      "deliveryCity": "text",
      "deliveryCountryCode": "text",
      "deliveryName": "text",
      "deliveryPostalCode": "text",
      "externalId": "text",
      "items": [
        {
          "createdAt": "2025-07-30T18:09:02.189Z",
          "createdBy": "text",
          "expectedDeliveryDate": "2025-07-30",
          "externalId": "text",
          "lastModifiedAt": "2025-07-30T18:09:02.189Z",
          "lastModifiedBy": "text",
          "productUid": "text",
          "productName": "text",
          "productSerialNoRequired": "NO",
          "productSku": "text",
          "purchaseOrderItemUid": "text",
          "quantityOrdered": 1,
          "quantityReceived": 1,
          "quantityReserved": 1,
          "supplierSku": "text",
          "unitPrice": 1,
          "receivementItems": [
            {
              "receivementUid": "text",
              "createdAt": "2025-07-30T18:09:02.189Z",
              "createdBy": "text",
              "externalId": "text",
              "lastModifiedAt": "2025-07-30T18:09:02.189Z",
              "lastModifiedBy": "text",
              "product": {
                "productUid": "text",
                "name": "text",
                "sku": "text"
              },
              "purchaseOrderItemUid": "text",
              "quantity": 1,
              "unitCost": 1,
              "receivementItemUid": "text",
              "serialnumber": "text",
              "status": "text",
              "note": "text",
              "tenantUserUid": "text",
              "tenantUserDisplayName": "text"
            }
          ],
          "discountAmount": 1,
          "freightAmount": 1,
          "unitCost": 1,
          "totalLinePrice": 1,
          "localCurrency": {
            "unitPrice": 1,
            "discountAmount": 1,
            "freightAmount": 1,
            "unitCost": 1,
            "totalLinePrice": 1
          },
          "reservations": [
            {
              "orderUid": "text",
              "orderItemUid": "text",
              "orderNumber": "text",
              "quantity": 1,
              "reservationType": "NONE"
            }
          ]
        }
      ],
      "lastModifiedAt": "2025-07-30T18:09:02.189Z",
      "lastModifiedBy": "text",
      "note": "text",
      "purchaseNumber": "text",
      "purchaseOrderUid": "text",
      "status": "NEW",
      "storeUid": "text",
      "storeName": "text",
      "supplierUid": "text",
      "supplierName": "text",
      "discountRate": 1,
      "freight": 1,
      "currency": {
        "code": "text",
        "exchangeRate": 1
      }
    }
  ],
  "paging": {
    "pageNumber": 1,
    "pageSize": 1,
    "totalCount": 1
  }
}

List purchase requests

post

List of products from orders where order item reservation type is REQUEST_PURCHASEORDER. Optionally filter on organisation, store, supplier, and order state.

Authorizations
Path parameters
tenantUidstringRequired

Reference to a tenant.

Pattern: ^[A-Za-z0-9-_]+
Query parameters
pageNumberintegerOptional

Reference to a specific page in a result set.

pageSizeintegerOptional

The number of items per page in a result set.

Body
organizationUidsstring[]Optional
storeUidsstring[]Optional
supplierUidsstring[]Optional
Responses
200
Example response
application/json
post
POST /v2/tenants/{tenantUid}/purchase-orders/requests HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 97

{
  "organizationUids": [
    "text"
  ],
  "storeUids": [
    "text"
  ],
  "supplierUids": [
    "text"
  ],
  "orderStates": [
    "OPEN"
  ]
}
200

Example response

{
  "items": [
    {
      "productUid": "text",
      "sku": "text",
      "productName": "text",
      "totalQuantityOrdered": 1,
      "oldestOrderCreatedAt": "2025-07-30T18:09:02.189Z",
      "suppliers": [
        {
          "supplierUid": "text",
          "name": "text"
        }
      ],
      "orders": [
        {
          "orderUid": "text",
          "orderNumber": "text",
          "orderState": "OPEN",
          "settleState": "NOT_STARTED",
          "storeUid": "text",
          "storeName": "text",
          "items": [
            {
              "orderItemUid": "text",
              "quantityOrdered": 1
            }
          ],
          "createdAt": "2025-07-30T18:09:02.189Z"
        }
      ]
    }
  ],
  "paging": {
    "pageNumber": 1,
    "pageSize": 1,
    "totalCount": 1
  }
}

Was this helpful?