SellerCenter

Import Operations

Overview

The Import API allows you to bulk import and update products, stock levels, and images through file uploads or XML payloads. Import operations are processed asynchronously in the background, making them ideal for bulk data operations.

Import operations support two formats:

  • File Upload: Upload CSV or XLSX files for bulk operations
  • XML Payload: Send XML data directly in the request body for programmatic imports

All import operations return immediately with job information, and processing happens asynchronously. Processing time depends on file size and can range from milliseconds to several minutes.

Important:

  • Only send changed data when performing bulk operations to optimize performance
  • Split large requests into manageable chunks
  • Monitor import status using the returned feedId or feedUuid
  • File uploads accept .csv or .xlsx extensions
  • XML endpoints require text/xml content type header

Update Products by File Upload

POST /v2/import/product-update

Summary: Update the products by uploading the file

Description: This endpoint allows you to update multiple products by uploading a CSV or XLSX file. The import file is processed in the background, meaning your request returns immediately with job information about the scheduled import task.

The endpoint has no limit on the amount of products in a request, however it is recommended to:

  • Send only products that have changes
  • Avoid sending products without updates
  • Split large requests into smaller chunks for better performance

Note:

  • Supported file formats: .csv or .xlsx
  • Processing happens asynchronously in the background
  • Use the returned feedId or feedUuid to track import status
  • Processing time varies based on file size (milliseconds to minutes)
POST
/v2/import/product-update

Authorization

BearerAuth
AuthorizationBearer <token>

OAuth 2.0 Bearer token authentication

In: header

Request Body

multipart/form-data

TypeScript Definitions

Use the request body type in TypeScript.

file1*string

CSV or XLSX file containing products to update

Response Body

application/json

application/json

application/json

application/json

curl -X POST "https://loading/v2/import/product-update" \  -F file1="string"
{
  "success": true,
  "message": "<b>File has been successfully uploaded.</b> Please be patient while data is being processed.",
  "errorMessages": [],
  "warningMessages": [],
  "feedId": 7,
  "feedUuid": "060cef12-08ef-4ae6-b15e-79398fedc774"
}
{
  "title": "Unprocessable Entity",
  "status": 422,
  "detail": "The provided data failed validation"
}
{
  "title": "Service Unavailable",
  "status": 500,
  "detail": "The service is temporarily unavailable. Please try again later."
}
{
  "title": "Service Unavailable Due to Maintenance Mode",
  "status": 503,
  "detail": "The service is currently under maintenance. Please try again later."
}

Create Products by File Upload

POST /v2/import/product-creation

Summary: Create products by uploading the file

Description: Create multiple products by uploading a CSV or XLSX file. The import file is processed in the background, and your request returns immediately with job information about the scheduled import task.

This endpoint is ideal for bulk product creation when you have product data in spreadsheet format. Processing time depends on the size of the imported file and can range from milliseconds to several minutes.

Note:

  • Supported file formats: .csv or .xlsx
  • Processing happens asynchronously in the background
  • Use the returned feedId or feedUuid to track import status
POST
/v2/import/product-creation

Authorization

BearerAuth
AuthorizationBearer <token>

OAuth 2.0 Bearer token authentication

In: header

Request Body

multipart/form-data

TypeScript Definitions

Use the request body type in TypeScript.

file1*string

CSV or XLSX file containing products to create

Response Body

application/json

application/json

application/json

application/json

curl -X POST "https://loading/v2/import/product-creation" \  -F file1="string"
{
  "success": true,
  "message": "<b>File has been successfully uploaded.</b> Please be patient while data is being processed.",
  "errorMessages": [],
  "warningMessages": [],
  "feedId": 7,
  "feedUuid": "060cef12-08ef-4ae6-b15e-79398fedc774"
}
{
  "title": "Unprocessable Entity",
  "status": 422,
  "detail": "The provided data failed validation"
}
{
  "title": "Service Unavailable",
  "status": 500,
  "detail": "The service is temporarily unavailable. Please try again later."
}
{
  "title": "Service Unavailable Due to Maintenance Mode",
  "status": 503,
  "detail": "The service is currently under maintenance. Please try again later."
}

Create Products by XML

POST /v2/import/product-creation-xml-import

