BOM
Expand Bom To Skus
Create a draft BOM for every style SKU of this BOM’s style, copying its line items and resolving each material to the matching variant at the master material’s true cost.
POST
/
api
/
v1
/
bom
/
{bom_id}
/
expand-to-skus
Expand Bom To Skus
curl --request POST \
--url https://vinmake-erp.onrender.com/api/v1/bom/{bom_id}/expand-to-skus \
--header 'Authorization: Bearer <token>'import requests
url = "https://vinmake-erp.onrender.com/api/v1/bom/{bom_id}/expand-to-skus"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://vinmake-erp.onrender.com/api/v1/bom/{bom_id}/expand-to-skus', 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://vinmake-erp.onrender.com/api/v1/bom/{bom_id}/expand-to-skus",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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://vinmake-erp.onrender.com/api/v1/bom/{bom_id}/expand-to-skus"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://vinmake-erp.onrender.com/api/v1/bom/{bom_id}/expand-to-skus")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://vinmake-erp.onrender.com/api/v1/bom/{bom_id}/expand-to-skus")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"success": true,
"message": "<string>",
"styleId": "<string>",
"styleSkuCount": 123,
"materialLineCount": 123,
"createdCount": 123,
"existingCount": 123,
"createdMaterialVariantCount": 123,
"costSheetId": "<string>",
"costSheetDocumentId": "<string>",
"sourceBomId": "<string>",
"sourceBomDocumentId": "<string>",
"styleName": "<string>",
"items": [
{
"bomId": "<string>",
"bomDocumentId": "<string>",
"styleSkuId": "<string>",
"lineItemCount": 123,
"styleSkuDocumentId": "<string>"
}
],
"createdMaterialVariants": [
{
"materialId": "<string>",
"materialSkuId": "<string>",
"materialName": "<string>",
"materialSkuDocumentId": "<string>",
"color": "<string>",
"size": "<string>"
}
]
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Authorizations
The access token received from the authorization server in the OAuth 2.0 flow.
Headers
Path Parameters
Response
Successful Response
Show child attributes
Show child attributes
Show child attributes
Show child attributes
⌘I
Expand Bom To Skus
curl --request POST \
--url https://vinmake-erp.onrender.com/api/v1/bom/{bom_id}/expand-to-skus \
--header 'Authorization: Bearer <token>'import requests
url = "https://vinmake-erp.onrender.com/api/v1/bom/{bom_id}/expand-to-skus"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://vinmake-erp.onrender.com/api/v1/bom/{bom_id}/expand-to-skus', 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://vinmake-erp.onrender.com/api/v1/bom/{bom_id}/expand-to-skus",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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://vinmake-erp.onrender.com/api/v1/bom/{bom_id}/expand-to-skus"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://vinmake-erp.onrender.com/api/v1/bom/{bom_id}/expand-to-skus")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://vinmake-erp.onrender.com/api/v1/bom/{bom_id}/expand-to-skus")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"success": true,
"message": "<string>",
"styleId": "<string>",
"styleSkuCount": 123,
"materialLineCount": 123,
"createdCount": 123,
"existingCount": 123,
"createdMaterialVariantCount": 123,
"costSheetId": "<string>",
"costSheetDocumentId": "<string>",
"sourceBomId": "<string>",
"sourceBomDocumentId": "<string>",
"styleName": "<string>",
"items": [
{
"bomId": "<string>",
"bomDocumentId": "<string>",
"styleSkuId": "<string>",
"lineItemCount": 123,
"styleSkuDocumentId": "<string>"
}
],
"createdMaterialVariants": [
{
"materialId": "<string>",
"materialSkuId": "<string>",
"materialName": "<string>",
"materialSkuDocumentId": "<string>",
"color": "<string>",
"size": "<string>"
}
]
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}