3YOURMIND REST API (v2.0)

Download OpenAPI specification:Download

API Support: api-doc@3yourmind.com

Authentication

For interacting with the API, you need an API token. Please note that this token is different from the ApiKey in the API v1. The Token can be generated in the admin panel's "Token" page.

The token must be added to each API request as an HTTP HEADER in the following format:

Authorization: Token [Your token here]

Do not set a session ID. Some tools (like Postman) automatically set a session id which you have to manually deactivate or delete.

Status of this API

The documentation of this API is incomplete since we focus on documenting endpoints, that are actually needed and used. More endpoints will be added continuously. Please contact us if you are missing an endpoint here.

The endpoints documented here will be considered stable and final. Any future changes to endpoints will only be done in a backwards compatible manner.

Projects

Get all service related projects

Responses

Response samples

Content type
application/json
{
  • "count": 42,
  • "currentPage": 42,
  • "totalPages": 50,
  • "pageSize": 30,
  • "results": [
    ]
}

Get all service related projects

path Parameters
project_id
required
integer >= 1

Project Id

Responses

Response samples

Content type
application/json
{
  • "customer": {
    },
  • "id": 1,
  • "dateCreated": "2019-08-24T14:15:22Z",
  • "fullNumber": "100001-3D-Project-O2",
  • "lastModified": "2019-08-24T14:15:22Z",
  • "latestTransactionType": "Order",
  • "latestTransaction": {
    },
  • "number": 100001,
  • "sharedWith": [
    ]
}

Upload

For uploading 3D Files

Upload 3D File

Files can be uploaded in 3 different ways into the platform:

1. Upload and Redirect the User

This option should be used if you want the user to see our frontend.

Upload 3D File without specifying a basket_id and line_id and redirect the user to the url returned in the response. The user will see the uploaded file in a basket in our frontend.

2. Upload Into a Basket

This option should be used if you want to handle the basket creation and ordering programmatically, without redirecting the user to the platform.

  1. Create a basket, save the basket_id
  2. Create a line, save the line_id
  3. Upload the file

Fist create a basket and a basket line and save the IDs. Then use this endpoint with the query parameters basket_id and line_id, to upload the 3D File into the basket you created before.

After that, you may want to interact with the basket/line to fetch and set the right materials.

3. Upload for AMPI/PLM part creation

This option should be used if you want to create AMPI part. Provide just file and unit parameter. Response will return an object with the url parameter that has a token query parameter in itself. Use this token value for AMPI part creation as stlFileToken parameter.

query Parameters
basket_id
integer

The basket in which the file is uploaded to.

line_id
integer

The line in which the file is uploaded to.

Request Body schema: multipart/form-data
unit
required
string (Unit)
Enum: "mm" "inch"
origin
string
filename
string
file
required
string <binary>

Responses

Request samples

# How-to for: "1. Upload and redirect the User"

# The requests library must be installed

import requests

TOKEN = "[Your Token]"
path = "/home/john/3d/changethis.stl"
myfile = open(path, "rb")
showname = "changethis.stl"
url = "https://demo.3yourmind.com/api/v2.0/files/"
files = {"file": (showname, myfile)}
fields = {"origin": "python_test"}

response = requests.post(
    url, files=files, data=fields, headers={"Authorization": f"Token {TOKEN}"}
)

print(response.text)

Response samples

Content type
application/json
{}

Download

For downloading 3D Files

Download 3D File

This is the endpoint that can be used to download 3D Files and get printability information. The URL includes a container, to check if the user has permission to view the file. It is not recommended to craft the URL from scratch. Instead either:

  • Use another endpoint (e.g. the downloadOptimizedUrl field in Get Basket Line) to fetch this URL from its response
  • Call the 3D Backend directly. For this jwtAuthorizationRequired needs to be deactivated in the server settings. For more information, please contact support.
path Parameters
container_name
required
string
Enum: "inventory" "part" "basket" "quote" "request" "order"

Name of the container to which the File belongs to.

container_id
required
integer

ID of the container to which the File belongs to.

uuid
required
string

The uuid of the file

path_suffix
required
string
Enum: "" "download/" "printability/"

Must be "download" to download files. Can also be used to fetch printability information.

Responses

Basket

A basket contains multiple lines. Each line contains one 3D object and it's corresponding properties.

List Baskets

Returns a list of baskets, by default sorted by reverse creation date.

The default page size is 25. Page 1 is rendered if no page number is provided.

query Parameters
page
integer >= 1

Page number to render. The number of pages is the count in the result set, divided by page size.

pageSize
integer multiple of 5 [ 10 .. 100 ]

Number of results per page.

ordering
string-?\w+(,-?\w+)*
Example: ordering=ordering=-created_at,number

Fields to order the result set by. To use descending order, prefix the field name with a - (minus, dash). Multiple fields are separated by a comma. The supported field names are:

  • title

Responses

Response samples

Content type
application/json
{
  • "count": 42,
  • "currentPage": 42,
  • "totalPages": 50,
  • "pageSize": 30,
  • "results": [
    ]
}

Create Basket

A basket combines multiple 3D objects into an order. Use this to create a new basket. Subsequently an order can be created for this basket.

Responses

Request samples

# The requests library must be installed.

import json

import requests

base_url = "https://demo.3yourmind.com/api/v2.0/"
token = "MY_TOKEN"

std_header = {"Authorization": f"Token {token}"}

print("create_basket")
r = requests.post(f"{base_url}user-panel/baskets/", headers=std_header)
print(str(r.__dict__))
basket_id = json.loads(r.content)["id"]

Response samples

Content type
application/json
{
  • "id": 1,
  • "subtotal": {
    },
  • "isManualPricingRequired": true,
  • "isPriceResolutionRequired": true,
  • "lastModifiedTime": "string",
  • "lineMeta": [
    ],
  • "numberOfFiles": 1,
  • "number": 100001,
  • "projectId": 42,
  • "sequenceNumber": 1,
  • "title": "string",
  • "unresolvedLines": [
    ]
}

Get Basket Details

Gets the basket details.

path Parameters
basket_id
required
integer >= 1

Basket Id

Responses

Response samples

Content type
application/json
{
  • "id": 1,
  • "subtotal": {
    },
  • "isManualPricingRequired": true,
  • "isPriceResolutionRequired": true,
  • "lastModifiedTime": "string",
  • "lineMeta": [
    ],
  • "numberOfFiles": 1,
  • "number": 100001,
  • "projectId": 42,
  • "sequenceNumber": 1,
  • "title": "string",
  • "unresolvedLines": [
    ]
}

Delete Basket

Delete the basket.

path Parameters
basket_id
required
integer >= 1

Basket Id

Responses

Update Basket

Edit basket name and/or force the recalculation.

path Parameters
basket_id
required
integer >= 1

Basket Id

Request Body schema: application/json
recalculatePrices
boolean
title
string

Responses

Request samples

Content type
application/json
{
  • "recalculatePrices": true,
  • "title": "3D Project 100001"
}

Response samples

Content type
application/json
{
  • "id": 1,
  • "subtotal": {
    },
  • "isManualPricingRequired": true,
  • "isPriceResolutionRequired": true,
  • "lastModifiedTime": "string",
  • "lineMeta": [
    ],
  • "numberOfFiles": 1,
  • "number": 100001,
  • "projectId": 42,
  • "sequenceNumber": 1,
  • "title": "string",
  • "unresolvedLines": [
    ]
}

List Basket Lines

Each line of a basket represents a 3D model with information like, quantity, material and post processing. A list of basket line details is returned.

path Parameters
basket_id
required
integer >= 1

Basket Id

Responses

Response samples

Content type
application/json
[]

Create Basket Line

An basket line is added to the given basket_id. You can either:

  • Specify nothing else and get a newly created basket line, with no default values. This line is intended to be filled with at least one 3D file.
  • Specify a line id to clone from with cloneLine, which will copy all attributes from the source line to a newly created basket line.
  • Specify a catalogItemId, which will be used to copy all known attributes to a newly created basket line.
path Parameters
basket_id
required
integer >= 1

Basket Id

Request Body schema: application/json
Any of
catalogItemId
integer

Create this basket line from the given Catalog Item.

Responses

Request samples

Content type
application/json
{
  • "cloneLine": 0
}

Response samples

Content type
application/json
{}

Get Basket Line

Each line of a basket represents a 3D model with information like, quantity, material and post processing. To display one specific line of a basket, reference it by its ID.

path Parameters
basket_id
required
integer >= 1

Basket Id

line_id
required
integer >= 1

Line Id

Responses

Response samples

Content type
application/json
{}

Update Basket Line

Edit desired basket line.

path Parameters
basket_id
required
integer >= 1

Basket Id

line_id
required
integer >= 1

Line Id

Request Body schema: application/json
name
string or null

Visible Name in Service and User Panel

offerId
integer or null >= 1

Defines both material as well as printing service and is thus required for ordering.

productId
integer or null >= 1

Also known as material. To set a material/product, use the offerId to also select the correct PrintingService.

quantity
integer >= 1

Set to 1 by default. Change if you want to in- or decrease amount of desired parts in this line.

preferredDueDate
string or null <date> \d{4}-\d{2}-\d{2}
Array of objects

Responses

Request samples

Content type
application/json
{
  • "name": "197326-Abjurer-1",
  • "offerId": 112,
  • "productId": 911,
  • "quantity": 1,
  • "preferredDueDate": "2019-08-24",
  • "postProcessings": [
    ]
}

Response samples

Content type
application/json
{}

Delete Basket Line

Delete a line by passing its line ID.

path Parameters
basket_id
required
integer >= 1

Basket Id

line_id
required
integer >= 1

Line Id

Responses

Get File Status

Get the status of an uploaded file.

path Parameters
basket_id
required
integer >= 1

Basket Id

line_id
required
integer >= 1

Line Id

Responses

Response samples

Content type
application/json
{
  • "uuid": "49482d31-61fb-4605-90e6-ab18348832f2",
  • "status": "analysing"
}

List Materials

List all available materials.

path Parameters
basket_id
required
integer >= 1

Basket Id

line_id
required
integer >= 1

Line Id

query Parameters
country
required
string = 2 characters
Example: country=DE

Country code, conforming to the ISO-3166-1 standard, in "alpha-2" format.

technologyId
integer
Example: technologyId=1
serviceLabel
Array of strings
Example: serviceLabel=1

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get Material Properties

Get properties of a selected material.

path Parameters
basket_id
required
integer >= 1

Basket Id

line_id
required
integer >= 1

Line Id

material_id
required
integer >= 1

Material Id

Responses

Response samples

Content type
application/json
{
  • "categoryId": 14234,
  • "description": "Relatively high stability and fine-rough surface.",
  • "fullProductTitle": "SuperBrand PA12",
  • "id": 42,
  • "minimumWallThickness": "1.00000",
  • "optimalWallThickness": "2.00000"
}

List Offers

List all available offers for a specific material.

path Parameters
basket_id
required
integer >= 1

Basket Id

line_id
required
integer >= 1

Line Id

material_id
required
integer >= 1

Material Id

query Parameters
country
required
string = 2 characters
Example: country=DE

Country code, conforming to the ISO-3166-1 standard, in "alpha-2" format.

technologyId
integer
Example: technologyId=1
serviceLabel
Array of strings
Example: serviceLabel=1

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get Offer

Get details about a specific offer of a specific material.

path Parameters
basket_id
required
integer >= 1

Basket Id

line_id
required
integer >= 1

Line Id

material_id
required
integer >= 1

Material Id

offer_id
required
integer

Offer Id

Responses

Response samples

Content type
application/json
{
  • "minimumWallThickness": "1.00000",
  • "optimalWallThickness": "2.00000",
  • "maxD": 10000,
  • "maxH": 10000,
  • "maxW": 10000,
  • "minD": 0,
  • "minH": 0,
  • "minW": 0,
  • "id": 42,
  • "hasPostProcessings": true,
  • "internalIdentifier": "string",
  • "printabilityStatus": "printable",
  • "title": "PLA",
  • "maxProductionDays": 4,
  • "minProductionDays": 2,
  • "isManualPricingRequired": true,
  • "isPriceResolutionRequired": true,
  • "categoryId": 0,
  • "combinablePostProcessings": true,
  • "datasheetPdf": "string",
  • "partner": {
    },
  • "postProcessings": [
    ],
  • "price": {
    },
  • "productId": 0,
  • "unit": "mm"
}

Get Price of Offer

Get the price of a specific offer of a specific material.

path Parameters
basket_id
required
integer >= 1

Basket Id

line_id
required
integer >= 1

Line Id

material_id
required
integer >= 1

Material Id

offer_id
required
integer

Offer Id

query Parameters
currency
string = 3 characters >= 1 [A-Z]{3}

Currency to use for pricing if supported by the service partner. If not provided, the default is selected from the region settings of the authenticated user.

postprocessings
string
Deprecated

List of post-processings that should be applied

postProcessingIds
Array of integers[ items >= 1 ]

List of post-processings that should be applied

quantity
integer >= 1

quantity of line that should be used for calculation. If omitted the calculation will use the configured line quantity

Responses

Response samples

Content type
application/json
{
  • "isManualPricingRequired": true,
  • "isPriceResolutionRequired": true,
  • "linePrice": {
    },
  • "price": {
    }
}

List Line Attachments

Each basket line can have multiple line attachments.

path Parameters
basket_id
required
integer >= 1

Basket Id

line_id
required
integer >= 1

Line Id

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create Line Attachment

Each basket line can have multiple line attachments.

path Parameters
basket_id
required
integer >= 1

Basket Id

line_id
required
integer >= 1

Line Id

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "filesize": 0,
  • "name": "string",
  • "url": "string"
}

Delete Line Attachment

Delete file attachment.

path Parameters
basket_id
required
integer >= 1

Basket Id

line_id
required
integer >= 1

Line Id

attachment_id
required
integer >= 1

Attachment Id

Responses

Trigger Price Resolution

In some cases an explicit price resolution is needed as a result of orientation optimization. In this case, the price can not immediately be calculated. If the user wants to know the price, the frontend can poll this endpoint with a list of offers for which the user wants to know the price. The endpoint returns prices for all offers for which the price is already resolved, and isPriceResolutionRequired = true for those where the orientation optimization is still pending. If prices for requested offers are missing, or if prices for more offers should be resolved, the frontend can call this endpoint again with an updated list of offers.

path Parameters
basket_id
required
integer >= 1

Basket Id

line_id
required
integer >= 1

Line Id

Request Body schema: application/json
offers
required
Array of integers

Responses

Request samples

Content type
application/json
{
  • "offers": [
    ]
}

Response samples

Content type
application/json
[
  • {
    }
]

Get Basket Price

Calculates basket price for sent parameters.

path Parameters
basket_id
required
integer >= 1

Basket Id

query Parameters
shippingMethodId
integer
Example: shippingMethodId=1

ID of the selected shipping method. See List Shipping Methods to get a list of available methods.

shippingAddressId
integer
Example: shippingAddressId=1
billingAddressId
integer
Example: billingAddressId=1
voucherCode
string
Example: voucherCode=CODE2000
currency
required
string

Currency for prices to be returned in

Responses

Response samples

Content type
application/json
{
  • "currencySupported": true,
  • "fees": [
    ],
  • "feesPrice": {
    },
  • "lines": [
    ],
  • "minPrice": {
    },
  • "minPriceDiffPrice": {
    },
  • "shippingPrice": {
    },
  • "subtotalPrice": {
    },
  • "taxRate": "19.00000",
  • "taxType": "string",
  • "totalPrice": {
    },
  • "voucherDiscountPrice": {
    }
}

List Baskets

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

Responses

Response samples

Content type
application/json
{
  • "count": 42,
  • "currentPage": 42,
  • "totalPages": 50,
  • "pageSize": 30,
  • "results": [
    ]
}

Create Basket

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

Responses

Response samples

Content type
application/json
{
  • "id": 1,
  • "subtotal": {
    },
  • "isManualPricingRequired": true,
  • "isPriceResolutionRequired": true,
  • "lastModifiedTime": "string",
  • "lineMeta": [
    ],
  • "numberOfFiles": 1,
  • "number": 100001,
  • "projectId": 42,
  • "sequenceNumber": 1,
  • "title": "string",
  • "unresolvedLines": [
    ]
}

List Baskets

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

basket_id
required
integer >= 1

Basket Id

Responses

Response samples

Content type
application/json
{
  • "id": 1,
  • "subtotal": {
    },
  • "isManualPricingRequired": true,
  • "isPriceResolutionRequired": true,
  • "lastModifiedTime": "string",
  • "lineMeta": [
    ],
  • "numberOfFiles": 1,
  • "number": 100001,
  • "projectId": 42,
  • "sequenceNumber": 1,
  • "title": "string",
  • "unresolvedLines": [
    ],
  • "customer": {
    },
  • "parentFees": [
    ],
  • "parentShippingPrice": {
    }
}

Update Basket

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

basket_id
required
integer >= 1

Basket Id

Request Body schema: application/json
recalculatePrices
boolean
title
string
customerId
number

Responses

Request samples

Content type
application/json
{
  • "recalculatePrices": true,
  • "title": "3D Project 100001",
  • "customerId": 0
}

Response samples

