Voodoo Manufacturing 3D Print API
  1. order
Voodoo Manufacturing 3D Print API
  • materials
    • Voodoo Manufacturing offers printing in a number of different materials, with different color options for each. Your organization can expose as many or as few material options as you want to your end-customer.
      GET
  • model
    • Retrieve the models you've created.
      GET
    • Models represent 3D design files that you'd like to produce. Creating models is generally the first step in creating an order.
      POST
    • Get a quote a given model id.
      GET
    • Get a quote for a model with the given attributes.
      GET
    • Retrieve a previously created model by its id.
      GET
  • order
    • Lists all orders.
      GET
    • Confirms an order from a quote_id and submits it to the Voodoo factory.
      POST
    • Quotes an order and returns a quote_id that is used to confirm the order.
      POST
    • List shipping options and prices for a given shipment.
      POST
    • Retrieve a previously created model by its id.
      GET
  1. order

Quotes an order and returns a quote_id that is used to confirm the order.

POST
/order/create
order
Creates an order for the requested items, shipping address, and shipping method. This method returns the order along with a quote_id, which needs to be confirmed with /order/confirm prior to the order actually being started. quote_ids are only valid for 15 minutes.
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request POST '/api/2/order/create' \
--header 'Content-Type: application/json' \
--data-raw '{
    "models": [
        {
            "material_id": 0,
            "model_id": 0,
            "options": {
                "orientation": true
            },
            "quantity": 0,
            "units": "string"
        }
    ],
    "notes": "string",
    "shipping_address": {
        "city": "string",
        "country": "string",
        "email": "string",
        "name": "string",
        "state": "string",
        "street1": "string",
        "street2": "string",
        "zip": "string"
    },
    "shipping_service": "string"
}'
Response Response Example
{
    "address": {
        "city": "Brooklyn",
        "country": "USA",
        "email": "oortlieb@gmail.com",
        "name": "Oliver Ortlieb",
        "state": "NY",
        "street1": "361 Stagg St",
        "street2": "Suite 408",
        "zip": "11206"
    },
    "delivery_date": "2023-08-16T02:30:55.843Z",
    "due_date": "2023-08-16T02:30:55.843Z",
    "notes": "First run of prototypes",
    "order_items": [
        {
            "material_id": 3,
            "model_id": 1,
            "options": {
                "orientation": true
            },
            "quantity": 3,
            "units": "mm"
        }
    ],
    "quote": {
        "after_credits": {
            "chargeAmt": 48.14,
            "shipping": 16.08,
            "success": true,
            "tax": 0,
            "userCredit": 0
        },
        "errors": [],
        "grand_total": 48.14,
        "items": 32.06,
        "options": {
            "orientation": 15
        },
        "shipping": 16.08,
        "tax": 0,
        "total": 48.14
    },
    "quote_id": "e0c90c1d8e1c89084899fbb94dc2fd30d2f8e42d4a6d408d8e0834d7922e30b9",
    "shipping_service": "PRIORITY_OVERNIGHT"
}

Request

Body Params application/json
models
array[object (Print) {5}] 
optional
material_id
integer 
optional
The unique identifier of the material you'd like to print in. This value comes from the id field of the material object.
model_id
integer 
optional
The unique identifier of the model you'd like to print. This value comes from the id field of the model object.
options
object (ProductionOptions) 
optional
Optional extra parameters for the production of this model. There may be additional charges for each enabled optional service.
quantity
integer 
optional
The number of prints to order for this material/model pair.
units
string 
optional
The units of the model file. Either "mm", "cm", or "in". The correct value to pass here depends on which design program you're using. Defaults to "mm".
notes
string 
optional
Any notes about this order. This field is always returned when reading the order back.
shipping_address
object (ShippingAddress) 
optional
city
string 
optional
country
string 
optional
email
string 
optional
Contact email address for the recipient.
name
string 
optional
Name of the recipient.
state
string 
optional
street1
string 
optional
First line of the street address.
street2
string 
optional
Second line of the street address (Apartment or Suite number, etc). Optional.
zip
string 
optional
shipping_service
string 
optional
Service identifier string pulled from a specific rate returned by /order/shipping.
Examples

Responses

🟢200Quote and order information.
application/json
Body
address
object (ShippingAddress) 
optional
city
string 
optional
country
string 
optional
email
string 
optional
Contact email address for the recipient.
name
string 
optional
Name of the recipient.
state
string 
optional
street1
string 
optional
First line of the street address.
street2
string 
optional
Second line of the street address (Apartment or Suite number, etc). Optional.
zip
string 
optional
delivery_date
string 
optional
The target delivery date for the shipping method. Formatted as a datetime string.
notes
string 
optional
order_items
array[object (Print) {5}] 
optional
material_id
integer 
optional
The unique identifier of the material you'd like to print in. This value comes from the id field of the material object.
model_id
integer 
optional
The unique identifier of the model you'd like to print. This value comes from the id field of the model object.
options
object (ProductionOptions) 
optional
Optional extra parameters for the production of this model. There may be additional charges for each enabled optional service.
quantity
integer 
optional
The number of prints to order for this material/model pair.
units
string 
optional
The units of the model file. Either "mm", "cm", or "in". The correct value to pass here depends on which design program you're using. Defaults to "mm".
quote
object (Quote) 
optional
errors
array[string]
optional
List of any issues quoting your order.
grand_total
number 
optional
Sum of items, shipping costs, and any calculated tax.
items
number 
optional
Cost to make the specified models in the specified materials and quantities.
options
object (ProductionOptionsCosts) 
optional
Cost of any requested additional model services.
shipping
number 
optional
Cost of the selected shipping method.
tax
number 
optional
The tax calculated for the given order. Tax is not applied to all orders.
total
number 
optional
Sum of items and shipping costs. This is the taxable subtotal.
quote_id
string 
optional
Unique identifier for confirming this order. Use this value with /order/confirm place the order.
shipping_service
string 
optional
Service identifier string pulled from a specific rate returned by /order/shipping.
Modified at 2023-08-16 02:30:56
Previous
Confirms an order from a quote_id and submits it to the Voodoo factory.
Next
List shipping options and prices for a given shipment.
Built with