Products

The Product Object

A Rutter Product represents a product contained in a merchant's catalog. Every product contains variants, which represent the different types or options of products sold (e.g. size, color, model). The product object contains high level information about the item including name, images, and tags, whereas the variant object contains physical information about the item, including price and weight.

In the case where a product in a merchant's catalog contains no variants, a default variant will exist containing information about the product.

Properties

idstringRequired

The Rutter generated unique ID of the product.

platform_idstring

The platform specific ID of the product.

category_idstringnullable

The Rutter generated unique ID of the product category. This is only exposed when the expand=category_id parameter is used. Only supported for Shopify, Amazon, BigCommerce.

descriptionstringRequired

The description of the product.

namestringRequired

The name of the product.

typestringRequired

The unstandardized type or categorization of the product.

product_urlstring

The consumer facing URL used to access the product online.

imagesarrayRequired

An array of images linked to the product.

Show images attributes
statusRequired

The status of the product.

tagsarrayRequired

An array of tags linked to the product.

String array.

variantsarrayRequired

An array of Variants linked to the product.

Show variants attributes
created_atstringRequired

The ISO 8601 timestamp that the product was created.

updated_atstringRequired

The ISO 8601 timestamp that the product was last updated.

Endpoints
GET
/products
GET
/products/:id
GET
/products/categories
POST
/products
PATCH
/products/:id
DELETE
/products/:id
POST
/products/:id/variants
PATCH
/products/:id/variants/:variantId
DELETE
/products/:id/variants/:id

List Products

GEThttps://production.rutterapi.com/versioned/products

Request Parameters

    access_tokenstringqueryRequired

    The access token of the connection.

    created_at_maxintegerquery

    Unix Timestamp in milliseconds representing the maximum created_at datetime to fetch entities from.

    created_at_minintegerquery

    Unix Timestamp in milliseconds representing the minimum created_at datetime to fetch entities from.

    cursorstringquery

    The cursor to use for pagination. This value is passed in from next_cursor field in a previous request.

    force_fetchenumquery

    Force a response even if the underlying connection hasn't finished the initial sync.

    One oftrue or false.
    limitintegerquery

    The limit on the number of entities returned.

    namestringquery

    Filter products by names similar to the input.

    statusenumquery

    Show products with certain product status.

    One ofactivearchivedinactive, or draft.
    updated_at_maxintegerquery

    Unix Timestamp in milliseconds representing the maximum updated_at datetime to fetch entities from.

    updated_at_minintegerquery

    Unix Timestamp in milliseconds representing the minimum updated_at datetime to fetch entities from.

Response Body

    connectionobjectRequired
    Show connection attributes
    productsarrayRequired
    Show products attributes
    next_cursorstringnullableRequired
Support by integration
  • Shopify
    Shopify
  • Woo Commerce
    Woo Commerce
  • Amazon
    Amazon
  • Ebay
    Ebay