Content type
application/json
{
  • "id": 1,
  • "subtotal": {
    },
  • "isManualPricingRequired": true,
  • "isPriceResolutionRequired": true,
  • "lastModifiedTime": "string",
  • "lineMeta": [
    ],
  • "numberOfFiles": 1,
  • "number": 100001,
  • "projectId": 42,
  • "sequenceNumber": 1,
  • "title": "string",
  • "unresolvedLines": [
    ],
  • "customer": {
    },
  • "parentFees": [
    ],
  • "parentShippingPrice": {
    }
}

Delete Basket

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

basket_id
required
integer >= 1

Basket Id

Responses

Get File Status

Get the file status of an uploaded file. The upload is finished successfully, when it returns

  {
      "uuid": "...",
      "status": "finished"
  }

The upload is finished with error, when it returns

  {
      "uuid": "...",
      "status": "error"
  }
path Parameters
basket_id
required
integer >= 1

Basket Id

line_id
required
integer >= 1

Line Id

service_id
required
integer >= 1

Service Id. Unique for every Printing Service

Responses

Response samples

Content type
application/json
{
  • "uuid": "49482d31-61fb-4605-90e6-ab18348832f2",
  • "status": "analysing"
}

Create basket

Create basket with lines and their properties from this Order

path Parameters
sale_transaction_id
required
integer
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

Responses

Response samples

Content type
application/json
{
  • "id": 1,
  • "subtotal": {
    },
  • "isManualPricingRequired": true,
  • "isPriceResolutionRequired": true,
  • "lastModifiedTime": "string",
  • "lineMeta": [
    ],
  • "numberOfFiles": 1,
  • "number": 100001,
  • "projectId": 42,
  • "sequenceNumber": 1,
  • "title": "string",
  • "unresolvedLines": [
    ],
  • "customer": {
    },
  • "parentFees": [
    ],
  • "parentShippingPrice": {
    }
}

Printing Service Details

List Services

Returns a list of all printing services available at the organization.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

List Payment Methods

Returns a list of all payment methods that are activated for the specified printing service.

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

Responses

Response samples

Content type
application/json
[
  • {
    }
]

List Pickup Locations

Returns a list of all pickup locations that are activated for the specified printing service.

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

Responses

Response samples

Content type
application/json
[
  • {
    }
]

List Shipping Methods

Returns a list of all shipping methods that are activated for the specified printing service.

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

query Parameters
shippingAddressId
integer

If given, the response will contain only those shipping methods that are allowed for the specified shipping address. (deprecated)

shippingQuoteAddressId
integer

If given, the response will contain only those shipping methods that are allowed for the specified shipping quote address.

contry
string

If given, the response will contain only those shipping methods that are allowed for the specified country.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

List of Payment Methods viable for internal ordering

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Orders

To place an order you need to create a basket first (see above).

List Orders

Returns a list of orders, by default sorted by reverse creation date.

The default page size is 25. Page 1 is rendered if no page number is provided.

query Parameters
page
integer >= 1

Page number to render. The number of pages is the count in the result set, divided by page size.

pageSize
integer multiple of 5 [ 10 .. 100 ]

Number of results per page.

ordering
string-?\w+(,-?\w+)*
Example: ordering=ordering=-datetime_placed,number

Fields to order the result set by. To use descending order, prefix the field name with a - (minus, dash). Multiple fields are separated by a comma.

search
string
Example: search=Order 100007

String to search for in all relevant fields

serviceId
integer >= 1

Service Id of the service that the quote was created from

createdAtLte
string\d{4}-\d{2}-\d{2}
Example: createdAtLte=2019-11-20

Date of creation less than or equal.

createdAtGte
string\d{4}-\d{2}-\d{2}
Example: createdAtGte=2019-11-27

Date of creation greater than or equal.

Responses

Response samples

Content type
application/json
{
  • "count": 42,
  • "currentPage": 42,
  • "totalPages": 50,
  • "pageSize": 30,
  • "results": [
    ]
}

Create Order

This endpoint allows you to create an order either from a basket or from a quote.

Request Body schema: application/json
One of
basketId
required
integer
projectId
integer
billingAddressId
required
integer
pickupLocationId
required
integer or null

Should be null if shipping is given

required
object or null

Should be null if pickupLocationId is given

required
object
voucherCode
required
string or null
required
object

Responses

Request samples

Content type
application/json
Example
{
  • "basketId": 0,
  • "projectId": 0,
  • "billingAddressId": 0,
  • "pickupLocationId": 0,
  • "shipping": {
    },
  • "payment": {
    },
  • "voucherCode": "string",
  • "additionalInformation": {
    }
}

Response samples

Content type
application/json
{
  • "id": 0
}

Get Order

Get an order using its id.

path Parameters
order_id
required
integer >= 1

Order Id

Responses

Response samples

Content type
application/json
{
  • "createdAt": "2019-08-24T14:15:22Z",
  • "createdBy": {
    },
  • "currency": "AUD",
  • "customer": {
    },
  • "feesPrice": {
    },
  • "fullNumber": "121212-Case-O2",
  • "id": 42,
  • "isCreatedBySharedUser": true,
  • "minPrice": {
    },
  • "minPriceDiff": {
    },
  • "number": "string",
  • "numberOfComments": 0,
  • "numberOfLines": 0,
  • "partner": {
    },
  • "projectId": 42,
  • "sequenceNumber": 2,
  • "subtotalPrice": {
    },
  • "taxRate": "19.00000",
  • "thumbnailUrl": "/en/u/djeh182j-e0dc-4510-80b4-sjdhakwj214/download_thumbnail/",
  • "title": "Case",
  • "totalItemsQuantity": 1,
  • "totalPrice": {
    },
  • "isRejected": true,
  • "rejectionReason": "string",
  • "billingAddress": {
    },
  • "deliveryDaysMax": 1,
  • "deliveryDaysMin": 1,
  • "deliveryInstructions": "string",
  • "payment": {
    },
  • "pickupLocation": {
    },
  • "referenceNumber": "string",
  • "salesTransactionType": "order",
  • "shippingAddress": {
    },
  • "status": {
    },
  • "shippingMethod": {
    },
  • "voucherDiscount": {
    },
  • "fees": [
    ],
  • "isEdited": true,
  • "lines": [],
  • "materialPriceBreakdown": [
    ],
  • "newOrderId": 1,
  • "postProcessingPriceBreakdown": [
    ],
  • "printPrice": {
    },
  • "postProcessingsPrice": {
    },
  • "trackingInformation": "string",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "isInCatalog": true
}

Catalog

The Catalog is a Organization Wide Store of 3D Files. The endpoints listed here are for Querying the Catalog. To place an order from an catalog item, you'll first need to add that item to a basekte with the Create a basket line endpoint.

List Catalog Items

Returns a list of catalog items, by default sorted by reverse creation date. The default page size is 10. Page 1 is rendered if no page number is provided.

query Parameters
page
integer >= 1

Page number to render. The number of pages is the count in the result set, divided by page size.

pageSize
integer multiple of 5 [ 10 .. 100 ]

Number of results per page.

search
string
Example: search=Order 100007

String to search for in all relevant fields

customerGroup
integer or null
Example: customerGroup=1

Id of a customer group to filter for

label
string
Example: label=PA12 R&D

Name of the label to filter for

partner
integer
Example: partner=1

Id of a partner to filter for

product
integer
Example: product=1

Id of a product (material) to filter for

postProcessing
string
Example: postProcessing=Dyeing

Title of a post processing to filter for

status
Array of strings
Items Enum: "published" "unpublished"
Example: status=published&status=unpublished

Status of the catalog item to filter by. You can pass multiple.

Responses

Response samples

Content type
application/json
{
  • "count": 42,
  • "currentPage": 42,
  • "totalPages": 50,
  • "pageSize": 25,
  • "results": [
    ]
}

Create Catalog Item

A catalog item is created from a basket line. Subsequently this item is saved in the catalog list and can be added to the basket very easily. To use this endpoint, the connected user must be an Organization catalog admin.

Request Body schema: application/json
One of
customerGroupId
integer or null >= 1
detailedDescription
required
string or null
labelIds
Array of integers[ items >= 1 ]
partnerId
integer or null >= 1
postProcessingProductIds
Array of integers[ items >= 1 ]
productId
required
integer >= 1
reference
string or null
shortDescription
string or null
status
string (CatalogItemStatus)
Enum: "published" "unpublished"
stlFileUuid
required
string
technologyId
required
integer >= 1
title
required
string

Responses

Request samples

Content type
application/json
Example
{
  • "customerGroupId": 1,
  • "detailedDescription": "string",
  • "labelIds": [
    ],
  • "partnerId": 1,
  • "postProcessingProductIds": [
    ],
  • "productId": 1,
  • "reference": "string",
  • "shortDescription": "string",
  • "status": "published",
  • "stlFileUuid": "string",
  • "technologyId": 1,
  • "title": "string"
}

Response samples

Content type
application/json
{
  • "id": 1,
  • "availability": true,
  • "createdBy": 0,
  • "customerGroup": {
    },
  • "title": "string",
  • "description": "string",
  • "hasRemovedMaterial": true,
  • "hasRemovedPostProcessing": true,
  • "hasRemovedService": true,
  • "hasUnpublishedMaterial": true,
  • "hasUnpublishedPostProcessing": true,
  • "partNumber": "string",
  • "minProductionDays": 0,
  • "maxProductionDays": 0,
  • "labels": [
    ],
  • "origin": "ampi",
  • "partRequirements": {
    },
  • "printabilityStatus": "printable",
  • "product": {
    },
  • "partner": {
    },
  • "reference": "string",
  • "unitPrice": {
    },
  • "shortDescription": "string",
  • "status": "published",
  • "stlFile": {},
  • "postProcessingOptions": [
    ],
  • "postProcessingProducts": [
    ],
  • "attachments": [
    ],
  • "technology": {
    },
  • "priceIsNoneReason": "MANUAL_PRICING_REQUIRED"
}

Bulk Delete Catalog Items

Delete multiple Catalog items by sending an array of IDs.

Request Body schema: application/json
id
required
Array of integers

Array of Catalog item ids that should be deleted.

Responses

Request samples

Content type
application/json
{
  • "id": [
    ]
}

Response samples

Content type
application/json
{
  • "code": "VALIDATION_ERROR",
  • "message": "Field validation error",
  • "moreInfo": [
    ]
}

Catalog Filter Choices - User Panel

Catalog Filter Choices for User Panel, that allow filtering the catalog list

Responses

Response samples

Content type
application/json
{
  • "labels": [
    ],
  • "partners": [
    ],
  • "products": [
    ],
  • "postProcessings": [
    ],
  • "statuses": [
    ],
  • "customerGroups": [
    ]
}

List Labels for Catalog Items

Returns a list of labels for catalog items sorted by name.

path Parameters
catalog_id
required
integer >= 1

Catalog item id

query Parameters
search
string
Example: search=Order 100007

String to search for in all relevant fields

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Add Label to the Catalog Item

Add Label to the Catalog Item

path Parameters
catalog_id
required
integer >= 1

Catalog item id

Request Body schema: application/json
name
required
string

Responses

Request samples

Content type
application/json
{
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string"
}

Catalog Item bulk update

Request Body schema: application/json
required
Array of objects

Responses

Request samples

Content type
application/json
{
  • "catalogItems": [
    ]
}

Response samples

Content type
application/json
{
  • "code": "VALIDATION_ERROR",
  • "message": "Field validation error",
  • "moreInfo": [
    ]
}

Get Catalog Item Detail

Catalog item details.

path Parameters
catalog_id
required
integer >= 1

Catalog item id

Responses

Response samples

Content type
application/json
{
  • "id": 1,
  • "availability": true,
  • "createdBy": 0,
  • "customerGroup": {
    },
  • "title": "string",
  • "description": "string",
  • "hasRemovedMaterial": true,
  • "hasRemovedPostProcessing": true,
  • "hasRemovedService": true,
  • "hasUnpublishedMaterial": true,
  • "hasUnpublishedPostProcessing": true,
  • "partNumber": "string",
  • "minProductionDays": 0,
  • "maxProductionDays": 0,
  • "labels": [
    ],
  • "origin": "ampi",
  • "partRequirements": {
    },
  • "printabilityStatus": "printable",
  • "product": {
    },
  • "partner": {
    },
  • "reference": "string",
  • "unitPrice": {
    },
  • "shortDescription": "string",
  • "status": "published",
  • "stlFile": {},
  • "postProcessingOptions": [
    ],
  • "postProcessingProducts": [
    ],
  • "attachments": [
    ],
  • "technology": {
    },
  • "priceIsNoneReason": "MANUAL_PRICING_REQUIRED"
}

Update Catalog Item Detail

Edit Catalog Item.

path Parameters
catalog_id
required
integer >= 1

Catalog item id

query Parameters
omitResponse
boolean

If set to true, the response body will be omitted. This is useful for requests that only need to check if the request was successful.

Request Body schema: application/json
customerGroupId
integer or null >= 1
description
string or null
labelIds
Array of integers[ items >= 1 ]
partNumber
string or null >= 1
partnerId
integer or null >= 1
postProcessingProductIds
Array of integers[ items >= 1 ]
productId
integer >= 1
reference
string or null
shortDescription
string or null
status
string (CatalogItemStatus)
Enum: "published" "unpublished"
stlFileUuid
string <uuid>
technologyId
integer >= 1
title
string

Responses

Request samples

Content type
application/json
{
  • "customerGroupId": 4,
  • "description": "string",
  • "labelIds": [
    ],
  • "partNumber": "string",
  • "partnerId": 1,
  • "postProcessingProductIds": [
    ],
  • "productId": 1,
  • "reference": "string",
  • "shortDescription": "string",
  • "status": "published",
  • "stlFileUuid": "d1618e01-6070-4434-bebc-b2b95c5618e0",
  • "technologyId": 1,
  • "title": "string"
}

Response samples

Content type
application/json
{
  • "id": 1,
  • "availability": true,
  • "createdBy": 0,
  • "customerGroup": {
    },
  • "title": "string",
  • "description": "string",
  • "hasRemovedMaterial": true,
  • "hasRemovedPostProcessing": true,
  • "hasRemovedService": true,
  • "hasUnpublishedMaterial": true,
  • "hasUnpublishedPostProcessing": true,
  • "partNumber": "string",
  • "minProductionDays": 0,
  • "maxProductionDays": 0,
  • "labels": [
    ],
  • "origin": "ampi",
  • "partRequirements": {
    },
  • "printabilityStatus": "printable",
  • "product": {
    },
  • "partner": {
    },
  • "reference": "string",
  • "unitPrice": {
    },
  • "shortDescription": "string",
  • "status": "published",
  • "stlFile": {},
  • "postProcessingOptions": [
    ],
  • "postProcessingProducts": [
    ],
  • "attachments": [
    ],
  • "technology": {
    },
  • "priceIsNoneReason": "MANUAL_PRICING_REQUIRED"
}

Delete Catalog Item

Delete an catalog item from the catalog list. To use this endpoint, the connected user must be an Organization catalog admin.

path Parameters
catalog_id
required
integer >= 1

Catalog item id

Responses

Get Attachments to an Catalog Item

path Parameters
catalog_id
required
integer >= 1

Catalog item id

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create Attachments to an Catalog Item

path Parameters
catalog_id
required
integer >= 1

Catalog item id

Request Body schema: multipart/form-data
file
required
string <binary>
is_in_gallery
boolean

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "creationDate": "2019-08-24T14:15:22Z",
  • "filesize": 0,
  • "isInGallery": true,
  • "name": "string",
  • "url": "string"
}

Delete Catalog Item Attachment

path Parameters
catalog_id
required
integer >= 1

Catalog item id

attachment_id
required
integer >= 1

Attachment Id

Responses

List Labels for Catalog Items

Returns a list of labels for catalog items sorted by name.

path Parameters
catalog_id
required
integer >= 1

Catalog item id

query Parameters
search
string
Example: search=Order 100007

String to search for in all relevant fields

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Add Label to the Catalog Item

Add Label to the Catalog Item

path Parameters
catalog_id
required
integer >= 1

Catalog item id

Request Body schema: application/json
name
required
string

Responses

Request samples

Content type
application/json
{
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string"
}

List Catalog CSV import jobs

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create Catalog CSV Import job

Request Body schema: application/json
file
required
string

Responses

Request samples

Content type
application/json
{
  • "file": "string"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "created": "string",
  • "modified": "string",
  • "zipFile": "string",
  • "validationReportFile": "string",
  • "importReportFile": "string",
  • "status": "string"
}

Get a Catalog CSV import job

path Parameters
job_id
required
integer >= 1

CSV Import job id

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "created": "string",
  • "modified": "string",
  • "zipFile": "string",
  • "validationReportFile": "string",
  • "importReportFile": "string",
  • "status": "string"
}

Delete a Catalog CSV import job

path Parameters
job_id
required
integer >= 1

CSV Import job id

Responses

List Catalog Items

Returns a list of catalog items, by default sorted by reverse creation date. The default page size is 10. Page 1 is rendered if no page number is provided.

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

query Parameters
page
integer >= 1

Page number to render. The number of pages is the count in the result set, divided by page size.

pageSize
integer multiple of 5 [ 10 .. 100 ]

Number of results per page.

search
string
Example: search=Order 100007

String to search for in all relevant fields

customerGroup
integer or null
Example: customerGroup=1

Id of a customer group to filter for

label
string
Example: label=PA12 R&D

Name of the label to filter for

partner
integer
Example: partner=1

Id of a partner to filter for

product
integer
Example: product=1

Id of a product (material) to filter for

postProcessing
string
Example: postProcessing=Dyeing

Title of a post processing to filter for

