Skip to main content
POST
Import products from CSV

Overview

Bulk import products and variants from a CSV file. This is the fastest way to populate your catalog when onboarding or syncing from external systems.
This endpoint uses upsert behavior: existing products (matched by Product SKU) are updated, and new products are created. Variants are matched by Variant SKU.

Common Use Cases

Initial Catalog Setup

Quickly populate your catalog when first setting up FlexPortal

Supplier Updates

Import updated pricing or new products from supplier catalogs

Bulk Price Changes

Update pricing across many products at once

Inventory Sync

Periodic sync from inventory management systems

CSV Format

The CSV file must include a header row with these columns:

Example CSV

Making the Request

Send the CSV file in the request body with Content-Type: text/csv:
Or with JavaScript:

Response

Error Handling

If some rows fail validation, the import continues and returns errors:

Best Practices

Validate First

Test with a small sample before importing large catalogs

Consistent SKUs

Use a consistent SKU naming convention for easy management

Include All Pricing

Provide all contract length prices you want to offer

UTF-8 Encoding

Save CSV files with UTF-8 encoding for special characters

Limits

For very large catalogs (10,000+ products), split into multiple files and import in batches.

Authorizations

Authorization
string
header
required

API key obtained from FlexPortal dashboard

Headers

Tenant-ID
string
required

Your tenant identifier

Body

multipart/form-data
csvFile
file
required

CSV file with product data

Response

Import completed

success
boolean
required
message
string
required
created
number
required

Products created

updated
number
required

Products updated

errors
object[]