NAV
shell python


Introduction

This page is a documentation of the 3YOURMIND API.

With the 3YOURMIND API you can:

Authorization

To use most parts of the API you need an authorization key. The Key is connected to a 3YOURMIND Pro Portal and not to a specific user. Keep the key secret. You can upload a file without a key and redirect your users to the returning URL.

To obtain an authorization key, please contact us

Authorization Header

To authorize, append the following header to each HTTP request.

Authorization: ApiKey [your API Key here]

Uploads

Uploads is the core resource of the API. Most other recources require an upload before they can be used. Uploads can be done without using an API key. If used without a key, the file will not be uploaded to a 3YOURMIND Pro Portal but instead to the public app.

POST Upload a file

import requests

path = '/home/john/3d/changethis.stl'
myfile = open(path)
showname = 'Johnsshipmodel'
url = 'https://app.3yourmind.com/v1/uploads/'
files = {'file': (showname, myfile, 'application/sla')}
fields = {"origin": "python_test"}

response = requests.post(url,files=files,data=fields)

print(response.text)
curl -X POST -H "Authorization: ApiKey 9f5f00e6-d25b-482f-96b2-7860e9eaeea7" -F "origin=test_curl" -F "file=@changeme.stl" https://app.3yourmind.com/v1/uploads/

The above command returns JSON structured like this:

{
  "uuid":"9cdbf928‐f521‐4839‐88f3‐3f6d34ffe513",
  "success":true,
  "url":"https://app.3yourmind.com/u/9cdbf928‐f511‐4839‐88f3"
}

In case of error:

{
  "success":false,
  "error":"E_INVALID_FILE",
  "errormessage":"Invalid file.",
  "url":"https://app.3yourmind.com/error/file‐invalid"
}

Use this endpoint to upload a 3D file.

HTTP Request

POST https://app.3yourmind.com/v1/uploads

Since you need to attach a file to the request, you must use a Multipart POST.

Request Header Arguments

Accept:application/json

Content‐Type:multipart/form‐data

Fields of the Multipart Form:

Field Content-Type Description
file application/octet­stream The 3D file to be uploaded. Accepted file formats: See our FAQ.
origin text/plain An origin identifier for your application (should be in lowercase and use underscore instead of space e.g. “my_3d_app”).

JSON Response Fields

Field Description
uuid A unique identifier of the file of 32 characters.
success Whether the upload was successful.
url The URL of the uploaded model. You could redirect your user to this URL.
error Error Code in case of success = false. See below.
errormessage A more detailed error message.

Error Codes

Error Code Description
E_EMPTY The file is empty.
E_TOO_LARGE The model exceeds the maximum file size of 64 MB.
E_INVALID_FILE The 3D file is invalid.
E_OTHER Something went wrong.

GET Infos of an Upload

curl -H "Authorization: ApiKey 9f5f00e6-d25b-482f-96b2-7860e9eaeea7" "https://app.3yourmind.com/v1/uploads/b5fd966a-349e-4538-9514-a4183976b793/"
import requests

api_key = "9f5f00e6-d25b-482f-96b2-7860e9eaeea7"
url = "https://app.3yourmind.com/v1/uploads/b5fd966a-349e-4538-9514-a4183976b793/"
header = {"Authorization": "ApiKey " + api_key}

response = requests.get(url, headers=header)

print response.text

The above command returns JSON structured like this:

{
  "status": "finished",
  "scale": 1.0,
  "unit": "mm",
  "name": "turbine",
  "uuid ": "b5fd966a-349e-4538-9514-a4183976b793",
  "is_multicolor": false,
  "share_url": "http://prodemo.3yourmind.com/en/demo/",
  "creation_date": "2016-07-12T10:41:53Z",
  "thumbnail_url": "https://3yourmind.s3.amazonaws.com/uploads/b5fd966a-349e-4538-9514-a4183976b793/thumbnail.png",
  "parameter": {
    "max_scale": 4.302040223189342,
    "volume": 18536.8515625,
    "d": 91.35800170898438,
    "w": 91.35200500488281,
    "area": 19955.99609375,
    "h": 10.280000686645508,
    "faces": 16644,
    "shells": 1,
    "holes": 0
  }
}

HTTP Request

GET https://app.3yourmind.com/v1/uploads/<uuid>

HTTP Response