Responses

Response samples

Content type
application/json
{
  • "count": 42,
  • "currentPage": 42,
  • "totalPages": 50,
  • "pageSize": 25,
  • "results": [
    ]
}

Create Catalog Item

A catalog item is created from a basket line. Subsequently this item is saved in the catalog list and can be added to the basket very easily. To use this endpoint, the connected user must be an Organization catalog admin.

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

Request Body schema: application/json
lineId
required
integer

Basket line id of the line that should be turned into a catalog item

customerGroup
integer or null

Responses

Request samples

Content type
application/json
{
  • "lineId": 0,
  • "customerGroup": 0
}

Response samples

Content type
application/json
{
  • "attachments": [
    ],
  • "availability": true,
  • "customerGroup": {
    },
  • "id": 1,
  • "title": "string",
  • "description": "string",
  • "formFields": {
    },
  • "partNumber": "string",
  • "minProductionDays": 0,
  • "maxProductionDays": 0,
  • "labels": [
    ],
  • "productTitle": "string",
  • "partnerName": "string",
  • "reference": "string",
  • "unitPrice": {
    },
  • "status": "published",
  • "thumbnailUrl": "string",
  • "postProcessingOptions": [
    ],
  • "postProcessingProducts": [
    ],
  • "priceIsNoneReason": "MANUAL_PRICING_REQUIRED"
}

List Catalog Items

Returns a list of catalog items, by default sorted by reverse creation date. The default page size is 10. Page 1 is rendered if no page number is provided.

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

query Parameters
page
integer >= 1

Page number to render. The number of pages is the count in the result set, divided by page size.

pageSize
integer multiple of 5 [ 10 .. 100 ]

Number of results per page.

search
string
Example: search=Order 100007

String to search for in all relevant fields

customerGroup
integer or null
Example: customerGroup=1

Id of a customer group to filter for

label
string
Example: label=PA12 R&D

Name of the label to filter for

partner
integer
Example: partner=1

Id of a partner to filter for

product
integer
Example: product=1

Id of a product (material) to filter for

postProcessing
string
Example: postProcessing=Dyeing

Title of a post processing to filter for

status
Array of strings
Items Enum: "published" "unpublished"
Example: status=published&status=unpublished

Status of the catalog item to filter by. You can pass multiple.

Responses

Response samples

Content type
application/json
{
  • "count": 42,
  • "currentPage": 42,
  • "totalPages": 50,
  • "pageSize": 25,
  • "results": [
    ]
}

Create Catalog Item

A catalog item is created from a basket line. Subsequently this item is saved in the catalog list and can be added to the basket very easily. To use this endpoint, the connected user must be an Organization catalog admin.

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

Request Body schema: application/json
customerGroupId
integer or null >= 1
detailedDescription
required
string or null
labelIds
Array of integers[ items >= 1 ]
partnerId
integer or null >= 1
postProcessingProductIds
Array of integers[ items >= 1 ]
productId
required
integer >= 1
reference
string or null
shortDescription
string or null
status
string (CatalogItemStatus)
Enum: "published" "unpublished"
stlFileUuid
required
string
technologyId
required
integer >= 1
title
required
string

Responses

Request samples

Content type
application/json
{
  • "customerGroupId": 1,
  • "detailedDescription": "string",
  • "labelIds": [
    ],
  • "partnerId": 1,
  • "postProcessingProductIds": [
    ],
  • "productId": 1,
  • "reference": "string",
  • "shortDescription": "string",
  • "status": "published",
  • "stlFileUuid": "string",
  • "technologyId": 1,
  • "title": "string"
}

Response samples

Content type
application/json
{
  • "id": 1,
  • "availability": true,
  • "createdBy": 0,
  • "customerGroup": {
    },
  • "title": "string",
  • "description": "string",
  • "hasRemovedMaterial": true,
  • "hasRemovedPostProcessing": true,
  • "hasRemovedService": true,
  • "hasUnpublishedMaterial": true,
  • "hasUnpublishedPostProcessing": true,
  • "partNumber": "string",
  • "minProductionDays": 0,
  • "maxProductionDays": 0,
  • "labels": [
    ],
  • "origin": "ampi",
  • "partRequirements": {
    },
  • "printabilityStatus": "printable",
  • "product": {
    },
  • "partner": {
    },
  • "reference": "string",
  • "unitPrice": {
    },
  • "shortDescription": "string",
  • "status": "published",
  • "stlFile": {},
  • "postProcessingOptions": [
    ],
  • "postProcessingProducts": [
    ],
  • "attachments": [
    ],
  • "technology": {
    },
  • "priceIsNoneReason": "MANUAL_PRICING_REQUIRED"
}

Bulk Delete Catalog Items

Delete multiple Catalog items by sending an array of IDs.

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

Request Body schema: application/json
id
required
Array of integers

Array of Catalog item ids that should be deleted.

Responses

Request samples

Content type
application/json
{
  • "id": [
    ]
}

Response samples

Content type
application/json
{
  • "code": "VALIDATION_ERROR",
  • "message": "Field validation error",
  • "moreInfo": [
    ]
}

Catalog Filter Choices - Service Panel

Catalog Filter Choices for Service Panel, that allow filtering the catalog list

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

Responses

Response samples

Content type
application/json
{
  • "labels": [
    ],
  • "partners": [
    ],
  • "products": [
    ],
  • "postProcessings": [
    ],
  • "statuses": [
    ],
  • "customerGroups": [
    ]
}

Basket

List Basket-Lines

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

basket_id
required
integer >= 1

Basket Id

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a Basket-Line

An basket line is added to the given basket_id. You can either:

  • Specify nothing else and get a newly created basket line, with no default values. This line is intended to be filled with at least one 3D file.
  • Specify a line id to clone from with cloneLine, which will copy all attributes from the source line to a newly created basket line.
  • Specify a catalogItemId, which will be used to copy all known attributes to a newly created basket line.
path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

basket_id
required
integer >= 1

Basket Id

Request Body schema: application/json
Any of
catalogItemId
integer

Create this basket line from the given Catalog Item.

Responses

Request samples

Content type
application/json
{
  • "cloneLine": 0
}

Response samples

Content type
application/json
{
  • "name": "197326-Abjurer-1",
  • "offerId": 112,
  • "partRequirementsId": 119,
  • "productId": 911,
  • "quantity": 1,
  • "preferredDueDate": "2019-08-24",
  • "isInCatalog": true,
  • "isManualPricingRequired": true,
  • "isPriceResolutionRequired": true,
  • "maxProductionDays": 4,
  • "minProductionDays": 2,
  • "canBeOrdered": true,
  • "file": {},
  • "fullName": "string",
  • "id": 42,
  • "linePrice": {
    },
  • "partRequirements": {
    },
  • "productName": "string",
  • "offer": {
    },
  • "unitPrice": {
    },
  • "maxD": 4,
  • "maxH": 4,
  • "maxW": 13,
  • "minimumWallThickness": "0.4000",
  • "optimalWallThickness": "1.200",
  • "partner": {
    },
  • "suggestedPrice": {
    },
  • "unitPrintPrice": {
    },
  • "postProcessings": [
    ]
}

Get a Basket-Line

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

basket_id
required
integer >= 1

Basket Id

line_id
required
integer >= 1

Line Id

Responses

Response samples

Content type
application/json
{
  • "name": "197326-Abjurer-1",
  • "offerId": 112,
  • "partRequirementsId": 119,
  • "productId": 911,
  • "quantity": 1,
  • "preferredDueDate": "2019-08-24",
  • "isInCatalog": true,
  • "isManualPricingRequired": true,
  • "isPriceResolutionRequired": true,
  • "maxProductionDays": 4,
  • "minProductionDays": 2,
  • "canBeOrdered": true,
  • "file": {},
  • "fullName": "string",
  • "id": 42,
  • "linePrice": {
    },
  • "partRequirements": {
    },
  • "productName": "string",
  • "offer": {
    },
  • "unitPrice": {
    },
  • "maxD": 4,
  • "maxH": 4,
  • "maxW": 13,
  • "minimumWallThickness": "0.4000",
  • "optimalWallThickness": "1.200",
  • "partner": {
    },
  • "suggestedPrice": {
    },
  • "unitPrintPrice": {
    },
  • "postProcessings": [
    ]
}

Update a Basket-Line

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

basket_id
required
integer >= 1

Basket Id

line_id
required
integer >= 1

Line Id

Request Body schema: application/json
name
string or null

Visible Name in Service and User Panel

offerId
integer or null >= 1

Defines both material as well as printing service and is thus required for ordering.

productId
integer or null >= 1

Also known as material. To set a material/product, use the offerId to also select the correct PrintingService.

quantity
integer >= 1

Set to 1 by default. Change if you want to in- or decrease amount of desired parts in this line.

preferredDueDate
string or null <date> \d{4}-\d{2}-\d{2}
autoSetPrice
boolean
unitPrintPrice
string or null
Array of objects

Responses

Request samples

Content type
application/json
{
  • "name": "197326-Abjurer-1",
  • "offerId": 112,
  • "productId": 911,
  • "quantity": 1,
  • "preferredDueDate": "2019-08-24",
  • "autoSetPrice": true,
  • "unitPrintPrice": "string",
  • "postProcessings": [
    ]
}

Response samples

Content type
application/json
{
  • "name": "197326-Abjurer-1",
  • "offerId": 112,
  • "partRequirementsId": 119,
  • "productId": 911,
  • "quantity": 1,
  • "preferredDueDate": "2019-08-24",
  • "isInCatalog": true,
  • "isManualPricingRequired": true,
  • "isPriceResolutionRequired": true,
  • "maxProductionDays": 4,
  • "minProductionDays": 2,
  • "canBeOrdered": true,
  • "file": {},
  • "fullName": "string",
  • "id": 42,
  • "linePrice": {
    },
  • "partRequirements": {
    },
  • "productName": "string",
  • "offer": {
    },
  • "unitPrice": {
    },
  • "maxD": 4,
  • "maxH": 4,
  • "maxW": 13,
  • "minimumWallThickness": "0.4000",
  • "optimalWallThickness": "1.200",
  • "partner": {
    },
  • "suggestedPrice": {
    },
  • "unitPrintPrice": {
    },
  • "postProcessings": [
    ]
}

Delete a Basket-Line

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

basket_id
required
integer >= 1

Basket Id

line_id
required
integer >= 1

Line Id

Responses

Create a Basket based on a Quote

Create basket with lines and their properties from a selected Quote.

path Parameters
quote_id
required
integer

Quote Id

service_id
required
integer >= 1

Service Id. Unique for every Printing Service

Responses

Response samples

Content type
application/json
{
  • "id": 1,
  • "subtotal": {
    },
  • "isManualPricingRequired": true,
  • "isPriceResolutionRequired": true,
  • "lastModifiedTime": "string",
  • "lineMeta": [
    ],
  • "numberOfFiles": 1,
  • "number": 100001,
  • "projectId": 42,
  • "sequenceNumber": 1,
  • "title": "string",
  • "unresolvedLines": [
    ],
  • "customer": {
    },
  • "parentFees": [
    ],
  • "parentShippingPrice": {
    }
}

Quote

List Quotes

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

query Parameters
page
integer >= 1

Page number to render. The number of pages is the count in the result set, divided by page size.

pageSize
integer multiple of 5 [ 10 .. 100 ]

Number of results per page.

ordering
string-?\w+(,-?\w+)*
Example: ordering=ordering=-datetime_placed,number

Fields to order the result set by. To use descending order, prefix the field name with a - (minus, dash). Multiple fields are separated by a comma.

search
string
Example: search=Order 100007

String to search for in all relevant fields

status
Array of strings
Items Enum: "not ordered" "ordered"
Example: status=ordered&status=not ordered

Quote Ordered Status to filter by. You can pass multiple.

createdAtGte
string <date> \d{4}-\d{2}-\d{2}
Example: createdAtGte=2021-07-30

Filter items created at or after the specified date.

createdAtLte
string <date> \d{4}-\d{2}-\d{2}
Example: createdAtLte=2021-07-30

Filter items created at or before the specified date.

productId
Array of integers[ items >= 1 ]
Example: productId=1&productId=2

Product (Material) Id to filter by. You can pass multiple.

technologyId
Array of integers[ items >= 1 ]
Example: technologyId=1&technologyId=2

Technology Id to filter by. You can pass multiple.

isRejected
boolean

Flag to toggle between showing rejected, not rejected salestransactions

Responses

Response samples

Content type
application/json
{
  • "count": 42,
  • "currentPage": 42,
  • "totalPages": 50,
  • "pageSize": 30,
  • "results": [
    ]
}

Create a Quote based on a RequestForQuote

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

Request Body schema: application/json
requestForQuoteId
required
integer >= 1
required
Array of objects

Responses

Request samples

Content type
application/json
{
  • "requestForQuoteId": 1,
  • "lines": [
    ]
}

Response samples

Content type
application/json
{
  • "createdAt": "2019-08-24T14:15:22Z",
  • "createdBy": {
    },
  • "currency": "AUD",
  • "customer": {
    },
  • "feesPrice": {
    },
  • "fullNumber": "121212-Case-O2",
  • "id": 42,
  • "isCreatedBySharedUser": true,
  • "minPrice": {
    },
  • "minPriceDiff": {
    },
  • "number": "121212",
  • "numberOfComments": 0,
  • "numberOfLines": 0,
  • "partner": {
    },
  • "projectId": 42,
  • "sequenceNumber": 2,
  • "subtotalPrice": {
    },
  • "taxRate": "19.00000",
  • "thumbnailUrl": "/en/u/djeh182j-e0dc-4510-80b4-sjdhakwj214/download_thumbnail/",
  • "title": "Case",
  • "totalItemsQuantity": 1,
  • "totalPrice": {
    },
  • "isRejected": true,
  • "rejectionReason": "string",
  • "billingAddress": {
    },
  • "deliveryDaysMax": 1,
  • "deliveryDaysMin": 1,
  • "expiryDatetime": "2019-08-24T14:15:22Z",
  • "isOrdered": true,
  • "isEdited": true,
  • "isExpired": true,
  • "pdfComment": "string",
  • "pickupLocation": {
    },
  • "salesTransactionType": "quote",
  • "shippingAddress": {
    },
  • "status": "partial",
  • "deliveryInstructions": "string",
  • "shippingMethod": {
    },
  • "shippingPrice": {
    },
  • "fees": [
    ],
  • "lines": [],
  • "materialPriceBreakdown": [
    ],
  • "postProcessingPriceBreakdown": [
    ],
  • "rootBasketId": 0,
  • "newQuoteId": 1,
  • "updatedAt": "2019-08-24T14:15:22Z"
}

List Quote-Attachments

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

quote_id
required
integer

Quote Id

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a Quote-Attachment

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

quote_id
required
integer

Quote Id

Request Body schema: multipart/form-data
file
string <binary>

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "added": "string",
  • "filesize": 0,
  • "name": "string",
  • "uploader": {
    },
  • "url": "string",
  • "isInternal": true
}

Delete a Quote-Attachment

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

quote_id
required
integer

Quote Id

attachment_id
required
integer >= 1

Attachment Id

Responses

Create a Quote based on a Basket

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

Request Body schema: application/json
object
basketId
required
integer
billingAddressId
integer or null
Array of objects
pickupLocationId
integer or null

Should be null if shipping is given

shippingPrice
string or null
object or null

Should be null if pickupLocationId is given

userId
required
number

Responses

Request samples

Content type
application/json
{
  • "additionalInformation": {
    },
  • "basketId": 0,
  • "billingAddressId": 0,
  • "fees": [
    ],
  • "pickupLocationId": 0,
  • "shippingPrice": "string",
  • "shipping": {
    },
  • "userId": 0
}

Response samples

Content type
application/json
{
  • "id": 0
}

Create a Quote based on a Basket (edit mode)

This endpoint assumes, that the basket was created based on a quote, and the quote that we are now creating is essentially an edited version of that quote. Therefore, the previous quote is being marked as "edited".

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

Request Body schema: application/json
object
basketId
required
integer
billingAddressId
integer or null
Array of objects
pickupLocationId
integer or null

Should be null if shipping is given

shippingPrice
string or null
object or null

Should be null if pickupLocationId is given

userId
required
number

Responses

Request samples

Content type
application/json
{
  • "additionalInformation": {
    },
  • "basketId": 0,
  • "billingAddressId": 0,
  • "fees": [
    ],
  • "pickupLocationId": 0,
  • "shippingPrice": "string",
  • "shipping": {
    },
  • "userId": 0
}

Response samples

Content type
application/json
{
  • "id": 0
}

Service Partners

List Available Services

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Service Orders

To access the endpoints in the Service Panel section, the user that is assigned to your API token must have access to the Service Panel.

List Orders

Returns a list of Orders.

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

query Parameters
page
integer >= 1

Page number to render. The number of pages is the count in the result set, divided by page size.

pageSize
integer multiple of 5 [ 10 .. 100 ]

Number of results per page.

ordering
string-?\w+(,-?\w+)*
Example: ordering=ordering=-datetime_placed,number

Fields to order the result set by. To use descending order, prefix the field name with a - (minus, dash). Multiple fields are separated by a comma.

search
string
Example: search=Order 100007

String to search for in all relevant fields

status
Array of integers[ items >= 1 ]
Example: status=1&status=2

Order Status Id to filter by. You can pass multiple.

paymentMethodId
Array of integers[ items >= 1 ]
Example: paymentMethodId=1&paymentMethodId=2