Summary: Create the products by sending XML in the request body

Description: Create products by sending XML data directly in the request body. This endpoint accepts and sends only text/xml content type header.

Each product in the XML request can include various parameters such as SellerSku, Status, Name, Variation, ParentSku, PrimaryCategory, Categories, BrowseNodes, Description, Brand, Price, SalePrice, SaleStartDate, SaleEndDate, TaxClass, ShipmentType, ProductId, ProductData, Quantity, VolumetricWeight, and ProductGroup.

Key Parameters:

  • SellerSku: The unique identifier of the product (required)
  • Name: The name of the product as shown to the end-user (2-255 characters)
  • PrimaryCategory: The ID of the primary category (use GetCategoryTree to get category IDs)
  • Brand: The brand name of the product (mandatory)
  • Price: The product's price (Decimal type)
  • Description: Product description (6-25000 characters, HTML tags allowed if escaped)
  • Status: One of 'active', 'inactive', or 'deleted' (optional, defaults to 'active')
  • ParentSku: The unique identifier of a product with which this product should be associated
  • Variation: The value of the variation if product is available in multiple variations (e.g., colors or size)
  • ProductData: Additional product attributes that depend on the primary category

Note:

  • Endpoint accepts and sends only text/xml content type
  • Required fields: SellerSku, Name, PrimaryCategory, Description, Brand, Price
  • HTML tags in Description must be escaped as character data (use CDATA sections)
  • SalePrice must be lower than Price
  • If SalePrice is specified, either SaleStartDate or SaleEndDate must be given
POST
/v2/import/product-creation-xml-import

Authorization

BearerAuth
AuthorizationBearer <token>

OAuth 2.0 Bearer token authentication

In: header

Request Body

application/xml

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/xml

application/json

application/json

curl -X POST "https://loading/v2/import/product-creation-xml-import" \  -H "Content-Type: application/xml" \  -d '<Request>    <Product>      <SellerSku>4105382173aaee4</SellerSku>      <Name>Magic Product</Name>      <PrimaryCategory>4</PrimaryCategory>      <Description><![CDATA[This is a <b>bold</b> product.]]></Description>      <Brand>ASM</Brand>      <Price>100.00</Price>      <Quantity>10</Quantity>    </Product>  </Request>  '
"<SuccessResponse>\n  <Head>\n    <RequestId>cb106552-87f3-450b-aa8b-412246a24b34</RequestId>\n    <RequestAction>ProductCreate</RequestAction>\n    <ResponseType></ResponseType>\n    <Timestamp>2016-06-22T04:40:14+0200</Timestamp>\n  </Head>\n  <Body>\n    <WarningDetail>\n      <Field></Field>\n      <Message></Message>\n      <Value></Value>\n    </WarningDetail>\n  </Body>\n</SuccessResponse>\n"
{
  "title": "Service Unavailable",
  "status": 500,
  "detail": "The service is temporarily unavailable. Please try again later."
}
{
  "title": "Service Unavailable Due to Maintenance Mode",
  "status": 503,
  "detail": "The service is currently under maintenance. Please try again later."
}

Update Products by XML

POST /v2/import/product-update-xml-import

Summary: Update the products by sending XML in the request body

Description: Update products by sending XML data directly in the request body. This endpoint accepts and sends only text/xml content type header.

Each product in the XML request can include parameters such as SellerSku, Status, Name, Variation, ParentSku, PrimaryCategory, Categories, BrowseNodes, Description, Brand, Price, SalePrice, SaleStartDate, SaleEndDate, TaxClass, ShipmentType, ProductId, ProductData, Quantity, VolumetricWeight, and ProductGroup.

Key Parameters:

  • SellerSku: The unique identifier of the product (required)
  • Name: The name of the product as shown to the end-user (2-255 characters)
  • PrimaryCategory: The ID of the primary category
  • Brand: The brand name of the product
  • Price: The product's price (Decimal type)
  • Description: Product description (6-25000 characters, HTML tags allowed if escaped)
  • Status: One of 'active', 'inactive', or 'deleted' (optional, defaults to 'active')
  • ProductData: Additional product attributes that depend on the primary category

