Introduction

Documentation for the OUTTRA DataHub API

This documentation aims to provide all the information you need to work with our API.

This is how a general structure of our product looks like:

Outtra

Authenticating requests

To authenticate requests, include an Authorization header with the value "Bearer {YOUR_AUTH_KEY}".

All authenticated endpoints are marked with a requires authentication badge in the documentation below.

You can request a token from our support team at support-en@outtra.com

Endpoints

GET api/v2/datahub/products

GET
https://api.outtra.com
/api/v2/datahub/products
requires authentication

Query the DataHub for product information.

Important:

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json
Accept
Example:
application/json

Query Parameters

language
string

Returns the data in the specific language, if available. Expects a ISO-639-1 two-character language code. Fallback is english (en).

Example:
de
page[size]
integer

Set the number of elements returned. Max is 30.

Example:
2
page[number]
integer

Pagination found under the links attribute in the response.

Example:
1
filter[brand]
integer

Filters the data to a brand. Expects an ID that can be retrieved via the /datahub/my/brands endpoint.

Example:
136
filter[gtin]
string

The global identifier for a certain product. You can request for information about up to 1.000 gtins (or eans) seperated by comma.

Example:
04251422560870
filter[manufacturerArticleNumber]
string

Filters the data to a specific manufacturer article number. Best combined with the brand filter as manufacturer article numbers may not be unique.

Example:
3391022XL
filter[productSetId]
number

Filters the data to a specific product set. A product set includes all GTINs across all sizes and colors in a product.

Example:
5487
filter[colorSetId]
number

Filters the data to a specific color set.

Example:
1
filter[season]
string

Filters the data to a specific season. There are the two values "autumn_winter" and "spring_sumer", followed by a "-" and a year with four digits.

Example:
autumn_winter-2023
filter[updatedAfter]
string

Filters the response to only include data that has been updated after the given date.

Example:
2022-06-30
filter[manufacturerColor]
string

Filters the data to a specific manufacturer color. Best combined with the brand filter as manufacturer colors may not be unique.

Example:
sulphur-green

Response Fields