Payment Method Id to filter by. You can pass multiple.

shippingMethodId
Array of integers[ items >= 1 ]
Example: shippingMethodId=1&shippingMethodId=2

Shipping Method Id to filter by. You can pass multiple.

createdAtGte
string <date> \d{4}-\d{2}-\d{2}
Example: createdAtGte=2021-07-30

Filter items created at or after the specified date.

createdAtLte
string <date> \d{4}-\d{2}-\d{2}
Example: createdAtLte=2021-07-30

Filter items created at or before the specified date.

productId
Array of integers[ items >= 1 ]
Example: productId=1&productId=2

Product (Material) Id to filter by. You can pass multiple.

technologyId
Array of integers[ items >= 1 ]
Example: technologyId=1&technologyId=2

Technology Id to filter by. You can pass multiple.

isRejected
boolean

Flag to toggle between showing rejected, not rejected salestransactions

id
Array of integers
Example: id=1&id=2

Id of the Order to filter for. You can pass multiple.

Responses

Response samples

Content type
application/json
{
  • "count": 42,
  • "currentPage": 42,
  • "totalPages": 50,
  • "pageSize": 30,
  • "results": [
    ]
}

Get Order

Returns an Order object.

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

order_id
required
integer >= 1

Order Id

Responses

Response samples

Content type
application/json
{
  • "createdAt": "2019-08-24T14:15:22Z",
  • "createdBy": {
    },
  • "currency": "AUD",
  • "customer": {
    },
  • "feesPrice": {
    },
  • "fullNumber": "121212-Case-O2",
  • "id": 42,
  • "isCreatedBySharedUser": true,
  • "minPrice": {
    },
  • "minPriceDiff": {
    },
  • "number": "121212",
  • "numberOfComments": 0,
  • "numberOfLines": 0,
  • "partner": {
    },
  • "projectId": 42,
  • "sequenceNumber": 2,
  • "subtotalPrice": {
    },
  • "taxRate": "19.00000",
  • "thumbnailUrl": "/en/u/djeh182j-e0dc-4510-80b4-sjdhakwj214/download_thumbnail/",
  • "title": "Case",
  • "totalItemsQuantity": 1,
  • "totalPrice": {
    },
  • "isRejected": true,
  • "rejectionReason": "string",
  • "billingAddress": {
    },
  • "deliveryDaysMax": 1,
  • "deliveryDaysMin": 1,
  • "deliveryInstructions": "string",
  • "payment": {
    },
  • "pickupLocation": {
    },
  • "referenceNumber": "string",
  • "salesTransactionType": "order",
  • "shippingAddress": {
    },
  • "status": {
    },
  • "products": [
    ],
  • "shippingMethod": {
    },
  • "hasUnfinishedMesSequences": true,
  • "fees": [
    ],
  • "isEdited": true,
  • "lines": [
    ],
  • "materialPriceBreakdown": [
    ],
  • "newOrderId": 1,
  • "postProcessingPriceBreakdown": [
    ],
  • "postProcessingsPrice": {
    },
  • "printPrice": {
    },
  • "shippingPrice": {
    },
  • "trackingInformation": "string",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "voucherDiscount": {
    }
}

Update Order properties

Updates title of an order.

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

order_id
required
integer >= 1

Order Id

Request Body schema: application/json
title
string

Responses

Request samples

Content type
application/json
{
  • "title": "string"
}

Response samples

Content type
application/json
{
  • "createdAt": "2019-08-24T14:15:22Z",
  • "createdBy": {
    },
  • "currency": "AUD",
  • "customer": {
    },
  • "feesPrice": {
    },
  • "fullNumber": "121212-Case-O2",
  • "id": 42,
  • "isCreatedBySharedUser": true,
  • "minPrice": {
    },
  • "minPriceDiff": {
    },
  • "number": "121212",
  • "numberOfComments": 0,
  • "numberOfLines": 0,
  • "partner": {
    },
  • "projectId": 42,
  • "sequenceNumber": 2,
  • "subtotalPrice": {
    },
  • "taxRate": "19.00000",
  • "thumbnailUrl": "/en/u/djeh182j-e0dc-4510-80b4-sjdhakwj214/download_thumbnail/",
  • "title": "Case",
  • "totalItemsQuantity": 1,
  • "totalPrice": {
    },
  • "isRejected": true,
  • "rejectionReason": "string",
  • "billingAddress": {
    },
  • "deliveryDaysMax": 1,
  • "deliveryDaysMin": 1,
  • "deliveryInstructions": "string",
  • "payment": {
    },
  • "pickupLocation": {
    },
  • "referenceNumber": "string",
  • "salesTransactionType": "order",
  • "shippingAddress": {
    },
  • "status": {
    },
  • "products": [
    ],
  • "shippingMethod": {
    },
  • "hasUnfinishedMesSequences": true,
  • "fees": [
    ],
  • "isEdited": true,
  • "lines": [
    ],
  • "materialPriceBreakdown": [
    ],
  • "newOrderId": 1,
  • "postProcessingPriceBreakdown": [
    ],
  • "postProcessingsPrice": {
    },
  • "printPrice": {
    },
  • "shippingPrice": {
    },
  • "trackingInformation": "string",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "voucherDiscount": {
    }
}

Create Internal Order

This endpoint allows you to create an internal order

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

Request Body schema: application/json
required
object
basketId
required
integer
billingAddressId
required
integer
pickupLocationId
required
integer or null

Should be null if shipping is given

Array of objects
shippingPrice
string or null
required
object or null

Should be null if pickupLocationId is given

required
object
voucherCode
required
string or null
userId
required
integer

Responses

Request samples

Content type
application/json
{
  • "additionalInformation": {
    },
  • "basketId": 0,
  • "billingAddressId": 0,
  • "pickupLocationId": 0,
  • "fees": [
    ],
  • "shippingPrice": "string",
  • "shipping": {
    },
  • "payment": {
    },
  • "voucherCode": "string",
  • "userId": 0
}

Response samples

Content type
application/json
{
  • "id": 0
}

Edit Order

This endpoint allows you to save edited order

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

Request Body schema: application/json
required
object
basketId
required
integer
billingAddressId
required
integer
pickupLocationId
required
integer or null

Should be null if shipping is given

Array of objects
shippingPrice
string or null
required
object or null

Should be null if pickupLocationId is given

required
object
voucherCode
required
string or null
userId
required
integer

Responses

Request samples

Content type
application/json
{
  • "additionalInformation": {
    },
  • "basketId": 0,
  • "billingAddressId": 0,
  • "pickupLocationId": 0,
  • "fees": [
    ],
  • "shippingPrice": "string",
  • "shipping": {
    },
  • "payment": {
    },
  • "voucherCode": "string",
  • "userId": 0
}

Response samples

Content type
application/json
{
  • "id": 0
}

Create basket

Create basket with lines and their properties from this Order

path Parameters
sale_transaction_id
required
integer
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

Responses

Response samples

Content type
application/json
{
  • "id": 1,
  • "subtotal": {
    },
  • "isManualPricingRequired": true,
  • "isPriceResolutionRequired": true,
  • "lastModifiedTime": "string",
  • "lineMeta": [
    ],
  • "numberOfFiles": 1,
  • "number": 100001,
  • "projectId": 42,
  • "sequenceNumber": 1,
  • "title": "string",
  • "unresolvedLines": [
    ],
  • "customer": {
    },
  • "parentFees": [
    ],
  • "parentShippingPrice": {
    }
}

Update Order Status

Changes the Status of an order

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

order_id
required
integer >= 1

Order Id

Request Body schema: application/json
statusId
required
integer

Id of the new status, to which the order should be updated

emailContent
required
string or null

Plain text that will be set as the content of the email

emailSubject
required
string or null

Plain text that will be set as the subject of the email

language
required
string or null (NullableLanguage)
Enum: "de" "en" "es" "fr" "it" "ja" "pl" null

Lower case language code as defined by ISO 639-1:2002, Part 1 (two-letter codes). The currently supported languages are listed here.

finishMesSequences
boolean
trackingInformation
required
string or null (TrackingInformation) <= 128 characters

Free form tracking information. This may be a URL.

Responses

Request samples

Content type
application/json
{
  • "statusId": 0,
  • "emailContent": "Your order has been shipped",
  • "emailSubject": "Order shipment",
  • "language": "de",
  • "finishMesSequences": true,
  • "trackingInformation": "string"
}

Response samples

Content type
application/json
{
  • "createdAt": "2019-08-24T14:15:22Z",
  • "createdBy": {
    },
  • "currency": "AUD",
  • "customer": {
    },
  • "feesPrice": {
    },
  • "fullNumber": "121212-Case-O2",
  • "id": 42,
  • "isCreatedBySharedUser": true,
  • "minPrice": {
    },
  • "minPriceDiff": {
    },
  • "number": "121212",
  • "numberOfComments": 0,
  • "numberOfLines": 0,
  • "partner": {
    },
  • "projectId": 42,
  • "sequenceNumber": 2,
  • "subtotalPrice": {
    },
  • "taxRate": "19.00000",
  • "thumbnailUrl": "/en/u/djeh182j-e0dc-4510-80b4-sjdhakwj214/download_thumbnail/",
  • "title": "Case",
  • "totalItemsQuantity": 1,
  • "totalPrice": {
    },
  • "isRejected": true,
  • "rejectionReason": "string",
  • "billingAddress": {
    },
  • "deliveryDaysMax": 1,
  • "deliveryDaysMin": 1,
  • "deliveryInstructions": "string",
  • "payment": {
    },
  • "pickupLocation": {
    },
  • "referenceNumber": "string",
  • "salesTransactionType": "order",
  • "shippingAddress": {
    },
  • "status": {
    },
  • "products": [
    ],
  • "shippingMethod": {
    },
  • "hasUnfinishedMesSequences": true,
  • "fees": [
    ],
  • "isEdited": true,
  • "lines": [
    ],
  • "materialPriceBreakdown": [
    ],
  • "newOrderId": 1,
  • "postProcessingPriceBreakdown": [
    ],
  • "postProcessingsPrice": {
    },
  • "printPrice": {
    },
  • "shippingPrice": {
    },
  • "trackingInformation": "string",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "voucherDiscount": {
    }
}

Get available Order Statuses

Returns a list statuses into which the order can progress to.

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

order_id
required
integer >= 1

Order Id

Responses

Response samples

Content type
application/json
[
  • {
    }
]

getOrderTrackingServicePanel

Returns tracking informtion of an Order object.

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

order_id
required
integer >= 1

Order Id

Responses

Response samples

Content type
application/json
{
  • "info": "string"
}

updateOrderTrackingServicePanel

Updates tracking informtion of an Order object.

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

order_id
required
integer >= 1

Order Id

Request Body schema: application/json
info
required
string

Responses

Request samples

Content type
application/json
{
  • "info": "string"
}

Response samples

Content type
application/json
{
  • "createdAt": "2019-08-24T14:15:22Z",
  • "createdBy": {
    },
  • "currency": "AUD",
  • "customer": {
    },
  • "feesPrice": {
    },
  • "fullNumber": "121212-Case-O2",
  • "id": 42,
  • "isCreatedBySharedUser": true,
  • "minPrice": {
    },
  • "minPriceDiff": {
    },
  • "number": "121212",
  • "numberOfComments": 0,
  • "numberOfLines": 0,
  • "partner": {
    },
  • "projectId": 42,
  • "sequenceNumber": 2,
  • "subtotalPrice": {
    },
  • "taxRate": "19.00000",
  • "thumbnailUrl": "/en/u/djeh182j-e0dc-4510-80b4-sjdhakwj214/download_thumbnail/",
  • "title": "Case",
  • "totalItemsQuantity": 1,
  • "totalPrice": {
    },
  • "isRejected": true,
  • "rejectionReason": "string",
  • "billingAddress": {
    },
  • "deliveryDaysMax": 1,
  • "deliveryDaysMin": 1,
  • "deliveryInstructions": "string",
  • "payment": {
    },
  • "pickupLocation": {
    },
  • "referenceNumber": "string",
  • "salesTransactionType": "order",
  • "shippingAddress": {
    },
  • "status": {
    },
  • "products": [
    ],
  • "shippingMethod": {
    },
  • "hasUnfinishedMesSequences": true,
  • "fees": [
    ],
  • "isEdited": true,
  • "lines": [
    ],
  • "materialPriceBreakdown": [
    ],
  • "newOrderId": 1,
  • "postProcessingPriceBreakdown": [
    ],
  • "postProcessingsPrice": {
    },
  • "printPrice": {
    },
  • "shippingPrice": {
    },
  • "trackingInformation": "string",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "voucherDiscount": {
    }
}

Internal Order

Create Internal Order

This endpoint allows you to create an internal order

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

Request Body schema: application/json
required
object
basketId
required
integer
billingAddressId
required
integer
pickupLocationId
required
integer or null

Should be null if shipping is given

Array of objects
shippingPrice
string or null
required
object or null

Should be null if pickupLocationId is given

required
object
voucherCode
required
string or null
userId
required
integer

Responses

Request samples

Content type
application/json
{
  • "additionalInformation": {
    },
  • "basketId": 0,
  • "billingAddressId": 0,
  • "pickupLocationId": 0,
  • "fees": [
    ],
  • "shippingPrice": "string",
  • "shipping": {
    },
  • "payment": {
    },
  • "voucherCode": "string",
  • "userId": 0
}

Response samples

Content type
application/json
{
  • "id": 0
}

Materials

List Material-Offers

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

query Parameters
technologyId
integer
Example: technologyId=1

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a Material-Offer

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

Request Body schema: application/json
finishing
required
integer >= 1
technologyId
integer >= 1

Responses

Request samples

Content type
application/json
{
  • "finishing": 1,
  • "technologyId": 1
}

Response samples

Content type
application/json
{
  • "id": 1
}

List Post-Processings for a Material-Offer

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

offer_id
required
integer

Offer Id

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a Post-Processing for a Material-Offer

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

offer_id
required
integer

Offer Id

Request Body schema: application/json
boundsXMin
required
integer
boundsXMax
required
integer
boundsYMin
required
integer
boundsYMax
required
integer
boundsZMin
required
integer
boundsZMax
required
integer
productionDaysMax
required
integer >= 0
productionDaysMin
required
integer >= 0
alwaysPricedManually
required
boolean
colors
required
Array of integers[ items >= 1 ]
description
required
string
priceFormula
required
string
published
required
boolean
title
required
string
postProcessingProductId
required
integer

Responses

Request samples

Content type
application/json
{
  • "boundsXMin": 0,
  • "boundsXMax": 0,
  • "boundsYMin": 0,
  • "boundsYMax": 0,
  • "boundsZMin": 0,
  • "boundsZMax": 0,
  • "productionDaysMax": 0,
  • "productionDaysMin": 0,
  • "alwaysPricedManually": true,
  • "colors": [
    ],
  • "description": "string",
  • "priceFormula": "string",
  • "published": true,
  • "title": "string",
  • "postProcessingProductId": 0
}

Response samples

Content type
application/json
{
  • "boundsXMin": 0,
  • "boundsXMax": 0,
  • "boundsYMin": 0,
  • "boundsYMax": 0,
  • "boundsZMin": 0,
  • "boundsZMax": 0,
  • "productionDaysMax": 0,
  • "productionDaysMin": 0,
  • "id": 1,
  • "alwaysPricedManually": true,
  • "colors": [
    ],
  • "datasheetPdf": "string",
  • "datasheetPdfSize": 0,
  • "description": "string",
  • "priceFormula": "string",
  • "published": true,
  • "title": "string",
  • "unit": "mm",
  • "postProcessingProductId": 0,
  • "postProcessingProductName": "string"
}

Comments

Get comments for an object

path Parameters
object_id
required
integer

Object ID, used to determine the object to CRUD Comment on

object_type
required
string
Enum: "ampi_part" "job" "order" "part" "quote" "request_for_quote"

Object type slug, used to determine the object to CRUD Comment on

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create comment for an object

path Parameters
object_id
required
integer

Object ID, used to determine the object to CRUD Comment on

object_type
required
string
Enum: "ampi_part" "job" "order" "part" "quote" "request_for_quote"

Object type slug, used to determine the object to CRUD Comment on

Request Body schema: application/json
message
string
replyTo
integer or null

Responses

Request samples

Content type
application/json
{
  • "message": "string",
  • "replyTo": 0
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "userId": 0,
  • "userName": "string",
  • "userAvatar": "string",
  • "userEmail": "string",
  • "replyTo": 0,
  • "depth": 0,
  • "message": "string",
  • "createdTime": "string",
  • "allowChange": true,
  • "allowDeletion": true,
  • "isInternal": true
}

Parts

MES Service Filter Options

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

query Parameters
fields
required
Array of strings
Items Enum: "internalLotNumbers" "materials" "workstations" "workflowTemplates" "workflowStatuses" "workflowTemplateStatuses" "postProcessings" "users" "technologies" "partRequirementsFields" "productionSheetTemplates" "machines" "materialForms"

Sequence Id to exclude while filtering

productionSheetTemplateType
string
Enum: "part" "job" "sequence"

If fetching productionSheetTemplates, this query param will be used to filter the templates based on the type. If not provided, no type filtering will be applied.

Responses

Response samples