Note:

  • Endpoint accepts and sends only text/xml content type
  • Only SellerSku is required for updates (other fields are optional)
  • This endpoint has no limit on amount of products in request, but it's recommended to send only products with changes and split big requests into chunks
  • HTML tags in Description must be escaped as character data (use CDATA sections)
POST
/v2/import/product-update-xml-import

Authorization

BearerAuth
AuthorizationBearer <token>

OAuth 2.0 Bearer token authentication

In: header

Request Body

application/xml

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/xml

application/json

application/json

curl -X POST "https://loading/v2/import/product-update-xml-import" \  -H "Content-Type: application/xml" \  -d '<Request>    <Product>      <SellerSku>4105382173aaee4</SellerSku>      <Name>Updated Product Name</Name>      <Price>150.00</Price>    </Product>  </Request>  '
"<SuccessResponse>\n  <Head>\n    <RequestId>cb106552-87f3-450b-aa8b-412246a24b34</RequestId>\n    <RequestAction>ProductUpdate</RequestAction>\n    <ResponseType></ResponseType>\n    <Timestamp>2016-06-22T04:40:14+0200</Timestamp>\n  </Head>\n  <Body>\n    <WarningDetail>\n      <Field></Field>\n      <Message></Message>\n      <Value></Value>\n    </WarningDetail>\n  </Body>\n</SuccessResponse>\n"
{
  "title": "Service Unavailable",
  "status": 500,
  "detail": "The service is temporarily unavailable. Please try again later."
}
{
  "title": "Service Unavailable Due to Maintenance Mode",
  "status": 503,
  "detail": "The service is currently under maintenance. Please try again later."
}

Remove Products by File Upload

POST /v2/import/product-removal

Summary: Remove products by uploading the file

Description: Remove multiple products by uploading a CSV or XLSX file containing the products to be removed. The import file is processed in the background, and your request returns immediately with job information about the scheduled removal task.

Note:

  • Supported file formats: .csv or .xlsx
  • Processing happens asynchronously in the background
  • Use the returned feedId or feedUuid to track removal status
  • Processing time varies based on file size (milliseconds to minutes)
POST
/v2/import/product-removal

Authorization

BearerAuth
AuthorizationBearer <token>

OAuth 2.0 Bearer token authentication

In: header

Request Body

multipart/form-data

TypeScript Definitions

Use the request body type in TypeScript.

file1*string

CSV or XLSX file containing products to remove

Response Body

application/json

application/json

application/json

application/json

curl -X POST "https://loading/v2/import/product-removal" \  -F file1="string"
{
  "success": true,
  "message": "<b>File has been successfully uploaded.</b> Please be patient while data is being processed.",
  "errorMessages": [],
  "warningMessages": [],
  "feedId": 7,
  "feedUuid": "060cef12-08ef-4ae6-b15e-79398fedc774"
}
{
  "title": "Unprocessable Entity",
  "status": 422,
  "detail": "The provided data failed validation"
}
{
  "title": "Service Unavailable",
  "status": 500,
  "detail": "The service is temporarily unavailable. Please try again later."
}
{
  "title": "Service Unavailable Due to Maintenance Mode",
  "status": 503,
  "detail": "The service is currently under maintenance. Please try again later."
}

Update Product Stock by File Upload

POST /v2/import/stock-update

Summary: Update the products by uploading the file

Description: Update product stock levels by uploading a CSV or XLSX file. The import file is processed in the background, and your request returns immediately with job information about the scheduled stock update task.

This endpoint has no limit on the amount of products in a request, however it is recommended to:

  • Send only products that have stock changes
  • Avoid sending products without stock updates
  • Split large requests into smaller chunks for better performance

Note:

  • Supported file formats: .csv or .xlsx
  • Processing happens asynchronously in the background
  • Use the returned feedId or feedUuid to track stock update status
  • Processing time varies based on file size (milliseconds to minutes)
POST
/v2/import/stock-update

Authorization

BearerAuth
AuthorizationBearer <token>

OAuth 2.0 Bearer token authentication

In: header

Request Body

multipart/form-data

TypeScript Definitions

Use the request body type in TypeScript.

file1*string

CSV or XLSX file containing stock updates

Response Body

application/json

application/json

application/json

application/json

