An introduction to SeekMake

SeekMake is dedicated to empowering businesses with cutting-edge technologies and personalized services. Whether prototyping a new product or scaling production, SeekMake offers a comprehensive suite of tools and resources to meet manufacturing needs.

What can SeekMake API do?

SeekMake Instant Quoting API empowers users to streamline their quoting process:

  • Real-time Pricing: Retrieve instant pricing information for a wide range of manufacturing services, including 3D printing, CNC machining, injection molding, and more.
  • Material Selection: Access a comprehensive database of materials for each manufacturing service, allowing users to specify their preferred material for their project.
  • Quantity Estimation: Calculate pricing based on the quantity of units to be manufactured, enabling users to adjust quantities and see pricing updates in real-time.
  • Size Customization: Provide dimensions for the part to be manufactured, allowing users to specify the size of their project and receive accurate pricing information.
  • Integration Flexibility: Integrate the SeekMake Instant Quoting API into a variety of platforms, including marketplaces, e-commerce websites, custom applications, and more.
  • Scalability: Handle a high volume of requests with ease, ensuring smooth performance even during peak usage periods.

Getting Started

Our well-structured API documentation offers clear and concise guidance on how to integrate and use each of our APIs. You'll find everything you need to know to start building on SeekMake.

  • Create a Manufacturer Account: To access and use our APIs, you'll need a SeekMake Manufacturer account. Sign up here.
  • Plugin Key & Token: Once you have your Manufacturer account, you’ll be able get your unique API key, Token and ID from here.

Stay Updated

We're continuously improving our APIs and adding new features. Stay in the loop with our developer blog and newsletter. Get the latest updates, tips, and best practices delivered right to your inbox.

Base Url

Use this base URL as the root for all API requests.

https://api-v2.seekmake.com

Authenticating Requests

The SeekMake API uses API keys to authenticate requests. You can view and manage your API keys in the developer portal. You need to be logged in with a manufacturer account to access your keys.

Send your API key in the Authorization header of every request: Authorization: Bearer YOUR_API_KEY.

Your API keys carry many privileges, be sure to keep them secure. Do not share your secret API keys in publicly accessible areas. Also, use the development base URL during development.

Headers

Authorization: Bearer {your API key}

Note: use the API key generated in the developers portal in all your requests to the SeekMake API.

Demands / Orders

Create new demands

Request

const response = await fetch("/api/public/v1/demand/create-quotes/{businessId}", {
method: "POST",
headers: {
"Authorization": "Bearer <your-api-key>",
"Content-Type": "application/json",
},
body: JSON.stringify(createDemandRequestData[]),
});

Payload

[
{
"jobDetails": {
"invoiceData": {
"invoiceDate": "string",
"dueDate": "string",
"taxPercentage": 0,
"taxCustomer": "string",
"customerTaxType": "string",
"taxProvider": "string",
"note": "string"
},
"manufacturingPartner": "string",
"manufacturerGain": {
"type": "\"PERCENTAGE\" | \"AMOUNT\""
},
"jobOfferOrderStatus": "\"PENDING\" | \"PAID\"",
"takenAs": "\"QUOTE\" | \"ORDER\"",
"roomOwnerPartner": "string",
"roomClientPartner": "string",
"visibility": "\"PUBLIC\" | \"RESTRICTED\"",
"includeAllPartners": false,
"allowedNetworks": [],
"allowedPartners": [],
"clientSettings": {
"allowClientPartnerChat": false,
"allowClientSeeOffers": false,
"allowClientAcceptOffers": false
},
"partnerSettings": {
"transferOldFeesToPartner": false
},
"allowDemandToJobFeed": false,
"offers": [
{
"offeringBusiness": "string",
"priceTotal": 0,
"priceDelivery": 0,
"quoteModel": [
{
"priceConception": 0,
"priceExtra": 0,
"priceMachine": 0,
"quantity": 0
}
],
"deliveryDate": "string",
"roomOwnerPartner": "string",
"roomClientPartner": "string",
"isSelected": false,
"useTotalPrice": false,
"offerCreationDate": "string"
}
],
"jobSubmissionDate": "string",
"oldPartners": [
{
"partnerId": "string",
"date": "string",
"roomOwnerPartner": "string",
"roomClientPartner": "string"
}
]
},
"referral": "google",
"isDashboardReferrer": false,
"draftId": "64b1f000b3c4d5e6f7a8b9c1",
"business": "string",
"id": "string",
"quoteModel": [],
"quoteFileModel": {},
"couponCode": {},
"client": "string",
"machineOwner": "string",
"jobOfferId": "string",
"post": "string",
"machineOwnerEmail": "string",
"dateAccepted": 0,
"technique": "\"3D_PRINTING\" | \"CNC_MACHINING\" | \"SHEET_METAL\" | \"PCB\"",
"file": {},
"material": "string",
"resolution": "string",
"filling": 0,
"amount": 0,
"quantity": 0,
"priceMin": 0,
"remark": [],
"coloredSvg": "string",
"messages": [
{
"message": "string",
"role": "string",
"timeStamp": "string"
}
],
"color": "string",
"thickness": 0,
"tolerance": "string",
"phone": "string",
"address": "string",
"country": "string",
"city": "string",
"region": "string",
"zip": "string",
"firstName": "string",
"lastName": "string",
"type": "\"normal\" | \"express\" | \"product_sale\"",
"typeDelivery": "\"home delivery\" | \"pickup directly\"",
"isRated": false,
"isCompany": false,
"demandStatusInfo": {
"status": "63f7babc1234567890abcdef",
"substatus": "in_production"
},
"archive": false,
"conception": false,
"priceToClient": "string",
"fixedPrice": 0,
"priceToPartner": "string",
"priceMachine": "string",
"priceConception": 0,
"priceExtra": 0,
"useTotalPrice": false,
"priceTotal": 0,
"currency": "string",
"priceDelivery": 0,
"priceToMachnieOwner": "string",
"priceByMachines": [],
"settings": {
"notification": {
"user": false,
"machineOwner": false
}
},
"fabricatedDate": "string",
"producedAt": 0,
"startedShippingAt": 0,
"deliveredAt": 0,
"trackId": "string",
"shippingProvider": "string",
"declinedBy": [],
"dfmCheckData": {},
"modelSizes": {},
"billingAddress": {
"address": "string",
"vat": "string",
"firstName": "string",
"lastName": "string",
"email": "string",
"phone": "string",
"city": "string",
"region": "string",
"country": "string",
"zip": "string"
},
"shippingAddress": {
"address": "string",
"vat": "string",
"firstName": "string",
"lastName": "string",
"email": "string",
"phone": "string",
"city": "string",
"region": "string",
"country": "string",
"zip": "string"
},
"minEstimatedPrice": 0,
"maxEstimatedPrice": 0,
"additionalFees": [],
"packingSlipData": "PackingSlipType",
"shippingAddressDetails": {
"address": "string",
"city": "string",
"region": "string",
"country": "string",
"zip": "string"
},
"billingAddressDetails": {
"address": "string",
"city": "string",
"region": "string",
"country": "string",
"zip": "string"
},
"useDifferentAddresses": false,
"email": "string"
}
]

Sample Response