Content type
application/json
{
  • "internalLotNumbers": [
    ],
  • "materials": [
    ],
  • "workstations": [
    ],
  • "workflowTemplates": [
    ],
  • "workflowStatuses": [
    ],
  • "workflowTemplateStatuses": [
    ],
  • "postProcessings": [
    ],
  • "users": [
    ],
  • "technologies": [
    ],
  • "partRequirementsFields": [
    ],
  • "productionSheetTemplates": [
    ],
  • "machines": [
    ],
  • "materialForms": [
    ]
}

Part List

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

query Parameters
page
integer >= 1

Page number to render. The number of pages is the count in the result set, divided by page size.

pageSize
integer multiple of 5 [ 10 .. 100 ]

Number of results per page.

search
string
Example: search=Order 100007

String to search for in all relevant fields

materialId
Array of integers[ items >= 1 ]
Example: materialId=1&materialId=2

Material Id to filter by. You can pass multiple.

technologyId
Array of integers[ items >= 1 ]
Example: technologyId=1&technologyId=2

Technology Id to filter by. You can pass multiple.

statusName
Array of strings
Example: statusName=pending&statusName=printing

Status to filter by. You can pass multiple.

processingTitle
Array of strings
Example: processingTitle=polishing&processingTitle=coloring

Post-processing title to filter by. You can pass multiple.

assigneeId
integer >= 1

Assignee Id to filter by, pass multiple in the following format - ?assigneeId=3&assigneeId=6

scheduled
string
Enum: "All" "Partial" "None"

Scheduled status to filter by, pass multiple in the following format - ?scheduled=All&scheduled=Partial

modifiedDateGte
string <date> \d{4}-\d{2}-\d{2}

Filter out all parts that were last modified before the given date

modifiedDateLte
string <date> \d{4}-\d{2}-\d{2}

Filter out all parts that were last modified after the given date

orderDateGte
string <date> \d{4}-\d{2}-\d{2}

Lower order date for range to filter on

orderDateLte
string <date> \d{4}-\d{2}-\d{2}

Higher order date for range to filter on

targetDateGte
string <date> \d{4}-\d{2}-\d{2}

Lower target date for range to filter on

targetDateLte
string <date> \d{4}-\d{2}-\d{2}

Higher target date for range to filter on

showOnlyDelayed
boolean

If set, results will only include parts with delayed workflow steps

showFinished
boolean

If set, the result will include finished parts

sortByPartRequirements
integer

Id of the FormField by which values the result is sorted. Negative for descending order.

Responses

Response samples

Content type
application/json
{
  • "count": 42,
  • "currentPage": 42,
  • "totalPages": 50,
  • "pageSize": 30,
  • "results": [
    ]
}

Part Detail

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

part_id
required
integer

Part Id

Responses

Response samples

Content type
application/json
{}

Part Detail

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

part_id
required
integer

Part Id

Request Body schema: application/json

Part detail

targetDate
string or null <date>
instructions
string
statusId
integer
uuid
string
moveToNextStatus
boolean
workflowTemplateId
integer >= 1
Array of objects

Responses

Request samples

Content type
application/json
{
  • "targetDate": "2019-08-24",
  • "instructions": "string",
  • "statusId": 0,
  • "uuid": "string",
  • "moveToNextStatus": true,
  • "workflowTemplateId": 1,
  • "employees": [
    ]
}

Response samples

Content type
application/json
{}

Bulk download parts' files

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

query Parameters
objectIds
required
string
Example: objectIds=1,2,3

Comma-separated list of object IDs

Responses

Bulk update parts

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

Request Body schema: application/json
required
Array of PartBulkAddEmployees (object) or PartBulkUpdateTargetDate (object) or PartMoveToNextStatus (object) or PartAssignWorkflowTemplate (object)

Responses

Request samples

Content type
application/json
{
  • "items": [
    ]
}

Create a production sheet

Create a production sheet pdf for a part or a job

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

Request Body schema: application/json
jobId
integer or null >= 1
partIds
Array of integers or null
sequenceIds
Array of integers or null
templateName
string or null

Responses

Request samples

Content type
application/json
{
  • "jobId": 1,
  • "partIds": [
    ],
  • "sequenceIds": [
    ],
  • "templateName": "string"
}

Response samples

Content type
application/json
{
  • "url": "string"
}

View production sheet

View previously created production sheet pdf

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

filename
required
string

Filename of the production sheet pdf to preview

Responses

Get File Version

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

part_id
required
integer

Part Id

uuid
required
string

STL file UUID

Responses

Response samples

Content type
application/json
{}

Remove File Version To Part

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

part_id
required
integer

Part Id

uuid
required
string

STL file UUID

Responses

Create Part Attachment

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

part_id
required
integer

Part Id

Request Body schema: multipart/form-data
partId
integer
file
string <binary>

Responses

Response samples

Content type
application/json
{
  • "partId": 0,
  • "file": "string"
}

Delete Part Attachment

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

part_id
required
integer

Part Id

attachment_id
required
integer >= 1

Attachment Id

Responses

Part Sequences

Sequence bulk update

Perform a specified operation on a set of sequences. The sequences to update are identified by their id. The update is performed in a single transaction, so either all sequences are updated or none.

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

Request Body schema: application/json

Sequences to update

required
Array of objects

Responses

Request samples

Content type
application/json
{
  • "sequences": [
    ]
}

Response samples

Content type
application/json
{
  • "code": "VALIDATION_ERROR",
  • "message": "Field validation error",
  • "moreInfo": [
    ]
}

Scrap part sequences or an amount of a sequence

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

part_id
required
integer

Part Id

Request Body schema: application/json

sequences to scrap

Array of objects

Responses

Request samples

Content type
application/json
{
  • "sequences": [
    ]
}

Update a part's sequences step

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

part_id
required
integer

Part Id

Request Body schema: application/json

sequences to update

stepId
integer >= 1
required
Array of objects

Responses

Request samples

Content type
application/json
{
  • "stepId": 1,
  • "sequences": [
    ]
}

Response samples

Content type
application/json
{
  • "code": "VALIDATION_ERROR",
  • "message": "Field validation error",
  • "moreInfo": [
    ]
}

Part Workflow

Update part workflow

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

part_id
required
integer

Part Id

workflow_id
required
integer

Workflow Instance Id

Request Body schema: application/json
description
string or null
name
string

Responses

Request samples

Content type
application/json
{
  • "description": "string",
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "description": "string",
  • "id": 1,
  • "name": "string",
  • "statuses": [
    ]
}

Delete part workflow

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

part_id
required
integer

Part Id

workflow_id
required
integer

Workflow Instance Id

Responses

Create Workflow Status

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

part_id
required
integer

Part Id

workflow_id
required
integer

Workflow Instance Id

Request Body schema: application/json
workflowStepId
required
integer >= 1
description
string or null
estimatedDuration
required
integer or null >= 0
position
integer >= 0
productionSheet
required
boolean
possibleWorkstations
required
Array of integers

Responses

Request samples

Content type
application/json
{
  • "workflowStepId": 1,
  • "description": "string",
  • "estimatedDuration": 0,
  • "position": 0,
  • "productionSheet": true,
  • "possibleWorkstations": [
    ]
}

Response samples

Content type
application/json
{
  • "description": "string",
  • "name": "string",
  • "id": 1,
  • "statuses": [
    ]
}

Workflow Status update

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

part_id
required
integer

Part Id

workflow_id
required
integer

Workflow Instance Id

workflow_status_id
required
integer

Workflow Status Id

Request Body schema: application/json
description
string or null
workflowStepId
integer >= 1
estimatedDuration
integer or null >= 0
position
integer >= 0
productionSheet
boolean
possibleWorkstations
Array of integers

Responses

Request samples

Content type
application/json
{
  • "description": "string",
  • "workflowStepId": 1,
  • "estimatedDuration": 0,
  • "position": 0,
  • "productionSheet": true,
  • "possibleWorkstations": [
    ]
}

Response samples

Content type
application/json
{
  • "description": "string",
  • "id": 1,
  • "name": "string",
  • "statuses": [
    ]
}

Workflow Status update

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

part_id
required
integer

Part Id

workflow_id
required
integer

Workflow Instance Id

workflow_status_id
required
integer

Workflow Status Id

Responses

Jobs

Job create

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

Request Body schema: application/json
workstationId
required
integer >= 1
name
string or null
startTime
string or null <date-time>
finishTime
string or null <date-time>
required
Array of objects (IdAndAmountSequenceRepresentation)

Responses

Request samples

Content type
application/json
{
  • "workstationId": 1,
  • "name": "string",
  • "startTime": "2019-08-24T14:15:22Z",
  • "finishTime": "2019-08-24T14:15:22Z",
  • "sequences": [
    ]
}

Response samples

Content type
application/json
{
  • "workstationId": 1,
  • "name": "string",
  • "startTime": "2019-08-24T14:15:22Z",
  • "finishTime": "2019-08-24T14:15:22Z",
  • "id": 1,
  • "createdAt": "2019-08-24T14:15:22Z",
  • "duration": 0,
  • "createdByName": "string",
  • "workstationName": "string",
  • "workstationDescription": "string",
  • "attachments": [
    ],
  • "materials": [
    ],
  • "machineJob": {
    },
  • "buildFileAttachment": {
    },
  • "suitableMaterialLots": [
    ],
  • "jobRequirements": {
    },
  • "sequences": [
    ],
  • "employees": [
    ],
  • "materialLots": [
    ],
  • "instructions": "string",
  • "processParameters": "string",
  • "status": "unscheduled"
}

Job list

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

query Parameters
ordering
string-?\w+(,-?\w+)*
Example: ordering=ordering=-datetime_placed,number

Fields to order the result set by. To use descending order, prefix the field name with a - (minus, dash). Multiple fields are separated by a comma.

search
string
Example: search=Order 100007

String to search for in all relevant fields

page
integer >= 1

Page number to render. The number of pages is the count in the result set, divided by page size.

pageSize
integer multiple of 5 [ 10 .. 100 ]

Number of results per page.

dateGte
string\d{4}-\d{2}-\d{2}
Example: dateGte=2021-07-30

Date greater than or equal.

dateLte
string\d{4}-\d{2}-\d{2}
Example: dateLte=2021-07-30

Date less than or equal.

materialId
Array of integers[ items >= 1 ]
Example: materialId=1&materialId=2

Material Id to filter by. You can pass multiple.

userId
Array of integers[ items >= 1 ]
Example: userId=1&userId=2

User Id to filter by. You can pass multiple.

workstationId
Array of integers[ items >= 1 ]
Example: workstationId=1&workstationId=2

Workstation Id to filter by. You can pass multiple.

jobStatusName
Array of strings
Items Enum: "Unscheduled" "Started" "Scheduled" "Finished" "Scrapped" "Recreated"
Example: jobStatusName=Started&jobStatusName=Scheduled

Job Status to filter by. You can pass multiple.

assigneeId
Array of integers[ items >= 1 ]
Example: assigneeId=1&assigneeId=2

Assignee Id to filter by. You can pass multiple.

internalLotNumber
Array of strings[ items >= 1 ]
Example: internalLotNumber=2024011100001&internalLotNumber=2024011100072

Internal lot number of material lot to filter by. You can pass multiple.

Responses

Response samples

Content type
application/json
{
  • "count": 42,
  • "currentPage": 42,
  • "totalPages": 50,
  • "pageSize": 30,
  • "results": [
    ]
}

Job Detail Get

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

job_id
required
integer

Job Id

Responses

Response samples

Content type
application/json
{
  • "workstationId": 1,
  • "name": "string",
  • "startTime": "2019-08-24T14:15:22Z",
  • "finishTime": "2019-08-24T14:15:22Z",
  • "id": 1,
  • "createdAt": "2019-08-24T14:15:22Z",
  • "duration": 0,
  • "createdByName": "string",
  • "workstationName": "string",
  • "workstationDescription": "string",
  • "attachments": [
    ],
  • "materials": [
    ],
  • "machineJob": {
    },
  • "buildFileAttachment": {
    },
  • "suitableMaterialLots": [
    ],
  • "jobRequirements": {
    },
  • "sequences": [
    ],
  • "employees": [
    ],
  • "materialLots": [
    ],
  • "instructions": "string",
  • "processParameters": "string",
  • "status": "unscheduled"
}

Job Detail Patch

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

job_id
required
integer

Job Id

Request Body schema: application/json
workstationId
integer >= 1
name
string or null
startTime
string or null <date-time>
finishTime
string or null <date-time>
duration
integer or null >= 0
Array of objects (IdAndAmountSequenceRepresentation)
Array of objects (ShortObjectRepresentation)
Array of objects (ShortObjectRepresentation)
instructions
string or null
processParameters
string or null
status
string
Enum: "scheduled" "started" "scrapped" "finished"

Responses

Request samples

Content type
application/json
{
  • "workstationId": 1,
  • "name": "string",
  • "startTime": "2019-08-24T14:15:22Z",
  • "finishTime": "2019-08-24T14:15:22Z",
  • "duration": 0,
  • "sequences": [
    ],
  • "employees": [
    ],
  • "materialLots": [
    ],
  • "instructions": "string",
  • "processParameters": "string",
  • "status": "scheduled"
}

Response samples

Content type
application/json
{
  • "workstationId": 1,
  • "name": "string",
  • "startTime": "2019-08-24T14:15:22Z",
  • "finishTime": "2019-08-24T14:15:22Z",
  • "id": 1,
  • "createdAt": "2019-08-24T14:15:22Z",
  • "duration": 0,
  • "createdByName": "string",
  • "workstationName": "string",
  • "workstationDescription": "string",
  • "attachments": [
    ],
  • "materials": [
    ],
  • "machineJob": {
    },
  • "buildFileAttachment": {
    },
  • "suitableMaterialLots": [
    ],
  • "jobRequirements": {
    },
  • "sequences": [
    ],
  • "employees": [
    ],
  • "materialLots": [
    ],
  • "instructions": "string",
  • "processParameters": "string",
  • "status": "unscheduled"
}

Job Detail Delete

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

job_id
required
integer

Job Id

Responses

Job Recreate

Create a copy of a scrapped job and modify it's status to "recreated"

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

job_id
required
integer

Job Id

Request Body schema: application/json
startTime
required
string <date-time>
finishTime
required
string <date-time>

Responses

Request samples

Content type
application/json
{
  • "startTime": "2019-08-24T14:15:22Z",
  • "finishTime": "2019-08-24T14:15:22Z"
}

Response samples

Content type
application/json
{
  • "originalJob": {
    },
  • "clonedJob": {
    }
}

Import CSV file for job creation

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

Request Body schema: multipart/form-data
workstationId
required
integer
file
required
string <binary>

Responses

Response samples

Content type
application/json
{
  • "sequences": [
    ],
  • "report": [
    ]
}

Create Job Attachment

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

job_id
required
integer

Job Id

Request Body schema: multipart/form-data
jobId
integer
file
string <binary>

Responses

Response samples

Content type
application/json
{
  • "jobId": 0,
  • "file": "string"
}

JobAttachment delete

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

job_id
required
integer

Job Id

job_attachment_id
required
integer

Job Attachment Id

Responses

JobBuildFileAttachment delete

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

job_id
required
integer

Job Id

Responses

Export Jobs to CSV

Export a csv containing jobs information.

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

query Parameters
ordering
string-?\w+(,-?\w+)*
Example: ordering=ordering=-datetime_placed,number

Fields to order the result set by. To use descending order, prefix the field name with a - (minus, dash). Multiple fields are separated by a comma.

search
string
Example: search=Order 100007

String to search for in all relevant fields

dateGte
string\d{4}-\d{2}-\d{2}
Example: dateGte=2021-07-30

Date greater than or equal.

dateLte
string\d{4}-\d{2}-\d{2}
Example: dateLte=2021-07-30

Date less than or equal.

materialId
Array of integers[ items >= 1 ]
Example: materialId=1&materialId=2

Material Id to filter by. You can pass multiple.

userId
Array of integers[ items >= 1 ]
Example: userId=1&userId=2

User Id to filter by. You can pass multiple.

workstationId
Array of integers[ items >= 1 ]
Example: workstationId=1&workstationId=2

Workstation Id to filter by. You can pass multiple.

jobStatusName
Array of strings
Items Enum: "Unscheduled" "Started" "Scheduled" "Finished" "Scrapped" "Recreated"
Example: jobStatusName=Started&jobStatusName=Scheduled

Job Status to filter by. You can pass multiple.

assigneeId
Array of integers[ items >= 1 ]
Example: assigneeId=1&assigneeId=2

Assignee Id to filter by. You can pass multiple.

internalLotNumber
Array of strings[ items >= 1 ]
Example: internalLotNumber=2024011100001&internalLotNumber=2024011100072

Internal lot number of material lot to filter by. You can pass multiple.

Responses

Job Sequence List

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

query Parameters
ordering
string-?\w+(,-?\w+)*
Example: ordering=ordering=-datetime_placed,number

Fields to order the result set by. To use descending order, prefix the field name with a - (minus, dash). Multiple fields are separated by a comma.

materialId
Array of integers[ items >= 1 ]
Example: materialId=1&materialId=2

Material Id to filter by. You can pass multiple.

technologyId
Array of integers[ items >= 1 ]
Example: technologyId=1&technologyId=2

Technology Id to filter by. You can pass multiple.

workstationId
Array of integers[ items >= 1 ]
Example: workstationId=1&workstationId=2

Workstation Id to filter by. You can pass multiple.

dateGte
string\d{4}-\d{2}-\d{2}
Example: dateGte=2021-07-30

Date greater than or equal.

