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
idstringThe Rutter generated unique ID of the product.
platform_idstringOptionalThe platform specific ID of the product.
category_idstringnullableOptionalThe 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.
descriptionstringThe description of the product.
namestringThe name of the product.
typestringThe unstandardized type or categorization of the product.
product_urlstringOptionalThe consumer facing URL used to access the product online.
imagesarrayAn array of images linked to the product.
images attributesstatusThe status of the product.
tagsarrayAn array of tags linked to the product.
String array.
variantsarrayAn array of Variants linked to the product. For Shopify, we only return the first 250 variants.
variants attributescreated_atstringThe ISO 8601 timestamp that the product was created.
updated_atstringThe ISO 8601 timestamp that the product was last updated.
platform_dataobjectOptionalList Products
Request Parameters
access_tokenstringqueryRequiredThe access token of the connection.
cursorstringqueryOptionalUsed to paginate to the next batch of objects. Should be a copy of the next_cursor value from the previous response.
limitintegerqueryOptionalUsed to limit the number of returned objects. Defaults to 50.
expandqueryOptionalInclude platform specific data (includes additional fields not provided by the Rutter object).
created_at_maxintegerqueryOptionalUsed 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_minintegerqueryOptionalUsed to filter objects with a created_at value greater than or equal to the supplied value. Should be a Unix time in milliseconds.
namestringqueryOptionalFilter products by names similar to the input.
statusenumqueryOptionalShow products with certain product status.
updated_at_maxintegerqueryOptionalUsed 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_minintegerqueryOptionalUsed to filter objects with a updated_at value greater than or equal to the supplied value. Should be a Unix time in milliseconds.
force_fetchenumqueryOptionalUsed to force a response even if the underlying connection has not finished its initial sync.
Response Body
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
Request Parameters
idstringpathRequiredThe Rutter generated unique ID of the object.
access_tokenstringqueryRequiredThe access token of the connection.
force_fetchenumqueryOptionalUsed to force a response even if the underlying connection has not finished its initial sync.
Response Body
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
Request Parameters
access_tokenstringqueryRequiredThe access token of the connection.
idstringqueryOptionalOnly fetch a specific product category id.
force_fetchenumqueryOptionalUsed to force a response even if the underlying connection has not finished its initial sync.
Response Body
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
Request Parameters
access_tokenstringqueryRequiredThe access token of the connection.
Request Body
productobjectproduct attributesResponse Body
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}
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
Request Parameters
idstringpathRequiredThe Rutter generated unique ID of the object.
access_tokenstringqueryRequiredThe access token of the connection.
Request Body
productobjectproduct attributesResponse Body
1{
2 "product": {
3 "description": "A Rutter Shirt. It comes in all shapes and sizes.",
4 "name": "Rutter shirt",
5 "status": "active"
6 }
7}
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
Request Parameters
idstringpathRequiredThe Rutter generated unique ID of the object.
access_tokenstringqueryRequiredThe access token of the connection.
Response Body
1{
2 "product": "00000000-0000-0000-0000-000000000000",
3 "success": true
4}
Create a Product Variant
Request Parameters
idstringpathRequiredThe Rutter generated unique ID of the object.
access_tokenstringqueryRequiredThe access token of the connection.
Request Body
variantobjectvariant attributesResponse Body
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}
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
You can get the Product ID :id and Variant ID :variantId when you call the GET /products endpoint.
Request Parameters
idstringpathRequiredThe Rutter generated unique ID of the object.
variantIdstringpathRequiredThe Rutter generated unique ID of the variant.
access_tokenstringqueryRequiredThe access token of the connection.
Request Body
variantobjectvariant attributesResponse Body
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}
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
You can get the Product ID :id and Variant ID :variantId when you call the GET /products endpoint.
Request Parameters
idstringpathRequiredThe Rutter generated unique ID of the object.
variantIdstringpathRequiredThe Rutter generated unique ID of the variant.
access_tokenstringqueryRequiredThe access token of the connection.
Response Body
1{
2 "productId": "00000000-0000-0000-0000-000000000000",
3 "variantId": "00000000-0000-0000-0000-000000000000"
4}
Have questions?
Contact support for personalized guidance.