[
{
"_id": "64a1f000b3c4d5e6f7a8b9c0",
"orderNumber": 42,
"type": "NORMAL",
"currency": "EUR",
"technique": "FDM",
"material": "PLA",
"color": "Gray",
"priceToClient": 120,
"priceToManufacturer": 100,
"priceTotal": 126,
"platformFee": 20,
"priceDelivery": 6,
"taxPaid": 6,
"taxPercentage": 5,
"taxName": "VAT",
"paymentStatus": "PENDING_PAYMENT",
"archive": false,
"fabricatedDate": "2024-04-20",
"createdAt": "2024-04-05T10:23:45.000Z",
"updatedAt": "2024-04-07T14:10:00.000Z",
"demandStatusInfo": {
"status": "a1b2c3d4e5f6a7b8c9d0e1f2",
"substatus": "In Production"
},
"billingAddress": {
"address": "12 Rue de la Paix",
"phone": "+33612345678",
"city": "Paris",
"region": "Île-de-France",
"country": "FR",
"zip": "75001",
"companyName": "Acme Corp"
},
"shippingAddress": {
"address": "12 Rue de la Paix",
"phone": "+33612345678",
"city": "Paris",
"region": "Île-de-France",
"country": "FR",
"zip": "75001",
"companyName": "Acme Corp"
},
"quoteModel": [
{
"_id": "69f310df353e8ed59627b203",
"fileName": "example-file.stl",
"fileLink": "https://files.seekmake.com/66fa696f4f51a3f661b83cfd/job-files/13036963479157326-example-file.stl",
"modelType": "stl",
"screenshotLink": "https://files.seekmake.com/66fa696f4f51a3f661b83cfd/1662532578247693-screenshot.jpg",
"multiViewScreenshotsLink": "https://files.seekmake.com/66fa696f4f51a3f661b83cfd/3463911185158044446-screenshots.zip",
"unit": "mm",
"viewerType": "3D",
"isSupported": true,
"machineCanPrint": true,
"position": 0,
"scale": 100,
"volume": 0,
"total_print_area": 22198.33,
"modelSizes": {
"width": 100,
"height": 86.6,
"depth": 45.3,
"scale": 100,
"unit": "mm"
},
"coordinates": {
"x_index": 100,
"y_index": 86.6,
"z_index": 45.3
},
"tolerance": "",
"material": "Hars/Resin",
"color": "Gray",
"colorHex": "#B8B8B8",
"colorNameKey": "COLOR.GRAY",
"infill": "",
"resolution": "",
"service": "3D_PRINTING",
"technology": "SLA",
"technologyAlias": "",
"technologyFactor": 0.5,
"priceCalculatorTool": "default",
"selectedOptions": [
{
"refer": "lead_time",
"name": "Standard",
"type": "price_multiplier",
"priceMultiplier": 1,
"fixedPrice": {
"price": 0,
"currency": "EUR"
},
"percentage": 7,
"isDeffault": true,
"created": "2026-03-03T09:30:04.892Z",
"finishId": "",
"machineId": "",
"materialId": ""
}
],
"dfmData": {
"anomalies": [],
"coloredSvg": "",
"scaledFile": ""
},
"slicingData": {
"width": 100,
"height": 86.6,
"depth": 45.3,
"density": 1.03,
"filament_length": 4696.8,
"hours": 5.218666666666667,
"volume": "19961.54",
"weight": "20.56",
"minimum_bounding_box": 392320.5,
"convex_hull": 106740.38,
"total_print_area": 22198.33,
"number_of_layers": 1733,
"openEdges": 0
},
"bendingData": {
"analysis_summary": {},
"general_description": "",
"features_summary": "",
"bends": [],
"material": {},
"additional_features": [],
"overall_dimensions": {},
"manufacturing_method": "",
"session_info": {}
},
"priceMachine": "22.7",
"priceConception": 0,
"priceExtra": 0,
"pricePerPiece": 22.69622438312,
"startupCost": 4.622115467101313,
"price_min": 27.318339850221314,
"priceEngine": 22.69622438312,
"priceWithMargin": 22.69622438312,
"currency": "USD",
"discount": 0,
"discountAmount": 0,
"priceSurcharge": 0,
"bulkPricing": [],
"expectedPrice": 42.17,
"AiPriceEstimation": {
"price": 42.17,
"aiCalculator": "SLA"
},
"quantity": 1,
"postProduction": [],
"note": "",
"customerNote": "",
"productionNote": "",
"partId": "",
"odooProductId": 12345,
"substatus": "",
"substatusNotes": "",
"progress": 0,
"failure": {
"option": "",
"description": ""
},
"leadTimeIncluded": true,
"marginIncluded": true,
"postProductionIncluded": false,
"quantityIncluded": false,
"startupCostIncluded": true,
"technologyFactorIncluded": true,
"customOptionsIncluded": false,
"materialUsage": "",
"draftId": "",
"priceMinPart": 0,
"lastTest": 0
}
],
"tracking": [
{
"status": "a1b2c3d4e5f6a7b8c9d0e1f2",
"date": 1712345678000
}
],
"uniqueItems": 1,
"total": 120,
"quantity": 10,
"feesTotalAmount": 26,
"leadTime": 5,
"shippingDuration": 3,
"subtotal": 100,
"pricePerPiece": 10,
"startupCost": 20,
"isPaid": true,
"status": "In Production",
"discount": 0,
"paymentAuthToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImphbmUuZG9lQGV4YW1wbGUuY29tIn0.abc123"
}
]

POST /api/public/v1/demand/create-quotes/{businessId}

Query parameters

lang"de" | "en" | "fr" | "es" | "ru" | "zh" | "tr" | "pt" | "it" | "sk" | "pl" | "nl" | "hu" | "cs" | "da" | "lv" | "sv" | "ro" | "no" | "ar" | "et" | "gr" | "hi" | "vi" | "id" | "ja" | "th" | "ko"Required

Request Body CreateDemandRequestData[]

jobDetailsJobDetailsoptional
Details about the job, including partners and status
referralstringRequired
Example "google"
isDashboardReferrerbooleanRequired
Example false
draftIdstringoptional
Example "64b1f000b3c4d5e6f7a8b9c1"
businessstringoptional
idstringoptional
quoteModelobject[]Required
quoteFileModelobjectRequired
couponCodeobjectRequired
clientstringRequired
machineOwnerstringRequired
jobOfferIdstringRequired
poststringRequired
machineOwnerEmailstringRequired
dateAcceptednumberRequired
technique"3D_PRINTING" | "CNC_MACHINING" | "SHEET_METAL" | "PCB"Required
fileobjectRequired
materialstringRequired
resolutionstringRequired
fillingnumberRequired
amountnumberRequired
quantitynumberRequired
priceMinnumberRequired
remarkstring[]Required
coloredSvgstringRequired
messagesMessagesType[]Required
colorstringRequired
thicknessnumberRequired
tolerancestringRequired
phonestringRequired
addressstringRequired
countrystringRequired
citystringRequired
regionstringRequired
zipstringRequired
firstNamestringRequired
lastNamestringRequired
type"normal" | "express" | "product_sale"Required
typeDelivery"home delivery" | "pickup directly"Required
isRatedbooleanRequired
isCompanybooleanRequired
demandStatusInfoDemandStatusInputDtoRequired
The new demand status object.
archivebooleanRequired
conceptionbooleanRequired
priceToClientstringRequired
fixedPricenumberRequired
priceToPartnerstringRequired
priceMachinestringRequired
priceConceptionnumberRequired
priceExtranumberRequired
useTotalPricebooleanRequired
priceTotalnumberRequired
currencystringRequired
priceDeliverynumberRequired
priceToMachnieOwnerstringRequired
priceByMachinesstring[]Required
settingsSettingTypeoptional
fabricatedDatestringRequired
producedAtnumberRequired
startedShippingAtnumberRequired
deliveredAtnumberRequired
trackIdstringRequired
shippingProviderstringRequired
declinedBystring[]Required
dfmCheckDataobjectRequired
modelSizesobjectRequired
billingAddressBillingTypeoptional
shippingAddressBillingTypeoptional
minEstimatedPricenumberRequired
maxEstimatedPricenumberRequired
additionalFeesstring[]Required
packingSlipDataPackingSlipTypeRequired
shippingAddressDetailsAddressDetailsoptional
Details about the shipping address
billingAddressDetailsAddressDetailsoptional
Details about the billing address
useDifferentAddressesbooleanoptional
emailstringRequired