dateLte
string\d{4}-\d{2}-\d{2}
Example: dateLte=2021-07-30

Date less than or equal.

statusName
Array of strings
Example: statusName=pending&statusName=printing

Status to filter by. You can pass multiple.

processingTitle
Array of strings
Example: processingTitle=polishing&processingTitle=coloring

Post-processing title to filter by. You can pass multiple.

excludeSequenceId
integer >= 1

Sequence Id to exclude while filtering

excludeJobId
integer >= 1

Job Id to exclude while filtering

inWorkstationStep
boolean
Default: false

Include only sequences in the correct step for the selected workstation

partId
integer >= 1

Part Id to filter by, pass multiple in the following format - ?partId=3&partId=6

fromTime
string

A date-time from which the time slot for the new job should start. Should be used in conjunction with 'duration' query param

duration
integer >= 0

A duration to define the time slot for the new job in minutes. Should be used in conjunction with 'fromTime' query param

Responses

Response samples

Content type
application/json
{
  • "count": 42,
  • "currentPage": 42,
  • "totalPages": 50,
  • "pageSize": 30,
  • "results": [
    ]
}

Scrap sequences or an amount of a sequences from a job

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

job_id
required
integer

Job Id

Request Body schema: application/json

sequences to scrap

scrapLeftoverQuantity
boolean
required
Array of objects

Responses

Request samples

Content type
application/json
{
  • "scrapLeftoverQuantity": true,
  • "sequences": [
    ]
}

Response samples

Content type
application/json
{
  • "code": "VALIDATION_ERROR",
  • "message": "Field validation error",
  • "moreInfo": [
    ]
}

MES Workflow

Workflow Template List

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Workflow Template details

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

workflow_template_id
required
integer

Workflow Template Id

Responses

Response samples

Content type
application/json
{
  • "description": "string",
  • "name": "string",
  • "id": 1,
  • "statuses": [
    ]
}

Create Workflow Template Status

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

workflow_template_id
required
integer

Workflow Template Id

Request Body schema: application/json
workflowStepId
required
integer >= 1
description
string or null
estimatedDuration
required
integer or null >= 0
position
integer >= 0
productionSheet
required
boolean
possibleWorkstations
required
Array of integers

Responses

Request samples

Content type
application/json
{
  • "workflowStepId": 1,
  • "description": "string",
  • "estimatedDuration": 0,
  • "position": 0,
  • "productionSheet": true,
  • "possibleWorkstations": [
    ]
}

Response samples

Content type
application/json
{
  • "description": "string",
  • "name": "string",
  • "id": 1,
  • "statuses": [
    ]
}

Workflow Template Status update

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

workflow_template_id
required
integer

Workflow Template Id

workflow_template_status_id
required
integer

Workflow Template Status Id

Request Body schema: application/json
description
string or null
workflowStepId
integer >= 1
estimatedDuration
integer or null >= 0
position
integer >= 0
productionSheet
boolean
possibleWorkstations
Array of integers

Responses

Request samples

Content type
application/json
{
  • "description": "string",
  • "workflowStepId": 1,
  • "estimatedDuration": 0,
  • "position": 0,
  • "productionSheet": true,
  • "possibleWorkstations": [
    ]
}

Response samples

Content type
application/json
{
  • "description": "string",
  • "name": "string",
  • "id": 1,
  • "statuses": [
    ]
}

Workflow Step Template List

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Workflow Step details

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

workflow_step_id
required
integer

Workflow Step Id

Responses

Response samples

Content type
application/json
{
  • "id": 1,
  • "name": "string",
  • "category": "printing",
  • "processingType": "single",
  • "isAutomated": true
}

Workstations

Workstations List

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

query Parameters
partIds
integer >= 1

Part Ids for wich materials to get compatible workstations. Pass multiple in the following format - ?partIds=21&partIds=38.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create workstation

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

Request Body schema: application/json
allowRepeatedPartSequenceScheduling
boolean
name
required
string
dimensionX
required
integer
dimensionY
required
integer
dimensionZ
required
integer
required
Array of objects (Material)
description
string or null
boundingBox3d
boolean or null
showInScheduler
boolean
type
string
Enum: "printing" "processing" "other"
Array of objects (Material)
form
integer or null >= 1
technology
integer or null >= 1

Responses

Request samples

Content type
application/json
{
  • "allowRepeatedPartSequenceScheduling": true,
  • "name": "string",
  • "dimensionX": 0,
  • "dimensionY": 0,
  • "dimensionZ": 0,
  • "materials": [
    ],
  • "description": "string",
  • "boundingBox3d": true,
  • "showInScheduler": true,
  • "type": "printing",
  • "currentMaterials": [
    ],
  • "form": 1,
  • "technology": 1
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "unreadCount": 0,
  • "runningMachineJobId": 0,
  • "nextMesJobId": 0,
  • "machine": {
    },
  • "currentMaterials": [
    ],
  • "order": 0,
  • "allowRepeatedPartSequenceScheduling": true,
  • "name": "string",
  • "description": "string",
  • "boundingBox3d": true,
  • "dimensionX": 0,
  • "dimensionY": 0,
  • "dimensionZ": 0,
  • "materials": [
    ],
  • "showInScheduler": true,
  • "type": "printing",
  • "volume": 0,
  • "form": 1,
  • "technology": 1
}

Workstation events list

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

query Parameters
fromTime
required
string

A date-time from which to filter the list

toTime
required
string

A date-time to which to filter the list

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Workstation detail

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

workstation_id
required
integer

Workstation Id

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "unreadCount": 0,
  • "runningMachineJobId": 0,
  • "nextMesJobId": 0,
  • "machine": {
    },
  • "currentMaterials": [
    ],
  • "order": 0,
  • "allowRepeatedPartSequenceScheduling": true,
  • "name": "string",
  • "description": "string",
  • "boundingBox3d": true,
  • "dimensionX": 0,
  • "dimensionY": 0,
  • "dimensionZ": 0,
  • "materials": [
    ],
  • "showInScheduler": true,
  • "type": "printing",
  • "volume": 0,
  • "form": 1,
  • "technology": 1
}

Update workstation

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

workstation_id
required
integer

Workstation Id

Request Body schema: application/json
allowRepeatedPartSequenceScheduling
boolean
name
string
dimensionX
integer
dimensionY
integer
dimensionZ
integer
Array of objects (Material)
description
string or null
boundingBox3d
boolean or null
showInScheduler
boolean
type
string
Enum: "printing" "processing" "other"
Array of objects (Material)
form
integer or null >= 1
technology
integer or null >= 1

Responses

Request samples

Content type
application/json
{
  • "allowRepeatedPartSequenceScheduling": true,
  • "name": "string",
  • "dimensionX": 0,
  • "dimensionY": 0,
  • "dimensionZ": 0,
  • "materials": [
    ],
  • "description": "string",
  • "boundingBox3d": true,
  • "showInScheduler": true,
  • "type": "printing",
  • "currentMaterials": [
    ],
  • "form": 1,
  • "technology": 1
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "unreadCount": 0,
  • "runningMachineJobId": 0,
  • "nextMesJobId": 0,
  • "machine": {
    },
  • "currentMaterials": [
    ],
  • "order": 0,
  • "allowRepeatedPartSequenceScheduling": true,
  • "name": "string",
  • "description": "string",
  • "boundingBox3d": true,
  • "dimensionX": 0,
  • "dimensionY": 0,
  • "dimensionZ": 0,
  • "materials": [
    ],
  • "showInScheduler": true,
  • "type": "printing",
  • "volume": 0,
  • "form": 1,
  • "technology": 1
}

Workstation delete

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

workstation_id
required
integer

Workstation Id

Responses

Swap the order of two workstations based on IDs

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

Request Body schema: application/json
fromWorkstationId
required
integer
toWorkstationId
required
integer
insertAfter
required
boolean

Responses

Request samples

Content type
application/json
{
  • "fromWorkstationId": 0,
  • "toWorkstationId": 0,
  • "insertAfter": true
}

Response samples

Content type
application/json
{ }

Get workstation next free time slot

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

workstation_id
required
integer

Workstation Id

query Parameters
fromTime
required
string

A date-time from which to find free time

duration
required
integer >= 1

A duration to define the free time slot

excludeJobId
integer >= 1

A job id to exclude in the search

excludeReservedTimeId
integer >= 1

A reserved time id to exclude in the search

Responses

Response samples

Content type
application/json
{
  • "freeTime": "2019-08-24T14:15:22Z"
}

Create workstation reserved-time

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

workstation_id
required
integer

Workstation Id

Request Body schema: application/json
workstationId
required
integer >= 1
description
required
string
name
required
string
startTime
required
string <date-time>
finishTime
required
string <date-time>

Responses

Request samples

Content type
application/json
{
  • "workstationId": 1,
  • "description": "string",
  • "name": "string",
  • "startTime": "2019-08-24T14:15:22Z",
  • "finishTime": "2019-08-24T14:15:22Z"
}

Response samples

Content type
application/json
{
  • "workstationId": 1,
  • "description": "string",
  • "name": "string",
  • "startTime": "2019-08-24T14:15:22Z",
  • "finishTime": "2019-08-24T14:15:22Z",
  • "id": 1,
  • "duration": 1
}

Get workstation reserved-time

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

workstation_id
required
integer

Workstation Id

reserved_time_id
required
integer

Reserved Time Id

Responses

Response samples

Content type
application/json
{
  • "workstationId": 1,
  • "description": "string",
  • "name": "string",
  • "startTime": "2019-08-24T14:15:22Z",
  • "finishTime": "2019-08-24T14:15:22Z",
  • "id": 1,
  • "duration": 1
}

Update workstation reserved-time

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

workstation_id
required
integer

Workstation Id

reserved_time_id
required
integer

Reserved Time Id

Request Body schema: application/json
workstationId
integer >= 1
description
string
name
string
startTime
string <date-time>
finishTime
string <date-time>

Responses

Request samples

Content type
application/json
{
  • "workstationId": 1,
  • "description": "string",
  • "name": "string",
  • "startTime": "2019-08-24T14:15:22Z",
  • "finishTime": "2019-08-24T14:15:22Z"
}

Response samples

Content type
application/json
{
  • "workstationId": 1,
  • "description": "string",
  • "name": "string",
  • "startTime": "2019-08-24T14:15:22Z",
  • "finishTime": "2019-08-24T14:15:22Z",
  • "id": 1,
  • "duration": 1
}

Delete workstation reserved-time

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

workstation_id
required
integer

Workstation Id

reserved_time_id
required
integer

Reserved Time Id

Responses

Update associated machine for specific workstation

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

workstation_id
required
integer

Workstation Id

Request Body schema: application/json
machineId
required
integer or null

Responses

Request samples

Content type
application/json
{
  • "machineId": 0
}

Response samples

Content type
application/json
{
  • "machineId": 0
}

Machine Connectivity

Get associated machine for specific workstation

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

workstation_id
required
integer

Workstation Id

Responses

Response samples

Content type
application/json
{
  • "machineId": 0
}

Available Machines

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Machine details

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

machine_id
required
integer

Machine Id

Responses

Response samples

Content type
application/json
{
  • "activity": "string",
  • "customName": "string",
  • "dummy": true,
  • "id": 0,
  • "light": "string",
  • "machineId": "string",
  • "online": true,
  • "alwaysVisible": true,
  • "machineAddress": "string",
  • "workstationId": 0
}

Get unread machine events

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

machine_id
required
integer

Machine Id

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Material Lots

MaterialLots List

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

query Parameters
page
integer >= 1

Page number to render. The number of pages is the count in the result set, divided by page size.

pageSize
integer multiple of 5 [ 10 .. 100 ]

Number of results per page.

ordering
string-?\w+(,-?\w+)*
Example: ordering=ordering=-datetime_placed,number

Fields to order the result set by. To use descending order, prefix the field name with a - (minus, dash). Multiple fields are separated by a comma.

search
string
Example: search=Order 100007

String to search for in all relevant fields

materialForm
Array of strings

Used to retrieve Products with given materialForm. You can filter multiple.

materialId
Array of integers[ items >= 1 ]
Example: materialId=1&materialId=2

Material Id to filter by. You can pass multiple.

technologyId
Array of integers[ items >= 1 ]
Example: technologyId=1&technologyId=2

Technology Id to filter by. You can pass multiple.

Responses

Response samples

Content type
application/json
{
  • "count": 42,
  • "currentPage": 42,
  • "totalPages": 50,
  • "pageSize": 30,
  • "results": [
    ]
}

Material Lot detail

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

material_lot_id
required
integer

Material Lot Id

Responses

Response samples

Content type
application/json
{
  • "id": 1,
  • "amount": "string",
  • "amountLastModifiedAt": "2019-08-24T14:15:22Z",
  • "amountLastModifiedBy": {
    },
  • "attachments": [
    ],
  • "createdAt": "2019-08-24T14:15:22Z",
  • "createdBy": {
    },
  • "externalLotId": "string",
  • "internalLotNumber": "string",
  • "material": {
    },
  • "materialForm": "powder",
  • "technologies": [
    ]
}

Create MaterialLotAttachment

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

material_lot_id
required
integer

Material Lot Id

Request Body schema: multipart/form-data
file
string <binary>

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "added": "string",
  • "filesize": 0,
  • "name": "string",
  • "uploader": {
    },
  • "url": "string"
}

MaterialLotAttachment Detail

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

material_lot_id
required
integer

Material Lot Id

material_lot_attachment_id
required
integer

Material Lot Attachment Id

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "added": "string",
  • "filesize": 0,
  • "name": "string",
  • "uploader": {
    },
  • "url": "string"
}

Organization Users

The Organization Users endpoints are for creating and updating User information. In order to use those endpoints, the user with the ApiToken needs to have the "Organization Admin" Role.

List Users

Returns a list of organization users.

The default page size is 10. Page 1 is rendered if no page number is provided.

query Parameters
page
integer >= 1

Page number to render. The number of pages is the count in the result set, divided by page size.

pageSize
integer multiple of 5 [ 10 .. 100 ]

Number of results per page.

search
string
Example: search=Order 100007

String to search for in all relevant fields

ordering
string-?\w+(,-?\w+)*
Example: ordering=ordering=-datetime_placed,number

Fields to order the result set by. To use descending order, prefix the field name with a - (minus, dash). Multiple fields are separated by a comma.

Responses

Response samples

Content type
application/json
{
  • "count": 42,
  • "currentPage": 42,
  • "totalPages": 50,
  • "pageSize": 30,
  • "results": [
    ]
}

Create User

Creates and returns an organization user.

Request Body schema: application/json
email
required
string
firstName
string or null
lastName
string or null
isActive
boolean
Default: true

Responses

Request samples

Content type
application/json
{
  • "email": "string",
  • "firstName": "string",
  • "lastName": "string",
  • "isActive": true
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "email": "string",
  • "firstName": "string",
  • "lastName": "string",
  • "isActive": true
}

Get User

Returns an organization user - this includes his default address and some info from his user profile, plus a count of addresses. Displayed to org admins in the org panel user mgmt section.

path Parameters
user_id
required
integer

User Id

Responses

Response samples

Content type
application/json
{
  • "id": "2",
  • "addressCount": 1,
  • "avatar": "string",
  • "dateJoined": "2020-08-21T17:50:35.354652Z",
  • "email": "string",
  • "firstName": "string",
  • "lastName": "string",
  • "fullName": "string",
  • "isVerified": true,
  • "roles": [
    ],
  • "organization": "string",
  • "canUseServicePanel": true,
  • "defaultAddress": {
    },
  • "defaultAddressId": 0,
  • "customerNumber": "string",
  • "lastLogin": "2019-08-24T14:15:22Z",
  • "secondLastLogin": "2019-08-24T14:15:22Z",
  • "verifiedStatus": "pending",
  • "customerGroup": {
    }
}

Update User

path Parameters
user_id
required
integer

User Id

Request Body schema: application/json
customerNumber
string
verifiedStatus
string
defaultAddressId
integer or null
firstName
string
lastName
string
avatar
string or null

Responses

Request samples

Content type
application/json
{
  • "customerNumber": "string",
  • "verifiedStatus": "string",
  • "defaultAddressId": 0,
  • "firstName": "string",
  • "lastName": "string",
  • "avatar": "string"
}

Response samples

Content type
application/json
{
  • "id": "2",
  • "addressCount": 1,
  • "avatar": "string",
  • "dateJoined": "2020-08-21T17:50:35.354652Z",
  • "email": "string",
  • "firstName": "string",
  • "lastName": "string",
  • "fullName": "string",
  • "isVerified": true,
  • "roles": [
    ],
  • "organization": "string",
  • "canUseServicePanel": true,
  • "defaultAddress": {
    },
  • "defaultAddressId": 0,
  • "customerNumber": "string",
  • "lastLogin": "2019-08-24T14:15:22Z",
  • "secondLastLogin": "2019-08-24T14:15:22Z",
  • "verifiedStatus": "pending",
  • "customerGroup": {
    }
}

Delete User

path Parameters
user_id
required
integer

User Id

Responses

Response samples

Content type
application/json
{
  • "id": "2",
  • "addressCount": 1,
  • "avatar": "string",
  • "dateJoined": "2020-08-21T17:50:35.354652Z",
  • "email": "string",
  • "firstName": "string",
  • "lastName": "string",
  • "fullName": "string",
  • "isVerified": true,
  • "roles": [
    ],
  • "organization": "string",
  • "canUseServicePanel": true,
  • "defaultAddress": {
    },
  • "defaultAddressId": 0,
  • "customerNumber": "string",
  • "lastLogin": "2019-08-24T14:15:22Z",
  • "secondLastLogin": "2019-08-24T14:15:22Z",
  • "verifiedStatus": "pending",
  • "customerGroup": {
    }
}

