api developer documentation - materialise...api developer documentation 1 cloud.materialise.com –...

31
API Developer Documentation

Upload: others

Post on 13-Mar-2021

88 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: API Developer Documentation - Materialise...API Developer Documentation 1 cloud.materialise.com – 3DPrintCloud@materialise.com INTRODUCTION TO 3DPRINTCLOUD API The 3DPrintCloud API

API Developer Documentation

1

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

INTRODUCTION TO 3DPRINTCLOUD API

The 3DPrintCloud API allows you to interact with Materialise software technology

programmatically from your own application By using the API you have access to

Materialise software technology and first-in-class algorithms for preparing your 3D designs

for 3D printing

We at Materialise have a massive inventory of algorithms If you need a functionality and you canrsquot find it yet on 3DPrintCloud let us know Drop us an email at 3DPrintCloudmaterialisecom

The 3DPrintCloud API adheres to RESTful design principles You interact with the resources

exposed via the API by accessing URIs using HTTP verbs (GET POST) 3DPrintCloud API

accepts and returns JSON data via the API

2

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

What will you find in the 3DPrintCloud API Documentation

INTRODUCTION TO 3DPRINTCLOUD API 0

1 AUTHORIZATION - 3DPRINTCLOUD OAUTH2 4

11 AUTHORIZATION API 4 12 USING THE AUTHORIZATION TOKEN 5 13 GETTING THE REFRESH TOKEN USING OAUTH2 6

2 API METHODS 8

21 OPERATION FILES API 8 22 OPERATION STATUS API 12 23 CONVERSION OPERATION 13 24 CONVERSION OPERATION RESULT 14 25 ANALYZE OPERATION 14 26 ANALYZE OPERATION RESULT 15 27 GEOMETRICAL REPAIR OPERATION 16 28 GEOMETRICAL REPAIR OPERATION RESULT 17 29 SHRINKWRAP REPAIR OPERATION 18 210 SHRINKWRAP REPAIR OPERATION RESULT 19 211 REPAIR OPERATION 19 212 REPAIR OPERATION RESULT 20 213 WALL THICKNESS ANALYSIS OPERATION 21 214 WALL THICKNESS ANALYSIS RESULT 22 215 SCALING OPERATION 23 216 SCALING RESULT 23 21 REDUCE TRIANGLES OPERATION 24 22 REDUCE TRIANGLES RESULT 25 23 GENERATE THUMBNAIL OPERATION 25 24 THUMBNAIL RESULT 26

3 ERROR CODES 28

31 GENERAL ERRORS 28 32 FILE API ERRORS 28 33 GENERAL OPERATIONS RELATED ERRORS 28 34 CONVERSION OPERATIONS SPECIFIC ERRORS 29 35 WALL THICKNESS ANALYSIS OPERATION SPECIFIC ERRORS 29 36 SCALING OPERATION SPECIFIC ERRORS 29 37 GENERATE THUMBNAIL OPERATION SPECIFIC ERRORS 29 38 SHRINKWRAP OPERATION SPECIFIC ERRORS 30 39 REDUCE TRIANGLES OPERATION SPECIFIC ERRORS 30

To have access to the 3DPrintCloud API you will need a client_id and a client_secret These are used to identify your application to 3DPrintCloud For instructions on how to obtain a client_id and client_secret please contact us at 3DPrintCloudmaterialisecom

3

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

General Notes

- Examples across the documentation use the 3DPrintCloud Production URL prefix

httpsapicloudmaterialisecom however when you get started you will be

developing and testing using the Sandbox URL prefix httpsapi-cloudtoolkit-

sandboxmaterialisenet

- Data created in the Sandbox will not be available in production

- When you are ready to deploy your application in production a new client_id and

client_secret will be provided for the 3DPrintCloud Production API

4

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

1 AUTHORIZATION - 3DPRINTCLOUD OAUTH2

All API methods require authorization The information below describes the steps to get an

authorization token and the usage of the token to authorize for API methods

3DPrintCloud authentication returns an authorization token A new token must be

generated for each session Every authorization token is issued with a refresh token used to

obtain a new authorization token when the existing one expires

The authorization token is short lived ndash 15 minutes ndash for security reasons To make a new

API request you may either get a new authorization token or use a refresh token

A refresh token is long lived ndash 2 months ndash and doesnrsquot require a userrsquos password Each

refresh token can be used only once It should be secretly stored in your application

11 AUTHORIZATION API POST Token

POST the Token request requires an HTTP basic authentication header in the format

Authorization Basic code

Replace code with the Base64 encoded value of client_idclient_secret encoded as a

single string including the colon

Header

Add Authorization header in the following format

Authorization Basic [Base64 encoding of client_idclient_secret]

Make sure client_idclient_secret is Base64 encoded

Example

Name Value client_id test_user

client_secret test_secret

test_usertest_secret in base64 dGVzdF91c2VyOnRlc3Rfc2VjcmV0

Resulting header Authorization Basic

dGVzdF91c2VyOnRlc3Rfc2VjcmV0

URI Parameters

None

Request Body Parameters

Name Description Type Is Required

grant_type Type of grant required Use ldquopasswordrdquo String Yes

username The username in the application String Yes

password The password in the application String Yes

5

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

Sample request

POST httpsapicloudmaterialisecomToken HTTP11

Authorization Basic

zXdtLXNlcnZpY2U6MhkyOTA0RUItNjg2My00ODhyLTk1OEItMUMzQjI0OTVBM0I4

Content-Type applicationx-www-form-urlencoded

Host apicloudmaterialisecom

grant_type=passwordampusername=testtestcomamppassword=my_password

Sample response

HTTP11 200 OK

Cache-Control no-cache

Pragma no-cache

Content-Length 851

Content-Type applicationjsoncharset=UTF-8

Expires -1

Date Thu 30 Jul 2015 090554 GMT

access_tokenEye8dHrbdJGPkfOf0AyHEoR5mWoa-

JJTjFt5XqGQL5s3wbG6ghks7QrcgFVH8tTwo7WlSRjOJBqm6ogqy49O_SB3FnjTCc1SS6pD4r3k

YGh96O3u1kaWNBFvdVYJG3Aw89sOCGQOaB_zJsJGfXjYxpeNUVbVDvmGDEmmoCrpoyObz2kPHBp

fIlCkQtDCew280HErrlqZz-

EB6EygRb4AZ0Ri5ODT5jn8ZSDH5PlUPTtHVWZRmIODqABHPxDSAPWa5_-

LD96BQxZhmYtNTc3GBSRifvxi29-

_2J5E5yU1MCfHr9dytmQEBNMXf3ckLalmbD34wmYgNPr8O_pM__LPHe9ymy03RYeNXDCi2uvUhR

tFAMfj0-OR8_O-

Zuxf1aRUz3zqRCgayqymuWduRwFHeouWoFmlK5BBGtCknBA6NDarZ0gimnEDld7o6AShZR2ZFzB

nnMRXTFH1mu-Lfre1TW0BfUwpNFDo-49itELxXcgerGsok61yIsaxVKQ-

uf5NWw0m29TnkZB5nSyxOtyJ_ZVKBoSbtMWbLNGAh0S6uJLSDZTwY2gqgxPAcxAFbyBSxhl1Fg

token_typebearer

expires_in899

refresh_tokena5beac8430c64d81aa3282c9f19a183e

userName25bbc91c-a4ac-4877-b5a0-0aad9deb34c0

asclient_idapitest

issuedThu 30 Jul 2015 090549 GMT

expiresThu 30 Jul 2015 092049 GMT

12 USING THE AUTHORIZATION TOKEN To use the authorization token add an Authorization header to your API requests in the

following format

Authorization Bearer token

Example

POST httpsapicloudmaterialisecomweb-apioperationfix HTTP11

6

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

Authorization Bearer TJHid1LfbdxsVD48mB7nwMr4fQhrKY9eEmPhF-

ZUGs4idTYrR5yRgEllLcBA1JpOUgb4DZ6tQVgh-

bjxwR_PxubNLEtuCDOoB2t_X1RdTObOerzugNezPsRpnSXQC3ytCnnBeNxkd58nHeFVtvsw5U3n

i7uayUHY8_tpR14ldM6LNFDTpOL_2fYU2gyGGFXxBgQuz4v5_0MYSwpUQQJ_kIM9S2wZstZi8gu

qDcPzJRWspJeYoqPVar__g30SAi-90j4vbmq9hWbT4XwdkGeXjztkV6XnnPaSXtR-

73kl58BgjAHOCNj0P6oQLYVMSDT7GCtASHH62k30D7c7Ku3nmFPZYnrEACycOhnYtaNVCoTekBi

8GqiaESRwAvzMTy0GggoMs78HXbPBnivOMI_PdxQRnxGT4zGxHhGvOgDVnYRJ9BqNBcqc6SCMyt

jfdY-

4sSoM4uUzILrqX15QQ5JK_RteIHbdX_7TfDeW_JEVGPxAS9BSdNKU0IwAqj4NdHzuEBafkA

Content-Type multipartform-data boundary=-------------------------

acebdf13572468

---------------------------acebdf13572468

Content-Disposition form-data name=fieldNameHere filename=Plugstl

Content-Type applicationvndms-pkistl

13 GETTING THE REFRESH TOKEN USING OAUTH2 POST Token

You can get your refresh token from the authorization tokenrsquos response (Token)

By issuing a request with the refresh token you get a new authorization token and a new

refresh token

To use the refresh token simply make a request on Token in the following format

Header

Authorization Basic [base64 encoding of client_idclient_secret]

Request Body Parameters

Name Description Type Is Required

grant_type Type of grant required Use

ldquorefresh_tokenrdquo

String Yes

refresh_token The refresh token from the

authorization token request

String Yes

Sample request

POST httpsapicloudmaterialisecomToken HTTP11

Content-Length 92

Authorization Basic

YXBpdGVzdDo3ZjRlMDU4ZS00MGJlLTQ1NzktYTQxMC01YWM5ZDExYmRiOWI=

grant_type=refresh_tokenamprefresh_token=a5beac8430c64d81aa3282c9f19a183e

Sample response

HTTP11 200 OK

Cache-Control no-cache

7

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

Pragma no-cache

Content-Length 851

Content-Type applicationjsoncharset=UTF-8

Expires -1

Date Thu 30 Jul 2015 090839 GMT

access_tokenPSmVR2cKB_Ozjls-rDrGdNLetRyEdqeB4GwETTnukCWtSCsA6ve12-

Gb_a6x1CvCATFKv5yBtQ7v_hvm3BdVOQNlBHoiTlPaDqLdTcK8Hdk38kv2iKJg3py_OCXwiZZRr

eMc9cSp1o-x6QIeoH4gahVct9weyRx99ToZYV-VTuOWYGQkmgpYj_pOefMRqTNqEbcjN-wghTR-

uBtGLw5pPWOtI__3QP9FX_r9ofCx4bNNVYRTgHzfaap6tJ9XMwzlvyIZ34gceW792h7jzFkfRp7

4SCeUVsYACOJeVA3ZCt1nHXwAcWf-

NvG7gdS0qhnD5eA40kB8Ix2xeGxGwAxZao0AdRIkoLlllo6iK3i40dJMktmCnrd1p5_f7AWmnwg

n03zFtEJop0uwSv3LsG9qqURxvo-ccx-

o9DxwelK1FLBIqy10dqV_8CkyCDOCwxi54Wn8x0VJ6vvCin7t5jOmyGQ_UiVRMrtYD-CLnp-

8wV87Jqckve6fMGNhrIOsMbR3jltsMl3fqNBB4sDjyVI_GALxYx93Cm-

0cs25uH8BrtJuoZJ5cU0QMH4zGD1OXRN9mj2tLg

token_typebearer

expires_in899

refresh_token800933aef9d942839fe4176887830c5e

userName25bbc91c-a4ac-4877-b5a0-0aad9deb34c0

asclient_idapitest

issuedThu 30 Jul 2015 090838 GMT

expiresThu 30 Jul 2015 092338 GMT

8

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

2 API METHODS

General considerations

- Before calling any of API methods please make sure that you have received the

token which should be passed along the request as described above

- Usually the request should be in JSON format We accept applicationjson as well as

textjson content types

Errors handling

- In case of successful call we usually send a response with 200 HTTP status code If for

some reason an error has happened we will send a response with HTTP status code

400 or higher

- The full list of errors you can find in the special section of this document or next to

the description of a particular API method

- Error will be in JSON format

Field Type Description

errors Array Array of errors

errors[]code Int Error code

errors[]message String Error message

Error JSON Sample

errors [

code 70

message Operation request failed

]

21 OPERATION FILES API Before running any operation the 3d model file has to be uploaded to our server

211 Operation File Upload HTTP POST web-apioperationfile

Description

You need to upload your model file to our storage before running any operation

URI parameters

None

Request Headers

Content-Type multipartform-data

9

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

Request Body

Binary file with metadata see sample below

Sample

POST httpsapicloudmaterialisecomweb-apioperationfix HTTP11

Authorization Bearer djxmeOuuVxPR1LbyopkMlWtpL6GcxckYN-

74Sn9wREke70X9G6osLFt8-1vFzJZJ9ZaMe6ytioA7U2mq7r9qOEs9jg8R7lxRoWf-

HRhNPIgoUdf6EFO_tFyF4NdkkC9eins-zl-NxN4XXQLmPFE0Qpcb4mlNRTETeQ-

aX38PasCsi2Ylvdqtl48HDNpf76kKbDaE83nq3DuA3cAqAbUMnMOUf2dC2dTX0VC2Bajs-

q0FI7xiNgDN2fuaLpPMCRlMR_wGt68mrnrmm-

55WFjYUxFGLlsrLJERHeftXeagPeMzCGht0DFxH4LzhEssfu4wPUoAiL0XcPfD1FTkbZpWZtSHt

cLPQ8N4R-B1s5md_A1fMSrLoqhZKz9q2-

CuBSsy6A7olziacje3bqX9ZpG1gB6wSsjD4Htlk7EM3tCSC86cLP_dJtPxH6bCRZdXgGuQADgYb

ETsMNBhQ5cZo-P8WBnUNzKaBMvgdSvzFu8v0z3Js1Yc2urks_3kUW1Mox5bqrCHTA

Content-Type multipartform-data boundary=-------------------------

acebdf13572468

---------------------------acebdf13572468

Content-Disposition form-data name=fieldNameHere filename=Plugstl

Content-Type applicationvndms-pkistl

file-contents-here

---------------------------acebdf13572468--

Response Format

Http Status Code Field Type Description

200 - Success

fileId Guid File Identifier

fileUrl String File Url

creationDate DateTime File Utc date in Iso format

400 ndash Failure See error codes 10 50 51

Response Example

fileIdd241244f-9d68-4e3b-9fa0-115b135019bf

fileUrl ldquohttprdquo

creationDate 2015-01-01T232856782Z

212 Operation File Chunked Upload HTTP POST web-apioperationfilechunked

Description

Use this method to initiate a chunked upload

Request Format

10

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

URI parameters

None

Request Headers

None

Request Body

None

Response Format

Http Status Code Field Type Description

200 - Success uploadId Guid Upload Identifier

Response Example

uploadIdd241244f-9d68-4e3b-9fa0-115b135019bf

2121 Operation Input Upload File Chunk HTTP POST web-apioperationfileuploadIdchunkchunkIndex

Description

Use this method to upload a chunk with the specified index The chunk index is an integer

starting from 0 with an increment of 1 which specifies the chunkrsquos order in the resulting file

Each chunk must not exceed 4MB in size

Request Format

Url part name Type Description

uploadId Guid Identifier of previously initiated chunked upload

chunkIndex Integer Integer number (starting from 0) denoting the order of the

chunk in the file

Request Headers Content-Type applicationoctet-stream (optional)

Request Body

Chunk content

Sample POST httpsapicloudmaterialisecomweb-apioperationfile8d875aed-9603-4ad4-b075-2c4f122bfb8echunk0 HTTP11 Content-Length 300

Content-Type applicationoctet-stream

chunk content here

Response Format

Http Status Code Field Type Description

200 - Success

11

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

uploadId Guid Upload Identifier

chunkId String Identifier of uploaded chunk

400 ndash Failure See error codes 10- 54 56 57

Response Example

uploadIdd241244f-9d68-4e3b-9fa0-115b135019bf

chunkId ldquoAAAAAA==rdquo

2122 Operation Input Complete Chunked Upload HTTP POST web-apioperationfileuploadId

Description

Use this method to complete a chunked upload and get the Id of the resulting file

Request Format

Url part name Type Description

uploadId Guid Identifier of previously initiated chunked upload

Request Headers Content-Type applicationjson

Request Body

Field Type Description

fileName String Name of resulting file with extension

chunkIds Array[String] An array of ordered chunk identifiers received from the Upload Chunk API method Note the Ids must be in a correct order

Sample POST httpapicloudmaterialisecomweb-apioperationfile8d875aed-9603-4ad4-b075-2c4f122bfb8e HTTP11 Content-Type applicationjson chunkIds [AAAAAA== AQAAAA== AgAAAA== ] fileName filestl

Response Format

Http Status Code Field Type Description

200 - Success

fileId Guid Identifier of resulting file

400 ndash Failure See error codes 10- 50 51 55 57

Response Example

fileIdd241244f-9d68-4e3b-9fa0-115b135019bf

12

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

213 Operation File Download HTTP GET web-apioperationfilefileId

URI parameters

Url part name Type Description

fileId Guid file identifier

Response Format

Http Status Code Field Type Description

200 ndash Success

404 ndash Failure See error codes 10 52

22 OPERATION STATUS API This API method allows to track current status of the operation whether it was completed

successful or failed

221 Operation status ndash polling request HTTP GET web-apioperationoperationIdstatus

Request format

Url part name Type Description

operationId Guid Operation identifier of previously posted operation

Response format

Response encoding type applicationjson

Http Status

Code

Field Type Description

200 - Success

operationId Guid Operation identifier

isCompleted Boolean Has operation been finished

isSuccessful Boolean Has operation completion been successful

404 ndash Failure See error codes 71

400 ndash Failure See error codes 10 70

Response JSON Format

operationIdd241244f-9d68-4e3b-9fa0-115b135019bf

isCompleted true

isSuccessful true

13

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

222 Operation status ndash callback API HTTP POST

Description

If you would rather avoid polling for status and you prepare end-points in your application

that we can use to notify you when an operation completes this is what information we will

provide

Request format

Content Type applicationjson

Field Type Description

operationId Guid Operation identifier

isSuccessful Boolean Has operation completion been successful

Request JSON

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

isSuccessful true

23 CONVERSION OPERATION HTTP POST web-apioperationstl-conversion

Description

It is possible to convert model to Stl format Currently we accept obj 3dm 3ds dae dxf

fbx iges igs ply skp slc vdafs vda vrml wrl zcp zpr files

Some of the file formats do not support measurement units (stl obj) It is possible to

indicate in which measurements units a particular model was created By default

MeasurementUnits parameter will be interpreted as millimeters

Request format

Request encoding type applicationjson

Http Status

Code

Field Name Type Description

200 ndash Success

fileId Guid File unique Identifier

measurementUnits String Measurement units in which model was

created Possible options

(lsquommrsquoinchrsquorsquomrsquorsquorsquonull)

callbackUrl String Url called when operation completed

Request JSON Format

14

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

measurementUnits mm

callbackUrlrdquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

400-Failure See error codes10 50 200

404-Not Found See error codes 52

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

24 CONVERSION OPERATION RESULT HTTP GET web-apioperationoperationIdstl-conversionresult

Uri parameters

Url part name Type Description

operationId Guid operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

fileId Guid Converted stl file

404-Not Found See error codes 71

400-Failure See error codes 10 90

25 ANALYZE OPERATION HTTP POST web-apioperationanalyze

Request encoding type applicationjson

Request format

15

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

Http Status Code Field Type Description

200 ndash Success

fileId Guid Operation unique Identifier for reference

callbackUrl String Url called when operation completed

Request JSON

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

callbackUrl rdquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes10 50

404-Not Found See error codes 52

Response JSON

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

26 ANALYZE OPERATION RESULT HTTP GET web-apioperationoperationIdanalyzeresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response encoding type applicationjson

Http Status

Code

Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

vertices Number Number of model vertices

triangles Number Number of model triangles

contours Number Number of model contours

shells Number Number of model shells

badEdges Number Number of model bad edges

16

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

badContours Number Number of model bad contours

volumeMm3 Float Volume of the model in mm3

dimensionXMm Float

dimensionYMm Float

dimensionZMm Float

surfaceAreaMm2 Float Area of the model surface in mm2

404-Not

Found

See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

vertices 8

triangles 12

contours 12

shells6

badEdges 0

badContours 0

volumeMm3 10

dimensionXMm 10

dimensionYMm 10

dimensionZMm 10

surfaceAreaMm2 10

If BadContours gt 0 OR BadEdges gt 0 OR VolumeMm3 lt 0 we recommend to Repair the

model

27 GEOMETRICAL REPAIR OPERATION Description

This operation allows to get the best possible geometrical repaired model This operation

will not change the geometry of your part however for complex models you might not get a

fully watertight result

HTTP POST web-apioperationgeometrical-repair

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique Identifier for reference

callbackUrl String Url called when operation completed

Request JSON

17

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

callbackUrl ldquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status

Code

Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes10- 50

404-Not Found See error codes 52

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

28 GEOMETRICAL REPAIR OPERATION RESULT HTTP GET web-apioperationoperationIdgeometrical-repairresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

fileId Guid Repaired file id

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

18

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

29 SHRINKWRAP REPAIR OPERATION Description

This operation allows to get a watertight model with slight geometrical impact We will

apply shrinkwrap on your model to repair most difficult parts and therefore handle complex

issues

HTTP POST web-apioperationshrinkwrap-repair

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique Identifier for reference

accuracy String Accepted values ldquoRoughrdquo ldquoSmoothrdquo ldquoDetailedrdquo Higher level will produce better qualitative results however it will take more time for the result to be available

callbackUrl String Url called when operation completed

Request JSON

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

accuracy ldquoSmoothrdquo

callbackUrl rdquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status

Code

Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes10- 50 600

404-Not Found See error codes 52

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

19

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

210 SHRINKWRAP REPAIR OPERATION RESULT HTTP GET web-apioperationoperationIdshrinkwrap-repairresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

fileId Guid Repaired file id

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

211 REPAIR OPERATION Description

This operation allows to automatically combine geometrical result with shrinkwrap for a

higher chance of having a watertight model being the best result between a geometrically

repaired part or shrinkwrap repaired part If your application is sensitive to geometrical

changes we advise you using the Geometrical Repair described above

HTTP POST web-apioperationrepair

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique Identifier for reference

callbackUrl String Url called when operation completed

Request JSON

20

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

callbackUrl rdquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status

Code

Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes10- 50

404-Not Found See error codes 52

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

212 REPAIR OPERATION RESULT HTTP GET web-apioperationoperationIdrepairresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

fileId Guid Repaired file id

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

21

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

213 WALL THICKNESS ANALYSIS OPERATION Description

This operation allows to analyze model for finding areas which are too thin for printing

Result of the analysis is a model painted with green if all is Ok If there are too thin areas on

the model surface it will be painted with red If there are areas which are suspected to be

too thin it will be painted with yellow

HTTP POST web-apioperationwall-thickness-analysis

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File for analysis unique

identifier

minimalWallThicknessMm Float Minimal acceptable wall

thickness Optional Default

value = 08

accuracyWallThickness Number Number will define the

resolution (and speed)

Optional Default value = 2

Acceptable values 2 4 6 8

10

A higher number will be more

accurate but slower in

processing

callbackUrl String Url called when operation

completed

Request JSON Format

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

minimalWallThicknessMm 12

accuracyWallThickness 2

callbackUrl httpsmysitecomoperation683561callback

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

22

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

200 ndash Success

operationId Guid Operation unique Identifier for

reference

400-Failure See error codes10- 50 300 301

404-Not Found See error codes 52

Response JSON Format

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

214 WALL THICKNESS ANALYSIS RESULT HTTP GET web-apioperationoperationIdwall-thickness-analysisresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

fileId Guid Analysed file id

hasThinWalls Boolean Indicate that model contains too

thin walls

hasPossibleThinWalls Boolean Indicate that model contains too

walls which are suspected to be

too thin

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

hasThinWalls false

hasPossibleThinWalls true

23

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

215 SCALING OPERATION Description

This operation allows to uniformly scale an stl model to a specified size on one of the axis

HTTP POST web-apioperationscale

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique identifier

axis String Name of axis you want to scale (X Y Z)

scaleToSizeMm Float Millimeters value of the desired dimension

on the specified axis Other axes will be

scaled proportionally Range 001mm ndash

10000mm

callbackUrl String Url called when operation completed

Request JSON

fileId ldquod241244f-9d68-4e3b-9fa0-115b135019bfrdquo

axis ldquoXrdquo

scaleToSizeMm 150

callbackUrl ldquohttpsmysitecomoperation683561callbackrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes 10- 50 400 401

404-Not Found See error codes 52

Response JSON

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

216 SCALING RESULT HTTP GET web-apioperationoperationIdscaleresult

Request format

24

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

fileId Guid Scaled file id

404-Not Found See error codes 71

400-Failure See error codes 10- 73 74

Response JSON

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

21 REDUCE TRIANGLES OPERATION Description

Use this operation to reduce triangles in an STL 3d model When any of the arguments is not

supplied (null or empty string) it automatically defaults to a predefined value (see table

below)

HTTP POST web-apioperationreduce-triangles

Request encoding type applicationjson

Request format

Field Type Description

fileId Guid File unique identifier

accuracyMm Number Floating point value between 0 and 10 When not supplied (null) defaults to 0005

maxAngle Number Integer number between 0 and 90 When not supplied (null) defaults to 5

numberOfIterations Number Integer number between 1 and 1000 When not supplied (null) defaults to 5

callbackUrl String Url called when operation completed

Request JSON

fileId ldquod241244f-9d68-4e3b-9fa0-115b135019bfrdquo

accuracyMm 0005

25

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

maxAngle 5

numberOfIterations 5

callbackUrl ldquohttpsmysitecomoperation683561callbackrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes 10 50 700 701 702

404-Not Found See error codes 52

Response JSON

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

22 REDUCE TRIANGLES RESULT HTTP GET web-apioperationoperationIdreduce-trianglesresult

Request format

Url parameters

Url part name Type Description

operationId Guid Operation identifier

221 Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

fileId Guid Model with reduced triangles

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

23 GENERATE THUMBNAIL OPERATION Description

This operation allows to generate preview thumbnail for a model

HTTP POST web-apioperationthumbnail

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique identifier

26

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

width Number Thumbnail width in pixels

height Number Thumbnail height in pixels

cameraAngleX Number Camera angle relative to the X axis

cameraAngleY Number Camera angle relative to the Y axis

cameraAngleZ Number Camera angle relative to the Z axis

callbackUrl String Url called when operation completed

Request JSON

fileId ldquod241244f-9d68-4e3b-9fa0-115b135019bfrdquo

width 100

height 100

cameraAngleX -70

cameraAngleY 0

cameraAngleZ 30

callbackUrl ldquohttpsmysitecomoperation683561callbackrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes 10 50 500 501

404-Not Found See error codes 52

Response JSON

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

24 THUMBNAIL RESULT HTTP GET web-apioperationoperationIdthumbnailresult

Request format

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

27

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

200 ndash Success

fileId Guid Model thumbnail file id

404-Not Found See error codes 71

400-Failure See error codes 10- 73 74

Response JSON

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

28

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

3 ERROR CODES

31 GENERAL ERRORS Code Message Meaning

10 Server error

11 Temporary error Please retry later

or contact us email if error

persists

12 Access denied

13 Invalid request format One or more of the parameters supplied

for the requested method are invalid

(Example string provided instead of int

etc) The parameters with the wrong value

will be provided in the message in the

format The value supplied for parameter

0 is invalid

32 FILE API ERRORS Code Message Meaning

50 Currently only Stl files are

supported

51 File is too big File was not saved

52 File was not found or you are not

the owner of the file File id file id

53 File Content is empty

54 Chunk is too big

55 Chunked upload commit error

56 Chunk is empty

57 File with id id already exists If you try to upload a chunk or commit a chunked upload using a file id of an existing file (of either a regular file upload or a committed chunked upload) yoursquoll receive this error to prevent from corrupting an existing file

33 GENERAL OPERATIONS RELATED ERRORS

Code Message Meaning

70 Operation request failed In case there is no concrete error API raises

this error

29

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

34 CONVERSION OPERATIONS SPECIFIC ERRORS Code Message Meaning

200 Unsupported Measurement units

35 WALL THICKNESS ANALYSIS OPERATION SPECIFIC ERRORS Code Message Meaning

300 Wrong minimal wall thickness Value should be between 01 and 20 (mm)

301 Wrong accuracy wall thickness

value

Value should be only one of predefined

value values (see Wall Thickness Analysis

Operation)

302 The model is too big Please scale it down

One of the model dimensions is too big Scale it down Dimension size should not exceed 500 mm

36 SCALING OPERATION SPECIFIC ERRORS Code Message Meaning

400 Scale value is not in the appropriate range

Value should be in range 001 ndash 10000

401 Axis is incorrect Value should be one of the predefined list (X Y Z)

37 GENERATE THUMBNAIL OPERATION SPECIFIC ERRORS Code Message Meaning

500 Wrong thumbnail size The width and height should be not less than 10 px but not more than 10000 px

501 Wrong camera angle Value should be in range from -180 to 180 degree

71 Operation was not found or you are

not the owner of the operation

Operation id id

72 A timeout occurred while

processing your file Your file may

be too big or complex

73 Operation with 0 has not finished

yet

74 Operation with Id 0 failed No

results available Use operation

status Api to get detailed error

30

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

38 SHRINKWRAP OPERATION SPECIFIC ERRORS Code Message Meaning

600 Accuracy value is not in appropriate range

Value should in range 100 ndash 500

39 REDUCE TRIANGLES OPERATION SPECIFIC ERRORS Code Message Meaning

700 The parameter Accuracy (mm) is invalid expecting a floating point value between 0 and 10 mm

The value should be a floating point number between 0 and 10

701 The parameter Max Angle is invalid expecting a value between 0 and 90

The value should be an integer number between 0 and 90

702 The parameter Number of Iterations is invalid expecting a value between 1 and 1000

The value should be an integer number between 1 and 1000

Page 2: API Developer Documentation - Materialise...API Developer Documentation 1 cloud.materialise.com – 3DPrintCloud@materialise.com INTRODUCTION TO 3DPRINTCLOUD API The 3DPrintCloud API

1

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

INTRODUCTION TO 3DPRINTCLOUD API

The 3DPrintCloud API allows you to interact with Materialise software technology

programmatically from your own application By using the API you have access to

Materialise software technology and first-in-class algorithms for preparing your 3D designs

for 3D printing

We at Materialise have a massive inventory of algorithms If you need a functionality and you canrsquot find it yet on 3DPrintCloud let us know Drop us an email at 3DPrintCloudmaterialisecom

The 3DPrintCloud API adheres to RESTful design principles You interact with the resources

exposed via the API by accessing URIs using HTTP verbs (GET POST) 3DPrintCloud API

accepts and returns JSON data via the API

2

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

What will you find in the 3DPrintCloud API Documentation

INTRODUCTION TO 3DPRINTCLOUD API 0

1 AUTHORIZATION - 3DPRINTCLOUD OAUTH2 4

11 AUTHORIZATION API 4 12 USING THE AUTHORIZATION TOKEN 5 13 GETTING THE REFRESH TOKEN USING OAUTH2 6

2 API METHODS 8

21 OPERATION FILES API 8 22 OPERATION STATUS API 12 23 CONVERSION OPERATION 13 24 CONVERSION OPERATION RESULT 14 25 ANALYZE OPERATION 14 26 ANALYZE OPERATION RESULT 15 27 GEOMETRICAL REPAIR OPERATION 16 28 GEOMETRICAL REPAIR OPERATION RESULT 17 29 SHRINKWRAP REPAIR OPERATION 18 210 SHRINKWRAP REPAIR OPERATION RESULT 19 211 REPAIR OPERATION 19 212 REPAIR OPERATION RESULT 20 213 WALL THICKNESS ANALYSIS OPERATION 21 214 WALL THICKNESS ANALYSIS RESULT 22 215 SCALING OPERATION 23 216 SCALING RESULT 23 21 REDUCE TRIANGLES OPERATION 24 22 REDUCE TRIANGLES RESULT 25 23 GENERATE THUMBNAIL OPERATION 25 24 THUMBNAIL RESULT 26

3 ERROR CODES 28

31 GENERAL ERRORS 28 32 FILE API ERRORS 28 33 GENERAL OPERATIONS RELATED ERRORS 28 34 CONVERSION OPERATIONS SPECIFIC ERRORS 29 35 WALL THICKNESS ANALYSIS OPERATION SPECIFIC ERRORS 29 36 SCALING OPERATION SPECIFIC ERRORS 29 37 GENERATE THUMBNAIL OPERATION SPECIFIC ERRORS 29 38 SHRINKWRAP OPERATION SPECIFIC ERRORS 30 39 REDUCE TRIANGLES OPERATION SPECIFIC ERRORS 30

To have access to the 3DPrintCloud API you will need a client_id and a client_secret These are used to identify your application to 3DPrintCloud For instructions on how to obtain a client_id and client_secret please contact us at 3DPrintCloudmaterialisecom

3

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

General Notes

- Examples across the documentation use the 3DPrintCloud Production URL prefix

httpsapicloudmaterialisecom however when you get started you will be

developing and testing using the Sandbox URL prefix httpsapi-cloudtoolkit-

sandboxmaterialisenet

- Data created in the Sandbox will not be available in production

- When you are ready to deploy your application in production a new client_id and

client_secret will be provided for the 3DPrintCloud Production API

4

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

1 AUTHORIZATION - 3DPRINTCLOUD OAUTH2

All API methods require authorization The information below describes the steps to get an

authorization token and the usage of the token to authorize for API methods

3DPrintCloud authentication returns an authorization token A new token must be

generated for each session Every authorization token is issued with a refresh token used to

obtain a new authorization token when the existing one expires

The authorization token is short lived ndash 15 minutes ndash for security reasons To make a new

API request you may either get a new authorization token or use a refresh token

A refresh token is long lived ndash 2 months ndash and doesnrsquot require a userrsquos password Each

refresh token can be used only once It should be secretly stored in your application

11 AUTHORIZATION API POST Token

POST the Token request requires an HTTP basic authentication header in the format

Authorization Basic code

Replace code with the Base64 encoded value of client_idclient_secret encoded as a

single string including the colon

Header

Add Authorization header in the following format

Authorization Basic [Base64 encoding of client_idclient_secret]

Make sure client_idclient_secret is Base64 encoded

Example

Name Value client_id test_user

client_secret test_secret

test_usertest_secret in base64 dGVzdF91c2VyOnRlc3Rfc2VjcmV0

Resulting header Authorization Basic

dGVzdF91c2VyOnRlc3Rfc2VjcmV0

URI Parameters

None

Request Body Parameters

Name Description Type Is Required

grant_type Type of grant required Use ldquopasswordrdquo String Yes

username The username in the application String Yes

password The password in the application String Yes

5

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

Sample request

POST httpsapicloudmaterialisecomToken HTTP11

Authorization Basic

zXdtLXNlcnZpY2U6MhkyOTA0RUItNjg2My00ODhyLTk1OEItMUMzQjI0OTVBM0I4

Content-Type applicationx-www-form-urlencoded

Host apicloudmaterialisecom

grant_type=passwordampusername=testtestcomamppassword=my_password

Sample response

HTTP11 200 OK

Cache-Control no-cache

Pragma no-cache

Content-Length 851

Content-Type applicationjsoncharset=UTF-8

Expires -1

Date Thu 30 Jul 2015 090554 GMT

access_tokenEye8dHrbdJGPkfOf0AyHEoR5mWoa-

JJTjFt5XqGQL5s3wbG6ghks7QrcgFVH8tTwo7WlSRjOJBqm6ogqy49O_SB3FnjTCc1SS6pD4r3k

YGh96O3u1kaWNBFvdVYJG3Aw89sOCGQOaB_zJsJGfXjYxpeNUVbVDvmGDEmmoCrpoyObz2kPHBp

fIlCkQtDCew280HErrlqZz-

EB6EygRb4AZ0Ri5ODT5jn8ZSDH5PlUPTtHVWZRmIODqABHPxDSAPWa5_-

LD96BQxZhmYtNTc3GBSRifvxi29-

_2J5E5yU1MCfHr9dytmQEBNMXf3ckLalmbD34wmYgNPr8O_pM__LPHe9ymy03RYeNXDCi2uvUhR

tFAMfj0-OR8_O-

Zuxf1aRUz3zqRCgayqymuWduRwFHeouWoFmlK5BBGtCknBA6NDarZ0gimnEDld7o6AShZR2ZFzB

nnMRXTFH1mu-Lfre1TW0BfUwpNFDo-49itELxXcgerGsok61yIsaxVKQ-

uf5NWw0m29TnkZB5nSyxOtyJ_ZVKBoSbtMWbLNGAh0S6uJLSDZTwY2gqgxPAcxAFbyBSxhl1Fg

token_typebearer

expires_in899

refresh_tokena5beac8430c64d81aa3282c9f19a183e

userName25bbc91c-a4ac-4877-b5a0-0aad9deb34c0

asclient_idapitest

issuedThu 30 Jul 2015 090549 GMT

expiresThu 30 Jul 2015 092049 GMT

12 USING THE AUTHORIZATION TOKEN To use the authorization token add an Authorization header to your API requests in the

following format

Authorization Bearer token

Example

POST httpsapicloudmaterialisecomweb-apioperationfix HTTP11

6

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

Authorization Bearer TJHid1LfbdxsVD48mB7nwMr4fQhrKY9eEmPhF-

ZUGs4idTYrR5yRgEllLcBA1JpOUgb4DZ6tQVgh-

bjxwR_PxubNLEtuCDOoB2t_X1RdTObOerzugNezPsRpnSXQC3ytCnnBeNxkd58nHeFVtvsw5U3n

i7uayUHY8_tpR14ldM6LNFDTpOL_2fYU2gyGGFXxBgQuz4v5_0MYSwpUQQJ_kIM9S2wZstZi8gu

qDcPzJRWspJeYoqPVar__g30SAi-90j4vbmq9hWbT4XwdkGeXjztkV6XnnPaSXtR-

73kl58BgjAHOCNj0P6oQLYVMSDT7GCtASHH62k30D7c7Ku3nmFPZYnrEACycOhnYtaNVCoTekBi

8GqiaESRwAvzMTy0GggoMs78HXbPBnivOMI_PdxQRnxGT4zGxHhGvOgDVnYRJ9BqNBcqc6SCMyt

jfdY-

4sSoM4uUzILrqX15QQ5JK_RteIHbdX_7TfDeW_JEVGPxAS9BSdNKU0IwAqj4NdHzuEBafkA

Content-Type multipartform-data boundary=-------------------------

acebdf13572468

---------------------------acebdf13572468

Content-Disposition form-data name=fieldNameHere filename=Plugstl

Content-Type applicationvndms-pkistl

13 GETTING THE REFRESH TOKEN USING OAUTH2 POST Token

You can get your refresh token from the authorization tokenrsquos response (Token)

By issuing a request with the refresh token you get a new authorization token and a new

refresh token

To use the refresh token simply make a request on Token in the following format

Header

Authorization Basic [base64 encoding of client_idclient_secret]

Request Body Parameters

Name Description Type Is Required

grant_type Type of grant required Use

ldquorefresh_tokenrdquo

String Yes

refresh_token The refresh token from the

authorization token request

String Yes

Sample request

POST httpsapicloudmaterialisecomToken HTTP11

Content-Length 92

Authorization Basic

YXBpdGVzdDo3ZjRlMDU4ZS00MGJlLTQ1NzktYTQxMC01YWM5ZDExYmRiOWI=

grant_type=refresh_tokenamprefresh_token=a5beac8430c64d81aa3282c9f19a183e

Sample response

HTTP11 200 OK

Cache-Control no-cache

7

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

Pragma no-cache

Content-Length 851

Content-Type applicationjsoncharset=UTF-8

Expires -1

Date Thu 30 Jul 2015 090839 GMT

access_tokenPSmVR2cKB_Ozjls-rDrGdNLetRyEdqeB4GwETTnukCWtSCsA6ve12-

Gb_a6x1CvCATFKv5yBtQ7v_hvm3BdVOQNlBHoiTlPaDqLdTcK8Hdk38kv2iKJg3py_OCXwiZZRr

eMc9cSp1o-x6QIeoH4gahVct9weyRx99ToZYV-VTuOWYGQkmgpYj_pOefMRqTNqEbcjN-wghTR-

uBtGLw5pPWOtI__3QP9FX_r9ofCx4bNNVYRTgHzfaap6tJ9XMwzlvyIZ34gceW792h7jzFkfRp7

4SCeUVsYACOJeVA3ZCt1nHXwAcWf-

NvG7gdS0qhnD5eA40kB8Ix2xeGxGwAxZao0AdRIkoLlllo6iK3i40dJMktmCnrd1p5_f7AWmnwg

n03zFtEJop0uwSv3LsG9qqURxvo-ccx-

o9DxwelK1FLBIqy10dqV_8CkyCDOCwxi54Wn8x0VJ6vvCin7t5jOmyGQ_UiVRMrtYD-CLnp-

8wV87Jqckve6fMGNhrIOsMbR3jltsMl3fqNBB4sDjyVI_GALxYx93Cm-

0cs25uH8BrtJuoZJ5cU0QMH4zGD1OXRN9mj2tLg

token_typebearer

expires_in899

refresh_token800933aef9d942839fe4176887830c5e

userName25bbc91c-a4ac-4877-b5a0-0aad9deb34c0

asclient_idapitest

issuedThu 30 Jul 2015 090838 GMT

expiresThu 30 Jul 2015 092338 GMT

8

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

2 API METHODS

General considerations

- Before calling any of API methods please make sure that you have received the

token which should be passed along the request as described above

- Usually the request should be in JSON format We accept applicationjson as well as

textjson content types

Errors handling

- In case of successful call we usually send a response with 200 HTTP status code If for

some reason an error has happened we will send a response with HTTP status code

400 or higher

- The full list of errors you can find in the special section of this document or next to

the description of a particular API method

- Error will be in JSON format

Field Type Description

errors Array Array of errors

errors[]code Int Error code

errors[]message String Error message

Error JSON Sample

errors [

code 70

message Operation request failed

]

21 OPERATION FILES API Before running any operation the 3d model file has to be uploaded to our server

211 Operation File Upload HTTP POST web-apioperationfile

Description

You need to upload your model file to our storage before running any operation

URI parameters

None

Request Headers

Content-Type multipartform-data

9

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

Request Body

Binary file with metadata see sample below

Sample

POST httpsapicloudmaterialisecomweb-apioperationfix HTTP11

Authorization Bearer djxmeOuuVxPR1LbyopkMlWtpL6GcxckYN-

74Sn9wREke70X9G6osLFt8-1vFzJZJ9ZaMe6ytioA7U2mq7r9qOEs9jg8R7lxRoWf-

HRhNPIgoUdf6EFO_tFyF4NdkkC9eins-zl-NxN4XXQLmPFE0Qpcb4mlNRTETeQ-

aX38PasCsi2Ylvdqtl48HDNpf76kKbDaE83nq3DuA3cAqAbUMnMOUf2dC2dTX0VC2Bajs-

q0FI7xiNgDN2fuaLpPMCRlMR_wGt68mrnrmm-

55WFjYUxFGLlsrLJERHeftXeagPeMzCGht0DFxH4LzhEssfu4wPUoAiL0XcPfD1FTkbZpWZtSHt

cLPQ8N4R-B1s5md_A1fMSrLoqhZKz9q2-

CuBSsy6A7olziacje3bqX9ZpG1gB6wSsjD4Htlk7EM3tCSC86cLP_dJtPxH6bCRZdXgGuQADgYb

ETsMNBhQ5cZo-P8WBnUNzKaBMvgdSvzFu8v0z3Js1Yc2urks_3kUW1Mox5bqrCHTA

Content-Type multipartform-data boundary=-------------------------

acebdf13572468

---------------------------acebdf13572468

Content-Disposition form-data name=fieldNameHere filename=Plugstl

Content-Type applicationvndms-pkistl

file-contents-here

---------------------------acebdf13572468--

Response Format

Http Status Code Field Type Description

200 - Success

fileId Guid File Identifier

fileUrl String File Url

creationDate DateTime File Utc date in Iso format

400 ndash Failure See error codes 10 50 51

Response Example

fileIdd241244f-9d68-4e3b-9fa0-115b135019bf

fileUrl ldquohttprdquo

creationDate 2015-01-01T232856782Z

212 Operation File Chunked Upload HTTP POST web-apioperationfilechunked

Description

Use this method to initiate a chunked upload

Request Format

10

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

URI parameters

None

Request Headers

None

Request Body

None

Response Format

Http Status Code Field Type Description

200 - Success uploadId Guid Upload Identifier

Response Example

uploadIdd241244f-9d68-4e3b-9fa0-115b135019bf

2121 Operation Input Upload File Chunk HTTP POST web-apioperationfileuploadIdchunkchunkIndex

Description

Use this method to upload a chunk with the specified index The chunk index is an integer

starting from 0 with an increment of 1 which specifies the chunkrsquos order in the resulting file

Each chunk must not exceed 4MB in size

Request Format

Url part name Type Description

uploadId Guid Identifier of previously initiated chunked upload

chunkIndex Integer Integer number (starting from 0) denoting the order of the

chunk in the file

Request Headers Content-Type applicationoctet-stream (optional)

Request Body

Chunk content

Sample POST httpsapicloudmaterialisecomweb-apioperationfile8d875aed-9603-4ad4-b075-2c4f122bfb8echunk0 HTTP11 Content-Length 300

Content-Type applicationoctet-stream

chunk content here

Response Format

Http Status Code Field Type Description

200 - Success

11

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

uploadId Guid Upload Identifier

chunkId String Identifier of uploaded chunk

400 ndash Failure See error codes 10- 54 56 57

Response Example

uploadIdd241244f-9d68-4e3b-9fa0-115b135019bf

chunkId ldquoAAAAAA==rdquo

2122 Operation Input Complete Chunked Upload HTTP POST web-apioperationfileuploadId

Description

Use this method to complete a chunked upload and get the Id of the resulting file

Request Format

Url part name Type Description

uploadId Guid Identifier of previously initiated chunked upload

Request Headers Content-Type applicationjson

Request Body

Field Type Description

fileName String Name of resulting file with extension

chunkIds Array[String] An array of ordered chunk identifiers received from the Upload Chunk API method Note the Ids must be in a correct order

Sample POST httpapicloudmaterialisecomweb-apioperationfile8d875aed-9603-4ad4-b075-2c4f122bfb8e HTTP11 Content-Type applicationjson chunkIds [AAAAAA== AQAAAA== AgAAAA== ] fileName filestl

Response Format

Http Status Code Field Type Description

200 - Success

fileId Guid Identifier of resulting file

400 ndash Failure See error codes 10- 50 51 55 57

Response Example

fileIdd241244f-9d68-4e3b-9fa0-115b135019bf

12

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

213 Operation File Download HTTP GET web-apioperationfilefileId

URI parameters

Url part name Type Description

fileId Guid file identifier

Response Format

Http Status Code Field Type Description

200 ndash Success

404 ndash Failure See error codes 10 52

22 OPERATION STATUS API This API method allows to track current status of the operation whether it was completed

successful or failed

221 Operation status ndash polling request HTTP GET web-apioperationoperationIdstatus

Request format

Url part name Type Description

operationId Guid Operation identifier of previously posted operation

Response format

Response encoding type applicationjson

Http Status

Code

Field Type Description

200 - Success

operationId Guid Operation identifier

isCompleted Boolean Has operation been finished

isSuccessful Boolean Has operation completion been successful

404 ndash Failure See error codes 71

400 ndash Failure See error codes 10 70

Response JSON Format

operationIdd241244f-9d68-4e3b-9fa0-115b135019bf

isCompleted true

isSuccessful true

13

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

222 Operation status ndash callback API HTTP POST

Description

If you would rather avoid polling for status and you prepare end-points in your application

that we can use to notify you when an operation completes this is what information we will

provide

Request format

Content Type applicationjson

Field Type Description

operationId Guid Operation identifier

isSuccessful Boolean Has operation completion been successful

Request JSON

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

isSuccessful true

23 CONVERSION OPERATION HTTP POST web-apioperationstl-conversion

Description

It is possible to convert model to Stl format Currently we accept obj 3dm 3ds dae dxf

fbx iges igs ply skp slc vdafs vda vrml wrl zcp zpr files

Some of the file formats do not support measurement units (stl obj) It is possible to

indicate in which measurements units a particular model was created By default

MeasurementUnits parameter will be interpreted as millimeters

Request format

Request encoding type applicationjson

Http Status

Code

Field Name Type Description

200 ndash Success

fileId Guid File unique Identifier

measurementUnits String Measurement units in which model was

created Possible options

(lsquommrsquoinchrsquorsquomrsquorsquorsquonull)

callbackUrl String Url called when operation completed

Request JSON Format

14

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

measurementUnits mm

callbackUrlrdquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

400-Failure See error codes10 50 200

404-Not Found See error codes 52

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

24 CONVERSION OPERATION RESULT HTTP GET web-apioperationoperationIdstl-conversionresult

Uri parameters

Url part name Type Description

operationId Guid operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

fileId Guid Converted stl file

404-Not Found See error codes 71

400-Failure See error codes 10 90

25 ANALYZE OPERATION HTTP POST web-apioperationanalyze

Request encoding type applicationjson

Request format

15

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

Http Status Code Field Type Description

200 ndash Success

fileId Guid Operation unique Identifier for reference

callbackUrl String Url called when operation completed

Request JSON

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

callbackUrl rdquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes10 50

404-Not Found See error codes 52

Response JSON

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

26 ANALYZE OPERATION RESULT HTTP GET web-apioperationoperationIdanalyzeresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response encoding type applicationjson

Http Status

Code

Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

vertices Number Number of model vertices

triangles Number Number of model triangles

contours Number Number of model contours

shells Number Number of model shells

badEdges Number Number of model bad edges

16

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

badContours Number Number of model bad contours

volumeMm3 Float Volume of the model in mm3

dimensionXMm Float

dimensionYMm Float

dimensionZMm Float

surfaceAreaMm2 Float Area of the model surface in mm2

404-Not

Found

See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

vertices 8

triangles 12

contours 12

shells6

badEdges 0

badContours 0

volumeMm3 10

dimensionXMm 10

dimensionYMm 10

dimensionZMm 10

surfaceAreaMm2 10

If BadContours gt 0 OR BadEdges gt 0 OR VolumeMm3 lt 0 we recommend to Repair the

model

27 GEOMETRICAL REPAIR OPERATION Description

This operation allows to get the best possible geometrical repaired model This operation

will not change the geometry of your part however for complex models you might not get a

fully watertight result

HTTP POST web-apioperationgeometrical-repair

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique Identifier for reference

callbackUrl String Url called when operation completed

Request JSON

17

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

callbackUrl ldquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status

Code

Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes10- 50

404-Not Found See error codes 52

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

28 GEOMETRICAL REPAIR OPERATION RESULT HTTP GET web-apioperationoperationIdgeometrical-repairresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

fileId Guid Repaired file id

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

18

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

29 SHRINKWRAP REPAIR OPERATION Description

This operation allows to get a watertight model with slight geometrical impact We will

apply shrinkwrap on your model to repair most difficult parts and therefore handle complex

issues

HTTP POST web-apioperationshrinkwrap-repair

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique Identifier for reference

accuracy String Accepted values ldquoRoughrdquo ldquoSmoothrdquo ldquoDetailedrdquo Higher level will produce better qualitative results however it will take more time for the result to be available

callbackUrl String Url called when operation completed

Request JSON

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

accuracy ldquoSmoothrdquo

callbackUrl rdquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status

Code

Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes10- 50 600

404-Not Found See error codes 52

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

19

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

210 SHRINKWRAP REPAIR OPERATION RESULT HTTP GET web-apioperationoperationIdshrinkwrap-repairresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

fileId Guid Repaired file id

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

211 REPAIR OPERATION Description

This operation allows to automatically combine geometrical result with shrinkwrap for a

higher chance of having a watertight model being the best result between a geometrically

repaired part or shrinkwrap repaired part If your application is sensitive to geometrical

changes we advise you using the Geometrical Repair described above

HTTP POST web-apioperationrepair

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique Identifier for reference

callbackUrl String Url called when operation completed

Request JSON

20

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

callbackUrl rdquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status

Code

Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes10- 50

404-Not Found See error codes 52

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

212 REPAIR OPERATION RESULT HTTP GET web-apioperationoperationIdrepairresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

fileId Guid Repaired file id

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

21

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

213 WALL THICKNESS ANALYSIS OPERATION Description

This operation allows to analyze model for finding areas which are too thin for printing

Result of the analysis is a model painted with green if all is Ok If there are too thin areas on

the model surface it will be painted with red If there are areas which are suspected to be

too thin it will be painted with yellow

HTTP POST web-apioperationwall-thickness-analysis

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File for analysis unique

identifier

minimalWallThicknessMm Float Minimal acceptable wall

thickness Optional Default

value = 08

accuracyWallThickness Number Number will define the

resolution (and speed)

Optional Default value = 2

Acceptable values 2 4 6 8

10

A higher number will be more

accurate but slower in

processing

callbackUrl String Url called when operation

completed

Request JSON Format

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

minimalWallThicknessMm 12

accuracyWallThickness 2

callbackUrl httpsmysitecomoperation683561callback

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

22

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

200 ndash Success

operationId Guid Operation unique Identifier for

reference

400-Failure See error codes10- 50 300 301

404-Not Found See error codes 52

Response JSON Format

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

214 WALL THICKNESS ANALYSIS RESULT HTTP GET web-apioperationoperationIdwall-thickness-analysisresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

fileId Guid Analysed file id

hasThinWalls Boolean Indicate that model contains too

thin walls

hasPossibleThinWalls Boolean Indicate that model contains too

walls which are suspected to be

too thin

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

hasThinWalls false

hasPossibleThinWalls true

23

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

215 SCALING OPERATION Description

This operation allows to uniformly scale an stl model to a specified size on one of the axis

HTTP POST web-apioperationscale

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique identifier

axis String Name of axis you want to scale (X Y Z)

scaleToSizeMm Float Millimeters value of the desired dimension

on the specified axis Other axes will be

scaled proportionally Range 001mm ndash

10000mm

callbackUrl String Url called when operation completed

Request JSON

fileId ldquod241244f-9d68-4e3b-9fa0-115b135019bfrdquo

axis ldquoXrdquo

scaleToSizeMm 150

callbackUrl ldquohttpsmysitecomoperation683561callbackrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes 10- 50 400 401

404-Not Found See error codes 52

Response JSON

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

216 SCALING RESULT HTTP GET web-apioperationoperationIdscaleresult

Request format

24

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

fileId Guid Scaled file id

404-Not Found See error codes 71

400-Failure See error codes 10- 73 74

Response JSON

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

21 REDUCE TRIANGLES OPERATION Description

Use this operation to reduce triangles in an STL 3d model When any of the arguments is not

supplied (null or empty string) it automatically defaults to a predefined value (see table

below)

HTTP POST web-apioperationreduce-triangles

Request encoding type applicationjson

Request format

Field Type Description

fileId Guid File unique identifier

accuracyMm Number Floating point value between 0 and 10 When not supplied (null) defaults to 0005

maxAngle Number Integer number between 0 and 90 When not supplied (null) defaults to 5

numberOfIterations Number Integer number between 1 and 1000 When not supplied (null) defaults to 5

callbackUrl String Url called when operation completed

Request JSON

fileId ldquod241244f-9d68-4e3b-9fa0-115b135019bfrdquo

accuracyMm 0005

25

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

maxAngle 5

numberOfIterations 5

callbackUrl ldquohttpsmysitecomoperation683561callbackrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes 10 50 700 701 702

404-Not Found See error codes 52

Response JSON

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

22 REDUCE TRIANGLES RESULT HTTP GET web-apioperationoperationIdreduce-trianglesresult

Request format

Url parameters

Url part name Type Description

operationId Guid Operation identifier

221 Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

fileId Guid Model with reduced triangles

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

23 GENERATE THUMBNAIL OPERATION Description

This operation allows to generate preview thumbnail for a model

HTTP POST web-apioperationthumbnail

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique identifier

26

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

width Number Thumbnail width in pixels

height Number Thumbnail height in pixels

cameraAngleX Number Camera angle relative to the X axis

cameraAngleY Number Camera angle relative to the Y axis

cameraAngleZ Number Camera angle relative to the Z axis

callbackUrl String Url called when operation completed

Request JSON

fileId ldquod241244f-9d68-4e3b-9fa0-115b135019bfrdquo

width 100

height 100

cameraAngleX -70

cameraAngleY 0

cameraAngleZ 30

callbackUrl ldquohttpsmysitecomoperation683561callbackrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes 10 50 500 501

404-Not Found See error codes 52

Response JSON

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

24 THUMBNAIL RESULT HTTP GET web-apioperationoperationIdthumbnailresult

Request format

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

27

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

200 ndash Success

fileId Guid Model thumbnail file id

404-Not Found See error codes 71

400-Failure See error codes 10- 73 74

Response JSON

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

28

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

3 ERROR CODES

31 GENERAL ERRORS Code Message Meaning

10 Server error

11 Temporary error Please retry later

or contact us email if error

persists

12 Access denied

13 Invalid request format One or more of the parameters supplied

for the requested method are invalid

(Example string provided instead of int

etc) The parameters with the wrong value

will be provided in the message in the

format The value supplied for parameter

0 is invalid

32 FILE API ERRORS Code Message Meaning

50 Currently only Stl files are

supported

51 File is too big File was not saved

52 File was not found or you are not

the owner of the file File id file id

53 File Content is empty

54 Chunk is too big

55 Chunked upload commit error

56 Chunk is empty

57 File with id id already exists If you try to upload a chunk or commit a chunked upload using a file id of an existing file (of either a regular file upload or a committed chunked upload) yoursquoll receive this error to prevent from corrupting an existing file

33 GENERAL OPERATIONS RELATED ERRORS

Code Message Meaning

70 Operation request failed In case there is no concrete error API raises

this error

29

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

34 CONVERSION OPERATIONS SPECIFIC ERRORS Code Message Meaning

200 Unsupported Measurement units

35 WALL THICKNESS ANALYSIS OPERATION SPECIFIC ERRORS Code Message Meaning

300 Wrong minimal wall thickness Value should be between 01 and 20 (mm)

301 Wrong accuracy wall thickness

value

Value should be only one of predefined

value values (see Wall Thickness Analysis

Operation)

302 The model is too big Please scale it down

One of the model dimensions is too big Scale it down Dimension size should not exceed 500 mm

36 SCALING OPERATION SPECIFIC ERRORS Code Message Meaning

400 Scale value is not in the appropriate range

Value should be in range 001 ndash 10000

401 Axis is incorrect Value should be one of the predefined list (X Y Z)

37 GENERATE THUMBNAIL OPERATION SPECIFIC ERRORS Code Message Meaning

500 Wrong thumbnail size The width and height should be not less than 10 px but not more than 10000 px

501 Wrong camera angle Value should be in range from -180 to 180 degree

71 Operation was not found or you are

not the owner of the operation

Operation id id

72 A timeout occurred while

processing your file Your file may

be too big or complex

73 Operation with 0 has not finished

yet

74 Operation with Id 0 failed No

results available Use operation

status Api to get detailed error

30

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

38 SHRINKWRAP OPERATION SPECIFIC ERRORS Code Message Meaning

600 Accuracy value is not in appropriate range

Value should in range 100 ndash 500

39 REDUCE TRIANGLES OPERATION SPECIFIC ERRORS Code Message Meaning

700 The parameter Accuracy (mm) is invalid expecting a floating point value between 0 and 10 mm

The value should be a floating point number between 0 and 10

701 The parameter Max Angle is invalid expecting a value between 0 and 90

The value should be an integer number between 0 and 90

702 The parameter Number of Iterations is invalid expecting a value between 1 and 1000

The value should be an integer number between 1 and 1000

Page 3: API Developer Documentation - Materialise...API Developer Documentation 1 cloud.materialise.com – 3DPrintCloud@materialise.com INTRODUCTION TO 3DPRINTCLOUD API The 3DPrintCloud API

2

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

What will you find in the 3DPrintCloud API Documentation

INTRODUCTION TO 3DPRINTCLOUD API 0

1 AUTHORIZATION - 3DPRINTCLOUD OAUTH2 4

11 AUTHORIZATION API 4 12 USING THE AUTHORIZATION TOKEN 5 13 GETTING THE REFRESH TOKEN USING OAUTH2 6

2 API METHODS 8

21 OPERATION FILES API 8 22 OPERATION STATUS API 12 23 CONVERSION OPERATION 13 24 CONVERSION OPERATION RESULT 14 25 ANALYZE OPERATION 14 26 ANALYZE OPERATION RESULT 15 27 GEOMETRICAL REPAIR OPERATION 16 28 GEOMETRICAL REPAIR OPERATION RESULT 17 29 SHRINKWRAP REPAIR OPERATION 18 210 SHRINKWRAP REPAIR OPERATION RESULT 19 211 REPAIR OPERATION 19 212 REPAIR OPERATION RESULT 20 213 WALL THICKNESS ANALYSIS OPERATION 21 214 WALL THICKNESS ANALYSIS RESULT 22 215 SCALING OPERATION 23 216 SCALING RESULT 23 21 REDUCE TRIANGLES OPERATION 24 22 REDUCE TRIANGLES RESULT 25 23 GENERATE THUMBNAIL OPERATION 25 24 THUMBNAIL RESULT 26

3 ERROR CODES 28

31 GENERAL ERRORS 28 32 FILE API ERRORS 28 33 GENERAL OPERATIONS RELATED ERRORS 28 34 CONVERSION OPERATIONS SPECIFIC ERRORS 29 35 WALL THICKNESS ANALYSIS OPERATION SPECIFIC ERRORS 29 36 SCALING OPERATION SPECIFIC ERRORS 29 37 GENERATE THUMBNAIL OPERATION SPECIFIC ERRORS 29 38 SHRINKWRAP OPERATION SPECIFIC ERRORS 30 39 REDUCE TRIANGLES OPERATION SPECIFIC ERRORS 30

To have access to the 3DPrintCloud API you will need a client_id and a client_secret These are used to identify your application to 3DPrintCloud For instructions on how to obtain a client_id and client_secret please contact us at 3DPrintCloudmaterialisecom

3

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

General Notes

- Examples across the documentation use the 3DPrintCloud Production URL prefix

httpsapicloudmaterialisecom however when you get started you will be

developing and testing using the Sandbox URL prefix httpsapi-cloudtoolkit-

sandboxmaterialisenet

- Data created in the Sandbox will not be available in production

- When you are ready to deploy your application in production a new client_id and

client_secret will be provided for the 3DPrintCloud Production API

4

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

1 AUTHORIZATION - 3DPRINTCLOUD OAUTH2

All API methods require authorization The information below describes the steps to get an

authorization token and the usage of the token to authorize for API methods

3DPrintCloud authentication returns an authorization token A new token must be

generated for each session Every authorization token is issued with a refresh token used to

obtain a new authorization token when the existing one expires

The authorization token is short lived ndash 15 minutes ndash for security reasons To make a new

API request you may either get a new authorization token or use a refresh token

A refresh token is long lived ndash 2 months ndash and doesnrsquot require a userrsquos password Each

refresh token can be used only once It should be secretly stored in your application

11 AUTHORIZATION API POST Token

POST the Token request requires an HTTP basic authentication header in the format

Authorization Basic code

Replace code with the Base64 encoded value of client_idclient_secret encoded as a

single string including the colon

Header

Add Authorization header in the following format

Authorization Basic [Base64 encoding of client_idclient_secret]

Make sure client_idclient_secret is Base64 encoded

Example

Name Value client_id test_user

client_secret test_secret

test_usertest_secret in base64 dGVzdF91c2VyOnRlc3Rfc2VjcmV0

Resulting header Authorization Basic

dGVzdF91c2VyOnRlc3Rfc2VjcmV0

URI Parameters

None

Request Body Parameters

Name Description Type Is Required

grant_type Type of grant required Use ldquopasswordrdquo String Yes

username The username in the application String Yes

password The password in the application String Yes

5

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

Sample request

POST httpsapicloudmaterialisecomToken HTTP11

Authorization Basic

zXdtLXNlcnZpY2U6MhkyOTA0RUItNjg2My00ODhyLTk1OEItMUMzQjI0OTVBM0I4

Content-Type applicationx-www-form-urlencoded

Host apicloudmaterialisecom

grant_type=passwordampusername=testtestcomamppassword=my_password

Sample response

HTTP11 200 OK

Cache-Control no-cache

Pragma no-cache

Content-Length 851

Content-Type applicationjsoncharset=UTF-8

Expires -1

Date Thu 30 Jul 2015 090554 GMT

access_tokenEye8dHrbdJGPkfOf0AyHEoR5mWoa-

JJTjFt5XqGQL5s3wbG6ghks7QrcgFVH8tTwo7WlSRjOJBqm6ogqy49O_SB3FnjTCc1SS6pD4r3k

YGh96O3u1kaWNBFvdVYJG3Aw89sOCGQOaB_zJsJGfXjYxpeNUVbVDvmGDEmmoCrpoyObz2kPHBp

fIlCkQtDCew280HErrlqZz-

EB6EygRb4AZ0Ri5ODT5jn8ZSDH5PlUPTtHVWZRmIODqABHPxDSAPWa5_-

LD96BQxZhmYtNTc3GBSRifvxi29-

_2J5E5yU1MCfHr9dytmQEBNMXf3ckLalmbD34wmYgNPr8O_pM__LPHe9ymy03RYeNXDCi2uvUhR

tFAMfj0-OR8_O-

Zuxf1aRUz3zqRCgayqymuWduRwFHeouWoFmlK5BBGtCknBA6NDarZ0gimnEDld7o6AShZR2ZFzB

nnMRXTFH1mu-Lfre1TW0BfUwpNFDo-49itELxXcgerGsok61yIsaxVKQ-

uf5NWw0m29TnkZB5nSyxOtyJ_ZVKBoSbtMWbLNGAh0S6uJLSDZTwY2gqgxPAcxAFbyBSxhl1Fg

token_typebearer

expires_in899

refresh_tokena5beac8430c64d81aa3282c9f19a183e

userName25bbc91c-a4ac-4877-b5a0-0aad9deb34c0

asclient_idapitest

issuedThu 30 Jul 2015 090549 GMT

expiresThu 30 Jul 2015 092049 GMT

12 USING THE AUTHORIZATION TOKEN To use the authorization token add an Authorization header to your API requests in the

following format

Authorization Bearer token

Example

POST httpsapicloudmaterialisecomweb-apioperationfix HTTP11

6

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

Authorization Bearer TJHid1LfbdxsVD48mB7nwMr4fQhrKY9eEmPhF-

ZUGs4idTYrR5yRgEllLcBA1JpOUgb4DZ6tQVgh-

bjxwR_PxubNLEtuCDOoB2t_X1RdTObOerzugNezPsRpnSXQC3ytCnnBeNxkd58nHeFVtvsw5U3n

i7uayUHY8_tpR14ldM6LNFDTpOL_2fYU2gyGGFXxBgQuz4v5_0MYSwpUQQJ_kIM9S2wZstZi8gu

qDcPzJRWspJeYoqPVar__g30SAi-90j4vbmq9hWbT4XwdkGeXjztkV6XnnPaSXtR-

73kl58BgjAHOCNj0P6oQLYVMSDT7GCtASHH62k30D7c7Ku3nmFPZYnrEACycOhnYtaNVCoTekBi

8GqiaESRwAvzMTy0GggoMs78HXbPBnivOMI_PdxQRnxGT4zGxHhGvOgDVnYRJ9BqNBcqc6SCMyt

jfdY-

4sSoM4uUzILrqX15QQ5JK_RteIHbdX_7TfDeW_JEVGPxAS9BSdNKU0IwAqj4NdHzuEBafkA

Content-Type multipartform-data boundary=-------------------------

acebdf13572468

---------------------------acebdf13572468

Content-Disposition form-data name=fieldNameHere filename=Plugstl

Content-Type applicationvndms-pkistl

13 GETTING THE REFRESH TOKEN USING OAUTH2 POST Token

You can get your refresh token from the authorization tokenrsquos response (Token)

By issuing a request with the refresh token you get a new authorization token and a new

refresh token

To use the refresh token simply make a request on Token in the following format

Header

Authorization Basic [base64 encoding of client_idclient_secret]

Request Body Parameters

Name Description Type Is Required

grant_type Type of grant required Use

ldquorefresh_tokenrdquo

String Yes

refresh_token The refresh token from the

authorization token request

String Yes

Sample request

POST httpsapicloudmaterialisecomToken HTTP11

Content-Length 92

Authorization Basic

YXBpdGVzdDo3ZjRlMDU4ZS00MGJlLTQ1NzktYTQxMC01YWM5ZDExYmRiOWI=

grant_type=refresh_tokenamprefresh_token=a5beac8430c64d81aa3282c9f19a183e

Sample response

HTTP11 200 OK

Cache-Control no-cache

7

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

Pragma no-cache

Content-Length 851

Content-Type applicationjsoncharset=UTF-8

Expires -1

Date Thu 30 Jul 2015 090839 GMT

access_tokenPSmVR2cKB_Ozjls-rDrGdNLetRyEdqeB4GwETTnukCWtSCsA6ve12-

Gb_a6x1CvCATFKv5yBtQ7v_hvm3BdVOQNlBHoiTlPaDqLdTcK8Hdk38kv2iKJg3py_OCXwiZZRr

eMc9cSp1o-x6QIeoH4gahVct9weyRx99ToZYV-VTuOWYGQkmgpYj_pOefMRqTNqEbcjN-wghTR-

uBtGLw5pPWOtI__3QP9FX_r9ofCx4bNNVYRTgHzfaap6tJ9XMwzlvyIZ34gceW792h7jzFkfRp7

4SCeUVsYACOJeVA3ZCt1nHXwAcWf-

NvG7gdS0qhnD5eA40kB8Ix2xeGxGwAxZao0AdRIkoLlllo6iK3i40dJMktmCnrd1p5_f7AWmnwg

n03zFtEJop0uwSv3LsG9qqURxvo-ccx-

o9DxwelK1FLBIqy10dqV_8CkyCDOCwxi54Wn8x0VJ6vvCin7t5jOmyGQ_UiVRMrtYD-CLnp-

8wV87Jqckve6fMGNhrIOsMbR3jltsMl3fqNBB4sDjyVI_GALxYx93Cm-

0cs25uH8BrtJuoZJ5cU0QMH4zGD1OXRN9mj2tLg

token_typebearer

expires_in899

refresh_token800933aef9d942839fe4176887830c5e

userName25bbc91c-a4ac-4877-b5a0-0aad9deb34c0

asclient_idapitest

issuedThu 30 Jul 2015 090838 GMT

expiresThu 30 Jul 2015 092338 GMT

8

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

2 API METHODS

General considerations

- Before calling any of API methods please make sure that you have received the

token which should be passed along the request as described above

- Usually the request should be in JSON format We accept applicationjson as well as

textjson content types

Errors handling

- In case of successful call we usually send a response with 200 HTTP status code If for

some reason an error has happened we will send a response with HTTP status code

400 or higher

- The full list of errors you can find in the special section of this document or next to

the description of a particular API method

- Error will be in JSON format

Field Type Description

errors Array Array of errors

errors[]code Int Error code

errors[]message String Error message

Error JSON Sample

errors [

code 70

message Operation request failed

]

21 OPERATION FILES API Before running any operation the 3d model file has to be uploaded to our server

211 Operation File Upload HTTP POST web-apioperationfile

Description

You need to upload your model file to our storage before running any operation

URI parameters

None

Request Headers

Content-Type multipartform-data

9

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

Request Body

Binary file with metadata see sample below

Sample

POST httpsapicloudmaterialisecomweb-apioperationfix HTTP11

Authorization Bearer djxmeOuuVxPR1LbyopkMlWtpL6GcxckYN-

74Sn9wREke70X9G6osLFt8-1vFzJZJ9ZaMe6ytioA7U2mq7r9qOEs9jg8R7lxRoWf-

HRhNPIgoUdf6EFO_tFyF4NdkkC9eins-zl-NxN4XXQLmPFE0Qpcb4mlNRTETeQ-

aX38PasCsi2Ylvdqtl48HDNpf76kKbDaE83nq3DuA3cAqAbUMnMOUf2dC2dTX0VC2Bajs-

q0FI7xiNgDN2fuaLpPMCRlMR_wGt68mrnrmm-

55WFjYUxFGLlsrLJERHeftXeagPeMzCGht0DFxH4LzhEssfu4wPUoAiL0XcPfD1FTkbZpWZtSHt

cLPQ8N4R-B1s5md_A1fMSrLoqhZKz9q2-

CuBSsy6A7olziacje3bqX9ZpG1gB6wSsjD4Htlk7EM3tCSC86cLP_dJtPxH6bCRZdXgGuQADgYb

ETsMNBhQ5cZo-P8WBnUNzKaBMvgdSvzFu8v0z3Js1Yc2urks_3kUW1Mox5bqrCHTA

Content-Type multipartform-data boundary=-------------------------

acebdf13572468

---------------------------acebdf13572468

Content-Disposition form-data name=fieldNameHere filename=Plugstl

Content-Type applicationvndms-pkistl

file-contents-here

---------------------------acebdf13572468--

Response Format

Http Status Code Field Type Description

200 - Success

fileId Guid File Identifier

fileUrl String File Url

creationDate DateTime File Utc date in Iso format

400 ndash Failure See error codes 10 50 51

Response Example

fileIdd241244f-9d68-4e3b-9fa0-115b135019bf

fileUrl ldquohttprdquo

creationDate 2015-01-01T232856782Z

212 Operation File Chunked Upload HTTP POST web-apioperationfilechunked

Description

Use this method to initiate a chunked upload

Request Format

10

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

URI parameters

None

Request Headers

None

Request Body

None

Response Format

Http Status Code Field Type Description

200 - Success uploadId Guid Upload Identifier

Response Example

uploadIdd241244f-9d68-4e3b-9fa0-115b135019bf

2121 Operation Input Upload File Chunk HTTP POST web-apioperationfileuploadIdchunkchunkIndex

Description

Use this method to upload a chunk with the specified index The chunk index is an integer

starting from 0 with an increment of 1 which specifies the chunkrsquos order in the resulting file

Each chunk must not exceed 4MB in size

Request Format

Url part name Type Description

uploadId Guid Identifier of previously initiated chunked upload

chunkIndex Integer Integer number (starting from 0) denoting the order of the

chunk in the file

Request Headers Content-Type applicationoctet-stream (optional)

Request Body

Chunk content

Sample POST httpsapicloudmaterialisecomweb-apioperationfile8d875aed-9603-4ad4-b075-2c4f122bfb8echunk0 HTTP11 Content-Length 300

Content-Type applicationoctet-stream

chunk content here

Response Format

Http Status Code Field Type Description

200 - Success

11

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

uploadId Guid Upload Identifier

chunkId String Identifier of uploaded chunk

400 ndash Failure See error codes 10- 54 56 57

Response Example

uploadIdd241244f-9d68-4e3b-9fa0-115b135019bf

chunkId ldquoAAAAAA==rdquo

2122 Operation Input Complete Chunked Upload HTTP POST web-apioperationfileuploadId

Description

Use this method to complete a chunked upload and get the Id of the resulting file

Request Format

Url part name Type Description

uploadId Guid Identifier of previously initiated chunked upload

Request Headers Content-Type applicationjson

Request Body

Field Type Description

fileName String Name of resulting file with extension

chunkIds Array[String] An array of ordered chunk identifiers received from the Upload Chunk API method Note the Ids must be in a correct order

Sample POST httpapicloudmaterialisecomweb-apioperationfile8d875aed-9603-4ad4-b075-2c4f122bfb8e HTTP11 Content-Type applicationjson chunkIds [AAAAAA== AQAAAA== AgAAAA== ] fileName filestl

Response Format

Http Status Code Field Type Description

200 - Success

fileId Guid Identifier of resulting file

400 ndash Failure See error codes 10- 50 51 55 57

Response Example

fileIdd241244f-9d68-4e3b-9fa0-115b135019bf

12

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

213 Operation File Download HTTP GET web-apioperationfilefileId

URI parameters

Url part name Type Description

fileId Guid file identifier

Response Format

Http Status Code Field Type Description

200 ndash Success

404 ndash Failure See error codes 10 52

22 OPERATION STATUS API This API method allows to track current status of the operation whether it was completed

successful or failed

221 Operation status ndash polling request HTTP GET web-apioperationoperationIdstatus

Request format

Url part name Type Description

operationId Guid Operation identifier of previously posted operation

Response format

Response encoding type applicationjson

Http Status

Code

Field Type Description

200 - Success

operationId Guid Operation identifier

isCompleted Boolean Has operation been finished

isSuccessful Boolean Has operation completion been successful

404 ndash Failure See error codes 71

400 ndash Failure See error codes 10 70

Response JSON Format

operationIdd241244f-9d68-4e3b-9fa0-115b135019bf

isCompleted true

isSuccessful true

13

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

222 Operation status ndash callback API HTTP POST

Description

If you would rather avoid polling for status and you prepare end-points in your application

that we can use to notify you when an operation completes this is what information we will

provide

Request format

Content Type applicationjson

Field Type Description

operationId Guid Operation identifier

isSuccessful Boolean Has operation completion been successful

Request JSON

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

isSuccessful true

23 CONVERSION OPERATION HTTP POST web-apioperationstl-conversion

Description

It is possible to convert model to Stl format Currently we accept obj 3dm 3ds dae dxf

fbx iges igs ply skp slc vdafs vda vrml wrl zcp zpr files

Some of the file formats do not support measurement units (stl obj) It is possible to

indicate in which measurements units a particular model was created By default

MeasurementUnits parameter will be interpreted as millimeters

Request format

Request encoding type applicationjson

Http Status

Code

Field Name Type Description

200 ndash Success

fileId Guid File unique Identifier

measurementUnits String Measurement units in which model was

created Possible options

(lsquommrsquoinchrsquorsquomrsquorsquorsquonull)

callbackUrl String Url called when operation completed

Request JSON Format

14

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

measurementUnits mm

callbackUrlrdquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

400-Failure See error codes10 50 200

404-Not Found See error codes 52

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

24 CONVERSION OPERATION RESULT HTTP GET web-apioperationoperationIdstl-conversionresult

Uri parameters

Url part name Type Description

operationId Guid operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

fileId Guid Converted stl file

404-Not Found See error codes 71

400-Failure See error codes 10 90

25 ANALYZE OPERATION HTTP POST web-apioperationanalyze

Request encoding type applicationjson

Request format

15

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

Http Status Code Field Type Description

200 ndash Success

fileId Guid Operation unique Identifier for reference

callbackUrl String Url called when operation completed

Request JSON

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

callbackUrl rdquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes10 50

404-Not Found See error codes 52

Response JSON

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

26 ANALYZE OPERATION RESULT HTTP GET web-apioperationoperationIdanalyzeresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response encoding type applicationjson

Http Status

Code

Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

vertices Number Number of model vertices

triangles Number Number of model triangles

contours Number Number of model contours

shells Number Number of model shells

badEdges Number Number of model bad edges

16

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

badContours Number Number of model bad contours

volumeMm3 Float Volume of the model in mm3

dimensionXMm Float

dimensionYMm Float

dimensionZMm Float

surfaceAreaMm2 Float Area of the model surface in mm2

404-Not

Found

See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

vertices 8

triangles 12

contours 12

shells6

badEdges 0

badContours 0

volumeMm3 10

dimensionXMm 10

dimensionYMm 10

dimensionZMm 10

surfaceAreaMm2 10

If BadContours gt 0 OR BadEdges gt 0 OR VolumeMm3 lt 0 we recommend to Repair the

model

27 GEOMETRICAL REPAIR OPERATION Description

This operation allows to get the best possible geometrical repaired model This operation

will not change the geometry of your part however for complex models you might not get a

fully watertight result

HTTP POST web-apioperationgeometrical-repair

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique Identifier for reference

callbackUrl String Url called when operation completed

Request JSON

17

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

callbackUrl ldquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status

Code

Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes10- 50

404-Not Found See error codes 52

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

28 GEOMETRICAL REPAIR OPERATION RESULT HTTP GET web-apioperationoperationIdgeometrical-repairresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

fileId Guid Repaired file id

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

18

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

29 SHRINKWRAP REPAIR OPERATION Description

This operation allows to get a watertight model with slight geometrical impact We will

apply shrinkwrap on your model to repair most difficult parts and therefore handle complex

issues

HTTP POST web-apioperationshrinkwrap-repair

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique Identifier for reference

accuracy String Accepted values ldquoRoughrdquo ldquoSmoothrdquo ldquoDetailedrdquo Higher level will produce better qualitative results however it will take more time for the result to be available

callbackUrl String Url called when operation completed

Request JSON

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

accuracy ldquoSmoothrdquo

callbackUrl rdquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status

Code

Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes10- 50 600

404-Not Found See error codes 52

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

19

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

210 SHRINKWRAP REPAIR OPERATION RESULT HTTP GET web-apioperationoperationIdshrinkwrap-repairresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

fileId Guid Repaired file id

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

211 REPAIR OPERATION Description

This operation allows to automatically combine geometrical result with shrinkwrap for a

higher chance of having a watertight model being the best result between a geometrically

repaired part or shrinkwrap repaired part If your application is sensitive to geometrical

changes we advise you using the Geometrical Repair described above

HTTP POST web-apioperationrepair

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique Identifier for reference

callbackUrl String Url called when operation completed

Request JSON

20

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

callbackUrl rdquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status

Code

Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes10- 50

404-Not Found See error codes 52

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

212 REPAIR OPERATION RESULT HTTP GET web-apioperationoperationIdrepairresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

fileId Guid Repaired file id

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

21

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

213 WALL THICKNESS ANALYSIS OPERATION Description

This operation allows to analyze model for finding areas which are too thin for printing

Result of the analysis is a model painted with green if all is Ok If there are too thin areas on

the model surface it will be painted with red If there are areas which are suspected to be

too thin it will be painted with yellow

HTTP POST web-apioperationwall-thickness-analysis

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File for analysis unique

identifier

minimalWallThicknessMm Float Minimal acceptable wall

thickness Optional Default

value = 08

accuracyWallThickness Number Number will define the

resolution (and speed)

Optional Default value = 2

Acceptable values 2 4 6 8

10

A higher number will be more

accurate but slower in

processing

callbackUrl String Url called when operation

completed

Request JSON Format

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

minimalWallThicknessMm 12

accuracyWallThickness 2

callbackUrl httpsmysitecomoperation683561callback

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

22

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

200 ndash Success

operationId Guid Operation unique Identifier for

reference

400-Failure See error codes10- 50 300 301

404-Not Found See error codes 52

Response JSON Format

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

214 WALL THICKNESS ANALYSIS RESULT HTTP GET web-apioperationoperationIdwall-thickness-analysisresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

fileId Guid Analysed file id

hasThinWalls Boolean Indicate that model contains too

thin walls

hasPossibleThinWalls Boolean Indicate that model contains too

walls which are suspected to be

too thin

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

hasThinWalls false

hasPossibleThinWalls true

23

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

215 SCALING OPERATION Description

This operation allows to uniformly scale an stl model to a specified size on one of the axis

HTTP POST web-apioperationscale

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique identifier

axis String Name of axis you want to scale (X Y Z)

scaleToSizeMm Float Millimeters value of the desired dimension

on the specified axis Other axes will be

scaled proportionally Range 001mm ndash

10000mm

callbackUrl String Url called when operation completed

Request JSON

fileId ldquod241244f-9d68-4e3b-9fa0-115b135019bfrdquo

axis ldquoXrdquo

scaleToSizeMm 150

callbackUrl ldquohttpsmysitecomoperation683561callbackrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes 10- 50 400 401

404-Not Found See error codes 52

Response JSON

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

216 SCALING RESULT HTTP GET web-apioperationoperationIdscaleresult

Request format

24

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

fileId Guid Scaled file id

404-Not Found See error codes 71

400-Failure See error codes 10- 73 74

Response JSON

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

21 REDUCE TRIANGLES OPERATION Description

Use this operation to reduce triangles in an STL 3d model When any of the arguments is not

supplied (null or empty string) it automatically defaults to a predefined value (see table

below)

HTTP POST web-apioperationreduce-triangles

Request encoding type applicationjson

Request format

Field Type Description

fileId Guid File unique identifier

accuracyMm Number Floating point value between 0 and 10 When not supplied (null) defaults to 0005

maxAngle Number Integer number between 0 and 90 When not supplied (null) defaults to 5

numberOfIterations Number Integer number between 1 and 1000 When not supplied (null) defaults to 5

callbackUrl String Url called when operation completed

Request JSON

fileId ldquod241244f-9d68-4e3b-9fa0-115b135019bfrdquo

accuracyMm 0005

25

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

maxAngle 5

numberOfIterations 5

callbackUrl ldquohttpsmysitecomoperation683561callbackrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes 10 50 700 701 702

404-Not Found See error codes 52

Response JSON

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

22 REDUCE TRIANGLES RESULT HTTP GET web-apioperationoperationIdreduce-trianglesresult

Request format

Url parameters

Url part name Type Description

operationId Guid Operation identifier

221 Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

fileId Guid Model with reduced triangles

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

23 GENERATE THUMBNAIL OPERATION Description

This operation allows to generate preview thumbnail for a model

HTTP POST web-apioperationthumbnail

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique identifier

26

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

width Number Thumbnail width in pixels

height Number Thumbnail height in pixels

cameraAngleX Number Camera angle relative to the X axis

cameraAngleY Number Camera angle relative to the Y axis

cameraAngleZ Number Camera angle relative to the Z axis

callbackUrl String Url called when operation completed

Request JSON

fileId ldquod241244f-9d68-4e3b-9fa0-115b135019bfrdquo

width 100

height 100

cameraAngleX -70

cameraAngleY 0

cameraAngleZ 30

callbackUrl ldquohttpsmysitecomoperation683561callbackrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes 10 50 500 501

404-Not Found See error codes 52

Response JSON

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

24 THUMBNAIL RESULT HTTP GET web-apioperationoperationIdthumbnailresult

Request format

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

27

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

200 ndash Success

fileId Guid Model thumbnail file id

404-Not Found See error codes 71

400-Failure See error codes 10- 73 74

Response JSON

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

28

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

3 ERROR CODES

31 GENERAL ERRORS Code Message Meaning

10 Server error

11 Temporary error Please retry later

or contact us email if error

persists

12 Access denied

13 Invalid request format One or more of the parameters supplied

for the requested method are invalid

(Example string provided instead of int

etc) The parameters with the wrong value

will be provided in the message in the

format The value supplied for parameter

0 is invalid

32 FILE API ERRORS Code Message Meaning

50 Currently only Stl files are

supported

51 File is too big File was not saved

52 File was not found or you are not

the owner of the file File id file id

53 File Content is empty

54 Chunk is too big

55 Chunked upload commit error

56 Chunk is empty

57 File with id id already exists If you try to upload a chunk or commit a chunked upload using a file id of an existing file (of either a regular file upload or a committed chunked upload) yoursquoll receive this error to prevent from corrupting an existing file

33 GENERAL OPERATIONS RELATED ERRORS

Code Message Meaning

70 Operation request failed In case there is no concrete error API raises

this error

29

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

34 CONVERSION OPERATIONS SPECIFIC ERRORS Code Message Meaning

200 Unsupported Measurement units

35 WALL THICKNESS ANALYSIS OPERATION SPECIFIC ERRORS Code Message Meaning

300 Wrong minimal wall thickness Value should be between 01 and 20 (mm)

301 Wrong accuracy wall thickness

value

Value should be only one of predefined

value values (see Wall Thickness Analysis

Operation)

302 The model is too big Please scale it down

One of the model dimensions is too big Scale it down Dimension size should not exceed 500 mm

36 SCALING OPERATION SPECIFIC ERRORS Code Message Meaning

400 Scale value is not in the appropriate range

Value should be in range 001 ndash 10000

401 Axis is incorrect Value should be one of the predefined list (X Y Z)

37 GENERATE THUMBNAIL OPERATION SPECIFIC ERRORS Code Message Meaning

500 Wrong thumbnail size The width and height should be not less than 10 px but not more than 10000 px

501 Wrong camera angle Value should be in range from -180 to 180 degree

71 Operation was not found or you are

not the owner of the operation

Operation id id

72 A timeout occurred while

processing your file Your file may

be too big or complex

73 Operation with 0 has not finished

yet

74 Operation with Id 0 failed No

results available Use operation

status Api to get detailed error

30

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

38 SHRINKWRAP OPERATION SPECIFIC ERRORS Code Message Meaning

600 Accuracy value is not in appropriate range

Value should in range 100 ndash 500

39 REDUCE TRIANGLES OPERATION SPECIFIC ERRORS Code Message Meaning

700 The parameter Accuracy (mm) is invalid expecting a floating point value between 0 and 10 mm

The value should be a floating point number between 0 and 10

701 The parameter Max Angle is invalid expecting a value between 0 and 90

The value should be an integer number between 0 and 90

702 The parameter Number of Iterations is invalid expecting a value between 1 and 1000

The value should be an integer number between 1 and 1000

Page 4: API Developer Documentation - Materialise...API Developer Documentation 1 cloud.materialise.com – 3DPrintCloud@materialise.com INTRODUCTION TO 3DPRINTCLOUD API The 3DPrintCloud API

3

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

General Notes

- Examples across the documentation use the 3DPrintCloud Production URL prefix

httpsapicloudmaterialisecom however when you get started you will be

developing and testing using the Sandbox URL prefix httpsapi-cloudtoolkit-

sandboxmaterialisenet

- Data created in the Sandbox will not be available in production

- When you are ready to deploy your application in production a new client_id and

client_secret will be provided for the 3DPrintCloud Production API

4

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

1 AUTHORIZATION - 3DPRINTCLOUD OAUTH2

All API methods require authorization The information below describes the steps to get an

authorization token and the usage of the token to authorize for API methods

3DPrintCloud authentication returns an authorization token A new token must be

generated for each session Every authorization token is issued with a refresh token used to

obtain a new authorization token when the existing one expires

The authorization token is short lived ndash 15 minutes ndash for security reasons To make a new

API request you may either get a new authorization token or use a refresh token

A refresh token is long lived ndash 2 months ndash and doesnrsquot require a userrsquos password Each

refresh token can be used only once It should be secretly stored in your application

11 AUTHORIZATION API POST Token

POST the Token request requires an HTTP basic authentication header in the format

Authorization Basic code

Replace code with the Base64 encoded value of client_idclient_secret encoded as a

single string including the colon

Header

Add Authorization header in the following format

Authorization Basic [Base64 encoding of client_idclient_secret]

Make sure client_idclient_secret is Base64 encoded

Example

Name Value client_id test_user

client_secret test_secret

test_usertest_secret in base64 dGVzdF91c2VyOnRlc3Rfc2VjcmV0

Resulting header Authorization Basic

dGVzdF91c2VyOnRlc3Rfc2VjcmV0

URI Parameters

None

Request Body Parameters

Name Description Type Is Required

grant_type Type of grant required Use ldquopasswordrdquo String Yes

username The username in the application String Yes

password The password in the application String Yes

5

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

Sample request

POST httpsapicloudmaterialisecomToken HTTP11

Authorization Basic

zXdtLXNlcnZpY2U6MhkyOTA0RUItNjg2My00ODhyLTk1OEItMUMzQjI0OTVBM0I4

Content-Type applicationx-www-form-urlencoded

Host apicloudmaterialisecom

grant_type=passwordampusername=testtestcomamppassword=my_password

Sample response

HTTP11 200 OK

Cache-Control no-cache

Pragma no-cache

Content-Length 851

Content-Type applicationjsoncharset=UTF-8

Expires -1

Date Thu 30 Jul 2015 090554 GMT

access_tokenEye8dHrbdJGPkfOf0AyHEoR5mWoa-

JJTjFt5XqGQL5s3wbG6ghks7QrcgFVH8tTwo7WlSRjOJBqm6ogqy49O_SB3FnjTCc1SS6pD4r3k

YGh96O3u1kaWNBFvdVYJG3Aw89sOCGQOaB_zJsJGfXjYxpeNUVbVDvmGDEmmoCrpoyObz2kPHBp

fIlCkQtDCew280HErrlqZz-

EB6EygRb4AZ0Ri5ODT5jn8ZSDH5PlUPTtHVWZRmIODqABHPxDSAPWa5_-

LD96BQxZhmYtNTc3GBSRifvxi29-

_2J5E5yU1MCfHr9dytmQEBNMXf3ckLalmbD34wmYgNPr8O_pM__LPHe9ymy03RYeNXDCi2uvUhR

tFAMfj0-OR8_O-

Zuxf1aRUz3zqRCgayqymuWduRwFHeouWoFmlK5BBGtCknBA6NDarZ0gimnEDld7o6AShZR2ZFzB

nnMRXTFH1mu-Lfre1TW0BfUwpNFDo-49itELxXcgerGsok61yIsaxVKQ-

uf5NWw0m29TnkZB5nSyxOtyJ_ZVKBoSbtMWbLNGAh0S6uJLSDZTwY2gqgxPAcxAFbyBSxhl1Fg

token_typebearer

expires_in899

refresh_tokena5beac8430c64d81aa3282c9f19a183e

userName25bbc91c-a4ac-4877-b5a0-0aad9deb34c0

asclient_idapitest

issuedThu 30 Jul 2015 090549 GMT

expiresThu 30 Jul 2015 092049 GMT

12 USING THE AUTHORIZATION TOKEN To use the authorization token add an Authorization header to your API requests in the

following format

Authorization Bearer token

Example

POST httpsapicloudmaterialisecomweb-apioperationfix HTTP11

6

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

Authorization Bearer TJHid1LfbdxsVD48mB7nwMr4fQhrKY9eEmPhF-

ZUGs4idTYrR5yRgEllLcBA1JpOUgb4DZ6tQVgh-

bjxwR_PxubNLEtuCDOoB2t_X1RdTObOerzugNezPsRpnSXQC3ytCnnBeNxkd58nHeFVtvsw5U3n

i7uayUHY8_tpR14ldM6LNFDTpOL_2fYU2gyGGFXxBgQuz4v5_0MYSwpUQQJ_kIM9S2wZstZi8gu

qDcPzJRWspJeYoqPVar__g30SAi-90j4vbmq9hWbT4XwdkGeXjztkV6XnnPaSXtR-

73kl58BgjAHOCNj0P6oQLYVMSDT7GCtASHH62k30D7c7Ku3nmFPZYnrEACycOhnYtaNVCoTekBi

8GqiaESRwAvzMTy0GggoMs78HXbPBnivOMI_PdxQRnxGT4zGxHhGvOgDVnYRJ9BqNBcqc6SCMyt

jfdY-

4sSoM4uUzILrqX15QQ5JK_RteIHbdX_7TfDeW_JEVGPxAS9BSdNKU0IwAqj4NdHzuEBafkA

Content-Type multipartform-data boundary=-------------------------

acebdf13572468

---------------------------acebdf13572468

Content-Disposition form-data name=fieldNameHere filename=Plugstl

Content-Type applicationvndms-pkistl

13 GETTING THE REFRESH TOKEN USING OAUTH2 POST Token

You can get your refresh token from the authorization tokenrsquos response (Token)

By issuing a request with the refresh token you get a new authorization token and a new

refresh token

To use the refresh token simply make a request on Token in the following format

Header

Authorization Basic [base64 encoding of client_idclient_secret]

Request Body Parameters

Name Description Type Is Required

grant_type Type of grant required Use

ldquorefresh_tokenrdquo

String Yes

refresh_token The refresh token from the

authorization token request

String Yes

Sample request

POST httpsapicloudmaterialisecomToken HTTP11

Content-Length 92

Authorization Basic

YXBpdGVzdDo3ZjRlMDU4ZS00MGJlLTQ1NzktYTQxMC01YWM5ZDExYmRiOWI=

grant_type=refresh_tokenamprefresh_token=a5beac8430c64d81aa3282c9f19a183e

Sample response

HTTP11 200 OK

Cache-Control no-cache

7

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

Pragma no-cache

Content-Length 851

Content-Type applicationjsoncharset=UTF-8

Expires -1

Date Thu 30 Jul 2015 090839 GMT

access_tokenPSmVR2cKB_Ozjls-rDrGdNLetRyEdqeB4GwETTnukCWtSCsA6ve12-

Gb_a6x1CvCATFKv5yBtQ7v_hvm3BdVOQNlBHoiTlPaDqLdTcK8Hdk38kv2iKJg3py_OCXwiZZRr

eMc9cSp1o-x6QIeoH4gahVct9weyRx99ToZYV-VTuOWYGQkmgpYj_pOefMRqTNqEbcjN-wghTR-

uBtGLw5pPWOtI__3QP9FX_r9ofCx4bNNVYRTgHzfaap6tJ9XMwzlvyIZ34gceW792h7jzFkfRp7

4SCeUVsYACOJeVA3ZCt1nHXwAcWf-

NvG7gdS0qhnD5eA40kB8Ix2xeGxGwAxZao0AdRIkoLlllo6iK3i40dJMktmCnrd1p5_f7AWmnwg

n03zFtEJop0uwSv3LsG9qqURxvo-ccx-

o9DxwelK1FLBIqy10dqV_8CkyCDOCwxi54Wn8x0VJ6vvCin7t5jOmyGQ_UiVRMrtYD-CLnp-

8wV87Jqckve6fMGNhrIOsMbR3jltsMl3fqNBB4sDjyVI_GALxYx93Cm-

0cs25uH8BrtJuoZJ5cU0QMH4zGD1OXRN9mj2tLg

token_typebearer

expires_in899

refresh_token800933aef9d942839fe4176887830c5e

userName25bbc91c-a4ac-4877-b5a0-0aad9deb34c0

asclient_idapitest

issuedThu 30 Jul 2015 090838 GMT

expiresThu 30 Jul 2015 092338 GMT

8

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

2 API METHODS

General considerations

- Before calling any of API methods please make sure that you have received the

token which should be passed along the request as described above

- Usually the request should be in JSON format We accept applicationjson as well as

textjson content types

Errors handling

- In case of successful call we usually send a response with 200 HTTP status code If for

some reason an error has happened we will send a response with HTTP status code

400 or higher

- The full list of errors you can find in the special section of this document or next to

the description of a particular API method

- Error will be in JSON format

Field Type Description

errors Array Array of errors

errors[]code Int Error code

errors[]message String Error message

Error JSON Sample

errors [

code 70

message Operation request failed

]

21 OPERATION FILES API Before running any operation the 3d model file has to be uploaded to our server

211 Operation File Upload HTTP POST web-apioperationfile

Description

You need to upload your model file to our storage before running any operation

URI parameters

None

Request Headers

Content-Type multipartform-data

9

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

Request Body

Binary file with metadata see sample below

Sample

POST httpsapicloudmaterialisecomweb-apioperationfix HTTP11

Authorization Bearer djxmeOuuVxPR1LbyopkMlWtpL6GcxckYN-

74Sn9wREke70X9G6osLFt8-1vFzJZJ9ZaMe6ytioA7U2mq7r9qOEs9jg8R7lxRoWf-

HRhNPIgoUdf6EFO_tFyF4NdkkC9eins-zl-NxN4XXQLmPFE0Qpcb4mlNRTETeQ-

aX38PasCsi2Ylvdqtl48HDNpf76kKbDaE83nq3DuA3cAqAbUMnMOUf2dC2dTX0VC2Bajs-

q0FI7xiNgDN2fuaLpPMCRlMR_wGt68mrnrmm-

55WFjYUxFGLlsrLJERHeftXeagPeMzCGht0DFxH4LzhEssfu4wPUoAiL0XcPfD1FTkbZpWZtSHt

cLPQ8N4R-B1s5md_A1fMSrLoqhZKz9q2-

CuBSsy6A7olziacje3bqX9ZpG1gB6wSsjD4Htlk7EM3tCSC86cLP_dJtPxH6bCRZdXgGuQADgYb

ETsMNBhQ5cZo-P8WBnUNzKaBMvgdSvzFu8v0z3Js1Yc2urks_3kUW1Mox5bqrCHTA

Content-Type multipartform-data boundary=-------------------------

acebdf13572468

---------------------------acebdf13572468

Content-Disposition form-data name=fieldNameHere filename=Plugstl

Content-Type applicationvndms-pkistl

file-contents-here

---------------------------acebdf13572468--

Response Format

Http Status Code Field Type Description

200 - Success

fileId Guid File Identifier

fileUrl String File Url

creationDate DateTime File Utc date in Iso format

400 ndash Failure See error codes 10 50 51

Response Example

fileIdd241244f-9d68-4e3b-9fa0-115b135019bf

fileUrl ldquohttprdquo

creationDate 2015-01-01T232856782Z

212 Operation File Chunked Upload HTTP POST web-apioperationfilechunked

Description

Use this method to initiate a chunked upload

Request Format

10

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

URI parameters

None

Request Headers

None

Request Body

None

Response Format

Http Status Code Field Type Description

200 - Success uploadId Guid Upload Identifier

Response Example

uploadIdd241244f-9d68-4e3b-9fa0-115b135019bf

2121 Operation Input Upload File Chunk HTTP POST web-apioperationfileuploadIdchunkchunkIndex

Description

Use this method to upload a chunk with the specified index The chunk index is an integer

starting from 0 with an increment of 1 which specifies the chunkrsquos order in the resulting file

Each chunk must not exceed 4MB in size

Request Format

Url part name Type Description

uploadId Guid Identifier of previously initiated chunked upload

chunkIndex Integer Integer number (starting from 0) denoting the order of the

chunk in the file

Request Headers Content-Type applicationoctet-stream (optional)

Request Body

Chunk content

Sample POST httpsapicloudmaterialisecomweb-apioperationfile8d875aed-9603-4ad4-b075-2c4f122bfb8echunk0 HTTP11 Content-Length 300

Content-Type applicationoctet-stream

chunk content here

Response Format

Http Status Code Field Type Description

200 - Success

11

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

uploadId Guid Upload Identifier

chunkId String Identifier of uploaded chunk

400 ndash Failure See error codes 10- 54 56 57

Response Example

uploadIdd241244f-9d68-4e3b-9fa0-115b135019bf

chunkId ldquoAAAAAA==rdquo

2122 Operation Input Complete Chunked Upload HTTP POST web-apioperationfileuploadId

Description

Use this method to complete a chunked upload and get the Id of the resulting file

Request Format

Url part name Type Description

uploadId Guid Identifier of previously initiated chunked upload

Request Headers Content-Type applicationjson

Request Body

Field Type Description

fileName String Name of resulting file with extension

chunkIds Array[String] An array of ordered chunk identifiers received from the Upload Chunk API method Note the Ids must be in a correct order

Sample POST httpapicloudmaterialisecomweb-apioperationfile8d875aed-9603-4ad4-b075-2c4f122bfb8e HTTP11 Content-Type applicationjson chunkIds [AAAAAA== AQAAAA== AgAAAA== ] fileName filestl

Response Format

Http Status Code Field Type Description

200 - Success

fileId Guid Identifier of resulting file

400 ndash Failure See error codes 10- 50 51 55 57

Response Example

fileIdd241244f-9d68-4e3b-9fa0-115b135019bf

12

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

213 Operation File Download HTTP GET web-apioperationfilefileId

URI parameters

Url part name Type Description

fileId Guid file identifier

Response Format

Http Status Code Field Type Description

200 ndash Success

404 ndash Failure See error codes 10 52

22 OPERATION STATUS API This API method allows to track current status of the operation whether it was completed

successful or failed

221 Operation status ndash polling request HTTP GET web-apioperationoperationIdstatus

Request format

Url part name Type Description

operationId Guid Operation identifier of previously posted operation

Response format

Response encoding type applicationjson

Http Status

Code

Field Type Description

200 - Success

operationId Guid Operation identifier

isCompleted Boolean Has operation been finished

isSuccessful Boolean Has operation completion been successful

404 ndash Failure See error codes 71

400 ndash Failure See error codes 10 70

Response JSON Format

operationIdd241244f-9d68-4e3b-9fa0-115b135019bf

isCompleted true

isSuccessful true

13

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

222 Operation status ndash callback API HTTP POST

Description

If you would rather avoid polling for status and you prepare end-points in your application

that we can use to notify you when an operation completes this is what information we will

provide

Request format

Content Type applicationjson

Field Type Description

operationId Guid Operation identifier

isSuccessful Boolean Has operation completion been successful

Request JSON

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

isSuccessful true

23 CONVERSION OPERATION HTTP POST web-apioperationstl-conversion

Description

It is possible to convert model to Stl format Currently we accept obj 3dm 3ds dae dxf

fbx iges igs ply skp slc vdafs vda vrml wrl zcp zpr files

Some of the file formats do not support measurement units (stl obj) It is possible to

indicate in which measurements units a particular model was created By default

MeasurementUnits parameter will be interpreted as millimeters

Request format

Request encoding type applicationjson

Http Status

Code

Field Name Type Description

200 ndash Success

fileId Guid File unique Identifier

measurementUnits String Measurement units in which model was

created Possible options

(lsquommrsquoinchrsquorsquomrsquorsquorsquonull)

callbackUrl String Url called when operation completed

Request JSON Format

14

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

measurementUnits mm

callbackUrlrdquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

400-Failure See error codes10 50 200

404-Not Found See error codes 52

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

24 CONVERSION OPERATION RESULT HTTP GET web-apioperationoperationIdstl-conversionresult

Uri parameters

Url part name Type Description

operationId Guid operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

fileId Guid Converted stl file

404-Not Found See error codes 71

400-Failure See error codes 10 90

25 ANALYZE OPERATION HTTP POST web-apioperationanalyze

Request encoding type applicationjson

Request format

15

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

Http Status Code Field Type Description

200 ndash Success

fileId Guid Operation unique Identifier for reference

callbackUrl String Url called when operation completed

Request JSON

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

callbackUrl rdquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes10 50

404-Not Found See error codes 52

Response JSON

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

26 ANALYZE OPERATION RESULT HTTP GET web-apioperationoperationIdanalyzeresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response encoding type applicationjson

Http Status

Code

Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

vertices Number Number of model vertices

triangles Number Number of model triangles

contours Number Number of model contours

shells Number Number of model shells

badEdges Number Number of model bad edges

16

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

badContours Number Number of model bad contours

volumeMm3 Float Volume of the model in mm3

dimensionXMm Float

dimensionYMm Float

dimensionZMm Float

surfaceAreaMm2 Float Area of the model surface in mm2

404-Not

Found

See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

vertices 8

triangles 12

contours 12

shells6

badEdges 0

badContours 0

volumeMm3 10

dimensionXMm 10

dimensionYMm 10

dimensionZMm 10

surfaceAreaMm2 10

If BadContours gt 0 OR BadEdges gt 0 OR VolumeMm3 lt 0 we recommend to Repair the

model

27 GEOMETRICAL REPAIR OPERATION Description

This operation allows to get the best possible geometrical repaired model This operation

will not change the geometry of your part however for complex models you might not get a

fully watertight result

HTTP POST web-apioperationgeometrical-repair

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique Identifier for reference

callbackUrl String Url called when operation completed

Request JSON

17

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

callbackUrl ldquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status

Code

Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes10- 50

404-Not Found See error codes 52

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

28 GEOMETRICAL REPAIR OPERATION RESULT HTTP GET web-apioperationoperationIdgeometrical-repairresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

fileId Guid Repaired file id

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

18

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

29 SHRINKWRAP REPAIR OPERATION Description

This operation allows to get a watertight model with slight geometrical impact We will

apply shrinkwrap on your model to repair most difficult parts and therefore handle complex

issues

HTTP POST web-apioperationshrinkwrap-repair

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique Identifier for reference

accuracy String Accepted values ldquoRoughrdquo ldquoSmoothrdquo ldquoDetailedrdquo Higher level will produce better qualitative results however it will take more time for the result to be available

callbackUrl String Url called when operation completed

Request JSON

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

accuracy ldquoSmoothrdquo

callbackUrl rdquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status

Code

Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes10- 50 600

404-Not Found See error codes 52

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

19

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

210 SHRINKWRAP REPAIR OPERATION RESULT HTTP GET web-apioperationoperationIdshrinkwrap-repairresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

fileId Guid Repaired file id

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

211 REPAIR OPERATION Description

This operation allows to automatically combine geometrical result with shrinkwrap for a

higher chance of having a watertight model being the best result between a geometrically

repaired part or shrinkwrap repaired part If your application is sensitive to geometrical

changes we advise you using the Geometrical Repair described above

HTTP POST web-apioperationrepair

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique Identifier for reference

callbackUrl String Url called when operation completed

Request JSON

20

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

callbackUrl rdquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status

Code

Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes10- 50

404-Not Found See error codes 52

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

212 REPAIR OPERATION RESULT HTTP GET web-apioperationoperationIdrepairresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

fileId Guid Repaired file id

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

21

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

213 WALL THICKNESS ANALYSIS OPERATION Description

This operation allows to analyze model for finding areas which are too thin for printing

Result of the analysis is a model painted with green if all is Ok If there are too thin areas on

the model surface it will be painted with red If there are areas which are suspected to be

too thin it will be painted with yellow

HTTP POST web-apioperationwall-thickness-analysis

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File for analysis unique

identifier

minimalWallThicknessMm Float Minimal acceptable wall

thickness Optional Default

value = 08

accuracyWallThickness Number Number will define the

resolution (and speed)

Optional Default value = 2

Acceptable values 2 4 6 8

10

A higher number will be more

accurate but slower in

processing

callbackUrl String Url called when operation

completed

Request JSON Format

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

minimalWallThicknessMm 12

accuracyWallThickness 2

callbackUrl httpsmysitecomoperation683561callback

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

22

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

200 ndash Success

operationId Guid Operation unique Identifier for

reference

400-Failure See error codes10- 50 300 301

404-Not Found See error codes 52

Response JSON Format

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

214 WALL THICKNESS ANALYSIS RESULT HTTP GET web-apioperationoperationIdwall-thickness-analysisresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

fileId Guid Analysed file id

hasThinWalls Boolean Indicate that model contains too

thin walls

hasPossibleThinWalls Boolean Indicate that model contains too

walls which are suspected to be

too thin

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

hasThinWalls false

hasPossibleThinWalls true

23

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

215 SCALING OPERATION Description

This operation allows to uniformly scale an stl model to a specified size on one of the axis

HTTP POST web-apioperationscale

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique identifier

axis String Name of axis you want to scale (X Y Z)

scaleToSizeMm Float Millimeters value of the desired dimension

on the specified axis Other axes will be

scaled proportionally Range 001mm ndash

10000mm

callbackUrl String Url called when operation completed

Request JSON

fileId ldquod241244f-9d68-4e3b-9fa0-115b135019bfrdquo

axis ldquoXrdquo

scaleToSizeMm 150

callbackUrl ldquohttpsmysitecomoperation683561callbackrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes 10- 50 400 401

404-Not Found See error codes 52

Response JSON

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

216 SCALING RESULT HTTP GET web-apioperationoperationIdscaleresult

Request format

24

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

fileId Guid Scaled file id

404-Not Found See error codes 71

400-Failure See error codes 10- 73 74

Response JSON

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

21 REDUCE TRIANGLES OPERATION Description

Use this operation to reduce triangles in an STL 3d model When any of the arguments is not

supplied (null or empty string) it automatically defaults to a predefined value (see table

below)

HTTP POST web-apioperationreduce-triangles

Request encoding type applicationjson

Request format

Field Type Description

fileId Guid File unique identifier

accuracyMm Number Floating point value between 0 and 10 When not supplied (null) defaults to 0005

maxAngle Number Integer number between 0 and 90 When not supplied (null) defaults to 5

numberOfIterations Number Integer number between 1 and 1000 When not supplied (null) defaults to 5

callbackUrl String Url called when operation completed

Request JSON

fileId ldquod241244f-9d68-4e3b-9fa0-115b135019bfrdquo

accuracyMm 0005

25

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

maxAngle 5

numberOfIterations 5

callbackUrl ldquohttpsmysitecomoperation683561callbackrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes 10 50 700 701 702

404-Not Found See error codes 52

Response JSON

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

22 REDUCE TRIANGLES RESULT HTTP GET web-apioperationoperationIdreduce-trianglesresult

Request format

Url parameters

Url part name Type Description

operationId Guid Operation identifier

221 Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

fileId Guid Model with reduced triangles

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

23 GENERATE THUMBNAIL OPERATION Description

This operation allows to generate preview thumbnail for a model

HTTP POST web-apioperationthumbnail

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique identifier

26

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

width Number Thumbnail width in pixels

height Number Thumbnail height in pixels

cameraAngleX Number Camera angle relative to the X axis

cameraAngleY Number Camera angle relative to the Y axis

cameraAngleZ Number Camera angle relative to the Z axis

callbackUrl String Url called when operation completed

Request JSON

fileId ldquod241244f-9d68-4e3b-9fa0-115b135019bfrdquo

width 100

height 100

cameraAngleX -70

cameraAngleY 0

cameraAngleZ 30

callbackUrl ldquohttpsmysitecomoperation683561callbackrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes 10 50 500 501

404-Not Found See error codes 52

Response JSON

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

24 THUMBNAIL RESULT HTTP GET web-apioperationoperationIdthumbnailresult

Request format

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

27

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

200 ndash Success

fileId Guid Model thumbnail file id

404-Not Found See error codes 71

400-Failure See error codes 10- 73 74

Response JSON

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

28

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

3 ERROR CODES

31 GENERAL ERRORS Code Message Meaning

10 Server error

11 Temporary error Please retry later

or contact us email if error

persists

12 Access denied

13 Invalid request format One or more of the parameters supplied

for the requested method are invalid

(Example string provided instead of int

etc) The parameters with the wrong value

will be provided in the message in the

format The value supplied for parameter

0 is invalid

32 FILE API ERRORS Code Message Meaning

50 Currently only Stl files are

supported

51 File is too big File was not saved

52 File was not found or you are not

the owner of the file File id file id

53 File Content is empty

54 Chunk is too big

55 Chunked upload commit error

56 Chunk is empty

57 File with id id already exists If you try to upload a chunk or commit a chunked upload using a file id of an existing file (of either a regular file upload or a committed chunked upload) yoursquoll receive this error to prevent from corrupting an existing file

33 GENERAL OPERATIONS RELATED ERRORS

Code Message Meaning

70 Operation request failed In case there is no concrete error API raises

this error

29

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

34 CONVERSION OPERATIONS SPECIFIC ERRORS Code Message Meaning

200 Unsupported Measurement units

35 WALL THICKNESS ANALYSIS OPERATION SPECIFIC ERRORS Code Message Meaning

300 Wrong minimal wall thickness Value should be between 01 and 20 (mm)

301 Wrong accuracy wall thickness

value

Value should be only one of predefined

value values (see Wall Thickness Analysis

Operation)

302 The model is too big Please scale it down

One of the model dimensions is too big Scale it down Dimension size should not exceed 500 mm

36 SCALING OPERATION SPECIFIC ERRORS Code Message Meaning

400 Scale value is not in the appropriate range

Value should be in range 001 ndash 10000

401 Axis is incorrect Value should be one of the predefined list (X Y Z)

37 GENERATE THUMBNAIL OPERATION SPECIFIC ERRORS Code Message Meaning

500 Wrong thumbnail size The width and height should be not less than 10 px but not more than 10000 px

501 Wrong camera angle Value should be in range from -180 to 180 degree

71 Operation was not found or you are

not the owner of the operation

Operation id id

72 A timeout occurred while

processing your file Your file may

be too big or complex

73 Operation with 0 has not finished

yet

74 Operation with Id 0 failed No

results available Use operation

status Api to get detailed error

30

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

38 SHRINKWRAP OPERATION SPECIFIC ERRORS Code Message Meaning

600 Accuracy value is not in appropriate range

Value should in range 100 ndash 500

39 REDUCE TRIANGLES OPERATION SPECIFIC ERRORS Code Message Meaning

700 The parameter Accuracy (mm) is invalid expecting a floating point value between 0 and 10 mm

The value should be a floating point number between 0 and 10

701 The parameter Max Angle is invalid expecting a value between 0 and 90

The value should be an integer number between 0 and 90

702 The parameter Number of Iterations is invalid expecting a value between 1 and 1000

The value should be an integer number between 1 and 1000

Page 5: API Developer Documentation - Materialise...API Developer Documentation 1 cloud.materialise.com – 3DPrintCloud@materialise.com INTRODUCTION TO 3DPRINTCLOUD API The 3DPrintCloud API

4

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

1 AUTHORIZATION - 3DPRINTCLOUD OAUTH2

All API methods require authorization The information below describes the steps to get an

authorization token and the usage of the token to authorize for API methods

3DPrintCloud authentication returns an authorization token A new token must be

generated for each session Every authorization token is issued with a refresh token used to

obtain a new authorization token when the existing one expires

The authorization token is short lived ndash 15 minutes ndash for security reasons To make a new

API request you may either get a new authorization token or use a refresh token

A refresh token is long lived ndash 2 months ndash and doesnrsquot require a userrsquos password Each

refresh token can be used only once It should be secretly stored in your application

11 AUTHORIZATION API POST Token

POST the Token request requires an HTTP basic authentication header in the format

Authorization Basic code

Replace code with the Base64 encoded value of client_idclient_secret encoded as a

single string including the colon

Header

Add Authorization header in the following format

Authorization Basic [Base64 encoding of client_idclient_secret]

Make sure client_idclient_secret is Base64 encoded

Example

Name Value client_id test_user

client_secret test_secret

test_usertest_secret in base64 dGVzdF91c2VyOnRlc3Rfc2VjcmV0

Resulting header Authorization Basic

dGVzdF91c2VyOnRlc3Rfc2VjcmV0

URI Parameters

None

Request Body Parameters

Name Description Type Is Required

grant_type Type of grant required Use ldquopasswordrdquo String Yes

username The username in the application String Yes

password The password in the application String Yes

5

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

Sample request

POST httpsapicloudmaterialisecomToken HTTP11

Authorization Basic

zXdtLXNlcnZpY2U6MhkyOTA0RUItNjg2My00ODhyLTk1OEItMUMzQjI0OTVBM0I4

Content-Type applicationx-www-form-urlencoded

Host apicloudmaterialisecom

grant_type=passwordampusername=testtestcomamppassword=my_password

Sample response

HTTP11 200 OK

Cache-Control no-cache

Pragma no-cache

Content-Length 851

Content-Type applicationjsoncharset=UTF-8

Expires -1

Date Thu 30 Jul 2015 090554 GMT

access_tokenEye8dHrbdJGPkfOf0AyHEoR5mWoa-

JJTjFt5XqGQL5s3wbG6ghks7QrcgFVH8tTwo7WlSRjOJBqm6ogqy49O_SB3FnjTCc1SS6pD4r3k

YGh96O3u1kaWNBFvdVYJG3Aw89sOCGQOaB_zJsJGfXjYxpeNUVbVDvmGDEmmoCrpoyObz2kPHBp

fIlCkQtDCew280HErrlqZz-

EB6EygRb4AZ0Ri5ODT5jn8ZSDH5PlUPTtHVWZRmIODqABHPxDSAPWa5_-

LD96BQxZhmYtNTc3GBSRifvxi29-

_2J5E5yU1MCfHr9dytmQEBNMXf3ckLalmbD34wmYgNPr8O_pM__LPHe9ymy03RYeNXDCi2uvUhR

tFAMfj0-OR8_O-

Zuxf1aRUz3zqRCgayqymuWduRwFHeouWoFmlK5BBGtCknBA6NDarZ0gimnEDld7o6AShZR2ZFzB

nnMRXTFH1mu-Lfre1TW0BfUwpNFDo-49itELxXcgerGsok61yIsaxVKQ-

uf5NWw0m29TnkZB5nSyxOtyJ_ZVKBoSbtMWbLNGAh0S6uJLSDZTwY2gqgxPAcxAFbyBSxhl1Fg

token_typebearer

expires_in899

refresh_tokena5beac8430c64d81aa3282c9f19a183e

userName25bbc91c-a4ac-4877-b5a0-0aad9deb34c0

asclient_idapitest

issuedThu 30 Jul 2015 090549 GMT

expiresThu 30 Jul 2015 092049 GMT

12 USING THE AUTHORIZATION TOKEN To use the authorization token add an Authorization header to your API requests in the

following format

Authorization Bearer token

Example

POST httpsapicloudmaterialisecomweb-apioperationfix HTTP11

6

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

Authorization Bearer TJHid1LfbdxsVD48mB7nwMr4fQhrKY9eEmPhF-

ZUGs4idTYrR5yRgEllLcBA1JpOUgb4DZ6tQVgh-

bjxwR_PxubNLEtuCDOoB2t_X1RdTObOerzugNezPsRpnSXQC3ytCnnBeNxkd58nHeFVtvsw5U3n

i7uayUHY8_tpR14ldM6LNFDTpOL_2fYU2gyGGFXxBgQuz4v5_0MYSwpUQQJ_kIM9S2wZstZi8gu

qDcPzJRWspJeYoqPVar__g30SAi-90j4vbmq9hWbT4XwdkGeXjztkV6XnnPaSXtR-

73kl58BgjAHOCNj0P6oQLYVMSDT7GCtASHH62k30D7c7Ku3nmFPZYnrEACycOhnYtaNVCoTekBi

8GqiaESRwAvzMTy0GggoMs78HXbPBnivOMI_PdxQRnxGT4zGxHhGvOgDVnYRJ9BqNBcqc6SCMyt

jfdY-

4sSoM4uUzILrqX15QQ5JK_RteIHbdX_7TfDeW_JEVGPxAS9BSdNKU0IwAqj4NdHzuEBafkA

Content-Type multipartform-data boundary=-------------------------

acebdf13572468

---------------------------acebdf13572468

Content-Disposition form-data name=fieldNameHere filename=Plugstl

Content-Type applicationvndms-pkistl

13 GETTING THE REFRESH TOKEN USING OAUTH2 POST Token

You can get your refresh token from the authorization tokenrsquos response (Token)

By issuing a request with the refresh token you get a new authorization token and a new

refresh token

To use the refresh token simply make a request on Token in the following format

Header

Authorization Basic [base64 encoding of client_idclient_secret]

Request Body Parameters

Name Description Type Is Required

grant_type Type of grant required Use

ldquorefresh_tokenrdquo

String Yes

refresh_token The refresh token from the

authorization token request

String Yes

Sample request

POST httpsapicloudmaterialisecomToken HTTP11

Content-Length 92

Authorization Basic

YXBpdGVzdDo3ZjRlMDU4ZS00MGJlLTQ1NzktYTQxMC01YWM5ZDExYmRiOWI=

grant_type=refresh_tokenamprefresh_token=a5beac8430c64d81aa3282c9f19a183e

Sample response

HTTP11 200 OK

Cache-Control no-cache

7

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

Pragma no-cache

Content-Length 851

Content-Type applicationjsoncharset=UTF-8

Expires -1

Date Thu 30 Jul 2015 090839 GMT

access_tokenPSmVR2cKB_Ozjls-rDrGdNLetRyEdqeB4GwETTnukCWtSCsA6ve12-

Gb_a6x1CvCATFKv5yBtQ7v_hvm3BdVOQNlBHoiTlPaDqLdTcK8Hdk38kv2iKJg3py_OCXwiZZRr

eMc9cSp1o-x6QIeoH4gahVct9weyRx99ToZYV-VTuOWYGQkmgpYj_pOefMRqTNqEbcjN-wghTR-

uBtGLw5pPWOtI__3QP9FX_r9ofCx4bNNVYRTgHzfaap6tJ9XMwzlvyIZ34gceW792h7jzFkfRp7

4SCeUVsYACOJeVA3ZCt1nHXwAcWf-

NvG7gdS0qhnD5eA40kB8Ix2xeGxGwAxZao0AdRIkoLlllo6iK3i40dJMktmCnrd1p5_f7AWmnwg

n03zFtEJop0uwSv3LsG9qqURxvo-ccx-

o9DxwelK1FLBIqy10dqV_8CkyCDOCwxi54Wn8x0VJ6vvCin7t5jOmyGQ_UiVRMrtYD-CLnp-

8wV87Jqckve6fMGNhrIOsMbR3jltsMl3fqNBB4sDjyVI_GALxYx93Cm-

0cs25uH8BrtJuoZJ5cU0QMH4zGD1OXRN9mj2tLg

token_typebearer

expires_in899

refresh_token800933aef9d942839fe4176887830c5e

userName25bbc91c-a4ac-4877-b5a0-0aad9deb34c0

asclient_idapitest

issuedThu 30 Jul 2015 090838 GMT

expiresThu 30 Jul 2015 092338 GMT

8

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

2 API METHODS

General considerations

- Before calling any of API methods please make sure that you have received the

token which should be passed along the request as described above

- Usually the request should be in JSON format We accept applicationjson as well as

textjson content types

Errors handling

- In case of successful call we usually send a response with 200 HTTP status code If for

some reason an error has happened we will send a response with HTTP status code

400 or higher

- The full list of errors you can find in the special section of this document or next to

the description of a particular API method

- Error will be in JSON format

Field Type Description

errors Array Array of errors

errors[]code Int Error code

errors[]message String Error message

Error JSON Sample

errors [

code 70

message Operation request failed

]

21 OPERATION FILES API Before running any operation the 3d model file has to be uploaded to our server

211 Operation File Upload HTTP POST web-apioperationfile

Description

You need to upload your model file to our storage before running any operation

URI parameters

None

Request Headers

Content-Type multipartform-data

9

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

Request Body

Binary file with metadata see sample below

Sample

POST httpsapicloudmaterialisecomweb-apioperationfix HTTP11

Authorization Bearer djxmeOuuVxPR1LbyopkMlWtpL6GcxckYN-

74Sn9wREke70X9G6osLFt8-1vFzJZJ9ZaMe6ytioA7U2mq7r9qOEs9jg8R7lxRoWf-

HRhNPIgoUdf6EFO_tFyF4NdkkC9eins-zl-NxN4XXQLmPFE0Qpcb4mlNRTETeQ-

aX38PasCsi2Ylvdqtl48HDNpf76kKbDaE83nq3DuA3cAqAbUMnMOUf2dC2dTX0VC2Bajs-

q0FI7xiNgDN2fuaLpPMCRlMR_wGt68mrnrmm-

55WFjYUxFGLlsrLJERHeftXeagPeMzCGht0DFxH4LzhEssfu4wPUoAiL0XcPfD1FTkbZpWZtSHt

cLPQ8N4R-B1s5md_A1fMSrLoqhZKz9q2-

CuBSsy6A7olziacje3bqX9ZpG1gB6wSsjD4Htlk7EM3tCSC86cLP_dJtPxH6bCRZdXgGuQADgYb

ETsMNBhQ5cZo-P8WBnUNzKaBMvgdSvzFu8v0z3Js1Yc2urks_3kUW1Mox5bqrCHTA

Content-Type multipartform-data boundary=-------------------------

acebdf13572468

---------------------------acebdf13572468

Content-Disposition form-data name=fieldNameHere filename=Plugstl

Content-Type applicationvndms-pkistl

file-contents-here

---------------------------acebdf13572468--

Response Format

Http Status Code Field Type Description

200 - Success

fileId Guid File Identifier

fileUrl String File Url

creationDate DateTime File Utc date in Iso format

400 ndash Failure See error codes 10 50 51

Response Example

fileIdd241244f-9d68-4e3b-9fa0-115b135019bf

fileUrl ldquohttprdquo

creationDate 2015-01-01T232856782Z

212 Operation File Chunked Upload HTTP POST web-apioperationfilechunked

Description

Use this method to initiate a chunked upload

Request Format

10

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

URI parameters

None

Request Headers

None

Request Body

None

Response Format

Http Status Code Field Type Description

200 - Success uploadId Guid Upload Identifier

Response Example

uploadIdd241244f-9d68-4e3b-9fa0-115b135019bf

2121 Operation Input Upload File Chunk HTTP POST web-apioperationfileuploadIdchunkchunkIndex

Description

Use this method to upload a chunk with the specified index The chunk index is an integer

starting from 0 with an increment of 1 which specifies the chunkrsquos order in the resulting file

Each chunk must not exceed 4MB in size

Request Format

Url part name Type Description

uploadId Guid Identifier of previously initiated chunked upload

chunkIndex Integer Integer number (starting from 0) denoting the order of the

chunk in the file

Request Headers Content-Type applicationoctet-stream (optional)

Request Body

Chunk content

Sample POST httpsapicloudmaterialisecomweb-apioperationfile8d875aed-9603-4ad4-b075-2c4f122bfb8echunk0 HTTP11 Content-Length 300

Content-Type applicationoctet-stream

chunk content here

Response Format

Http Status Code Field Type Description

200 - Success

11

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

uploadId Guid Upload Identifier

chunkId String Identifier of uploaded chunk

400 ndash Failure See error codes 10- 54 56 57

Response Example

uploadIdd241244f-9d68-4e3b-9fa0-115b135019bf

chunkId ldquoAAAAAA==rdquo

2122 Operation Input Complete Chunked Upload HTTP POST web-apioperationfileuploadId

Description

Use this method to complete a chunked upload and get the Id of the resulting file

Request Format

Url part name Type Description

uploadId Guid Identifier of previously initiated chunked upload

Request Headers Content-Type applicationjson

Request Body

Field Type Description

fileName String Name of resulting file with extension

chunkIds Array[String] An array of ordered chunk identifiers received from the Upload Chunk API method Note the Ids must be in a correct order

Sample POST httpapicloudmaterialisecomweb-apioperationfile8d875aed-9603-4ad4-b075-2c4f122bfb8e HTTP11 Content-Type applicationjson chunkIds [AAAAAA== AQAAAA== AgAAAA== ] fileName filestl

Response Format

Http Status Code Field Type Description

200 - Success

fileId Guid Identifier of resulting file

400 ndash Failure See error codes 10- 50 51 55 57

Response Example

fileIdd241244f-9d68-4e3b-9fa0-115b135019bf

12

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

213 Operation File Download HTTP GET web-apioperationfilefileId

URI parameters

Url part name Type Description

fileId Guid file identifier

Response Format

Http Status Code Field Type Description

200 ndash Success

404 ndash Failure See error codes 10 52

22 OPERATION STATUS API This API method allows to track current status of the operation whether it was completed

successful or failed

221 Operation status ndash polling request HTTP GET web-apioperationoperationIdstatus

Request format

Url part name Type Description

operationId Guid Operation identifier of previously posted operation

Response format

Response encoding type applicationjson

Http Status

Code

Field Type Description

200 - Success

operationId Guid Operation identifier

isCompleted Boolean Has operation been finished

isSuccessful Boolean Has operation completion been successful

404 ndash Failure See error codes 71

400 ndash Failure See error codes 10 70

Response JSON Format

operationIdd241244f-9d68-4e3b-9fa0-115b135019bf

isCompleted true

isSuccessful true

13

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

222 Operation status ndash callback API HTTP POST

Description

If you would rather avoid polling for status and you prepare end-points in your application

that we can use to notify you when an operation completes this is what information we will

provide

Request format

Content Type applicationjson

Field Type Description

operationId Guid Operation identifier

isSuccessful Boolean Has operation completion been successful

Request JSON

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

isSuccessful true

23 CONVERSION OPERATION HTTP POST web-apioperationstl-conversion

Description

It is possible to convert model to Stl format Currently we accept obj 3dm 3ds dae dxf

fbx iges igs ply skp slc vdafs vda vrml wrl zcp zpr files

Some of the file formats do not support measurement units (stl obj) It is possible to

indicate in which measurements units a particular model was created By default

MeasurementUnits parameter will be interpreted as millimeters

Request format

Request encoding type applicationjson

Http Status

Code

Field Name Type Description

200 ndash Success

fileId Guid File unique Identifier

measurementUnits String Measurement units in which model was

created Possible options

(lsquommrsquoinchrsquorsquomrsquorsquorsquonull)

callbackUrl String Url called when operation completed

Request JSON Format

14

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

measurementUnits mm

callbackUrlrdquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

400-Failure See error codes10 50 200

404-Not Found See error codes 52

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

24 CONVERSION OPERATION RESULT HTTP GET web-apioperationoperationIdstl-conversionresult

Uri parameters

Url part name Type Description

operationId Guid operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

fileId Guid Converted stl file

404-Not Found See error codes 71

400-Failure See error codes 10 90

25 ANALYZE OPERATION HTTP POST web-apioperationanalyze

Request encoding type applicationjson

Request format

15

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

Http Status Code Field Type Description

200 ndash Success

fileId Guid Operation unique Identifier for reference

callbackUrl String Url called when operation completed

Request JSON

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

callbackUrl rdquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes10 50

404-Not Found See error codes 52

Response JSON

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

26 ANALYZE OPERATION RESULT HTTP GET web-apioperationoperationIdanalyzeresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response encoding type applicationjson

Http Status

Code

Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

vertices Number Number of model vertices

triangles Number Number of model triangles

contours Number Number of model contours

shells Number Number of model shells

badEdges Number Number of model bad edges

16

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

badContours Number Number of model bad contours

volumeMm3 Float Volume of the model in mm3

dimensionXMm Float

dimensionYMm Float

dimensionZMm Float

surfaceAreaMm2 Float Area of the model surface in mm2

404-Not

Found

See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

vertices 8

triangles 12

contours 12

shells6

badEdges 0

badContours 0

volumeMm3 10

dimensionXMm 10

dimensionYMm 10

dimensionZMm 10

surfaceAreaMm2 10

If BadContours gt 0 OR BadEdges gt 0 OR VolumeMm3 lt 0 we recommend to Repair the

model

27 GEOMETRICAL REPAIR OPERATION Description

This operation allows to get the best possible geometrical repaired model This operation

will not change the geometry of your part however for complex models you might not get a

fully watertight result

HTTP POST web-apioperationgeometrical-repair

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique Identifier for reference

callbackUrl String Url called when operation completed

Request JSON

17

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

callbackUrl ldquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status

Code

Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes10- 50

404-Not Found See error codes 52

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

28 GEOMETRICAL REPAIR OPERATION RESULT HTTP GET web-apioperationoperationIdgeometrical-repairresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

fileId Guid Repaired file id

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

18

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

29 SHRINKWRAP REPAIR OPERATION Description

This operation allows to get a watertight model with slight geometrical impact We will

apply shrinkwrap on your model to repair most difficult parts and therefore handle complex

issues

HTTP POST web-apioperationshrinkwrap-repair

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique Identifier for reference

accuracy String Accepted values ldquoRoughrdquo ldquoSmoothrdquo ldquoDetailedrdquo Higher level will produce better qualitative results however it will take more time for the result to be available

callbackUrl String Url called when operation completed

Request JSON

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

accuracy ldquoSmoothrdquo

callbackUrl rdquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status

Code

Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes10- 50 600

404-Not Found See error codes 52

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

19

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

210 SHRINKWRAP REPAIR OPERATION RESULT HTTP GET web-apioperationoperationIdshrinkwrap-repairresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

fileId Guid Repaired file id

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

211 REPAIR OPERATION Description

This operation allows to automatically combine geometrical result with shrinkwrap for a

higher chance of having a watertight model being the best result between a geometrically

repaired part or shrinkwrap repaired part If your application is sensitive to geometrical

changes we advise you using the Geometrical Repair described above

HTTP POST web-apioperationrepair

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique Identifier for reference

callbackUrl String Url called when operation completed

Request JSON

20

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

callbackUrl rdquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status

Code

Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes10- 50

404-Not Found See error codes 52

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

212 REPAIR OPERATION RESULT HTTP GET web-apioperationoperationIdrepairresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

fileId Guid Repaired file id

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

21

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

213 WALL THICKNESS ANALYSIS OPERATION Description

This operation allows to analyze model for finding areas which are too thin for printing

Result of the analysis is a model painted with green if all is Ok If there are too thin areas on

the model surface it will be painted with red If there are areas which are suspected to be

too thin it will be painted with yellow

HTTP POST web-apioperationwall-thickness-analysis

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File for analysis unique

identifier

minimalWallThicknessMm Float Minimal acceptable wall

thickness Optional Default

value = 08

accuracyWallThickness Number Number will define the

resolution (and speed)

Optional Default value = 2

Acceptable values 2 4 6 8

10

A higher number will be more

accurate but slower in

processing

callbackUrl String Url called when operation

completed

Request JSON Format

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

minimalWallThicknessMm 12

accuracyWallThickness 2

callbackUrl httpsmysitecomoperation683561callback

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

22

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

200 ndash Success

operationId Guid Operation unique Identifier for

reference

400-Failure See error codes10- 50 300 301

404-Not Found See error codes 52

Response JSON Format

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

214 WALL THICKNESS ANALYSIS RESULT HTTP GET web-apioperationoperationIdwall-thickness-analysisresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

fileId Guid Analysed file id

hasThinWalls Boolean Indicate that model contains too

thin walls

hasPossibleThinWalls Boolean Indicate that model contains too

walls which are suspected to be

too thin

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

hasThinWalls false

hasPossibleThinWalls true

23

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

215 SCALING OPERATION Description

This operation allows to uniformly scale an stl model to a specified size on one of the axis

HTTP POST web-apioperationscale

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique identifier

axis String Name of axis you want to scale (X Y Z)

scaleToSizeMm Float Millimeters value of the desired dimension

on the specified axis Other axes will be

scaled proportionally Range 001mm ndash

10000mm

callbackUrl String Url called when operation completed

Request JSON

fileId ldquod241244f-9d68-4e3b-9fa0-115b135019bfrdquo

axis ldquoXrdquo

scaleToSizeMm 150

callbackUrl ldquohttpsmysitecomoperation683561callbackrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes 10- 50 400 401

404-Not Found See error codes 52

Response JSON

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

216 SCALING RESULT HTTP GET web-apioperationoperationIdscaleresult

Request format

24

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

fileId Guid Scaled file id

404-Not Found See error codes 71

400-Failure See error codes 10- 73 74

Response JSON

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

21 REDUCE TRIANGLES OPERATION Description

Use this operation to reduce triangles in an STL 3d model When any of the arguments is not

supplied (null or empty string) it automatically defaults to a predefined value (see table

below)

HTTP POST web-apioperationreduce-triangles

Request encoding type applicationjson

Request format

Field Type Description

fileId Guid File unique identifier

accuracyMm Number Floating point value between 0 and 10 When not supplied (null) defaults to 0005

maxAngle Number Integer number between 0 and 90 When not supplied (null) defaults to 5

numberOfIterations Number Integer number between 1 and 1000 When not supplied (null) defaults to 5

callbackUrl String Url called when operation completed

Request JSON

fileId ldquod241244f-9d68-4e3b-9fa0-115b135019bfrdquo

accuracyMm 0005

25

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

maxAngle 5

numberOfIterations 5

callbackUrl ldquohttpsmysitecomoperation683561callbackrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes 10 50 700 701 702

404-Not Found See error codes 52

Response JSON

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

22 REDUCE TRIANGLES RESULT HTTP GET web-apioperationoperationIdreduce-trianglesresult

Request format

Url parameters

Url part name Type Description

operationId Guid Operation identifier

221 Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

fileId Guid Model with reduced triangles

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

23 GENERATE THUMBNAIL OPERATION Description

This operation allows to generate preview thumbnail for a model

HTTP POST web-apioperationthumbnail

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique identifier

26

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

width Number Thumbnail width in pixels

height Number Thumbnail height in pixels

cameraAngleX Number Camera angle relative to the X axis

cameraAngleY Number Camera angle relative to the Y axis

cameraAngleZ Number Camera angle relative to the Z axis

callbackUrl String Url called when operation completed

Request JSON

fileId ldquod241244f-9d68-4e3b-9fa0-115b135019bfrdquo

width 100

height 100

cameraAngleX -70

cameraAngleY 0

cameraAngleZ 30

callbackUrl ldquohttpsmysitecomoperation683561callbackrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes 10 50 500 501

404-Not Found See error codes 52

Response JSON

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

24 THUMBNAIL RESULT HTTP GET web-apioperationoperationIdthumbnailresult

Request format

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

27

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

200 ndash Success

fileId Guid Model thumbnail file id

404-Not Found See error codes 71

400-Failure See error codes 10- 73 74

Response JSON

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

28

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

3 ERROR CODES

31 GENERAL ERRORS Code Message Meaning

10 Server error

11 Temporary error Please retry later

or contact us email if error

persists

12 Access denied

13 Invalid request format One or more of the parameters supplied

for the requested method are invalid

(Example string provided instead of int

etc) The parameters with the wrong value

will be provided in the message in the

format The value supplied for parameter

0 is invalid

32 FILE API ERRORS Code Message Meaning

50 Currently only Stl files are

supported

51 File is too big File was not saved

52 File was not found or you are not

the owner of the file File id file id

53 File Content is empty

54 Chunk is too big

55 Chunked upload commit error

56 Chunk is empty

57 File with id id already exists If you try to upload a chunk or commit a chunked upload using a file id of an existing file (of either a regular file upload or a committed chunked upload) yoursquoll receive this error to prevent from corrupting an existing file

33 GENERAL OPERATIONS RELATED ERRORS

Code Message Meaning

70 Operation request failed In case there is no concrete error API raises

this error

29

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

34 CONVERSION OPERATIONS SPECIFIC ERRORS Code Message Meaning

200 Unsupported Measurement units

35 WALL THICKNESS ANALYSIS OPERATION SPECIFIC ERRORS Code Message Meaning

300 Wrong minimal wall thickness Value should be between 01 and 20 (mm)

301 Wrong accuracy wall thickness

value

Value should be only one of predefined

value values (see Wall Thickness Analysis

Operation)

302 The model is too big Please scale it down

One of the model dimensions is too big Scale it down Dimension size should not exceed 500 mm

36 SCALING OPERATION SPECIFIC ERRORS Code Message Meaning

400 Scale value is not in the appropriate range

Value should be in range 001 ndash 10000

401 Axis is incorrect Value should be one of the predefined list (X Y Z)

37 GENERATE THUMBNAIL OPERATION SPECIFIC ERRORS Code Message Meaning

500 Wrong thumbnail size The width and height should be not less than 10 px but not more than 10000 px

501 Wrong camera angle Value should be in range from -180 to 180 degree

71 Operation was not found or you are

not the owner of the operation

Operation id id

72 A timeout occurred while

processing your file Your file may

be too big or complex

73 Operation with 0 has not finished

yet

74 Operation with Id 0 failed No

results available Use operation

status Api to get detailed error

30

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

38 SHRINKWRAP OPERATION SPECIFIC ERRORS Code Message Meaning

600 Accuracy value is not in appropriate range

Value should in range 100 ndash 500

39 REDUCE TRIANGLES OPERATION SPECIFIC ERRORS Code Message Meaning

700 The parameter Accuracy (mm) is invalid expecting a floating point value between 0 and 10 mm

The value should be a floating point number between 0 and 10

701 The parameter Max Angle is invalid expecting a value between 0 and 90

The value should be an integer number between 0 and 90

702 The parameter Number of Iterations is invalid expecting a value between 1 and 1000

The value should be an integer number between 1 and 1000

Page 6: API Developer Documentation - Materialise...API Developer Documentation 1 cloud.materialise.com – 3DPrintCloud@materialise.com INTRODUCTION TO 3DPRINTCLOUD API The 3DPrintCloud API

5

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

Sample request

POST httpsapicloudmaterialisecomToken HTTP11

Authorization Basic

zXdtLXNlcnZpY2U6MhkyOTA0RUItNjg2My00ODhyLTk1OEItMUMzQjI0OTVBM0I4

Content-Type applicationx-www-form-urlencoded

Host apicloudmaterialisecom

grant_type=passwordampusername=testtestcomamppassword=my_password

Sample response

HTTP11 200 OK

Cache-Control no-cache

Pragma no-cache

Content-Length 851

Content-Type applicationjsoncharset=UTF-8

Expires -1

Date Thu 30 Jul 2015 090554 GMT

access_tokenEye8dHrbdJGPkfOf0AyHEoR5mWoa-

JJTjFt5XqGQL5s3wbG6ghks7QrcgFVH8tTwo7WlSRjOJBqm6ogqy49O_SB3FnjTCc1SS6pD4r3k

YGh96O3u1kaWNBFvdVYJG3Aw89sOCGQOaB_zJsJGfXjYxpeNUVbVDvmGDEmmoCrpoyObz2kPHBp

fIlCkQtDCew280HErrlqZz-

EB6EygRb4AZ0Ri5ODT5jn8ZSDH5PlUPTtHVWZRmIODqABHPxDSAPWa5_-

LD96BQxZhmYtNTc3GBSRifvxi29-

_2J5E5yU1MCfHr9dytmQEBNMXf3ckLalmbD34wmYgNPr8O_pM__LPHe9ymy03RYeNXDCi2uvUhR

tFAMfj0-OR8_O-

Zuxf1aRUz3zqRCgayqymuWduRwFHeouWoFmlK5BBGtCknBA6NDarZ0gimnEDld7o6AShZR2ZFzB

nnMRXTFH1mu-Lfre1TW0BfUwpNFDo-49itELxXcgerGsok61yIsaxVKQ-

uf5NWw0m29TnkZB5nSyxOtyJ_ZVKBoSbtMWbLNGAh0S6uJLSDZTwY2gqgxPAcxAFbyBSxhl1Fg

token_typebearer

expires_in899

refresh_tokena5beac8430c64d81aa3282c9f19a183e

userName25bbc91c-a4ac-4877-b5a0-0aad9deb34c0

asclient_idapitest

issuedThu 30 Jul 2015 090549 GMT

expiresThu 30 Jul 2015 092049 GMT

12 USING THE AUTHORIZATION TOKEN To use the authorization token add an Authorization header to your API requests in the

following format

Authorization Bearer token

Example

POST httpsapicloudmaterialisecomweb-apioperationfix HTTP11

6

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

Authorization Bearer TJHid1LfbdxsVD48mB7nwMr4fQhrKY9eEmPhF-

ZUGs4idTYrR5yRgEllLcBA1JpOUgb4DZ6tQVgh-

bjxwR_PxubNLEtuCDOoB2t_X1RdTObOerzugNezPsRpnSXQC3ytCnnBeNxkd58nHeFVtvsw5U3n

i7uayUHY8_tpR14ldM6LNFDTpOL_2fYU2gyGGFXxBgQuz4v5_0MYSwpUQQJ_kIM9S2wZstZi8gu

qDcPzJRWspJeYoqPVar__g30SAi-90j4vbmq9hWbT4XwdkGeXjztkV6XnnPaSXtR-

73kl58BgjAHOCNj0P6oQLYVMSDT7GCtASHH62k30D7c7Ku3nmFPZYnrEACycOhnYtaNVCoTekBi

8GqiaESRwAvzMTy0GggoMs78HXbPBnivOMI_PdxQRnxGT4zGxHhGvOgDVnYRJ9BqNBcqc6SCMyt

jfdY-

4sSoM4uUzILrqX15QQ5JK_RteIHbdX_7TfDeW_JEVGPxAS9BSdNKU0IwAqj4NdHzuEBafkA

Content-Type multipartform-data boundary=-------------------------

acebdf13572468

---------------------------acebdf13572468

Content-Disposition form-data name=fieldNameHere filename=Plugstl

Content-Type applicationvndms-pkistl

13 GETTING THE REFRESH TOKEN USING OAUTH2 POST Token

You can get your refresh token from the authorization tokenrsquos response (Token)

By issuing a request with the refresh token you get a new authorization token and a new

refresh token

To use the refresh token simply make a request on Token in the following format

Header

Authorization Basic [base64 encoding of client_idclient_secret]

Request Body Parameters

Name Description Type Is Required

grant_type Type of grant required Use

ldquorefresh_tokenrdquo

String Yes

refresh_token The refresh token from the

authorization token request

String Yes

Sample request

POST httpsapicloudmaterialisecomToken HTTP11

Content-Length 92

Authorization Basic

YXBpdGVzdDo3ZjRlMDU4ZS00MGJlLTQ1NzktYTQxMC01YWM5ZDExYmRiOWI=

grant_type=refresh_tokenamprefresh_token=a5beac8430c64d81aa3282c9f19a183e

Sample response

HTTP11 200 OK

Cache-Control no-cache

7

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

Pragma no-cache

Content-Length 851

Content-Type applicationjsoncharset=UTF-8

Expires -1

Date Thu 30 Jul 2015 090839 GMT

access_tokenPSmVR2cKB_Ozjls-rDrGdNLetRyEdqeB4GwETTnukCWtSCsA6ve12-

Gb_a6x1CvCATFKv5yBtQ7v_hvm3BdVOQNlBHoiTlPaDqLdTcK8Hdk38kv2iKJg3py_OCXwiZZRr

eMc9cSp1o-x6QIeoH4gahVct9weyRx99ToZYV-VTuOWYGQkmgpYj_pOefMRqTNqEbcjN-wghTR-

uBtGLw5pPWOtI__3QP9FX_r9ofCx4bNNVYRTgHzfaap6tJ9XMwzlvyIZ34gceW792h7jzFkfRp7

4SCeUVsYACOJeVA3ZCt1nHXwAcWf-

NvG7gdS0qhnD5eA40kB8Ix2xeGxGwAxZao0AdRIkoLlllo6iK3i40dJMktmCnrd1p5_f7AWmnwg

n03zFtEJop0uwSv3LsG9qqURxvo-ccx-

o9DxwelK1FLBIqy10dqV_8CkyCDOCwxi54Wn8x0VJ6vvCin7t5jOmyGQ_UiVRMrtYD-CLnp-

8wV87Jqckve6fMGNhrIOsMbR3jltsMl3fqNBB4sDjyVI_GALxYx93Cm-

0cs25uH8BrtJuoZJ5cU0QMH4zGD1OXRN9mj2tLg

token_typebearer

expires_in899

refresh_token800933aef9d942839fe4176887830c5e

userName25bbc91c-a4ac-4877-b5a0-0aad9deb34c0

asclient_idapitest

issuedThu 30 Jul 2015 090838 GMT

expiresThu 30 Jul 2015 092338 GMT

8

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

2 API METHODS

General considerations

- Before calling any of API methods please make sure that you have received the

token which should be passed along the request as described above

- Usually the request should be in JSON format We accept applicationjson as well as

textjson content types

Errors handling

- In case of successful call we usually send a response with 200 HTTP status code If for

some reason an error has happened we will send a response with HTTP status code

400 or higher

- The full list of errors you can find in the special section of this document or next to

the description of a particular API method

- Error will be in JSON format

Field Type Description

errors Array Array of errors

errors[]code Int Error code

errors[]message String Error message

Error JSON Sample

errors [

code 70

message Operation request failed

]

21 OPERATION FILES API Before running any operation the 3d model file has to be uploaded to our server

211 Operation File Upload HTTP POST web-apioperationfile

Description

You need to upload your model file to our storage before running any operation

URI parameters

None

Request Headers

Content-Type multipartform-data

9

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

Request Body

Binary file with metadata see sample below

Sample

POST httpsapicloudmaterialisecomweb-apioperationfix HTTP11

Authorization Bearer djxmeOuuVxPR1LbyopkMlWtpL6GcxckYN-

74Sn9wREke70X9G6osLFt8-1vFzJZJ9ZaMe6ytioA7U2mq7r9qOEs9jg8R7lxRoWf-

HRhNPIgoUdf6EFO_tFyF4NdkkC9eins-zl-NxN4XXQLmPFE0Qpcb4mlNRTETeQ-

aX38PasCsi2Ylvdqtl48HDNpf76kKbDaE83nq3DuA3cAqAbUMnMOUf2dC2dTX0VC2Bajs-

q0FI7xiNgDN2fuaLpPMCRlMR_wGt68mrnrmm-

55WFjYUxFGLlsrLJERHeftXeagPeMzCGht0DFxH4LzhEssfu4wPUoAiL0XcPfD1FTkbZpWZtSHt

cLPQ8N4R-B1s5md_A1fMSrLoqhZKz9q2-

CuBSsy6A7olziacje3bqX9ZpG1gB6wSsjD4Htlk7EM3tCSC86cLP_dJtPxH6bCRZdXgGuQADgYb

ETsMNBhQ5cZo-P8WBnUNzKaBMvgdSvzFu8v0z3Js1Yc2urks_3kUW1Mox5bqrCHTA

Content-Type multipartform-data boundary=-------------------------

acebdf13572468

---------------------------acebdf13572468

Content-Disposition form-data name=fieldNameHere filename=Plugstl

Content-Type applicationvndms-pkistl

file-contents-here

---------------------------acebdf13572468--

Response Format

Http Status Code Field Type Description

200 - Success

fileId Guid File Identifier

fileUrl String File Url

creationDate DateTime File Utc date in Iso format

400 ndash Failure See error codes 10 50 51

Response Example

fileIdd241244f-9d68-4e3b-9fa0-115b135019bf

fileUrl ldquohttprdquo

creationDate 2015-01-01T232856782Z

212 Operation File Chunked Upload HTTP POST web-apioperationfilechunked

Description

Use this method to initiate a chunked upload

Request Format

10

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

URI parameters

None

Request Headers

None

Request Body

None

Response Format

Http Status Code Field Type Description

200 - Success uploadId Guid Upload Identifier

Response Example

uploadIdd241244f-9d68-4e3b-9fa0-115b135019bf

2121 Operation Input Upload File Chunk HTTP POST web-apioperationfileuploadIdchunkchunkIndex

Description

Use this method to upload a chunk with the specified index The chunk index is an integer

starting from 0 with an increment of 1 which specifies the chunkrsquos order in the resulting file

Each chunk must not exceed 4MB in size

Request Format

Url part name Type Description

uploadId Guid Identifier of previously initiated chunked upload

chunkIndex Integer Integer number (starting from 0) denoting the order of the

chunk in the file

Request Headers Content-Type applicationoctet-stream (optional)

Request Body

Chunk content

Sample POST httpsapicloudmaterialisecomweb-apioperationfile8d875aed-9603-4ad4-b075-2c4f122bfb8echunk0 HTTP11 Content-Length 300

Content-Type applicationoctet-stream

chunk content here

Response Format

Http Status Code Field Type Description

200 - Success

11

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

uploadId Guid Upload Identifier

chunkId String Identifier of uploaded chunk

400 ndash Failure See error codes 10- 54 56 57

Response Example

uploadIdd241244f-9d68-4e3b-9fa0-115b135019bf

chunkId ldquoAAAAAA==rdquo

2122 Operation Input Complete Chunked Upload HTTP POST web-apioperationfileuploadId

Description

Use this method to complete a chunked upload and get the Id of the resulting file

Request Format

Url part name Type Description

uploadId Guid Identifier of previously initiated chunked upload

Request Headers Content-Type applicationjson

Request Body

Field Type Description

fileName String Name of resulting file with extension

chunkIds Array[String] An array of ordered chunk identifiers received from the Upload Chunk API method Note the Ids must be in a correct order

Sample POST httpapicloudmaterialisecomweb-apioperationfile8d875aed-9603-4ad4-b075-2c4f122bfb8e HTTP11 Content-Type applicationjson chunkIds [AAAAAA== AQAAAA== AgAAAA== ] fileName filestl

Response Format

Http Status Code Field Type Description

200 - Success

fileId Guid Identifier of resulting file

400 ndash Failure See error codes 10- 50 51 55 57

Response Example

fileIdd241244f-9d68-4e3b-9fa0-115b135019bf

12

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

213 Operation File Download HTTP GET web-apioperationfilefileId

URI parameters

Url part name Type Description

fileId Guid file identifier

Response Format

Http Status Code Field Type Description

200 ndash Success

404 ndash Failure See error codes 10 52

22 OPERATION STATUS API This API method allows to track current status of the operation whether it was completed

successful or failed

221 Operation status ndash polling request HTTP GET web-apioperationoperationIdstatus

Request format

Url part name Type Description

operationId Guid Operation identifier of previously posted operation

Response format

Response encoding type applicationjson

Http Status

Code

Field Type Description

200 - Success

operationId Guid Operation identifier

isCompleted Boolean Has operation been finished

isSuccessful Boolean Has operation completion been successful

404 ndash Failure See error codes 71

400 ndash Failure See error codes 10 70

Response JSON Format

operationIdd241244f-9d68-4e3b-9fa0-115b135019bf

isCompleted true

isSuccessful true

13

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

222 Operation status ndash callback API HTTP POST

Description

If you would rather avoid polling for status and you prepare end-points in your application

that we can use to notify you when an operation completes this is what information we will

provide

Request format

Content Type applicationjson

Field Type Description

operationId Guid Operation identifier

isSuccessful Boolean Has operation completion been successful

Request JSON

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

isSuccessful true

23 CONVERSION OPERATION HTTP POST web-apioperationstl-conversion

Description

It is possible to convert model to Stl format Currently we accept obj 3dm 3ds dae dxf

fbx iges igs ply skp slc vdafs vda vrml wrl zcp zpr files

Some of the file formats do not support measurement units (stl obj) It is possible to

indicate in which measurements units a particular model was created By default

MeasurementUnits parameter will be interpreted as millimeters

Request format

Request encoding type applicationjson

Http Status

Code

Field Name Type Description

200 ndash Success

fileId Guid File unique Identifier

measurementUnits String Measurement units in which model was

created Possible options

(lsquommrsquoinchrsquorsquomrsquorsquorsquonull)

callbackUrl String Url called when operation completed

Request JSON Format

14

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

measurementUnits mm

callbackUrlrdquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

400-Failure See error codes10 50 200

404-Not Found See error codes 52

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

24 CONVERSION OPERATION RESULT HTTP GET web-apioperationoperationIdstl-conversionresult

Uri parameters

Url part name Type Description

operationId Guid operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

fileId Guid Converted stl file

404-Not Found See error codes 71

400-Failure See error codes 10 90

25 ANALYZE OPERATION HTTP POST web-apioperationanalyze

Request encoding type applicationjson

Request format

15

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

Http Status Code Field Type Description

200 ndash Success

fileId Guid Operation unique Identifier for reference

callbackUrl String Url called when operation completed

Request JSON

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

callbackUrl rdquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes10 50

404-Not Found See error codes 52

Response JSON

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

26 ANALYZE OPERATION RESULT HTTP GET web-apioperationoperationIdanalyzeresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response encoding type applicationjson

Http Status

Code

Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

vertices Number Number of model vertices

triangles Number Number of model triangles

contours Number Number of model contours

shells Number Number of model shells

badEdges Number Number of model bad edges

16

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

badContours Number Number of model bad contours

volumeMm3 Float Volume of the model in mm3

dimensionXMm Float

dimensionYMm Float

dimensionZMm Float

surfaceAreaMm2 Float Area of the model surface in mm2

404-Not

Found

See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

vertices 8

triangles 12

contours 12

shells6

badEdges 0

badContours 0

volumeMm3 10

dimensionXMm 10

dimensionYMm 10

dimensionZMm 10

surfaceAreaMm2 10

If BadContours gt 0 OR BadEdges gt 0 OR VolumeMm3 lt 0 we recommend to Repair the

model

27 GEOMETRICAL REPAIR OPERATION Description

This operation allows to get the best possible geometrical repaired model This operation

will not change the geometry of your part however for complex models you might not get a

fully watertight result

HTTP POST web-apioperationgeometrical-repair

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique Identifier for reference

callbackUrl String Url called when operation completed

Request JSON

17

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

callbackUrl ldquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status

Code

Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes10- 50

404-Not Found See error codes 52

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

28 GEOMETRICAL REPAIR OPERATION RESULT HTTP GET web-apioperationoperationIdgeometrical-repairresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

fileId Guid Repaired file id

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

18

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

29 SHRINKWRAP REPAIR OPERATION Description

This operation allows to get a watertight model with slight geometrical impact We will

apply shrinkwrap on your model to repair most difficult parts and therefore handle complex

issues

HTTP POST web-apioperationshrinkwrap-repair

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique Identifier for reference

accuracy String Accepted values ldquoRoughrdquo ldquoSmoothrdquo ldquoDetailedrdquo Higher level will produce better qualitative results however it will take more time for the result to be available

callbackUrl String Url called when operation completed

Request JSON

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

accuracy ldquoSmoothrdquo

callbackUrl rdquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status

Code

Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes10- 50 600

404-Not Found See error codes 52

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

19

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

210 SHRINKWRAP REPAIR OPERATION RESULT HTTP GET web-apioperationoperationIdshrinkwrap-repairresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

fileId Guid Repaired file id

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

211 REPAIR OPERATION Description

This operation allows to automatically combine geometrical result with shrinkwrap for a

higher chance of having a watertight model being the best result between a geometrically

repaired part or shrinkwrap repaired part If your application is sensitive to geometrical

changes we advise you using the Geometrical Repair described above

HTTP POST web-apioperationrepair

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique Identifier for reference

callbackUrl String Url called when operation completed

Request JSON

20

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

callbackUrl rdquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status

Code

Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes10- 50

404-Not Found See error codes 52

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

212 REPAIR OPERATION RESULT HTTP GET web-apioperationoperationIdrepairresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

fileId Guid Repaired file id

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

21

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

213 WALL THICKNESS ANALYSIS OPERATION Description

This operation allows to analyze model for finding areas which are too thin for printing

Result of the analysis is a model painted with green if all is Ok If there are too thin areas on

the model surface it will be painted with red If there are areas which are suspected to be

too thin it will be painted with yellow

HTTP POST web-apioperationwall-thickness-analysis

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File for analysis unique

identifier

minimalWallThicknessMm Float Minimal acceptable wall

thickness Optional Default

value = 08

accuracyWallThickness Number Number will define the

resolution (and speed)

Optional Default value = 2

Acceptable values 2 4 6 8

10

A higher number will be more

accurate but slower in

processing

callbackUrl String Url called when operation

completed

Request JSON Format

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

minimalWallThicknessMm 12

accuracyWallThickness 2

callbackUrl httpsmysitecomoperation683561callback

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

22

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

200 ndash Success

operationId Guid Operation unique Identifier for

reference

400-Failure See error codes10- 50 300 301

404-Not Found See error codes 52

Response JSON Format

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

214 WALL THICKNESS ANALYSIS RESULT HTTP GET web-apioperationoperationIdwall-thickness-analysisresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

fileId Guid Analysed file id

hasThinWalls Boolean Indicate that model contains too

thin walls

hasPossibleThinWalls Boolean Indicate that model contains too

walls which are suspected to be

too thin

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

hasThinWalls false

hasPossibleThinWalls true

23

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

215 SCALING OPERATION Description

This operation allows to uniformly scale an stl model to a specified size on one of the axis

HTTP POST web-apioperationscale

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique identifier

axis String Name of axis you want to scale (X Y Z)

scaleToSizeMm Float Millimeters value of the desired dimension

on the specified axis Other axes will be

scaled proportionally Range 001mm ndash

10000mm

callbackUrl String Url called when operation completed

Request JSON

fileId ldquod241244f-9d68-4e3b-9fa0-115b135019bfrdquo

axis ldquoXrdquo

scaleToSizeMm 150

callbackUrl ldquohttpsmysitecomoperation683561callbackrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes 10- 50 400 401

404-Not Found See error codes 52

Response JSON

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

216 SCALING RESULT HTTP GET web-apioperationoperationIdscaleresult

Request format

24

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

fileId Guid Scaled file id

404-Not Found See error codes 71

400-Failure See error codes 10- 73 74

Response JSON

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

21 REDUCE TRIANGLES OPERATION Description

Use this operation to reduce triangles in an STL 3d model When any of the arguments is not

supplied (null or empty string) it automatically defaults to a predefined value (see table

below)

HTTP POST web-apioperationreduce-triangles

Request encoding type applicationjson

Request format

Field Type Description

fileId Guid File unique identifier

accuracyMm Number Floating point value between 0 and 10 When not supplied (null) defaults to 0005

maxAngle Number Integer number between 0 and 90 When not supplied (null) defaults to 5

numberOfIterations Number Integer number between 1 and 1000 When not supplied (null) defaults to 5

callbackUrl String Url called when operation completed

Request JSON

fileId ldquod241244f-9d68-4e3b-9fa0-115b135019bfrdquo

accuracyMm 0005

25

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

maxAngle 5

numberOfIterations 5

callbackUrl ldquohttpsmysitecomoperation683561callbackrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes 10 50 700 701 702

404-Not Found See error codes 52

Response JSON

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

22 REDUCE TRIANGLES RESULT HTTP GET web-apioperationoperationIdreduce-trianglesresult

Request format

Url parameters

Url part name Type Description

operationId Guid Operation identifier

221 Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

fileId Guid Model with reduced triangles

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

23 GENERATE THUMBNAIL OPERATION Description

This operation allows to generate preview thumbnail for a model

HTTP POST web-apioperationthumbnail

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique identifier

26

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

width Number Thumbnail width in pixels

height Number Thumbnail height in pixels

cameraAngleX Number Camera angle relative to the X axis

cameraAngleY Number Camera angle relative to the Y axis

cameraAngleZ Number Camera angle relative to the Z axis

callbackUrl String Url called when operation completed

Request JSON

fileId ldquod241244f-9d68-4e3b-9fa0-115b135019bfrdquo

width 100

height 100

cameraAngleX -70

cameraAngleY 0

cameraAngleZ 30

callbackUrl ldquohttpsmysitecomoperation683561callbackrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes 10 50 500 501

404-Not Found See error codes 52

Response JSON

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

24 THUMBNAIL RESULT HTTP GET web-apioperationoperationIdthumbnailresult

Request format

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

27

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

200 ndash Success

fileId Guid Model thumbnail file id

404-Not Found See error codes 71

400-Failure See error codes 10- 73 74

Response JSON

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

28

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

3 ERROR CODES

31 GENERAL ERRORS Code Message Meaning

10 Server error

11 Temporary error Please retry later

or contact us email if error

persists

12 Access denied

13 Invalid request format One or more of the parameters supplied

for the requested method are invalid

(Example string provided instead of int

etc) The parameters with the wrong value

will be provided in the message in the

format The value supplied for parameter

0 is invalid

32 FILE API ERRORS Code Message Meaning

50 Currently only Stl files are

supported

51 File is too big File was not saved

52 File was not found or you are not

the owner of the file File id file id

53 File Content is empty

54 Chunk is too big

55 Chunked upload commit error

56 Chunk is empty

57 File with id id already exists If you try to upload a chunk or commit a chunked upload using a file id of an existing file (of either a regular file upload or a committed chunked upload) yoursquoll receive this error to prevent from corrupting an existing file

33 GENERAL OPERATIONS RELATED ERRORS

Code Message Meaning

70 Operation request failed In case there is no concrete error API raises

this error

29

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

34 CONVERSION OPERATIONS SPECIFIC ERRORS Code Message Meaning

200 Unsupported Measurement units

35 WALL THICKNESS ANALYSIS OPERATION SPECIFIC ERRORS Code Message Meaning

300 Wrong minimal wall thickness Value should be between 01 and 20 (mm)

301 Wrong accuracy wall thickness

value

Value should be only one of predefined

value values (see Wall Thickness Analysis

Operation)

302 The model is too big Please scale it down

One of the model dimensions is too big Scale it down Dimension size should not exceed 500 mm

36 SCALING OPERATION SPECIFIC ERRORS Code Message Meaning

400 Scale value is not in the appropriate range

Value should be in range 001 ndash 10000

401 Axis is incorrect Value should be one of the predefined list (X Y Z)

37 GENERATE THUMBNAIL OPERATION SPECIFIC ERRORS Code Message Meaning

500 Wrong thumbnail size The width and height should be not less than 10 px but not more than 10000 px

501 Wrong camera angle Value should be in range from -180 to 180 degree

71 Operation was not found or you are

not the owner of the operation

Operation id id

72 A timeout occurred while

processing your file Your file may

be too big or complex

73 Operation with 0 has not finished

yet

74 Operation with Id 0 failed No

results available Use operation

status Api to get detailed error

30

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

38 SHRINKWRAP OPERATION SPECIFIC ERRORS Code Message Meaning

600 Accuracy value is not in appropriate range

Value should in range 100 ndash 500

39 REDUCE TRIANGLES OPERATION SPECIFIC ERRORS Code Message Meaning

700 The parameter Accuracy (mm) is invalid expecting a floating point value between 0 and 10 mm

The value should be a floating point number between 0 and 10

701 The parameter Max Angle is invalid expecting a value between 0 and 90

The value should be an integer number between 0 and 90

702 The parameter Number of Iterations is invalid expecting a value between 1 and 1000

The value should be an integer number between 1 and 1000

Page 7: API Developer Documentation - Materialise...API Developer Documentation 1 cloud.materialise.com – 3DPrintCloud@materialise.com INTRODUCTION TO 3DPRINTCLOUD API The 3DPrintCloud API

6

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

Authorization Bearer TJHid1LfbdxsVD48mB7nwMr4fQhrKY9eEmPhF-

ZUGs4idTYrR5yRgEllLcBA1JpOUgb4DZ6tQVgh-

bjxwR_PxubNLEtuCDOoB2t_X1RdTObOerzugNezPsRpnSXQC3ytCnnBeNxkd58nHeFVtvsw5U3n

i7uayUHY8_tpR14ldM6LNFDTpOL_2fYU2gyGGFXxBgQuz4v5_0MYSwpUQQJ_kIM9S2wZstZi8gu

qDcPzJRWspJeYoqPVar__g30SAi-90j4vbmq9hWbT4XwdkGeXjztkV6XnnPaSXtR-

73kl58BgjAHOCNj0P6oQLYVMSDT7GCtASHH62k30D7c7Ku3nmFPZYnrEACycOhnYtaNVCoTekBi

8GqiaESRwAvzMTy0GggoMs78HXbPBnivOMI_PdxQRnxGT4zGxHhGvOgDVnYRJ9BqNBcqc6SCMyt

jfdY-

4sSoM4uUzILrqX15QQ5JK_RteIHbdX_7TfDeW_JEVGPxAS9BSdNKU0IwAqj4NdHzuEBafkA

Content-Type multipartform-data boundary=-------------------------

acebdf13572468

---------------------------acebdf13572468

Content-Disposition form-data name=fieldNameHere filename=Plugstl

Content-Type applicationvndms-pkistl

13 GETTING THE REFRESH TOKEN USING OAUTH2 POST Token

You can get your refresh token from the authorization tokenrsquos response (Token)

By issuing a request with the refresh token you get a new authorization token and a new

refresh token

To use the refresh token simply make a request on Token in the following format

Header

Authorization Basic [base64 encoding of client_idclient_secret]

Request Body Parameters

Name Description Type Is Required

grant_type Type of grant required Use

ldquorefresh_tokenrdquo

String Yes

refresh_token The refresh token from the

authorization token request

String Yes

Sample request

POST httpsapicloudmaterialisecomToken HTTP11

Content-Length 92

Authorization Basic

YXBpdGVzdDo3ZjRlMDU4ZS00MGJlLTQ1NzktYTQxMC01YWM5ZDExYmRiOWI=

grant_type=refresh_tokenamprefresh_token=a5beac8430c64d81aa3282c9f19a183e

Sample response

HTTP11 200 OK

Cache-Control no-cache

7

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

Pragma no-cache

Content-Length 851

Content-Type applicationjsoncharset=UTF-8

Expires -1

Date Thu 30 Jul 2015 090839 GMT

access_tokenPSmVR2cKB_Ozjls-rDrGdNLetRyEdqeB4GwETTnukCWtSCsA6ve12-

Gb_a6x1CvCATFKv5yBtQ7v_hvm3BdVOQNlBHoiTlPaDqLdTcK8Hdk38kv2iKJg3py_OCXwiZZRr

eMc9cSp1o-x6QIeoH4gahVct9weyRx99ToZYV-VTuOWYGQkmgpYj_pOefMRqTNqEbcjN-wghTR-

uBtGLw5pPWOtI__3QP9FX_r9ofCx4bNNVYRTgHzfaap6tJ9XMwzlvyIZ34gceW792h7jzFkfRp7

4SCeUVsYACOJeVA3ZCt1nHXwAcWf-

NvG7gdS0qhnD5eA40kB8Ix2xeGxGwAxZao0AdRIkoLlllo6iK3i40dJMktmCnrd1p5_f7AWmnwg

n03zFtEJop0uwSv3LsG9qqURxvo-ccx-

o9DxwelK1FLBIqy10dqV_8CkyCDOCwxi54Wn8x0VJ6vvCin7t5jOmyGQ_UiVRMrtYD-CLnp-

8wV87Jqckve6fMGNhrIOsMbR3jltsMl3fqNBB4sDjyVI_GALxYx93Cm-

0cs25uH8BrtJuoZJ5cU0QMH4zGD1OXRN9mj2tLg

token_typebearer

expires_in899

refresh_token800933aef9d942839fe4176887830c5e

userName25bbc91c-a4ac-4877-b5a0-0aad9deb34c0

asclient_idapitest

issuedThu 30 Jul 2015 090838 GMT

expiresThu 30 Jul 2015 092338 GMT

8

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

2 API METHODS

General considerations

- Before calling any of API methods please make sure that you have received the

token which should be passed along the request as described above

- Usually the request should be in JSON format We accept applicationjson as well as

textjson content types

Errors handling

- In case of successful call we usually send a response with 200 HTTP status code If for

some reason an error has happened we will send a response with HTTP status code

400 or higher

- The full list of errors you can find in the special section of this document or next to

the description of a particular API method

- Error will be in JSON format

Field Type Description

errors Array Array of errors

errors[]code Int Error code

errors[]message String Error message

Error JSON Sample

errors [

code 70

message Operation request failed

]

21 OPERATION FILES API Before running any operation the 3d model file has to be uploaded to our server

211 Operation File Upload HTTP POST web-apioperationfile

Description

You need to upload your model file to our storage before running any operation

URI parameters

None

Request Headers

Content-Type multipartform-data

9

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

Request Body

Binary file with metadata see sample below

Sample

POST httpsapicloudmaterialisecomweb-apioperationfix HTTP11

Authorization Bearer djxmeOuuVxPR1LbyopkMlWtpL6GcxckYN-

74Sn9wREke70X9G6osLFt8-1vFzJZJ9ZaMe6ytioA7U2mq7r9qOEs9jg8R7lxRoWf-

HRhNPIgoUdf6EFO_tFyF4NdkkC9eins-zl-NxN4XXQLmPFE0Qpcb4mlNRTETeQ-

aX38PasCsi2Ylvdqtl48HDNpf76kKbDaE83nq3DuA3cAqAbUMnMOUf2dC2dTX0VC2Bajs-

q0FI7xiNgDN2fuaLpPMCRlMR_wGt68mrnrmm-

55WFjYUxFGLlsrLJERHeftXeagPeMzCGht0DFxH4LzhEssfu4wPUoAiL0XcPfD1FTkbZpWZtSHt

cLPQ8N4R-B1s5md_A1fMSrLoqhZKz9q2-

CuBSsy6A7olziacje3bqX9ZpG1gB6wSsjD4Htlk7EM3tCSC86cLP_dJtPxH6bCRZdXgGuQADgYb

ETsMNBhQ5cZo-P8WBnUNzKaBMvgdSvzFu8v0z3Js1Yc2urks_3kUW1Mox5bqrCHTA

Content-Type multipartform-data boundary=-------------------------

acebdf13572468

---------------------------acebdf13572468

Content-Disposition form-data name=fieldNameHere filename=Plugstl

Content-Type applicationvndms-pkistl

file-contents-here

---------------------------acebdf13572468--

Response Format

Http Status Code Field Type Description

200 - Success

fileId Guid File Identifier

fileUrl String File Url

creationDate DateTime File Utc date in Iso format

400 ndash Failure See error codes 10 50 51

Response Example

fileIdd241244f-9d68-4e3b-9fa0-115b135019bf

fileUrl ldquohttprdquo

creationDate 2015-01-01T232856782Z

212 Operation File Chunked Upload HTTP POST web-apioperationfilechunked

Description

Use this method to initiate a chunked upload

Request Format

10

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

URI parameters

None

Request Headers

None

Request Body

None

Response Format

Http Status Code Field Type Description

200 - Success uploadId Guid Upload Identifier

Response Example

uploadIdd241244f-9d68-4e3b-9fa0-115b135019bf

2121 Operation Input Upload File Chunk HTTP POST web-apioperationfileuploadIdchunkchunkIndex

Description

Use this method to upload a chunk with the specified index The chunk index is an integer

starting from 0 with an increment of 1 which specifies the chunkrsquos order in the resulting file

Each chunk must not exceed 4MB in size

Request Format

Url part name Type Description

uploadId Guid Identifier of previously initiated chunked upload

chunkIndex Integer Integer number (starting from 0) denoting the order of the

chunk in the file

Request Headers Content-Type applicationoctet-stream (optional)

Request Body

Chunk content

Sample POST httpsapicloudmaterialisecomweb-apioperationfile8d875aed-9603-4ad4-b075-2c4f122bfb8echunk0 HTTP11 Content-Length 300

Content-Type applicationoctet-stream

chunk content here

Response Format

Http Status Code Field Type Description

200 - Success

11

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

uploadId Guid Upload Identifier

chunkId String Identifier of uploaded chunk

400 ndash Failure See error codes 10- 54 56 57

Response Example

uploadIdd241244f-9d68-4e3b-9fa0-115b135019bf

chunkId ldquoAAAAAA==rdquo

2122 Operation Input Complete Chunked Upload HTTP POST web-apioperationfileuploadId

Description

Use this method to complete a chunked upload and get the Id of the resulting file

Request Format

Url part name Type Description

uploadId Guid Identifier of previously initiated chunked upload

Request Headers Content-Type applicationjson

Request Body

Field Type Description

fileName String Name of resulting file with extension

chunkIds Array[String] An array of ordered chunk identifiers received from the Upload Chunk API method Note the Ids must be in a correct order

Sample POST httpapicloudmaterialisecomweb-apioperationfile8d875aed-9603-4ad4-b075-2c4f122bfb8e HTTP11 Content-Type applicationjson chunkIds [AAAAAA== AQAAAA== AgAAAA== ] fileName filestl

Response Format

Http Status Code Field Type Description

200 - Success

fileId Guid Identifier of resulting file

400 ndash Failure See error codes 10- 50 51 55 57

Response Example

fileIdd241244f-9d68-4e3b-9fa0-115b135019bf

12

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

213 Operation File Download HTTP GET web-apioperationfilefileId

URI parameters

Url part name Type Description

fileId Guid file identifier

Response Format

Http Status Code Field Type Description

200 ndash Success

404 ndash Failure See error codes 10 52

22 OPERATION STATUS API This API method allows to track current status of the operation whether it was completed

successful or failed

221 Operation status ndash polling request HTTP GET web-apioperationoperationIdstatus

Request format

Url part name Type Description

operationId Guid Operation identifier of previously posted operation

Response format

Response encoding type applicationjson

Http Status

Code

Field Type Description

200 - Success

operationId Guid Operation identifier

isCompleted Boolean Has operation been finished

isSuccessful Boolean Has operation completion been successful

404 ndash Failure See error codes 71

400 ndash Failure See error codes 10 70

Response JSON Format

operationIdd241244f-9d68-4e3b-9fa0-115b135019bf

isCompleted true

isSuccessful true

13

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

222 Operation status ndash callback API HTTP POST

Description

If you would rather avoid polling for status and you prepare end-points in your application

that we can use to notify you when an operation completes this is what information we will

provide

Request format

Content Type applicationjson

Field Type Description

operationId Guid Operation identifier

isSuccessful Boolean Has operation completion been successful

Request JSON

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

isSuccessful true

23 CONVERSION OPERATION HTTP POST web-apioperationstl-conversion

Description

It is possible to convert model to Stl format Currently we accept obj 3dm 3ds dae dxf

fbx iges igs ply skp slc vdafs vda vrml wrl zcp zpr files

Some of the file formats do not support measurement units (stl obj) It is possible to

indicate in which measurements units a particular model was created By default

MeasurementUnits parameter will be interpreted as millimeters

Request format

Request encoding type applicationjson

Http Status

Code

Field Name Type Description

200 ndash Success

fileId Guid File unique Identifier

measurementUnits String Measurement units in which model was

created Possible options

(lsquommrsquoinchrsquorsquomrsquorsquorsquonull)

callbackUrl String Url called when operation completed

Request JSON Format

14

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

measurementUnits mm

callbackUrlrdquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

400-Failure See error codes10 50 200

404-Not Found See error codes 52

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

24 CONVERSION OPERATION RESULT HTTP GET web-apioperationoperationIdstl-conversionresult

Uri parameters

Url part name Type Description

operationId Guid operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

fileId Guid Converted stl file

404-Not Found See error codes 71

400-Failure See error codes 10 90

25 ANALYZE OPERATION HTTP POST web-apioperationanalyze

Request encoding type applicationjson

Request format

15

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

Http Status Code Field Type Description

200 ndash Success

fileId Guid Operation unique Identifier for reference

callbackUrl String Url called when operation completed

Request JSON

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

callbackUrl rdquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes10 50

404-Not Found See error codes 52

Response JSON

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

26 ANALYZE OPERATION RESULT HTTP GET web-apioperationoperationIdanalyzeresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response encoding type applicationjson

Http Status

Code

Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

vertices Number Number of model vertices

triangles Number Number of model triangles

contours Number Number of model contours

shells Number Number of model shells

badEdges Number Number of model bad edges

16

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

badContours Number Number of model bad contours

volumeMm3 Float Volume of the model in mm3

dimensionXMm Float

dimensionYMm Float

dimensionZMm Float

surfaceAreaMm2 Float Area of the model surface in mm2

404-Not

Found

See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

vertices 8

triangles 12

contours 12

shells6

badEdges 0

badContours 0

volumeMm3 10

dimensionXMm 10

dimensionYMm 10

dimensionZMm 10

surfaceAreaMm2 10

If BadContours gt 0 OR BadEdges gt 0 OR VolumeMm3 lt 0 we recommend to Repair the

model

27 GEOMETRICAL REPAIR OPERATION Description

This operation allows to get the best possible geometrical repaired model This operation

will not change the geometry of your part however for complex models you might not get a

fully watertight result

HTTP POST web-apioperationgeometrical-repair

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique Identifier for reference

callbackUrl String Url called when operation completed

Request JSON

17

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

callbackUrl ldquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status

Code

Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes10- 50

404-Not Found See error codes 52

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

28 GEOMETRICAL REPAIR OPERATION RESULT HTTP GET web-apioperationoperationIdgeometrical-repairresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

fileId Guid Repaired file id

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

18

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

29 SHRINKWRAP REPAIR OPERATION Description

This operation allows to get a watertight model with slight geometrical impact We will

apply shrinkwrap on your model to repair most difficult parts and therefore handle complex

issues

HTTP POST web-apioperationshrinkwrap-repair

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique Identifier for reference

accuracy String Accepted values ldquoRoughrdquo ldquoSmoothrdquo ldquoDetailedrdquo Higher level will produce better qualitative results however it will take more time for the result to be available

callbackUrl String Url called when operation completed

Request JSON

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

accuracy ldquoSmoothrdquo

callbackUrl rdquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status

Code

Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes10- 50 600

404-Not Found See error codes 52

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

19

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

210 SHRINKWRAP REPAIR OPERATION RESULT HTTP GET web-apioperationoperationIdshrinkwrap-repairresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

fileId Guid Repaired file id

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

211 REPAIR OPERATION Description

This operation allows to automatically combine geometrical result with shrinkwrap for a

higher chance of having a watertight model being the best result between a geometrically

repaired part or shrinkwrap repaired part If your application is sensitive to geometrical

changes we advise you using the Geometrical Repair described above

HTTP POST web-apioperationrepair

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique Identifier for reference

callbackUrl String Url called when operation completed

Request JSON

20

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

callbackUrl rdquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status

Code

Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes10- 50

404-Not Found See error codes 52

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

212 REPAIR OPERATION RESULT HTTP GET web-apioperationoperationIdrepairresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

fileId Guid Repaired file id

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

21

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

213 WALL THICKNESS ANALYSIS OPERATION Description

This operation allows to analyze model for finding areas which are too thin for printing

Result of the analysis is a model painted with green if all is Ok If there are too thin areas on

the model surface it will be painted with red If there are areas which are suspected to be

too thin it will be painted with yellow

HTTP POST web-apioperationwall-thickness-analysis

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File for analysis unique

identifier

minimalWallThicknessMm Float Minimal acceptable wall

thickness Optional Default

value = 08

accuracyWallThickness Number Number will define the

resolution (and speed)

Optional Default value = 2

Acceptable values 2 4 6 8

10

A higher number will be more

accurate but slower in

processing

callbackUrl String Url called when operation

completed

Request JSON Format

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

minimalWallThicknessMm 12

accuracyWallThickness 2

callbackUrl httpsmysitecomoperation683561callback

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

22

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

200 ndash Success

operationId Guid Operation unique Identifier for

reference

400-Failure See error codes10- 50 300 301

404-Not Found See error codes 52

Response JSON Format

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

214 WALL THICKNESS ANALYSIS RESULT HTTP GET web-apioperationoperationIdwall-thickness-analysisresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

fileId Guid Analysed file id

hasThinWalls Boolean Indicate that model contains too

thin walls

hasPossibleThinWalls Boolean Indicate that model contains too

walls which are suspected to be

too thin

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

hasThinWalls false

hasPossibleThinWalls true

23

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

215 SCALING OPERATION Description

This operation allows to uniformly scale an stl model to a specified size on one of the axis

HTTP POST web-apioperationscale

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique identifier

axis String Name of axis you want to scale (X Y Z)

scaleToSizeMm Float Millimeters value of the desired dimension

on the specified axis Other axes will be

scaled proportionally Range 001mm ndash

10000mm

callbackUrl String Url called when operation completed

Request JSON

fileId ldquod241244f-9d68-4e3b-9fa0-115b135019bfrdquo

axis ldquoXrdquo

scaleToSizeMm 150

callbackUrl ldquohttpsmysitecomoperation683561callbackrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes 10- 50 400 401

404-Not Found See error codes 52

Response JSON

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

216 SCALING RESULT HTTP GET web-apioperationoperationIdscaleresult

Request format

24

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

fileId Guid Scaled file id

404-Not Found See error codes 71

400-Failure See error codes 10- 73 74

Response JSON

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

21 REDUCE TRIANGLES OPERATION Description

Use this operation to reduce triangles in an STL 3d model When any of the arguments is not

supplied (null or empty string) it automatically defaults to a predefined value (see table

below)

HTTP POST web-apioperationreduce-triangles

Request encoding type applicationjson

Request format

Field Type Description

fileId Guid File unique identifier

accuracyMm Number Floating point value between 0 and 10 When not supplied (null) defaults to 0005

maxAngle Number Integer number between 0 and 90 When not supplied (null) defaults to 5

numberOfIterations Number Integer number between 1 and 1000 When not supplied (null) defaults to 5

callbackUrl String Url called when operation completed

Request JSON

fileId ldquod241244f-9d68-4e3b-9fa0-115b135019bfrdquo

accuracyMm 0005

25

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

maxAngle 5

numberOfIterations 5

callbackUrl ldquohttpsmysitecomoperation683561callbackrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes 10 50 700 701 702

404-Not Found See error codes 52

Response JSON

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

22 REDUCE TRIANGLES RESULT HTTP GET web-apioperationoperationIdreduce-trianglesresult

Request format

Url parameters

Url part name Type Description

operationId Guid Operation identifier

221 Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

fileId Guid Model with reduced triangles

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

23 GENERATE THUMBNAIL OPERATION Description

This operation allows to generate preview thumbnail for a model

HTTP POST web-apioperationthumbnail

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique identifier

26

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

width Number Thumbnail width in pixels

height Number Thumbnail height in pixels

cameraAngleX Number Camera angle relative to the X axis

cameraAngleY Number Camera angle relative to the Y axis

cameraAngleZ Number Camera angle relative to the Z axis

callbackUrl String Url called when operation completed

Request JSON

fileId ldquod241244f-9d68-4e3b-9fa0-115b135019bfrdquo

width 100

height 100

cameraAngleX -70

cameraAngleY 0

cameraAngleZ 30

callbackUrl ldquohttpsmysitecomoperation683561callbackrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes 10 50 500 501

404-Not Found See error codes 52

Response JSON

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

24 THUMBNAIL RESULT HTTP GET web-apioperationoperationIdthumbnailresult

Request format

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

27

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

200 ndash Success

fileId Guid Model thumbnail file id

404-Not Found See error codes 71

400-Failure See error codes 10- 73 74

Response JSON

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

28

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

3 ERROR CODES

31 GENERAL ERRORS Code Message Meaning

10 Server error

11 Temporary error Please retry later

or contact us email if error

persists

12 Access denied

13 Invalid request format One or more of the parameters supplied

for the requested method are invalid

(Example string provided instead of int

etc) The parameters with the wrong value

will be provided in the message in the

format The value supplied for parameter

0 is invalid

32 FILE API ERRORS Code Message Meaning

50 Currently only Stl files are

supported

51 File is too big File was not saved

52 File was not found or you are not

the owner of the file File id file id

53 File Content is empty

54 Chunk is too big

55 Chunked upload commit error

56 Chunk is empty

57 File with id id already exists If you try to upload a chunk or commit a chunked upload using a file id of an existing file (of either a regular file upload or a committed chunked upload) yoursquoll receive this error to prevent from corrupting an existing file

33 GENERAL OPERATIONS RELATED ERRORS

Code Message Meaning

70 Operation request failed In case there is no concrete error API raises

this error

29

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

34 CONVERSION OPERATIONS SPECIFIC ERRORS Code Message Meaning

200 Unsupported Measurement units

35 WALL THICKNESS ANALYSIS OPERATION SPECIFIC ERRORS Code Message Meaning

300 Wrong minimal wall thickness Value should be between 01 and 20 (mm)

301 Wrong accuracy wall thickness

value

Value should be only one of predefined

value values (see Wall Thickness Analysis

Operation)

302 The model is too big Please scale it down

One of the model dimensions is too big Scale it down Dimension size should not exceed 500 mm

36 SCALING OPERATION SPECIFIC ERRORS Code Message Meaning

400 Scale value is not in the appropriate range

Value should be in range 001 ndash 10000

401 Axis is incorrect Value should be one of the predefined list (X Y Z)

37 GENERATE THUMBNAIL OPERATION SPECIFIC ERRORS Code Message Meaning

500 Wrong thumbnail size The width and height should be not less than 10 px but not more than 10000 px

501 Wrong camera angle Value should be in range from -180 to 180 degree

71 Operation was not found or you are

not the owner of the operation

Operation id id

72 A timeout occurred while

processing your file Your file may

be too big or complex

73 Operation with 0 has not finished

yet

74 Operation with Id 0 failed No

results available Use operation

status Api to get detailed error

30

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

38 SHRINKWRAP OPERATION SPECIFIC ERRORS Code Message Meaning

600 Accuracy value is not in appropriate range

Value should in range 100 ndash 500

39 REDUCE TRIANGLES OPERATION SPECIFIC ERRORS Code Message Meaning

700 The parameter Accuracy (mm) is invalid expecting a floating point value between 0 and 10 mm

The value should be a floating point number between 0 and 10

701 The parameter Max Angle is invalid expecting a value between 0 and 90

The value should be an integer number between 0 and 90

702 The parameter Number of Iterations is invalid expecting a value between 1 and 1000

The value should be an integer number between 1 and 1000

Page 8: API Developer Documentation - Materialise...API Developer Documentation 1 cloud.materialise.com – 3DPrintCloud@materialise.com INTRODUCTION TO 3DPRINTCLOUD API The 3DPrintCloud API

7

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

Pragma no-cache

Content-Length 851

Content-Type applicationjsoncharset=UTF-8

Expires -1

Date Thu 30 Jul 2015 090839 GMT

access_tokenPSmVR2cKB_Ozjls-rDrGdNLetRyEdqeB4GwETTnukCWtSCsA6ve12-

Gb_a6x1CvCATFKv5yBtQ7v_hvm3BdVOQNlBHoiTlPaDqLdTcK8Hdk38kv2iKJg3py_OCXwiZZRr

eMc9cSp1o-x6QIeoH4gahVct9weyRx99ToZYV-VTuOWYGQkmgpYj_pOefMRqTNqEbcjN-wghTR-

uBtGLw5pPWOtI__3QP9FX_r9ofCx4bNNVYRTgHzfaap6tJ9XMwzlvyIZ34gceW792h7jzFkfRp7

4SCeUVsYACOJeVA3ZCt1nHXwAcWf-

NvG7gdS0qhnD5eA40kB8Ix2xeGxGwAxZao0AdRIkoLlllo6iK3i40dJMktmCnrd1p5_f7AWmnwg

n03zFtEJop0uwSv3LsG9qqURxvo-ccx-

o9DxwelK1FLBIqy10dqV_8CkyCDOCwxi54Wn8x0VJ6vvCin7t5jOmyGQ_UiVRMrtYD-CLnp-

8wV87Jqckve6fMGNhrIOsMbR3jltsMl3fqNBB4sDjyVI_GALxYx93Cm-

0cs25uH8BrtJuoZJ5cU0QMH4zGD1OXRN9mj2tLg

token_typebearer

expires_in899

refresh_token800933aef9d942839fe4176887830c5e

userName25bbc91c-a4ac-4877-b5a0-0aad9deb34c0

asclient_idapitest

issuedThu 30 Jul 2015 090838 GMT

expiresThu 30 Jul 2015 092338 GMT

8

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

2 API METHODS

General considerations

- Before calling any of API methods please make sure that you have received the

token which should be passed along the request as described above

- Usually the request should be in JSON format We accept applicationjson as well as

textjson content types

Errors handling

- In case of successful call we usually send a response with 200 HTTP status code If for

some reason an error has happened we will send a response with HTTP status code

400 or higher

- The full list of errors you can find in the special section of this document or next to

the description of a particular API method

- Error will be in JSON format

Field Type Description

errors Array Array of errors

errors[]code Int Error code

errors[]message String Error message

Error JSON Sample

errors [

code 70

message Operation request failed

]

21 OPERATION FILES API Before running any operation the 3d model file has to be uploaded to our server

211 Operation File Upload HTTP POST web-apioperationfile

Description

You need to upload your model file to our storage before running any operation

URI parameters

None

Request Headers

Content-Type multipartform-data

9

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

Request Body

Binary file with metadata see sample below

Sample

POST httpsapicloudmaterialisecomweb-apioperationfix HTTP11

Authorization Bearer djxmeOuuVxPR1LbyopkMlWtpL6GcxckYN-

74Sn9wREke70X9G6osLFt8-1vFzJZJ9ZaMe6ytioA7U2mq7r9qOEs9jg8R7lxRoWf-

HRhNPIgoUdf6EFO_tFyF4NdkkC9eins-zl-NxN4XXQLmPFE0Qpcb4mlNRTETeQ-

aX38PasCsi2Ylvdqtl48HDNpf76kKbDaE83nq3DuA3cAqAbUMnMOUf2dC2dTX0VC2Bajs-

q0FI7xiNgDN2fuaLpPMCRlMR_wGt68mrnrmm-

55WFjYUxFGLlsrLJERHeftXeagPeMzCGht0DFxH4LzhEssfu4wPUoAiL0XcPfD1FTkbZpWZtSHt

cLPQ8N4R-B1s5md_A1fMSrLoqhZKz9q2-

CuBSsy6A7olziacje3bqX9ZpG1gB6wSsjD4Htlk7EM3tCSC86cLP_dJtPxH6bCRZdXgGuQADgYb

ETsMNBhQ5cZo-P8WBnUNzKaBMvgdSvzFu8v0z3Js1Yc2urks_3kUW1Mox5bqrCHTA

Content-Type multipartform-data boundary=-------------------------

acebdf13572468

---------------------------acebdf13572468

Content-Disposition form-data name=fieldNameHere filename=Plugstl

Content-Type applicationvndms-pkistl

file-contents-here

---------------------------acebdf13572468--

Response Format

Http Status Code Field Type Description

200 - Success

fileId Guid File Identifier

fileUrl String File Url

creationDate DateTime File Utc date in Iso format

400 ndash Failure See error codes 10 50 51

Response Example

fileIdd241244f-9d68-4e3b-9fa0-115b135019bf

fileUrl ldquohttprdquo

creationDate 2015-01-01T232856782Z

212 Operation File Chunked Upload HTTP POST web-apioperationfilechunked

Description

Use this method to initiate a chunked upload

Request Format

10

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

URI parameters

None

Request Headers

None

Request Body

None

Response Format

Http Status Code Field Type Description

200 - Success uploadId Guid Upload Identifier

Response Example

uploadIdd241244f-9d68-4e3b-9fa0-115b135019bf

2121 Operation Input Upload File Chunk HTTP POST web-apioperationfileuploadIdchunkchunkIndex

Description

Use this method to upload a chunk with the specified index The chunk index is an integer

starting from 0 with an increment of 1 which specifies the chunkrsquos order in the resulting file

Each chunk must not exceed 4MB in size

Request Format

Url part name Type Description

uploadId Guid Identifier of previously initiated chunked upload

chunkIndex Integer Integer number (starting from 0) denoting the order of the

chunk in the file

Request Headers Content-Type applicationoctet-stream (optional)

Request Body

Chunk content

Sample POST httpsapicloudmaterialisecomweb-apioperationfile8d875aed-9603-4ad4-b075-2c4f122bfb8echunk0 HTTP11 Content-Length 300

Content-Type applicationoctet-stream

chunk content here

Response Format

Http Status Code Field Type Description

200 - Success

11

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

uploadId Guid Upload Identifier

chunkId String Identifier of uploaded chunk

400 ndash Failure See error codes 10- 54 56 57

Response Example

uploadIdd241244f-9d68-4e3b-9fa0-115b135019bf

chunkId ldquoAAAAAA==rdquo

2122 Operation Input Complete Chunked Upload HTTP POST web-apioperationfileuploadId

Description

Use this method to complete a chunked upload and get the Id of the resulting file

Request Format

Url part name Type Description

uploadId Guid Identifier of previously initiated chunked upload

Request Headers Content-Type applicationjson

Request Body

Field Type Description

fileName String Name of resulting file with extension

chunkIds Array[String] An array of ordered chunk identifiers received from the Upload Chunk API method Note the Ids must be in a correct order

Sample POST httpapicloudmaterialisecomweb-apioperationfile8d875aed-9603-4ad4-b075-2c4f122bfb8e HTTP11 Content-Type applicationjson chunkIds [AAAAAA== AQAAAA== AgAAAA== ] fileName filestl

Response Format

Http Status Code Field Type Description

200 - Success

fileId Guid Identifier of resulting file

400 ndash Failure See error codes 10- 50 51 55 57

Response Example

fileIdd241244f-9d68-4e3b-9fa0-115b135019bf

12

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

213 Operation File Download HTTP GET web-apioperationfilefileId

URI parameters

Url part name Type Description

fileId Guid file identifier

Response Format

Http Status Code Field Type Description

200 ndash Success

404 ndash Failure See error codes 10 52

22 OPERATION STATUS API This API method allows to track current status of the operation whether it was completed

successful or failed

221 Operation status ndash polling request HTTP GET web-apioperationoperationIdstatus

Request format

Url part name Type Description

operationId Guid Operation identifier of previously posted operation

Response format

Response encoding type applicationjson

Http Status

Code

Field Type Description

200 - Success

operationId Guid Operation identifier

isCompleted Boolean Has operation been finished

isSuccessful Boolean Has operation completion been successful

404 ndash Failure See error codes 71

400 ndash Failure See error codes 10 70

Response JSON Format

operationIdd241244f-9d68-4e3b-9fa0-115b135019bf

isCompleted true

isSuccessful true

13

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

222 Operation status ndash callback API HTTP POST

Description

If you would rather avoid polling for status and you prepare end-points in your application

that we can use to notify you when an operation completes this is what information we will

provide

Request format

Content Type applicationjson

Field Type Description

operationId Guid Operation identifier

isSuccessful Boolean Has operation completion been successful

Request JSON

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

isSuccessful true

23 CONVERSION OPERATION HTTP POST web-apioperationstl-conversion

Description

It is possible to convert model to Stl format Currently we accept obj 3dm 3ds dae dxf

fbx iges igs ply skp slc vdafs vda vrml wrl zcp zpr files

Some of the file formats do not support measurement units (stl obj) It is possible to

indicate in which measurements units a particular model was created By default

MeasurementUnits parameter will be interpreted as millimeters

Request format

Request encoding type applicationjson

Http Status

Code

Field Name Type Description

200 ndash Success

fileId Guid File unique Identifier

measurementUnits String Measurement units in which model was

created Possible options

(lsquommrsquoinchrsquorsquomrsquorsquorsquonull)

callbackUrl String Url called when operation completed

Request JSON Format

14

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

measurementUnits mm

callbackUrlrdquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

400-Failure See error codes10 50 200

404-Not Found See error codes 52

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

24 CONVERSION OPERATION RESULT HTTP GET web-apioperationoperationIdstl-conversionresult

Uri parameters

Url part name Type Description

operationId Guid operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

fileId Guid Converted stl file

404-Not Found See error codes 71

400-Failure See error codes 10 90

25 ANALYZE OPERATION HTTP POST web-apioperationanalyze

Request encoding type applicationjson

Request format

15

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

Http Status Code Field Type Description

200 ndash Success

fileId Guid Operation unique Identifier for reference

callbackUrl String Url called when operation completed

Request JSON

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

callbackUrl rdquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes10 50

404-Not Found See error codes 52

Response JSON

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

26 ANALYZE OPERATION RESULT HTTP GET web-apioperationoperationIdanalyzeresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response encoding type applicationjson

Http Status

Code

Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

vertices Number Number of model vertices

triangles Number Number of model triangles

contours Number Number of model contours

shells Number Number of model shells

badEdges Number Number of model bad edges

16

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

badContours Number Number of model bad contours

volumeMm3 Float Volume of the model in mm3

dimensionXMm Float

dimensionYMm Float

dimensionZMm Float

surfaceAreaMm2 Float Area of the model surface in mm2

404-Not

Found

See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

vertices 8

triangles 12

contours 12

shells6

badEdges 0

badContours 0

volumeMm3 10

dimensionXMm 10

dimensionYMm 10

dimensionZMm 10

surfaceAreaMm2 10

If BadContours gt 0 OR BadEdges gt 0 OR VolumeMm3 lt 0 we recommend to Repair the

model

27 GEOMETRICAL REPAIR OPERATION Description

This operation allows to get the best possible geometrical repaired model This operation

will not change the geometry of your part however for complex models you might not get a

fully watertight result

HTTP POST web-apioperationgeometrical-repair

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique Identifier for reference

callbackUrl String Url called when operation completed

Request JSON

17

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

callbackUrl ldquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status

Code

Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes10- 50

404-Not Found See error codes 52

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

28 GEOMETRICAL REPAIR OPERATION RESULT HTTP GET web-apioperationoperationIdgeometrical-repairresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

fileId Guid Repaired file id

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

18

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

29 SHRINKWRAP REPAIR OPERATION Description

This operation allows to get a watertight model with slight geometrical impact We will

apply shrinkwrap on your model to repair most difficult parts and therefore handle complex

issues

HTTP POST web-apioperationshrinkwrap-repair

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique Identifier for reference

accuracy String Accepted values ldquoRoughrdquo ldquoSmoothrdquo ldquoDetailedrdquo Higher level will produce better qualitative results however it will take more time for the result to be available

callbackUrl String Url called when operation completed

Request JSON

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

accuracy ldquoSmoothrdquo

callbackUrl rdquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status

Code

Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes10- 50 600

404-Not Found See error codes 52

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

19

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

210 SHRINKWRAP REPAIR OPERATION RESULT HTTP GET web-apioperationoperationIdshrinkwrap-repairresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

fileId Guid Repaired file id

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

211 REPAIR OPERATION Description

This operation allows to automatically combine geometrical result with shrinkwrap for a

higher chance of having a watertight model being the best result between a geometrically

repaired part or shrinkwrap repaired part If your application is sensitive to geometrical

changes we advise you using the Geometrical Repair described above

HTTP POST web-apioperationrepair

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique Identifier for reference

callbackUrl String Url called when operation completed

Request JSON

20

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

callbackUrl rdquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status

Code

Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes10- 50

404-Not Found See error codes 52

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

212 REPAIR OPERATION RESULT HTTP GET web-apioperationoperationIdrepairresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

fileId Guid Repaired file id

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

21

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

213 WALL THICKNESS ANALYSIS OPERATION Description

This operation allows to analyze model for finding areas which are too thin for printing

Result of the analysis is a model painted with green if all is Ok If there are too thin areas on

the model surface it will be painted with red If there are areas which are suspected to be

too thin it will be painted with yellow

HTTP POST web-apioperationwall-thickness-analysis

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File for analysis unique

identifier

minimalWallThicknessMm Float Minimal acceptable wall

thickness Optional Default

value = 08

accuracyWallThickness Number Number will define the

resolution (and speed)

Optional Default value = 2

Acceptable values 2 4 6 8

10

A higher number will be more

accurate but slower in

processing

callbackUrl String Url called when operation

completed

Request JSON Format

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

minimalWallThicknessMm 12

accuracyWallThickness 2

callbackUrl httpsmysitecomoperation683561callback

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

22

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

200 ndash Success

operationId Guid Operation unique Identifier for

reference

400-Failure See error codes10- 50 300 301

404-Not Found See error codes 52

Response JSON Format

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

214 WALL THICKNESS ANALYSIS RESULT HTTP GET web-apioperationoperationIdwall-thickness-analysisresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

fileId Guid Analysed file id

hasThinWalls Boolean Indicate that model contains too

thin walls

hasPossibleThinWalls Boolean Indicate that model contains too

walls which are suspected to be

too thin

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

hasThinWalls false

hasPossibleThinWalls true

23

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

215 SCALING OPERATION Description

This operation allows to uniformly scale an stl model to a specified size on one of the axis

HTTP POST web-apioperationscale

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique identifier

axis String Name of axis you want to scale (X Y Z)

scaleToSizeMm Float Millimeters value of the desired dimension

on the specified axis Other axes will be

scaled proportionally Range 001mm ndash

10000mm

callbackUrl String Url called when operation completed

Request JSON

fileId ldquod241244f-9d68-4e3b-9fa0-115b135019bfrdquo

axis ldquoXrdquo

scaleToSizeMm 150

callbackUrl ldquohttpsmysitecomoperation683561callbackrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes 10- 50 400 401

404-Not Found See error codes 52

Response JSON

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

216 SCALING RESULT HTTP GET web-apioperationoperationIdscaleresult

Request format

24

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

fileId Guid Scaled file id

404-Not Found See error codes 71

400-Failure See error codes 10- 73 74

Response JSON

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

21 REDUCE TRIANGLES OPERATION Description

Use this operation to reduce triangles in an STL 3d model When any of the arguments is not

supplied (null or empty string) it automatically defaults to a predefined value (see table

below)

HTTP POST web-apioperationreduce-triangles

Request encoding type applicationjson

Request format

Field Type Description

fileId Guid File unique identifier

accuracyMm Number Floating point value between 0 and 10 When not supplied (null) defaults to 0005

maxAngle Number Integer number between 0 and 90 When not supplied (null) defaults to 5

numberOfIterations Number Integer number between 1 and 1000 When not supplied (null) defaults to 5

callbackUrl String Url called when operation completed

Request JSON

fileId ldquod241244f-9d68-4e3b-9fa0-115b135019bfrdquo

accuracyMm 0005

25

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

maxAngle 5

numberOfIterations 5

callbackUrl ldquohttpsmysitecomoperation683561callbackrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes 10 50 700 701 702

404-Not Found See error codes 52

Response JSON

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

22 REDUCE TRIANGLES RESULT HTTP GET web-apioperationoperationIdreduce-trianglesresult

Request format

Url parameters

Url part name Type Description

operationId Guid Operation identifier

221 Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

fileId Guid Model with reduced triangles

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

23 GENERATE THUMBNAIL OPERATION Description

This operation allows to generate preview thumbnail for a model

HTTP POST web-apioperationthumbnail

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique identifier

26

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

width Number Thumbnail width in pixels

height Number Thumbnail height in pixels

cameraAngleX Number Camera angle relative to the X axis

cameraAngleY Number Camera angle relative to the Y axis

cameraAngleZ Number Camera angle relative to the Z axis

callbackUrl String Url called when operation completed

Request JSON

fileId ldquod241244f-9d68-4e3b-9fa0-115b135019bfrdquo

width 100

height 100

cameraAngleX -70

cameraAngleY 0

cameraAngleZ 30

callbackUrl ldquohttpsmysitecomoperation683561callbackrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes 10 50 500 501

404-Not Found See error codes 52

Response JSON

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

24 THUMBNAIL RESULT HTTP GET web-apioperationoperationIdthumbnailresult

Request format

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

27

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

200 ndash Success

fileId Guid Model thumbnail file id

404-Not Found See error codes 71

400-Failure See error codes 10- 73 74

Response JSON

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

28

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

3 ERROR CODES

31 GENERAL ERRORS Code Message Meaning

10 Server error

11 Temporary error Please retry later

or contact us email if error

persists

12 Access denied

13 Invalid request format One or more of the parameters supplied

for the requested method are invalid

(Example string provided instead of int

etc) The parameters with the wrong value

will be provided in the message in the

format The value supplied for parameter

0 is invalid

32 FILE API ERRORS Code Message Meaning

50 Currently only Stl files are

supported

51 File is too big File was not saved

52 File was not found or you are not

the owner of the file File id file id

53 File Content is empty

54 Chunk is too big

55 Chunked upload commit error

56 Chunk is empty

57 File with id id already exists If you try to upload a chunk or commit a chunked upload using a file id of an existing file (of either a regular file upload or a committed chunked upload) yoursquoll receive this error to prevent from corrupting an existing file

33 GENERAL OPERATIONS RELATED ERRORS

Code Message Meaning

70 Operation request failed In case there is no concrete error API raises

this error

29

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

34 CONVERSION OPERATIONS SPECIFIC ERRORS Code Message Meaning

200 Unsupported Measurement units

35 WALL THICKNESS ANALYSIS OPERATION SPECIFIC ERRORS Code Message Meaning

300 Wrong minimal wall thickness Value should be between 01 and 20 (mm)

301 Wrong accuracy wall thickness

value

Value should be only one of predefined

value values (see Wall Thickness Analysis

Operation)

302 The model is too big Please scale it down

One of the model dimensions is too big Scale it down Dimension size should not exceed 500 mm

36 SCALING OPERATION SPECIFIC ERRORS Code Message Meaning

400 Scale value is not in the appropriate range

Value should be in range 001 ndash 10000

401 Axis is incorrect Value should be one of the predefined list (X Y Z)

37 GENERATE THUMBNAIL OPERATION SPECIFIC ERRORS Code Message Meaning

500 Wrong thumbnail size The width and height should be not less than 10 px but not more than 10000 px

501 Wrong camera angle Value should be in range from -180 to 180 degree

71 Operation was not found or you are

not the owner of the operation

Operation id id

72 A timeout occurred while

processing your file Your file may

be too big or complex

73 Operation with 0 has not finished

yet

74 Operation with Id 0 failed No

results available Use operation

status Api to get detailed error

30

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

38 SHRINKWRAP OPERATION SPECIFIC ERRORS Code Message Meaning

600 Accuracy value is not in appropriate range

Value should in range 100 ndash 500

39 REDUCE TRIANGLES OPERATION SPECIFIC ERRORS Code Message Meaning

700 The parameter Accuracy (mm) is invalid expecting a floating point value between 0 and 10 mm

The value should be a floating point number between 0 and 10

701 The parameter Max Angle is invalid expecting a value between 0 and 90

The value should be an integer number between 0 and 90

702 The parameter Number of Iterations is invalid expecting a value between 1 and 1000

The value should be an integer number between 1 and 1000

Page 9: API Developer Documentation - Materialise...API Developer Documentation 1 cloud.materialise.com – 3DPrintCloud@materialise.com INTRODUCTION TO 3DPRINTCLOUD API The 3DPrintCloud API

8

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

2 API METHODS

General considerations

- Before calling any of API methods please make sure that you have received the

token which should be passed along the request as described above

- Usually the request should be in JSON format We accept applicationjson as well as

textjson content types

Errors handling

- In case of successful call we usually send a response with 200 HTTP status code If for

some reason an error has happened we will send a response with HTTP status code

400 or higher

- The full list of errors you can find in the special section of this document or next to

the description of a particular API method

- Error will be in JSON format

Field Type Description

errors Array Array of errors

errors[]code Int Error code

errors[]message String Error message

Error JSON Sample

errors [

code 70

message Operation request failed

]

21 OPERATION FILES API Before running any operation the 3d model file has to be uploaded to our server

211 Operation File Upload HTTP POST web-apioperationfile

Description

You need to upload your model file to our storage before running any operation

URI parameters

None

Request Headers

Content-Type multipartform-data

9

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

Request Body

Binary file with metadata see sample below

Sample

POST httpsapicloudmaterialisecomweb-apioperationfix HTTP11

Authorization Bearer djxmeOuuVxPR1LbyopkMlWtpL6GcxckYN-

74Sn9wREke70X9G6osLFt8-1vFzJZJ9ZaMe6ytioA7U2mq7r9qOEs9jg8R7lxRoWf-

HRhNPIgoUdf6EFO_tFyF4NdkkC9eins-zl-NxN4XXQLmPFE0Qpcb4mlNRTETeQ-

aX38PasCsi2Ylvdqtl48HDNpf76kKbDaE83nq3DuA3cAqAbUMnMOUf2dC2dTX0VC2Bajs-

q0FI7xiNgDN2fuaLpPMCRlMR_wGt68mrnrmm-

55WFjYUxFGLlsrLJERHeftXeagPeMzCGht0DFxH4LzhEssfu4wPUoAiL0XcPfD1FTkbZpWZtSHt

cLPQ8N4R-B1s5md_A1fMSrLoqhZKz9q2-

CuBSsy6A7olziacje3bqX9ZpG1gB6wSsjD4Htlk7EM3tCSC86cLP_dJtPxH6bCRZdXgGuQADgYb

ETsMNBhQ5cZo-P8WBnUNzKaBMvgdSvzFu8v0z3Js1Yc2urks_3kUW1Mox5bqrCHTA

Content-Type multipartform-data boundary=-------------------------

acebdf13572468

---------------------------acebdf13572468

Content-Disposition form-data name=fieldNameHere filename=Plugstl

Content-Type applicationvndms-pkistl

file-contents-here

---------------------------acebdf13572468--

Response Format

Http Status Code Field Type Description

200 - Success

fileId Guid File Identifier

fileUrl String File Url

creationDate DateTime File Utc date in Iso format

400 ndash Failure See error codes 10 50 51

Response Example

fileIdd241244f-9d68-4e3b-9fa0-115b135019bf

fileUrl ldquohttprdquo

creationDate 2015-01-01T232856782Z

212 Operation File Chunked Upload HTTP POST web-apioperationfilechunked

Description

Use this method to initiate a chunked upload

Request Format

10

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

URI parameters

None

Request Headers

None

Request Body

None

Response Format

Http Status Code Field Type Description

200 - Success uploadId Guid Upload Identifier

Response Example

uploadIdd241244f-9d68-4e3b-9fa0-115b135019bf

2121 Operation Input Upload File Chunk HTTP POST web-apioperationfileuploadIdchunkchunkIndex

Description

Use this method to upload a chunk with the specified index The chunk index is an integer

starting from 0 with an increment of 1 which specifies the chunkrsquos order in the resulting file

Each chunk must not exceed 4MB in size

Request Format

Url part name Type Description

uploadId Guid Identifier of previously initiated chunked upload

chunkIndex Integer Integer number (starting from 0) denoting the order of the

chunk in the file

Request Headers Content-Type applicationoctet-stream (optional)

Request Body

Chunk content

Sample POST httpsapicloudmaterialisecomweb-apioperationfile8d875aed-9603-4ad4-b075-2c4f122bfb8echunk0 HTTP11 Content-Length 300

Content-Type applicationoctet-stream

chunk content here

Response Format

Http Status Code Field Type Description

200 - Success

11

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

uploadId Guid Upload Identifier

chunkId String Identifier of uploaded chunk

400 ndash Failure See error codes 10- 54 56 57

Response Example

uploadIdd241244f-9d68-4e3b-9fa0-115b135019bf

chunkId ldquoAAAAAA==rdquo

2122 Operation Input Complete Chunked Upload HTTP POST web-apioperationfileuploadId

Description

Use this method to complete a chunked upload and get the Id of the resulting file

Request Format

Url part name Type Description

uploadId Guid Identifier of previously initiated chunked upload

Request Headers Content-Type applicationjson

Request Body

Field Type Description

fileName String Name of resulting file with extension

chunkIds Array[String] An array of ordered chunk identifiers received from the Upload Chunk API method Note the Ids must be in a correct order

Sample POST httpapicloudmaterialisecomweb-apioperationfile8d875aed-9603-4ad4-b075-2c4f122bfb8e HTTP11 Content-Type applicationjson chunkIds [AAAAAA== AQAAAA== AgAAAA== ] fileName filestl

Response Format

Http Status Code Field Type Description

200 - Success

fileId Guid Identifier of resulting file

400 ndash Failure See error codes 10- 50 51 55 57

Response Example

fileIdd241244f-9d68-4e3b-9fa0-115b135019bf

12

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

213 Operation File Download HTTP GET web-apioperationfilefileId

URI parameters

Url part name Type Description

fileId Guid file identifier

Response Format

Http Status Code Field Type Description

200 ndash Success

404 ndash Failure See error codes 10 52

22 OPERATION STATUS API This API method allows to track current status of the operation whether it was completed

successful or failed

221 Operation status ndash polling request HTTP GET web-apioperationoperationIdstatus

Request format

Url part name Type Description

operationId Guid Operation identifier of previously posted operation

Response format

Response encoding type applicationjson

Http Status

Code

Field Type Description

200 - Success

operationId Guid Operation identifier

isCompleted Boolean Has operation been finished

isSuccessful Boolean Has operation completion been successful

404 ndash Failure See error codes 71

400 ndash Failure See error codes 10 70

Response JSON Format

operationIdd241244f-9d68-4e3b-9fa0-115b135019bf

isCompleted true

isSuccessful true

13

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

222 Operation status ndash callback API HTTP POST

Description

If you would rather avoid polling for status and you prepare end-points in your application

that we can use to notify you when an operation completes this is what information we will

provide

Request format

Content Type applicationjson

Field Type Description

operationId Guid Operation identifier

isSuccessful Boolean Has operation completion been successful

Request JSON

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

isSuccessful true

23 CONVERSION OPERATION HTTP POST web-apioperationstl-conversion

Description

It is possible to convert model to Stl format Currently we accept obj 3dm 3ds dae dxf

fbx iges igs ply skp slc vdafs vda vrml wrl zcp zpr files

Some of the file formats do not support measurement units (stl obj) It is possible to

indicate in which measurements units a particular model was created By default

MeasurementUnits parameter will be interpreted as millimeters

Request format

Request encoding type applicationjson

Http Status

Code

Field Name Type Description

200 ndash Success

fileId Guid File unique Identifier

measurementUnits String Measurement units in which model was

created Possible options

(lsquommrsquoinchrsquorsquomrsquorsquorsquonull)

callbackUrl String Url called when operation completed

Request JSON Format

14

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

measurementUnits mm

callbackUrlrdquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

400-Failure See error codes10 50 200

404-Not Found See error codes 52

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

24 CONVERSION OPERATION RESULT HTTP GET web-apioperationoperationIdstl-conversionresult

Uri parameters

Url part name Type Description

operationId Guid operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

fileId Guid Converted stl file

404-Not Found See error codes 71

400-Failure See error codes 10 90

25 ANALYZE OPERATION HTTP POST web-apioperationanalyze

Request encoding type applicationjson

Request format

15

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

Http Status Code Field Type Description

200 ndash Success

fileId Guid Operation unique Identifier for reference

callbackUrl String Url called when operation completed

Request JSON

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

callbackUrl rdquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes10 50

404-Not Found See error codes 52

Response JSON

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

26 ANALYZE OPERATION RESULT HTTP GET web-apioperationoperationIdanalyzeresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response encoding type applicationjson

Http Status

Code

Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

vertices Number Number of model vertices

triangles Number Number of model triangles

contours Number Number of model contours

shells Number Number of model shells

badEdges Number Number of model bad edges

16

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

badContours Number Number of model bad contours

volumeMm3 Float Volume of the model in mm3

dimensionXMm Float

dimensionYMm Float

dimensionZMm Float

surfaceAreaMm2 Float Area of the model surface in mm2

404-Not

Found

See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

vertices 8

triangles 12

contours 12

shells6

badEdges 0

badContours 0

volumeMm3 10

dimensionXMm 10

dimensionYMm 10

dimensionZMm 10

surfaceAreaMm2 10

If BadContours gt 0 OR BadEdges gt 0 OR VolumeMm3 lt 0 we recommend to Repair the

model

27 GEOMETRICAL REPAIR OPERATION Description

This operation allows to get the best possible geometrical repaired model This operation

will not change the geometry of your part however for complex models you might not get a

fully watertight result

HTTP POST web-apioperationgeometrical-repair

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique Identifier for reference

callbackUrl String Url called when operation completed

Request JSON

17

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

callbackUrl ldquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status

Code

Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes10- 50

404-Not Found See error codes 52

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

28 GEOMETRICAL REPAIR OPERATION RESULT HTTP GET web-apioperationoperationIdgeometrical-repairresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

fileId Guid Repaired file id

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

18

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

29 SHRINKWRAP REPAIR OPERATION Description

This operation allows to get a watertight model with slight geometrical impact We will

apply shrinkwrap on your model to repair most difficult parts and therefore handle complex

issues

HTTP POST web-apioperationshrinkwrap-repair

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique Identifier for reference

accuracy String Accepted values ldquoRoughrdquo ldquoSmoothrdquo ldquoDetailedrdquo Higher level will produce better qualitative results however it will take more time for the result to be available

callbackUrl String Url called when operation completed

Request JSON

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

accuracy ldquoSmoothrdquo

callbackUrl rdquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status

Code

Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes10- 50 600

404-Not Found See error codes 52

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

19

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

210 SHRINKWRAP REPAIR OPERATION RESULT HTTP GET web-apioperationoperationIdshrinkwrap-repairresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

fileId Guid Repaired file id

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

211 REPAIR OPERATION Description

This operation allows to automatically combine geometrical result with shrinkwrap for a

higher chance of having a watertight model being the best result between a geometrically

repaired part or shrinkwrap repaired part If your application is sensitive to geometrical

changes we advise you using the Geometrical Repair described above

HTTP POST web-apioperationrepair

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique Identifier for reference

callbackUrl String Url called when operation completed

Request JSON

20

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

callbackUrl rdquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status

Code

Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes10- 50

404-Not Found See error codes 52

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

212 REPAIR OPERATION RESULT HTTP GET web-apioperationoperationIdrepairresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

fileId Guid Repaired file id

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

21

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

213 WALL THICKNESS ANALYSIS OPERATION Description

This operation allows to analyze model for finding areas which are too thin for printing

Result of the analysis is a model painted with green if all is Ok If there are too thin areas on

the model surface it will be painted with red If there are areas which are suspected to be

too thin it will be painted with yellow

HTTP POST web-apioperationwall-thickness-analysis

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File for analysis unique

identifier

minimalWallThicknessMm Float Minimal acceptable wall

thickness Optional Default

value = 08

accuracyWallThickness Number Number will define the

resolution (and speed)

Optional Default value = 2

Acceptable values 2 4 6 8

10

A higher number will be more

accurate but slower in

processing

callbackUrl String Url called when operation

completed

Request JSON Format

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

minimalWallThicknessMm 12

accuracyWallThickness 2

callbackUrl httpsmysitecomoperation683561callback

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

22

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

200 ndash Success

operationId Guid Operation unique Identifier for

reference

400-Failure See error codes10- 50 300 301

404-Not Found See error codes 52

Response JSON Format

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

214 WALL THICKNESS ANALYSIS RESULT HTTP GET web-apioperationoperationIdwall-thickness-analysisresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

fileId Guid Analysed file id

hasThinWalls Boolean Indicate that model contains too

thin walls

hasPossibleThinWalls Boolean Indicate that model contains too

walls which are suspected to be

too thin

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

hasThinWalls false

hasPossibleThinWalls true

23

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

215 SCALING OPERATION Description

This operation allows to uniformly scale an stl model to a specified size on one of the axis

HTTP POST web-apioperationscale

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique identifier

axis String Name of axis you want to scale (X Y Z)

scaleToSizeMm Float Millimeters value of the desired dimension

on the specified axis Other axes will be

scaled proportionally Range 001mm ndash

10000mm

callbackUrl String Url called when operation completed

Request JSON

fileId ldquod241244f-9d68-4e3b-9fa0-115b135019bfrdquo

axis ldquoXrdquo

scaleToSizeMm 150

callbackUrl ldquohttpsmysitecomoperation683561callbackrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes 10- 50 400 401

404-Not Found See error codes 52

Response JSON

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

216 SCALING RESULT HTTP GET web-apioperationoperationIdscaleresult

Request format

24

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

fileId Guid Scaled file id

404-Not Found See error codes 71

400-Failure See error codes 10- 73 74

Response JSON

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

21 REDUCE TRIANGLES OPERATION Description

Use this operation to reduce triangles in an STL 3d model When any of the arguments is not

supplied (null or empty string) it automatically defaults to a predefined value (see table

below)

HTTP POST web-apioperationreduce-triangles

Request encoding type applicationjson

Request format

Field Type Description

fileId Guid File unique identifier

accuracyMm Number Floating point value between 0 and 10 When not supplied (null) defaults to 0005

maxAngle Number Integer number between 0 and 90 When not supplied (null) defaults to 5

numberOfIterations Number Integer number between 1 and 1000 When not supplied (null) defaults to 5

callbackUrl String Url called when operation completed

Request JSON

fileId ldquod241244f-9d68-4e3b-9fa0-115b135019bfrdquo

accuracyMm 0005

25

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

maxAngle 5

numberOfIterations 5

callbackUrl ldquohttpsmysitecomoperation683561callbackrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes 10 50 700 701 702

404-Not Found See error codes 52

Response JSON

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

22 REDUCE TRIANGLES RESULT HTTP GET web-apioperationoperationIdreduce-trianglesresult

Request format

Url parameters

Url part name Type Description

operationId Guid Operation identifier

221 Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

fileId Guid Model with reduced triangles

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

23 GENERATE THUMBNAIL OPERATION Description

This operation allows to generate preview thumbnail for a model

HTTP POST web-apioperationthumbnail

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique identifier

26

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

width Number Thumbnail width in pixels

height Number Thumbnail height in pixels

cameraAngleX Number Camera angle relative to the X axis

cameraAngleY Number Camera angle relative to the Y axis

cameraAngleZ Number Camera angle relative to the Z axis

callbackUrl String Url called when operation completed

Request JSON

fileId ldquod241244f-9d68-4e3b-9fa0-115b135019bfrdquo

width 100

height 100

cameraAngleX -70

cameraAngleY 0

cameraAngleZ 30

callbackUrl ldquohttpsmysitecomoperation683561callbackrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes 10 50 500 501

404-Not Found See error codes 52

Response JSON

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

24 THUMBNAIL RESULT HTTP GET web-apioperationoperationIdthumbnailresult

Request format

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

27

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

200 ndash Success

fileId Guid Model thumbnail file id

404-Not Found See error codes 71

400-Failure See error codes 10- 73 74

Response JSON

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

28

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

3 ERROR CODES

31 GENERAL ERRORS Code Message Meaning

10 Server error

11 Temporary error Please retry later

or contact us email if error

persists

12 Access denied

13 Invalid request format One or more of the parameters supplied

for the requested method are invalid

(Example string provided instead of int

etc) The parameters with the wrong value

will be provided in the message in the

format The value supplied for parameter

0 is invalid

32 FILE API ERRORS Code Message Meaning

50 Currently only Stl files are

supported

51 File is too big File was not saved

52 File was not found or you are not

the owner of the file File id file id

53 File Content is empty

54 Chunk is too big

55 Chunked upload commit error

56 Chunk is empty

57 File with id id already exists If you try to upload a chunk or commit a chunked upload using a file id of an existing file (of either a regular file upload or a committed chunked upload) yoursquoll receive this error to prevent from corrupting an existing file

33 GENERAL OPERATIONS RELATED ERRORS

Code Message Meaning

70 Operation request failed In case there is no concrete error API raises

this error

29

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

34 CONVERSION OPERATIONS SPECIFIC ERRORS Code Message Meaning

200 Unsupported Measurement units

35 WALL THICKNESS ANALYSIS OPERATION SPECIFIC ERRORS Code Message Meaning

300 Wrong minimal wall thickness Value should be between 01 and 20 (mm)

301 Wrong accuracy wall thickness

value

Value should be only one of predefined

value values (see Wall Thickness Analysis

Operation)

302 The model is too big Please scale it down

One of the model dimensions is too big Scale it down Dimension size should not exceed 500 mm

36 SCALING OPERATION SPECIFIC ERRORS Code Message Meaning

400 Scale value is not in the appropriate range

Value should be in range 001 ndash 10000

401 Axis is incorrect Value should be one of the predefined list (X Y Z)

37 GENERATE THUMBNAIL OPERATION SPECIFIC ERRORS Code Message Meaning

500 Wrong thumbnail size The width and height should be not less than 10 px but not more than 10000 px

501 Wrong camera angle Value should be in range from -180 to 180 degree

71 Operation was not found or you are

not the owner of the operation

Operation id id

72 A timeout occurred while

processing your file Your file may

be too big or complex

73 Operation with 0 has not finished

yet

74 Operation with Id 0 failed No

results available Use operation

status Api to get detailed error

30

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

38 SHRINKWRAP OPERATION SPECIFIC ERRORS Code Message Meaning

600 Accuracy value is not in appropriate range

Value should in range 100 ndash 500

39 REDUCE TRIANGLES OPERATION SPECIFIC ERRORS Code Message Meaning

700 The parameter Accuracy (mm) is invalid expecting a floating point value between 0 and 10 mm

The value should be a floating point number between 0 and 10

701 The parameter Max Angle is invalid expecting a value between 0 and 90

The value should be an integer number between 0 and 90

702 The parameter Number of Iterations is invalid expecting a value between 1 and 1000

The value should be an integer number between 1 and 1000

Page 10: API Developer Documentation - Materialise...API Developer Documentation 1 cloud.materialise.com – 3DPrintCloud@materialise.com INTRODUCTION TO 3DPRINTCLOUD API The 3DPrintCloud API

9

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

Request Body

Binary file with metadata see sample below

Sample

POST httpsapicloudmaterialisecomweb-apioperationfix HTTP11

Authorization Bearer djxmeOuuVxPR1LbyopkMlWtpL6GcxckYN-

74Sn9wREke70X9G6osLFt8-1vFzJZJ9ZaMe6ytioA7U2mq7r9qOEs9jg8R7lxRoWf-

HRhNPIgoUdf6EFO_tFyF4NdkkC9eins-zl-NxN4XXQLmPFE0Qpcb4mlNRTETeQ-

aX38PasCsi2Ylvdqtl48HDNpf76kKbDaE83nq3DuA3cAqAbUMnMOUf2dC2dTX0VC2Bajs-

q0FI7xiNgDN2fuaLpPMCRlMR_wGt68mrnrmm-

55WFjYUxFGLlsrLJERHeftXeagPeMzCGht0DFxH4LzhEssfu4wPUoAiL0XcPfD1FTkbZpWZtSHt

cLPQ8N4R-B1s5md_A1fMSrLoqhZKz9q2-

CuBSsy6A7olziacje3bqX9ZpG1gB6wSsjD4Htlk7EM3tCSC86cLP_dJtPxH6bCRZdXgGuQADgYb

ETsMNBhQ5cZo-P8WBnUNzKaBMvgdSvzFu8v0z3Js1Yc2urks_3kUW1Mox5bqrCHTA

Content-Type multipartform-data boundary=-------------------------

acebdf13572468

---------------------------acebdf13572468

Content-Disposition form-data name=fieldNameHere filename=Plugstl

Content-Type applicationvndms-pkistl

file-contents-here

---------------------------acebdf13572468--

Response Format

Http Status Code Field Type Description

200 - Success

fileId Guid File Identifier

fileUrl String File Url

creationDate DateTime File Utc date in Iso format

400 ndash Failure See error codes 10 50 51

Response Example

fileIdd241244f-9d68-4e3b-9fa0-115b135019bf

fileUrl ldquohttprdquo

creationDate 2015-01-01T232856782Z

212 Operation File Chunked Upload HTTP POST web-apioperationfilechunked

Description

Use this method to initiate a chunked upload

Request Format

10

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

URI parameters

None

Request Headers

None

Request Body

None

Response Format

Http Status Code Field Type Description

200 - Success uploadId Guid Upload Identifier

Response Example

uploadIdd241244f-9d68-4e3b-9fa0-115b135019bf

2121 Operation Input Upload File Chunk HTTP POST web-apioperationfileuploadIdchunkchunkIndex

Description

Use this method to upload a chunk with the specified index The chunk index is an integer

starting from 0 with an increment of 1 which specifies the chunkrsquos order in the resulting file

Each chunk must not exceed 4MB in size

Request Format

Url part name Type Description

uploadId Guid Identifier of previously initiated chunked upload

chunkIndex Integer Integer number (starting from 0) denoting the order of the

chunk in the file

Request Headers Content-Type applicationoctet-stream (optional)

Request Body

Chunk content

Sample POST httpsapicloudmaterialisecomweb-apioperationfile8d875aed-9603-4ad4-b075-2c4f122bfb8echunk0 HTTP11 Content-Length 300

Content-Type applicationoctet-stream

chunk content here

Response Format

Http Status Code Field Type Description

200 - Success

11

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

uploadId Guid Upload Identifier

chunkId String Identifier of uploaded chunk

400 ndash Failure See error codes 10- 54 56 57

Response Example

uploadIdd241244f-9d68-4e3b-9fa0-115b135019bf

chunkId ldquoAAAAAA==rdquo

2122 Operation Input Complete Chunked Upload HTTP POST web-apioperationfileuploadId

Description

Use this method to complete a chunked upload and get the Id of the resulting file

Request Format

Url part name Type Description

uploadId Guid Identifier of previously initiated chunked upload

Request Headers Content-Type applicationjson

Request Body

Field Type Description

fileName String Name of resulting file with extension

chunkIds Array[String] An array of ordered chunk identifiers received from the Upload Chunk API method Note the Ids must be in a correct order

Sample POST httpapicloudmaterialisecomweb-apioperationfile8d875aed-9603-4ad4-b075-2c4f122bfb8e HTTP11 Content-Type applicationjson chunkIds [AAAAAA== AQAAAA== AgAAAA== ] fileName filestl

Response Format

Http Status Code Field Type Description

200 - Success

fileId Guid Identifier of resulting file

400 ndash Failure See error codes 10- 50 51 55 57

Response Example

fileIdd241244f-9d68-4e3b-9fa0-115b135019bf

12

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

213 Operation File Download HTTP GET web-apioperationfilefileId

URI parameters

Url part name Type Description

fileId Guid file identifier

Response Format

Http Status Code Field Type Description

200 ndash Success

404 ndash Failure See error codes 10 52

22 OPERATION STATUS API This API method allows to track current status of the operation whether it was completed

successful or failed

221 Operation status ndash polling request HTTP GET web-apioperationoperationIdstatus

Request format

Url part name Type Description

operationId Guid Operation identifier of previously posted operation

Response format

Response encoding type applicationjson

Http Status

Code

Field Type Description

200 - Success

operationId Guid Operation identifier

isCompleted Boolean Has operation been finished

isSuccessful Boolean Has operation completion been successful

404 ndash Failure See error codes 71

400 ndash Failure See error codes 10 70

Response JSON Format

operationIdd241244f-9d68-4e3b-9fa0-115b135019bf

isCompleted true

isSuccessful true

13

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

222 Operation status ndash callback API HTTP POST

Description

If you would rather avoid polling for status and you prepare end-points in your application

that we can use to notify you when an operation completes this is what information we will

provide

Request format

Content Type applicationjson

Field Type Description

operationId Guid Operation identifier

isSuccessful Boolean Has operation completion been successful

Request JSON

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

isSuccessful true

23 CONVERSION OPERATION HTTP POST web-apioperationstl-conversion

Description

It is possible to convert model to Stl format Currently we accept obj 3dm 3ds dae dxf

fbx iges igs ply skp slc vdafs vda vrml wrl zcp zpr files

Some of the file formats do not support measurement units (stl obj) It is possible to

indicate in which measurements units a particular model was created By default

MeasurementUnits parameter will be interpreted as millimeters

Request format

Request encoding type applicationjson

Http Status

Code

Field Name Type Description

200 ndash Success

fileId Guid File unique Identifier

measurementUnits String Measurement units in which model was

created Possible options

(lsquommrsquoinchrsquorsquomrsquorsquorsquonull)

callbackUrl String Url called when operation completed

Request JSON Format

14

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

measurementUnits mm

callbackUrlrdquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

400-Failure See error codes10 50 200

404-Not Found See error codes 52

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

24 CONVERSION OPERATION RESULT HTTP GET web-apioperationoperationIdstl-conversionresult

Uri parameters

Url part name Type Description

operationId Guid operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

fileId Guid Converted stl file

404-Not Found See error codes 71

400-Failure See error codes 10 90

25 ANALYZE OPERATION HTTP POST web-apioperationanalyze

Request encoding type applicationjson

Request format

15

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

Http Status Code Field Type Description

200 ndash Success

fileId Guid Operation unique Identifier for reference

callbackUrl String Url called when operation completed

Request JSON

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

callbackUrl rdquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes10 50

404-Not Found See error codes 52

Response JSON

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

26 ANALYZE OPERATION RESULT HTTP GET web-apioperationoperationIdanalyzeresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response encoding type applicationjson

Http Status

Code

Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

vertices Number Number of model vertices

triangles Number Number of model triangles

contours Number Number of model contours

shells Number Number of model shells

badEdges Number Number of model bad edges

16

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

badContours Number Number of model bad contours

volumeMm3 Float Volume of the model in mm3

dimensionXMm Float

dimensionYMm Float

dimensionZMm Float

surfaceAreaMm2 Float Area of the model surface in mm2

404-Not

Found

See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

vertices 8

triangles 12

contours 12

shells6

badEdges 0

badContours 0

volumeMm3 10

dimensionXMm 10

dimensionYMm 10

dimensionZMm 10

surfaceAreaMm2 10

If BadContours gt 0 OR BadEdges gt 0 OR VolumeMm3 lt 0 we recommend to Repair the

model

27 GEOMETRICAL REPAIR OPERATION Description

This operation allows to get the best possible geometrical repaired model This operation

will not change the geometry of your part however for complex models you might not get a

fully watertight result

HTTP POST web-apioperationgeometrical-repair

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique Identifier for reference

callbackUrl String Url called when operation completed

Request JSON

17

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

callbackUrl ldquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status

Code

Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes10- 50

404-Not Found See error codes 52

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

28 GEOMETRICAL REPAIR OPERATION RESULT HTTP GET web-apioperationoperationIdgeometrical-repairresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

fileId Guid Repaired file id

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

18

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

29 SHRINKWRAP REPAIR OPERATION Description

This operation allows to get a watertight model with slight geometrical impact We will

apply shrinkwrap on your model to repair most difficult parts and therefore handle complex

issues

HTTP POST web-apioperationshrinkwrap-repair

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique Identifier for reference

accuracy String Accepted values ldquoRoughrdquo ldquoSmoothrdquo ldquoDetailedrdquo Higher level will produce better qualitative results however it will take more time for the result to be available

callbackUrl String Url called when operation completed

Request JSON

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

accuracy ldquoSmoothrdquo

callbackUrl rdquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status

Code

Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes10- 50 600

404-Not Found See error codes 52

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

19

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

210 SHRINKWRAP REPAIR OPERATION RESULT HTTP GET web-apioperationoperationIdshrinkwrap-repairresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

fileId Guid Repaired file id

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

211 REPAIR OPERATION Description

This operation allows to automatically combine geometrical result with shrinkwrap for a

higher chance of having a watertight model being the best result between a geometrically

repaired part or shrinkwrap repaired part If your application is sensitive to geometrical

changes we advise you using the Geometrical Repair described above

HTTP POST web-apioperationrepair

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique Identifier for reference

callbackUrl String Url called when operation completed

Request JSON

20

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

callbackUrl rdquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status

Code

Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes10- 50

404-Not Found See error codes 52

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

212 REPAIR OPERATION RESULT HTTP GET web-apioperationoperationIdrepairresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

fileId Guid Repaired file id

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

21

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

213 WALL THICKNESS ANALYSIS OPERATION Description

This operation allows to analyze model for finding areas which are too thin for printing

Result of the analysis is a model painted with green if all is Ok If there are too thin areas on

the model surface it will be painted with red If there are areas which are suspected to be

too thin it will be painted with yellow

HTTP POST web-apioperationwall-thickness-analysis

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File for analysis unique

identifier

minimalWallThicknessMm Float Minimal acceptable wall

thickness Optional Default

value = 08

accuracyWallThickness Number Number will define the

resolution (and speed)

Optional Default value = 2

Acceptable values 2 4 6 8

10

A higher number will be more

accurate but slower in

processing

callbackUrl String Url called when operation

completed

Request JSON Format

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

minimalWallThicknessMm 12

accuracyWallThickness 2

callbackUrl httpsmysitecomoperation683561callback

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

22

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

200 ndash Success

operationId Guid Operation unique Identifier for

reference

400-Failure See error codes10- 50 300 301

404-Not Found See error codes 52

Response JSON Format

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

214 WALL THICKNESS ANALYSIS RESULT HTTP GET web-apioperationoperationIdwall-thickness-analysisresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

fileId Guid Analysed file id

hasThinWalls Boolean Indicate that model contains too

thin walls

hasPossibleThinWalls Boolean Indicate that model contains too

walls which are suspected to be

too thin

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

hasThinWalls false

hasPossibleThinWalls true

23

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

215 SCALING OPERATION Description

This operation allows to uniformly scale an stl model to a specified size on one of the axis

HTTP POST web-apioperationscale

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique identifier

axis String Name of axis you want to scale (X Y Z)

scaleToSizeMm Float Millimeters value of the desired dimension

on the specified axis Other axes will be

scaled proportionally Range 001mm ndash

10000mm

callbackUrl String Url called when operation completed

Request JSON

fileId ldquod241244f-9d68-4e3b-9fa0-115b135019bfrdquo

axis ldquoXrdquo

scaleToSizeMm 150

callbackUrl ldquohttpsmysitecomoperation683561callbackrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes 10- 50 400 401

404-Not Found See error codes 52

Response JSON

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

216 SCALING RESULT HTTP GET web-apioperationoperationIdscaleresult

Request format

24

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

fileId Guid Scaled file id

404-Not Found See error codes 71

400-Failure See error codes 10- 73 74

Response JSON

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

21 REDUCE TRIANGLES OPERATION Description

Use this operation to reduce triangles in an STL 3d model When any of the arguments is not

supplied (null or empty string) it automatically defaults to a predefined value (see table

below)

HTTP POST web-apioperationreduce-triangles

Request encoding type applicationjson

Request format

Field Type Description

fileId Guid File unique identifier

accuracyMm Number Floating point value between 0 and 10 When not supplied (null) defaults to 0005

maxAngle Number Integer number between 0 and 90 When not supplied (null) defaults to 5

numberOfIterations Number Integer number between 1 and 1000 When not supplied (null) defaults to 5

callbackUrl String Url called when operation completed

Request JSON

fileId ldquod241244f-9d68-4e3b-9fa0-115b135019bfrdquo

accuracyMm 0005

25

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

maxAngle 5

numberOfIterations 5

callbackUrl ldquohttpsmysitecomoperation683561callbackrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes 10 50 700 701 702

404-Not Found See error codes 52

Response JSON

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

22 REDUCE TRIANGLES RESULT HTTP GET web-apioperationoperationIdreduce-trianglesresult

Request format

Url parameters

Url part name Type Description

operationId Guid Operation identifier

221 Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

fileId Guid Model with reduced triangles

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

23 GENERATE THUMBNAIL OPERATION Description

This operation allows to generate preview thumbnail for a model

HTTP POST web-apioperationthumbnail

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique identifier

26

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

width Number Thumbnail width in pixels

height Number Thumbnail height in pixels

cameraAngleX Number Camera angle relative to the X axis

cameraAngleY Number Camera angle relative to the Y axis

cameraAngleZ Number Camera angle relative to the Z axis

callbackUrl String Url called when operation completed

Request JSON

fileId ldquod241244f-9d68-4e3b-9fa0-115b135019bfrdquo

width 100

height 100

cameraAngleX -70

cameraAngleY 0

cameraAngleZ 30

callbackUrl ldquohttpsmysitecomoperation683561callbackrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes 10 50 500 501

404-Not Found See error codes 52

Response JSON

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

24 THUMBNAIL RESULT HTTP GET web-apioperationoperationIdthumbnailresult

Request format

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

27

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

200 ndash Success

fileId Guid Model thumbnail file id

404-Not Found See error codes 71

400-Failure See error codes 10- 73 74

Response JSON

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

28

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

3 ERROR CODES

31 GENERAL ERRORS Code Message Meaning

10 Server error

11 Temporary error Please retry later

or contact us email if error

persists

12 Access denied

13 Invalid request format One or more of the parameters supplied

for the requested method are invalid

(Example string provided instead of int

etc) The parameters with the wrong value

will be provided in the message in the

format The value supplied for parameter

0 is invalid

32 FILE API ERRORS Code Message Meaning

50 Currently only Stl files are

supported

51 File is too big File was not saved

52 File was not found or you are not

the owner of the file File id file id

53 File Content is empty

54 Chunk is too big

55 Chunked upload commit error

56 Chunk is empty

57 File with id id already exists If you try to upload a chunk or commit a chunked upload using a file id of an existing file (of either a regular file upload or a committed chunked upload) yoursquoll receive this error to prevent from corrupting an existing file

33 GENERAL OPERATIONS RELATED ERRORS

Code Message Meaning

70 Operation request failed In case there is no concrete error API raises

this error

29

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

34 CONVERSION OPERATIONS SPECIFIC ERRORS Code Message Meaning

200 Unsupported Measurement units

35 WALL THICKNESS ANALYSIS OPERATION SPECIFIC ERRORS Code Message Meaning

300 Wrong minimal wall thickness Value should be between 01 and 20 (mm)

301 Wrong accuracy wall thickness

value

Value should be only one of predefined

value values (see Wall Thickness Analysis

Operation)

302 The model is too big Please scale it down

One of the model dimensions is too big Scale it down Dimension size should not exceed 500 mm

36 SCALING OPERATION SPECIFIC ERRORS Code Message Meaning

400 Scale value is not in the appropriate range

Value should be in range 001 ndash 10000

401 Axis is incorrect Value should be one of the predefined list (X Y Z)

37 GENERATE THUMBNAIL OPERATION SPECIFIC ERRORS Code Message Meaning

500 Wrong thumbnail size The width and height should be not less than 10 px but not more than 10000 px

501 Wrong camera angle Value should be in range from -180 to 180 degree

71 Operation was not found or you are

not the owner of the operation

Operation id id

72 A timeout occurred while

processing your file Your file may

be too big or complex

73 Operation with 0 has not finished

yet

74 Operation with Id 0 failed No

results available Use operation

status Api to get detailed error

30

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

38 SHRINKWRAP OPERATION SPECIFIC ERRORS Code Message Meaning

600 Accuracy value is not in appropriate range

Value should in range 100 ndash 500

39 REDUCE TRIANGLES OPERATION SPECIFIC ERRORS Code Message Meaning

700 The parameter Accuracy (mm) is invalid expecting a floating point value between 0 and 10 mm

The value should be a floating point number between 0 and 10

701 The parameter Max Angle is invalid expecting a value between 0 and 90

The value should be an integer number between 0 and 90

702 The parameter Number of Iterations is invalid expecting a value between 1 and 1000

The value should be an integer number between 1 and 1000

Page 11: API Developer Documentation - Materialise...API Developer Documentation 1 cloud.materialise.com – 3DPrintCloud@materialise.com INTRODUCTION TO 3DPRINTCLOUD API The 3DPrintCloud API

10

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

URI parameters

None

Request Headers

None

Request Body

None

Response Format

Http Status Code Field Type Description

200 - Success uploadId Guid Upload Identifier

Response Example

uploadIdd241244f-9d68-4e3b-9fa0-115b135019bf

2121 Operation Input Upload File Chunk HTTP POST web-apioperationfileuploadIdchunkchunkIndex

Description

Use this method to upload a chunk with the specified index The chunk index is an integer

starting from 0 with an increment of 1 which specifies the chunkrsquos order in the resulting file

Each chunk must not exceed 4MB in size

Request Format

Url part name Type Description

uploadId Guid Identifier of previously initiated chunked upload

chunkIndex Integer Integer number (starting from 0) denoting the order of the

chunk in the file

Request Headers Content-Type applicationoctet-stream (optional)

Request Body

Chunk content

Sample POST httpsapicloudmaterialisecomweb-apioperationfile8d875aed-9603-4ad4-b075-2c4f122bfb8echunk0 HTTP11 Content-Length 300

Content-Type applicationoctet-stream

chunk content here

Response Format

Http Status Code Field Type Description

200 - Success

11

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

uploadId Guid Upload Identifier

chunkId String Identifier of uploaded chunk

400 ndash Failure See error codes 10- 54 56 57

Response Example

uploadIdd241244f-9d68-4e3b-9fa0-115b135019bf

chunkId ldquoAAAAAA==rdquo

2122 Operation Input Complete Chunked Upload HTTP POST web-apioperationfileuploadId

Description

Use this method to complete a chunked upload and get the Id of the resulting file

Request Format

Url part name Type Description

uploadId Guid Identifier of previously initiated chunked upload

Request Headers Content-Type applicationjson

Request Body

Field Type Description

fileName String Name of resulting file with extension

chunkIds Array[String] An array of ordered chunk identifiers received from the Upload Chunk API method Note the Ids must be in a correct order

Sample POST httpapicloudmaterialisecomweb-apioperationfile8d875aed-9603-4ad4-b075-2c4f122bfb8e HTTP11 Content-Type applicationjson chunkIds [AAAAAA== AQAAAA== AgAAAA== ] fileName filestl

Response Format

Http Status Code Field Type Description

200 - Success

fileId Guid Identifier of resulting file

400 ndash Failure See error codes 10- 50 51 55 57

Response Example

fileIdd241244f-9d68-4e3b-9fa0-115b135019bf

12

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

213 Operation File Download HTTP GET web-apioperationfilefileId

URI parameters

Url part name Type Description

fileId Guid file identifier

Response Format

Http Status Code Field Type Description

200 ndash Success

404 ndash Failure See error codes 10 52

22 OPERATION STATUS API This API method allows to track current status of the operation whether it was completed

successful or failed

221 Operation status ndash polling request HTTP GET web-apioperationoperationIdstatus

Request format

Url part name Type Description

operationId Guid Operation identifier of previously posted operation

Response format

Response encoding type applicationjson

Http Status

Code

Field Type Description

200 - Success

operationId Guid Operation identifier

isCompleted Boolean Has operation been finished

isSuccessful Boolean Has operation completion been successful

404 ndash Failure See error codes 71

400 ndash Failure See error codes 10 70

Response JSON Format

operationIdd241244f-9d68-4e3b-9fa0-115b135019bf

isCompleted true

isSuccessful true

13

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

222 Operation status ndash callback API HTTP POST

Description

If you would rather avoid polling for status and you prepare end-points in your application

that we can use to notify you when an operation completes this is what information we will

provide

Request format

Content Type applicationjson

Field Type Description

operationId Guid Operation identifier

isSuccessful Boolean Has operation completion been successful

Request JSON

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

isSuccessful true

23 CONVERSION OPERATION HTTP POST web-apioperationstl-conversion

Description

It is possible to convert model to Stl format Currently we accept obj 3dm 3ds dae dxf

fbx iges igs ply skp slc vdafs vda vrml wrl zcp zpr files

Some of the file formats do not support measurement units (stl obj) It is possible to

indicate in which measurements units a particular model was created By default

MeasurementUnits parameter will be interpreted as millimeters

Request format

Request encoding type applicationjson

Http Status

Code

Field Name Type Description

200 ndash Success

fileId Guid File unique Identifier

measurementUnits String Measurement units in which model was

created Possible options

(lsquommrsquoinchrsquorsquomrsquorsquorsquonull)

callbackUrl String Url called when operation completed

Request JSON Format

14

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

measurementUnits mm

callbackUrlrdquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

400-Failure See error codes10 50 200

404-Not Found See error codes 52

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

24 CONVERSION OPERATION RESULT HTTP GET web-apioperationoperationIdstl-conversionresult

Uri parameters

Url part name Type Description

operationId Guid operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

fileId Guid Converted stl file

404-Not Found See error codes 71

400-Failure See error codes 10 90

25 ANALYZE OPERATION HTTP POST web-apioperationanalyze

Request encoding type applicationjson

Request format

15

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

Http Status Code Field Type Description

200 ndash Success

fileId Guid Operation unique Identifier for reference

callbackUrl String Url called when operation completed

Request JSON

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

callbackUrl rdquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes10 50

404-Not Found See error codes 52

Response JSON

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

26 ANALYZE OPERATION RESULT HTTP GET web-apioperationoperationIdanalyzeresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response encoding type applicationjson

Http Status

Code

Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

vertices Number Number of model vertices

triangles Number Number of model triangles

contours Number Number of model contours

shells Number Number of model shells

badEdges Number Number of model bad edges

16

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

badContours Number Number of model bad contours

volumeMm3 Float Volume of the model in mm3

dimensionXMm Float

dimensionYMm Float

dimensionZMm Float

surfaceAreaMm2 Float Area of the model surface in mm2

404-Not

Found

See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

vertices 8

triangles 12

contours 12

shells6

badEdges 0

badContours 0

volumeMm3 10

dimensionXMm 10

dimensionYMm 10

dimensionZMm 10

surfaceAreaMm2 10

If BadContours gt 0 OR BadEdges gt 0 OR VolumeMm3 lt 0 we recommend to Repair the

model

27 GEOMETRICAL REPAIR OPERATION Description

This operation allows to get the best possible geometrical repaired model This operation

will not change the geometry of your part however for complex models you might not get a

fully watertight result

HTTP POST web-apioperationgeometrical-repair

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique Identifier for reference

callbackUrl String Url called when operation completed

Request JSON

17

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

callbackUrl ldquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status

Code

Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes10- 50

404-Not Found See error codes 52

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

28 GEOMETRICAL REPAIR OPERATION RESULT HTTP GET web-apioperationoperationIdgeometrical-repairresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

fileId Guid Repaired file id

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

18

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

29 SHRINKWRAP REPAIR OPERATION Description

This operation allows to get a watertight model with slight geometrical impact We will

apply shrinkwrap on your model to repair most difficult parts and therefore handle complex

issues

HTTP POST web-apioperationshrinkwrap-repair

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique Identifier for reference

accuracy String Accepted values ldquoRoughrdquo ldquoSmoothrdquo ldquoDetailedrdquo Higher level will produce better qualitative results however it will take more time for the result to be available

callbackUrl String Url called when operation completed

Request JSON

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

accuracy ldquoSmoothrdquo

callbackUrl rdquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status

Code

Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes10- 50 600

404-Not Found See error codes 52

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

19

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

210 SHRINKWRAP REPAIR OPERATION RESULT HTTP GET web-apioperationoperationIdshrinkwrap-repairresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

fileId Guid Repaired file id

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

211 REPAIR OPERATION Description

This operation allows to automatically combine geometrical result with shrinkwrap for a

higher chance of having a watertight model being the best result between a geometrically

repaired part or shrinkwrap repaired part If your application is sensitive to geometrical

changes we advise you using the Geometrical Repair described above

HTTP POST web-apioperationrepair

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique Identifier for reference

callbackUrl String Url called when operation completed

Request JSON

20

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

callbackUrl rdquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status

Code

Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes10- 50

404-Not Found See error codes 52

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

212 REPAIR OPERATION RESULT HTTP GET web-apioperationoperationIdrepairresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

fileId Guid Repaired file id

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

21

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

213 WALL THICKNESS ANALYSIS OPERATION Description

This operation allows to analyze model for finding areas which are too thin for printing

Result of the analysis is a model painted with green if all is Ok If there are too thin areas on

the model surface it will be painted with red If there are areas which are suspected to be

too thin it will be painted with yellow

HTTP POST web-apioperationwall-thickness-analysis

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File for analysis unique

identifier

minimalWallThicknessMm Float Minimal acceptable wall

thickness Optional Default

value = 08

accuracyWallThickness Number Number will define the

resolution (and speed)

Optional Default value = 2

Acceptable values 2 4 6 8

10

A higher number will be more

accurate but slower in

processing

callbackUrl String Url called when operation

completed

Request JSON Format

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

minimalWallThicknessMm 12

accuracyWallThickness 2

callbackUrl httpsmysitecomoperation683561callback

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

22

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

200 ndash Success

operationId Guid Operation unique Identifier for

reference

400-Failure See error codes10- 50 300 301

404-Not Found See error codes 52

Response JSON Format

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

214 WALL THICKNESS ANALYSIS RESULT HTTP GET web-apioperationoperationIdwall-thickness-analysisresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

fileId Guid Analysed file id

hasThinWalls Boolean Indicate that model contains too

thin walls

hasPossibleThinWalls Boolean Indicate that model contains too

walls which are suspected to be

too thin

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

hasThinWalls false

hasPossibleThinWalls true

23

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

215 SCALING OPERATION Description

This operation allows to uniformly scale an stl model to a specified size on one of the axis

HTTP POST web-apioperationscale

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique identifier

axis String Name of axis you want to scale (X Y Z)

scaleToSizeMm Float Millimeters value of the desired dimension

on the specified axis Other axes will be

scaled proportionally Range 001mm ndash

10000mm

callbackUrl String Url called when operation completed

Request JSON

fileId ldquod241244f-9d68-4e3b-9fa0-115b135019bfrdquo

axis ldquoXrdquo

scaleToSizeMm 150

callbackUrl ldquohttpsmysitecomoperation683561callbackrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes 10- 50 400 401

404-Not Found See error codes 52

Response JSON

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

216 SCALING RESULT HTTP GET web-apioperationoperationIdscaleresult

Request format

24

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

fileId Guid Scaled file id

404-Not Found See error codes 71

400-Failure See error codes 10- 73 74

Response JSON

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

21 REDUCE TRIANGLES OPERATION Description

Use this operation to reduce triangles in an STL 3d model When any of the arguments is not

supplied (null or empty string) it automatically defaults to a predefined value (see table

below)

HTTP POST web-apioperationreduce-triangles

Request encoding type applicationjson

Request format

Field Type Description

fileId Guid File unique identifier

accuracyMm Number Floating point value between 0 and 10 When not supplied (null) defaults to 0005

maxAngle Number Integer number between 0 and 90 When not supplied (null) defaults to 5

numberOfIterations Number Integer number between 1 and 1000 When not supplied (null) defaults to 5

callbackUrl String Url called when operation completed

Request JSON

fileId ldquod241244f-9d68-4e3b-9fa0-115b135019bfrdquo

accuracyMm 0005

25

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

maxAngle 5

numberOfIterations 5

callbackUrl ldquohttpsmysitecomoperation683561callbackrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes 10 50 700 701 702

404-Not Found See error codes 52

Response JSON

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

22 REDUCE TRIANGLES RESULT HTTP GET web-apioperationoperationIdreduce-trianglesresult

Request format

Url parameters

Url part name Type Description

operationId Guid Operation identifier

221 Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

fileId Guid Model with reduced triangles

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

23 GENERATE THUMBNAIL OPERATION Description

This operation allows to generate preview thumbnail for a model

HTTP POST web-apioperationthumbnail

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique identifier

26

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

width Number Thumbnail width in pixels

height Number Thumbnail height in pixels

cameraAngleX Number Camera angle relative to the X axis

cameraAngleY Number Camera angle relative to the Y axis

cameraAngleZ Number Camera angle relative to the Z axis

callbackUrl String Url called when operation completed

Request JSON

fileId ldquod241244f-9d68-4e3b-9fa0-115b135019bfrdquo

width 100

height 100

cameraAngleX -70

cameraAngleY 0

cameraAngleZ 30

callbackUrl ldquohttpsmysitecomoperation683561callbackrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes 10 50 500 501

404-Not Found See error codes 52

Response JSON

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

24 THUMBNAIL RESULT HTTP GET web-apioperationoperationIdthumbnailresult

Request format

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

27

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

200 ndash Success

fileId Guid Model thumbnail file id

404-Not Found See error codes 71

400-Failure See error codes 10- 73 74

Response JSON

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

28

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

3 ERROR CODES

31 GENERAL ERRORS Code Message Meaning

10 Server error

11 Temporary error Please retry later

or contact us email if error

persists

12 Access denied

13 Invalid request format One or more of the parameters supplied

for the requested method are invalid

(Example string provided instead of int

etc) The parameters with the wrong value

will be provided in the message in the

format The value supplied for parameter

0 is invalid

32 FILE API ERRORS Code Message Meaning

50 Currently only Stl files are

supported

51 File is too big File was not saved

52 File was not found or you are not

the owner of the file File id file id

53 File Content is empty

54 Chunk is too big

55 Chunked upload commit error

56 Chunk is empty

57 File with id id already exists If you try to upload a chunk or commit a chunked upload using a file id of an existing file (of either a regular file upload or a committed chunked upload) yoursquoll receive this error to prevent from corrupting an existing file

33 GENERAL OPERATIONS RELATED ERRORS

Code Message Meaning

70 Operation request failed In case there is no concrete error API raises

this error

29

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

34 CONVERSION OPERATIONS SPECIFIC ERRORS Code Message Meaning

200 Unsupported Measurement units

35 WALL THICKNESS ANALYSIS OPERATION SPECIFIC ERRORS Code Message Meaning

300 Wrong minimal wall thickness Value should be between 01 and 20 (mm)

301 Wrong accuracy wall thickness

value

Value should be only one of predefined

value values (see Wall Thickness Analysis

Operation)

302 The model is too big Please scale it down

One of the model dimensions is too big Scale it down Dimension size should not exceed 500 mm

36 SCALING OPERATION SPECIFIC ERRORS Code Message Meaning

400 Scale value is not in the appropriate range

Value should be in range 001 ndash 10000

401 Axis is incorrect Value should be one of the predefined list (X Y Z)

37 GENERATE THUMBNAIL OPERATION SPECIFIC ERRORS Code Message Meaning

500 Wrong thumbnail size The width and height should be not less than 10 px but not more than 10000 px

501 Wrong camera angle Value should be in range from -180 to 180 degree

71 Operation was not found or you are

not the owner of the operation

Operation id id

72 A timeout occurred while

processing your file Your file may

be too big or complex

73 Operation with 0 has not finished

yet

74 Operation with Id 0 failed No

results available Use operation

status Api to get detailed error

30

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

38 SHRINKWRAP OPERATION SPECIFIC ERRORS Code Message Meaning

600 Accuracy value is not in appropriate range

Value should in range 100 ndash 500

39 REDUCE TRIANGLES OPERATION SPECIFIC ERRORS Code Message Meaning

700 The parameter Accuracy (mm) is invalid expecting a floating point value between 0 and 10 mm

The value should be a floating point number between 0 and 10

701 The parameter Max Angle is invalid expecting a value between 0 and 90

The value should be an integer number between 0 and 90

702 The parameter Number of Iterations is invalid expecting a value between 1 and 1000

The value should be an integer number between 1 and 1000

Page 12: API Developer Documentation - Materialise...API Developer Documentation 1 cloud.materialise.com – 3DPrintCloud@materialise.com INTRODUCTION TO 3DPRINTCLOUD API The 3DPrintCloud API

11

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

uploadId Guid Upload Identifier

chunkId String Identifier of uploaded chunk

400 ndash Failure See error codes 10- 54 56 57

Response Example

uploadIdd241244f-9d68-4e3b-9fa0-115b135019bf

chunkId ldquoAAAAAA==rdquo

2122 Operation Input Complete Chunked Upload HTTP POST web-apioperationfileuploadId

Description

Use this method to complete a chunked upload and get the Id of the resulting file

Request Format

Url part name Type Description

uploadId Guid Identifier of previously initiated chunked upload

Request Headers Content-Type applicationjson

Request Body

Field Type Description

fileName String Name of resulting file with extension

chunkIds Array[String] An array of ordered chunk identifiers received from the Upload Chunk API method Note the Ids must be in a correct order

Sample POST httpapicloudmaterialisecomweb-apioperationfile8d875aed-9603-4ad4-b075-2c4f122bfb8e HTTP11 Content-Type applicationjson chunkIds [AAAAAA== AQAAAA== AgAAAA== ] fileName filestl

Response Format

Http Status Code Field Type Description

200 - Success

fileId Guid Identifier of resulting file

400 ndash Failure See error codes 10- 50 51 55 57

Response Example

fileIdd241244f-9d68-4e3b-9fa0-115b135019bf

12

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

213 Operation File Download HTTP GET web-apioperationfilefileId

URI parameters

Url part name Type Description

fileId Guid file identifier

Response Format

Http Status Code Field Type Description

200 ndash Success

404 ndash Failure See error codes 10 52

22 OPERATION STATUS API This API method allows to track current status of the operation whether it was completed

successful or failed

221 Operation status ndash polling request HTTP GET web-apioperationoperationIdstatus

Request format

Url part name Type Description

operationId Guid Operation identifier of previously posted operation

Response format

Response encoding type applicationjson

Http Status

Code

Field Type Description

200 - Success

operationId Guid Operation identifier

isCompleted Boolean Has operation been finished

isSuccessful Boolean Has operation completion been successful

404 ndash Failure See error codes 71

400 ndash Failure See error codes 10 70

Response JSON Format

operationIdd241244f-9d68-4e3b-9fa0-115b135019bf

isCompleted true

isSuccessful true

13

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

222 Operation status ndash callback API HTTP POST

Description

If you would rather avoid polling for status and you prepare end-points in your application

that we can use to notify you when an operation completes this is what information we will

provide

Request format

Content Type applicationjson

Field Type Description

operationId Guid Operation identifier

isSuccessful Boolean Has operation completion been successful

Request JSON

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

isSuccessful true

23 CONVERSION OPERATION HTTP POST web-apioperationstl-conversion

Description

It is possible to convert model to Stl format Currently we accept obj 3dm 3ds dae dxf

fbx iges igs ply skp slc vdafs vda vrml wrl zcp zpr files

Some of the file formats do not support measurement units (stl obj) It is possible to

indicate in which measurements units a particular model was created By default

MeasurementUnits parameter will be interpreted as millimeters

Request format

Request encoding type applicationjson

Http Status

Code

Field Name Type Description

200 ndash Success

fileId Guid File unique Identifier

measurementUnits String Measurement units in which model was

created Possible options

(lsquommrsquoinchrsquorsquomrsquorsquorsquonull)

callbackUrl String Url called when operation completed

Request JSON Format

14

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

measurementUnits mm

callbackUrlrdquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

400-Failure See error codes10 50 200

404-Not Found See error codes 52

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

24 CONVERSION OPERATION RESULT HTTP GET web-apioperationoperationIdstl-conversionresult

Uri parameters

Url part name Type Description

operationId Guid operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

fileId Guid Converted stl file

404-Not Found See error codes 71

400-Failure See error codes 10 90

25 ANALYZE OPERATION HTTP POST web-apioperationanalyze

Request encoding type applicationjson

Request format

15

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

Http Status Code Field Type Description

200 ndash Success

fileId Guid Operation unique Identifier for reference

callbackUrl String Url called when operation completed

Request JSON

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

callbackUrl rdquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes10 50

404-Not Found See error codes 52

Response JSON

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

26 ANALYZE OPERATION RESULT HTTP GET web-apioperationoperationIdanalyzeresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response encoding type applicationjson

Http Status

Code

Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

vertices Number Number of model vertices

triangles Number Number of model triangles

contours Number Number of model contours

shells Number Number of model shells

badEdges Number Number of model bad edges

16

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

badContours Number Number of model bad contours

volumeMm3 Float Volume of the model in mm3

dimensionXMm Float

dimensionYMm Float

dimensionZMm Float

surfaceAreaMm2 Float Area of the model surface in mm2

404-Not

Found

See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

vertices 8

triangles 12

contours 12

shells6

badEdges 0

badContours 0

volumeMm3 10

dimensionXMm 10

dimensionYMm 10

dimensionZMm 10

surfaceAreaMm2 10

If BadContours gt 0 OR BadEdges gt 0 OR VolumeMm3 lt 0 we recommend to Repair the

model

27 GEOMETRICAL REPAIR OPERATION Description

This operation allows to get the best possible geometrical repaired model This operation

will not change the geometry of your part however for complex models you might not get a

fully watertight result

HTTP POST web-apioperationgeometrical-repair

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique Identifier for reference

callbackUrl String Url called when operation completed

Request JSON

17

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

callbackUrl ldquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status

Code

Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes10- 50

404-Not Found See error codes 52

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

28 GEOMETRICAL REPAIR OPERATION RESULT HTTP GET web-apioperationoperationIdgeometrical-repairresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

fileId Guid Repaired file id

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

18

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

29 SHRINKWRAP REPAIR OPERATION Description

This operation allows to get a watertight model with slight geometrical impact We will

apply shrinkwrap on your model to repair most difficult parts and therefore handle complex

issues

HTTP POST web-apioperationshrinkwrap-repair

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique Identifier for reference

accuracy String Accepted values ldquoRoughrdquo ldquoSmoothrdquo ldquoDetailedrdquo Higher level will produce better qualitative results however it will take more time for the result to be available

callbackUrl String Url called when operation completed

Request JSON

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

accuracy ldquoSmoothrdquo

callbackUrl rdquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status

Code

Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes10- 50 600

404-Not Found See error codes 52

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

19

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

210 SHRINKWRAP REPAIR OPERATION RESULT HTTP GET web-apioperationoperationIdshrinkwrap-repairresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

fileId Guid Repaired file id

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

211 REPAIR OPERATION Description

This operation allows to automatically combine geometrical result with shrinkwrap for a

higher chance of having a watertight model being the best result between a geometrically

repaired part or shrinkwrap repaired part If your application is sensitive to geometrical

changes we advise you using the Geometrical Repair described above

HTTP POST web-apioperationrepair

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique Identifier for reference

callbackUrl String Url called when operation completed

Request JSON

20

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

callbackUrl rdquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status

Code

Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes10- 50

404-Not Found See error codes 52

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

212 REPAIR OPERATION RESULT HTTP GET web-apioperationoperationIdrepairresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

fileId Guid Repaired file id

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

21

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

213 WALL THICKNESS ANALYSIS OPERATION Description

This operation allows to analyze model for finding areas which are too thin for printing

Result of the analysis is a model painted with green if all is Ok If there are too thin areas on

the model surface it will be painted with red If there are areas which are suspected to be

too thin it will be painted with yellow

HTTP POST web-apioperationwall-thickness-analysis

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File for analysis unique

identifier

minimalWallThicknessMm Float Minimal acceptable wall

thickness Optional Default

value = 08

accuracyWallThickness Number Number will define the

resolution (and speed)

Optional Default value = 2

Acceptable values 2 4 6 8

10

A higher number will be more

accurate but slower in

processing

callbackUrl String Url called when operation

completed

Request JSON Format

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

minimalWallThicknessMm 12

accuracyWallThickness 2

callbackUrl httpsmysitecomoperation683561callback

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

22

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

200 ndash Success

operationId Guid Operation unique Identifier for

reference

400-Failure See error codes10- 50 300 301

404-Not Found See error codes 52

Response JSON Format

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

214 WALL THICKNESS ANALYSIS RESULT HTTP GET web-apioperationoperationIdwall-thickness-analysisresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

fileId Guid Analysed file id

hasThinWalls Boolean Indicate that model contains too

thin walls

hasPossibleThinWalls Boolean Indicate that model contains too

walls which are suspected to be

too thin

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

hasThinWalls false

hasPossibleThinWalls true

23

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

215 SCALING OPERATION Description

This operation allows to uniformly scale an stl model to a specified size on one of the axis

HTTP POST web-apioperationscale

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique identifier

axis String Name of axis you want to scale (X Y Z)

scaleToSizeMm Float Millimeters value of the desired dimension

on the specified axis Other axes will be

scaled proportionally Range 001mm ndash

10000mm

callbackUrl String Url called when operation completed

Request JSON

fileId ldquod241244f-9d68-4e3b-9fa0-115b135019bfrdquo

axis ldquoXrdquo

scaleToSizeMm 150

callbackUrl ldquohttpsmysitecomoperation683561callbackrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes 10- 50 400 401

404-Not Found See error codes 52

Response JSON

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

216 SCALING RESULT HTTP GET web-apioperationoperationIdscaleresult

Request format

24

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

fileId Guid Scaled file id

404-Not Found See error codes 71

400-Failure See error codes 10- 73 74

Response JSON

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

21 REDUCE TRIANGLES OPERATION Description

Use this operation to reduce triangles in an STL 3d model When any of the arguments is not

supplied (null or empty string) it automatically defaults to a predefined value (see table

below)

HTTP POST web-apioperationreduce-triangles

Request encoding type applicationjson

Request format

Field Type Description

fileId Guid File unique identifier

accuracyMm Number Floating point value between 0 and 10 When not supplied (null) defaults to 0005

maxAngle Number Integer number between 0 and 90 When not supplied (null) defaults to 5

numberOfIterations Number Integer number between 1 and 1000 When not supplied (null) defaults to 5

callbackUrl String Url called when operation completed

Request JSON

fileId ldquod241244f-9d68-4e3b-9fa0-115b135019bfrdquo

accuracyMm 0005

25

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

maxAngle 5

numberOfIterations 5

callbackUrl ldquohttpsmysitecomoperation683561callbackrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes 10 50 700 701 702

404-Not Found See error codes 52

Response JSON

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

22 REDUCE TRIANGLES RESULT HTTP GET web-apioperationoperationIdreduce-trianglesresult

Request format

Url parameters

Url part name Type Description

operationId Guid Operation identifier

221 Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

fileId Guid Model with reduced triangles

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

23 GENERATE THUMBNAIL OPERATION Description

This operation allows to generate preview thumbnail for a model

HTTP POST web-apioperationthumbnail

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique identifier

26

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

width Number Thumbnail width in pixels

height Number Thumbnail height in pixels

cameraAngleX Number Camera angle relative to the X axis

cameraAngleY Number Camera angle relative to the Y axis

cameraAngleZ Number Camera angle relative to the Z axis

callbackUrl String Url called when operation completed

Request JSON

fileId ldquod241244f-9d68-4e3b-9fa0-115b135019bfrdquo

width 100

height 100

cameraAngleX -70

cameraAngleY 0

cameraAngleZ 30

callbackUrl ldquohttpsmysitecomoperation683561callbackrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes 10 50 500 501

404-Not Found See error codes 52

Response JSON

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

24 THUMBNAIL RESULT HTTP GET web-apioperationoperationIdthumbnailresult

Request format

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

27

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

200 ndash Success

fileId Guid Model thumbnail file id

404-Not Found See error codes 71

400-Failure See error codes 10- 73 74

Response JSON

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

28

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

3 ERROR CODES

31 GENERAL ERRORS Code Message Meaning

10 Server error

11 Temporary error Please retry later

or contact us email if error

persists

12 Access denied

13 Invalid request format One or more of the parameters supplied

for the requested method are invalid

(Example string provided instead of int

etc) The parameters with the wrong value

will be provided in the message in the

format The value supplied for parameter

0 is invalid

32 FILE API ERRORS Code Message Meaning

50 Currently only Stl files are

supported

51 File is too big File was not saved

52 File was not found or you are not

the owner of the file File id file id

53 File Content is empty

54 Chunk is too big

55 Chunked upload commit error

56 Chunk is empty

57 File with id id already exists If you try to upload a chunk or commit a chunked upload using a file id of an existing file (of either a regular file upload or a committed chunked upload) yoursquoll receive this error to prevent from corrupting an existing file

33 GENERAL OPERATIONS RELATED ERRORS

Code Message Meaning

70 Operation request failed In case there is no concrete error API raises

this error

29

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

34 CONVERSION OPERATIONS SPECIFIC ERRORS Code Message Meaning

200 Unsupported Measurement units

35 WALL THICKNESS ANALYSIS OPERATION SPECIFIC ERRORS Code Message Meaning

300 Wrong minimal wall thickness Value should be between 01 and 20 (mm)

301 Wrong accuracy wall thickness

value

Value should be only one of predefined

value values (see Wall Thickness Analysis

Operation)

302 The model is too big Please scale it down

One of the model dimensions is too big Scale it down Dimension size should not exceed 500 mm

36 SCALING OPERATION SPECIFIC ERRORS Code Message Meaning

400 Scale value is not in the appropriate range

Value should be in range 001 ndash 10000

401 Axis is incorrect Value should be one of the predefined list (X Y Z)

37 GENERATE THUMBNAIL OPERATION SPECIFIC ERRORS Code Message Meaning

500 Wrong thumbnail size The width and height should be not less than 10 px but not more than 10000 px

501 Wrong camera angle Value should be in range from -180 to 180 degree

71 Operation was not found or you are

not the owner of the operation

Operation id id

72 A timeout occurred while

processing your file Your file may

be too big or complex

73 Operation with 0 has not finished

yet

74 Operation with Id 0 failed No

results available Use operation

status Api to get detailed error

30

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

38 SHRINKWRAP OPERATION SPECIFIC ERRORS Code Message Meaning

600 Accuracy value is not in appropriate range

Value should in range 100 ndash 500

39 REDUCE TRIANGLES OPERATION SPECIFIC ERRORS Code Message Meaning

700 The parameter Accuracy (mm) is invalid expecting a floating point value between 0 and 10 mm

The value should be a floating point number between 0 and 10

701 The parameter Max Angle is invalid expecting a value between 0 and 90

The value should be an integer number between 0 and 90

702 The parameter Number of Iterations is invalid expecting a value between 1 and 1000

The value should be an integer number between 1 and 1000

Page 13: API Developer Documentation - Materialise...API Developer Documentation 1 cloud.materialise.com – 3DPrintCloud@materialise.com INTRODUCTION TO 3DPRINTCLOUD API The 3DPrintCloud API

12

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

213 Operation File Download HTTP GET web-apioperationfilefileId

URI parameters

Url part name Type Description

fileId Guid file identifier

Response Format

Http Status Code Field Type Description

200 ndash Success

404 ndash Failure See error codes 10 52

22 OPERATION STATUS API This API method allows to track current status of the operation whether it was completed

successful or failed

221 Operation status ndash polling request HTTP GET web-apioperationoperationIdstatus

Request format

Url part name Type Description

operationId Guid Operation identifier of previously posted operation

Response format

Response encoding type applicationjson

Http Status

Code

Field Type Description

200 - Success

operationId Guid Operation identifier

isCompleted Boolean Has operation been finished

isSuccessful Boolean Has operation completion been successful

404 ndash Failure See error codes 71

400 ndash Failure See error codes 10 70

Response JSON Format

operationIdd241244f-9d68-4e3b-9fa0-115b135019bf

isCompleted true

isSuccessful true

13

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

222 Operation status ndash callback API HTTP POST

Description

If you would rather avoid polling for status and you prepare end-points in your application

that we can use to notify you when an operation completes this is what information we will

provide

Request format

Content Type applicationjson

Field Type Description

operationId Guid Operation identifier

isSuccessful Boolean Has operation completion been successful

Request JSON

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

isSuccessful true

23 CONVERSION OPERATION HTTP POST web-apioperationstl-conversion

Description

It is possible to convert model to Stl format Currently we accept obj 3dm 3ds dae dxf

fbx iges igs ply skp slc vdafs vda vrml wrl zcp zpr files

Some of the file formats do not support measurement units (stl obj) It is possible to

indicate in which measurements units a particular model was created By default

MeasurementUnits parameter will be interpreted as millimeters

Request format

Request encoding type applicationjson

Http Status

Code

Field Name Type Description

200 ndash Success

fileId Guid File unique Identifier

measurementUnits String Measurement units in which model was

created Possible options

(lsquommrsquoinchrsquorsquomrsquorsquorsquonull)

callbackUrl String Url called when operation completed

Request JSON Format

14

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

measurementUnits mm

callbackUrlrdquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

400-Failure See error codes10 50 200

404-Not Found See error codes 52

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

24 CONVERSION OPERATION RESULT HTTP GET web-apioperationoperationIdstl-conversionresult

Uri parameters

Url part name Type Description

operationId Guid operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

fileId Guid Converted stl file

404-Not Found See error codes 71

400-Failure See error codes 10 90

25 ANALYZE OPERATION HTTP POST web-apioperationanalyze

Request encoding type applicationjson

Request format

15

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

Http Status Code Field Type Description

200 ndash Success

fileId Guid Operation unique Identifier for reference

callbackUrl String Url called when operation completed

Request JSON

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

callbackUrl rdquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes10 50

404-Not Found See error codes 52

Response JSON

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

26 ANALYZE OPERATION RESULT HTTP GET web-apioperationoperationIdanalyzeresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response encoding type applicationjson

Http Status

Code

Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

vertices Number Number of model vertices

triangles Number Number of model triangles

contours Number Number of model contours

shells Number Number of model shells

badEdges Number Number of model bad edges

16

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

badContours Number Number of model bad contours

volumeMm3 Float Volume of the model in mm3

dimensionXMm Float

dimensionYMm Float

dimensionZMm Float

surfaceAreaMm2 Float Area of the model surface in mm2

404-Not

Found

See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

vertices 8

triangles 12

contours 12

shells6

badEdges 0

badContours 0

volumeMm3 10

dimensionXMm 10

dimensionYMm 10

dimensionZMm 10

surfaceAreaMm2 10

If BadContours gt 0 OR BadEdges gt 0 OR VolumeMm3 lt 0 we recommend to Repair the

model

27 GEOMETRICAL REPAIR OPERATION Description

This operation allows to get the best possible geometrical repaired model This operation

will not change the geometry of your part however for complex models you might not get a

fully watertight result

HTTP POST web-apioperationgeometrical-repair

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique Identifier for reference

callbackUrl String Url called when operation completed

Request JSON

17

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

callbackUrl ldquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status

Code

Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes10- 50

404-Not Found See error codes 52

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

28 GEOMETRICAL REPAIR OPERATION RESULT HTTP GET web-apioperationoperationIdgeometrical-repairresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

fileId Guid Repaired file id

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

18

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

29 SHRINKWRAP REPAIR OPERATION Description

This operation allows to get a watertight model with slight geometrical impact We will

apply shrinkwrap on your model to repair most difficult parts and therefore handle complex

issues

HTTP POST web-apioperationshrinkwrap-repair

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique Identifier for reference

accuracy String Accepted values ldquoRoughrdquo ldquoSmoothrdquo ldquoDetailedrdquo Higher level will produce better qualitative results however it will take more time for the result to be available

callbackUrl String Url called when operation completed

Request JSON

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

accuracy ldquoSmoothrdquo

callbackUrl rdquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status

Code

Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes10- 50 600

404-Not Found See error codes 52

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

19

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

210 SHRINKWRAP REPAIR OPERATION RESULT HTTP GET web-apioperationoperationIdshrinkwrap-repairresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

fileId Guid Repaired file id

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

211 REPAIR OPERATION Description

This operation allows to automatically combine geometrical result with shrinkwrap for a

higher chance of having a watertight model being the best result between a geometrically

repaired part or shrinkwrap repaired part If your application is sensitive to geometrical

changes we advise you using the Geometrical Repair described above

HTTP POST web-apioperationrepair

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique Identifier for reference

callbackUrl String Url called when operation completed

Request JSON

20

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

callbackUrl rdquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status

Code

Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes10- 50

404-Not Found See error codes 52

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

212 REPAIR OPERATION RESULT HTTP GET web-apioperationoperationIdrepairresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

fileId Guid Repaired file id

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

21

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

213 WALL THICKNESS ANALYSIS OPERATION Description

This operation allows to analyze model for finding areas which are too thin for printing

Result of the analysis is a model painted with green if all is Ok If there are too thin areas on

the model surface it will be painted with red If there are areas which are suspected to be

too thin it will be painted with yellow

HTTP POST web-apioperationwall-thickness-analysis

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File for analysis unique

identifier

minimalWallThicknessMm Float Minimal acceptable wall

thickness Optional Default

value = 08

accuracyWallThickness Number Number will define the

resolution (and speed)

Optional Default value = 2

Acceptable values 2 4 6 8

10

A higher number will be more

accurate but slower in

processing

callbackUrl String Url called when operation

completed

Request JSON Format

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

minimalWallThicknessMm 12

accuracyWallThickness 2

callbackUrl httpsmysitecomoperation683561callback

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

22

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

200 ndash Success

operationId Guid Operation unique Identifier for

reference

400-Failure See error codes10- 50 300 301

404-Not Found See error codes 52

Response JSON Format

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

214 WALL THICKNESS ANALYSIS RESULT HTTP GET web-apioperationoperationIdwall-thickness-analysisresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

fileId Guid Analysed file id

hasThinWalls Boolean Indicate that model contains too

thin walls

hasPossibleThinWalls Boolean Indicate that model contains too

walls which are suspected to be

too thin

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

hasThinWalls false

hasPossibleThinWalls true

23

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

215 SCALING OPERATION Description

This operation allows to uniformly scale an stl model to a specified size on one of the axis

HTTP POST web-apioperationscale

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique identifier

axis String Name of axis you want to scale (X Y Z)

scaleToSizeMm Float Millimeters value of the desired dimension

on the specified axis Other axes will be

scaled proportionally Range 001mm ndash

10000mm

callbackUrl String Url called when operation completed

Request JSON

fileId ldquod241244f-9d68-4e3b-9fa0-115b135019bfrdquo

axis ldquoXrdquo

scaleToSizeMm 150

callbackUrl ldquohttpsmysitecomoperation683561callbackrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes 10- 50 400 401

404-Not Found See error codes 52

Response JSON

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

216 SCALING RESULT HTTP GET web-apioperationoperationIdscaleresult

Request format

24

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

fileId Guid Scaled file id

404-Not Found See error codes 71

400-Failure See error codes 10- 73 74

Response JSON

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

21 REDUCE TRIANGLES OPERATION Description

Use this operation to reduce triangles in an STL 3d model When any of the arguments is not

supplied (null or empty string) it automatically defaults to a predefined value (see table

below)

HTTP POST web-apioperationreduce-triangles

Request encoding type applicationjson

Request format

Field Type Description

fileId Guid File unique identifier

accuracyMm Number Floating point value between 0 and 10 When not supplied (null) defaults to 0005

maxAngle Number Integer number between 0 and 90 When not supplied (null) defaults to 5

numberOfIterations Number Integer number between 1 and 1000 When not supplied (null) defaults to 5

callbackUrl String Url called when operation completed

Request JSON

fileId ldquod241244f-9d68-4e3b-9fa0-115b135019bfrdquo

accuracyMm 0005

25

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

maxAngle 5

numberOfIterations 5

callbackUrl ldquohttpsmysitecomoperation683561callbackrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes 10 50 700 701 702

404-Not Found See error codes 52

Response JSON

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

22 REDUCE TRIANGLES RESULT HTTP GET web-apioperationoperationIdreduce-trianglesresult

Request format

Url parameters

Url part name Type Description

operationId Guid Operation identifier

221 Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

fileId Guid Model with reduced triangles

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

23 GENERATE THUMBNAIL OPERATION Description

This operation allows to generate preview thumbnail for a model

HTTP POST web-apioperationthumbnail

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique identifier

26

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

width Number Thumbnail width in pixels

height Number Thumbnail height in pixels

cameraAngleX Number Camera angle relative to the X axis

cameraAngleY Number Camera angle relative to the Y axis

cameraAngleZ Number Camera angle relative to the Z axis

callbackUrl String Url called when operation completed

Request JSON

fileId ldquod241244f-9d68-4e3b-9fa0-115b135019bfrdquo

width 100

height 100

cameraAngleX -70

cameraAngleY 0

cameraAngleZ 30

callbackUrl ldquohttpsmysitecomoperation683561callbackrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes 10 50 500 501

404-Not Found See error codes 52

Response JSON

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

24 THUMBNAIL RESULT HTTP GET web-apioperationoperationIdthumbnailresult

Request format

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

27

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

200 ndash Success

fileId Guid Model thumbnail file id

404-Not Found See error codes 71

400-Failure See error codes 10- 73 74

Response JSON

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

28

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

3 ERROR CODES

31 GENERAL ERRORS Code Message Meaning

10 Server error

11 Temporary error Please retry later

or contact us email if error

persists

12 Access denied

13 Invalid request format One or more of the parameters supplied

for the requested method are invalid

(Example string provided instead of int

etc) The parameters with the wrong value

will be provided in the message in the

format The value supplied for parameter

0 is invalid

32 FILE API ERRORS Code Message Meaning

50 Currently only Stl files are

supported

51 File is too big File was not saved

52 File was not found or you are not

the owner of the file File id file id

53 File Content is empty

54 Chunk is too big

55 Chunked upload commit error

56 Chunk is empty

57 File with id id already exists If you try to upload a chunk or commit a chunked upload using a file id of an existing file (of either a regular file upload or a committed chunked upload) yoursquoll receive this error to prevent from corrupting an existing file

33 GENERAL OPERATIONS RELATED ERRORS

Code Message Meaning

70 Operation request failed In case there is no concrete error API raises

this error

29

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

34 CONVERSION OPERATIONS SPECIFIC ERRORS Code Message Meaning

200 Unsupported Measurement units

35 WALL THICKNESS ANALYSIS OPERATION SPECIFIC ERRORS Code Message Meaning

300 Wrong minimal wall thickness Value should be between 01 and 20 (mm)

301 Wrong accuracy wall thickness

value

Value should be only one of predefined

value values (see Wall Thickness Analysis

Operation)

302 The model is too big Please scale it down

One of the model dimensions is too big Scale it down Dimension size should not exceed 500 mm

36 SCALING OPERATION SPECIFIC ERRORS Code Message Meaning

400 Scale value is not in the appropriate range

Value should be in range 001 ndash 10000

401 Axis is incorrect Value should be one of the predefined list (X Y Z)

37 GENERATE THUMBNAIL OPERATION SPECIFIC ERRORS Code Message Meaning

500 Wrong thumbnail size The width and height should be not less than 10 px but not more than 10000 px

501 Wrong camera angle Value should be in range from -180 to 180 degree

71 Operation was not found or you are

not the owner of the operation

Operation id id

72 A timeout occurred while

processing your file Your file may

be too big or complex

73 Operation with 0 has not finished

yet

74 Operation with Id 0 failed No

results available Use operation

status Api to get detailed error

30

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

38 SHRINKWRAP OPERATION SPECIFIC ERRORS Code Message Meaning

600 Accuracy value is not in appropriate range

Value should in range 100 ndash 500

39 REDUCE TRIANGLES OPERATION SPECIFIC ERRORS Code Message Meaning

700 The parameter Accuracy (mm) is invalid expecting a floating point value between 0 and 10 mm

The value should be a floating point number between 0 and 10

701 The parameter Max Angle is invalid expecting a value between 0 and 90

The value should be an integer number between 0 and 90

702 The parameter Number of Iterations is invalid expecting a value between 1 and 1000

The value should be an integer number between 1 and 1000

Page 14: API Developer Documentation - Materialise...API Developer Documentation 1 cloud.materialise.com – 3DPrintCloud@materialise.com INTRODUCTION TO 3DPRINTCLOUD API The 3DPrintCloud API

13

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

222 Operation status ndash callback API HTTP POST

Description

If you would rather avoid polling for status and you prepare end-points in your application

that we can use to notify you when an operation completes this is what information we will

provide

Request format

Content Type applicationjson

Field Type Description

operationId Guid Operation identifier

isSuccessful Boolean Has operation completion been successful

Request JSON

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

isSuccessful true

23 CONVERSION OPERATION HTTP POST web-apioperationstl-conversion

Description

It is possible to convert model to Stl format Currently we accept obj 3dm 3ds dae dxf

fbx iges igs ply skp slc vdafs vda vrml wrl zcp zpr files

Some of the file formats do not support measurement units (stl obj) It is possible to

indicate in which measurements units a particular model was created By default

MeasurementUnits parameter will be interpreted as millimeters

Request format

Request encoding type applicationjson

Http Status

Code

Field Name Type Description

200 ndash Success

fileId Guid File unique Identifier

measurementUnits String Measurement units in which model was

created Possible options

(lsquommrsquoinchrsquorsquomrsquorsquorsquonull)

callbackUrl String Url called when operation completed

Request JSON Format

14

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

measurementUnits mm

callbackUrlrdquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

400-Failure See error codes10 50 200

404-Not Found See error codes 52

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

24 CONVERSION OPERATION RESULT HTTP GET web-apioperationoperationIdstl-conversionresult

Uri parameters

Url part name Type Description

operationId Guid operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

fileId Guid Converted stl file

404-Not Found See error codes 71

400-Failure See error codes 10 90

25 ANALYZE OPERATION HTTP POST web-apioperationanalyze

Request encoding type applicationjson

Request format

15

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

Http Status Code Field Type Description

200 ndash Success

fileId Guid Operation unique Identifier for reference

callbackUrl String Url called when operation completed

Request JSON

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

callbackUrl rdquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes10 50

404-Not Found See error codes 52

Response JSON

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

26 ANALYZE OPERATION RESULT HTTP GET web-apioperationoperationIdanalyzeresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response encoding type applicationjson

Http Status

Code

Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

vertices Number Number of model vertices

triangles Number Number of model triangles

contours Number Number of model contours

shells Number Number of model shells

badEdges Number Number of model bad edges

16

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

badContours Number Number of model bad contours

volumeMm3 Float Volume of the model in mm3

dimensionXMm Float

dimensionYMm Float

dimensionZMm Float

surfaceAreaMm2 Float Area of the model surface in mm2

404-Not

Found

See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

vertices 8

triangles 12

contours 12

shells6

badEdges 0

badContours 0

volumeMm3 10

dimensionXMm 10

dimensionYMm 10

dimensionZMm 10

surfaceAreaMm2 10

If BadContours gt 0 OR BadEdges gt 0 OR VolumeMm3 lt 0 we recommend to Repair the

model

27 GEOMETRICAL REPAIR OPERATION Description

This operation allows to get the best possible geometrical repaired model This operation

will not change the geometry of your part however for complex models you might not get a

fully watertight result

HTTP POST web-apioperationgeometrical-repair

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique Identifier for reference

callbackUrl String Url called when operation completed

Request JSON

17

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

callbackUrl ldquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status

Code

Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes10- 50

404-Not Found See error codes 52

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

28 GEOMETRICAL REPAIR OPERATION RESULT HTTP GET web-apioperationoperationIdgeometrical-repairresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

fileId Guid Repaired file id

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

18

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

29 SHRINKWRAP REPAIR OPERATION Description

This operation allows to get a watertight model with slight geometrical impact We will

apply shrinkwrap on your model to repair most difficult parts and therefore handle complex

issues

HTTP POST web-apioperationshrinkwrap-repair

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique Identifier for reference

accuracy String Accepted values ldquoRoughrdquo ldquoSmoothrdquo ldquoDetailedrdquo Higher level will produce better qualitative results however it will take more time for the result to be available

callbackUrl String Url called when operation completed

Request JSON

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

accuracy ldquoSmoothrdquo

callbackUrl rdquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status

Code

Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes10- 50 600

404-Not Found See error codes 52

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

19

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

210 SHRINKWRAP REPAIR OPERATION RESULT HTTP GET web-apioperationoperationIdshrinkwrap-repairresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

fileId Guid Repaired file id

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

211 REPAIR OPERATION Description

This operation allows to automatically combine geometrical result with shrinkwrap for a

higher chance of having a watertight model being the best result between a geometrically

repaired part or shrinkwrap repaired part If your application is sensitive to geometrical

changes we advise you using the Geometrical Repair described above

HTTP POST web-apioperationrepair

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique Identifier for reference

callbackUrl String Url called when operation completed

Request JSON

20

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

callbackUrl rdquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status

Code

Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes10- 50

404-Not Found See error codes 52

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

212 REPAIR OPERATION RESULT HTTP GET web-apioperationoperationIdrepairresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

fileId Guid Repaired file id

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

21

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

213 WALL THICKNESS ANALYSIS OPERATION Description

This operation allows to analyze model for finding areas which are too thin for printing

Result of the analysis is a model painted with green if all is Ok If there are too thin areas on

the model surface it will be painted with red If there are areas which are suspected to be

too thin it will be painted with yellow

HTTP POST web-apioperationwall-thickness-analysis

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File for analysis unique

identifier

minimalWallThicknessMm Float Minimal acceptable wall

thickness Optional Default

value = 08

accuracyWallThickness Number Number will define the

resolution (and speed)

Optional Default value = 2

Acceptable values 2 4 6 8

10

A higher number will be more

accurate but slower in

processing

callbackUrl String Url called when operation

completed

Request JSON Format

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

minimalWallThicknessMm 12

accuracyWallThickness 2

callbackUrl httpsmysitecomoperation683561callback

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

22

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

200 ndash Success

operationId Guid Operation unique Identifier for

reference

400-Failure See error codes10- 50 300 301

404-Not Found See error codes 52

Response JSON Format

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

214 WALL THICKNESS ANALYSIS RESULT HTTP GET web-apioperationoperationIdwall-thickness-analysisresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

fileId Guid Analysed file id

hasThinWalls Boolean Indicate that model contains too

thin walls

hasPossibleThinWalls Boolean Indicate that model contains too

walls which are suspected to be

too thin

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

hasThinWalls false

hasPossibleThinWalls true

23

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

215 SCALING OPERATION Description

This operation allows to uniformly scale an stl model to a specified size on one of the axis

HTTP POST web-apioperationscale

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique identifier

axis String Name of axis you want to scale (X Y Z)

scaleToSizeMm Float Millimeters value of the desired dimension

on the specified axis Other axes will be

scaled proportionally Range 001mm ndash

10000mm

callbackUrl String Url called when operation completed

Request JSON

fileId ldquod241244f-9d68-4e3b-9fa0-115b135019bfrdquo

axis ldquoXrdquo

scaleToSizeMm 150

callbackUrl ldquohttpsmysitecomoperation683561callbackrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes 10- 50 400 401

404-Not Found See error codes 52

Response JSON

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

216 SCALING RESULT HTTP GET web-apioperationoperationIdscaleresult

Request format

24

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

fileId Guid Scaled file id

404-Not Found See error codes 71

400-Failure See error codes 10- 73 74

Response JSON

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

21 REDUCE TRIANGLES OPERATION Description

Use this operation to reduce triangles in an STL 3d model When any of the arguments is not

supplied (null or empty string) it automatically defaults to a predefined value (see table

below)

HTTP POST web-apioperationreduce-triangles

Request encoding type applicationjson

Request format

Field Type Description

fileId Guid File unique identifier

accuracyMm Number Floating point value between 0 and 10 When not supplied (null) defaults to 0005

maxAngle Number Integer number between 0 and 90 When not supplied (null) defaults to 5

numberOfIterations Number Integer number between 1 and 1000 When not supplied (null) defaults to 5

callbackUrl String Url called when operation completed

Request JSON

fileId ldquod241244f-9d68-4e3b-9fa0-115b135019bfrdquo

accuracyMm 0005

25

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

maxAngle 5

numberOfIterations 5

callbackUrl ldquohttpsmysitecomoperation683561callbackrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes 10 50 700 701 702

404-Not Found See error codes 52

Response JSON

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

22 REDUCE TRIANGLES RESULT HTTP GET web-apioperationoperationIdreduce-trianglesresult

Request format

Url parameters

Url part name Type Description

operationId Guid Operation identifier

221 Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

fileId Guid Model with reduced triangles

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

23 GENERATE THUMBNAIL OPERATION Description

This operation allows to generate preview thumbnail for a model

HTTP POST web-apioperationthumbnail

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique identifier

26

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

width Number Thumbnail width in pixels

height Number Thumbnail height in pixels

cameraAngleX Number Camera angle relative to the X axis

cameraAngleY Number Camera angle relative to the Y axis

cameraAngleZ Number Camera angle relative to the Z axis

callbackUrl String Url called when operation completed

Request JSON

fileId ldquod241244f-9d68-4e3b-9fa0-115b135019bfrdquo

width 100

height 100

cameraAngleX -70

cameraAngleY 0

cameraAngleZ 30

callbackUrl ldquohttpsmysitecomoperation683561callbackrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes 10 50 500 501

404-Not Found See error codes 52

Response JSON

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

24 THUMBNAIL RESULT HTTP GET web-apioperationoperationIdthumbnailresult

Request format

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

27

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

200 ndash Success

fileId Guid Model thumbnail file id

404-Not Found See error codes 71

400-Failure See error codes 10- 73 74

Response JSON

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

28

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

3 ERROR CODES

31 GENERAL ERRORS Code Message Meaning

10 Server error

11 Temporary error Please retry later

or contact us email if error

persists

12 Access denied

13 Invalid request format One or more of the parameters supplied

for the requested method are invalid

(Example string provided instead of int

etc) The parameters with the wrong value

will be provided in the message in the

format The value supplied for parameter

0 is invalid

32 FILE API ERRORS Code Message Meaning

50 Currently only Stl files are

supported

51 File is too big File was not saved

52 File was not found or you are not

the owner of the file File id file id

53 File Content is empty

54 Chunk is too big

55 Chunked upload commit error

56 Chunk is empty

57 File with id id already exists If you try to upload a chunk or commit a chunked upload using a file id of an existing file (of either a regular file upload or a committed chunked upload) yoursquoll receive this error to prevent from corrupting an existing file

33 GENERAL OPERATIONS RELATED ERRORS

Code Message Meaning

70 Operation request failed In case there is no concrete error API raises

this error

29

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

34 CONVERSION OPERATIONS SPECIFIC ERRORS Code Message Meaning

200 Unsupported Measurement units

35 WALL THICKNESS ANALYSIS OPERATION SPECIFIC ERRORS Code Message Meaning

300 Wrong minimal wall thickness Value should be between 01 and 20 (mm)

301 Wrong accuracy wall thickness

value

Value should be only one of predefined

value values (see Wall Thickness Analysis

Operation)

302 The model is too big Please scale it down

One of the model dimensions is too big Scale it down Dimension size should not exceed 500 mm

36 SCALING OPERATION SPECIFIC ERRORS Code Message Meaning

400 Scale value is not in the appropriate range

Value should be in range 001 ndash 10000

401 Axis is incorrect Value should be one of the predefined list (X Y Z)

37 GENERATE THUMBNAIL OPERATION SPECIFIC ERRORS Code Message Meaning

500 Wrong thumbnail size The width and height should be not less than 10 px but not more than 10000 px

501 Wrong camera angle Value should be in range from -180 to 180 degree

71 Operation was not found or you are

not the owner of the operation

Operation id id

72 A timeout occurred while

processing your file Your file may

be too big or complex

73 Operation with 0 has not finished

yet

74 Operation with Id 0 failed No

results available Use operation

status Api to get detailed error

30

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

38 SHRINKWRAP OPERATION SPECIFIC ERRORS Code Message Meaning

600 Accuracy value is not in appropriate range

Value should in range 100 ndash 500

39 REDUCE TRIANGLES OPERATION SPECIFIC ERRORS Code Message Meaning

700 The parameter Accuracy (mm) is invalid expecting a floating point value between 0 and 10 mm

The value should be a floating point number between 0 and 10

701 The parameter Max Angle is invalid expecting a value between 0 and 90

The value should be an integer number between 0 and 90

702 The parameter Number of Iterations is invalid expecting a value between 1 and 1000

The value should be an integer number between 1 and 1000

Page 15: API Developer Documentation - Materialise...API Developer Documentation 1 cloud.materialise.com – 3DPrintCloud@materialise.com INTRODUCTION TO 3DPRINTCLOUD API The 3DPrintCloud API

14

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

measurementUnits mm

callbackUrlrdquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

400-Failure See error codes10 50 200

404-Not Found See error codes 52

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

24 CONVERSION OPERATION RESULT HTTP GET web-apioperationoperationIdstl-conversionresult

Uri parameters

Url part name Type Description

operationId Guid operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

fileId Guid Converted stl file

404-Not Found See error codes 71

400-Failure See error codes 10 90

25 ANALYZE OPERATION HTTP POST web-apioperationanalyze

Request encoding type applicationjson

Request format

15

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

Http Status Code Field Type Description

200 ndash Success

fileId Guid Operation unique Identifier for reference

callbackUrl String Url called when operation completed

Request JSON

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

callbackUrl rdquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes10 50

404-Not Found See error codes 52

Response JSON

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

26 ANALYZE OPERATION RESULT HTTP GET web-apioperationoperationIdanalyzeresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response encoding type applicationjson

Http Status

Code

Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

vertices Number Number of model vertices

triangles Number Number of model triangles

contours Number Number of model contours

shells Number Number of model shells

badEdges Number Number of model bad edges

16

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

badContours Number Number of model bad contours

volumeMm3 Float Volume of the model in mm3

dimensionXMm Float

dimensionYMm Float

dimensionZMm Float

surfaceAreaMm2 Float Area of the model surface in mm2

404-Not

Found

See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

vertices 8

triangles 12

contours 12

shells6

badEdges 0

badContours 0

volumeMm3 10

dimensionXMm 10

dimensionYMm 10

dimensionZMm 10

surfaceAreaMm2 10

If BadContours gt 0 OR BadEdges gt 0 OR VolumeMm3 lt 0 we recommend to Repair the

model

27 GEOMETRICAL REPAIR OPERATION Description

This operation allows to get the best possible geometrical repaired model This operation

will not change the geometry of your part however for complex models you might not get a

fully watertight result

HTTP POST web-apioperationgeometrical-repair

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique Identifier for reference

callbackUrl String Url called when operation completed

Request JSON

17

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

callbackUrl ldquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status

Code

Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes10- 50

404-Not Found See error codes 52

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

28 GEOMETRICAL REPAIR OPERATION RESULT HTTP GET web-apioperationoperationIdgeometrical-repairresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

fileId Guid Repaired file id

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

18

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

29 SHRINKWRAP REPAIR OPERATION Description

This operation allows to get a watertight model with slight geometrical impact We will

apply shrinkwrap on your model to repair most difficult parts and therefore handle complex

issues

HTTP POST web-apioperationshrinkwrap-repair

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique Identifier for reference

accuracy String Accepted values ldquoRoughrdquo ldquoSmoothrdquo ldquoDetailedrdquo Higher level will produce better qualitative results however it will take more time for the result to be available

callbackUrl String Url called when operation completed

Request JSON

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

accuracy ldquoSmoothrdquo

callbackUrl rdquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status

Code

Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes10- 50 600

404-Not Found See error codes 52

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

19

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

210 SHRINKWRAP REPAIR OPERATION RESULT HTTP GET web-apioperationoperationIdshrinkwrap-repairresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

fileId Guid Repaired file id

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

211 REPAIR OPERATION Description

This operation allows to automatically combine geometrical result with shrinkwrap for a

higher chance of having a watertight model being the best result between a geometrically

repaired part or shrinkwrap repaired part If your application is sensitive to geometrical

changes we advise you using the Geometrical Repair described above

HTTP POST web-apioperationrepair

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique Identifier for reference

callbackUrl String Url called when operation completed

Request JSON

20

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

callbackUrl rdquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status

Code

Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes10- 50

404-Not Found See error codes 52

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

212 REPAIR OPERATION RESULT HTTP GET web-apioperationoperationIdrepairresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

fileId Guid Repaired file id

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

21

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

213 WALL THICKNESS ANALYSIS OPERATION Description

This operation allows to analyze model for finding areas which are too thin for printing

Result of the analysis is a model painted with green if all is Ok If there are too thin areas on

the model surface it will be painted with red If there are areas which are suspected to be

too thin it will be painted with yellow

HTTP POST web-apioperationwall-thickness-analysis

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File for analysis unique

identifier

minimalWallThicknessMm Float Minimal acceptable wall

thickness Optional Default

value = 08

accuracyWallThickness Number Number will define the

resolution (and speed)

Optional Default value = 2

Acceptable values 2 4 6 8

10

A higher number will be more

accurate but slower in

processing

callbackUrl String Url called when operation

completed

Request JSON Format

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

minimalWallThicknessMm 12

accuracyWallThickness 2

callbackUrl httpsmysitecomoperation683561callback

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

22

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

200 ndash Success

operationId Guid Operation unique Identifier for

reference

400-Failure See error codes10- 50 300 301

404-Not Found See error codes 52

Response JSON Format

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

214 WALL THICKNESS ANALYSIS RESULT HTTP GET web-apioperationoperationIdwall-thickness-analysisresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

fileId Guid Analysed file id

hasThinWalls Boolean Indicate that model contains too

thin walls

hasPossibleThinWalls Boolean Indicate that model contains too

walls which are suspected to be

too thin

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

hasThinWalls false

hasPossibleThinWalls true

23

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

215 SCALING OPERATION Description

This operation allows to uniformly scale an stl model to a specified size on one of the axis

HTTP POST web-apioperationscale

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique identifier

axis String Name of axis you want to scale (X Y Z)

scaleToSizeMm Float Millimeters value of the desired dimension

on the specified axis Other axes will be

scaled proportionally Range 001mm ndash

10000mm

callbackUrl String Url called when operation completed

Request JSON

fileId ldquod241244f-9d68-4e3b-9fa0-115b135019bfrdquo

axis ldquoXrdquo

scaleToSizeMm 150

callbackUrl ldquohttpsmysitecomoperation683561callbackrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes 10- 50 400 401

404-Not Found See error codes 52

Response JSON

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

216 SCALING RESULT HTTP GET web-apioperationoperationIdscaleresult

Request format

24

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

fileId Guid Scaled file id

404-Not Found See error codes 71

400-Failure See error codes 10- 73 74

Response JSON

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

21 REDUCE TRIANGLES OPERATION Description

Use this operation to reduce triangles in an STL 3d model When any of the arguments is not

supplied (null or empty string) it automatically defaults to a predefined value (see table

below)

HTTP POST web-apioperationreduce-triangles

Request encoding type applicationjson

Request format

Field Type Description

fileId Guid File unique identifier

accuracyMm Number Floating point value between 0 and 10 When not supplied (null) defaults to 0005

maxAngle Number Integer number between 0 and 90 When not supplied (null) defaults to 5

numberOfIterations Number Integer number between 1 and 1000 When not supplied (null) defaults to 5

callbackUrl String Url called when operation completed

Request JSON

fileId ldquod241244f-9d68-4e3b-9fa0-115b135019bfrdquo

accuracyMm 0005

25

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

maxAngle 5

numberOfIterations 5

callbackUrl ldquohttpsmysitecomoperation683561callbackrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes 10 50 700 701 702

404-Not Found See error codes 52

Response JSON

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

22 REDUCE TRIANGLES RESULT HTTP GET web-apioperationoperationIdreduce-trianglesresult

Request format

Url parameters

Url part name Type Description

operationId Guid Operation identifier

221 Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

fileId Guid Model with reduced triangles

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

23 GENERATE THUMBNAIL OPERATION Description

This operation allows to generate preview thumbnail for a model

HTTP POST web-apioperationthumbnail

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique identifier

26

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

width Number Thumbnail width in pixels

height Number Thumbnail height in pixels

cameraAngleX Number Camera angle relative to the X axis

cameraAngleY Number Camera angle relative to the Y axis

cameraAngleZ Number Camera angle relative to the Z axis

callbackUrl String Url called when operation completed

Request JSON

fileId ldquod241244f-9d68-4e3b-9fa0-115b135019bfrdquo

width 100

height 100

cameraAngleX -70

cameraAngleY 0

cameraAngleZ 30

callbackUrl ldquohttpsmysitecomoperation683561callbackrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes 10 50 500 501

404-Not Found See error codes 52

Response JSON

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

24 THUMBNAIL RESULT HTTP GET web-apioperationoperationIdthumbnailresult

Request format

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

27

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

200 ndash Success

fileId Guid Model thumbnail file id

404-Not Found See error codes 71

400-Failure See error codes 10- 73 74

Response JSON

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

28

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

3 ERROR CODES

31 GENERAL ERRORS Code Message Meaning

10 Server error

11 Temporary error Please retry later

or contact us email if error

persists

12 Access denied

13 Invalid request format One or more of the parameters supplied

for the requested method are invalid

(Example string provided instead of int

etc) The parameters with the wrong value

will be provided in the message in the

format The value supplied for parameter

0 is invalid

32 FILE API ERRORS Code Message Meaning

50 Currently only Stl files are

supported

51 File is too big File was not saved

52 File was not found or you are not

the owner of the file File id file id

53 File Content is empty

54 Chunk is too big

55 Chunked upload commit error

56 Chunk is empty

57 File with id id already exists If you try to upload a chunk or commit a chunked upload using a file id of an existing file (of either a regular file upload or a committed chunked upload) yoursquoll receive this error to prevent from corrupting an existing file

33 GENERAL OPERATIONS RELATED ERRORS

Code Message Meaning

70 Operation request failed In case there is no concrete error API raises

this error

29

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

34 CONVERSION OPERATIONS SPECIFIC ERRORS Code Message Meaning

200 Unsupported Measurement units

35 WALL THICKNESS ANALYSIS OPERATION SPECIFIC ERRORS Code Message Meaning

300 Wrong minimal wall thickness Value should be between 01 and 20 (mm)

301 Wrong accuracy wall thickness

value

Value should be only one of predefined

value values (see Wall Thickness Analysis

Operation)

302 The model is too big Please scale it down

One of the model dimensions is too big Scale it down Dimension size should not exceed 500 mm

36 SCALING OPERATION SPECIFIC ERRORS Code Message Meaning

400 Scale value is not in the appropriate range

Value should be in range 001 ndash 10000

401 Axis is incorrect Value should be one of the predefined list (X Y Z)

37 GENERATE THUMBNAIL OPERATION SPECIFIC ERRORS Code Message Meaning

500 Wrong thumbnail size The width and height should be not less than 10 px but not more than 10000 px

501 Wrong camera angle Value should be in range from -180 to 180 degree

71 Operation was not found or you are

not the owner of the operation

Operation id id

72 A timeout occurred while

processing your file Your file may

be too big or complex

73 Operation with 0 has not finished

yet

74 Operation with Id 0 failed No

results available Use operation

status Api to get detailed error

30

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

38 SHRINKWRAP OPERATION SPECIFIC ERRORS Code Message Meaning

600 Accuracy value is not in appropriate range

Value should in range 100 ndash 500

39 REDUCE TRIANGLES OPERATION SPECIFIC ERRORS Code Message Meaning

700 The parameter Accuracy (mm) is invalid expecting a floating point value between 0 and 10 mm

The value should be a floating point number between 0 and 10

701 The parameter Max Angle is invalid expecting a value between 0 and 90

The value should be an integer number between 0 and 90

702 The parameter Number of Iterations is invalid expecting a value between 1 and 1000

The value should be an integer number between 1 and 1000

Page 16: API Developer Documentation - Materialise...API Developer Documentation 1 cloud.materialise.com – 3DPrintCloud@materialise.com INTRODUCTION TO 3DPRINTCLOUD API The 3DPrintCloud API

15

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

Http Status Code Field Type Description

200 ndash Success

fileId Guid Operation unique Identifier for reference

callbackUrl String Url called when operation completed

Request JSON

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

callbackUrl rdquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes10 50

404-Not Found See error codes 52

Response JSON

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

26 ANALYZE OPERATION RESULT HTTP GET web-apioperationoperationIdanalyzeresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response encoding type applicationjson

Http Status

Code

Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

vertices Number Number of model vertices

triangles Number Number of model triangles

contours Number Number of model contours

shells Number Number of model shells

badEdges Number Number of model bad edges

16

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

badContours Number Number of model bad contours

volumeMm3 Float Volume of the model in mm3

dimensionXMm Float

dimensionYMm Float

dimensionZMm Float

surfaceAreaMm2 Float Area of the model surface in mm2

404-Not

Found

See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

vertices 8

triangles 12

contours 12

shells6

badEdges 0

badContours 0

volumeMm3 10

dimensionXMm 10

dimensionYMm 10

dimensionZMm 10

surfaceAreaMm2 10

If BadContours gt 0 OR BadEdges gt 0 OR VolumeMm3 lt 0 we recommend to Repair the

model

27 GEOMETRICAL REPAIR OPERATION Description

This operation allows to get the best possible geometrical repaired model This operation

will not change the geometry of your part however for complex models you might not get a

fully watertight result

HTTP POST web-apioperationgeometrical-repair

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique Identifier for reference

callbackUrl String Url called when operation completed

Request JSON

17

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

callbackUrl ldquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status

Code

Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes10- 50

404-Not Found See error codes 52

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

28 GEOMETRICAL REPAIR OPERATION RESULT HTTP GET web-apioperationoperationIdgeometrical-repairresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

fileId Guid Repaired file id

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

18

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

29 SHRINKWRAP REPAIR OPERATION Description

This operation allows to get a watertight model with slight geometrical impact We will

apply shrinkwrap on your model to repair most difficult parts and therefore handle complex

issues

HTTP POST web-apioperationshrinkwrap-repair

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique Identifier for reference

accuracy String Accepted values ldquoRoughrdquo ldquoSmoothrdquo ldquoDetailedrdquo Higher level will produce better qualitative results however it will take more time for the result to be available

callbackUrl String Url called when operation completed

Request JSON

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

accuracy ldquoSmoothrdquo

callbackUrl rdquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status

Code

Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes10- 50 600

404-Not Found See error codes 52

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

19

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

210 SHRINKWRAP REPAIR OPERATION RESULT HTTP GET web-apioperationoperationIdshrinkwrap-repairresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

fileId Guid Repaired file id

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

211 REPAIR OPERATION Description

This operation allows to automatically combine geometrical result with shrinkwrap for a

higher chance of having a watertight model being the best result between a geometrically

repaired part or shrinkwrap repaired part If your application is sensitive to geometrical

changes we advise you using the Geometrical Repair described above

HTTP POST web-apioperationrepair

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique Identifier for reference

callbackUrl String Url called when operation completed

Request JSON

20

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

callbackUrl rdquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status

Code

Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes10- 50

404-Not Found See error codes 52

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

212 REPAIR OPERATION RESULT HTTP GET web-apioperationoperationIdrepairresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

fileId Guid Repaired file id

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

21

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

213 WALL THICKNESS ANALYSIS OPERATION Description

This operation allows to analyze model for finding areas which are too thin for printing

Result of the analysis is a model painted with green if all is Ok If there are too thin areas on

the model surface it will be painted with red If there are areas which are suspected to be

too thin it will be painted with yellow

HTTP POST web-apioperationwall-thickness-analysis

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File for analysis unique

identifier

minimalWallThicknessMm Float Minimal acceptable wall

thickness Optional Default

value = 08

accuracyWallThickness Number Number will define the

resolution (and speed)

Optional Default value = 2

Acceptable values 2 4 6 8

10

A higher number will be more

accurate but slower in

processing

callbackUrl String Url called when operation

completed

Request JSON Format

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

minimalWallThicknessMm 12

accuracyWallThickness 2

callbackUrl httpsmysitecomoperation683561callback

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

22

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

200 ndash Success

operationId Guid Operation unique Identifier for

reference

400-Failure See error codes10- 50 300 301

404-Not Found See error codes 52

Response JSON Format

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

214 WALL THICKNESS ANALYSIS RESULT HTTP GET web-apioperationoperationIdwall-thickness-analysisresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

fileId Guid Analysed file id

hasThinWalls Boolean Indicate that model contains too

thin walls

hasPossibleThinWalls Boolean Indicate that model contains too

walls which are suspected to be

too thin

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

hasThinWalls false

hasPossibleThinWalls true

23

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

215 SCALING OPERATION Description

This operation allows to uniformly scale an stl model to a specified size on one of the axis

HTTP POST web-apioperationscale

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique identifier

axis String Name of axis you want to scale (X Y Z)

scaleToSizeMm Float Millimeters value of the desired dimension

on the specified axis Other axes will be

scaled proportionally Range 001mm ndash

10000mm

callbackUrl String Url called when operation completed

Request JSON

fileId ldquod241244f-9d68-4e3b-9fa0-115b135019bfrdquo

axis ldquoXrdquo

scaleToSizeMm 150

callbackUrl ldquohttpsmysitecomoperation683561callbackrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes 10- 50 400 401

404-Not Found See error codes 52

Response JSON

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

216 SCALING RESULT HTTP GET web-apioperationoperationIdscaleresult

Request format

24

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

fileId Guid Scaled file id

404-Not Found See error codes 71

400-Failure See error codes 10- 73 74

Response JSON

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

21 REDUCE TRIANGLES OPERATION Description

Use this operation to reduce triangles in an STL 3d model When any of the arguments is not

supplied (null or empty string) it automatically defaults to a predefined value (see table

below)

HTTP POST web-apioperationreduce-triangles

Request encoding type applicationjson

Request format

Field Type Description

fileId Guid File unique identifier

accuracyMm Number Floating point value between 0 and 10 When not supplied (null) defaults to 0005

maxAngle Number Integer number between 0 and 90 When not supplied (null) defaults to 5

numberOfIterations Number Integer number between 1 and 1000 When not supplied (null) defaults to 5

callbackUrl String Url called when operation completed

Request JSON

fileId ldquod241244f-9d68-4e3b-9fa0-115b135019bfrdquo

accuracyMm 0005

25

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

maxAngle 5

numberOfIterations 5

callbackUrl ldquohttpsmysitecomoperation683561callbackrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes 10 50 700 701 702

404-Not Found See error codes 52

Response JSON

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

22 REDUCE TRIANGLES RESULT HTTP GET web-apioperationoperationIdreduce-trianglesresult

Request format

Url parameters

Url part name Type Description

operationId Guid Operation identifier

221 Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

fileId Guid Model with reduced triangles

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

23 GENERATE THUMBNAIL OPERATION Description

This operation allows to generate preview thumbnail for a model

HTTP POST web-apioperationthumbnail

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique identifier

26

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

width Number Thumbnail width in pixels

height Number Thumbnail height in pixels

cameraAngleX Number Camera angle relative to the X axis

cameraAngleY Number Camera angle relative to the Y axis

cameraAngleZ Number Camera angle relative to the Z axis

callbackUrl String Url called when operation completed

Request JSON

fileId ldquod241244f-9d68-4e3b-9fa0-115b135019bfrdquo

width 100

height 100

cameraAngleX -70

cameraAngleY 0

cameraAngleZ 30

callbackUrl ldquohttpsmysitecomoperation683561callbackrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes 10 50 500 501

404-Not Found See error codes 52

Response JSON

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

24 THUMBNAIL RESULT HTTP GET web-apioperationoperationIdthumbnailresult

Request format

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

27

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

200 ndash Success

fileId Guid Model thumbnail file id

404-Not Found See error codes 71

400-Failure See error codes 10- 73 74

Response JSON

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

28

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

3 ERROR CODES

31 GENERAL ERRORS Code Message Meaning

10 Server error

11 Temporary error Please retry later

or contact us email if error

persists

12 Access denied

13 Invalid request format One or more of the parameters supplied

for the requested method are invalid

(Example string provided instead of int

etc) The parameters with the wrong value

will be provided in the message in the

format The value supplied for parameter

0 is invalid

32 FILE API ERRORS Code Message Meaning

50 Currently only Stl files are

supported

51 File is too big File was not saved

52 File was not found or you are not

the owner of the file File id file id

53 File Content is empty

54 Chunk is too big

55 Chunked upload commit error

56 Chunk is empty

57 File with id id already exists If you try to upload a chunk or commit a chunked upload using a file id of an existing file (of either a regular file upload or a committed chunked upload) yoursquoll receive this error to prevent from corrupting an existing file

33 GENERAL OPERATIONS RELATED ERRORS

Code Message Meaning

70 Operation request failed In case there is no concrete error API raises

this error

29

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

34 CONVERSION OPERATIONS SPECIFIC ERRORS Code Message Meaning

200 Unsupported Measurement units

35 WALL THICKNESS ANALYSIS OPERATION SPECIFIC ERRORS Code Message Meaning

300 Wrong minimal wall thickness Value should be between 01 and 20 (mm)

301 Wrong accuracy wall thickness

value

Value should be only one of predefined

value values (see Wall Thickness Analysis

Operation)

302 The model is too big Please scale it down

One of the model dimensions is too big Scale it down Dimension size should not exceed 500 mm

36 SCALING OPERATION SPECIFIC ERRORS Code Message Meaning

400 Scale value is not in the appropriate range

Value should be in range 001 ndash 10000

401 Axis is incorrect Value should be one of the predefined list (X Y Z)

37 GENERATE THUMBNAIL OPERATION SPECIFIC ERRORS Code Message Meaning

500 Wrong thumbnail size The width and height should be not less than 10 px but not more than 10000 px

501 Wrong camera angle Value should be in range from -180 to 180 degree

71 Operation was not found or you are

not the owner of the operation

Operation id id

72 A timeout occurred while

processing your file Your file may

be too big or complex

73 Operation with 0 has not finished

yet

74 Operation with Id 0 failed No

results available Use operation

status Api to get detailed error

30

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

38 SHRINKWRAP OPERATION SPECIFIC ERRORS Code Message Meaning

600 Accuracy value is not in appropriate range

Value should in range 100 ndash 500

39 REDUCE TRIANGLES OPERATION SPECIFIC ERRORS Code Message Meaning

700 The parameter Accuracy (mm) is invalid expecting a floating point value between 0 and 10 mm

The value should be a floating point number between 0 and 10

701 The parameter Max Angle is invalid expecting a value between 0 and 90

The value should be an integer number between 0 and 90

702 The parameter Number of Iterations is invalid expecting a value between 1 and 1000

The value should be an integer number between 1 and 1000

Page 17: API Developer Documentation - Materialise...API Developer Documentation 1 cloud.materialise.com – 3DPrintCloud@materialise.com INTRODUCTION TO 3DPRINTCLOUD API The 3DPrintCloud API

16

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

badContours Number Number of model bad contours

volumeMm3 Float Volume of the model in mm3

dimensionXMm Float

dimensionYMm Float

dimensionZMm Float

surfaceAreaMm2 Float Area of the model surface in mm2

404-Not

Found

See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

vertices 8

triangles 12

contours 12

shells6

badEdges 0

badContours 0

volumeMm3 10

dimensionXMm 10

dimensionYMm 10

dimensionZMm 10

surfaceAreaMm2 10

If BadContours gt 0 OR BadEdges gt 0 OR VolumeMm3 lt 0 we recommend to Repair the

model

27 GEOMETRICAL REPAIR OPERATION Description

This operation allows to get the best possible geometrical repaired model This operation

will not change the geometry of your part however for complex models you might not get a

fully watertight result

HTTP POST web-apioperationgeometrical-repair

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique Identifier for reference

callbackUrl String Url called when operation completed

Request JSON

17

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

callbackUrl ldquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status

Code

Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes10- 50

404-Not Found See error codes 52

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

28 GEOMETRICAL REPAIR OPERATION RESULT HTTP GET web-apioperationoperationIdgeometrical-repairresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

fileId Guid Repaired file id

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

18

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

29 SHRINKWRAP REPAIR OPERATION Description

This operation allows to get a watertight model with slight geometrical impact We will

apply shrinkwrap on your model to repair most difficult parts and therefore handle complex

issues

HTTP POST web-apioperationshrinkwrap-repair

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique Identifier for reference

accuracy String Accepted values ldquoRoughrdquo ldquoSmoothrdquo ldquoDetailedrdquo Higher level will produce better qualitative results however it will take more time for the result to be available

callbackUrl String Url called when operation completed

Request JSON

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

accuracy ldquoSmoothrdquo

callbackUrl rdquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status

Code

Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes10- 50 600

404-Not Found See error codes 52

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

19

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

210 SHRINKWRAP REPAIR OPERATION RESULT HTTP GET web-apioperationoperationIdshrinkwrap-repairresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

fileId Guid Repaired file id

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

211 REPAIR OPERATION Description

This operation allows to automatically combine geometrical result with shrinkwrap for a

higher chance of having a watertight model being the best result between a geometrically

repaired part or shrinkwrap repaired part If your application is sensitive to geometrical

changes we advise you using the Geometrical Repair described above

HTTP POST web-apioperationrepair

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique Identifier for reference

callbackUrl String Url called when operation completed

Request JSON

20

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

callbackUrl rdquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status

Code

Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes10- 50

404-Not Found See error codes 52

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

212 REPAIR OPERATION RESULT HTTP GET web-apioperationoperationIdrepairresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

fileId Guid Repaired file id

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

21

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

213 WALL THICKNESS ANALYSIS OPERATION Description

This operation allows to analyze model for finding areas which are too thin for printing

Result of the analysis is a model painted with green if all is Ok If there are too thin areas on

the model surface it will be painted with red If there are areas which are suspected to be

too thin it will be painted with yellow

HTTP POST web-apioperationwall-thickness-analysis

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File for analysis unique

identifier

minimalWallThicknessMm Float Minimal acceptable wall

thickness Optional Default

value = 08

accuracyWallThickness Number Number will define the

resolution (and speed)

Optional Default value = 2

Acceptable values 2 4 6 8

10

A higher number will be more

accurate but slower in

processing

callbackUrl String Url called when operation

completed

Request JSON Format

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

minimalWallThicknessMm 12

accuracyWallThickness 2

callbackUrl httpsmysitecomoperation683561callback

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

22

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

200 ndash Success

operationId Guid Operation unique Identifier for

reference

400-Failure See error codes10- 50 300 301

404-Not Found See error codes 52

Response JSON Format

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

214 WALL THICKNESS ANALYSIS RESULT HTTP GET web-apioperationoperationIdwall-thickness-analysisresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

fileId Guid Analysed file id

hasThinWalls Boolean Indicate that model contains too

thin walls

hasPossibleThinWalls Boolean Indicate that model contains too

walls which are suspected to be

too thin

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

hasThinWalls false

hasPossibleThinWalls true

23

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

215 SCALING OPERATION Description

This operation allows to uniformly scale an stl model to a specified size on one of the axis

HTTP POST web-apioperationscale

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique identifier

axis String Name of axis you want to scale (X Y Z)

scaleToSizeMm Float Millimeters value of the desired dimension

on the specified axis Other axes will be

scaled proportionally Range 001mm ndash

10000mm

callbackUrl String Url called when operation completed

Request JSON

fileId ldquod241244f-9d68-4e3b-9fa0-115b135019bfrdquo

axis ldquoXrdquo

scaleToSizeMm 150

callbackUrl ldquohttpsmysitecomoperation683561callbackrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes 10- 50 400 401

404-Not Found See error codes 52

Response JSON

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

216 SCALING RESULT HTTP GET web-apioperationoperationIdscaleresult

Request format

24

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

fileId Guid Scaled file id

404-Not Found See error codes 71

400-Failure See error codes 10- 73 74

Response JSON

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

21 REDUCE TRIANGLES OPERATION Description

Use this operation to reduce triangles in an STL 3d model When any of the arguments is not

supplied (null or empty string) it automatically defaults to a predefined value (see table

below)

HTTP POST web-apioperationreduce-triangles

Request encoding type applicationjson

Request format

Field Type Description

fileId Guid File unique identifier

accuracyMm Number Floating point value between 0 and 10 When not supplied (null) defaults to 0005

maxAngle Number Integer number between 0 and 90 When not supplied (null) defaults to 5

numberOfIterations Number Integer number between 1 and 1000 When not supplied (null) defaults to 5

callbackUrl String Url called when operation completed

Request JSON

fileId ldquod241244f-9d68-4e3b-9fa0-115b135019bfrdquo

accuracyMm 0005

25

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

maxAngle 5

numberOfIterations 5

callbackUrl ldquohttpsmysitecomoperation683561callbackrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes 10 50 700 701 702

404-Not Found See error codes 52

Response JSON

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

22 REDUCE TRIANGLES RESULT HTTP GET web-apioperationoperationIdreduce-trianglesresult

Request format

Url parameters

Url part name Type Description

operationId Guid Operation identifier

221 Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

fileId Guid Model with reduced triangles

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

23 GENERATE THUMBNAIL OPERATION Description

This operation allows to generate preview thumbnail for a model

HTTP POST web-apioperationthumbnail

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique identifier

26

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

width Number Thumbnail width in pixels

height Number Thumbnail height in pixels

cameraAngleX Number Camera angle relative to the X axis

cameraAngleY Number Camera angle relative to the Y axis

cameraAngleZ Number Camera angle relative to the Z axis

callbackUrl String Url called when operation completed

Request JSON

fileId ldquod241244f-9d68-4e3b-9fa0-115b135019bfrdquo

width 100

height 100

cameraAngleX -70

cameraAngleY 0

cameraAngleZ 30

callbackUrl ldquohttpsmysitecomoperation683561callbackrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes 10 50 500 501

404-Not Found See error codes 52

Response JSON

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

24 THUMBNAIL RESULT HTTP GET web-apioperationoperationIdthumbnailresult

Request format

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

27

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

200 ndash Success

fileId Guid Model thumbnail file id

404-Not Found See error codes 71

400-Failure See error codes 10- 73 74

Response JSON

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

28

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

3 ERROR CODES

31 GENERAL ERRORS Code Message Meaning

10 Server error

11 Temporary error Please retry later

or contact us email if error

persists

12 Access denied

13 Invalid request format One or more of the parameters supplied

for the requested method are invalid

(Example string provided instead of int

etc) The parameters with the wrong value

will be provided in the message in the

format The value supplied for parameter

0 is invalid

32 FILE API ERRORS Code Message Meaning

50 Currently only Stl files are

supported

51 File is too big File was not saved

52 File was not found or you are not

the owner of the file File id file id

53 File Content is empty

54 Chunk is too big

55 Chunked upload commit error

56 Chunk is empty

57 File with id id already exists If you try to upload a chunk or commit a chunked upload using a file id of an existing file (of either a regular file upload or a committed chunked upload) yoursquoll receive this error to prevent from corrupting an existing file

33 GENERAL OPERATIONS RELATED ERRORS

Code Message Meaning

70 Operation request failed In case there is no concrete error API raises

this error

29

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

34 CONVERSION OPERATIONS SPECIFIC ERRORS Code Message Meaning

200 Unsupported Measurement units

35 WALL THICKNESS ANALYSIS OPERATION SPECIFIC ERRORS Code Message Meaning

300 Wrong minimal wall thickness Value should be between 01 and 20 (mm)

301 Wrong accuracy wall thickness

value

Value should be only one of predefined

value values (see Wall Thickness Analysis

Operation)

302 The model is too big Please scale it down

One of the model dimensions is too big Scale it down Dimension size should not exceed 500 mm

36 SCALING OPERATION SPECIFIC ERRORS Code Message Meaning

400 Scale value is not in the appropriate range

Value should be in range 001 ndash 10000

401 Axis is incorrect Value should be one of the predefined list (X Y Z)

37 GENERATE THUMBNAIL OPERATION SPECIFIC ERRORS Code Message Meaning

500 Wrong thumbnail size The width and height should be not less than 10 px but not more than 10000 px

501 Wrong camera angle Value should be in range from -180 to 180 degree

71 Operation was not found or you are

not the owner of the operation

Operation id id

72 A timeout occurred while

processing your file Your file may

be too big or complex

73 Operation with 0 has not finished

yet

74 Operation with Id 0 failed No

results available Use operation

status Api to get detailed error

30

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

38 SHRINKWRAP OPERATION SPECIFIC ERRORS Code Message Meaning

600 Accuracy value is not in appropriate range

Value should in range 100 ndash 500

39 REDUCE TRIANGLES OPERATION SPECIFIC ERRORS Code Message Meaning

700 The parameter Accuracy (mm) is invalid expecting a floating point value between 0 and 10 mm

The value should be a floating point number between 0 and 10

701 The parameter Max Angle is invalid expecting a value between 0 and 90

The value should be an integer number between 0 and 90

702 The parameter Number of Iterations is invalid expecting a value between 1 and 1000

The value should be an integer number between 1 and 1000

Page 18: API Developer Documentation - Materialise...API Developer Documentation 1 cloud.materialise.com – 3DPrintCloud@materialise.com INTRODUCTION TO 3DPRINTCLOUD API The 3DPrintCloud API

17

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

callbackUrl ldquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status

Code

Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes10- 50

404-Not Found See error codes 52

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

28 GEOMETRICAL REPAIR OPERATION RESULT HTTP GET web-apioperationoperationIdgeometrical-repairresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

fileId Guid Repaired file id

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

18

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

29 SHRINKWRAP REPAIR OPERATION Description

This operation allows to get a watertight model with slight geometrical impact We will

apply shrinkwrap on your model to repair most difficult parts and therefore handle complex

issues

HTTP POST web-apioperationshrinkwrap-repair

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique Identifier for reference

accuracy String Accepted values ldquoRoughrdquo ldquoSmoothrdquo ldquoDetailedrdquo Higher level will produce better qualitative results however it will take more time for the result to be available

callbackUrl String Url called when operation completed

Request JSON

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

accuracy ldquoSmoothrdquo

callbackUrl rdquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status

Code

Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes10- 50 600

404-Not Found See error codes 52

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

19

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

210 SHRINKWRAP REPAIR OPERATION RESULT HTTP GET web-apioperationoperationIdshrinkwrap-repairresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

fileId Guid Repaired file id

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

211 REPAIR OPERATION Description

This operation allows to automatically combine geometrical result with shrinkwrap for a

higher chance of having a watertight model being the best result between a geometrically

repaired part or shrinkwrap repaired part If your application is sensitive to geometrical

changes we advise you using the Geometrical Repair described above

HTTP POST web-apioperationrepair

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique Identifier for reference

callbackUrl String Url called when operation completed

Request JSON

20

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

callbackUrl rdquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status

Code

Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes10- 50

404-Not Found See error codes 52

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

212 REPAIR OPERATION RESULT HTTP GET web-apioperationoperationIdrepairresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

fileId Guid Repaired file id

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

21

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

213 WALL THICKNESS ANALYSIS OPERATION Description

This operation allows to analyze model for finding areas which are too thin for printing

Result of the analysis is a model painted with green if all is Ok If there are too thin areas on

the model surface it will be painted with red If there are areas which are suspected to be

too thin it will be painted with yellow

HTTP POST web-apioperationwall-thickness-analysis

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File for analysis unique

identifier

minimalWallThicknessMm Float Minimal acceptable wall

thickness Optional Default

value = 08

accuracyWallThickness Number Number will define the

resolution (and speed)

Optional Default value = 2

Acceptable values 2 4 6 8

10

A higher number will be more

accurate but slower in

processing

callbackUrl String Url called when operation

completed

Request JSON Format

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

minimalWallThicknessMm 12

accuracyWallThickness 2

callbackUrl httpsmysitecomoperation683561callback

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

22

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

200 ndash Success

operationId Guid Operation unique Identifier for

reference

400-Failure See error codes10- 50 300 301

404-Not Found See error codes 52

Response JSON Format

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

214 WALL THICKNESS ANALYSIS RESULT HTTP GET web-apioperationoperationIdwall-thickness-analysisresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

fileId Guid Analysed file id

hasThinWalls Boolean Indicate that model contains too

thin walls

hasPossibleThinWalls Boolean Indicate that model contains too

walls which are suspected to be

too thin

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

hasThinWalls false

hasPossibleThinWalls true

23

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

215 SCALING OPERATION Description

This operation allows to uniformly scale an stl model to a specified size on one of the axis

HTTP POST web-apioperationscale

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique identifier

axis String Name of axis you want to scale (X Y Z)

scaleToSizeMm Float Millimeters value of the desired dimension

on the specified axis Other axes will be

scaled proportionally Range 001mm ndash

10000mm

callbackUrl String Url called when operation completed

Request JSON

fileId ldquod241244f-9d68-4e3b-9fa0-115b135019bfrdquo

axis ldquoXrdquo

scaleToSizeMm 150

callbackUrl ldquohttpsmysitecomoperation683561callbackrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes 10- 50 400 401

404-Not Found See error codes 52

Response JSON

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

216 SCALING RESULT HTTP GET web-apioperationoperationIdscaleresult

Request format

24

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

fileId Guid Scaled file id

404-Not Found See error codes 71

400-Failure See error codes 10- 73 74

Response JSON

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

21 REDUCE TRIANGLES OPERATION Description

Use this operation to reduce triangles in an STL 3d model When any of the arguments is not

supplied (null or empty string) it automatically defaults to a predefined value (see table

below)

HTTP POST web-apioperationreduce-triangles

Request encoding type applicationjson

Request format

Field Type Description

fileId Guid File unique identifier

accuracyMm Number Floating point value between 0 and 10 When not supplied (null) defaults to 0005

maxAngle Number Integer number between 0 and 90 When not supplied (null) defaults to 5

numberOfIterations Number Integer number between 1 and 1000 When not supplied (null) defaults to 5

callbackUrl String Url called when operation completed

Request JSON

fileId ldquod241244f-9d68-4e3b-9fa0-115b135019bfrdquo

accuracyMm 0005

25

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

maxAngle 5

numberOfIterations 5

callbackUrl ldquohttpsmysitecomoperation683561callbackrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes 10 50 700 701 702

404-Not Found See error codes 52

Response JSON

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

22 REDUCE TRIANGLES RESULT HTTP GET web-apioperationoperationIdreduce-trianglesresult

Request format

Url parameters

Url part name Type Description

operationId Guid Operation identifier

221 Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

fileId Guid Model with reduced triangles

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

23 GENERATE THUMBNAIL OPERATION Description

This operation allows to generate preview thumbnail for a model

HTTP POST web-apioperationthumbnail

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique identifier

26

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

width Number Thumbnail width in pixels

height Number Thumbnail height in pixels

cameraAngleX Number Camera angle relative to the X axis

cameraAngleY Number Camera angle relative to the Y axis

cameraAngleZ Number Camera angle relative to the Z axis

callbackUrl String Url called when operation completed

Request JSON

fileId ldquod241244f-9d68-4e3b-9fa0-115b135019bfrdquo

width 100

height 100

cameraAngleX -70

cameraAngleY 0

cameraAngleZ 30

callbackUrl ldquohttpsmysitecomoperation683561callbackrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes 10 50 500 501

404-Not Found See error codes 52

Response JSON

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

24 THUMBNAIL RESULT HTTP GET web-apioperationoperationIdthumbnailresult

Request format

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

27

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

200 ndash Success

fileId Guid Model thumbnail file id

404-Not Found See error codes 71

400-Failure See error codes 10- 73 74

Response JSON

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

28

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

3 ERROR CODES

31 GENERAL ERRORS Code Message Meaning

10 Server error

11 Temporary error Please retry later

or contact us email if error

persists

12 Access denied

13 Invalid request format One or more of the parameters supplied

for the requested method are invalid

(Example string provided instead of int

etc) The parameters with the wrong value

will be provided in the message in the

format The value supplied for parameter

0 is invalid

32 FILE API ERRORS Code Message Meaning

50 Currently only Stl files are

supported

51 File is too big File was not saved

52 File was not found or you are not

the owner of the file File id file id

53 File Content is empty

54 Chunk is too big

55 Chunked upload commit error

56 Chunk is empty

57 File with id id already exists If you try to upload a chunk or commit a chunked upload using a file id of an existing file (of either a regular file upload or a committed chunked upload) yoursquoll receive this error to prevent from corrupting an existing file

33 GENERAL OPERATIONS RELATED ERRORS

Code Message Meaning

70 Operation request failed In case there is no concrete error API raises

this error

29

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

34 CONVERSION OPERATIONS SPECIFIC ERRORS Code Message Meaning

200 Unsupported Measurement units

35 WALL THICKNESS ANALYSIS OPERATION SPECIFIC ERRORS Code Message Meaning

300 Wrong minimal wall thickness Value should be between 01 and 20 (mm)

301 Wrong accuracy wall thickness

value

Value should be only one of predefined

value values (see Wall Thickness Analysis

Operation)

302 The model is too big Please scale it down

One of the model dimensions is too big Scale it down Dimension size should not exceed 500 mm

36 SCALING OPERATION SPECIFIC ERRORS Code Message Meaning

400 Scale value is not in the appropriate range

Value should be in range 001 ndash 10000

401 Axis is incorrect Value should be one of the predefined list (X Y Z)

37 GENERATE THUMBNAIL OPERATION SPECIFIC ERRORS Code Message Meaning

500 Wrong thumbnail size The width and height should be not less than 10 px but not more than 10000 px

501 Wrong camera angle Value should be in range from -180 to 180 degree

71 Operation was not found or you are

not the owner of the operation

Operation id id

72 A timeout occurred while

processing your file Your file may

be too big or complex

73 Operation with 0 has not finished

yet

74 Operation with Id 0 failed No

results available Use operation

status Api to get detailed error

30

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

38 SHRINKWRAP OPERATION SPECIFIC ERRORS Code Message Meaning

600 Accuracy value is not in appropriate range

Value should in range 100 ndash 500

39 REDUCE TRIANGLES OPERATION SPECIFIC ERRORS Code Message Meaning

700 The parameter Accuracy (mm) is invalid expecting a floating point value between 0 and 10 mm

The value should be a floating point number between 0 and 10

701 The parameter Max Angle is invalid expecting a value between 0 and 90

The value should be an integer number between 0 and 90

702 The parameter Number of Iterations is invalid expecting a value between 1 and 1000

The value should be an integer number between 1 and 1000

Page 19: API Developer Documentation - Materialise...API Developer Documentation 1 cloud.materialise.com – 3DPrintCloud@materialise.com INTRODUCTION TO 3DPRINTCLOUD API The 3DPrintCloud API

18

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

29 SHRINKWRAP REPAIR OPERATION Description

This operation allows to get a watertight model with slight geometrical impact We will

apply shrinkwrap on your model to repair most difficult parts and therefore handle complex

issues

HTTP POST web-apioperationshrinkwrap-repair

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique Identifier for reference

accuracy String Accepted values ldquoRoughrdquo ldquoSmoothrdquo ldquoDetailedrdquo Higher level will produce better qualitative results however it will take more time for the result to be available

callbackUrl String Url called when operation completed

Request JSON

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

accuracy ldquoSmoothrdquo

callbackUrl rdquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status

Code

Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes10- 50 600

404-Not Found See error codes 52

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

19

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

210 SHRINKWRAP REPAIR OPERATION RESULT HTTP GET web-apioperationoperationIdshrinkwrap-repairresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

fileId Guid Repaired file id

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

211 REPAIR OPERATION Description

This operation allows to automatically combine geometrical result with shrinkwrap for a

higher chance of having a watertight model being the best result between a geometrically

repaired part or shrinkwrap repaired part If your application is sensitive to geometrical

changes we advise you using the Geometrical Repair described above

HTTP POST web-apioperationrepair

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique Identifier for reference

callbackUrl String Url called when operation completed

Request JSON

20

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

callbackUrl rdquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status

Code

Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes10- 50

404-Not Found See error codes 52

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

212 REPAIR OPERATION RESULT HTTP GET web-apioperationoperationIdrepairresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

fileId Guid Repaired file id

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

21

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

213 WALL THICKNESS ANALYSIS OPERATION Description

This operation allows to analyze model for finding areas which are too thin for printing

Result of the analysis is a model painted with green if all is Ok If there are too thin areas on

the model surface it will be painted with red If there are areas which are suspected to be

too thin it will be painted with yellow

HTTP POST web-apioperationwall-thickness-analysis

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File for analysis unique

identifier

minimalWallThicknessMm Float Minimal acceptable wall

thickness Optional Default

value = 08

accuracyWallThickness Number Number will define the

resolution (and speed)

Optional Default value = 2

Acceptable values 2 4 6 8

10

A higher number will be more

accurate but slower in

processing

callbackUrl String Url called when operation

completed

Request JSON Format

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

minimalWallThicknessMm 12

accuracyWallThickness 2

callbackUrl httpsmysitecomoperation683561callback

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

22

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

200 ndash Success

operationId Guid Operation unique Identifier for

reference

400-Failure See error codes10- 50 300 301

404-Not Found See error codes 52

Response JSON Format

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

214 WALL THICKNESS ANALYSIS RESULT HTTP GET web-apioperationoperationIdwall-thickness-analysisresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

fileId Guid Analysed file id

hasThinWalls Boolean Indicate that model contains too

thin walls

hasPossibleThinWalls Boolean Indicate that model contains too

walls which are suspected to be

too thin

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

hasThinWalls false

hasPossibleThinWalls true

23

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

215 SCALING OPERATION Description

This operation allows to uniformly scale an stl model to a specified size on one of the axis

HTTP POST web-apioperationscale

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique identifier

axis String Name of axis you want to scale (X Y Z)

scaleToSizeMm Float Millimeters value of the desired dimension

on the specified axis Other axes will be

scaled proportionally Range 001mm ndash

10000mm

callbackUrl String Url called when operation completed

Request JSON

fileId ldquod241244f-9d68-4e3b-9fa0-115b135019bfrdquo

axis ldquoXrdquo

scaleToSizeMm 150

callbackUrl ldquohttpsmysitecomoperation683561callbackrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes 10- 50 400 401

404-Not Found See error codes 52

Response JSON

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

216 SCALING RESULT HTTP GET web-apioperationoperationIdscaleresult

Request format

24

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

fileId Guid Scaled file id

404-Not Found See error codes 71

400-Failure See error codes 10- 73 74

Response JSON

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

21 REDUCE TRIANGLES OPERATION Description

Use this operation to reduce triangles in an STL 3d model When any of the arguments is not

supplied (null or empty string) it automatically defaults to a predefined value (see table

below)

HTTP POST web-apioperationreduce-triangles

Request encoding type applicationjson

Request format

Field Type Description

fileId Guid File unique identifier

accuracyMm Number Floating point value between 0 and 10 When not supplied (null) defaults to 0005

maxAngle Number Integer number between 0 and 90 When not supplied (null) defaults to 5

numberOfIterations Number Integer number between 1 and 1000 When not supplied (null) defaults to 5

callbackUrl String Url called when operation completed

Request JSON

fileId ldquod241244f-9d68-4e3b-9fa0-115b135019bfrdquo

accuracyMm 0005

25

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

maxAngle 5

numberOfIterations 5

callbackUrl ldquohttpsmysitecomoperation683561callbackrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes 10 50 700 701 702

404-Not Found See error codes 52

Response JSON

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

22 REDUCE TRIANGLES RESULT HTTP GET web-apioperationoperationIdreduce-trianglesresult

Request format

Url parameters

Url part name Type Description

operationId Guid Operation identifier

221 Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

fileId Guid Model with reduced triangles

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

23 GENERATE THUMBNAIL OPERATION Description

This operation allows to generate preview thumbnail for a model

HTTP POST web-apioperationthumbnail

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique identifier

26

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

width Number Thumbnail width in pixels

height Number Thumbnail height in pixels

cameraAngleX Number Camera angle relative to the X axis

cameraAngleY Number Camera angle relative to the Y axis

cameraAngleZ Number Camera angle relative to the Z axis

callbackUrl String Url called when operation completed

Request JSON

fileId ldquod241244f-9d68-4e3b-9fa0-115b135019bfrdquo

width 100

height 100

cameraAngleX -70

cameraAngleY 0

cameraAngleZ 30

callbackUrl ldquohttpsmysitecomoperation683561callbackrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes 10 50 500 501

404-Not Found See error codes 52

Response JSON

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

24 THUMBNAIL RESULT HTTP GET web-apioperationoperationIdthumbnailresult

Request format

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

27

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

200 ndash Success

fileId Guid Model thumbnail file id

404-Not Found See error codes 71

400-Failure See error codes 10- 73 74

Response JSON

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

28

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

3 ERROR CODES

31 GENERAL ERRORS Code Message Meaning

10 Server error

11 Temporary error Please retry later

or contact us email if error

persists

12 Access denied

13 Invalid request format One or more of the parameters supplied

for the requested method are invalid

(Example string provided instead of int

etc) The parameters with the wrong value

will be provided in the message in the

format The value supplied for parameter

0 is invalid

32 FILE API ERRORS Code Message Meaning

50 Currently only Stl files are

supported

51 File is too big File was not saved

52 File was not found or you are not

the owner of the file File id file id

53 File Content is empty

54 Chunk is too big

55 Chunked upload commit error

56 Chunk is empty

57 File with id id already exists If you try to upload a chunk or commit a chunked upload using a file id of an existing file (of either a regular file upload or a committed chunked upload) yoursquoll receive this error to prevent from corrupting an existing file

33 GENERAL OPERATIONS RELATED ERRORS

Code Message Meaning

70 Operation request failed In case there is no concrete error API raises

this error

29

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

34 CONVERSION OPERATIONS SPECIFIC ERRORS Code Message Meaning

200 Unsupported Measurement units

35 WALL THICKNESS ANALYSIS OPERATION SPECIFIC ERRORS Code Message Meaning

300 Wrong minimal wall thickness Value should be between 01 and 20 (mm)

301 Wrong accuracy wall thickness

value

Value should be only one of predefined

value values (see Wall Thickness Analysis

Operation)

302 The model is too big Please scale it down

One of the model dimensions is too big Scale it down Dimension size should not exceed 500 mm

36 SCALING OPERATION SPECIFIC ERRORS Code Message Meaning

400 Scale value is not in the appropriate range

Value should be in range 001 ndash 10000

401 Axis is incorrect Value should be one of the predefined list (X Y Z)

37 GENERATE THUMBNAIL OPERATION SPECIFIC ERRORS Code Message Meaning

500 Wrong thumbnail size The width and height should be not less than 10 px but not more than 10000 px

501 Wrong camera angle Value should be in range from -180 to 180 degree

71 Operation was not found or you are

not the owner of the operation

Operation id id

72 A timeout occurred while

processing your file Your file may

be too big or complex

73 Operation with 0 has not finished

yet

74 Operation with Id 0 failed No

results available Use operation

status Api to get detailed error

30

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

38 SHRINKWRAP OPERATION SPECIFIC ERRORS Code Message Meaning

600 Accuracy value is not in appropriate range

Value should in range 100 ndash 500

39 REDUCE TRIANGLES OPERATION SPECIFIC ERRORS Code Message Meaning

700 The parameter Accuracy (mm) is invalid expecting a floating point value between 0 and 10 mm

The value should be a floating point number between 0 and 10

701 The parameter Max Angle is invalid expecting a value between 0 and 90

The value should be an integer number between 0 and 90

702 The parameter Number of Iterations is invalid expecting a value between 1 and 1000

The value should be an integer number between 1 and 1000

Page 20: API Developer Documentation - Materialise...API Developer Documentation 1 cloud.materialise.com – 3DPrintCloud@materialise.com INTRODUCTION TO 3DPRINTCLOUD API The 3DPrintCloud API

19

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

210 SHRINKWRAP REPAIR OPERATION RESULT HTTP GET web-apioperationoperationIdshrinkwrap-repairresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

fileId Guid Repaired file id

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

211 REPAIR OPERATION Description

This operation allows to automatically combine geometrical result with shrinkwrap for a

higher chance of having a watertight model being the best result between a geometrically

repaired part or shrinkwrap repaired part If your application is sensitive to geometrical

changes we advise you using the Geometrical Repair described above

HTTP POST web-apioperationrepair

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique Identifier for reference

callbackUrl String Url called when operation completed

Request JSON

20

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

callbackUrl rdquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status

Code

Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes10- 50

404-Not Found See error codes 52

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

212 REPAIR OPERATION RESULT HTTP GET web-apioperationoperationIdrepairresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

fileId Guid Repaired file id

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

21

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

213 WALL THICKNESS ANALYSIS OPERATION Description

This operation allows to analyze model for finding areas which are too thin for printing

Result of the analysis is a model painted with green if all is Ok If there are too thin areas on

the model surface it will be painted with red If there are areas which are suspected to be

too thin it will be painted with yellow

HTTP POST web-apioperationwall-thickness-analysis

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File for analysis unique

identifier

minimalWallThicknessMm Float Minimal acceptable wall

thickness Optional Default

value = 08

accuracyWallThickness Number Number will define the

resolution (and speed)

Optional Default value = 2

Acceptable values 2 4 6 8

10

A higher number will be more

accurate but slower in

processing

callbackUrl String Url called when operation

completed

Request JSON Format

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

minimalWallThicknessMm 12

accuracyWallThickness 2

callbackUrl httpsmysitecomoperation683561callback

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

22

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

200 ndash Success

operationId Guid Operation unique Identifier for

reference

400-Failure See error codes10- 50 300 301

404-Not Found See error codes 52

Response JSON Format

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

214 WALL THICKNESS ANALYSIS RESULT HTTP GET web-apioperationoperationIdwall-thickness-analysisresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

fileId Guid Analysed file id

hasThinWalls Boolean Indicate that model contains too

thin walls

hasPossibleThinWalls Boolean Indicate that model contains too

walls which are suspected to be

too thin

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

hasThinWalls false

hasPossibleThinWalls true

23

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

215 SCALING OPERATION Description

This operation allows to uniformly scale an stl model to a specified size on one of the axis

HTTP POST web-apioperationscale

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique identifier

axis String Name of axis you want to scale (X Y Z)

scaleToSizeMm Float Millimeters value of the desired dimension

on the specified axis Other axes will be

scaled proportionally Range 001mm ndash

10000mm

callbackUrl String Url called when operation completed

Request JSON

fileId ldquod241244f-9d68-4e3b-9fa0-115b135019bfrdquo

axis ldquoXrdquo

scaleToSizeMm 150

callbackUrl ldquohttpsmysitecomoperation683561callbackrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes 10- 50 400 401

404-Not Found See error codes 52

Response JSON

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

216 SCALING RESULT HTTP GET web-apioperationoperationIdscaleresult

Request format

24

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

fileId Guid Scaled file id

404-Not Found See error codes 71

400-Failure See error codes 10- 73 74

Response JSON

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

21 REDUCE TRIANGLES OPERATION Description

Use this operation to reduce triangles in an STL 3d model When any of the arguments is not

supplied (null or empty string) it automatically defaults to a predefined value (see table

below)

HTTP POST web-apioperationreduce-triangles

Request encoding type applicationjson

Request format

Field Type Description

fileId Guid File unique identifier

accuracyMm Number Floating point value between 0 and 10 When not supplied (null) defaults to 0005

maxAngle Number Integer number between 0 and 90 When not supplied (null) defaults to 5

numberOfIterations Number Integer number between 1 and 1000 When not supplied (null) defaults to 5

callbackUrl String Url called when operation completed

Request JSON

fileId ldquod241244f-9d68-4e3b-9fa0-115b135019bfrdquo

accuracyMm 0005

25

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

maxAngle 5

numberOfIterations 5

callbackUrl ldquohttpsmysitecomoperation683561callbackrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes 10 50 700 701 702

404-Not Found See error codes 52

Response JSON

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

22 REDUCE TRIANGLES RESULT HTTP GET web-apioperationoperationIdreduce-trianglesresult

Request format

Url parameters

Url part name Type Description

operationId Guid Operation identifier

221 Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

fileId Guid Model with reduced triangles

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

23 GENERATE THUMBNAIL OPERATION Description

This operation allows to generate preview thumbnail for a model

HTTP POST web-apioperationthumbnail

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique identifier

26

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

width Number Thumbnail width in pixels

height Number Thumbnail height in pixels

cameraAngleX Number Camera angle relative to the X axis

cameraAngleY Number Camera angle relative to the Y axis

cameraAngleZ Number Camera angle relative to the Z axis

callbackUrl String Url called when operation completed

Request JSON

fileId ldquod241244f-9d68-4e3b-9fa0-115b135019bfrdquo

width 100

height 100

cameraAngleX -70

cameraAngleY 0

cameraAngleZ 30

callbackUrl ldquohttpsmysitecomoperation683561callbackrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes 10 50 500 501

404-Not Found See error codes 52

Response JSON

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

24 THUMBNAIL RESULT HTTP GET web-apioperationoperationIdthumbnailresult

Request format

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

27

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

200 ndash Success

fileId Guid Model thumbnail file id

404-Not Found See error codes 71

400-Failure See error codes 10- 73 74

Response JSON

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

28

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

3 ERROR CODES

31 GENERAL ERRORS Code Message Meaning

10 Server error

11 Temporary error Please retry later

or contact us email if error

persists

12 Access denied

13 Invalid request format One or more of the parameters supplied

for the requested method are invalid

(Example string provided instead of int

etc) The parameters with the wrong value

will be provided in the message in the

format The value supplied for parameter

0 is invalid

32 FILE API ERRORS Code Message Meaning

50 Currently only Stl files are

supported

51 File is too big File was not saved

52 File was not found or you are not

the owner of the file File id file id

53 File Content is empty

54 Chunk is too big

55 Chunked upload commit error

56 Chunk is empty

57 File with id id already exists If you try to upload a chunk or commit a chunked upload using a file id of an existing file (of either a regular file upload or a committed chunked upload) yoursquoll receive this error to prevent from corrupting an existing file

33 GENERAL OPERATIONS RELATED ERRORS

Code Message Meaning

70 Operation request failed In case there is no concrete error API raises

this error

29

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

34 CONVERSION OPERATIONS SPECIFIC ERRORS Code Message Meaning

200 Unsupported Measurement units

35 WALL THICKNESS ANALYSIS OPERATION SPECIFIC ERRORS Code Message Meaning

300 Wrong minimal wall thickness Value should be between 01 and 20 (mm)

301 Wrong accuracy wall thickness

value

Value should be only one of predefined

value values (see Wall Thickness Analysis

Operation)

302 The model is too big Please scale it down

One of the model dimensions is too big Scale it down Dimension size should not exceed 500 mm

36 SCALING OPERATION SPECIFIC ERRORS Code Message Meaning

400 Scale value is not in the appropriate range

Value should be in range 001 ndash 10000

401 Axis is incorrect Value should be one of the predefined list (X Y Z)

37 GENERATE THUMBNAIL OPERATION SPECIFIC ERRORS Code Message Meaning

500 Wrong thumbnail size The width and height should be not less than 10 px but not more than 10000 px

501 Wrong camera angle Value should be in range from -180 to 180 degree

71 Operation was not found or you are

not the owner of the operation

Operation id id

72 A timeout occurred while

processing your file Your file may

be too big or complex

73 Operation with 0 has not finished

yet

74 Operation with Id 0 failed No

results available Use operation

status Api to get detailed error

30

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

38 SHRINKWRAP OPERATION SPECIFIC ERRORS Code Message Meaning

600 Accuracy value is not in appropriate range

Value should in range 100 ndash 500

39 REDUCE TRIANGLES OPERATION SPECIFIC ERRORS Code Message Meaning

700 The parameter Accuracy (mm) is invalid expecting a floating point value between 0 and 10 mm

The value should be a floating point number between 0 and 10

701 The parameter Max Angle is invalid expecting a value between 0 and 90

The value should be an integer number between 0 and 90

702 The parameter Number of Iterations is invalid expecting a value between 1 and 1000

The value should be an integer number between 1 and 1000

Page 21: API Developer Documentation - Materialise...API Developer Documentation 1 cloud.materialise.com – 3DPrintCloud@materialise.com INTRODUCTION TO 3DPRINTCLOUD API The 3DPrintCloud API

20

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

callbackUrl rdquohttpfoocomhandle-operationrdquo

Response format

Response encoding type applicationjson

Http Status

Code

Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes10- 50

404-Not Found See error codes 52

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

212 REPAIR OPERATION RESULT HTTP GET web-apioperationoperationIdrepairresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

fileId Guid Repaired file id

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

21

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

213 WALL THICKNESS ANALYSIS OPERATION Description

This operation allows to analyze model for finding areas which are too thin for printing

Result of the analysis is a model painted with green if all is Ok If there are too thin areas on

the model surface it will be painted with red If there are areas which are suspected to be

too thin it will be painted with yellow

HTTP POST web-apioperationwall-thickness-analysis

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File for analysis unique

identifier

minimalWallThicknessMm Float Minimal acceptable wall

thickness Optional Default

value = 08

accuracyWallThickness Number Number will define the

resolution (and speed)

Optional Default value = 2

Acceptable values 2 4 6 8

10

A higher number will be more

accurate but slower in

processing

callbackUrl String Url called when operation

completed

Request JSON Format

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

minimalWallThicknessMm 12

accuracyWallThickness 2

callbackUrl httpsmysitecomoperation683561callback

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

22

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

200 ndash Success

operationId Guid Operation unique Identifier for

reference

400-Failure See error codes10- 50 300 301

404-Not Found See error codes 52

Response JSON Format

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

214 WALL THICKNESS ANALYSIS RESULT HTTP GET web-apioperationoperationIdwall-thickness-analysisresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

fileId Guid Analysed file id

hasThinWalls Boolean Indicate that model contains too

thin walls

hasPossibleThinWalls Boolean Indicate that model contains too

walls which are suspected to be

too thin

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

hasThinWalls false

hasPossibleThinWalls true

23

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

215 SCALING OPERATION Description

This operation allows to uniformly scale an stl model to a specified size on one of the axis

HTTP POST web-apioperationscale

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique identifier

axis String Name of axis you want to scale (X Y Z)

scaleToSizeMm Float Millimeters value of the desired dimension

on the specified axis Other axes will be

scaled proportionally Range 001mm ndash

10000mm

callbackUrl String Url called when operation completed

Request JSON

fileId ldquod241244f-9d68-4e3b-9fa0-115b135019bfrdquo

axis ldquoXrdquo

scaleToSizeMm 150

callbackUrl ldquohttpsmysitecomoperation683561callbackrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes 10- 50 400 401

404-Not Found See error codes 52

Response JSON

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

216 SCALING RESULT HTTP GET web-apioperationoperationIdscaleresult

Request format

24

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

fileId Guid Scaled file id

404-Not Found See error codes 71

400-Failure See error codes 10- 73 74

Response JSON

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

21 REDUCE TRIANGLES OPERATION Description

Use this operation to reduce triangles in an STL 3d model When any of the arguments is not

supplied (null or empty string) it automatically defaults to a predefined value (see table

below)

HTTP POST web-apioperationreduce-triangles

Request encoding type applicationjson

Request format

Field Type Description

fileId Guid File unique identifier

accuracyMm Number Floating point value between 0 and 10 When not supplied (null) defaults to 0005

maxAngle Number Integer number between 0 and 90 When not supplied (null) defaults to 5

numberOfIterations Number Integer number between 1 and 1000 When not supplied (null) defaults to 5

callbackUrl String Url called when operation completed

Request JSON

fileId ldquod241244f-9d68-4e3b-9fa0-115b135019bfrdquo

accuracyMm 0005

25

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

maxAngle 5

numberOfIterations 5

callbackUrl ldquohttpsmysitecomoperation683561callbackrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes 10 50 700 701 702

404-Not Found See error codes 52

Response JSON

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

22 REDUCE TRIANGLES RESULT HTTP GET web-apioperationoperationIdreduce-trianglesresult

Request format

Url parameters

Url part name Type Description

operationId Guid Operation identifier

221 Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

fileId Guid Model with reduced triangles

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

23 GENERATE THUMBNAIL OPERATION Description

This operation allows to generate preview thumbnail for a model

HTTP POST web-apioperationthumbnail

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique identifier

26

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

width Number Thumbnail width in pixels

height Number Thumbnail height in pixels

cameraAngleX Number Camera angle relative to the X axis

cameraAngleY Number Camera angle relative to the Y axis

cameraAngleZ Number Camera angle relative to the Z axis

callbackUrl String Url called when operation completed

Request JSON

fileId ldquod241244f-9d68-4e3b-9fa0-115b135019bfrdquo

width 100

height 100

cameraAngleX -70

cameraAngleY 0

cameraAngleZ 30

callbackUrl ldquohttpsmysitecomoperation683561callbackrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes 10 50 500 501

404-Not Found See error codes 52

Response JSON

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

24 THUMBNAIL RESULT HTTP GET web-apioperationoperationIdthumbnailresult

Request format

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

27

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

200 ndash Success

fileId Guid Model thumbnail file id

404-Not Found See error codes 71

400-Failure See error codes 10- 73 74

Response JSON

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

28

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

3 ERROR CODES

31 GENERAL ERRORS Code Message Meaning

10 Server error

11 Temporary error Please retry later

or contact us email if error

persists

12 Access denied

13 Invalid request format One or more of the parameters supplied

for the requested method are invalid

(Example string provided instead of int

etc) The parameters with the wrong value

will be provided in the message in the

format The value supplied for parameter

0 is invalid

32 FILE API ERRORS Code Message Meaning

50 Currently only Stl files are

supported

51 File is too big File was not saved

52 File was not found or you are not

the owner of the file File id file id

53 File Content is empty

54 Chunk is too big

55 Chunked upload commit error

56 Chunk is empty

57 File with id id already exists If you try to upload a chunk or commit a chunked upload using a file id of an existing file (of either a regular file upload or a committed chunked upload) yoursquoll receive this error to prevent from corrupting an existing file

33 GENERAL OPERATIONS RELATED ERRORS

Code Message Meaning

70 Operation request failed In case there is no concrete error API raises

this error

29

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

34 CONVERSION OPERATIONS SPECIFIC ERRORS Code Message Meaning

200 Unsupported Measurement units

35 WALL THICKNESS ANALYSIS OPERATION SPECIFIC ERRORS Code Message Meaning

300 Wrong minimal wall thickness Value should be between 01 and 20 (mm)

301 Wrong accuracy wall thickness

value

Value should be only one of predefined

value values (see Wall Thickness Analysis

Operation)

302 The model is too big Please scale it down

One of the model dimensions is too big Scale it down Dimension size should not exceed 500 mm

36 SCALING OPERATION SPECIFIC ERRORS Code Message Meaning

400 Scale value is not in the appropriate range

Value should be in range 001 ndash 10000

401 Axis is incorrect Value should be one of the predefined list (X Y Z)

37 GENERATE THUMBNAIL OPERATION SPECIFIC ERRORS Code Message Meaning

500 Wrong thumbnail size The width and height should be not less than 10 px but not more than 10000 px

501 Wrong camera angle Value should be in range from -180 to 180 degree

71 Operation was not found or you are

not the owner of the operation

Operation id id

72 A timeout occurred while

processing your file Your file may

be too big or complex

73 Operation with 0 has not finished

yet

74 Operation with Id 0 failed No

results available Use operation

status Api to get detailed error

30

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

38 SHRINKWRAP OPERATION SPECIFIC ERRORS Code Message Meaning

600 Accuracy value is not in appropriate range

Value should in range 100 ndash 500

39 REDUCE TRIANGLES OPERATION SPECIFIC ERRORS Code Message Meaning

700 The parameter Accuracy (mm) is invalid expecting a floating point value between 0 and 10 mm

The value should be a floating point number between 0 and 10

701 The parameter Max Angle is invalid expecting a value between 0 and 90

The value should be an integer number between 0 and 90

702 The parameter Number of Iterations is invalid expecting a value between 1 and 1000

The value should be an integer number between 1 and 1000

Page 22: API Developer Documentation - Materialise...API Developer Documentation 1 cloud.materialise.com – 3DPrintCloud@materialise.com INTRODUCTION TO 3DPRINTCLOUD API The 3DPrintCloud API

21

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

213 WALL THICKNESS ANALYSIS OPERATION Description

This operation allows to analyze model for finding areas which are too thin for printing

Result of the analysis is a model painted with green if all is Ok If there are too thin areas on

the model surface it will be painted with red If there are areas which are suspected to be

too thin it will be painted with yellow

HTTP POST web-apioperationwall-thickness-analysis

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File for analysis unique

identifier

minimalWallThicknessMm Float Minimal acceptable wall

thickness Optional Default

value = 08

accuracyWallThickness Number Number will define the

resolution (and speed)

Optional Default value = 2

Acceptable values 2 4 6 8

10

A higher number will be more

accurate but slower in

processing

callbackUrl String Url called when operation

completed

Request JSON Format

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

minimalWallThicknessMm 12

accuracyWallThickness 2

callbackUrl httpsmysitecomoperation683561callback

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

22

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

200 ndash Success

operationId Guid Operation unique Identifier for

reference

400-Failure See error codes10- 50 300 301

404-Not Found See error codes 52

Response JSON Format

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

214 WALL THICKNESS ANALYSIS RESULT HTTP GET web-apioperationoperationIdwall-thickness-analysisresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

fileId Guid Analysed file id

hasThinWalls Boolean Indicate that model contains too

thin walls

hasPossibleThinWalls Boolean Indicate that model contains too

walls which are suspected to be

too thin

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

hasThinWalls false

hasPossibleThinWalls true

23

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

215 SCALING OPERATION Description

This operation allows to uniformly scale an stl model to a specified size on one of the axis

HTTP POST web-apioperationscale

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique identifier

axis String Name of axis you want to scale (X Y Z)

scaleToSizeMm Float Millimeters value of the desired dimension

on the specified axis Other axes will be

scaled proportionally Range 001mm ndash

10000mm

callbackUrl String Url called when operation completed

Request JSON

fileId ldquod241244f-9d68-4e3b-9fa0-115b135019bfrdquo

axis ldquoXrdquo

scaleToSizeMm 150

callbackUrl ldquohttpsmysitecomoperation683561callbackrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes 10- 50 400 401

404-Not Found See error codes 52

Response JSON

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

216 SCALING RESULT HTTP GET web-apioperationoperationIdscaleresult

Request format

24

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

fileId Guid Scaled file id

404-Not Found See error codes 71

400-Failure See error codes 10- 73 74

Response JSON

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

21 REDUCE TRIANGLES OPERATION Description

Use this operation to reduce triangles in an STL 3d model When any of the arguments is not

supplied (null or empty string) it automatically defaults to a predefined value (see table

below)

HTTP POST web-apioperationreduce-triangles

Request encoding type applicationjson

Request format

Field Type Description

fileId Guid File unique identifier

accuracyMm Number Floating point value between 0 and 10 When not supplied (null) defaults to 0005

maxAngle Number Integer number between 0 and 90 When not supplied (null) defaults to 5

numberOfIterations Number Integer number between 1 and 1000 When not supplied (null) defaults to 5

callbackUrl String Url called when operation completed

Request JSON

fileId ldquod241244f-9d68-4e3b-9fa0-115b135019bfrdquo

accuracyMm 0005

25

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

maxAngle 5

numberOfIterations 5

callbackUrl ldquohttpsmysitecomoperation683561callbackrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes 10 50 700 701 702

404-Not Found See error codes 52

Response JSON

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

22 REDUCE TRIANGLES RESULT HTTP GET web-apioperationoperationIdreduce-trianglesresult

Request format

Url parameters

Url part name Type Description

operationId Guid Operation identifier

221 Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

fileId Guid Model with reduced triangles

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

23 GENERATE THUMBNAIL OPERATION Description

This operation allows to generate preview thumbnail for a model

HTTP POST web-apioperationthumbnail

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique identifier

26

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

width Number Thumbnail width in pixels

height Number Thumbnail height in pixels

cameraAngleX Number Camera angle relative to the X axis

cameraAngleY Number Camera angle relative to the Y axis

cameraAngleZ Number Camera angle relative to the Z axis

callbackUrl String Url called when operation completed

Request JSON

fileId ldquod241244f-9d68-4e3b-9fa0-115b135019bfrdquo

width 100

height 100

cameraAngleX -70

cameraAngleY 0

cameraAngleZ 30

callbackUrl ldquohttpsmysitecomoperation683561callbackrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes 10 50 500 501

404-Not Found See error codes 52

Response JSON

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

24 THUMBNAIL RESULT HTTP GET web-apioperationoperationIdthumbnailresult

Request format

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

27

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

200 ndash Success

fileId Guid Model thumbnail file id

404-Not Found See error codes 71

400-Failure See error codes 10- 73 74

Response JSON

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

28

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

3 ERROR CODES

31 GENERAL ERRORS Code Message Meaning

10 Server error

11 Temporary error Please retry later

or contact us email if error

persists

12 Access denied

13 Invalid request format One or more of the parameters supplied

for the requested method are invalid

(Example string provided instead of int

etc) The parameters with the wrong value

will be provided in the message in the

format The value supplied for parameter

0 is invalid

32 FILE API ERRORS Code Message Meaning

50 Currently only Stl files are

supported

51 File is too big File was not saved

52 File was not found or you are not

the owner of the file File id file id

53 File Content is empty

54 Chunk is too big

55 Chunked upload commit error

56 Chunk is empty

57 File with id id already exists If you try to upload a chunk or commit a chunked upload using a file id of an existing file (of either a regular file upload or a committed chunked upload) yoursquoll receive this error to prevent from corrupting an existing file

33 GENERAL OPERATIONS RELATED ERRORS

Code Message Meaning

70 Operation request failed In case there is no concrete error API raises

this error

29

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

34 CONVERSION OPERATIONS SPECIFIC ERRORS Code Message Meaning

200 Unsupported Measurement units

35 WALL THICKNESS ANALYSIS OPERATION SPECIFIC ERRORS Code Message Meaning

300 Wrong minimal wall thickness Value should be between 01 and 20 (mm)

301 Wrong accuracy wall thickness

value

Value should be only one of predefined

value values (see Wall Thickness Analysis

Operation)

302 The model is too big Please scale it down

One of the model dimensions is too big Scale it down Dimension size should not exceed 500 mm

36 SCALING OPERATION SPECIFIC ERRORS Code Message Meaning

400 Scale value is not in the appropriate range

Value should be in range 001 ndash 10000

401 Axis is incorrect Value should be one of the predefined list (X Y Z)

37 GENERATE THUMBNAIL OPERATION SPECIFIC ERRORS Code Message Meaning

500 Wrong thumbnail size The width and height should be not less than 10 px but not more than 10000 px

501 Wrong camera angle Value should be in range from -180 to 180 degree

71 Operation was not found or you are

not the owner of the operation

Operation id id

72 A timeout occurred while

processing your file Your file may

be too big or complex

73 Operation with 0 has not finished

yet

74 Operation with Id 0 failed No

results available Use operation

status Api to get detailed error

30

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

38 SHRINKWRAP OPERATION SPECIFIC ERRORS Code Message Meaning

600 Accuracy value is not in appropriate range

Value should in range 100 ndash 500

39 REDUCE TRIANGLES OPERATION SPECIFIC ERRORS Code Message Meaning

700 The parameter Accuracy (mm) is invalid expecting a floating point value between 0 and 10 mm

The value should be a floating point number between 0 and 10

701 The parameter Max Angle is invalid expecting a value between 0 and 90

The value should be an integer number between 0 and 90

702 The parameter Number of Iterations is invalid expecting a value between 1 and 1000

The value should be an integer number between 1 and 1000

Page 23: API Developer Documentation - Materialise...API Developer Documentation 1 cloud.materialise.com – 3DPrintCloud@materialise.com INTRODUCTION TO 3DPRINTCLOUD API The 3DPrintCloud API

22

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

200 ndash Success

operationId Guid Operation unique Identifier for

reference

400-Failure See error codes10- 50 300 301

404-Not Found See error codes 52

Response JSON Format

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

214 WALL THICKNESS ANALYSIS RESULT HTTP GET web-apioperationoperationIdwall-thickness-analysisresult

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for

reference

fileId Guid Analysed file id

hasThinWalls Boolean Indicate that model contains too

thin walls

hasPossibleThinWalls Boolean Indicate that model contains too

walls which are suspected to be

too thin

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

Response JSON Format

operationId2b491a9b-abe1-457f-a7ec-13c42f00528f

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

hasThinWalls false

hasPossibleThinWalls true

23

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

215 SCALING OPERATION Description

This operation allows to uniformly scale an stl model to a specified size on one of the axis

HTTP POST web-apioperationscale

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique identifier

axis String Name of axis you want to scale (X Y Z)

scaleToSizeMm Float Millimeters value of the desired dimension

on the specified axis Other axes will be

scaled proportionally Range 001mm ndash

10000mm

callbackUrl String Url called when operation completed

Request JSON

fileId ldquod241244f-9d68-4e3b-9fa0-115b135019bfrdquo

axis ldquoXrdquo

scaleToSizeMm 150

callbackUrl ldquohttpsmysitecomoperation683561callbackrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes 10- 50 400 401

404-Not Found See error codes 52

Response JSON

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

216 SCALING RESULT HTTP GET web-apioperationoperationIdscaleresult

Request format

24

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

fileId Guid Scaled file id

404-Not Found See error codes 71

400-Failure See error codes 10- 73 74

Response JSON

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

21 REDUCE TRIANGLES OPERATION Description

Use this operation to reduce triangles in an STL 3d model When any of the arguments is not

supplied (null or empty string) it automatically defaults to a predefined value (see table

below)

HTTP POST web-apioperationreduce-triangles

Request encoding type applicationjson

Request format

Field Type Description

fileId Guid File unique identifier

accuracyMm Number Floating point value between 0 and 10 When not supplied (null) defaults to 0005

maxAngle Number Integer number between 0 and 90 When not supplied (null) defaults to 5

numberOfIterations Number Integer number between 1 and 1000 When not supplied (null) defaults to 5

callbackUrl String Url called when operation completed

Request JSON

fileId ldquod241244f-9d68-4e3b-9fa0-115b135019bfrdquo

accuracyMm 0005

25

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

maxAngle 5

numberOfIterations 5

callbackUrl ldquohttpsmysitecomoperation683561callbackrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes 10 50 700 701 702

404-Not Found See error codes 52

Response JSON

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

22 REDUCE TRIANGLES RESULT HTTP GET web-apioperationoperationIdreduce-trianglesresult

Request format

Url parameters

Url part name Type Description

operationId Guid Operation identifier

221 Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

fileId Guid Model with reduced triangles

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

23 GENERATE THUMBNAIL OPERATION Description

This operation allows to generate preview thumbnail for a model

HTTP POST web-apioperationthumbnail

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique identifier

26

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

width Number Thumbnail width in pixels

height Number Thumbnail height in pixels

cameraAngleX Number Camera angle relative to the X axis

cameraAngleY Number Camera angle relative to the Y axis

cameraAngleZ Number Camera angle relative to the Z axis

callbackUrl String Url called when operation completed

Request JSON

fileId ldquod241244f-9d68-4e3b-9fa0-115b135019bfrdquo

width 100

height 100

cameraAngleX -70

cameraAngleY 0

cameraAngleZ 30

callbackUrl ldquohttpsmysitecomoperation683561callbackrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes 10 50 500 501

404-Not Found See error codes 52

Response JSON

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

24 THUMBNAIL RESULT HTTP GET web-apioperationoperationIdthumbnailresult

Request format

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

27

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

200 ndash Success

fileId Guid Model thumbnail file id

404-Not Found See error codes 71

400-Failure See error codes 10- 73 74

Response JSON

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

28

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

3 ERROR CODES

31 GENERAL ERRORS Code Message Meaning

10 Server error

11 Temporary error Please retry later

or contact us email if error

persists

12 Access denied

13 Invalid request format One or more of the parameters supplied

for the requested method are invalid

(Example string provided instead of int

etc) The parameters with the wrong value

will be provided in the message in the

format The value supplied for parameter

0 is invalid

32 FILE API ERRORS Code Message Meaning

50 Currently only Stl files are

supported

51 File is too big File was not saved

52 File was not found or you are not

the owner of the file File id file id

53 File Content is empty

54 Chunk is too big

55 Chunked upload commit error

56 Chunk is empty

57 File with id id already exists If you try to upload a chunk or commit a chunked upload using a file id of an existing file (of either a regular file upload or a committed chunked upload) yoursquoll receive this error to prevent from corrupting an existing file

33 GENERAL OPERATIONS RELATED ERRORS

Code Message Meaning

70 Operation request failed In case there is no concrete error API raises

this error

29

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

34 CONVERSION OPERATIONS SPECIFIC ERRORS Code Message Meaning

200 Unsupported Measurement units

35 WALL THICKNESS ANALYSIS OPERATION SPECIFIC ERRORS Code Message Meaning

300 Wrong minimal wall thickness Value should be between 01 and 20 (mm)

301 Wrong accuracy wall thickness

value

Value should be only one of predefined

value values (see Wall Thickness Analysis

Operation)

302 The model is too big Please scale it down

One of the model dimensions is too big Scale it down Dimension size should not exceed 500 mm

36 SCALING OPERATION SPECIFIC ERRORS Code Message Meaning

400 Scale value is not in the appropriate range

Value should be in range 001 ndash 10000

401 Axis is incorrect Value should be one of the predefined list (X Y Z)

37 GENERATE THUMBNAIL OPERATION SPECIFIC ERRORS Code Message Meaning

500 Wrong thumbnail size The width and height should be not less than 10 px but not more than 10000 px

501 Wrong camera angle Value should be in range from -180 to 180 degree

71 Operation was not found or you are

not the owner of the operation

Operation id id

72 A timeout occurred while

processing your file Your file may

be too big or complex

73 Operation with 0 has not finished

yet

74 Operation with Id 0 failed No

results available Use operation

status Api to get detailed error

30

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

38 SHRINKWRAP OPERATION SPECIFIC ERRORS Code Message Meaning

600 Accuracy value is not in appropriate range

Value should in range 100 ndash 500

39 REDUCE TRIANGLES OPERATION SPECIFIC ERRORS Code Message Meaning

700 The parameter Accuracy (mm) is invalid expecting a floating point value between 0 and 10 mm

The value should be a floating point number between 0 and 10

701 The parameter Max Angle is invalid expecting a value between 0 and 90

The value should be an integer number between 0 and 90

702 The parameter Number of Iterations is invalid expecting a value between 1 and 1000

The value should be an integer number between 1 and 1000

Page 24: API Developer Documentation - Materialise...API Developer Documentation 1 cloud.materialise.com – 3DPrintCloud@materialise.com INTRODUCTION TO 3DPRINTCLOUD API The 3DPrintCloud API

23

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

215 SCALING OPERATION Description

This operation allows to uniformly scale an stl model to a specified size on one of the axis

HTTP POST web-apioperationscale

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique identifier

axis String Name of axis you want to scale (X Y Z)

scaleToSizeMm Float Millimeters value of the desired dimension

on the specified axis Other axes will be

scaled proportionally Range 001mm ndash

10000mm

callbackUrl String Url called when operation completed

Request JSON

fileId ldquod241244f-9d68-4e3b-9fa0-115b135019bfrdquo

axis ldquoXrdquo

scaleToSizeMm 150

callbackUrl ldquohttpsmysitecomoperation683561callbackrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes 10- 50 400 401

404-Not Found See error codes 52

Response JSON

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

216 SCALING RESULT HTTP GET web-apioperationoperationIdscaleresult

Request format

24

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

fileId Guid Scaled file id

404-Not Found See error codes 71

400-Failure See error codes 10- 73 74

Response JSON

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

21 REDUCE TRIANGLES OPERATION Description

Use this operation to reduce triangles in an STL 3d model When any of the arguments is not

supplied (null or empty string) it automatically defaults to a predefined value (see table

below)

HTTP POST web-apioperationreduce-triangles

Request encoding type applicationjson

Request format

Field Type Description

fileId Guid File unique identifier

accuracyMm Number Floating point value between 0 and 10 When not supplied (null) defaults to 0005

maxAngle Number Integer number between 0 and 90 When not supplied (null) defaults to 5

numberOfIterations Number Integer number between 1 and 1000 When not supplied (null) defaults to 5

callbackUrl String Url called when operation completed

Request JSON

fileId ldquod241244f-9d68-4e3b-9fa0-115b135019bfrdquo

accuracyMm 0005

25

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

maxAngle 5

numberOfIterations 5

callbackUrl ldquohttpsmysitecomoperation683561callbackrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes 10 50 700 701 702

404-Not Found See error codes 52

Response JSON

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

22 REDUCE TRIANGLES RESULT HTTP GET web-apioperationoperationIdreduce-trianglesresult

Request format

Url parameters

Url part name Type Description

operationId Guid Operation identifier

221 Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

fileId Guid Model with reduced triangles

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

23 GENERATE THUMBNAIL OPERATION Description

This operation allows to generate preview thumbnail for a model

HTTP POST web-apioperationthumbnail

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique identifier

26

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

width Number Thumbnail width in pixels

height Number Thumbnail height in pixels

cameraAngleX Number Camera angle relative to the X axis

cameraAngleY Number Camera angle relative to the Y axis

cameraAngleZ Number Camera angle relative to the Z axis

callbackUrl String Url called when operation completed

Request JSON

fileId ldquod241244f-9d68-4e3b-9fa0-115b135019bfrdquo

width 100

height 100

cameraAngleX -70

cameraAngleY 0

cameraAngleZ 30

callbackUrl ldquohttpsmysitecomoperation683561callbackrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes 10 50 500 501

404-Not Found See error codes 52

Response JSON

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

24 THUMBNAIL RESULT HTTP GET web-apioperationoperationIdthumbnailresult

Request format

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

27

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

200 ndash Success

fileId Guid Model thumbnail file id

404-Not Found See error codes 71

400-Failure See error codes 10- 73 74

Response JSON

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

28

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

3 ERROR CODES

31 GENERAL ERRORS Code Message Meaning

10 Server error

11 Temporary error Please retry later

or contact us email if error

persists

12 Access denied

13 Invalid request format One or more of the parameters supplied

for the requested method are invalid

(Example string provided instead of int

etc) The parameters with the wrong value

will be provided in the message in the

format The value supplied for parameter

0 is invalid

32 FILE API ERRORS Code Message Meaning

50 Currently only Stl files are

supported

51 File is too big File was not saved

52 File was not found or you are not

the owner of the file File id file id

53 File Content is empty

54 Chunk is too big

55 Chunked upload commit error

56 Chunk is empty

57 File with id id already exists If you try to upload a chunk or commit a chunked upload using a file id of an existing file (of either a regular file upload or a committed chunked upload) yoursquoll receive this error to prevent from corrupting an existing file

33 GENERAL OPERATIONS RELATED ERRORS

Code Message Meaning

70 Operation request failed In case there is no concrete error API raises

this error

29

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

34 CONVERSION OPERATIONS SPECIFIC ERRORS Code Message Meaning

200 Unsupported Measurement units

35 WALL THICKNESS ANALYSIS OPERATION SPECIFIC ERRORS Code Message Meaning

300 Wrong minimal wall thickness Value should be between 01 and 20 (mm)

301 Wrong accuracy wall thickness

value

Value should be only one of predefined

value values (see Wall Thickness Analysis

Operation)

302 The model is too big Please scale it down

One of the model dimensions is too big Scale it down Dimension size should not exceed 500 mm

36 SCALING OPERATION SPECIFIC ERRORS Code Message Meaning

400 Scale value is not in the appropriate range

Value should be in range 001 ndash 10000

401 Axis is incorrect Value should be one of the predefined list (X Y Z)

37 GENERATE THUMBNAIL OPERATION SPECIFIC ERRORS Code Message Meaning

500 Wrong thumbnail size The width and height should be not less than 10 px but not more than 10000 px

501 Wrong camera angle Value should be in range from -180 to 180 degree

71 Operation was not found or you are

not the owner of the operation

Operation id id

72 A timeout occurred while

processing your file Your file may

be too big or complex

73 Operation with 0 has not finished

yet

74 Operation with Id 0 failed No

results available Use operation

status Api to get detailed error

30

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

38 SHRINKWRAP OPERATION SPECIFIC ERRORS Code Message Meaning

600 Accuracy value is not in appropriate range

Value should in range 100 ndash 500

39 REDUCE TRIANGLES OPERATION SPECIFIC ERRORS Code Message Meaning

700 The parameter Accuracy (mm) is invalid expecting a floating point value between 0 and 10 mm

The value should be a floating point number between 0 and 10

701 The parameter Max Angle is invalid expecting a value between 0 and 90

The value should be an integer number between 0 and 90

702 The parameter Number of Iterations is invalid expecting a value between 1 and 1000

The value should be an integer number between 1 and 1000

Page 25: API Developer Documentation - Materialise...API Developer Documentation 1 cloud.materialise.com – 3DPrintCloud@materialise.com INTRODUCTION TO 3DPRINTCLOUD API The 3DPrintCloud API

24

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

fileId Guid Scaled file id

404-Not Found See error codes 71

400-Failure See error codes 10- 73 74

Response JSON

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

21 REDUCE TRIANGLES OPERATION Description

Use this operation to reduce triangles in an STL 3d model When any of the arguments is not

supplied (null or empty string) it automatically defaults to a predefined value (see table

below)

HTTP POST web-apioperationreduce-triangles

Request encoding type applicationjson

Request format

Field Type Description

fileId Guid File unique identifier

accuracyMm Number Floating point value between 0 and 10 When not supplied (null) defaults to 0005

maxAngle Number Integer number between 0 and 90 When not supplied (null) defaults to 5

numberOfIterations Number Integer number between 1 and 1000 When not supplied (null) defaults to 5

callbackUrl String Url called when operation completed

Request JSON

fileId ldquod241244f-9d68-4e3b-9fa0-115b135019bfrdquo

accuracyMm 0005

25

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

maxAngle 5

numberOfIterations 5

callbackUrl ldquohttpsmysitecomoperation683561callbackrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes 10 50 700 701 702

404-Not Found See error codes 52

Response JSON

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

22 REDUCE TRIANGLES RESULT HTTP GET web-apioperationoperationIdreduce-trianglesresult

Request format

Url parameters

Url part name Type Description

operationId Guid Operation identifier

221 Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

fileId Guid Model with reduced triangles

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

23 GENERATE THUMBNAIL OPERATION Description

This operation allows to generate preview thumbnail for a model

HTTP POST web-apioperationthumbnail

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique identifier

26

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

width Number Thumbnail width in pixels

height Number Thumbnail height in pixels

cameraAngleX Number Camera angle relative to the X axis

cameraAngleY Number Camera angle relative to the Y axis

cameraAngleZ Number Camera angle relative to the Z axis

callbackUrl String Url called when operation completed

Request JSON

fileId ldquod241244f-9d68-4e3b-9fa0-115b135019bfrdquo

width 100

height 100

cameraAngleX -70

cameraAngleY 0

cameraAngleZ 30

callbackUrl ldquohttpsmysitecomoperation683561callbackrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes 10 50 500 501

404-Not Found See error codes 52

Response JSON

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

24 THUMBNAIL RESULT HTTP GET web-apioperationoperationIdthumbnailresult

Request format

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

27

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

200 ndash Success

fileId Guid Model thumbnail file id

404-Not Found See error codes 71

400-Failure See error codes 10- 73 74

Response JSON

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

28

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

3 ERROR CODES

31 GENERAL ERRORS Code Message Meaning

10 Server error

11 Temporary error Please retry later

or contact us email if error

persists

12 Access denied

13 Invalid request format One or more of the parameters supplied

for the requested method are invalid

(Example string provided instead of int

etc) The parameters with the wrong value

will be provided in the message in the

format The value supplied for parameter

0 is invalid

32 FILE API ERRORS Code Message Meaning

50 Currently only Stl files are

supported

51 File is too big File was not saved

52 File was not found or you are not

the owner of the file File id file id

53 File Content is empty

54 Chunk is too big

55 Chunked upload commit error

56 Chunk is empty

57 File with id id already exists If you try to upload a chunk or commit a chunked upload using a file id of an existing file (of either a regular file upload or a committed chunked upload) yoursquoll receive this error to prevent from corrupting an existing file

33 GENERAL OPERATIONS RELATED ERRORS

Code Message Meaning

70 Operation request failed In case there is no concrete error API raises

this error

29

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

34 CONVERSION OPERATIONS SPECIFIC ERRORS Code Message Meaning

200 Unsupported Measurement units

35 WALL THICKNESS ANALYSIS OPERATION SPECIFIC ERRORS Code Message Meaning

300 Wrong minimal wall thickness Value should be between 01 and 20 (mm)

301 Wrong accuracy wall thickness

value

Value should be only one of predefined

value values (see Wall Thickness Analysis

Operation)

302 The model is too big Please scale it down

One of the model dimensions is too big Scale it down Dimension size should not exceed 500 mm

36 SCALING OPERATION SPECIFIC ERRORS Code Message Meaning

400 Scale value is not in the appropriate range

Value should be in range 001 ndash 10000

401 Axis is incorrect Value should be one of the predefined list (X Y Z)

37 GENERATE THUMBNAIL OPERATION SPECIFIC ERRORS Code Message Meaning

500 Wrong thumbnail size The width and height should be not less than 10 px but not more than 10000 px

501 Wrong camera angle Value should be in range from -180 to 180 degree

71 Operation was not found or you are

not the owner of the operation

Operation id id

72 A timeout occurred while

processing your file Your file may

be too big or complex

73 Operation with 0 has not finished

yet

74 Operation with Id 0 failed No

results available Use operation

status Api to get detailed error

30

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

38 SHRINKWRAP OPERATION SPECIFIC ERRORS Code Message Meaning

600 Accuracy value is not in appropriate range

Value should in range 100 ndash 500

39 REDUCE TRIANGLES OPERATION SPECIFIC ERRORS Code Message Meaning

700 The parameter Accuracy (mm) is invalid expecting a floating point value between 0 and 10 mm

The value should be a floating point number between 0 and 10

701 The parameter Max Angle is invalid expecting a value between 0 and 90

The value should be an integer number between 0 and 90

702 The parameter Number of Iterations is invalid expecting a value between 1 and 1000

The value should be an integer number between 1 and 1000

Page 26: API Developer Documentation - Materialise...API Developer Documentation 1 cloud.materialise.com – 3DPrintCloud@materialise.com INTRODUCTION TO 3DPRINTCLOUD API The 3DPrintCloud API

25

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

maxAngle 5

numberOfIterations 5

callbackUrl ldquohttpsmysitecomoperation683561callbackrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes 10 50 700 701 702

404-Not Found See error codes 52

Response JSON

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

22 REDUCE TRIANGLES RESULT HTTP GET web-apioperationoperationIdreduce-trianglesresult

Request format

Url parameters

Url part name Type Description

operationId Guid Operation identifier

221 Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

fileId Guid Model with reduced triangles

404-Not Found See error codes 71

400-Failure See error codes 10 73 74

23 GENERATE THUMBNAIL OPERATION Description

This operation allows to generate preview thumbnail for a model

HTTP POST web-apioperationthumbnail

Request encoding type applicationjson

Request format

Http Status Code Field Type Description

200 ndash Success

fileId Guid File unique identifier

26

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

width Number Thumbnail width in pixels

height Number Thumbnail height in pixels

cameraAngleX Number Camera angle relative to the X axis

cameraAngleY Number Camera angle relative to the Y axis

cameraAngleZ Number Camera angle relative to the Z axis

callbackUrl String Url called when operation completed

Request JSON

fileId ldquod241244f-9d68-4e3b-9fa0-115b135019bfrdquo

width 100

height 100

cameraAngleX -70

cameraAngleY 0

cameraAngleZ 30

callbackUrl ldquohttpsmysitecomoperation683561callbackrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes 10 50 500 501

404-Not Found See error codes 52

Response JSON

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

24 THUMBNAIL RESULT HTTP GET web-apioperationoperationIdthumbnailresult

Request format

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

27

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

200 ndash Success

fileId Guid Model thumbnail file id

404-Not Found See error codes 71

400-Failure See error codes 10- 73 74

Response JSON

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

28

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

3 ERROR CODES

31 GENERAL ERRORS Code Message Meaning

10 Server error

11 Temporary error Please retry later

or contact us email if error

persists

12 Access denied

13 Invalid request format One or more of the parameters supplied

for the requested method are invalid

(Example string provided instead of int

etc) The parameters with the wrong value

will be provided in the message in the

format The value supplied for parameter

0 is invalid

32 FILE API ERRORS Code Message Meaning

50 Currently only Stl files are

supported

51 File is too big File was not saved

52 File was not found or you are not

the owner of the file File id file id

53 File Content is empty

54 Chunk is too big

55 Chunked upload commit error

56 Chunk is empty

57 File with id id already exists If you try to upload a chunk or commit a chunked upload using a file id of an existing file (of either a regular file upload or a committed chunked upload) yoursquoll receive this error to prevent from corrupting an existing file

33 GENERAL OPERATIONS RELATED ERRORS

Code Message Meaning

70 Operation request failed In case there is no concrete error API raises

this error

29

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

34 CONVERSION OPERATIONS SPECIFIC ERRORS Code Message Meaning

200 Unsupported Measurement units

35 WALL THICKNESS ANALYSIS OPERATION SPECIFIC ERRORS Code Message Meaning

300 Wrong minimal wall thickness Value should be between 01 and 20 (mm)

301 Wrong accuracy wall thickness

value

Value should be only one of predefined

value values (see Wall Thickness Analysis

Operation)

302 The model is too big Please scale it down

One of the model dimensions is too big Scale it down Dimension size should not exceed 500 mm

36 SCALING OPERATION SPECIFIC ERRORS Code Message Meaning

400 Scale value is not in the appropriate range

Value should be in range 001 ndash 10000

401 Axis is incorrect Value should be one of the predefined list (X Y Z)

37 GENERATE THUMBNAIL OPERATION SPECIFIC ERRORS Code Message Meaning

500 Wrong thumbnail size The width and height should be not less than 10 px but not more than 10000 px

501 Wrong camera angle Value should be in range from -180 to 180 degree

71 Operation was not found or you are

not the owner of the operation

Operation id id

72 A timeout occurred while

processing your file Your file may

be too big or complex

73 Operation with 0 has not finished

yet

74 Operation with Id 0 failed No

results available Use operation

status Api to get detailed error

30

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

38 SHRINKWRAP OPERATION SPECIFIC ERRORS Code Message Meaning

600 Accuracy value is not in appropriate range

Value should in range 100 ndash 500

39 REDUCE TRIANGLES OPERATION SPECIFIC ERRORS Code Message Meaning

700 The parameter Accuracy (mm) is invalid expecting a floating point value between 0 and 10 mm

The value should be a floating point number between 0 and 10

701 The parameter Max Angle is invalid expecting a value between 0 and 90

The value should be an integer number between 0 and 90

702 The parameter Number of Iterations is invalid expecting a value between 1 and 1000

The value should be an integer number between 1 and 1000

Page 27: API Developer Documentation - Materialise...API Developer Documentation 1 cloud.materialise.com – 3DPrintCloud@materialise.com INTRODUCTION TO 3DPRINTCLOUD API The 3DPrintCloud API

26

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

width Number Thumbnail width in pixels

height Number Thumbnail height in pixels

cameraAngleX Number Camera angle relative to the X axis

cameraAngleY Number Camera angle relative to the Y axis

cameraAngleZ Number Camera angle relative to the Z axis

callbackUrl String Url called when operation completed

Request JSON

fileId ldquod241244f-9d68-4e3b-9fa0-115b135019bfrdquo

width 100

height 100

cameraAngleX -70

cameraAngleY 0

cameraAngleZ 30

callbackUrl ldquohttpsmysitecomoperation683561callbackrdquo

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

200 ndash Success

operationId Guid Operation unique Identifier for reference

400-Failure See error codes 10 50 500 501

404-Not Found See error codes 52

Response JSON

operationId 2b491a9b-abe1-457f-a7ec-13c42f00528f

24 THUMBNAIL RESULT HTTP GET web-apioperationoperationIdthumbnailresult

Request format

Url parameters

Url part name Type Description

operationId Guid Operation identifier

Response format

Response encoding type applicationjson

Http Status Code Field Type Description

27

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

200 ndash Success

fileId Guid Model thumbnail file id

404-Not Found See error codes 71

400-Failure See error codes 10- 73 74

Response JSON

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

28

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

3 ERROR CODES

31 GENERAL ERRORS Code Message Meaning

10 Server error

11 Temporary error Please retry later

or contact us email if error

persists

12 Access denied

13 Invalid request format One or more of the parameters supplied

for the requested method are invalid

(Example string provided instead of int

etc) The parameters with the wrong value

will be provided in the message in the

format The value supplied for parameter

0 is invalid

32 FILE API ERRORS Code Message Meaning

50 Currently only Stl files are

supported

51 File is too big File was not saved

52 File was not found or you are not

the owner of the file File id file id

53 File Content is empty

54 Chunk is too big

55 Chunked upload commit error

56 Chunk is empty

57 File with id id already exists If you try to upload a chunk or commit a chunked upload using a file id of an existing file (of either a regular file upload or a committed chunked upload) yoursquoll receive this error to prevent from corrupting an existing file

33 GENERAL OPERATIONS RELATED ERRORS

Code Message Meaning

70 Operation request failed In case there is no concrete error API raises

this error

29

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

34 CONVERSION OPERATIONS SPECIFIC ERRORS Code Message Meaning

200 Unsupported Measurement units

35 WALL THICKNESS ANALYSIS OPERATION SPECIFIC ERRORS Code Message Meaning

300 Wrong minimal wall thickness Value should be between 01 and 20 (mm)

301 Wrong accuracy wall thickness

value

Value should be only one of predefined

value values (see Wall Thickness Analysis

Operation)

302 The model is too big Please scale it down

One of the model dimensions is too big Scale it down Dimension size should not exceed 500 mm

36 SCALING OPERATION SPECIFIC ERRORS Code Message Meaning

400 Scale value is not in the appropriate range

Value should be in range 001 ndash 10000

401 Axis is incorrect Value should be one of the predefined list (X Y Z)

37 GENERATE THUMBNAIL OPERATION SPECIFIC ERRORS Code Message Meaning

500 Wrong thumbnail size The width and height should be not less than 10 px but not more than 10000 px

501 Wrong camera angle Value should be in range from -180 to 180 degree

71 Operation was not found or you are

not the owner of the operation

Operation id id

72 A timeout occurred while

processing your file Your file may

be too big or complex

73 Operation with 0 has not finished

yet

74 Operation with Id 0 failed No

results available Use operation

status Api to get detailed error

30

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

38 SHRINKWRAP OPERATION SPECIFIC ERRORS Code Message Meaning

600 Accuracy value is not in appropriate range

Value should in range 100 ndash 500

39 REDUCE TRIANGLES OPERATION SPECIFIC ERRORS Code Message Meaning

700 The parameter Accuracy (mm) is invalid expecting a floating point value between 0 and 10 mm

The value should be a floating point number between 0 and 10

701 The parameter Max Angle is invalid expecting a value between 0 and 90

The value should be an integer number between 0 and 90

702 The parameter Number of Iterations is invalid expecting a value between 1 and 1000

The value should be an integer number between 1 and 1000

Page 28: API Developer Documentation - Materialise...API Developer Documentation 1 cloud.materialise.com – 3DPrintCloud@materialise.com INTRODUCTION TO 3DPRINTCLOUD API The 3DPrintCloud API

27

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

200 ndash Success

fileId Guid Model thumbnail file id

404-Not Found See error codes 71

400-Failure See error codes 10- 73 74

Response JSON

fileId d241244f-9d68-4e3b-9fa0-115b135019bf

28

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

3 ERROR CODES

31 GENERAL ERRORS Code Message Meaning

10 Server error

11 Temporary error Please retry later

or contact us email if error

persists

12 Access denied

13 Invalid request format One or more of the parameters supplied

for the requested method are invalid

(Example string provided instead of int

etc) The parameters with the wrong value

will be provided in the message in the

format The value supplied for parameter

0 is invalid

32 FILE API ERRORS Code Message Meaning

50 Currently only Stl files are

supported

51 File is too big File was not saved

52 File was not found or you are not

the owner of the file File id file id

53 File Content is empty

54 Chunk is too big

55 Chunked upload commit error

56 Chunk is empty

57 File with id id already exists If you try to upload a chunk or commit a chunked upload using a file id of an existing file (of either a regular file upload or a committed chunked upload) yoursquoll receive this error to prevent from corrupting an existing file

33 GENERAL OPERATIONS RELATED ERRORS

Code Message Meaning

70 Operation request failed In case there is no concrete error API raises

this error

29

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

34 CONVERSION OPERATIONS SPECIFIC ERRORS Code Message Meaning

200 Unsupported Measurement units

35 WALL THICKNESS ANALYSIS OPERATION SPECIFIC ERRORS Code Message Meaning

300 Wrong minimal wall thickness Value should be between 01 and 20 (mm)

301 Wrong accuracy wall thickness

value

Value should be only one of predefined

value values (see Wall Thickness Analysis

Operation)

302 The model is too big Please scale it down

One of the model dimensions is too big Scale it down Dimension size should not exceed 500 mm

36 SCALING OPERATION SPECIFIC ERRORS Code Message Meaning

400 Scale value is not in the appropriate range

Value should be in range 001 ndash 10000

401 Axis is incorrect Value should be one of the predefined list (X Y Z)

37 GENERATE THUMBNAIL OPERATION SPECIFIC ERRORS Code Message Meaning

500 Wrong thumbnail size The width and height should be not less than 10 px but not more than 10000 px

501 Wrong camera angle Value should be in range from -180 to 180 degree

71 Operation was not found or you are

not the owner of the operation

Operation id id

72 A timeout occurred while

processing your file Your file may

be too big or complex

73 Operation with 0 has not finished

yet

74 Operation with Id 0 failed No

results available Use operation

status Api to get detailed error

30

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

38 SHRINKWRAP OPERATION SPECIFIC ERRORS Code Message Meaning

600 Accuracy value is not in appropriate range

Value should in range 100 ndash 500

39 REDUCE TRIANGLES OPERATION SPECIFIC ERRORS Code Message Meaning

700 The parameter Accuracy (mm) is invalid expecting a floating point value between 0 and 10 mm

The value should be a floating point number between 0 and 10

701 The parameter Max Angle is invalid expecting a value between 0 and 90

The value should be an integer number between 0 and 90

702 The parameter Number of Iterations is invalid expecting a value between 1 and 1000

The value should be an integer number between 1 and 1000

Page 29: API Developer Documentation - Materialise...API Developer Documentation 1 cloud.materialise.com – 3DPrintCloud@materialise.com INTRODUCTION TO 3DPRINTCLOUD API The 3DPrintCloud API

28

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

3 ERROR CODES

31 GENERAL ERRORS Code Message Meaning

10 Server error

11 Temporary error Please retry later

or contact us email if error

persists

12 Access denied

13 Invalid request format One or more of the parameters supplied

for the requested method are invalid

(Example string provided instead of int

etc) The parameters with the wrong value

will be provided in the message in the

format The value supplied for parameter

0 is invalid

32 FILE API ERRORS Code Message Meaning

50 Currently only Stl files are

supported

51 File is too big File was not saved

52 File was not found or you are not

the owner of the file File id file id

53 File Content is empty

54 Chunk is too big

55 Chunked upload commit error

56 Chunk is empty

57 File with id id already exists If you try to upload a chunk or commit a chunked upload using a file id of an existing file (of either a regular file upload or a committed chunked upload) yoursquoll receive this error to prevent from corrupting an existing file

33 GENERAL OPERATIONS RELATED ERRORS

Code Message Meaning

70 Operation request failed In case there is no concrete error API raises

this error

29

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

34 CONVERSION OPERATIONS SPECIFIC ERRORS Code Message Meaning

200 Unsupported Measurement units

35 WALL THICKNESS ANALYSIS OPERATION SPECIFIC ERRORS Code Message Meaning

300 Wrong minimal wall thickness Value should be between 01 and 20 (mm)

301 Wrong accuracy wall thickness

value

Value should be only one of predefined

value values (see Wall Thickness Analysis

Operation)

302 The model is too big Please scale it down

One of the model dimensions is too big Scale it down Dimension size should not exceed 500 mm

36 SCALING OPERATION SPECIFIC ERRORS Code Message Meaning

400 Scale value is not in the appropriate range

Value should be in range 001 ndash 10000

401 Axis is incorrect Value should be one of the predefined list (X Y Z)

37 GENERATE THUMBNAIL OPERATION SPECIFIC ERRORS Code Message Meaning

500 Wrong thumbnail size The width and height should be not less than 10 px but not more than 10000 px

501 Wrong camera angle Value should be in range from -180 to 180 degree

71 Operation was not found or you are

not the owner of the operation

Operation id id

72 A timeout occurred while

processing your file Your file may

be too big or complex

73 Operation with 0 has not finished

yet

74 Operation with Id 0 failed No

results available Use operation

status Api to get detailed error

30

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

38 SHRINKWRAP OPERATION SPECIFIC ERRORS Code Message Meaning

600 Accuracy value is not in appropriate range

Value should in range 100 ndash 500

39 REDUCE TRIANGLES OPERATION SPECIFIC ERRORS Code Message Meaning

700 The parameter Accuracy (mm) is invalid expecting a floating point value between 0 and 10 mm

The value should be a floating point number between 0 and 10

701 The parameter Max Angle is invalid expecting a value between 0 and 90

The value should be an integer number between 0 and 90

702 The parameter Number of Iterations is invalid expecting a value between 1 and 1000

The value should be an integer number between 1 and 1000

Page 30: API Developer Documentation - Materialise...API Developer Documentation 1 cloud.materialise.com – 3DPrintCloud@materialise.com INTRODUCTION TO 3DPRINTCLOUD API The 3DPrintCloud API

29

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

34 CONVERSION OPERATIONS SPECIFIC ERRORS Code Message Meaning

200 Unsupported Measurement units

35 WALL THICKNESS ANALYSIS OPERATION SPECIFIC ERRORS Code Message Meaning

300 Wrong minimal wall thickness Value should be between 01 and 20 (mm)

301 Wrong accuracy wall thickness

value

Value should be only one of predefined

value values (see Wall Thickness Analysis

Operation)

302 The model is too big Please scale it down

One of the model dimensions is too big Scale it down Dimension size should not exceed 500 mm

36 SCALING OPERATION SPECIFIC ERRORS Code Message Meaning

400 Scale value is not in the appropriate range

Value should be in range 001 ndash 10000

401 Axis is incorrect Value should be one of the predefined list (X Y Z)

37 GENERATE THUMBNAIL OPERATION SPECIFIC ERRORS Code Message Meaning

500 Wrong thumbnail size The width and height should be not less than 10 px but not more than 10000 px

501 Wrong camera angle Value should be in range from -180 to 180 degree

71 Operation was not found or you are

not the owner of the operation

Operation id id

72 A timeout occurred while

processing your file Your file may

be too big or complex

73 Operation with 0 has not finished

yet

74 Operation with Id 0 failed No

results available Use operation

status Api to get detailed error

30

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

38 SHRINKWRAP OPERATION SPECIFIC ERRORS Code Message Meaning

600 Accuracy value is not in appropriate range

Value should in range 100 ndash 500

39 REDUCE TRIANGLES OPERATION SPECIFIC ERRORS Code Message Meaning

700 The parameter Accuracy (mm) is invalid expecting a floating point value between 0 and 10 mm

The value should be a floating point number between 0 and 10

701 The parameter Max Angle is invalid expecting a value between 0 and 90

The value should be an integer number between 0 and 90

702 The parameter Number of Iterations is invalid expecting a value between 1 and 1000

The value should be an integer number between 1 and 1000

Page 31: API Developer Documentation - Materialise...API Developer Documentation 1 cloud.materialise.com – 3DPrintCloud@materialise.com INTRODUCTION TO 3DPRINTCLOUD API The 3DPrintCloud API

30

cloudmaterialisecom ndash 3DPrintCloudmaterialisecom

38 SHRINKWRAP OPERATION SPECIFIC ERRORS Code Message Meaning

600 Accuracy value is not in appropriate range

Value should in range 100 ndash 500

39 REDUCE TRIANGLES OPERATION SPECIFIC ERRORS Code Message Meaning

700 The parameter Accuracy (mm) is invalid expecting a floating point value between 0 and 10 mm

The value should be a floating point number between 0 and 10

701 The parameter Max Angle is invalid expecting a value between 0 and 90

The value should be an integer number between 0 and 90

702 The parameter Number of Iterations is invalid expecting a value between 1 and 1000

The value should be an integer number between 1 and 1000