curl -X POST "https://loading/v2/import/stock-update" \  -F file1="string"
{
  "success": true,
  "message": "<b>File has been successfully uploaded.</b> Please be patient while data is being processed.",
  "errorMessages": [],
  "warningMessages": [],
  "feedId": 7,
  "feedUuid": "060cef12-08ef-4ae6-b15e-79398fedc774"
}
{
  "title": "Unprocessable Entity",
  "status": 422,
  "detail": "The provided data failed validation"
}
{
  "title": "Service Unavailable",
  "status": 500,
  "detail": "The service is temporarily unavailable. Please try again later."
}
{
  "title": "Service Unavailable Due to Maintenance Mode",
  "status": 503,
  "detail": "The service is currently under maintenance. Please try again later."
}

Update Product Stock by XML

POST /v2/import/product-stock-update-xml

Summary: Update the product stocks by sending XML in the request body

Description: Update product stock levels by sending XML data directly in the request body. Each product is represented by a Product tag which includes SellerSku and Quantity. SellerSku is the unique identifier of the product, and Quantity is the stock level for that product.

This endpoint accepts and sends only text/xml content type header. The endpoint has no limit on the amount of products in a request, however it is recommended to send only products with stock changes and split big requests into chunks.

Note:

  • Endpoint accepts and sends only text/xml content type
  • Each Product tag requires SellerSku (unique identifier) and Quantity (stock level)
  • Only send products that have stock changes
  • Split large requests into smaller chunks for better performance
POST
/v2/import/product-stock-update-xml

Authorization

BearerAuth
AuthorizationBearer <token>

OAuth 2.0 Bearer token authentication

In: header

Request Body

application/xml

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/xml

application/json

application/json

curl -X POST "https://loading/v2/import/product-stock-update-xml" \  -H "Content-Type: application/xml" \  -d '<Request>    <Product>      <SellerSku>AAA3</SellerSku>      <Quantity>1030</Quantity>    </Product>    <Product>      <SellerSku>AAA1</SellerSku>      <Quantity>1010</Quantity>    </Product>  </Request>  '
"<SuccessResponse>\n  <Head>\n    <RequestId>1adf8fc6-a08f-47d5-9613-e2af40243e2f</RequestId>\n    <RequestAction>ProductStockUpdate</RequestAction>\n    <ResponseType></ResponseType>\n    <Timestamp>2023-05-26T17:26:50+0200</Timestamp>\n  </Head>\n  <Body>\n    <WarningDetail>\n      <Field></Field>\n      <Message></Message>\n      <Value></Value>\n    </WarningDetail>\n  </Body>\n</SuccessResponse>\n"
{
  "title": "Service Unavailable",
  "status": 500,
  "detail": "The service is temporarily unavailable. Please try again later."
}
{
  "title": "Service Unavailable Due to Maintenance Mode",
  "status": 503,
  "detail": "The service is currently under maintenance. Please try again later."
}

Update Product Images by File Upload

POST /v2/import/image-update

Summary: Update the products' images by uploading the file

Description: Update product images by uploading a CSV or XLSX file. The import file is processed in the background, and your request returns immediately with job information about the scheduled image update task.

Note:

  • Supported file formats: .csv or .xlsx
  • Processing happens asynchronously in the background
  • Use the returned feedId or feedUuid to track image update status
  • Processing time varies based on file size (milliseconds to minutes)
POST
/v2/import/image-update

Authorization

BearerAuth
AuthorizationBearer <token>

OAuth 2.0 Bearer token authentication

In: header

Request Body

multipart/form-data

TypeScript Definitions

Use the request body type in TypeScript.

file1*string

CSV or XLSX file containing image updates

Response Body

application/json

application/json

application/json

application/json

curl -X POST "https://loading/v2/import/image-update" \  -F file1="string"
{
  "success": true,
  "message": "<b>File has been successfully uploaded.</b> Please be patient while data is being processed.",
  "errorMessages": [],
  "warningMessages": [],
  "feedId": 7,
  "feedUuid": "060cef12-08ef-4ae6-b15e-79398fedc774"
}
{
  "title": "Unprocessable Entity",
  "status": 422,
  "detail": "The provided data failed validation"
}
{
  "title": "Service Unavailable",
  "status": 500,
  "detail": "The service is temporarily unavailable. Please try again later."
}
{
  "title": "Service Unavailable Due to Maintenance Mode",
  "status": 503,
  "detail": "The service is currently under maintenance. Please try again later."
}

