Shapeways Developers

Materials

Use the /materials/v1 API endpoint to get up-to-date information about Shapeways’ materials.


GET - List materials

Retrieves information on all available 40+ Shapeways’ materials.

Request

GET /materials/v1

Response

parameters type description
result string A 'result' field stating 'success'
materials object Material objects
{
  "<materialId>":{
    "id":"<materialId>",
    "type":"object",
    "description":"Material Object",
    "properties":{
       "title":{
          "type":"string",
          "description":"Material name"
       },
       "supportsColorFiles":{
          "type":"boolean",
          "description":"Material supports color"
       },
       "printerId":{
          "type":"int",
          "description":"Printer id that this material is printed on"
       },
       "swatch":{
          "type":"string",
          "description":"The url for the material swatch"
       },
       "restrictions":{
          "id":"restrictions",
          "type":"object",
          "description":"Material Restriction Object",
          "properties":{
             "<restrictionId>":{
                "id":"<restrictionId>",
                "type":"object",
                "description":"Material Restriction Object",
                "properties":{
                   "restrictionId":{
                      "type":"int",
                      "description":"Material Restriction ID"
                   },
                   "restrictionName":{
                      "type":"string",
                      "description":"Material Restriction Name"
                   },
                   "restrictionEntityIds":{
                      "type":"array",
                      "description":"Material Restriction Entity Ids",
                      "default":[

],
                      "items":{
                         "type":"int",
                         "description":"Material Restriction Entity Id"
                      }
                   }
                }
             }
          }
       }
    }
  }
}

nextActionSuggestions

object

Suggestions for next actions

GET - Material information

Retrieves information for a specific material (Specified by the materialId)

Request

GET /materials/{materialId}/v1
parameters type required description
materialId int required Material id

Response

parameters type description
result string A 'result' field stating 'success'
materialId int Material ID
title string Material name
supportsColorFiles boolean Material supports color
printerId int Printer id that this material is printed on
swatch string The url for the material swatch
restrictions object Material Restriction Object
{
  "<restrictionId>":{
    "id":"<restrictionId>",
    "type":"object",
    "description":"Material Restriction Object",
    "properties":{
       "restrictionId":{
          "type":"int",
          "description":"Material Restriction ID"
       },
       "restrictionName":{
          "type":"string",
          "description":"Material Restriction Name"
       },
       "restrictionEntityIds":{
          "type":"array",
          "description":"Material Restriction Entity Ids",
          "default":[

],
          "items":{
             "type":"int",
             "description":"Material Restriction Entity Id"
          }
       }
    }
  }
}

rejections

array

list of rejection Objects

{
 "rejections":[
    {
       "reasonTitle":{
          "type":"string",
          "description":"The rejection reason type name"
       },
       "comment":{
          "type":"string",
          "description":"The rejection comment with details about the rejection"
       },
       "pictureUrl":{
          "type":"string",
          "description":"A url containing the rejection picture (if present)"
       }
    }
 ]
}

nextActionSuggestions

object

Suggestions for next actions

Models

Easily manage your Shapeways’ 3D models with the /models/v1 API endpoint.


POST - Upload a model

Uploads a new model. See Upload a model for instructions and code examples.

Request

POST /models/v1
parameters type required description
file string required Model file data
fileName string required Model filename (with correct file extension)
uploadScale float optional Model scale in meters
hasRightsToModel boolean required You have the rights to model
acceptTermsAndConditions boolean required You accept the Shapeways' Terms and Conditions
title string optional Model title
description string optional Model description
isPublic boolean optional Model visibility
isClaimable boolean optional Whether a model is claimable with a claim key
isForSale int optional Model is for sale
isDownloadable boolean optional Model is downloadable
tags array optional Model tags
materials object optional Material objects
defaultMaterialId int optional The material id for this model's default material
categories array optional Array of category ids.

Response

parameters type description
result string A 'result' field stating 'success'
modelId int Model ID
modelVersion int Model version
title string Model title
fileName string Model filename
contentLength int The file size of the uploaded file in bytes
fileMd5Checksum string The md5 checksum of the file
description string Model description
isPublic boolean Can be seen by the public
isClaimable boolean Can be claimed via claimKey
isForSale boolean Model is for sale
isDownloadable boolean Model is downloadable
materials object Material objects
secretKey string Model secret key
claimKey string Model claim key
defaultMaterialId int The material id for this model's default material
categories object Category Objects
tags string Tags
urls object Url Objects
spin string SPIN
printable string Model Printability
nextActionSuggestions object Suggestions for next actions

GET - List models

Retrieves a list of models in the Shapeways account.

Request

GET /models/v1
parameters type required description
page int optional The model page, starting with 1. Each page contains 36 models.

Response

parameters type description
result string A 'result' field stating 'success'
models array List of models
{
  "modelId":{
    "type":"int",
    "description":"Model ID"
  },
  "modelVersion":{
    "type":"int",
    "description":"Model version"
  },
  "title":{
    "type":"string",
    "description":"Model title"
  }
}

nextActionSuggestions

object

Suggestions for next actions

GET - Model information

Retrieves information for a specific model like material printability and price (Specified by the modelId).

Request

GET /models/{modelId}/v1
parameters type required description
modelId int required Model id

Response

