Report progress on an operations group
curl --request POST \
--url https://api.bold-factory.com/v1/production/operationsGroups/{groupReference}/progress \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"quantity": 123
}
'import requests
url = "https://api.bold-factory.com/v1/production/operationsGroups/{groupReference}/progress"
payload = { "quantity": 123 }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({quantity: 123})
};
fetch('https://api.bold-factory.com/v1/production/operationsGroups/{groupReference}/progress', 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://api.bold-factory.com/v1/production/operationsGroups/{groupReference}/progress",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'quantity' => 123
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.bold-factory.com/v1/production/operationsGroups/{groupReference}/progress"
payload := strings.NewReader("{\n \"quantity\": 123\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.bold-factory.com/v1/production/operationsGroups/{groupReference}/progress")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"quantity\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bold-factory.com/v1/production/operationsGroups/{groupReference}/progress")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"quantity\": 123\n}"
response = http.request(request)
puts response.read_body{
"type": "https://api.bold-factory.com/errors/COMMON.QUERY.FILTER_PARSING_FAILED",
"title": "Filter parsing failed",
"status": 400,
"detail": "The filter string could not be parsed or contains invalid column references: CreatedBy column does not exist.",
"instance": "POST /v1/items/families/search",
"code": "COMMON.QUERY.FILTER_PARSING_FAILED"
}{
"type": "https://www.rfc-editor.org/rfc/rfc9110.html#name-401-unauthorized",
"title": "Unauthorized",
"status": 401,
"detail": "You are not authenticated.",
"instance": "GET /v1/items/skus"
}{
"type": "https://api.bold-factory.com/errors/COMMON.AUTH.MISSING_PERMISSIONS",
"title": "Missing permissions",
"status": 403,
"detail": "Missing permissions: Items.Families.Read",
"instance": "GET /v1/maintenance/assets",
"code": "COMMON.AUTH.MISSING_PERMISSIONS"
}{
"type": "https://api.bold-factory.com/errors/PLANNING.PURCHASE_ORDER.CANNOT_MODIFY_CANCELLED_LINE",
"title": "Cannot modify cancelled line",
"status": 422,
"detail": "A cancelled line can't be modified.",
"instance": "PUT /v1/planning/purchaseOrders/po_sd786f78s78hgf8hg/lines/pol_n7893ytw3et7w4wfo5rf",
"code": "PLANNING.PURCHASE_ORDER.CANNOT_MODIFY_CANCELLED_LINE"
}{
"type": "https://api.bold-factory.com/errors/COMMON.RATE_LIMIT.EXCEEDED",
"title": "Rate limit exceeded",
"status": 429,
"detail": "The request rate limit for this tenant has been exceeded. Retry after the indicated delay.",
"instance": "GET /v1/admin/tenants/self",
"code": "COMMON.RATE_LIMIT.EXCEEDED",
"parameters": {}
}OperationsGroups
Report progress on an operations group
Requires Production.Orders.Work permissions. Quantity must use the base unit shared by every SKU in the group. The group will be automatically finished when completed quantity reaches total quantity.
POST
/
v1
/
production
/
operationsGroups
/
{groupReference}
/
progress
Report progress on an operations group
curl --request POST \
--url https://api.bold-factory.com/v1/production/operationsGroups/{groupReference}/progress \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"quantity": 123
}
'import requests
url = "https://api.bold-factory.com/v1/production/operationsGroups/{groupReference}/progress"
payload = { "quantity": 123 }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({quantity: 123})
};
fetch('https://api.bold-factory.com/v1/production/operationsGroups/{groupReference}/progress', 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://api.bold-factory.com/v1/production/operationsGroups/{groupReference}/progress",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'quantity' => 123
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.bold-factory.com/v1/production/operationsGroups/{groupReference}/progress"
payload := strings.NewReader("{\n \"quantity\": 123\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.bold-factory.com/v1/production/operationsGroups/{groupReference}/progress")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"quantity\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bold-factory.com/v1/production/operationsGroups/{groupReference}/progress")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"quantity\": 123\n}"
response = http.request(request)
puts response.read_body{
"type": "https://api.bold-factory.com/errors/COMMON.QUERY.FILTER_PARSING_FAILED",
"title": "Filter parsing failed",
"status": 400,
"detail": "The filter string could not be parsed or contains invalid column references: CreatedBy column does not exist.",
"instance": "POST /v1/items/families/search",
"code": "COMMON.QUERY.FILTER_PARSING_FAILED"
}{
"type": "https://www.rfc-editor.org/rfc/rfc9110.html#name-401-unauthorized",
"title": "Unauthorized",
"status": 401,
"detail": "You are not authenticated.",
"instance": "GET /v1/items/skus"
}{
"type": "https://api.bold-factory.com/errors/COMMON.AUTH.MISSING_PERMISSIONS",
"title": "Missing permissions",
"status": 403,
"detail": "Missing permissions: Items.Families.Read",
"instance": "GET /v1/maintenance/assets",
"code": "COMMON.AUTH.MISSING_PERMISSIONS"
}{
"type": "https://api.bold-factory.com/errors/PLANNING.PURCHASE_ORDER.CANNOT_MODIFY_CANCELLED_LINE",
"title": "Cannot modify cancelled line",
"status": 422,
"detail": "A cancelled line can't be modified.",
"instance": "PUT /v1/planning/purchaseOrders/po_sd786f78s78hgf8hg/lines/pol_n7893ytw3et7w4wfo5rf",
"code": "PLANNING.PURCHASE_ORDER.CANNOT_MODIFY_CANCELLED_LINE"
}{
"type": "https://api.bold-factory.com/errors/COMMON.RATE_LIMIT.EXCEEDED",
"title": "Rate limit exceeded",
"status": 429,
"detail": "The request rate limit for this tenant has been exceeded. Retry after the indicated delay.",
"instance": "GET /v1/admin/tenants/self",
"code": "COMMON.RATE_LIMIT.EXCEEDED",
"parameters": {}
}