User Import Operations

Execute API Key Removal Import

POST /v2/users/import/api_keys/removal

Summary: Execute API key removal import

Description: Remove API keys in bulk by uploading a file containing the API keys to be removed.

POST
/v2/users/import/api_keys/removal

Authorization

BearerAuth
AuthorizationBearer <token>

OAuth 2.0 Bearer token authentication

In: header

Request Body

multipart/form-data

TypeScript Definitions

Use the request body type in TypeScript.

file1*string

CSV or XLSX file containing API keys to remove

Response Body

application/json

application/json

application/json

application/json

curl -X POST "https://loading/v2/users/import/api_keys/removal" \  -F file1="string"
{
  "success": true,
  "message": "<b>File has been successfully uploaded.</b> Please be patient while data is being processed.",
  "errorMessages": [],
  "warningMessages": [
    "Unknown field: Country"
  ],
  "feedId": 7,
  "feedUuid": "060cef12-08ef-4ae6-b15e-79398fedc774"
}
{
  "title": "Unprocessable Entity",
  "status": 422,
  "detail": "The provided data failed validation"
}
{
  "title": "Service Unavailable",
  "status": 500,
  "detail": "The service is temporarily unavailable. Please try again later."
}
{
  "title": "Service Unavailable Due to Maintenance Mode",
  "status": 503,
  "detail": "The service is currently under maintenance. Please try again later."
}

Execute Seller Access Import

POST /v2/users/import/seller_access

Summary: Execute seller access import

Description: Import seller access permissions in bulk by uploading a file containing the access data.

POST
/v2/users/import/seller_access

Authorization

BearerAuth
AuthorizationBearer <token>

OAuth 2.0 Bearer token authentication

In: header

Request Body

multipart/form-data

TypeScript Definitions

Use the request body type in TypeScript.

file1*string

CSV or XLSX file containing seller access data

Response Body

application/json

application/json

application/json

application/json

curl -X POST "https://loading/v2/users/import/seller_access" \  -F file1="string"
{
  "success": true,
  "message": "<b>File has been successfully uploaded.</b> Please be patient while data is being processed.",
  "errorMessages": [],
  "warningMessages": [
    "Unknown field: Country"
  ],
  "feedId": 7,
  "feedUuid": "060cef12-08ef-4ae6-b15e-79398fedc774"
}
{
  "title": "Unprocessable Entity",
  "status": 422,
  "detail": "The provided data failed validation"
}
{
  "title": "Service Unavailable",
  "status": 500,
  "detail": "The service is temporarily unavailable. Please try again later."
}
{
  "title": "Service Unavailable Due to Maintenance Mode",
  "status": 503,
  "detail": "The service is currently under maintenance. Please try again later."
}

Import User Status

POST /v2/users/import/status

Summary: Import user status

Description: Update user statuses in bulk by uploading a file containing the user status updates.

POST
/v2/users/import/status

Authorization

BearerAuth
AuthorizationBearer <token>

OAuth 2.0 Bearer token authentication

In: header

Request Body

multipart/form-data

TypeScript Definitions

Use the request body type in TypeScript.

file1*string

CSV or XLSX file containing user status updates

Response Body

application/json

application/json

application/json

application/json

curl -X POST "https://loading/v2/users/import/status" \  -F file1="string"
{
  "success": true,
  "message": "<b>File has been successfully uploaded.</b> Please be patient while data is being processed.",
  "errorMessages": [],
  "warningMessages": [
    "Unknown field: Country"
  ],
  "feedId": 7,
  "feedUuid": "060cef12-08ef-4ae6-b15e-79398fedc774"
}
{
  "title": "Unprocessable Entity",
  "status": 422,
  "detail": "The provided data failed validation"
}
{
  "title": "Service Unavailable",
  "status": 500,
  "detail": "The service is temporarily unavailable. Please try again later."
}
{
  "title": "Service Unavailable Due to Maintenance Mode",
  "status": 503,
  "detail": "The service is currently under maintenance. Please try again later."
}

On this page