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

idstring

The Rutter generated unique ID of the product.

platform_idstringOptional

The platform specific ID of the product.

category_idstringnullableOptional

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.

descriptionstring

The description of the product.

namestring

The name of the product.

typestring

The unstandardized type or categorization of the product.

product_urlstringOptional

The consumer facing URL used to access the product online.

imagesarray

An array of images linked to the product.

Show images attributes
status

The status of the product.

tagsarray

An array of tags linked to the product.

String array.

variantsarray

An array of Variants linked to the product.

Show variants attributes
created_atstring

The ISO 8601 timestamp that the product was created.

updated_atstring

The ISO 8601 timestamp that the product was last updated.

platform_dataobjectOptional
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/:variantId

List Products

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

Request Parameters

    access_tokenstringqueryRequired

    The access token of the connection.

    cursorstringqueryOptional

    Used to paginate to the next batch of objects. Should be a copy of the next_cursor value from the previous response.

    limitintegerqueryOptional

    Used to limit the number of returned objects. Defaults to 50.

    expandqueryOptional

    Include platform specific data (includes additional fields not provided by the Rutter object).

    created_at_maxintegerqueryOptional

    Used to filter objects with a created_at value less than or equal to the supplied value. Should be a Unix time in milliseconds.

    created_at_minintegerqueryOptional

    Used to filter objects with a created_at value greater than or equal to the supplied value. Should be a Unix time in milliseconds.

    namestringqueryOptional

    Filter products by names similar to the input.

    statusenumqueryOptional

    Show products with certain product status.

    One ofactivearchivedinactive, or draft.
    updated_at_maxintegerqueryOptional

    Used to filter objects with a updated_at value less than or equal to the supplied value. Should be a Unix time in milliseconds.

    updated_at_minintegerqueryOptional

    Used to filter objects with a updated_at value greater than or equal to the supplied value. Should be a Unix time in milliseconds.

    force_fetchenumqueryOptional

    Used to force a response even if the underlying connection has not finished its initial sync.

    One oftrue or false.

Response Body

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

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_fetchenumqueryOptional

    Used to force a response even if the underlying connection has not finished its initial sync.

    One oftrue or false.

Response Body

Support by integration
  • Shopify
    Shopify
  • WooCommerce
    WooCommerce
  • Amazon
    Amazon
  • Wix
    Wix
200
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
"platform_data": {
81
"id": 123,
82
"data": "Varies by platform"
83
}
84
},
85
"connection": {
86
"id": "00000000-0000-0000-0000-000000000000",
87
"orgId": "00000000-0000-0000-0000-000000000000",
88
"platform": "SHOPIFY"
89
}
90
}

List Product Categories

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

Request Parameters

    access_tokenstringqueryRequired

    The access token of the connection.

    idstringqueryOptional

    Only fetch a specific product category id.

    force_fetchenumqueryOptional

    Used to force a response even if the underlying connection has not finished its initial sync.

    One oftrue or false.

Response Body

Support by integration
  • Shopify
    Shopify
  • Amazon
    Amazon
  • Etsy
    Etsy
  • Big Commerce
    Big Commerce
200
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

    productobject
    Show product attributes

Response Body

Support by integration
  • Shopify
    Shopify
  • WooCommerce
    WooCommerce
  • Amazon
    Amazon
  • Wix
    Wix
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
}
200
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
"platform_data": {
81
"id": 123,
82
"data": "Varies by platform"
83
}
84
}
85
}

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

    productobject
    Show product attributes

Response Body

Support by integration
  • Shopify
    Shopify
  • WooCommerce
    WooCommerce
  • Wix
    Wix
  • Squarespace
    Squarespace
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
}
200
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
"platform_data": {
81
"id": 123,
82
"data": "Varies by platform"
83
}
84
}
85
}

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

Support by integration
  • Shopify
    Shopify
  • WooCommerce
    WooCommerce
  • Wix
    Wix
  • Squarespace
    Squarespace
200
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

    idstringpathRequired

    The Rutter generated unique ID of the object.

    access_tokenstringqueryRequired

    The access token of the connection.

Request Body

    variantobject
    Show variant attributes

Response Body

Support by integration
  • Shopify
    Shopify
  • WooCommerce
    WooCommerce
  • Wix
    Wix
  • Squarespace
    Squarespace
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
}
200
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
"platform_data": {
53
"id": 123,
54
"data": "Varies by platform"
55
}
56
}
57
}

Update a Product Variant

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

You can get the Product ID :id and Variant ID :variantId when you call the GET /products endpoint.

Request Parameters

    idstringpathRequired

    The Rutter generated unique ID of the object.

    variantIdstringpathRequired

    The Rutter generated unique ID of the variant.

    access_tokenstringqueryRequired

    The access token of the connection.

Request Body

    variantobject
    Show variant attributes

Response Body

Support by integration
  • Shopify
    Shopify
  • WooCommerce
    WooCommerce
  • Wix
    Wix
  • Squarespace
    Squarespace
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
}
200
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
"platform_data": {
53
"id": 123,
54
"data": "Varies by platform"
55
}
56
}
57
}

Delete a Product Variant

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

You can get the Product ID :id and Variant ID :variantId when you call the GET /products endpoint.

Request Parameters

    idstringpathRequired

    The Rutter generated unique ID of the object.

    variantIdstringpathRequired

    The Rutter generated unique ID of the variant.

    access_tokenstringqueryRequired

    The access token of the connection.

Response Body

Support by integration
  • Shopify
    Shopify
  • WooCommerce
    WooCommerce
  • Wix
    Wix
  • Squarespace
    Squarespace
200
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
Next
Store