Fieldname Description
uuid A unique identifier of the file of 32 characters.
scale The currently saved scale of the model
unit The unit of measurements. can be mm or in
creation_date The upload time of the file.
name The title (filename) of the file.
share_url A absolute url to the model. Opening this url will open our viewer.
is_multicolor Indicates if the file contains multiple colors. (texture). Those files can only be printed with multicolor materials.
thumbnail_url An absolute url to a thumbnail (rendering) of the model.
status Can be either analysing, finished or error. Note that the price is not final until the status is finished.
error Error Message if status = “error”.
parameter An object containing the volume, dimensions, area, shells, faces and holes of a file. Is only available if status = finished.

Prices for an Upload

GET Materials with Prices

curl -H "Authorization: ApiKey 9f5f00e6-d25b-482f-96b2-7860e9eaeea7" "https://app.3yourmind.com/v1/material-prices/?uuid=b5fd966a-349e-4538-9514-a4183976b793&country=DE&scale=1.0&currency=EUR"
import requests

api_key = "9f5f00e6-d25b-482f-96b2-7860e9eaeea7"
url = "http://app.3yourmind.com/v1/material-prices/"
fields = {'uuid': 'b5fd966a-349e-4538-9514-a4183976b793', 'country': 'DE', 'scale':1.0, 'currency':'EUR'}
header = {"Authorization": "ApiKey " + api_key}

response = requests.get(url, params=fields, headers=header)

print response.text
curl -H "Authorization: ApiKey 9f5f00e6-d25b-482f-96b2-7860e9eaeea7" "https://app.3yourmind.com/v1/material-prices/?uuid=b5fd966a-349e-4538-9514-a4183976b793&country=DE&scale=1.0&currency=EUR&supplier=materialise"
import requests

api_key = "9f5f00e6-d25b-482f-96b2-7860e9eaeea7"
url = "http://app.3yourmind.com/v1/material-prices/"
fields = {'uuid': 'b5fd966a-349e-4538-9514-a4183976b793', 'country': 'DE', 'scale':1.0, 'currency':'EUR', 'supplier':'materialise'}
header = {"Authorization": "ApiKey " + api_key}

response = requests.get(url, params=fields, headers=header)

print response.text

First command from above returns JSON structured like this:

{
  "results": [
    {
      "finishes": [
        "pa12-pa2200-raw-dyeing",
        "pa12-pa2200-velvet-dyeing",
        "pa12-pa2200-polished",
        "pa12-pa2200-raw",
        "pa12-pa2200-polished-dyeing"
      ],
      "printability": "printable",
      "is_approximated": true,
      "basket_url": "https://prodemo.3yourmind.com/v1/add-to-basket/?supplier=meltwerk&finishing=pa12-pa2200-raw&scale=1.0&uuid=b5fd966a-349e-4538-9514-a4183976b793",
      "amount_stockrecords_text": "Offered by 3 suppliers",
      "slug": "pa12-pa2200",
      "has_stockrecords": true,
      "amount_stockrecords": 3,
      "printable_scale": 0.5190580269339731,
      "suppliers": [
        "meltwerk",
        "materialise"
      ],
      "popularity": 1000,
      "delivery_days_range": "6 - 12 days",
      "delivery_min_days": 6,
      "delivery_max_days": 12,
      "min_price": {
        "excl_tax": "12.90",
        "currency": "EUR",
        "tax": "2.45",
        "is_tax_known": true,
        "incl_tax": "15.35"
      },
      "has_color_finishes": true,
      "suspicious_scale": 0.5153137195536659,
      "max_price": {
        "excl_tax": "12.90",
        "currency": "EUR",
        "tax": "2.45",
        "is_tax_known": true,
        "incl_tax": "15.35"
      }
    }

  ]
}

Use this endpoint to get a complete list materials that the uploaded file can be printed with. It is ensured that at least one supplier can print with the returned materials.

HTTP Request

GET https://app.3yourmind.com/v1/material-prices/

GET Parameter Required Description
uuid yes The uuid of the uploaded file.
country yes A alpha-2 code (“US”, “GB”, “DE”, …).
scale no A scale factor of the model (default: 1.0).
supplier no A slug of a supplier.
currency no EUR, USD or GBP (default: EUR).

This endpoint operates in two modes, depending on if the parameter supplier was set.

1. Supplier parameter empty

In this case, the API returns a complete list of all materials in which the given model can be printed. For each material a price range indicates the cheapest and the most expensive offer among possible suppliers.

