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.

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.

    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.

    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

    productsarray
    Show products attributes
    next_cursorstringnullable
    connectionobject
    Show connection attributes
Support by integration
  • Shopify
    Shopify
  • WooCommerce
    WooCommerce
  • Amazon
    Amazon
  • eBay
    eBay
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
}
82
],
83
"next_cursor": "MTY3NDgzMTk0Ml82MDY4ZDI0ZC02NGRmLTRmN2EtYTM0Ny0zN2ZmNjY5MGVmMjU=",
84
"connection": {
85
"id": "00000000-0000-0000-0000-000000000000",
86
"orgId": "00000000-0000-0000-0000-000000000000",
87
"platform": "SHOPIFY"
88
}
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_fetchenumqueryOptional

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

    One oftrue or false.

Response Body

    productobject
    Show product attributes
    connectionobject
    Show connection attributes
Support by integration
  • Shopify
    Shopify
  • WooCommerce
    WooCommerce
  • Amazon
    Amazon
  • eBay
    eBay
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
"connection": {
82
"id": "00000000-0000-0000-0000-000000000000",
83
"orgId": "00000000-0000-0000-0000-000000000000",
84
"platform": "SHOPIFY"
85
}
86
}

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

    categoriesarray
    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

    productobject
    Show product attributes

Response Body

    Any of:

    async_responseobject
    Show async_response attributes
    productobject
    Show product attributes
Support by integration
  • Shopify
    Shopify
  • WooCommerce
    WooCommerce
  • 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

    productobject
    Show product attributes

Response Body

    productobject
    Show product attributes
Support by integration
  • Shopify
    Shopify
  • WooCommerce
    WooCommerce
  • 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

    productstring

    Id of the deleted product

    successboolean

    true if the delete operation succeeded.

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

    variantobject
    Show variant attributes

Response Body

    variantobject
    Show variant attributes
Support by integration
  • Shopify
    Shopify
  • WooCommerce
    WooCommerce
  • 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

    variantobject
    Show variant attributes

Response Body

    variantobject
    Show variant attributes
Support by integration
  • Shopify
    Shopify
  • WooCommerce
    WooCommerce
  • 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

    productIdstring
    variantIdstring
Support by integration
  • Shopify
    Shopify
  • WooCommerce
    WooCommerce
  • 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