Request response

201 CreatedDemandResponse[]
Successfully created the demand batch.
_idstring
The Id property details.
orderNumbernumber
The Order Number property details.
type"NORMAL" | "PRODUCT_SALE"
The Type property details.
currencystring
The Currency property details.
techniquestring
The Technique property details.
materialstring
The Material property details.
colorstring
The Color property details.
priceToClientnumber
The Price To Client property details.
priceToManufacturernumber
The Price To Machine Owner property details.
priceTotalnumber
The Price Total property details.
platformFeenumber
The Platform Fee property details.
priceDeliverynumber
The Price Delivery property details.
taxPaidnumber
The Tax Paid property details.
taxPercentagenumber
The Tax Percentage property details.
taxNamestring
The Tax Name property details.
paymentStatus"PENDING_PAYMENT" | "PAID" | "PENDING_ADDITIONAL_FEES_PAYMENT"
The Payment Status property details.
archiveboolean
The Archive property details.
fabricatedDatestring
The Fabricated Date property details.
createdAtstring
The Created At property details.
updatedAtstring
The Updated At property details.
demandStatusInfoDemandStatusInfoResponse
The Demand Status Info property details.
statusstring
Primary status string of the demand.
substatusstring
Substatus string of the demand.
billingAddressAddressResponse
The Billing Address property details.
addressstring
The Address property details.
phonestring
The Phone property details.
citystring
The City property details.
regionstring
The Region property details.
countrystring
The Country property details.
zipstring
The Zip property details.
companyNamestring
The Company Name property details.
shippingAddressAddressResponse
The Shipping Address property details.
addressstring
The Address property details.
phonestring
The Phone property details.
citystring
The City property details.
regionstring
The Region property details.
countrystring
The Country property details.
zipstring
The Zip property details.
companyNamestring
The Company Name property details.
quoteModelQuoteModelResponse[]
The Quote Model property details.
_idstring
Unique internal identifier of the quote model.
fileNamestring
Original uploaded name of the model file.
fileLinkstring
URL link to download the model file.
modelTypestring
File extension or geometry format of the model.
screenshotLinkstring
URL to a generated screenshot of the model.
multiViewScreenshotsLinkstring
Array of URLs to multi-angle screenshots of the model.
unitstring
Measurement unit (e.g. mm, cm).
viewerType"2D" | "3D" | "Not Supported"
Indicator if the model is suitable for 3D or 2D viewer.
isSupportedboolean
Indicates if the file format and geometry are supported.
machineCanPrintboolean
Boolean indicating if the physical dimensions fit inside the machine.
positionnumber
Display ordering index of the model.
scalenumber
Scale percentage requested by the customer.
volumenumber
Calculated volume of the model.
total_print_areanumber
Overall printable surface area of the model.
modelSizesModelSizesResponse
Physical dimensions of the model.
coordinatesCoordinatesResponse
Geometrical coordinate limits of the model.
tolerancestring
Tolerance requirements for the part.
materialstring
The material selected for manufacturing the part.
colorstring
The color selected for the part.
colorHexstring
Hex code representing the selected color.
colorNameKeystring
Translation key corresponding to the color name.
infillstring
Infill percentage or pattern selected.
resolutionstring
Selected layer height or resolution.
servicestring
The primary manufacturing service (e.g., 3D Printing).
technologystring
Manufacturing technology selected.
technologyAliasstring
Alternate alias for the chosen technology.
technologyFactornumber
Pricing multiplier associated with the technology.
priceCalculatorToolstring
Name of the pricing algorithm or tool used.
selectedOptionsSelectedOptionResponse[]
List of custom manufacturing options selected.
dfmDataDfmDataResponse
Design for Manufacturability (DFM) check results.
slicingDataSlicingDataResponse
Information generated from the model slicing engine.
bendingDataBendingDataResponse
Bending calculations and geometry analysis results.
priceMachinestring
Raw calculated cost based on machine runtime.
priceConceptionnumber
Calculated cost for conception/design services.
priceExtranumber
Additional manual extra charges.
pricePerPiecenumber
Calculated cost per individual unit.
startupCostnumber
Initial setup cost for manufacturing the part.
price_minnumber
Minimum allowable price for processing this order.
priceEnginenumber
Total calculated price from the pricing engine.
priceWithMarginnumber
Final price after applying the platform margin.
currencystring
Currency code for the estimated prices.
discountnumber
Percentage discount applied to this model.
discountAmountnumber
Absolute monetary discount applied to this model.
priceSurchargenumber
Surcharge amount applied based on rules.
bulkPricingnumber[]
Array of discounted pricing levels for ordering in bulk.
expectedPricestring
The target or expected price provided by the customer.
AiPriceEstimationAiPriceEstimationResponse
AI-generated price estimation data.
quantitynumber
Number of units ordered.
postProductionstring[]
List of post-processing options requested.
notestring
General notes associated with this model.
customerNotestring
Note provided by the customer for this specific model.
productionNotestring
Internal notes regarding the production process.
partIdstring
Unique internal identifier for the manufactured part.
odooProductIdnumber
Reference ID for the equivalent product in the Odoo ERP.
substatusstring
Substatus indicating the current step in the workflow.
substatusNotesstring
Notes or reasons accompanying the current substatus.
progressnumber
Percentage of completion for manufacturing this part.
failureFailureResponse
[object Object]
leadTimeIncludedboolean
Boolean indicating if lead time estimations are finalized.
marginIncludedboolean
Boolean indicating if platform margins have been added to the base price.
postProductionIncludedboolean
Boolean indicating if post-production costs are factored into the price.
quantityIncludedboolean
Boolean indicating if bulk discounts are finalized.
startupCostIncludedboolean
Boolean indicating if startup costs are included in the price.
technologyFactorIncludedboolean
Boolean indicating if the technology factor was applied.
customOptionsIncludedboolean
Boolean indicating if custom options are factored into the price.
materialUsagestring
Estimated amount of material in grams/units required.
draftIdstring
ID of the draft associated with this model quote.
priceMinPartnumber
Minimum allowable price for processing this specific part.
lastTestnumber
Timestamp or reference of the last geometry test.
trackingTrackingEntryResponse[]
The Tracking property details.
statusstring
Status descriptor for the tracking event.
datenumber
Timestamp associated with the tracking event.
uniqueItemsnumber
The Unique Items property details.
totalnumber
The Total property details.
quantitynumber
The Quantity property details.
feesTotalAmountnumber
The Fees Total Amount property details.
leadTimenumber
The Lead Time property details.
shippingDurationnumber
The Shipping Duration property details.
subtotalnumber
The Subtotal property details.
pricePerPiecenumber
The Price Per Piece property details.
startupCostnumber
The Startup Cost property details.
isPaidboolean
The Is Paid property details.
statusstring
The Status property details.
discountnumber
The Discount property details.
paymentAuthTokenstring
The Payment Auth Token property details.
403
Access denied due to insufficient permissions.

Get all Quotes/Orders

List business demands

Request

const response = await fetch("/api/public/v1/demand/{businessId}/{type}", {
method: "GET",
headers: {
"Authorization": "Bearer <your-api-key>",
},
});

Sample Response