Example Response Body
JSON
1
{
2
"connection": {
3
"id": "00000000-0000-0000-0000-000000000000",
4
"orgId": "00000000-0000-0000-0000-000000000000",
5
"platform": "SHOPIFY"
6
},
7
"products": [
8
{
9
"id": "00000000-0000-0000-0000-000000000000",
10
"platform_id": "12345678",
11
"description": "A Rutter Shirt. It comes in all shapes and sizes.",
12
"name": "Rutter shirt",
13
"type": "physical",
14
"product_url": "https://rutter.com/products/shirt",
15
"images": [
16
{
17
"src": "https://rutter.com/products/shirtlarge.jpg"
18
},
19
{
20
"src": "https://rutter.com/products/shirt.jpg"
21
},
22
{
23
"src": "https://rutter.com/products/shirtsmall.jpg"
24
}
25
],
26
"status": "active",
27
"tags": [
28
"clothing",
29
"shirt"
30
],
31
"variants": [
32
{
33
"id": "00000000-0000-0000-0000-000000000000",
34
"platform_id": "12345678",
35
"product_id": "00000000-0000-0000-0000-000000000000",
36
"price": 12.34,
37
"requires_shipping": true,
38
"barcode": "0012345678901",
39
"fulfillment_service": "fedex",
40
"inventory_management": "shopify",
41
"iso_currency_code": "USD",
42
"sku": "RUTTER-1",
43
"title": "Rutter shirt (Large)",
44
"unit_cost": 12.34,
45
"variant_url": "https://rutter.com/products/shirt?size=large",
46
"description": "A Rutter Shirt. It comes in all shapes and sizes, but this one is large",
47
"images": [
48
{
49
"src": "https://rutter.com/products/shirtlarge.jpg"
50
}
51
],
52
"short_description": "Rutter shirt (Large)",
53
"option_values": [
54
{
55
"name": "size",
56
"value": "large"
57
}
58
],
59
"currency_prices": [
60
{
61
"iso_currency_code": "USD",
62
"price": 12.34
63
}
64
],
65
"weight": {
66
"unit": "kg",
67
"value": 10
68
},
69
"linked_products": [
70
{
71
"variant_id": "00000000-0000-0000-0000-000000000000",
72
"link_type": "product",
73
"sku": "RUTTER-2"
74
}
75
],
76
"inventory": {
77
"total_count": 10,
78
"locations": []
79
},
80
"created_at": "2023-01-02T02:34:56.000Z",
81
"updated_at": "2023-01-02T02:34:56.000Z"
82
}
83
],
84
"created_at": "2023-01-02T02:34:56.000Z",
85
"updated_at": "2023-01-02T02:34:56.000Z"
86
}
87
],
88
"next_cursor": "MTY3NDgzMTk0Ml82MDY4ZDI0ZC02NGRmLTRmN2EtYTM0Ny0zN2ZmNjY5MGVmMjU="
89
}

Fetch a Product

GEThttps://production.rutterapi.com/versioned/products/:id

Request Parameters

    idstringpathRequired

    The Rutter generated unique ID of the object.

    access_tokenstringqueryRequired

    The access token of the connection.

    force_fetchenumquery

    Force a response even if the underlying connection hasn't finished the initial sync.

    One oftrue or false.

Response Body

    connectionobjectRequired
    Show connection attributes
    productobjectRequired
    Show product attributes
Support by integration
  • Shopify
    Shopify
  • Woo Commerce
    Woo Commerce
  • Amazon
    Amazon
  • Ebay
    Ebay
Example Response Body
JSON
1
{
2
"connection": {
3
"id": "00000000-0000-0000-0000-000000000000",
4
"orgId": "00000000-0000-0000-0000-000000000000",
5
"platform": "SHOPIFY"
6
},
7
"product": {
8
"id": "00000000-0000-0000-0000-000000000000",
9
"platform_id": "12345678",
10
"description": "A Rutter Shirt. It comes in all shapes and sizes.",
11
"name": "Rutter shirt",
12
"type": "physical",
13
"product_url": "https://rutter.com/products/shirt",
14
"images": [
15
{
16
"src": "https://rutter.com/products/shirtlarge.jpg"
17
},
18
{
19
"src": "https://rutter.com/products/shirt.jpg"
20
},
21
{
22
"src": "https://rutter.com/products/shirtsmall.jpg"
23
}
24
],
25
"status": "active",
26
"tags": [
27
"clothing",
28
"shirt"
29
],
30
"variants": [
31
{
32
"id": "00000000-0000-0000-0000-000000000000",
33
"platform_id": "12345678",
34
"product_id": "00000000-0000-0000-0000-000000000000",
35
"price": 12.34,
36
"requires_shipping": true,
37
"barcode": "0012345678901",
38
"fulfillment_service": "fedex",
39
"inventory_management": "shopify",
40
"iso_currency_code": "USD",
41
"sku": "RUTTER-1",
42
"title": "Rutter shirt (Large)",
43
"unit_cost": 12.34,
44
"variant_url": "https://rutter.com/products/shirt?size=large",
45
"description": "A Rutter Shirt. It comes in all shapes and sizes, but this one is large",
46
"images": [
47
{
48
"src": "https://rutter.com/products/shirtlarge.jpg"
49
}
50
],
51
"short_description": "Rutter shirt (Large)",
52
"option_values": [
53
{
54
"name": "size",
55
"value": "large"
56
}
57
],
58
"currency_prices": [
59
{
60
"iso_currency_code": "USD",
61
"price": 12.34
62
}
63
],
64
"weight": {
65
"unit": "kg",
66
"value": 10
67
},
68
"linked_products": [
69
{
70
"variant_id": "00000000-0000-0000-0000-000000000000",
71
"link_type": "product",
72
"sku": "RUTTER-2"
73
}
74
],
75
"inventory": {
76
"total_count": 10,
77
"locations": []
78
},
79
"created_at": "2023-01-02T02:34:56.000Z",
80
"updated_at": "2023-01-02T02:34:56.000Z"
81
}
82
],
83
"created_at": "2023-01-02T02:34:56.000Z",
84
"updated_at": "2023-01-02T02:34:56.000Z"
85
}
86
}