Example request:
curl --request GET \
    --get "https://api.outtra.com/api/v2/datahub/products?language=de&page%5Bsize%5D=2&page%5Bnumber%5D=1&filter%5Bbrand%5D=136&filter%5Bgtin%5D=04251422560870&filter%5BmanufacturerArticleNumber%5D=3391022XL&filter%5BproductSetId%5D=5487&filter%5BcolorSetId%5D=1&filter%5Bseason%5D=autumn_winter-2023&filter%5BupdatedAfter%5D=2022-06-30&filter%5BmanufacturerColor%5D=sulphur-green" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
{
    "data": [
        {
            "type": "variant",
            "gtin": "01234567891234",
            "attributes": {
                "gln": "supplier-1",
                "product_identifier": "784544",
                "product_short_description": "Men's Rain Jacket",
                "brand": {
                    "id": "845",
                    "name": "Example Brand"
                },
                "media": {
                    "images": [
                        {
                            "url": "https://imagehub.outtra.com/images/asd7nxil2i/3247hnoiau7n/01234567891234/mens-rain-jacket--B-01.png",
                            "position": 1,
                            "hash": "ec809ddf66ed7087",
                            "updatedAt": "2023-04-09",
                            "shootType": "hollow",
                            "productView": "front"
                        },
                        {
                            "url": "https://imagehub.outtra.com/images/asd7nxil2i/3247hnoiau7n/01234567891234/mens-rain-jacket--B-02.png",
                            "position": 2,
                            "hash": "bd4b61e1c2700ecb",
                            "updatedAt": "2023-04-09",
                            "shootType": "model",
                            "productView": "front"
                        },
                        {
                            "url": "https://imagehub.outtra.com/images/asd7nxil2i/3247hnoiau7n/01234567891234/mens-rain-jacket--M-01.jpg",
                            "position": 3,
                            "hash": "fbba25e06c2fe2d6",
                            "updatedAt": "2023-04-09",
                            "shootType": "hollow",
                            "productView": "back"
                        },
                        {
                            "url": "https://imagehub.outtra.com/images/asd7nxil2i/3247hnoiau7n/01234567891234/mens-rain-jacket--M-02.jpg",
                            "position": 4,
                            "hash": "45273a6fac1bc168",
                            "updatedAt": "2023-04-09",
                            "shootType": "hollow",
                            "productView": "left"
                        },
                        {
                            "url": "https://imagehub.outtra.com/images/asd7nxil2i/3247hnoiau7n/01234567891234/mens-rain-jacket--D-01.jpg",
                            "position": 5,
                            "hash": "335506130662c784",
                            "updatedAt": "2023-04-09",
                            "shootType": "hollow",
                            "productView": "right"
                        },
                        {
                            "url": "https://imagehub.outtra.com/images/asd7nxil2i/3247hnoiau7n/01234567891234/mens-rain-jacket--D-02.jpg",
                            "position": 6,
                            "hash": "0814878367256eca",
                            "updatedAt": "2023-04-09",
                            "shootType": "detail",
                            "productView": "unkown"
                        }
                    ],
                    "videos": [
                        {
                            "url": "https://www.example.com/123456789",
                            "type": "video_product"
                        },
                        {
                            "url": "https://www.example.com/123456789",
                            "type": "video_instruction"
                        }
                    ]
                },
                "fedas_code": "201042",
                "category_level_1": "Clothing",
                "category_level_2": "Jackets",
                "category_level_3": "Rain Jackets",
                "sex": "Male",
                "kids": false,
                "age_group": "1",
                "country_of_origin": "DE",
                "customs_tariff_ch": "123456",
                "customs_tariff_eu": "123456",
                "customs_tariff_scandinavia": "123456",
                "sales_unit": "1",
                "packing_unit": "1",
                "weight_packing_unit": "420",
                "usps": "Robust, elastic, lightweight rain jacket",
                "material": "100% Polyester",
                "product_longtext": "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.",
                "activity": "Hiking",
                "sustainability": "Fair Wear Foundation",
                "goretex": true,
                "vibram": false,
                "features": "Breathable, Cooling, Quick drying",
                "vegan": false,
                "care_instructions": "Wash at 30°C, Do not bleach, Do not tumble dry, Do not iron, Do not dry clean",
                "video_product": "",
                "video_instruction": "",
                "hazard_note": "https://www.example.com/123456789",
                "product_instructions_url": "https://www.example.com/123456789",
                "hang_tag_url": "https://www.example.com/123456789",
                "size_table_shoes_url": "https://www.example.com/123456789",
                "size_table_men_url": "https://www.example.com/123456789",
                "size_table_women_url": "https://www.example.com/123456789",
                "size_table_kids_url": "https://www.example.com/123456789",
                "manufacturer_color_code": "98754",
                "manufacturer_color": "green moss",
                "base_color": "Green",
                "season": "autumn_winter-2023",
                "spin_360": "https://www.example.com/123456789",
                "product_dimensional_drawing_url": "https://www.example.com/123456789",
                "fedas_code_size": "54687",
                "size_range": "S-XXL",
                "manufacturer_size_code": "L",
                "size_description": "L",
                "size_description_2": "32",
                "volume": "",
                "volume_additional": "",
                "gtin": "01234567891234",
                "sku_supplier": "JK-1234",
                "weight": "380",
                "weight_unit": "g",
                "weight_info": "Weight in gramm",
                "wholesale_price": "85",
                "wholesale_price_unit": "EUR",
                "wholesale_price_valid_from_date": "2023-01-01",
                "rrp": "199",
                "rrp_unit": "EUR",
                "rrp_2": "",
                "rrp_2_unit": "",
                "rrp_3": "",
                "rrp_3_unit": "",
                "rrp_valid_from_date": "2023-01-01",
                "delivery_date": "2023-01-01",
                "height": "100",
                "height_unit": "cm",
                "width": "100",
                "width_unit": "cm",
                "length": "100",
                "length_unit": "cm",
                "diameter": "100",
                "diameter_unit": "cm",
                "packing_unit_height": "100",
                "packing_unit_height_unit": "cm",
                "packing_unit_width": "100",
                "packing_unit_width_unit": "cm",
                "packing_unit_length": "100",
                "packing_unit_length_unit": "cm",
                "packing_unit_diameter": "100",
                "packing_unit_diameter_unit": "cm",
                "delivery_unit_height": "100",
                "delivery_unit_height_unit": "cm",
                "delivery_unit_width": "100",
                "delivery_unit_width_unit": "cm",
                "delivery_unit_length": "100",
                "delivery_unit_length_unit": "cm",
                "carry_over_from_style": "winter-2022",
                "carry_over_to_style": "winter-2023",
                "carry_over_from_stylecolor": "AB12345",
                "carry_over_to_stylecolor": "CD67890",
                "main_material": "",
                "main_material_information": "",
                "outer_material": "",
                "outer_material_information": "",
                "outer_material_2": "",
                "outer_material_2_information": "",
                "inner_material": "",
                "inner_material_information": "",
                "inner_material_2": "",
                "inner_material_2_information": "",
                "liner_material": "",
                "liner_material_information": "",
                "filling_material": "",
                "filling_material_information": "",
                "sole": "",
                "sole_information": "",
                "textile_care_washing": "",
                "textile_care_bleaching": "",
                "textile_care_drying": "",
                "textile_care_ironing": "",
                "textile_care_professional_textile_care": "",
                "workbook_picture_url": ""
            }
        }
    ],
    "links": {
        "first": "https://api.outtra.com/api/v2/datahub/products?filter%5Bbrand%5D=136&page%5Bnumber%5D=1",
        "last": null,
        "prev": null,
        "next": "https://api.outtra.com/api/v2/datahub/products?filter%5Bbrand%5D=136&page%5Bnumber%5D=2"
    },
    "meta": {
        "current_page": 1,
        "from": 1,
        "path": "https://api.outtra.com/api/v2/datahub/products",
        "per_page": 30,
        "to": 30
    }
}
{
    "message": "no filter set. use one of the documented filters to receive a response"
}
{
    "message": "unknown filters detected: […]"
}
{
    "message": "Too many requests. Allowed per minute: X"
}
{
    "message": "an error occurred, please check your query string. if the issue persist, contact support-en@outtra.com."
}