{
"data": [
{
"_id": "64a1f000b3c4d5e6f7a8b9c0",
"orderNumber": 42,
"type": "NORMAL",
"currency": "EUR",
"technique": "FDM",
"material": "PLA",
"color": "Gray",
"priceToClient": 120,
"priceToManufacturer": 100,
"priceTotal": 126,
"platformFee": 20,
"priceDelivery": 6,
"taxPaid": 6,
"taxPercentage": 5,
"taxName": "VAT",
"paymentStatus": "PENDING_PAYMENT",
"archive": false,
"fabricatedDate": "2024-04-20",
"createdAt": "2024-04-05T10:23:45.000Z",
"updatedAt": "2024-04-07T14:10:00.000Z",
"demandStatusInfo": {
"status": "a1b2c3d4e5f6a7b8c9d0e1f2",
"substatus": "In Production"
},
"billingAddress": {
"address": "12 Rue de la Paix",
"phone": "+33612345678",
"city": "Paris",
"region": "Île-de-France",
"country": "FR",
"zip": "75001",
"companyName": "Acme Corp"
},
"shippingAddress": {
"address": "12 Rue de la Paix",
"phone": "+33612345678",
"city": "Paris",
"region": "Île-de-France",
"country": "FR",
"zip": "75001",
"companyName": "Acme Corp"
},
"quoteModel": [
{
"_id": "69f310df353e8ed59627b203",
"fileName": "example-file.stl",
"fileLink": "https://files.seekmake.com/66fa696f4f51a3f661b83cfd/job-files/13036963479157326-example-file.stl",
"modelType": "stl",
"screenshotLink": "https://files.seekmake.com/66fa696f4f51a3f661b83cfd/1662532578247693-screenshot.jpg",
"multiViewScreenshotsLink": "https://files.seekmake.com/66fa696f4f51a3f661b83cfd/3463911185158044446-screenshots.zip",
"unit": "mm",
"viewerType": "3D",
"isSupported": true,
"machineCanPrint": true,
"position": 0,
"scale": 100,
"volume": 0,
"total_print_area": 22198.33,
"modelSizes": {
"width": 100,
"height": 86.6,
"depth": 45.3,
"scale": 100,
"unit": "mm"
},
"coordinates": {
"x_index": 100,
"y_index": 86.6,
"z_index": 45.3
},
"tolerance": "",
"material": "Hars/Resin",
"color": "Gray",
"colorHex": "#B8B8B8",
"colorNameKey": "COLOR.GRAY",
"infill": "",
"resolution": "",
"service": "3D_PRINTING",
"technology": "SLA",
"technologyAlias": "",
"technologyFactor": 0.5,
"priceCalculatorTool": "default",
"selectedOptions": [
{
"refer": "lead_time",
"name": "Standard",
"type": "price_multiplier",
"priceMultiplier": 1,
"fixedPrice": {
"price": 0,
"currency": "EUR"
},
"percentage": 7,
"isDeffault": true,
"created": "2026-03-03T09:30:04.892Z",
"finishId": "",
"machineId": "",
"materialId": ""
}
],
"dfmData": {
"anomalies": [],
"coloredSvg": "",
"scaledFile": ""
},
"slicingData": {
"width": 100,
"height": 86.6,
"depth": 45.3,
"density": 1.03,
"filament_length": 4696.8,
"hours": 5.218666666666667,
"volume": "19961.54",
"weight": "20.56",
"minimum_bounding_box": 392320.5,
"convex_hull": 106740.38,
"total_print_area": 22198.33,
"number_of_layers": 1733,
"openEdges": 0
},
"bendingData": {
"analysis_summary": {},
"general_description": "",
"features_summary": "",
"bends": [],
"material": {},
"additional_features": [],
"overall_dimensions": {},
"manufacturing_method": "",
"session_info": {}
},
"priceMachine": "22.7",
"priceConception": 0,
"priceExtra": 0,
"pricePerPiece": 22.69622438312,
"startupCost": 4.622115467101313,
"price_min": 27.318339850221314,
"priceEngine": 22.69622438312,
"priceWithMargin": 22.69622438312,
"currency": "USD",
"discount": 0,
"discountAmount": 0,
"priceSurcharge": 0,
"bulkPricing": [],
"expectedPrice": 42.17,
"AiPriceEstimation": {
"price": 42.17,
"aiCalculator": "SLA"
},
"quantity": 1,
"postProduction": [],
"note": "",
"customerNote": "",
"productionNote": "",
"partId": "",
"odooProductId": 12345,
"substatus": "",
"substatusNotes": "",
"progress": 0,
"failure": {
"option": "",
"description": ""
},
"leadTimeIncluded": true,
"marginIncluded": true,
"postProductionIncluded": false,
"quantityIncluded": false,
"startupCostIncluded": true,
"technologyFactorIncluded": true,
"customOptionsIncluded": false,
"materialUsage": "",
"draftId": "",
"priceMinPart": 0,
"lastTest": 0
}
],
"tracking": [
{
"status": "a1b2c3d4e5f6a7b8c9d0e1f2",
"date": 1712345678000
}
],
"uniqueItems": 1,
"total": 120,
"quantity": 10,
"feesTotalAmount": 26,
"leadTime": 5,
"shippingDuration": 3,
"subtotal": 100,
"pricePerPiece": 10,
"startupCost": 20,
"isPaid": true,
"status": "In Production",
"discount": 0
}
],
"page": 1,
"pageSize": 10,
"total": 100,
"totalPages": 10
}

GET /api/public/v1/demand/{businessId}/{type}

Request params

businessIdstring
Business identifier.
typeDemandViewType "ORDERS" | "QUOTES"
Type of demand view to return (e.g., ORDERS).

Query parameters

pagenumberoptional
pageSizenumberoptional

Request response

200 DemandsListResponse
Paginated list of demands.
dataDemandResponse[]
_idstring
The Id property details.
orderNumbernumber
The Order Number property details.
type"NORMAL" | "PRODUCT_SALE"
The Type property details.
currencystring
The Currency property details.
techniquestring
The Technique property details.
materialstring
The Material property details.
colorstring
The Color property details.
priceToClientnumber
The Price To Client property details.
priceToManufacturernumber
The Price To Machine Owner property details.
priceTotalnumber
The Price Total property details.
platformFeenumber
The Platform Fee property details.
priceDeliverynumber
The Price Delivery property details.
taxPaidnumber
The Tax Paid property details.
taxPercentagenumber
The Tax Percentage property details.
taxNamestring
The Tax Name property details.
paymentStatus"PENDING_PAYMENT" | "PAID" | "PENDING_ADDITIONAL_FEES_PAYMENT"
The Payment Status property details.
archiveboolean
The Archive property details.
fabricatedDatestring
The Fabricated Date property details.
createdAtstring
The Created At property details.
updatedAtstring
The Updated At property details.
demandStatusInfoDemandStatusInfoResponse
The Demand Status Info property details.
billingAddressAddressResponse
The Billing Address property details.
shippingAddressAddressResponse
The Shipping Address property details.
quoteModelQuoteModelResponse[]
The Quote Model property details.
trackingTrackingEntryResponse[]
The Tracking property details.
uniqueItemsnumber
The Unique Items property details.
totalnumber
The Total property details.
quantitynumber
The Quantity property details.
feesTotalAmountnumber
The Fees Total Amount property details.
leadTimenumber
The Lead Time property details.
shippingDurationnumber
The Shipping Duration property details.
subtotalnumber
The Subtotal property details.
pricePerPiecenumber
The Price Per Piece property details.
startupCostnumber
The Startup Cost property details.
isPaidboolean
The Is Paid property details.
statusstring
The Status property details.
discountnumber
The Discount property details.
pagenumber
pageSizenumber
totalnumber
totalPagesnumber
403
Access denied due to insufficient permissions.