List Product Categories

GEThttps://production.rutterapi.com/versioned/products/categories

Request Parameters

    access_tokenstringqueryRequired

    The access token of the connection.

    force_fetchenumquery

    Force a response even if the underlying connection hasn't finished the initial sync.

    One oftrue or false.
    idstringquery

    Only fetch a specific product category id.

Response Body

    categoriesarrayRequired
    Show categories attributes
Support by integration
  • Shopify
    Shopify
  • Amazon
    Amazon
  • Big Commerce
    Big Commerce
  • Magento
    Magento
Example Response Body
JSON
1
{
2
"categories": [
3
{
4
"id": "00000000-0000-0000-0000-000000000000",
5
"name": "Shirts",
6
"children": [
7
{
8
"id": "00000000-0000-0000-0000-000000000000",
9
"name": "T Shirts",
10
"children": []
11
},
12
{
13
"id": "00000000-0000-0000-0000-000000000000",
14
"name": "Long sleeve shirts",
15
"children": []
16
}
17
]
18
}
19
]
20
}

Create a Product

POSThttps://production.rutterapi.com/versioned/products

Request Parameters

    access_tokenstringqueryRequired

    The access token of the connection.

Request Body

    productobjectRequired
    Show product attributes

Response Body

    Any of:

    async_responseobjectRequired
    Show async_response attributes
    productobjectRequired
    Show product attributes
Support by integration
  • Shopify
    Shopify
  • Woo Commerce
    Woo Commerce
  • Amazon
    Amazon
  • Squarespace
    Squarespace
