Product Import

This documentation describes the technical process for importing product data using the API.

Step-by-Step Process

Generate Signed Upload URL

Get Upload URL

Request

POST /temporary-upload-url HTTP/1.1

{
  "content_type": "text/csv",
  "file_name": "example.csv"
}

Response

{
  "path": "tmp/d24c7338-5eeb-4129-bae6-2f8e30f004bb-metaZXhhbXBsZS5jc3Y=-.csv",
  "url": "https://smake-public.s3.eu-west-1.amazonaws.com/tmp/d24c7338-5e ...",
  "headers": {
    "Content-Type": "text/csv"
  }
}

Note: The upload URL is valid for 10 minutes. Save the path value from the response – you will need it when creating the import.

Upload Content

Upload the Content

Request

PUT /temporary-upload-url?...  HTTP/1.1
Content-Type: text/plain

handle;locale;name;description;manufacturer;manufacturer_number;brand;color_handle;color_name;size_handle;size_name;code;weight;country_of_origin;hs_tariff_code;cost_price;price;tax_rate;image_front_url;image_back_url;image_left_url;image_right_url;published;is_master;external_identifier;track_inventory;sale_continue;command
HoodedSweat1;de;"DUMMY - Hooded Sweat";"DUMMY - Hooded Sweat";Dummy;DUMMY-02;Dummy;white;White;s;S;DUMMY-02-3;0,12;DE;6101209000;0;0;19;https://cdn.smake.com/kXbGm6L1aP2/signed?signature=708c970b6f1c2e5e238c7f1d2a91aee01fe46656728ff4073e6a8e444dbd2b8a;https://cdn.smake.com/L9wU7hF0L5I/signed?signature=3c1d251268cb397d34a9f8f9e0978428b8b057706be29b48ab28ab2d3b2f8e8b;https://cdn.smake.com/J3zT0Rz5U4X/signed?signature=ed2a0cb4c0e8b59dbd1ca6353b6fc9d4b3805ec51b19d72f0a85bc9c726ca514;https://cdn.smake.com/d7zHwK1p5N7/signed?signature=e77b2fb17a2c742451e4582d91c0702df159bb2d8593e16ef9f08efbfa07d03f;yes;no;;yes;yes;

Response — 201 Created

HTTP/1.1 200 OK

Note: Uploaded files will be automatically deleted after 24 hours.

Create a new import

Creates a new asynchronous import of products based on a CSV file uploaded to S3.

Parameters for creating a product import
Field Type Description Required
path string A path of csv file uploaded to S3 Yes
overwrite_existing boolean If the switch is set to true, the existing data will be overwritten. No
should_preserve_published boolean If the switch is set to true, the publishing settings for existing articles from the CSV file will be ignored. No

Request

POST /product-imports HTTP/1.1

{
    "path": "tmp/d24c7338-5eeb-4129-bae6-2f8e30f004bb-metaZXhhbXBsZS5jc3Y=-.csv",
    "overwrite_existing": true,
    "should_preserve_published": false
}

Response

HTTP/1.1 202 Accepted
Location: /product-imports/1

Note: The import runs asynchronously. Use the Location header to poll the import status.

Check Import Status

Returns a result of product import with the given id = x.

Request

GET /product-imports/1  HTTP/1.1

Response

{
  "id": 1,
  "options": {
    "overwrite_existing": true,
    "should_preserve_published": false
  },
  "state": "finished",
  "failure_message": null,
  "total_rows": 24,
  "failed_rows": 0,
  "processed_rows": 24,
  "ignored_rows": 0,
  "started_at": "2026-02-18T10:35:32+00:00",
  "finished_at": "2026-02-18T10:36:15+00:00",
  "source_file": {
    "id": 5416,
    "collection_name": "source-file",
    "file_name": "product-import-example.csv",
    "size": 14397,
    "mime_type": "text/plain",
    "download_url": "https://api.smake.test/storage/files/fb9c8ddc270843c7aaadcbd383fbaa2c/example.csv?expires=1768396599&signature=ed46888300b586baa5f31835b8a44ddddaf36cfc9ac22a42f38cf7b9fe0c09c3",
    "state": null,
    "requested": null,
    "failure_message": null,
    "created_at": "2026-02-18T10:35:29+00:00",
    "updated_at": "2026-02-18T10:35:29+00:00"
  },
  "failed_report_file": null,
  "created_at": "2026-02-18T10:35:29+00:00",
  "updated_at": "2026-02-18T10:36:15+00:00"
}

Note: If not all data was processed successfully, the field failed_report_file will be filled and you can download an error report to check where the error lies.