GET api/v2/datahub/units

GET
https://api.outtra.com
/api/v2/datahub/units
requires authentication

Query the DataHub for unit information.

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json
Accept
Example:
application/json
Example request:
curl --request GET \
    --get "https://api.outtra.com/api/v2/datahub/units" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
{
    "data": [
        {
            "type": "unit",
            "outtra_unit_id": 1,
            "attributes": {
                "name": "Kilogramm",
                "abbreviation": "kg"
            }
        },
        {
            "type": "unit",
            "outtra_unit_id": 2,
            "attributes": {
                "name": "Gramm",
                "abbreviation": "g"
            }
        },
        {
            "type": "unit",
            "outtra_unit_id": 3,
            "attributes": {
                "name": "Liter",
                "abbreviation": "l"
            }
        },
        {
            "type": "unit",
            "outtra_unit_id": 4,
            "attributes": {
                "name": "Milliliter",
                "abbreviation": "ml"
            }
        },
        {
            "type": "unit",
            "outtra_unit_id": 5,
            "attributes": {
                "name": "Millimeter",
                "abbreviation": "mm"
            }
        },
        {
            "type": "unit",
            "outtra_unit_id": 6,
            "attributes": {
                "name": "Meter",
                "abbreviation": "m"
            }
        },
        {
            "type": "unit",
            "outtra_unit_id": 7,
            "attributes": {
                "name": "Centimeter",
                "abbreviation": "cm"
            }
        },
        {
            "type": "unit",
            "outtra_unit_id": 8,
            "attributes": {
                "name": "Grad Celsius",
                "abbreviation": "° C"
            }
        },
        {
            "type": "unit",
            "outtra_unit_id": 9,
            "attributes": {
                "name": "Percent",
                "abbreviation": "%"
            }
        },
        {
            "type": "unit",
            "outtra_unit_id": 13,
            "attributes": {
                "name": "CHF",
                "abbreviation": "CHF"
            }
        },
        {
            "type": "unit",
            "outtra_unit_id": 10,
            "attributes": {
                "name": "Euro",
                "abbreviation": "€"
            }
        },
        {
            "type": "unit",
            "outtra_unit_id": 11,
            "attributes": {
                "name": "Pound Sterling",
                "abbreviation": "£"
            }
        },
        {
            "type": "unit",
            "outtra_unit_id": 12,
            "attributes": {
                "name": "US Dollar",
                "abbreviation": "$"
            }
        },
        {
            "type": "unit",
            "outtra_unit_id": 14,
            "attributes": {
                "name": "Kubikzentimeter",
                "abbreviation": "cm³"
            }
        },
        {
            "type": "unit",
            "outtra_unit_id": 15,
            "attributes": {
                "name": "Norwegische Kronen",
                "abbreviation": "NOK"
            }
        },
        {
            "type": "unit",
            "outtra_unit_id": 16,
            "attributes": {
                "name": "Inch",
                "abbreviation": "in"
            }
        }
    ]
}