Example Request Body
JSON
1
{
2
"product": {
3
"category_id": 123456789,
4
"description": "A Rutter Shirt. It comes in all shapes and sizes.",
5
"name": "Rutter shirt",
6
"status": "active",
7
"tags": [
8
"clothing",
9
"shirt"
10
],
11
"images": [
12
{
13
"src": "https://rutter.com/products/shirtlarge.jpg"
14
},
15
{
16
"src": "https://rutter.com/products/shirt.jpg"
17
},
18
{
19
"src": "https://rutter.com/products/shirtsmall.jpg"
20
}
21
],
22
"variants": [
23
{
24
"id": "00000000-0000-0000-0000-000000000000",
25
"price": 12.34,
26
"sku": "RUTTER-1",
27
"images": [
28
{
29
"src": "https://rutter.com/products/shirtlarge.jpg"
30
}
31
],
32
"option_values": [
33
{
34
"name": "size",
35
"value": "large"
36
}
37
],
38
"weight": {
39
"unit": "kg",
40
"value": 10
41
},
42
"inventory": {
43
"total_count": 10
44
}
45
}
46
],
47
"additional_fields": {
48
"amazon": {
49
"sku": "RUTTER-1",
50
"display_album": null,
51
"decorative_cutout": null,
52
"cellular_phone_case": null,
53
"wall_art": null,
54
"drinking_cup": null,
55
"tote_bag": null,
56
"shirt": null,
57
"sweatshirt": null
58
}
59
}
60
}
61
}
Example Response Body
JSON
1
{
2
"product": {
3
"id": "00000000-0000-0000-0000-000000000000",
4
"platform_id": "12345678",
5
"description": "A Rutter Shirt. It comes in all shapes and sizes.",
6
"name": "Rutter shirt",
7
"type": "physical",
8
"product_url": "https://rutter.com/products/shirt",
9
"images": [
10
{
11
"src": "https://rutter.com/products/shirtlarge.jpg"
12
},
13
{
14
"src": "https://rutter.com/products/shirt.jpg"
15
},
16
{
17
"src": "https://rutter.com/products/shirtsmall.jpg"
18
}
19
],
20
"status": "active",
21
"tags": [
22
"clothing",
23
"shirt"
24
],
25
"variants": [
26
{
27
"id": "00000000-0000-0000-0000-000000000000",
28
"platform_id": "12345678",
29
"product_id": "00000000-0000-0000-0000-000000000000",
30
"price": 12.34,
31
"requires_shipping": true,
32
"barcode": "0012345678901",
33
"fulfillment_service": "fedex",
34
"inventory_management": "shopify",
35
"iso_currency_code": "USD",
36
"sku": "RUTTER-1",
37
"title": "Rutter shirt (Large)",
38
"unit_cost": 12.34,
39
"variant_url": "https://rutter.com/products/shirt?size=large",
40
"description": "A Rutter Shirt. It comes in all shapes and sizes, but this one is large",
41
"images": [
42
{
43
"src": "https://rutter.com/products/shirtlarge.jpg"
44
}
45
],
46
"short_description": "Rutter shirt (Large)",
47
"option_values": [
48
{
49
"name": "size",
50
"value": "large"
51
}
52
],
53
"currency_prices": [
54
{
55
"iso_currency_code": "USD",
56
"price": 12.34
57
}
58
],
59
"weight": {
60
"unit": "kg",
61
"value": 10
62
},
63
"linked_products": [
64
{
65
"variant_id": "00000000-0000-0000-0000-000000000000",
66
"link_type": "product",
67
"sku": "RUTTER-2"
68
}
69
],
70
"inventory": {
71
"total_count": 10,
72
"locations": []
73
},
74
"created_at": "2023-01-02T02:34:56.000Z",
75
"updated_at": "2023-01-02T02:34:56.000Z"
76
}
77
],
78
"created_at": "2023-01-02T02:34:56.000Z",
79
"updated_at": "2023-01-02T02:34:56.000Z"
80
}
81
}

Update a Product

PATCHhttps://production.rutterapi.com/versioned/products/:id

Request Parameters

    idstringpathRequired

    The Rutter generated unique ID of the object.

    access_tokenstringqueryRequired

    The access token of the connection.

Request Body

    productobjectRequired
    Show product attributes

Response Body

    productobjectRequired
    Show product attributes
Support by integration
  • Shopify
    Shopify
  • Woo Commerce
    Woo Commerce
  • Squarespace
    Squarespace
  • Square
    Square