parameters type description
result string A 'result' field stating 'success'
modelId int Model ID
modelVersion int Model version
title string Model title
fileName string Model filename
contentLength int The file size of the uploaded file in bytes
fileMd5Checksum string The md5 checksum of the file
fileData string Model file data
description string Model description
isPublic boolean Can be seen by the public
isClaimable boolean Can be claimed via claimKey
isForSale boolean Model is for sale
isDownloadable boolean Model is downloadable
materials object Material objects
secretKey string Model secret key
claimKey string Model claim key
defaultMaterialId int The material id for this model's default material
categories object Category Objects
tags string Tags
urls object Url Objects
spin string SPIN
printable string Model Printability
restrictions object Material Restriction Object
{
  "<materialId>":{
    "id":"<materialId>",
    "type":"object",
    "description":"Material Object",
    "properties":{
       "markup":{
          "type":"float",
          "description":"Markup amount"
       },
       "isActive":{
          "type":"boolean",
          "description":"Is this material active"
       },
       "price":{
          "type":"float",
          "description":"Price"
       }
    }
  }
}

nextActionSuggestions

object

Suggestions for next actions

DELETE - Delete a model

Deletes a model from the Shapeways’ account (Specified by the modelId).

Request

DELETE /models/{modelId}/v1
parameters type required description
modelId int required ID of the model to delete.

Response

parameters type description
result string A 'result' field stating 'success'
modelId int ID of the model that was deleted.
nextActionSuggestions object Suggestions for next actions

Orders

Use the /orders/v1 API endpoint to integrate with Shapeways fulfillment services to seamlessly place and manage orders.


POST - Place an order

Creates and places a new order. See Placing your first order instructions and code examples.

Request

POST /orders/v1
parameters type required description
firstName string required First name for shipping address
lastName string required Last name for shipping address
country string required Shipping address country name or 2-letter code (ISO 3166)
state string required Shipping address state or region.
city string required Shipping address city name
address1 string required Street Address
address2 string optional Apartment or Suite
address3 string optional Company or c/o
zipCode string required Shipping address zip code.
phoneNumber string required Customer phone number.
items array required Set of items in your order
incentives array optional Set of incentives to apply to the order
paymentVerificationId string optional Shapeways-issued id to authorize payments for your app
paymentMethod string required Payment method for this order
shippingOption string required Shipping option for this order
manufacturingSpeed string optional Manufacturing speed for this order
refNumber string optional Reference number associated with this order.
metadata array optional metadata

Response

parameters type description
result string A 'result' field stating 'success'
orderId int Id of the order that was created
productionOrderIds array Set of production order ids

nextActionSuggestions

object

Suggestions for next actions

GET - List orders

Retrieves information like number of orders, their statuses, and shipping dates.

Request

GET /orders/v1
parameters type required description
orderIds string optional comma separated list of order ids

Response

parameters type description
result string A 'result' field stating 'success'
ordersCount object Contains a summary of the number of orders classified by status
ordersStatus json_object Contains a detailed summary of each order and it's status
ordersInfo array Contains target ship date, target delivery date and shipments for each order

nextActionSuggestions

object

Suggestions for next actions

GET - Order information

Retrieves information for a specific order placed through the API (Specified by the orderId).

Request

GET /orders/{orderId}/v1
parameters type required description
orderIds string optional Filter by order ids provided for the api orders
orderId string optional Filter by the order id provided for the api order
firstName string optional Filter by first name on the address that was used to place the order
lastName string optional Filter by lastName name on the address that was used to place the order
country string optional Filter by country on the address that was used to place the order
state string optional Filter by state or region on the address that was used to place the order
city string optional Filter by city on the address that was used to place the order
address1 string optional Filter by address1 that was used to place the order
address2 string optional Filter by address street (line 1) that was used to place the order
address3 string optional Filter by address street (line 2) that was used to place the order
zipCode string optional Filter by zip code on the address that was used to place the order
phoneNumber string optional Filter by phone number used to place the order
email string optional Filter by email used to place the order
limit int optional Limits the number of orders returned. Limit cannot exceed 100.

Response

parameters type description
result string A 'result' field stating 'success'
ordersCount object Contains a summary of the number of orders classified by status
ordersStatus json_object Contains a detailed summary of each order and its status
ordersInfo array Contains target ship date, target delivery date and shipments for each order

nextActionSuggestions

object

Suggestions for next actions

Shipping Options

Use the /cart/shipping-options/v1 API endpoint to determine what shipping options are available for your order.


GET - Shipping Options

Retrieves information about the shipping options available to the shipping location

Request

GET /cart/shipping-options/v1
parameters type required description
country string required 2-letter country code (ISO 3166) of the shipping address
zipCode string optional Shipping address zip code

Response

parameters type description
result string A 'result' field stating 'success'
shippingOptions object Available shipping options
{
  "shippingOptionId":{
    "type":"int",
    "description":"Id of the intended shipping option. Should be included in the request to the order creation endpoint to set the shipping option"
  },
  "price":{
    "type":"float",
    "description":"Cost of that shipping option without tax in USD"
  },
  "name":{
    "type":"string",
    "description":"Display name of shipping option"
  },
  "inTransitDaysMin":{
    "type":"int",
    "description":"Minimum shipping days (Business days)"
  },
  "inTransitDaysMax":{
    "type":"int",
    "description":"Maximum shipping days (Business days)"
  }
}