The basket_url will add the model to the basket by using the cheapest available supplier.

Use the basket_url to redirect your users to the 3YOURMIND checkout.

2. Supplier parameter given

In this case, the API returns only materials that are offered by a single supplier. The price and the basket_url will work with the given supplier.

HTTP Response

Fieldname Description
slug The ID of the material.
popularity The popularity of the material. High value is high popularity.
suppliers List of suppliers that are offering this material (Checks if supplier can print the model).
delivery_min_days The minimum delivery time for the supplier with the smallest minimum delivery time.
delivery_max_days The maximum delivery time for the supplier with the smallest minimum delivery time.
delivery_days_range The range of delivery in days, in format <delivery_min_days> - <delivery_max_days> days
min_price A final price for the complete print.
max_price A final price for the complete print.
is_approximated Indicates if that price is approximated by the App (currently only used for materialise)
printability Can be either printable, warning or not_printable. The value is warning when the model is printable but some details can be lost.
printability_problem Contains a reason why the model is not printable if printability = not_printable.
basket_url A url to the basket. Redirects a user to this URL, so that the user can buy the model. Available if no error occured, printable and status is finished.
suspicious_scale A number indicating the minimum scale for which the model is printable but details may get lost.
printable_scale A number indicating the minimum scale for which the model is printable.
has_stockrecords Indicates if there are suppliers offering this Material. This is also true if there are suppliers offering this material, but not in the current scale or pricerange
amount_stockrecords Indicates the number of suppliers offering the current file in the given material to print
amount_stockrecords_text Verbose version of amount_stockrecords
has_color_finishes Indicates if the supplier has colored finishes available for this material.
finishes The list of slugs for available finishes.

GET Suppliers with Prices

curl -H "Authorization: ApiKey 9f5f00e6-d25b-482f-96b2-7860e9eaeea7" "https://app.3yourmind.com/v1/supplier-prices/?uuid=b5fd966a-349e-4538-9514-a4183976b793&country=DE&scale=1.0&currency=EUR&material=pa12-pa2200"
import requests

api_key = "9f5f00e6-d25b-482f-96b2-7860e9eaeea7"
fields = {'uuid': 'b5fd966a-349e-4538-9514-a4183976b793', 'country': 'DE', 'scale':1.0, 'currency':'EUR', 'material':'pa12-pa2200'}
url = "http://app.3yourmind.com/v1/supplier-prices/"
header = {"Authorization": "ApiKey " + api_key}

response = requests.get(url, params=fields, headers=header)

print response.text

The above command returns JSON structured like this:

{
  "results": [
    {
      "printable_scale": 0.5190580269339731,
      "finishes": [
        "pa12-pa2200-raw"
      ],
      "price": {
        "excl_tax": "12.90",
        "currency": "EUR",
        "tax": "2.45",
        "is_tax_known": true,
        "incl_tax": "15.35"
      },
      "support": {
        "enabled": false
      },
      "basket_url": "https://prodemo.3yourmind.com/v1/add-to-basket/?supplier=meltwerk&finishing=pa12-pa2200-raw&scale=1.0&uuid=b5fd966a-349e-4538-9514-a4183976b793",
      "delivery_days_range": "7 - 12 days",
      "delivery_min_days": 7,
      "delivery_max_days": 12,
      "shipping_methods": [
        {
          "delivery_min_days": 7,
          "delivery_max_days": 12,
          "price": {
            "excl_tax": "4.96",
            "currency": "EUR",
            "tax": "0.94",
            "is_tax_known": true,
            "incl_tax": "5.90"
          },
          "name": "Standard",
          "delivery_days_range": "7 - 12 days"
        }
      ],
      "has_color_finishes": false,
      "supplier": "meltwerk",
      "suspicious_scale": 0.5153137195536659,
      "slug": "pa12-pa2200-raw",
      "printability": "printable"
    }
  ]
}

Use this endpoint to get a complete list of suppliers that can print the the uploaded file in a material.

HTTP Request

GET https://app.3yourmind.com/v1/supplier-prices/

GET Parameter Required Description
uuid yes The uuid of the uploaded file.
country yes A alpha-2 code (“US”, “GB”, “DE”, …).
material yes A slug of a material.
scale no A scale factor of the model (default: 1.0).
currency no EUR, USD or GBP (default: EUR).

