Import products from CSV
Products
Import Products CSV
Bulk import products and variants from a CSV file. Supports up to ~500 products per request.
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:| Column | Required | Description |
|---|---|---|
Product Name | Yes | Display name (e.g., “MacBook Pro 16"") |
Product SKU | Yes | Parent product SKU |
Category | Yes | Product category |
Brand | Yes | Brand/manufacturer |
Specification | Yes | Technical specs (e.g., “M3 Pro, 18GB”) |
Grade | No | Condition: A, B, C, D, E (default: A) |
Color | No | Color option |
Variant SKU | Yes | Unique SKU for this variant |
List Price | Yes | MSRP/retail price |
Acquisition Cost | Yes | Your cost to acquire |
6mo_Price | No | Monthly price for 6-month contract |
12mo_Price | No | Monthly price for 12-month contract |
24mo_Price | No | Monthly price for 24-month contract |
36mo_Price | No | Monthly price for 36-month contract |
Example CSV
Making the Request
Send the CSV file in the request body withContent-Type: text/csv:
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
| Limit | Value |
|---|---|
| Maximum file size | 10 MB |
| Maximum rows | 10,000 |
| Processing timeout | 60 seconds |
Related Endpoints
- List Products - Verify imported products
- Create Product - Add individual products
- List Variants - Query imported variants
Authorizations
API key obtained from FlexPortal dashboard
Headers
Your tenant identifier
Body
multipart/form-data
CSV file with product data