Get Quote/Order

Get demand details

Request

const response = await fetch("/api/public/v1/demand/{demandId}", {
method: "GET",
headers: {
"Authorization": "Bearer <your-api-key>",
},
});

Sample Response

{
"_id": "64a1f000b3c4d5e6f7a8b9c0",
"orderNumber": 42,
"type": "NORMAL",
"currency": "EUR",
"technique": "FDM",
"material": "PLA",
"color": "Gray",
"priceToClient": 120,
"priceToManufacturer": 100,
"priceTotal": 126,
"platformFee": 20,
"priceDelivery": 6,
"taxPaid": 6,
"taxPercentage": 5,
"taxName": "VAT",
"paymentStatus": "PENDING_PAYMENT",
"archive": false,
"fabricatedDate": "2024-04-20",
"createdAt": "2024-04-05T10:23:45.000Z",
"updatedAt": "2024-04-07T14:10:00.000Z",
"demandStatusInfo": {
"status": "a1b2c3d4e5f6a7b8c9d0e1f2",
"substatus": "In Production"
},
"billingAddress": {
"address": "12 Rue de la Paix",
"phone": "+33612345678",
"city": "Paris",
"region": "Île-de-France",
"country": "FR",
"zip": "75001",
"companyName": "Acme Corp"
},
"shippingAddress": {
"address": "12 Rue de la Paix",
"phone": "+33612345678",
"city": "Paris",
"region": "Île-de-France",
"country": "FR",
"zip": "75001",
"companyName": "Acme Corp"
},
"quoteModel": [
{
"_id": "69f310df353e8ed59627b203",
"fileName": "example-file.stl",
"fileLink": "https://files.seekmake.com/66fa696f4f51a3f661b83cfd/job-files/13036963479157326-example-file.stl",
"modelType": "stl",
"screenshotLink": "https://files.seekmake.com/66fa696f4f51a3f661b83cfd/1662532578247693-screenshot.jpg",
"multiViewScreenshotsLink": "https://files.seekmake.com/66fa696f4f51a3f661b83cfd/3463911185158044446-screenshots.zip",
"unit": "mm",
"viewerType": "3D",
"isSupported": true,
"machineCanPrint": true,
"position": 0,
"scale": 100,
"volume": 0,
"total_print_area": 22198.33,
"modelSizes": {
"width": 100,
"height": 86.6,
"depth": 45.3,
"scale": 100,
"unit": "mm"
},
"coordinates": {
"x_index": 100,
"y_index": 86.6,
"z_index": 45.3
},
"tolerance": "",
"material": "Hars/Resin",
"color": "Gray",
"colorHex": "#B8B8B8",
"colorNameKey": "COLOR.GRAY",
"infill": "",
"resolution": "",
"service": "3D_PRINTING",
"technology": "SLA",
"technologyAlias": "",
"technologyFactor": 0.5,
"priceCalculatorTool": "default",
"selectedOptions": [
{
"refer": "lead_time",
"name": "Standard",
"type": "price_multiplier",
"priceMultiplier": 1,
"fixedPrice": {
"price": 0,
"currency": "EUR"
},
"percentage": 7,
"isDeffault": true,
"created": "2026-03-03T09:30:04.892Z",
"finishId": "",
"machineId": "",
"materialId": ""
}
],
"dfmData": {
"anomalies": [],
"coloredSvg": "",
"scaledFile": ""
},
"slicingData": {
"width": 100,
"height": 86.6,
"depth": 45.3,
"density": 1.03,
"filament_length": 4696.8,
"hours": 5.218666666666667,
"volume": "19961.54",
"weight": "20.56",
"minimum_bounding_box": 392320.5,
"convex_hull": 106740.38,
"total_print_area": 22198.33,
"number_of_layers": 1733,
"openEdges": 0
},
"bendingData": {
"analysis_summary": {},
"general_description": "",
"features_summary": "",
"bends": [],
"material": {},
"additional_features": [],
"overall_dimensions": {},
"manufacturing_method": "",
"session_info": {}
},
"priceMachine": "22.7",
"priceConception": 0,
"priceExtra": 0,
"pricePerPiece": 22.69622438312,
"startupCost": 4.622115467101313,
"price_min": 27.318339850221314,
"priceEngine": 22.69622438312,
"priceWithMargin": 22.69622438312,
"currency": "USD",
"discount": 0,
"discountAmount": 0,
"priceSurcharge": 0,
"bulkPricing": [],
"expectedPrice": 42.17,
"AiPriceEstimation": {
"price": 42.17,
"aiCalculator": "SLA"
},
"quantity": 1,
"postProduction": [],
"note": "",
"customerNote": "",
"productionNote": "",
"partId": "",
"odooProductId": 12345,
"substatus": "",
"substatusNotes": "",
"progress": 0,
"failure": {
"option": "",
"description": ""
},
"leadTimeIncluded": true,
"marginIncluded": true,
"postProductionIncluded": false,
"quantityIncluded": false,
"startupCostIncluded": true,
"technologyFactorIncluded": true,
"customOptionsIncluded": false,
"materialUsage": "",
"draftId": "",
"priceMinPart": 0,
"lastTest": 0
}
],
"tracking": [
{
"status": "a1b2c3d4e5f6a7b8c9d0e1f2",
"date": 1712345678000
}
],
"uniqueItems": 1,
"total": 120,
"quantity": 10,
"feesTotalAmount": 26,
"leadTime": 5,
"shippingDuration": 3,
"subtotal": 100,
"pricePerPiece": 10,
"startupCost": 20,
"isPaid": true,
"status": "In Production",
"discount": 0
}

GET /api/public/v1/demand/{demandId}

Request params

demandIdstring
Unique identifier of the demand.

Request response