Get Address

path Parameters
address_id
required
integer

Address Id

user_id
required
integer

User Id

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "city": "Munich",
  • "companyName": "3Yourmind",
  • "country": "DE",
  • "department": "string",
  • "firstName": "John",
  • "lastName": "Doe",
  • "line1": "Sample Street 1",
  • "line2": "",
  • "phoneNumber": "+4912345678",
  • "state": "Bavaria",
  • "title": "Mr.",
  • "vatId": "DE123456789",
  • "zipCode": "12345"
}

Update Address

path Parameters
address_id
required
integer

Address Id

user_id
required
integer

User Id

Request Body schema: application/json
city
string
companyName
string or null
country
string
department
string or null
firstName
string
lastName
string
line1
string
line2
string or null
phoneNumber
string
state
string or null
title
string or null
vatId
string or null
zipCode
string

Responses

Request samples

Content type
application/json
{
  • "city": "Munich",
  • "companyName": "3Yourmind",
  • "country": "DE",
  • "department": "string",
  • "firstName": "John",
  • "lastName": "Doe",
  • "line1": "Sample Street 1",
  • "line2": "",
  • "phoneNumber": 4912345678,
  • "state": "Bavaria",
  • "title": "Mr.",
  • "vatId": "DE123456789",
  • "zipCode": 12345
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "city": "Munich",
  • "companyName": "3Yourmind",
  • "country": "DE",
  • "department": "string",
  • "firstName": "John",
  • "lastName": "Doe",
  • "line1": "Sample Street 1",
  • "line2": "",
  • "phoneNumber": "+4912345678",
  • "state": "Bavaria",
  • "title": "Mr.",
  • "vatId": "DE123456789",
  • "zipCode": "12345"
}

List Addresses

path Parameters
user_id
required
integer

User Id

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create Address

path Parameters
user_id
required
integer

User Id

Request Body schema: application/json
city
required
string
companyName
required
string or null
country
required
string
department
required
string or null
firstName
required
string
lastName
required
string
line1
required
string
line2
required
string or null
phoneNumber
required
string
state
required
string or null
title
required
string or null
vatId
required
string or null
zipCode
required
string

Responses

Request samples

Content type
application/json
{
  • "city": "Munich",
  • "companyName": "3Yourmind",
  • "country": "DE",
  • "department": "string",
  • "firstName": "John",
  • "lastName": "Doe",
  • "line1": "Sample Street 1",
  • "line2": "",
  • "phoneNumber": "+4912345678",
  • "state": "Bavaria",
  • "title": "Mr.",
  • "vatId": "DE123456789",
  • "zipCode": "12345"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "city": "Munich",
  • "companyName": "3Yourmind",
  • "country": "DE",
  • "department": "string",
  • "firstName": "John",
  • "lastName": "Doe",
  • "line1": "Sample Street 1",
  • "line2": "",
  • "phoneNumber": "+4912345678",
  • "state": "Bavaria",
  • "title": "Mr.",
  • "vatId": "DE123456789",
  • "zipCode": "12345"
}

Get Users Preferences

Get preferences for the specified user.

path Parameters
user_id
required
integer

User Id

Responses

Response samples

Content type
application/json
{
  • "country": "DE",
  • "currency": "EUR",
  • "language": "en",
  • "unit": "mm"
}

Update Users Preferences

path Parameters
user_id
required
integer

User Id

Request Body schema: application/json

One or more attributes of the user preferences

Any of
country
required
string = 2 characters

A country code conforming to alpha2 as specified by ISO-3166-1

unit
required
string (Unit)
Enum: "mm" "inch"
currency
required
string (Currency)
Enum: "AUD" "CAD" "CHF" "CNY" "CZK" "DKK" "EUR" "GBP" "HUF" "IDR" "JPY" "MYR" "NOK" "PLN" "RUB" "SEK" "SGD" "TRY" "USD" "ZAR"

Currency code (3-letter variation) as defined by ISO 4217:2015. The supported currencies are listed here.

language
required
string (Language)
Enum: "de" "en" "es" "fr" "it" "ja" "pl"

Lower case language code as defined by ISO 639-1:2002, Part 1 (two-letter codes). The currently supported languages are listed here.

Responses

Request samples

Content type
application/json
{
  • "country": "DE",
  • "currency": "EUR",
  • "language": "en",
  • "unit": "mm"
}

Response samples

Content type
application/json
{
  • "country": "DE",
  • "currency": "EUR",
  • "language": "en",
  • "unit": "mm"
}

User Profile

Get a User Profile Object

Returns a user profile object.

Responses

Response samples

Content type
application/json
{
  • "id": "2",
  • "addressCount": 1,
  • "avatar": "string",
  • "dateJoined": "2020-08-21T17:50:35.354652Z",
  • "email": "string",
  • "firstName": "string",
  • "lastName": "string",
  • "fullName": "string",
  • "isVerified": true,
  • "roles": [
    ],
  • "organization": "string",
  • "canUseServicePanel": true,
  • "defaultAddress": {
    },
  • "defaultAddressId": 0,
  • "customerNumber": "string",
  • "lastLogin": "2019-08-24T14:15:22Z",
  • "secondLastLogin": "2019-08-24T14:15:22Z",
  • "verifiedStatus": "pending",
  • "customerGroup": {
    }
}

Update a user's profile

Returns a user profile object.

Request Body schema: application/json
avatar
string or null
firstName
string or null
lastName
string or null
defaultAddressId
integer or null
customerNumber
string or null
object or null (CustomerGroupNullable)

Responses

Request samples

Content type
application/json
{
  • "avatar": "string",
  • "firstName": "string",
  • "lastName": "string",
  • "defaultAddressId": 0,
  • "customerNumber": "string",
  • "customerGroup": {
    }
}

Response samples

Content type
application/json
{
  • "id": "2",
  • "addressCount": 1,
  • "avatar": "string",
  • "dateJoined": "2020-08-21T17:50:35.354652Z",
  • "email": "string",
  • "firstName": "string",
  • "lastName": "string",
  • "fullName": "string",
  • "isVerified": true,
  • "roles": [
    ],
  • "organization": "string",
  • "canUseServicePanel": true,
  • "defaultAddress": {
    },
  • "defaultAddressId": 0,
  • "customerNumber": "string",
  • "lastLogin": "2019-08-24T14:15:22Z",
  • "secondLastLogin": "2019-08-24T14:15:22Z",
  • "verifiedStatus": "pending",
  • "customerGroup": {
    }
}

Update a user's profile

Returns a user profile object.

Request Body schema: application/json
avatar
string or null
firstName
string or null
lastName
string or null
defaultAddressId
integer or null
customerNumber
string or null
object or null (CustomerGroupNullable)

Responses

Request samples

Content type
application/json
{
  • "avatar": "string",
  • "firstName": "string",
  • "lastName": "string",
  • "defaultAddressId": 0,
  • "customerNumber": "string",
  • "customerGroup": {
    }
}

Response samples

Content type
application/json
{
  • "id": "2",
  • "addressCount": 1,
  • "avatar": "string",
  • "dateJoined": "2020-08-21T17:50:35.354652Z",
  • "email": "string",
  • "firstName": "string",
  • "lastName": "string",
  • "fullName": "string",
  • "isVerified": true,
  • "roles": [
    ],
  • "organization": "string",
  • "canUseServicePanel": true,
  • "defaultAddress": {
    },
  • "defaultAddressId": 0,
  • "customerNumber": "string",
  • "lastLogin": "2019-08-24T14:15:22Z",
  • "secondLastLogin": "2019-08-24T14:15:22Z",
  • "verifiedStatus": "pending",
  • "customerGroup": {
    }
}

List Addresses

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create Address

Request Body schema: application/json
city
required
string
companyName
required
string or null
country
required
string
department
required
string or null
firstName
required
string
lastName
required
string
line1
required
string
line2
required
string or null
phoneNumber
required
string
state
required
string or null
title
required
string or null
vatId
required
string or null
zipCode
required
string

Responses

Request samples

Content type
application/json
{
  • "city": "Munich",
  • "companyName": "3Yourmind",
  • "country": "DE",
  • "department": "string",
  • "firstName": "John",
  • "lastName": "Doe",
  • "line1": "Sample Street 1",
  • "line2": "",
  • "phoneNumber": "+4912345678",
  • "state": "Bavaria",
  • "title": "Mr.",
  • "vatId": "DE123456789",
  • "zipCode": "12345"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "city": "Munich",
  • "companyName": "3Yourmind",
  • "country": "DE",
  • "department": "string",
  • "firstName": "John",
  • "lastName": "Doe",
  • "line1": "Sample Street 1",
  • "line2": "",
  • "phoneNumber": "+4912345678",
  • "state": "Bavaria",
  • "title": "Mr.",
  • "vatId": "DE123456789",
  • "zipCode": "12345"
}

Get Address

path Parameters
address_id
required
integer

Address Id

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "city": "Munich",
  • "companyName": "3Yourmind",
  • "country": "DE",
  • "department": "string",
  • "firstName": "John",
  • "lastName": "Doe",
  • "line1": "Sample Street 1",
  • "line2": "",
  • "phoneNumber": "+4912345678",
  • "state": "Bavaria",
  • "title": "Mr.",
  • "vatId": "DE123456789",
  • "zipCode": "12345"
}

Update Address

path Parameters
address_id
required
integer

Address Id

Request Body schema: application/json
city
required
string
companyName
required
string or null
country
required
string
department
required
string or null
firstName
required
string
lastName
required
string
line1
required
string
line2
required
string or null
phoneNumber
required
string
state
required
string or null
title
required
string or null
vatId
required
string or null
zipCode
required
string

Responses

Request samples

Content type
application/json
{
  • "city": "Munich",
  • "companyName": "3Yourmind",
  • "country": "DE",
  • "department": "string",
  • "firstName": "John",
  • "lastName": "Doe",
  • "line1": "Sample Street 1",
  • "line2": "",
  • "phoneNumber": "+4912345678",
  • "state": "Bavaria",
  • "title": "Mr.",
  • "vatId": "DE123456789",
  • "zipCode": "12345"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "city": "Munich",
  • "companyName": "3Yourmind",
  • "country": "DE",
  • "department": "string",
  • "firstName": "John",
  • "lastName": "Doe",
  • "line1": "Sample Street 1",
  • "line2": "",
  • "phoneNumber": "+4912345678",
  • "state": "Bavaria",
  • "title": "Mr.",
  • "vatId": "DE123456789",
  • "zipCode": "12345"
}

Patch Address

path Parameters
address_id
required
integer

Address Id

Request Body schema: application/json
city
required
string
companyName
required
string or null
country
required
string
department
required
string or null
firstName
required
string
lastName
required
string
line1
required
string
line2
required
string or null
phoneNumber
required
string
state
required
string or null
title
required
string or null
vatId
required
string or null
zipCode
required
string

Responses

Request samples

Content type
application/json
{
  • "city": "Munich",
  • "companyName": "3Yourmind",
  • "country": "DE",
  • "department": "string",
  • "firstName": "John",
  • "lastName": "Doe",
  • "line1": "Sample Street 1",
  • "line2": "",
  • "phoneNumber": "+4912345678",
  • "state": "Bavaria",
  • "title": "Mr.",
  • "vatId": "DE123456789",
  • "zipCode": "12345"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "city": "Munich",
  • "companyName": "3Yourmind",
  • "country": "DE",
  • "department": "string",
  • "firstName": "John",
  • "lastName": "Doe",
  • "line1": "Sample Street 1",
  • "line2": "",
  • "phoneNumber": "+4912345678",
  • "state": "Bavaria",
  • "title": "Mr.",
  • "vatId": "DE123456789",
  • "zipCode": "12345"
}

Delete Address

path Parameters
address_id
required
integer

Address Id

Responses

Get User Preferences

Get the current user preferences.

Responses

Response samples

Content type
application/json
{
  • "country": "DE",
  • "currency": "EUR",
  • "language": "en",
  • "unit": "mm"
}

Update User Preferences

Request Body schema: application/json

One or more attributes of the user preferences

Any of
country
string = 2 characters

A country code conforming to alpha2 as specified by ISO-3166-1

unit
string (Unit)
Enum: "mm" "inch"
currency
string (Currency)
Enum: "AUD" "CAD" "CHF" "CNY" "CZK" "DKK" "EUR" "GBP" "HUF" "IDR" "JPY" "MYR" "NOK" "PLN" "RUB" "SEK" "SGD" "TRY" "USD" "ZAR"

Currency code (3-letter variation) as defined by ISO 4217:2015. The supported currencies are listed here.

language
string (Language)
Enum: "de" "en" "es" "fr" "it" "ja" "pl"

Lower case language code as defined by ISO 639-1:2002, Part 1 (two-letter codes). The currently supported languages are listed here.

Responses

Request samples

Content type
application/json
{
  • "country": "DE",
  • "currency": "EUR",
  • "language": "en",
  • "unit": "mm"
}

Response samples

Content type
application/json
{
  • "country": "DE",
  • "currency": "EUR",
  • "language": "en",
  • "unit": "mm"
}

Addresses

List Addresses

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

user_id
required
integer

User Id

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Delete Address

path Parameters
address_id
required
integer

Address Id

user_id
required
integer

User Id

Responses

List Addresses

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create Address

Request Body schema: application/json
city
required
string
companyName
required
string or null
country
required
string
department
required
string or null
firstName
required
string
lastName
required
string
line1
required
string
line2
required
string or null
phoneNumber
required
string
state
required
string or null
title
required
string or null
vatId
required
string or null
zipCode
required
string

Responses

Request samples

Content type
application/json
{
  • "city": "Munich",
  • "companyName": "3Yourmind",
  • "country": "DE",
  • "department": "string",
  • "firstName": "John",
  • "lastName": "Doe",
  • "line1": "Sample Street 1",
  • "line2": "",
  • "phoneNumber": "+4912345678",
  • "state": "Bavaria",
  • "title": "Mr.",
  • "vatId": "DE123456789",
  • "zipCode": "12345"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "city": "Munich",
  • "companyName": "3Yourmind",
  • "country": "DE",
  • "department": "string",
  • "firstName": "John",
  • "lastName": "Doe",
  • "line1": "Sample Street 1",
  • "line2": "",
  • "phoneNumber": "+4912345678",
  • "state": "Bavaria",
  • "title": "Mr.",
  • "vatId": "DE123456789",
  • "zipCode": "12345"
}

Get Address

path Parameters
address_id
required
integer

Address Id

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "city": "Munich",
  • "companyName": "3Yourmind",
  • "country": "DE",
  • "department": "string",
  • "firstName": "John",
  • "lastName": "Doe",
  • "line1": "Sample Street 1",
  • "line2": "",
  • "phoneNumber": "+4912345678",
  • "state": "Bavaria",
  • "title": "Mr.",
  • "vatId": "DE123456789",
  • "zipCode": "12345"
}

Update Address

path Parameters
address_id
required
integer

Address Id

Request Body schema: application/json
city
required
string
companyName
required
string or null
country
required
string
department
required
string or null
firstName
required
string
lastName
required
string
line1
required
string
line2
required
string or null
phoneNumber
required
string
state
required
string or null
title
required
string or null
vatId
required
string or null
zipCode
required
string

Responses

Request samples

Content type
application/json
{
  • "city": "Munich",
  • "companyName": "3Yourmind",
  • "country": "DE",
  • "department": "string",
  • "firstName": "John",
  • "lastName": "Doe",
  • "line1": "Sample Street 1",
  • "line2": "",
  • "phoneNumber": "+4912345678",
  • "state": "Bavaria",
  • "title": "Mr.",
  • "vatId": "DE123456789",
  • "zipCode": "12345"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "city": "Munich",
  • "companyName": "3Yourmind",
  • "country": "DE",
  • "department": "string",
  • "firstName": "John",
  • "lastName": "Doe",
  • "line1": "Sample Street 1",
  • "line2": "",
  • "phoneNumber": "+4912345678",
  • "state": "Bavaria",
  • "title": "Mr.",
  • "vatId": "DE123456789",
  • "zipCode": "12345"
}

Patch Address

path Parameters
address_id
required
integer

Address Id

Request Body schema: application/json
city
required
string
companyName
required
string or null
country
required
string
department
required
string or null
firstName
required
string
lastName
required
string
line1
required
string
line2
required
string or null
phoneNumber
required
string
state
required
string or null
title
required
string or null
vatId
required
string or null
zipCode
required
string

Responses

Request samples

Content type
application/json
{
  • "city": "Munich",
  • "companyName": "3Yourmind",
  • "country": "DE",
  • "department": "string",
  • "firstName": "John",
  • "lastName": "Doe",
  • "line1": "Sample Street 1",
  • "line2": "",
  • "phoneNumber": "+4912345678",
  • "state": "Bavaria",
  • "title": "Mr.",
  • "vatId": "DE123456789",
  • "zipCode": "12345"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "city": "Munich",
  • "companyName": "3Yourmind",
  • "country": "DE",
  • "department": "string",
  • "firstName": "John",
  • "lastName": "Doe",
  • "line1": "Sample Street 1",
  • "line2": "",
  • "phoneNumber": "+4912345678",
  • "state": "Bavaria",
  • "title": "Mr.",
  • "vatId": "DE123456789",
  • "zipCode": "12345"
}