Example Request Body
JSON
1
{
2
"product": {
3
"description": "A Rutter Shirt. It comes in all shapes and sizes.",
4
"name": "Rutter shirt",
5
"status": "active"
6
}
7
}
Example Response Body
JSON
1
{
2
"product": {
3
"id": "00000000-0000-0000-0000-000000000000",
4
"platform_id": "12345678",
5
"description": "A Rutter Shirt. It comes in all shapes and sizes.",
6
"name": "Rutter shirt",
7
"type": "physical",
8
"product_url": "https://rutter.com/products/shirt",
9
"images": [
10
{
11
"src": "https://rutter.com/products/shirtlarge.jpg"
12
},
13
{
14
"src": "https://rutter.com/products/shirt.jpg"
15
},
16
{
17
"src": "https://rutter.com/products/shirtsmall.jpg"
18
}
19
],
20
"status": "active",
21
"tags": [
22
"clothing",
23
"shirt"
24
],
25
"variants": [
26
{
27
"id": "00000000-0000-0000-0000-000000000000",
28
"platform_id": "12345678",
29
"product_id": "00000000-0000-0000-0000-000000000000",
30
"price": 12.34,
31
"requires_shipping": true,
32
"barcode": "0012345678901",
33
"fulfillment_service": "fedex",
34
"inventory_management": "shopify",
35
"iso_currency_code": "USD",
36
"sku": "RUTTER-1",
37
"title": "Rutter shirt (Large)",
38
"unit_cost": 12.34,
39
"variant_url": "https://rutter.com/products/shirt?size=large",
40
"description": "A Rutter Shirt. It comes in all shapes and sizes, but this one is large",
41
"images": [
42
{
43
"src": "https://rutter.com/products/shirtlarge.jpg"
44
}
45
],
46
"short_description": "Rutter shirt (Large)",
47
"option_values": [
48
{
49
"name": "size",
50
"value": "large"
51
}
52
],
53
"currency_prices": [
54
{
55
"iso_currency_code": "USD",
56
"price": 12.34
57
}
58
],
59
"weight": {
60
"unit": "kg",
61
"value": 10
62
},
63
"linked_products": [
64
{
65
"variant_id": "00000000-0000-0000-0000-000000000000",
66
"link_type": "product",
67
"sku": "RUTTER-2"
68
}
69
],
70
"inventory": {
71
"total_count": 10,
72
"locations": []
73
},
74
"created_at": "2023-01-02T02:34:56.000Z",
75
"updated_at": "2023-01-02T02:34:56.000Z"
76
}
77
],
78
"created_at": "2023-01-02T02:34:56.000Z",
79
"updated_at": "2023-01-02T02:34:56.000Z"
80
}
81
}

Delete a Product

DELETEhttps://production.rutterapi.com/versioned/products/:id

Request Parameters

    idstringpathRequired

    The Rutter generated unique ID of the object.

    access_tokenstringqueryRequired

    The access token of the connection.

Response Body

    productstringRequired

    Id of the deleted product

    successbooleanRequired

    true if the delete operation succeeded.

Support by integration
  • Shopify
    Shopify
  • Woo Commerce
    Woo Commerce
  • Squarespace
    Squarespace
  • Square
    Square
Example Response Body
JSON
1
{
2
"product": "00000000-0000-0000-0000-000000000000",
3
"success": true
4
}

Create a Product Variant

POSThttps://production.rutterapi.com/versioned/products/:id/variants

Request Parameters

    access_tokenstringqueryRequired

    The access token of the connection.

Request Body

    variantobjectRequired
    Show variant attributes

Response Body

    variantobjectRequired
    Show variant attributes
Support by integration
  • Shopify
    Shopify
  • Woo Commerce
    Woo Commerce
  • Squarespace
    Squarespace
  • Square
    Square
Example Request Body
JSON
1
{
2
"variant": {
3
"id": "00000000-0000-0000-0000-000000000000",
4
"price": 12.34,
5
"sku": "RUTTER-1",
6
"images": [
7
{
8
"src": "https://rutter.com/products/shirtlarge.jpg"
9
}
10
],
11
"option_values": [
12
{
13
"name": "size",
14
"value": "large"
15
}
16
],
17
"weight": {
18
"unit": "kg",
19
"value": 10
20
},
21
"inventory": {
22
"total_count": 10
23
}
24
}
25
}
Example Response Body
JSON
1
{
2
"variant": {
3
"id": "00000000-0000-0000-0000-000000000000",
4
"platform_id": "12345678",
5
"product_id": "00000000-0000-0000-0000-000000000000",
6
"price": 12.34,
7
"requires_shipping": true,
8
"barcode": "0012345678901",
9
"fulfillment_service": "fedex",
10
"inventory_management": "shopify",
11
"iso_currency_code": "USD",
12
"sku": "RUTTER-1",
13
"title": "Rutter shirt (Large)",
14
"unit_cost": 12.34,
15
"variant_url": "https://rutter.com/products/shirt?size=large",
16
"description": "A Rutter Shirt. It comes in all shapes and sizes, but this one is large",
17
"images": [
18
{
19
"src": "https://rutter.com/products/shirtlarge.jpg"
20
}
21
],
22
"short_description": "Rutter shirt (Large)",
23
"option_values": [
24
{
25
"name": "size",
26
"value": "large"
27
}
28
],
29
"currency_prices": [
30
{
31
"iso_currency_code": "USD",
32
"price": 12.34
33
}
34
],
35
"weight": {
36
"unit": "kg",
37
"value": 10
38
},
39
"linked_products": [
40
{
41
"variant_id": "00000000-0000-0000-0000-000000000000",
42
"link_type": "product",
43
"sku": "RUTTER-2"
44
}
45
],
46
"inventory": {
47
"total_count": 10,
48
"locations": []
49
},
50
"created_at": "2023-01-02T02:34:56.000Z",
51
"updated_at": "2023-01-02T02:34:56.000Z"
52
}
53
}