200 DemandResponse
Returns the complete demand object data.
_idstring
The Id property details.
orderNumbernumber
The Order Number property details.
type"NORMAL" | "PRODUCT_SALE"
The Type property details.
currencystring
The Currency property details.
techniquestring
The Technique property details.
materialstring
The Material property details.
colorstring
The Color property details.
priceToClientnumber
The Price To Client property details.
priceToManufacturernumber
The Price To Machine Owner property details.
priceTotalnumber
The Price Total property details.
platformFeenumber
The Platform Fee property details.
priceDeliverynumber
The Price Delivery property details.
taxPaidnumber
The Tax Paid property details.
taxPercentagenumber
The Tax Percentage property details.
taxNamestring
The Tax Name property details.
paymentStatus"PENDING_PAYMENT" | "PAID" | "PENDING_ADDITIONAL_FEES_PAYMENT"
The Payment Status property details.
archiveboolean
The Archive property details.
fabricatedDatestring
The Fabricated Date property details.
createdAtstring
The Created At property details.
updatedAtstring
The Updated At property details.
demandStatusInfoDemandStatusInfoResponse
The Demand Status Info property details.
statusstring
Primary status string of the demand.
substatusstring
Substatus string of the demand.
billingAddressAddressResponse
The Billing Address property details.
addressstring
The Address property details.
phonestring
The Phone property details.
citystring
The City property details.
regionstring
The Region property details.
countrystring
The Country property details.
zipstring
The Zip property details.
companyNamestring
The Company Name property details.
shippingAddressAddressResponse
The Shipping Address property details.
addressstring
The Address property details.
phonestring
The Phone property details.
citystring
The City property details.
regionstring
The Region property details.
countrystring
The Country property details.
zipstring
The Zip property details.
companyNamestring
The Company Name property details.
quoteModelQuoteModelResponse[]
The Quote Model property details.
_idstring
Unique internal identifier of the quote model.
fileNamestring
Original uploaded name of the model file.
fileLinkstring
URL link to download the model file.
modelTypestring
File extension or geometry format of the model.
screenshotLinkstring
URL to a generated screenshot of the model.
multiViewScreenshotsLinkstring
Array of URLs to multi-angle screenshots of the model.
unitstring
Measurement unit (e.g. mm, cm).
viewerType"2D" | "3D" | "Not Supported"
Indicator if the model is suitable for 3D or 2D viewer.
isSupportedboolean
Indicates if the file format and geometry are supported.
machineCanPrintboolean
Boolean indicating if the physical dimensions fit inside the machine.
positionnumber
Display ordering index of the model.
scalenumber
Scale percentage requested by the customer.
volumenumber
Calculated volume of the model.
total_print_areanumber
Overall printable surface area of the model.
modelSizesModelSizesResponse
Physical dimensions of the model.
coordinatesCoordinatesResponse
Geometrical coordinate limits of the model.
tolerancestring
Tolerance requirements for the part.
materialstring
The material selected for manufacturing the part.
colorstring
The color selected for the part.
colorHexstring
Hex code representing the selected color.
colorNameKeystring
Translation key corresponding to the color name.
infillstring
Infill percentage or pattern selected.
resolutionstring
Selected layer height or resolution.
servicestring
The primary manufacturing service (e.g., 3D Printing).
technologystring
Manufacturing technology selected.
technologyAliasstring
Alternate alias for the chosen technology.
technologyFactornumber
Pricing multiplier associated with the technology.
priceCalculatorToolstring
Name of the pricing algorithm or tool used.
selectedOptionsSelectedOptionResponse[]
List of custom manufacturing options selected.
dfmDataDfmDataResponse
Design for Manufacturability (DFM) check results.
slicingDataSlicingDataResponse
Information generated from the model slicing engine.
bendingDataBendingDataResponse
Bending calculations and geometry analysis results.
priceMachinestring
Raw calculated cost based on machine runtime.
priceConceptionnumber
Calculated cost for conception/design services.
priceExtranumber
Additional manual extra charges.
pricePerPiecenumber
Calculated cost per individual unit.
startupCostnumber
Initial setup cost for manufacturing the part.
price_minnumber
Minimum allowable price for processing this order.
priceEnginenumber
Total calculated price from the pricing engine.
priceWithMarginnumber
Final price after applying the platform margin.
currencystring
Currency code for the estimated prices.
discountnumber
Percentage discount applied to this model.
discountAmountnumber
Absolute monetary discount applied to this model.
priceSurchargenumber
Surcharge amount applied based on rules.
bulkPricingnumber[]
Array of discounted pricing levels for ordering in bulk.
expectedPricestring
The target or expected price provided by the customer.
AiPriceEstimationAiPriceEstimationResponse
AI-generated price estimation data.
quantitynumber
Number of units ordered.
postProductionstring[]
List of post-processing options requested.
notestring
General notes associated with this model.
customerNotestring
Note provided by the customer for this specific model.
productionNotestring
Internal notes regarding the production process.
partIdstring
Unique internal identifier for the manufactured part.
odooProductIdnumber
Reference ID for the equivalent product in the Odoo ERP.
substatusstring
Substatus indicating the current step in the workflow.
substatusNotesstring
Notes or reasons accompanying the current substatus.
progressnumber
Percentage of completion for manufacturing this part.
failureFailureResponse
[object Object]
leadTimeIncludedboolean
Boolean indicating if lead time estimations are finalized.
marginIncludedboolean
Boolean indicating if platform margins have been added to the base price.
postProductionIncludedboolean
Boolean indicating if post-production costs are factored into the price.
quantityIncludedboolean
Boolean indicating if bulk discounts are finalized.
startupCostIncludedboolean
Boolean indicating if startup costs are included in the price.
technologyFactorIncludedboolean
Boolean indicating if the technology factor was applied.
customOptionsIncludedboolean
Boolean indicating if custom options are factored into the price.
materialUsagestring
Estimated amount of material in grams/units required.
draftIdstring
ID of the draft associated with this model quote.
priceMinPartnumber
Minimum allowable price for processing this specific part.
lastTestnumber
Timestamp or reference of the last geometry test.
trackingTrackingEntryResponse[]
The Tracking property details.
statusstring
Status descriptor for the tracking event.
datenumber
Timestamp associated with the tracking event.
uniqueItemsnumber
The Unique Items property details.
totalnumber
The Total property details.
quantitynumber
The Quantity property details.
feesTotalAmountnumber
The Fees Total Amount property details.
leadTimenumber
The Lead Time property details.
shippingDurationnumber
The Shipping Duration property details.
subtotalnumber
The Subtotal property details.
pricePerPiecenumber
The Price Per Piece property details.
startupCostnumber
The Startup Cost property details.
isPaidboolean
The Is Paid property details.
statusstring
The Status property details.
discountnumber
The Discount property details.
403
Access denied due to insufficient permissions.
404
The requested resource could not be found.

Update Quote/Order

Update a demand

Request

const response = await fetch("/api/public/v1/demand/{demandId}", {
method: "PUT",
headers: {
"Authorization": "Bearer <your-api-key>",
"Content-Type": "application/json",
},
body: JSON.stringify(updateDemandRequestData),
});

Payload