Delete Address

path Parameters
address_id
required
integer

Address Id

Responses

Preferences

User profile settings and region preferences

Get User Preferences

Get the current user preferences.

Responses

Response samples

Content type
application/json
{
  • "country": "DE",
  • "currency": "EUR",
  • "language": "en",
  • "unit": "mm"
}

Update User Preferences

Request Body schema: application/json

One or more attributes of the user preferences

Any of
country
string = 2 characters

A country code conforming to alpha2 as specified by ISO-3166-1

unit
string (Unit)
Enum: "mm" "inch"
currency
string (Currency)
Enum: "AUD" "CAD" "CHF" "CNY" "CZK" "DKK" "EUR" "GBP" "HUF" "IDR" "JPY" "MYR" "NOK" "PLN" "RUB" "SEK" "SGD" "TRY" "USD" "ZAR"

Currency code (3-letter variation) as defined by ISO 4217:2015. The supported currencies are listed here.

language
string (Language)
Enum: "de" "en" "es" "fr" "it" "ja" "pl"

Lower case language code as defined by ISO 639-1:2002, Part 1 (two-letter codes). The currently supported languages are listed here.

Responses

Request samples

Content type
application/json
{
  • "country": "DE",
  • "currency": "EUR",
  • "language": "en",
  • "unit": "mm"
}

Response samples

Content type
application/json
{
  • "country": "DE",
  • "currency": "EUR",
  • "language": "en",
  • "unit": "mm"
}

ExportCSV

You can export a spreadsheet containing macro data about a 3D project either manually or by means of an API call. The spreadsheets can then be parsed by your receiving system. The spreadsheet contains data about the total price, the shipping address and payment data, see below for details about which exact data is included.

Manual CSV export:

Export multiple projects:

  • In the Service Panel navigate to Projects
  • Click on Export Orders in the upper right corner of the screen
  • Specify the parameter by which your projects should be exported:
    • Date - Set a starting data and an end date to export only orders that were received during that time
    • Status - include only orders that are Pending, Printed, or Shipped
  • The download will start immediately

Export a single project:

  • In the Service Panel go to Projects and select a 3D Project from the list.
  • Click on Export Orders in the upper right corner.
  • The download of the .csv file will start immediately.

CSV export by API: You can export a csv file containing all orders or a set of filtered orders by calling the endpoint documented below.

Export Jobs to CSV

Export a csv containing jobs information.

path Parameters
service_id
required
integer >= 1

Service Id. Unique for every Printing Service

query Parameters
ordering
string-?\w+(,-?\w+)*
Example: ordering=ordering=-datetime_placed,number

Fields to order the result set by. To use descending order, prefix the field name with a - (minus, dash). Multiple fields are separated by a comma.

search
string
Example: search=Order 100007

String to search for in all relevant fields

dateGte
string\d{4}-\d{2}-\d{2}
Example: dateGte=2021-07-30

Date greater than or equal.

dateLte
string\d{4}-\d{2}-\d{2}
Example: dateLte=2021-07-30

Date less than or equal.

materialId
Array of integers[ items >= 1 ]
Example: materialId=1&materialId=2

Material Id to filter by. You can pass multiple.

userId
Array of integers[ items >= 1 ]
Example: userId=1&userId=2

User Id to filter by. You can pass multiple.

workstationId
Array of integers[ items >= 1 ]
Example: workstationId=1&workstationId=2

Workstation Id to filter by. You can pass multiple.

jobStatusName
Array of strings
Items Enum: "Unscheduled" "Started" "Scheduled" "Finished" "Scrapped" "Recreated"
Example: jobStatusName=Started&jobStatusName=Scheduled

Job Status to filter by. You can pass multiple.

assigneeId
Array of integers[ items >= 1 ]
Example: assigneeId=1&assigneeId=2

Assignee Id to filter by. You can pass multiple.

internalLotNumber
Array of strings[ items >= 1 ]
Example: internalLotNumber=2024011100001&internalLotNumber=2024011100072

Internal lot number of material lot to filter by. You can pass multiple.

Responses

Webhooks

3YOURMIND uses an event based Webhook feature to transmit data in real-time. Whenever certain events are triggered, our app sends a JSON object to a URL that can be speified in the admin panel either by your project manager or, for dedicated solutions, by your system admin. To differentiate the different types of events, every event sends its own signature in the field "type". The receiving system's service is responsible to deal with the event accordingly.

You can setup and use this webhook following these steps:

  • Make sure your receiving system (e.g. ERP, CRM, accounting ...) is setup to accept webhooks. You need to create a URL on your receiving system that is ready to accept and process POST requests with a JSON payload.
  • Register your webhook URL in the django admin-panel under Partner webhooks -> Add Partner Webhook
  • Your webhook is good to go. See below which data will be sent via the webhook everytime a checkout is triggered.

Job Finished Webhook

This webhook is fired when a MES Job is finished.

Request Body schema: application/json

Callback payload

id
integer
created
string
apiVersion
string
type
string
object

Responses

Request samples

Content type
application/json
{
  • "id": 1,
  • "created": "2021-02-23T13:48:18.598Z",
  • "apiVersion": "2021-02-15",
  • "type": "job.finished",
  • "data": {
    }
}

Job Scrapped Webhook

This webhook is fired when a MES Job is scrapped.

Request Body schema: application/json

Callback payload

id
integer
created
string
apiVersion
string
type
string
object

Responses

Request samples

Content type
application/json
{
  • "id": 1,
  • "created": "2021-02-23T13:48:18.598Z",
  • "apiVersion": "2021-02-15",
  • "type": "job.scrapped",
  • "data": {
    }
}

Job Started Webhook

This webhook is fired when a MES Job is started.

Request Body schema: application/json

Callback payload

id
integer
created
string
apiVersion
string
type
string
object

Responses

Request samples

Content type
application/json
{
  • "id": 1,
  • "created": "2021-02-23T13:48:18.598Z",
  • "apiVersion": "2021-02-15",
  • "type": "job.started",
  • "data": {
    }
}

Order Created Webhook

This webhook is fired when an order is created.

Request Body schema: application/json

Callback payload

id
integer
created
string
apiVersion
string
type
string
object

Responses

Request samples

Content type
application/json
{
  • "id": 1,
  • "created": "2021-02-23T13:48:18.598Z",
  • "apiVersion": "2021-02-15",
  • "type": "order.created",
  • "data": {
    }
}

Order Accepted in MES Webhook

This webhook is fired when the order is accepted and parts in MES are created.

Request Body schema: application/json

Callback payload

id
integer
created
string
apiVersion
string
type
string
object

Responses

Request samples

Content type
application/json
{
  • "id": 1,
  • "created": "2021-02-23T13:48:18.598Z",
  • "apiVersion": "2021-02-15",
  • "type": "order.mes.accepted",
  • "data": {
    }
}

Order Status Changed Webhook

This webhook is fired when the status of an order is changed.

Request Body schema: application/json

Callback payload

id
integer
created
string
apiVersion
string
type
string
object

Responses

Request samples

Content type
application/json
{
  • "id": 1,
  • "created": "2021-02-23T13:48:18.598Z",
  • "apiVersion": "2021-02-15",
  • "type": "order.status.changed",
  • "data": {
    }
}

Quote Created Webhook

This webhook is fired when a new quote is created.

Request Body schema: application/json

Callback payload

id
integer
created
string
apiVersion
string
type
string
object

Responses

Request samples

Content type
application/json
{
  • "id": 1,
  • "created": "2021-02-23T13:48:18.598Z",
  • "apiVersion": "2021-02-15",
  • "type": "quote.created",
  • "data": {
    }
}

Request For Quote Created Webhook

This webhook is fired when a new request is created.

Request Body schema: application/json

Callback payload

id
integer
created
string
apiVersion
string
type
string
object

Responses

Request samples

Content type
application/json
{
  • "id": 1,
  • "created": "2021-02-23T13:48:18.598Z",
  • "apiVersion": "2021-02-15",
  • "type": "request.for.quote.created",
  • "data": {
    }
}

Sales Transaction Rejected Webhook

This webhook is fired when any sales transaction is rejected.

Request Body schema: application/json

Callback payload

id
integer
created
string
apiVersion
string
type
string
object

Responses

Request samples

Content type
application/json
{
  • "id": 1,
  • "created": "2021-02-23T13:48:18.598Z",
  • "apiVersion": "2021-02-15",
  • "type": "sales.transaction.rejected",
  • "data": {
    }
}

User Created Webhook

This webhook is fired when new user finalizes their registration.

Request Body schema: application/json

Callback payload

id
integer
created
string
apiVersion
string
type
string
object

Responses

Request samples

Content type
application/json
{
  • "id": 1,
  • "created": "2021-02-23T13:48:18.598Z",
  • "apiVersion": "2021-02-15",
  • "type": "user.created",
  • "data": {
    }
}

Single-Sign-on System

Integrations to Single-Sign-On Providers are not part of the v2 API. Currently we support Integrations with the following technologies:

  • OAuth (with or without OICD)
  • JWT Please contact us for more information.

Upload

For uploading 3D Files

Upload 3D File

Files can be uploaded in 3 different ways into the platform:

1. Upload and Redirect the User

This option should be used if you want the user to see our frontend.

Upload 3D File without specifying a basket_id and line_id and redirect the user to the url returned in the response. The user will see the uploaded file in a basket in our frontend.

2. Upload Into a Basket

This option should be used if you want to handle the basket creation and ordering programmatically, without redirecting the user to the platform.

  1. Create a basket, save the basket_id
  2. Create a line, save the line_id
  3. Upload the file

Fist create a basket and a basket line and save the IDs. Then use this endpoint with the query parameters basket_id and line_id, to upload the 3D File into the basket you created before.

After that, you may want to interact with the basket/line to fetch and set the right materials.

3. Upload for AMPI/PLM part creation

This option should be used if you want to create AMPI part. Provide just file and unit parameter. Response will return an object with the url parameter that has a token query parameter in itself. Use this token value for AMPI part creation as stlFileToken parameter.

query Parameters
basket_id
integer

The basket in which the file is uploaded to.

line_id
integer

The line in which the file is uploaded to.

Request Body schema: multipart/form-data
unit
required
string (Unit)
Enum: "mm" "inch"
origin
string
filename
string
file
required
string <binary>

Responses

Request samples

# How-to for: "1. Upload and redirect the User"

# The requests library must be installed

import requests

TOKEN = "[Your Token]"
path = "/home/john/3d/changethis.stl"
myfile = open(path, "rb")
showname = "changethis.stl"
url = "https://demo.3yourmind.com/api/v2.0/files/"
files = {"file": (showname, myfile)}
fields = {"origin": "python_test"}

response = requests.post(
    url, files=files, data=fields, headers={"Authorization": f"Token {TOKEN}"}
)

print(response.text)

Response samples

Content type
application/json
{}

AMPI

The AM Part Identifier (AMPI) can assess a part's suitability for 3d printing. With the endpoints listed here you can

  • get a list of all parts in AMPI including their category and properties
  • get part details of an individual part including associated assessment reports (aka scores)
  • create new parts in AMPI

List Parts

Responses

Response samples

Content type
application/json
{
  • "count": 0,
  • "next": "string",
  • "previous": "string",
  • "pageSize": 0,
  • "results": [
    ]
}

Create Part

Request Body schema: application/json
branch
required
integer
required
object (PropertyValueDict)
branchIsAdvanced
required
boolean
stlFileToken
string or null
technicalDrawing
integer or null

Responses

Request samples

Content type
application/json
{
  • "branch": 0,
  • "values": {
    },
  • "branchIsAdvanced": true,
  • "stlFileToken": "string",
  • "technicalDrawing": 0
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "assemblies": [
    ],
  • "author": {
    },
  • "assignees": [
    ],
  • "branch": 0,
  • "branchIsAdvanced": true,
  • "created": "2019-08-24T14:15:22Z",
  • "hasStlFile": true,
  • "modified": "2019-08-24T14:15:22Z",
  • "scores": {
    },
  • "shortId": "string",
  • "statusId": 0,
  • "status": {
    },
  • "values": {
    },
  • "stlFile": {},
  • "parts": [
    ],
  • "commentCount": 0,
  • "dataCompleteness": {
    },
  • "permissions": {
    },
  • "tasks": [
    ],
  • "technicalDrawingData": {
    },
  • "technologyPrintabilityResults": [
    ],
  • "readOnlyFields": [
    ],
  • "catalogItem": 0
}

Updates many parts at once

Request Body schema: application/json
comment
string or null
statusSlug
required
string
parts
required
Array of strings

List of part short ids

Responses

Request samples

Content type
application/json
{
  • "comment": "string",
  • "statusSlug": "string",
  • "parts": [
    ]
}

Response samples

Content type
application/json
[
  • {
    }
]

Deletes multiple parts

Request Body schema: application/json
parts
required
Array of strings

List of part short ids

Responses

Request samples

Content type
application/json
{
  • "parts": [
    ]
}

Response samples

Content type
application/json
{
  • "code": "string",
  • "message": "string",
  • "moreInfo": [
    ]
}

Get Part Details

path Parameters
short_id
required
string

AMPI Part Short ID

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "assemblies": [
    ],
  • "author": {
    },
  • "assignees": [
    ],
  • "branch": 0,
  • "branchIsAdvanced": true,
  • "created": "2019-08-24T14:15:22Z",
  • "hasStlFile": true,
  • "modified": "2019-08-24T14:15:22Z",
  • "scores": {
    },
  • "shortId": "string",
  • "statusId": 0,
  • "status": {
    },
  • "values": {
    },
  • "stlFile": {},
  • "parts": [
    ],
  • "commentCount": 0,
  • "dataCompleteness": {
    },
  • "permissions": {
    },
  • "tasks": [
    ],
  • "technicalDrawingData": {
    },
  • "technologyPrintabilityResults": [
    ],
  • "readOnlyFields": [
    ],
  • "catalogItem": 0
}

Update Part

path Parameters
short_id
required
string

AMPI Part Short ID

Request Body schema: application/json
values
required
object
branchIsAdvanced
required
boolean
stlFileToken
string or null

Responses

Request samples

Content type
application/json
{
  • "values": { },
  • "branchIsAdvanced": true,
  • "stlFileToken": "string"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "assemblies": [
    ],
  • "author": {
    },
  • "assignees": [
    ],
  • "branch": 0,
  • "branchIsAdvanced": true,
  • "created": "2019-08-24T14:15:22Z",
  • "hasStlFile": true,
  • "modified": "2019-08-24T14:15:22Z",
  • "scores": {
    },
  • "shortId": "string",
  • "statusId": 0,
  • "status": {
    },
  • "values": {
    },
  • "stlFile": {},
  • "parts": [
    ],
  • "commentCount": 0,
  • "dataCompleteness": {
    },
  • "permissions": {
    },
  • "tasks": [
    ],
  • "technicalDrawingData": {
    },
  • "technologyPrintabilityResults": [
    ],
  • "readOnlyFields": [
    ],
  • "catalogItem": 0
}

Download all AMPI part files

path Parameters
short_id
required
string

AMPI Part Short ID

Responses

List of user's file attachments

query Parameters
id
required
integer

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a new file attachment

Request Body schema: multipart/form-data
string <binary>

Responses

Response samples

Content type
application/json
{
  • "author": 0,
  • "id": 0,
  • "contentType": "string",
  • "name": "string",
  • "shouldForceDownload": true,
  • "size": 0
}

Details of user's file attachments

path Parameters
file_id
required
integer

AMPI File Id

Responses

Response samples

Content type
application/json
{
  • "author": 0,
  • "id": 0,
  • "contentType": "string",
  • "name": "string",
  • "shouldForceDownload": true,
  • "size": 0
}

Create TechnicalDrawing object

Request Body schema: multipart/form-data
string <binary>

Responses

Response samples

Content type
application/json
{
  • "author": 0,
  • "id": 0,
  • "name": "string",
  • "size": 0
}

3D Files

Detailed information about uploaded 3D files. These endpoints are only available after activation.

Get File Optimization Status

Repeatedly request this endpoint in one or more second intervals until the file status becomes finished or failed. Only once the status has reached finished can other sub-endpoints be called.

path Parameters
uuid
required
string

STL file UUID

Responses

Response samples

Content type
application/json
{
  • "status": "failed",
  • "message": "The file could not be processed. Make sure it is a valid 3D Model."
}

Get Paramater

Parameter of the 3D file

path Parameters
uuid
required
string

STL file UUID

Responses

Response samples

Content type
application/json
{
  • "original": {
    },
  • "optimized": {
    },
  • "unit": "mm"
}

Get Printability

Printability details of the 3D file

path Parameters
uuid
required
string

STL file UUID

query Parameters
materialMinimumWallThickness
number
Example: materialMinimumWallThickness=0.2

Minimum wall thickness of the material in mm. Required for accurate wall thickness printability.

buildChamberHeight
number
Example: buildChamberHeight=10.0

Height of the build chamber bounding box in mm. Required for accurate build chamber analysis.

buildChamberWidth
number
Example: buildChamberWidth=20.0

Width of the build chamber bounding box in mm. Required for accurate build chamber analysis.

buildChamberDepth
number
Example: buildChamberDepth=30.0

Depth of the build chamber bounding box in mm. Required for accurate build chamber analysis.

Responses

Response samples

Content type
application/json
{
  • "criteria": {
    }
}