Example Import File

handle;locale;name;description;manufacturer;manufacturer_number;brand;color_handle;color_name;size_handle;size_name;code;weight;country_of_origin;hs_tariff_code;cost_price;price;tax_rate;image_front_url;image_back_url;image_left_url;image_right_url;published;is_master;external_identifier;track_inventory;sale_continue;command
HoodedSweat1;de;"DUMMY - Hooded Sweat";"DUMMY - Hooded Sweat";Dummy;DUMMY-02;Dummy;white;White;s;S;DUMMY-02-3;0,12;DE;6101209000;0;0;19;https://cdn.smake.com/kXbGm6L1aP2/signed?signature=708c970b6f1c2e5e238c7f1d2a91aee01fe46656728ff4073e6a8e444dbd2b8a;https://cdn.smake.com/L9wU7hF0L5I/signed?signature=3c1d251268cb397d34a9f8f9e0978428b8b057706be29b48ab28ab2d3b2f8e8b;https://cdn.smake.com/J3zT0Rz5U4X/signed?signature=ed2a0cb4c0e8b59dbd1ca6353b6fc9d4b3805ec51b19d72f0a85bc9c726ca514;https://cdn.smake.com/d7zHwK1p5N7/signed?signature=e77b2fb17a2c742451e4582d91c0702df159bb2d8593e16ef9f08efbfa07d03f;yes;no;;yes;yes;
HoodedSweat1;de;"DUMMY - Hooded Sweat";"DUMMY - Hooded Sweat";Dummy;DUMMY-02;Dummy;white;White;m;M;DUMMY-02-4;0,12;DE;6101209000;0;0;19;https://cdn.smake.com/kXbGm6L1aP2/signed?signature=708c970b6f1c2e5e238c7f1d2a91aee01fe46656728ff4073e6a8e444dbd2b8a;https://cdn.smake.com/L9wU7hF0L5I/signed?signature=3c1d251268cb397d34a9f8f9e0978428b8b057706be29b48ab28ab2d3b2f8e8b;https://cdn.smake.com/J3zT0Rz5U4X/signed?signature=ed2a0cb4c0e8b59dbd1ca6353b6fc9d4b3805ec51b19d72f0a85bc9c726ca514;https://cdn.smake.com/d7zHwK1p5N7/signed?signature=e77b2fb17a2c742451e4582d91c0702df159bb2d8593e16ef9f08efbfa07d03f;yes;no;;yes;yes;
HoodedSweat1;de;"DUMMY - Hooded Sweat";"DUMMY - Hooded Sweat";Dummy;DUMMY-02;Dummy;white;White;l;L;DUMMY-02-5;0,12;DE;6101209000;0;0;19;https://cdn.smake.com/kXbGm6L1aP2/signed?signature=708c970b6f1c2e5e238c7f1d2a91aee01fe46656728ff4073e6a8e444dbd2b8a;https://cdn.smake.com/L9wU7hF0L5I/signed?signature=3c1d251268cb397d34a9f8f9e0978428b8b057706be29b48ab28ab2d3b2f8e8b;https://cdn.smake.com/J3zT0Rz5U4X/signed?signature=ed2a0cb4c0e8b59dbd1ca6353b6fc9d4b3805ec51b19d72f0a85bc9c726ca514;https://cdn.smake.com/d7zHwK1p5N7/signed?signature=e77b2fb17a2c742451e4582d91c0702df159bb2d8593e16ef9f08efbfa07d03f;yes;no;;yes;yes;
HoodedSweat1;de;"DUMMY - Hooded Sweat";"DUMMY - Hooded Sweat";Dummy;DUMMY-02;Dummy;white;White;xl;XL;DUMMY-02-6;0,12;DE;6101209000;0;0;19;https://cdn.smake.com/kXbGm6L1aP2/signed?signature=708c970b6f1c2e5e238c7f1d2a91aee01fe46656728ff4073e6a8e444dbd2b8a;https://cdn.smake.com/L9wU7hF0L5I/signed?signature=3c1d251268cb397d34a9f8f9e0978428b8b057706be29b48ab28ab2d3b2f8e8b;https://cdn.smake.com/J3zT0Rz5U4X/signed?signature=ed2a0cb4c0e8b59dbd1ca6353b6fc9d4b3805ec51b19d72f0a85bc9c726ca514;https://cdn.smake.com/d7zHwK1p5N7/signed?signature=e77b2fb17a2c742451e4582d91c0702df159bb2d8593e16ef9f08efbfa07d03f;yes;no;;yes;yes;