{
"invoiceData": {
"invoiceDate": "string",
"dueDate": "string",
"taxPercentage": 0,
"taxCustomer": "string",
"customerTaxType": "string",
"taxProvider": "string",
"note": "string"
},
"demandStatusInfo": {
"status": "63f7babc1234567890abcdef",
"substatus": "in_production"
},
"draftId": "string",
"useTotalPrice": false,
"priceTotal": 0,
"discountedTotalPrice": 0,
"discountedAmount": 0,
"fixedPrice": 0,
"priceSurcharge": 0,
"priceToPartner": "string",
"id": "string",
"quoteModel": [],
"couponCode": {},
"quoteFileModel": {},
"client": "string",
"machineOwner": "string",
"post": "string",
"machineOwnerEmail": "string",
"dateAccepted": 0,
"technique": "\"3D_PRINTING\" | \"CNC_MACHINING\" | \"SHEET_METAL\" | \"PCB\"",
"referral": "string",
"business": "string",
"file": {},
"material": "string",
"resolution": "string",
"filling": 0,
"amount": 0,
"quantity": 0,
"remark": [],
"coloredSvg": "string",
"messages": [
{
"message": "string",
"role": "string",
"timeStamp": "string"
}
],
"color": "string",
"thickness": 0,
"tolerance": "string",
"email": "string",
"phone": "string",
"address": "string",
"country": "string",
"city": "string",
"region": "string",
"zip": "string",
"firstName": "string",
"lastName": "string",
"type": "\"normal\" | \"express\" | \"product_sale\"",
"typeDelivery": "\"home delivery\" | \"pickup directly\"",
"isRated": false,
"isCompany": false,
"archive": false,
"conception": false,
"priceToClient": "string",
"priceMachine": "string",
"priceConception": 0,
"priceExtra": 0,
"currency": "string",
"priceDelivery": 0,
"priceToMachnieOwner": "string",
"priceByMachines": [],
"settings": {
"notification": {
"user": false,
"machineOwner": false
}
},
"fabricatedDate": "string",
"producedAt": 0,
"startedShippingAt": 0,
"deliveredAt": 0,
"trackId": "string",
"declinedBy": [],
"shippingProvider": "string",
"dfmCheckData": {},
"modelSizes": {},
"billingAddress": {
"address": "string",
"vat": "string",
"firstName": "string",
"lastName": "string",
"email": "string",
"phone": "string",
"city": "string",
"region": "string",
"country": "string",
"zip": "string"
},
"shippingAddress": {
"address": "string",
"vat": "string",
"firstName": "string",
"lastName": "string",
"email": "string",
"phone": "string",
"city": "string",
"region": "string",
"country": "string",
"zip": "string"
},
"minEstimatedPrice": 0,
"maxEstimatedPrice": 0,
"additionalFees": [],
"packingSlipData": "PackingSlipType",
"jobDetails": {
"invoiceData": {
"invoiceDate": "string",
"dueDate": "string",
"taxPercentage": 0,
"taxCustomer": "string",
"customerTaxType": "string",
"taxProvider": "string",
"note": "string"
},
"manufacturingPartner": "string",
"manufacturerGain": {
"type": "\"PERCENTAGE\" | \"AMOUNT\""
},
"jobOfferOrderStatus": "\"PENDING\" | \"PAID\"",
"takenAs": "\"QUOTE\" | \"ORDER\"",
"roomOwnerPartner": "string",
"roomClientPartner": "string",
"visibility": "\"PUBLIC\" | \"RESTRICTED\"",
"includeAllPartners": false,
"allowedNetworks": [],
"allowedPartners": [],
"clientSettings": {
"allowClientPartnerChat": false,
"allowClientSeeOffers": false,
"allowClientAcceptOffers": false
},
"partnerSettings": {
"transferOldFeesToPartner": false
},
"allowDemandToJobFeed": false,
"offers": [
{
"offeringBusiness": "string",
"priceTotal": 0,
"priceDelivery": 0,
"quoteModel": [
{
"priceConception": 0,
"priceExtra": 0,
"priceMachine": 0,
"quantity": 0
}
],
"deliveryDate": "string",
"roomOwnerPartner": "string",
"roomClientPartner": "string",
"isSelected": false,
"useTotalPrice": false,
"offerCreationDate": "string"
}
],
"jobSubmissionDate": "string",
"oldPartners": [
{
"partnerId": "string",
"date": "string",
"roomOwnerPartner": "string",
"roomClientPartner": "string"
}
]
},
"overRideTax": false,
"taxPaid": 0,
"taxPercentage": 0,
"priceMin": 0,
"companyName": "string",
"taxNumber": "string",
"taxOffice": "string",
"paymentProvider": "\"STRIPE\" | \"PAYMEE\" | \"FLUTTERWAVE\" | \"BANK_TRANSFER\" | \"PAYPAL\" | \"PURCHASE_ORDER\" | \"MANUAL_VALIDATION\""
}

PUT /api/public/v1/demand/{demandId}

Request params

demandIdstring
Unique identifier of the demand to update.

Query parameters

sendAdditionalFeeMailbooleanRequired
sendOfferbooleanRequired

Request Body UpdateDemandRequestData

invoiceDataJobInvoiceDataDtoRequired
Invoice data associated with the job details
demandStatusInfoDemandStatusInputDtoRequired
The new demand status object.
draftIdstringoptional
useTotalPricebooleanRequired
priceTotalnumberRequired
discountedTotalPricenumberRequired
discountedAmountnumberRequired
fixedPricenumberRequired
priceSurchargenumberRequired
priceToPartnerstringRequired
idstringoptional
quoteModelobject[]Required
couponCodeobjectRequired
quoteFileModelobjectRequired
clientstringRequired
machineOwnerstringRequired
poststringRequired
machineOwnerEmailstringRequired
dateAcceptednumberRequired
technique"3D_PRINTING" | "CNC_MACHINING" | "SHEET_METAL" | "PCB"Required
referralstringRequired
businessstringoptional
fileobjectRequired
materialstringRequired
resolutionstringRequired
fillingnumberRequired
amountnumberRequired
quantitynumberRequired
remarkstring[]Required
coloredSvgstringRequired
messagesMessagesType[]Required
colorstringRequired
thicknessnumberRequired
tolerancestringRequired
emailstringRequired
phonestringRequired
addressstringRequired
countrystringRequired
citystringRequired
regionstringRequired
zipstringRequired
firstNamestringRequired
lastNamestringRequired
type"normal" | "express" | "product_sale"Required
typeDelivery"home delivery" | "pickup directly"Required
isRatedbooleanRequired
isCompanybooleanRequired
archivebooleanRequired
conceptionbooleanRequired
priceToClientstringRequired
priceMachinestringRequired
priceConceptionnumberRequired
priceExtranumberRequired
currencystringRequired
priceDeliverynumberRequired
priceToMachnieOwnerstringRequired
priceByMachinesstring[]Required
settingsSettingTypeoptional
fabricatedDatestringRequired
producedAtnumberRequired
startedShippingAtnumberRequired
deliveredAtnumberRequired
trackIdstringRequired
declinedBystring[]Required
shippingProviderstringRequired
dfmCheckDataobjectRequired
modelSizesobjectRequired
billingAddressBillingTypeoptional
shippingAddressBillingTypeoptional
minEstimatedPricenumberRequired
maxEstimatedPricenumberRequired
additionalFeesstring[]Required
packingSlipDataPackingSlipTypeRequired
jobDetailsJobDetailsoptional
Details about the job, including partners and status
overRideTaxbooleanRequired
taxPaidnumberRequired
taxPercentagenumberRequired
priceMinnumberRequired
companyNamestringRequired
taxNumberstringRequired
taxOfficestringRequired
paymentProvider"STRIPE" | "PAYMEE" | "FLUTTERWAVE" | "BANK_TRANSFER" | "PAYPAL" | "PURCHASE_ORDER" | "MANUAL_VALIDATION"Required

Request response

200
Successfully updated the demand object.
403
Access denied due to insufficient permissions.
404
The requested resource could not be found.

Price Estimation

Estimate quote model price for a given business

Request

const response = await fetch("/api/public/v1/price-estimation/{businessId}", {
method: "POST",
headers: {
"Authorization": "Bearer <your-api-key>",
"Content-Type": "application/json",
},
body: JSON.stringify(quoteModelPublicDto),
});

Payload

{
"bulkPricing": [
1,
5,
10
],
"dfmData": {
"anomalies": [
{
"title": "Thin Wall",
"description": "Wall thickness is below the minimum printable threshold."
}
],
"coloredSvg": "",
"scaledFile": "",
"allLength": 450.5,
"allSurface": 22198.33,
"height": 86.6,
"width": 100
},
"unit": "mm",
"technologyAlias": "",
"fileLink": "https://files.seekmake.com/66fa696f4f51a3f661b83cfd/job-files/13036963479157326-example-file.stl",
"fileName": "example-file.stl",
"modelType": "stl",
"viewerType": "3D",
"service": "3D_PRINTING",
"technology": "FDM",
"priceCalculatorTool": "custom",
"isSupported": true,
"position": 0,
"quantity": 1,
"scale": 100,
"volume": "19961.54",
"color": "Gray",
"colorHex": "#B8B8B8",
"colorNameKey": "COLOR.GRAY",
"infill": "0%",
"resolution": "0.4mm",
"tolerance": "",
"note": "",
"coordinates": {
"x_index": 100,
"y_index": 86.6,
"z_index": 45.3
},
"modelSizes": {
"width": 100,
"height": 86.6,
"unit": "mm",
"scale": 100
},
"material": {
"_id": "6448essmme2acb4edcd7a67f68",
"machine": "678a62210b233haa5c54451bd",
"service": "3D_PRINTING",
"materials": "ABS M30",
"price": 3000,
"currency": "EUR",
"technology": "FDM",
"description": "ABS M30 is a high impact resistant and tough material.",
"colors": [],
"density": {
"value": 1.03,
"unit": "g/cm3"
},
"startupCost": {
"price": null,
"currency": "EUR"
},
"unit": "kg",
"factor": "2.1"
},
"selectedOptions": [
{
"refer": "infill",
"name": "0%",
"type": "price_multiplier",
"priceMultiplier": 1,
"fixedPrice": {
"price": 0,
"currency": "EUR"
},
"percentage": 1,
"isDeffault": true
}
],
"slicingData": {
"width": 100,
"height": 86.6,
"depth": 45.3,
"density": 1.03,
"filament_length": 4696.8,
"hours": 5.22,
"volume": "19961.54",
"weight": "20560.38",
"minimum_bounding_box": 392320.5,
"convex_hull": 106740.38,
"total_print_area": 22198.33,
"number_of_layers": 87
},
"priceMachine": "",
"priceConception": 0,
"priceExtra": 0,
"discount": 0,
"postProduction": [],
"machineCanPrint": false
}

