Import Data Using Template
POST/api/csv-templates/import
Imports data from a CSV file using the specified template. Supports preview mode to validate the file before committing.
This endpoint currently requires session authentication; Personal Access Token scope support is in progress.
Authentication: Requires Bearer token (Power User access required)
Request body (multipart/form-data):
- file (file, required unless tmp_file): The CSV file to import
- tmp_file (string, required unless file): Path to a previously uploaded temporary file
- template_id (integer, required unless model): ID of the template to use
- model (string, required unless template_id): Model type for auto-detecting the template. Values: product, sales_order, product_brand, supplier
- preview (boolean, optional): If true, returns a 10-row preview without importing (default: false)
Requires permission: csv_templates.import
Request
Responses
- 200
- 401
- 403
- 422
- 429
OK
Response Headers
Unauthenticated — the bearer token is missing, revoked, expired, or malformed. Never retry automatically; fix the credential. See the Errors guide.
Forbidden — the token lacks a required scope, the endpoint is not available to API tokens, or the user behind the token lacks the permission. A human must adjust the token scopes or user permissions; do not retry.
Validation failed — the body is a field → messages map (Laravel shape) or the platform envelope with a stable machine-readable code. Fix the payload and resubmit.
Rate limited — platform limit is 1,000 requests/min; individual tokens may carry lower limits. Honor the Retry-After header before retrying. See the Rate Limits guide.