Summary API Documentation

Getting started

Basics

The OnSite API is built on a modular structure, where each step in the order process—such as uploading a file, obtaining a quote, or placing an order—is handled by a dedicated API endpoint. The output of one endpoint is designed to serve as the input for the next, ensuring seamless integration across the workflow.

The API exclusively supports the JSON data-interchange format and utilizes the OAuth 2.0 protocol for secure authorization.

Getting Started

To begin using the OnSite API, you must first enable the API integration option for your active OnSite account. If you do not already have an account, you will need to create one.

To initiate the process, please send a request to onsite@materialise.com , with subject “API” Our dedicated account manager, responsible for partnerships and API setup, will contact you to discuss the details of the integration and further steps for collaboration.

API Authorization Keys

Once all integration details and terms have been finalized, your API authorization credentials—Client ID and Client Secret—will be generated and made available in your Materialise OnSite user account.

These credentials are essential for system authorization and for making API calls. You can access your credentials via the following link:
OnSite API Settings

The Client ID and Client Secret are used to obtain temporary authorization tokens necessary for API functionality.

Interactive Documentation

Once you have obtained your Client ID and Client Secret, you can explore and test the Materialise OnSite API directly in your browser using our interactive API documentation powered by Swagger.

The Swagger interface allows you to experiment with API calls and review the proper request bodies and responses in JSON format. You can access the interactive documentation here: Onsite API Swagger documentation.

API Order flow model

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

API Key Parameters

Overview

API parameters are critical variables used as input to make API calls. These parameters influence the response from an endpoint and are essential for tailoring API functionality to specific requirements. Each parameter consists of a name and an associated value.

Below is a detailed description of the key parameters used in the OnSite API:

m

modelID

A unique identifier for uploaded 3D models. A single 3D model can generate multiple modelIDs, which are required to create a product. Additionally, a single modelID can be used to create multiple products.

technologyID

The identifier for 3D printing technologies. Each technology is associated with a specific technologyID.

materialID

The identifier for 3D printing materials. Each material is linked to a unique materialID. Note that multiple materialIDs can belong to a single technology.

finishID

The identifier for surface finishes. Each finish is associated with a unique finishID. Multiple finishIDs can belong to a single material.

colorID

The identifier for material colors. Each color is tied to a unique colorID.

productID

A unique identifier for products. A product is defined as a 3D model combined with specified technology, material, and finish. The productID is used to create quotation items. A single productID can be used to generate multiple quotation items.

quotationItemID

A unique identifier for quotation items. A quotation item represents a product with a specified quantity and production service.

quotationID

A unique identifier for quotations, which are collections of quotation items. Each quotationID can be ordered only once.

deliveryAddressID

The identifier for a delivery address linked to a specific user account. The deliveryAddressID is required to prepare a quotation for ordering and must be created in your OnSite account to receive its ID.

 

invoiceAddressID

The identifier for an invoice address linked to a specific user account. The invoiceAddressID is also required to prepare a quotation for ordering.

API endpoints 

API Reference (API endpoints description)

The structure of request bodies and responses is available in our Onsite API Swagger documentation

Request URL (below as ‘API’): https://api.onsite.materialise.com/v1

ENDPOINT DESCRIPTION
Authorization  Used to get you authorized

POST 

API/token

Receive authorization token

Returns an authorization token for provided client ID and client secret.

Model related  Used for uploading 3D models, receiving model parameters and processing status

POST 

API/models

 

 

GET 

API/models/{id}/status

 

 

GET

API /models/{id}

Upload 3D model

Upload a 3D model to receive a modelID. modelIDs are used to create products for quotations.

 

Get 3D model processing status

Check the processing status of an uploaded 3D model.

 

Get 3D model parameters

Get the dimensions, volume, and surface area of a processed 3D model. 

Technologies related Provides a list of IDs for all available technologies and materials

GET

API/technologies

Get a list of available technologies and materials

Receive IDs of available technologies, materials, and finishes. technologyIDs and materialIDs are used together with modelIDs to create products

Product related Used to create products and receive production costs

POST

API/products

 

 

POST

API/products/{id}/price

 

 

GET

API/products/{id}/services

Create a product in selected material

Create a product in selected material based on the previously uploaded model and receive a productID.

 

Receive production price for a product

Receive production price for a product in specified currency.

 

Get available services for a product

Receive the list of available services for a specific product.

Delivery Address related Used for adding a new Delivery Address for a Quotation 

POST

API/delivery-address

Create a new Delivery Address

Create an empty quotation and receive deliveryAddressID.

Quotation related Used for quotation related actions: create, update, order, and delete 

POST

API/quotations

 

 

POST

API/quotations/{id}/addresses

 

 

POST 

API/quotations/{id}/order

 

 

GET 

API/quotations

 

 

GET 

API/quotations/{id}

 

DELETE 

API/quotations/{id}

Create an empty quotation

Create an empty quotation and receive quotationID. Quotations can include multiple products and required to create orders.

 

Add addresses to a quotation

Add shipping and invoice address for a specific quotation.

 

Place an order

Place an order for specific quotationID.

 

Get a list of quotations

Receive a list of active quotations.

 

Get quotation details

Receive details of a specific quotation including total cost, transport cost, and the list of items in that quotation.

 

Delete quotation

Delete unnecessary quotation from the list of active quotations.

Quotation Item related Used for adding and deleting products in quotations

POST

API/quotations/{id}/items

 

 

DELETE 

API/quotations/{id}/items/{quotationItemId}

Add items to quotations

Add a previously defined product to a specific quotation and receive quotationItemID.

 

Delete items from quotations

Delete a quotation item form a specific quotation

 

 

 

Order Submitting Using API

Placing an order using OnSite API typically goes as follows:

 

  1. Receive an authorization token for your client ID and client secret
  2. Upload a 3D model and receive a modelID: POST to API/Model 
  • To get models parameters (dimensions data), use the modelID in the GET to API/models/{id
  1. Retrieve the list of available technologies, materials, finishes, and their IDs: GET to API/technologies
  2. Create a product by combining technologyID, materialID, and finishID with a modelID and receive a productid: POST to API/products
  • A list of available services, i.e “Fast Lane” for the product (based on technology/material) is checked by the GET to API /products/{id}/services 
  • To check the price (already with 10% online discount) and lead-times use POST to API/products/{id}/price
  1. Create an empty quotation and receive a quotationID :POST to API/quotations
  • Important to mention supported currency (EUR, USD, GBP, PLN) and add your reference ID
  1. Add quotation items to the quotation using a quotationID and productID Post to API/quotations/{id}/items 
  2. Create a new Delivery Address to the quotation using and receive a deliveryAddressID Post to API/delivery-addresses
  3. Add delivery and invoice address to the quotation using deliveryAddressID and invoiceAddressID. Delivery and Invoice address ID can be found in your profile at onsite after you add them in manually: https://onsite.materialise.com/en/account/personalinfo Post to API/quotations/{id}/addresses
  4. Place an order by sending quotationID to the corresponding endpoint. Please note that placing an order via API requires invoice payment to be enabled for your account at Materialise OnSite.Post to API/quotations/{id}/order

 

 

Was this article helpful?

Can’t find what you’re looking for?

Our customer service team is happy to help!