HTTP Response

Fieldname Description
slug The ID of the material.
supplier The supplier that prints the model.
price A price object. Note that the price is not final until the status is finished.
support A support object which holds information about the support structure needed for printing the model.
has_color_finishes Indicates, if the supplier has colored finishes available for this material.
finishes The list of slugs for available finishes.
delivery_min_days The minimum delivery time for the supplier with the smallest minimum delivery time.
delivery_max_days The maximum delivery time for the supplier with the smallest minimum delivery time.
delivery_days_range The range of delivery in days, in format <delivery_min_days> - <delivery_max_days> days
printability Can be either printable, warning or not_printable. The value is warning when the model is printable but some details can be lost.
printability_problem Contains a reason why the model is not printable if printability = not_printable.
datasheet Contains the link to a datasheet (PDF) for the given material, if available.
basket_url A url to the basket. Redirects a user to this URL, so that the user can buy the model. Available if no error occured, printable and status is finished.
suspicious_scale A number indicating the minimum scale for which the model is printable but details may get lost.
printable_scale A number indicating the minimum scale for which the model is printable.

GET Finishes with Prices

curl -H "Authorization: ApiKey 9f5f00e6-d25b-482f-96b2-7860e9eaeea7" "https://app.3yourmind.com/v1/finishes-prices/?uuid=b5fd966a-349e-4538-9514-a4183976b793&country=DE&scale=1.0&currency=EUR&material=pa12-pa2200&supplier=materialise"
import requests

api_key = "9f5f00e6-d25b-482f-96b2-7860e9eaeea7"
fields = {'uuid': 'b5fd966a-349e-4538-9514-a4183976b793', 'country': 'DE', 'scale':1.0, 'currency':'EUR', 'material':'pa12-pa2200', 'supplier':'materialise'}
url = "http://app.3yourmind.com/v1/finishes-prices/"
header = {"Authorization": "ApiKey " + api_key}

response = requests.get(url, params=fields, headers=header)

print response.text
curl -H "Authorization: ApiKey 9f5f00e6-d25b-482f-96b2-7860e9eaeea7" "https://app.3yourmind.com/v1/finishes-prices/?uuid=b5fd966a-349e-4538-9514-a4183976b793&country=DE&scale=1.0&currency=EUR&material=pa12-pa2200&supplier=materialise&color_id=240"
import requests

api_key = "9f5f00e6-d25b-482f-96b2-7860e9eaeea7"
fields = {'uuid': 'b5fd966a-349e-4538-9514-a4183976b793', 'country': 'DE', 'scale':1.0, 'currency':'EUR', 'material':'pa12-pa2200', 'supplier':'materialise', 'color_id':240}
url = "http://app.3yourmind.com/v1/finishes-prices/"
header = {"Authorization": "ApiKey " + api_key}

response = requests.get(url, params=fields, headers=header)

print response.text

First command from above returns JSON structured like this:

{
  "results": [
    {
      "printable_scale": 0.5190580269339731,
      "price": {
        "excl_tax": "15.75",
        "currency": "EUR",
        "tax": "2.99",
        "is_tax_known": true,
        "incl_tax": "18.74"
      },
      "support": {
        "enabled": false
      },
      "basket_url": "https://prodemo.3yourmind.com/v1/add-to-basket/?supplier=materialise&finishing=pa12-pa2200-raw-dyeing&scale=1.0&uuid=b5fd966a-349e-4538-9514-a4183976b793&color_id=240",
      "delivery_days_range": "7 - 8 days",
      "delivery_min_days": 7,
      "delivery_max_days": 8,
      "shipping_methods": [
        {
          "delivery_min_days": 7,
          "delivery_max_days": 7,
          "price": {
            "excl_tax": "11.00",
            "currency": "EUR",
            "tax": "2.09",
            "is_tax_known": true,
            "incl_tax": "13.09"
          },
          "name": "UPS Express",
          "delivery_days_range": "7 days"
        },
        {
          "delivery_min_days": 8,
          "delivery_max_days": 8,
          "price": {
            "excl_tax": "6.30",
            "currency": "EUR",
            "tax": "1.20",
            "is_tax_known": true,
            "incl_tax": "7.50"
          },
          "name": "UPS Standard",
          "delivery_days_range": "8 days"
        }
      ],
      "supplier": "materialise",
      "suspicious_scale": 0.5153137195536659,
      "color_ids": [
        234,
        236,
        240,
        242,
        241,
        235,
        237
      ],
      "slug": "pa12-pa2200-raw-dyeing",
      "printability": "printable"
    }
  ]
}

