Get a production batch
curl --request GET \
--url https://boh.api.fire.rest/api/v1/public/vendors/{vendorId}/operations/production-batches/{batchId} \
--header 'x-api-key: <x-api-key>'import requests
url = "https://boh.api.fire.rest/api/v1/public/vendors/{vendorId}/operations/production-batches/{batchId}"
headers = {"x-api-key": "<x-api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<x-api-key>'}};
fetch('https://boh.api.fire.rest/api/v1/public/vendors/{vendorId}/operations/production-batches/{batchId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://boh.api.fire.rest/api/v1/public/vendors/{vendorId}/operations/production-batches/{batchId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <x-api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://boh.api.fire.rest/api/v1/public/vendors/{vendorId}/operations/production-batches/{batchId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<x-api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://boh.api.fire.rest/api/v1/public/vendors/{vendorId}/operations/production-batches/{batchId}")
.header("x-api-key", "<x-api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://boh.api.fire.rest/api/v1/public/vendors/{vendorId}/operations/production-batches/{batchId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<x-api-key>'
response = http.request(request)
puts response.read_body{
"id": "prd_01j5k...",
"store_id": "str_main_01...",
"recipe_snapshot_id": "snap_mole_v3_01...",
"actual_output": {
"quantity": 2,
"unit_label": "lt",
"unit_to_base_factor": 1000,
"base_unit_id": "unit_ml_01...",
"qty_base": 2000
},
"produced_at": "2026-08-07T07:00:00.000Z",
"notes": "Morning prep",
"status": "COMPLETED",
"created_at": "2026-08-07T07:01:00.000Z"
}
{
"error": {
"kind": "production_batch_not_found",
"message": "Production batch not found"
}
}
Production Batches
Get a production batch
Returns a single production batch with full detail including ingredient consumption lines.
GET
/
api
/
v1
/
public
/
vendors
/
{vendorId}
/
operations
/
production-batches
/
{batchId}
Get a production batch
curl --request GET \
--url https://boh.api.fire.rest/api/v1/public/vendors/{vendorId}/operations/production-batches/{batchId} \
--header 'x-api-key: <x-api-key>'import requests
url = "https://boh.api.fire.rest/api/v1/public/vendors/{vendorId}/operations/production-batches/{batchId}"
headers = {"x-api-key": "<x-api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<x-api-key>'}};
fetch('https://boh.api.fire.rest/api/v1/public/vendors/{vendorId}/operations/production-batches/{batchId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://boh.api.fire.rest/api/v1/public/vendors/{vendorId}/operations/production-batches/{batchId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <x-api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://boh.api.fire.rest/api/v1/public/vendors/{vendorId}/operations/production-batches/{batchId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<x-api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://boh.api.fire.rest/api/v1/public/vendors/{vendorId}/operations/production-batches/{batchId}")
.header("x-api-key", "<x-api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://boh.api.fire.rest/api/v1/public/vendors/{vendorId}/operations/production-batches/{batchId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<x-api-key>'
response = http.request(request)
puts response.read_body{
"id": "prd_01j5k...",
"store_id": "str_main_01...",
"recipe_snapshot_id": "snap_mole_v3_01...",
"actual_output": {
"quantity": 2,
"unit_label": "lt",
"unit_to_base_factor": 1000,
"base_unit_id": "unit_ml_01...",
"qty_base": 2000
},
"produced_at": "2026-08-07T07:00:00.000Z",
"notes": "Morning prep",
"status": "COMPLETED",
"created_at": "2026-08-07T07:01:00.000Z"
}
{
"error": {
"kind": "production_batch_not_found",
"message": "Production batch not found"
}
}
string
required
API key with
inventory:read scope.string
required
Vendor UUID.
string
required
Production batch UUID.
string
Production batch UUID.
string
Store where production occurred.
string
Recipe snapshot used.
object
Produced quantity details.
string
ISO 8601 production timestamp.
string
Lot code assigned to output.
string
Notes.
string
Current status.
string
ISO 8601 creation timestamp.
{
"id": "prd_01j5k...",
"store_id": "str_main_01...",
"recipe_snapshot_id": "snap_mole_v3_01...",
"actual_output": {
"quantity": 2,
"unit_label": "lt",
"unit_to_base_factor": 1000,
"base_unit_id": "unit_ml_01...",
"qty_base": 2000
},
"produced_at": "2026-08-07T07:00:00.000Z",
"notes": "Morning prep",
"status": "COMPLETED",
"created_at": "2026-08-07T07:01:00.000Z"
}
{
"error": {
"kind": "production_batch_not_found",
"message": "Production batch not found"
}
}
⌘I