GET api/v2/datahub/seasons

GET
https://api.outtra.com
/api/v2/datahub/seasons
requires authentication

Query the DataHub for season information.

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json
Accept
Example:
application/json

Query Parameters

language
string

Returns the data in the specific language, if available. Expects a ISO-639-1 two-character language code. Fallback is english (en).

Example:
de
Example request:
curl --request GET \
    --get "https://api.outtra.com/api/v2/datahub/seasons?language=de" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
{
    "data": [
        {
            "type": "season",
            "outtra_season_id": 8,
            "attributes": {
                "name": "Frühjahr / Sommer 2020",
                "code": "spring_summer-2020"
            }
        },
        {
            "type": "season",
            "outtra_season_id": 7,
            "attributes": {
                "name": "Herbst / Winter 2020",
                "code": "autumn_winter-2020"
            }
        },
        {
            "type": "season",
            "outtra_season_id": 6,
            "attributes": {
                "name": "Frühjahr / Sommer 2021",
                "code": "spring_summer-2021"
            }
        },
        {
            "type": "season",
            "outtra_season_id": 5,
            "attributes": {
                "name": "Herbst / Winter 2021",
                "code": "autumn_winter-2021"
            }
        },
        {
            "type": "season",
            "outtra_season_id": 1,
            "attributes": {
                "name": "Frühjahr / Sommer 2022",
                "code": "spring_summer-2022"
            }
        },
        {
            "type": "season",
            "outtra_season_id": 2,
            "attributes": {
                "name": "Herbst / Winter 2022",
                "code": "autumn_winter-2022"
            }
        },
        {
            "type": "season",
            "outtra_season_id": 3,
            "attributes": {
                "name": "Frühjahr / Sommer 2023",
                "code": "spring_summer-2023"
            }
        },
        {
            "type": "season",
            "outtra_season_id": 4,
            "attributes": {
                "name": "Herbst / Winter 2023",
                "code": "autumn_winter-2023"
            }
        },
        {
            "type": "season",
            "outtra_season_id": 9,
            "attributes": {
                "name": "Frühjahr / Sommer 2024",
                "code": "spring_summer-2024"
            }
        },
        {
            "type": "season",
            "outtra_season_id": 10,
            "attributes": {
                "name": "Herbst / Winter 2024",
                "code": "autumn_winter-2024"
            }
        }
    ]
}

GET api/v2/datahub/my/brands

GET
https://api.outtra.com
/api/v2/datahub/my/brands
requires authentication

Query the DataHub for brands you have access to.

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json
Accept
Example:
application/json

Response Fields

Example request:
curl --request GET \
    --get "https://api.outtra.com/api/v2/datahub/my/brands" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
{
    "data": [
        {
            "type": "brand",
            "id": "136",
            "attributes": {
                "name": "Ortovox",
                "url": "https://www.ortovox.de/",
                "permissions": {
                    "dataAccess": true,
                    "imageAccess": true
                },
                "products": {
                    "available": 763,
                    "updated": "2023-04-09"
                }
            }
        },
        {
            "type": "brand",
            "id": "150",
            "attributes": {
                "name": "Ziener",
                "url": "https://ziener.com/",
                "permissions": {
                    "dataAccess": true,
                    "imageAccess": true
                },
                "products": {
                    "available": 595,
                    "updated": "2023-02-22"
                }
            }
        },
        {
            "type": "brand",
            "id": "221",
            "attributes": {
                "name": "Hanwag",
                "url": "https://www.hanwag.de",
                "permissions": {
                    "dataAccess": true,
                    "imageAccess": true
                },
                "products": {
                    "available": 218,
                    "updated": "2023-03-04"
                }
            }
        }
    ],
    "links": {
        "first": "https://api.outtra.com/api/v2/datahub/my/brands?page%5Bnumber%5D=1",
        "last": null,
        "prev": null,
        "next": null
    },
    "meta": {
        "current_page": 1,
        "from": 1,
        "path": "https://api.outtra.com/api/v2/datahub/my/brands",
        "per_page": 30,
        "to": 3
    }
}
{
    "message": "Too many requests. Allowed per minute: X"
}
{
    "message": "an error occurred, please check your query string. if the issue persist, contact support-en@outtra.com."
}