Sample Response

{
"message": "Successfully calculated model price",
"data": {
"price": 444.04
}
}

POST /api/public/v1/price-estimation/{businessId}

Request params

businessIdstring

Query parameters

currencystringoptional
Target currency for price calculation

Request Body QuoteModelPublicDto

bulkPricingnumber[]optional
Array of discounted pricing levels for ordering in bulk.
Example [ 1, 5, 10 ]
dfmDataDfmCheckDataDtooptional
Design for Manufacturability (DFM) check results.
unitstringoptional
Measurement unit (e.g. mm, cm).
Example "mm"
technologyAliasstringoptional
Alternate alias for the chosen technology.
Example ""
fileLinkstringRequired
URL link to download the model file.
Example "https://files.seekmake.com/66fa696f4f51a3f661b83cfd/job-files/13036963479157326-example-file.stl"
fileNamestringRequired
Original uploaded name of the model file.
Example "example-file.stl"
modelTypestringRequired
File extension or geometry format of the model.
Example "stl"
viewerType"2D" | "3D" | "Not Supported"Required
Indicator if the model is suitable for 3D or 2D viewer.
Example "3D"
servicestringRequired
The primary manufacturing service (e.g., 3D Printing).
Example "3D_PRINTING"
technologystringRequired
Manufacturing technology selected.
Example "FDM"
priceCalculatorToolstringRequired
Name of the pricing algorithm or tool used.
Example "custom"
isSupportedbooleanRequired
Indicates if the file format and geometry are supported.
Example true
positionnumberRequired
Display ordering index of the model.
Example 0
quantitynumberRequired
Number of units ordered.
Example 1
scalenumberRequired
Scale percentage requested by the customer.
Example 100
volumestringRequired
Calculated volume of the model.
Example "19961.54"
colorstringRequired
The color selected for the part.
Example "Gray"
colorHexstringRequired
Hex code representing the selected color.
Example "#B8B8B8"
colorNameKeystringoptional
Translation key corresponding to the color name.
Example "COLOR.GRAY"
infillstringoptional
Infill percentage or pattern selected.
Example "0%"
resolutionstringoptional
Selected layer height or resolution.
Example "0.4mm"
tolerancestringoptional
Tolerance requirements for the part.
Example ""
notestringoptional
General notes associated with this model.
Example ""
coordinatesCoordinatesDtoRequired
Geometrical coordinate limits of the model.
modelSizesModelSizesDtooptional
Physical dimensions of the model.
materialMaterialDtoRequired
The material selected for manufacturing the part.
selectedOptionsSelectedOptionDto[]optional
List of custom manufacturing options selected.
slicingDataSlicingDataDtooptional
Information generated from the model slicing engine.
priceMachinestringoptional
Raw calculated cost based on machine runtime.
Example ""
priceConceptionnumberoptional
Calculated cost for conception/design services.
Example 0
priceExtranumberoptional
Additional manual extra charges.
Example 0
discountnumberoptional
Percentage discount applied to this model.
Example 0
postProductionstring[]optional
List of post-processing options requested.
machineCanPrintbooleanoptional
Boolean indicating if the physical dimensions fit inside the machine.
Example false

Request response

201 PriceEstimationResponseDto
Price per piece calculated successfully
messagestring
The Message property details.
dataPriceEstimationDataDto
The Data property details.
pricenumber
The Price property details.
403
Forbidden.

File Access

Grants access to a demand file by generating SAS token.

Request

const response = await fetch("/api/public/v1/demand/access/file/{demandId}", {
method: "GET",
headers: {
"Authorization": "Bearer <your-api-key>",
},
});

Sample Response

{
"url": "https://files.seekmake.com/66fa696f4f51a3f661b83cfd/job-files/13036963479157326-example-file.stl?GoogleAccessId=accessId=access%40eighth-arbor-464419-d5.iam.gserviceaccount.com&Expires=1777908060&Signature=abc123...",
"token": "GoogleAccessId=access%40eighth-arbor-464419-d5.iam.gserviceaccount.com&Expires=1777908060&Signature=abc123..."
}

GET /api/public/v1/demand/access/file/{demandId}

Request params

demandIdstring
Business identifier.

Query parameters

filePathstringoptional

Request response

200 PublicResponseDataAccessFile
Signed file access URL with SAS/GCS token.
urlstring
The Url property details.
tokenstring
The Token property details.
403
Forbidden.

MCP server for AI assistants
Premium feature Premium

Connect Claude, Cursor, VS Code or any MCP client to your shop. Your assistant can read your quotes and orders, create and update quotes, and price parts, using the same API key as the public API.

Use the API key from Get started. Paste only the part that starts with pk_business_.

Tools

  • list_quotesLists your quote requests or confirmed orders.
  • get_quoteGets one quote or order in full.
  • get_quote_fileGets a download link for a quote's files.
  • create_quotesCreates quotes and emails them to your customer.
  • update_quoteChanges a quote's status, prices, dates or tracking.
  • estimate_pricePrices a part with your pricing.
  • list_machinesLists your machines and the materials each one runs, with their prices.
  • get_pricing_setupShows how each technology is priced and the options customers choose from
  • get_pattern_statusShows which materials are trained for pattern-matching pricing, with how many samples.
  • measure_partMeasures an attached 3D file: size, volume, surface, and whether the mesh is closed.

Creating and updating quotes are real changes and can email your customer. Your assistant asks you before running them.

Claude Desktop, Cursor and other MCP clients

{
  "mcpServers": {
    "seekmake": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://api-v2.seekmake.com/api/v2/ms-integrations/api/public/v1/mcp/protocol",
        "--header",
        "Authorization:${AUTH_HEADER}"
      ],
      "env": {
        "AUTH_HEADER": "Bearer YOUR_API_KEY"
      }
    }
  }
}

Requires Node.js 18 or later. Restart the client after saving.

Claude Code

claude mcp add --transport http --scope user seekmake https://api-v2.seekmake.com/api/v2/ms-integrations/api/public/v1/mcp/protocol --header "Authorization: Bearer YOUR_API_KEY"

Step-by-step setup

About 3 minutes

New to this? Follow these four steps to connect your AI assistant to SeekMake. No coding needed.

Which app do you use?

Pick one. You can come back and choose another later.

Something not working?

Restart the app completely. These apps only load new tools when they start. Then check that the setup was saved and that the key has no extra spaces.

The key is wrong or was not copied fully. Get it again with Get my key in step 2, then copy the setup again.

Claude Desktop needs Node.js on your computer. Install the LTS version from nodejs.org, then restart the app.

Your setup was copied from an older version of this page. Copy the setup above again, replace the old "seekmake" part with it, and restart the app.

We have detected an issue
This might limit your use of SeekMake. To resolve it, you can:
  • Click "Clear Cache" (Note: This will log you out)
  • Contact Us for further assistance