Use this endpoint to get a list of finishes that a supplier offers for a material including the prices.

HTTP Request

GET https://app.3yourmind.com/v1/finishes-prices/

GET Parameter Required Description
uuid yes The uuid of the uploaded file.
country yes A alpha-2 code (“US”, “GB”, “DE”, …).
material yes The slug of a material.
supplier yes The slug of a supplier.
scale no A scale factor of the model (default: 1.0).
currency no EUR, USD or GBP (default: EUR)
color_id no Specify color_id in which upload will be printed

HTTP Response

Fieldname Description
slug The ID of the finishing.
price A final price for the complete print (print + finishing). Note that the price is not final until the status is finished.
support A support object which holds information about the support structure needed for printing the model.
color_ids A list of possible colors for this finishing (e.g. spray painted). Empty for finishes that are not colorable.
delivery_min_days The minimum delivery time for the supplier with the smallest minimum delivery time.
delivery_max_days The maximum delivery time for the supplier with the smallest minimum delivery time.
delivery_days_range The range of delivery in days, in format <delivery_min_days> - <delivery_max_days> days
printability Can be either printable, warning or not_printable. The value is warning when the model is printable but some details can be lost.
printability_problem Contains a reason why the model is not printable if printability = not_printable.
datasheet Contains the link to a datasheet (PDF) for the given material, if available.
basket_url A url to the basket. Redirect a user to this URL, so that the user can buy the model. Available if no error occured, printable and status is finished.
suspicious_scale A number indicating the minimum scale for which the model is printable but details may get lost.
printable_scale A number indicating the minimum scale for which the model is printable.

The Price object

A price object will be returned whenever a price is included in the API response.

Fieldname Description
excl_tax The price without any VAT applied.
incl_tax The price with VAT applied.
tax The price for the VAT.
currency Can be EUR, USD or GBP.
is_tax_known Indicates if the amount of tax for this price is available

The Support object

The Support object holds information about the dimensions of the computed support structure

Fieldname Description
support_enabled true if the support structure pricing feature is activated for the given material/finishing, else false
volume (if support_enabled) the volume of the support structure
supported_area (if support_enabled) the surface area that needs to be supported
supporting_area (if support_enabled) the surface area of the model that is used as a ground to support other faces
angle_default (if support_enabled) the default angle for this material/finishing from which on faces need to be supported (0°: vertical, 90°: horizontal)
offset_default (if support_enabled) the default value (in mm) the model is shifted up from the ground level (height of the raft) for this material/finishing

Information

GET Material Infos

curl -H "Authorization: ApiKey 9f5f00e6-d25b-482f-96b2-7860e9eaeea7" "https://app.3yourmind.com/v1/materials/?lang=en"
import requests

api_key = "9f5f00e6-d25b-482f-96b2-7860e9eaeea7"
url = "http://app.3yourmind.com/v1/materials/"
fields = {"lang":"en"}
header = {"Authorization": "ApiKey " + api_key}

response = requests.get(url, params=fields, headers=header)

print response.text

The above command returns JSON structured like this:

{
  "results": [
    {
      "is_acid_resistant": false,
      "attr_hdt_max": null,
      "description": "It is a rigid opaque epoxy resin material and has black appearance. Combining dimensional stability and fine detail VeroBlackPlus is ideal for prototypes in several industries.",
      "finishes": [
        "objet-veroblackplus-natural"
      ],
      "attr_ultimate_tensile_strength_min": 50.0,
      "attr_flexural_modulus_min": null,
      "is_bio_compatible": false,
      "sub-category": "Acrylic Photopolymer",
      "attr_density_min": 1.17,
      "attr_elongation_max": 25.0,
      "attr_modulus_min": 2000.0,
      "attr_hardness_max": 85.0,
      "attr_hardness_shore_scale": null,
      "attr_detail": 5,
      "slug": "objet-veroblackplus",
      "is_corrosion_resistant": false,
      "category": "Plastic",
      "attr_part_density": null,
      "attr_flexural_strength_min": null,
      "attr_hardness_min": 85.0,
      "title": "Objet VeroBlackPlus",
      "attr_flexural_strength_max": null,
      "attr_ultimate_tensile_strength_max": 65.0,
      "is_multicolor": false,
      "is_postprocessed": null,
      "attr_elongation_min": 10.0,
      "attr_flexural_modulus_max": null,
      "attr_glass_transition_min": 52.0,
      "attr_density_max": 1.18,
      "attr_hardness_unit": "Shore D",
      "attr_strength": 4,
      "attr_flammability": null,
      "attr_usp_class_vi_certified": null,
      "is_uv_resistant": false,
      "technology": "Polyjet Printing",
      "attr_glass_transition_max": 54.0,
      "attr_wall_min": 1.0,
      "attr_modulus_max": 3000.0,
      "attr_wall_opt": 1.25,
      "attr_hdt_min": null,
      "attr_yield_strengt_max": null,
      "attr_yield_strengt_min": null,
      "is_toxicity_resistant": false,
      "tradename": null,
      "score_detail": 88,
      "score_density": 40,
      "score_strength": 68,
    }
  ]
}

