In the response, the custom fields batch_name, batch_number, barcode, invoice_number and description are returned nested under the metadata object of the batch, not as top-level attributes (see the example below).

Errors

Code Description
401 The provided token is invalid
422 Could not process parameters

Examples

Request:

POST /api/shopify/inventory_batches
{
  "enable_shopify_sync": true,
  "inventory_batch": {
    "location_id": 63066407088,
    "variant_id": 44519466369200,
    "quantity": 55,
    "batch_name": "Strawberry Jam March",
    "batch_number": "SJ-2024-03",
    "barcode": "0123456789012",
    "invoice_number": "INV-1042",
    "description": "March restock",
    "received_date": "2024-03-01",
    "expiry_date": "2024-09-01"
  }
}

Response (201) - batch_name, batch_number, barcode, invoice_number and
description are returned under the "metadata" object, not at the top level:

{
  "id": 4041,
  "quantity": 55,
  "expired_at": null,
  "expiry_date": "2024-09-01 00:00:00 UTC",
  "received_date": "2024-03-01 00:00:00 UTC",
  "metadata": {
    "batch_name": "Strawberry Jam March",
    "batch_number": "SJ-2024-03",
    "barcode": "0123456789012",
    "invoice_number": "INV-1042",
    "description": "March restock"
  },
  "created_at": "2024-03-01 05:48:06 UTC",
  "updated_at": "2024-03-01 05:48:06 UTC",
  "notified_at": null,
  "discounted": false,
  "location_id": 63066407088,
  "variant_id": 44519466369200
}
// invalid params
POST /api/shopify/inventory_batches
inventory_batch[quantity]=55
422
Location must exist and Variant must exist
// invalid token
POST /api/shopify/inventory_batches
enable_shopify_sync=true&inventory_batch[location_id]=1000&inventory_batch[variant_id]=2000&inventory_batch[quantity]=55&inventory_batch[batch_name]=batch_name&inventory_batch[batch_number]=batch_number&inventory_batch[barcode]=barcode&inventory_batch[invoice_number]=invoice_number&inventory_batch[description]=description&inventory_batch[received_date]=2023-07-03
401
HTTP Token: Access denied.
// valid token and params
POST /api/shopify/inventory_batches
enable_shopify_sync=true&inventory_batch[location_id]=1000&inventory_batch[variant_id]=2000&inventory_batch[quantity]=55&inventory_batch[batch_name]=batch_name&inventory_batch[batch_number]=batch_number&inventory_batch[barcode]=barcode&inventory_batch[invoice_number]=invoice_number&inventory_batch[description]=description&inventory_batch[received_date]=2023-07-03
201
{
  "id": 4041,
  "quantity": 55,
  "expired_at": null,
  "expiry_date": null,
  "received_date": "2023-07-03 00:00:00 UTC",
  "metadata": {
    "batch_name": "batch_name",
    "batch_number": "batch_number",
    "barcode": "barcode",
    "invoice_number": "invoice_number",
    "description": "description"
  },
  "created_at": "2023-07-03 05:48:06 UTC",
  "updated_at": "2023-07-03 05:48:06 UTC",
  "notified_at": null,
  "discounted": false,
  "location_id": 1000,
  "variant_id": 2000
}

Params

Param name Description
enable_shopify_sync
optional

Whether to apply a Shopify inventory adjustment for this change. Accepted values: true or false. Can be sent at the top level or nested under inventory_batch. Note: the app preference “Batch quantities added or adjusted on Freshly are reflected in Shopify” is a master switch. When that preference is OFF, this parameter has no effect and no Shopify inventory adjustment occurs. When the preference is ON, passing true applies an inventory adjustment at the batch’s location; passing false or omitting the parameter leaves Shopify inventory unchanged.

Validations:

  • Must be one of: true, false, 1, 0.

inventory_batch
optional

Validations:

  • Must be a Hash

inventory_batch[location_id]
required

Shopify location ID

Validations:

  • Must be a Integer

inventory_batch[variant_id]
required

Shopify variant ID

Validations:

  • Must be a Integer

inventory_batch[quantity]
required

Inventory batch quantity

Validations:

  • Must be a Integer

inventory_batch[enable_shopify_sync]
optional

Alternative placement of the top-level enable_shopify_sync parameter (either location is accepted; see enable_shopify_sync above for semantics)

Validations:

  • Must be one of: true, false, 1, 0.

inventory_batch[batch_name]
optional

Inventory batch name (returned under metadata in the response)

Validations:

  • Must be a String

inventory_batch[batch_number]
optional

Inventory batch number (returned under metadata in the response)

Validations:

  • Must be a String

inventory_batch[barcode]
optional

Inventory batch barcode (returned under metadata in the response)

Validations:

  • Must be a String

inventory_batch[invoice_number]
optional

Inventory batch invoice number (returned under metadata in the response)

Validations:

  • Must be a String

inventory_batch[description]
optional

Inventory batch description (returned under metadata in the response)

Validations:

  • Must be a String

inventory_batch[received_date]
optional

Inventory batch received date (YYYY-MM-DD, or any ISO 8601 date/time)

Validations:

  • Must be a String

inventory_batch[expiry_date]
optional

Inventory batch expiry date; same format as received_date (YYYY-MM-DD, or any ISO 8601 date/time)

Validations:

  • Must be a String

Headers

Header name Description
Authorization
required
Bearer token