Update a Product Variant

PATCHhttps://production.rutterapi.com/versioned/products/:id/variants/:variantId

Request Parameters

    variantIdstringpathRequired

    The Rutter generated unique ID of the variant.

    access_tokenstringqueryRequired

    The access token of the connection.

Request Body

    variantobjectRequired
    Show variant attributes

Response Body

    variantobjectRequired
    Show variant attributes
Support by integration
  • Shopify
    Shopify
  • Woo Commerce
    Woo Commerce
  • Squarespace
    Squarespace
  • Square
    Square
Example Request Body
JSON
1
{
2
"variant": {
3
"id": "00000000-0000-0000-0000-000000000000",
4
"price": 12.34,
5
"sku": "RUTTER-1",
6
"images": [
7
{
8
"src": "https://rutter.com/products/shirtlarge.jpg"
9
}
10
],
11
"weight": {
12
"unit": "kg",
13
"value": 10
14
},
15
"option_values": [
16
{
17
"name": "size",
18
"value": "large"
19
}
20
],
21
"inventory": {
22
"total_count": 10
23
}
24
}
25
}
Example Response Body
JSON
1
{
2
"variant": {
3
"id": "00000000-0000-0000-0000-000000000000",
4
"platform_id": "12345678",
5
"product_id": "00000000-0000-0000-0000-000000000000",
6
"price": 12.34,
7
"requires_shipping": true,
8
"barcode": "0012345678901",
9
"fulfillment_service": "fedex",
10
"inventory_management": "shopify",
11
"iso_currency_code": "USD",
12
"sku": "RUTTER-1",
13
"title": "Rutter shirt (Large)",
14
"unit_cost": 12.34,
15
"variant_url": "https://rutter.com/products/shirt?size=large",
16
"description": "A Rutter Shirt. It comes in all shapes and sizes, but this one is large",
17
"images": [
18
{
19
"src": "https://rutter.com/products/shirtlarge.jpg"
20
}
21
],
22
"short_description": "Rutter shirt (Large)",
23
"option_values": [
24
{
25
"name": "size",
26
"value": "large"
27
}
28
],
29
"currency_prices": [
30
{
31
"iso_currency_code": "USD",
32
"price": 12.34
33
}
34
],
35
"weight": {
36
"unit": "kg",
37
"value": 10
38
},
39
"linked_products": [
40
{
41
"variant_id": "00000000-0000-0000-0000-000000000000",
42
"link_type": "product",
43
"sku": "RUTTER-2"
44
}
45
],
46
"inventory": {
47
"total_count": 10,
48
"locations": []
49
},
50
"created_at": "2023-01-02T02:34:56.000Z",
51
"updated_at": "2023-01-02T02:34:56.000Z"
52
}
53
}

Delete a Product Variant

DELETEhttps://production.rutterapi.com/versioned/products/:id/variants/:id

Request Parameters

    idstringpathRequired

    The Rutter generated unique ID of the variant.

    access_tokenstringqueryRequired

    The access token of the connection.

Response Body

    productIdstringRequired
    variantIdstringRequired
Support by integration
  • Shopify
    Shopify
  • Woo Commerce
    Woo Commerce
  • Squarespace
    Squarespace
  • Big Commerce
    Big Commerce
Example Response Body
JSON
1
{
2
"productId": "00000000-0000-0000-0000-000000000000",
3
"variantId": "00000000-0000-0000-0000-000000000000"
4
}

Have questions?

Contact support for personalized guidance.

Contact support
Previous
Orders