Use this endpoint to get static information about materials independent from an upload.

HTTP Request

To get a complete list of all materials: GET https://app.3yourmind.com/v1/materials/

GET Parameter Required Description
lang no Specifies fields language. Can be either ‘en’ or 'de’. Default is 'en’.

HTTP Response

For each material the API returns some basic information and material attributes. Note that most material attributes will be returned in ranges (min - max).

Fieldname Description
slug The ID of the material
title The title of the material (e.g. “PA12 / PA2200”).
category The category of the material (e.g. "Plastic”).
sub-category The sub-category of the material (e.g. "Polyamide”).
description A short description of the material.
finishes A list of slugs of the available finishes for a material.
is_multicolor Whether this material can be printed with multiple colors (textures).
attr_density_max Density max (g/cm3).
attr_density_min Density min (g/cm3).
attr_part_density Part density (g/cm3).
attr_detail Deprecated. Please use score_detail.
attr_elongation_max Elongation at break min (%).
attr_elongation_min Elongation at break max (%).
attr_hardness_max Hardness max.
attr_hardness_min Hardness min.
attr_hardness_unit Hardness unit (Can be "Rockwell B”, “Rockwell C”, “Vickers”, “Shore A”, “Shore D”, “Brinell”).
attr_modulus_max Young’s modulus max (MPa).
attr_modulus_min Young’s modulus min (MPa).
attr_strength Deprecated. Please use score_strength.
attr_ultimate_tensile_strength_max Ultimate tensile strength max (MPa).
attr_ultimate_tensile_strength_min Ultimate tensile strength min (MPa).
attr_wall_min Minimum wall thickness (mm).
attr_wall_opt Optimal wall thickness (mm).
attr_flexural_strength_min Flexural strength min (MPa).
attr_flexural_strength_max Flexural strength max (MPa).
attr_flexural_modulus_min Flexural modulus min (MPa).
attr_flexural_modulus_max Flexural modulus max (MPa).
attr_hardness_shore_scale Hardness shore scale.
attr_hdt_min HDT min (ºC).
attr_hdt_max HDT max (ºC).
attr_glass_transition_min Glass transition temperature min (ºC).
attr_glass_transition_max Glass transition temperature max (ºC).
attr_flammability Flammability.
attr_usp_class_vi_certified USP class VI certified.
attr_yield_strengt_max Yield Strength max (MPa)
attr_yield_strengt_min Yield Strength min (MPa)
is_acid_resistant Acid resistant.
is_bio_compatible Bio compatible.
is_corrosion_resistant Corrosion resistant.
is_toxicity_resistant Toxicity resistant.
is_uv_resistant UV resistant.
is_postprocessed Post processed.
tradename Material Tradename
technology The technology used to print this material.
score_detail A value describing the detail richness of a material. Range is from very low (1) to very high (100).
score_density A value describing the density of a material. Range is from very low (1) to very high (100).
score_strength A value describing the strength of a material. Range is from very low (1) to very high (100).

GET Finishes Infos

curl -H "Authorization: ApiKey 9f5f00e6-d25b-482f-96b2-7860e9eaeea7" "https://app.3yourmind.com/v1/finishes/?lang=en"
import requests

api_key = "9f5f00e6-d25b-482f-96b2-7860e9eaeea7"
url = "http://app.3yourmind.com/v1/finishes/"
fields = {"lang":"en"}
header = {"Authorization": "ApiKey " + api_key}

response = requests.get(url, params=fields, headers=header)

print response.text

The above command returns JSON structured like this:

{
  "results": [
    {
      "description": "Outer surfaces, inner areas of your model and sunken areas get a matt look...",
      "material": "gypsum-monochrome",
      "slug": "gypsum-monochrome-raw-matt",
      "title": "Gypsum Monochrome Raw-Matt"
    }
  ]
}

Use this endpoint to get static information about finishes independent from an upload. For each material there will be either none or multiple finishes available.

HTTP Request

To get a complete list of all finishes: GET https://app.3yourmind.com/v1/finishes/

GET Parameter Required Description
lang no Specify fields language. Can be either 'en’ or 'de’. Default is 'en’.

HTTP Response

Fieldname Description
slug The ID of the finishing.
title The title of the finishing.
description A short description of the finishing.
material The slug of the material to which this finishing belongs to.

GET Supplier Infos

curl -H "Authorization: ApiKey 9f5f00e6-d25b-482f-96b2-7860e9eaeea7" "https://app.3yourmind.com/v1/suppliers/?country=de"
import requests

api_key = "9f5f00e6-d25b-482f-96b2-7860e9eaeea7"
url = "http://app.3yourmind.com/v1/suppliers/"
header = {"Authorization": "ApiKey " + api_key}

response = requests.get(url, headers=header)

print response.text

The above command returns JSON structured like this:

{
  "results": [
    {
      "website": "http://i.materialise.com",
      "city": "Leuven",
      "logo_tag": "<img src=https://d1bqbp6ftvysu5.cloudfront.net/media/partners/cropped/logo_materialise.png alt=\"i.materialise\">",
      "title": "i.materialise",
      "country": "Belgium",
      "rating_quality": 3.0,
      "rating_reliability": 3.0,
      "payment_methods": [
        "stripe",
        "invoice"
      ],
      "email": "",
      "phone": "+49 30 55578748",
      "postcode": "3001",
      "address": "Technologielaan 15",
      "rating_service": 2.0,
      "rating_total": 2.6666666666666665,
      "slug": "materialise",
      "is_forwarding": true
    }
  ]
}

Use this endpoint to get static information about suppliers independent from an upload.

HTTP Request

To get a complete list of all suppliers: GET https://app.3yourmind.com/v1/suppliers/

GET Parameter Required Description
country yes A alpha-2 code ("US”, “GB”, “DE”, …).

HTTP Response

Fieldname Description
slug The ID of the material.
title The title of the finishing.
country The partner’s country address.
city The partner’s city address.
postcode The partner’s postcode.
address The partner’s address.
website The partner’s website.
email The partners’s email-address (if available)
phone The partner’s phone number
payment_methods Available payment methods. Can be 'stripe’ and/or 'invoice’.
rating_quality The partner’s rating quality. Float value, higher is better.
rating_reliability The partner’s rating reliability. Float value, higher is better.
rating_service The partner’s rating service. Float value, higher is better.
rating_total The partner’s rating total. Float value, higher is better.
logo_tag Provides a HTML-tag which can be used to show the logo of the supplier on a website.
logo_url Provides a URL to the logo of the supplier.

GET Color Infos

curl -H "Authorization: ApiKey 9f5f00e6-d25b-482f-96b2-7860e9eaeea7" "https://app.3yourmind.com/v1/colors/?lang=en"
import requests

api_key = "9f5f00e6-d25b-482f-96b2-7860e9eaeea7"
url = 'http://app.3yourmind.com/v1/colors/'
fields = {"lang":"en"}
header = {"Authorization": "ApiKey " + api_key}

response = requests.get(url, params=fields, headers=header)

print response.text

The above command returns JSON structured like this:

{
  "results": [
    {
      "id": 460,
      "title": "RAL 9023 - Pearl dark grey",
      "rgb": "#828282"
    }
  ]
}

Use this Endpoint to get information about all colors.

HTTP Request

To get a complete list of all colors: GET https://app.3yourmind.com/v1/colors/

GET Parameter Required Description
lang no Specifies fields language. Can be either 'en’ or 'de’. Default is 'en’.

HTTP Response

For each color the API returns basic information.

Fieldname Description
id The ID of the color.
title The title of the color (e.g. “Black” or “Schwarz”).
rgb The rgb of the color (e.g. ”#000000" or “#fa40de”).