Import
Import
List all import templates
Required permission: TENANT.ADMIN
Reference to a tenant.
^[A-Za-z0-9-_]+
Reference to a specific page in a result set.
The number of items per page in a result set.
Defines which field the resource list is sorted by.
ENUM | Description |
---|---|
ASC | Sort in ascending order |
DESC | Sort in descending order |
Example response
GET /v2/tenants/{tenantUid}/imports/templates HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
Example response
{
"items": [
{
"templateUid": "text",
"createdBy": "text",
"createdAt": "2025-09-12T22:46:23.116Z",
"lastModifiedBy": "text",
"lastModifiedAt": "2025-09-12T22:46:23.116Z",
"layouts": [
{
"layoutUid": "text",
"createdBy": "text",
"createdAt": "2025-09-12T22:46:23.116Z",
"lastModifiedBy": "text",
"lastModifiedAt": "2025-09-12T22:46:23.116Z",
"conversions": [
{
"conversionUid": "text",
"createdAt": "2025-09-12T22:46:23.116Z",
"createdBy": "text",
"lastModifiedAt": "2025-09-12T22:46:23.116Z",
"lastModifiedBy": "text",
"fromValue": "text",
"toValue": "text"
}
],
"fieldName": "text",
"value": "text"
}
],
"name": "text",
"description": "text",
"entity": "PRODUCTS",
"importFormat": "EXCEL"
}
],
"paging": {
"pageNumber": 1,
"pageSize": 1,
"totalCount": 1
}
}
Create import template
Required permission: TENANT.ADMIN
Reference to a tenant.
^[A-Za-z0-9-_]+
ENUM | Description |
---|---|
PRODUCTS | Import products |
PRICES | Import prices |
PRODUCT_GROUPS | Import product groups |
BRANDS | Import brands |
CUSTOMERS | Import customers |
STOCK | Import stock values |
SUPPLIER_PRODUCT | Import Product supplier information |
SUPPLIERS | Import suppliers |
ENUM | Description |
---|---|
EXCEL | XLS file |
^[A-Za-z0-9-_]+
Example response
POST /v2/tenants/{tenantUid}/imports/templates HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 100
{
"name": "text",
"description": "text",
"entity": "PRODUCTS",
"importFormat": "EXCEL",
"templateUid": "text"
}
Example response
{
"templateUid": "text",
"createdBy": "text",
"createdAt": "2025-09-12T22:46:23.116Z",
"lastModifiedBy": "text",
"lastModifiedAt": "2025-09-12T22:46:23.116Z",
"layouts": [
{
"layoutUid": "text",
"createdBy": "text",
"createdAt": "2025-09-12T22:46:23.116Z",
"lastModifiedBy": "text",
"lastModifiedAt": "2025-09-12T22:46:23.116Z",
"conversions": [
{
"conversionUid": "text",
"createdAt": "2025-09-12T22:46:23.116Z",
"createdBy": "text",
"lastModifiedAt": "2025-09-12T22:46:23.116Z",
"lastModifiedBy": "text",
"fromValue": "text",
"toValue": "text"
}
],
"fieldName": "text",
"value": "text"
}
],
"name": "text",
"description": "text",
"entity": "PRODUCTS",
"importFormat": "EXCEL"
}
Get import template details. When includeLayouts is true, the response contains all layouts for the template. If includeConversions is also true, the response also contains all conversions for every layout. includeConversions is only honored if includeLayouts is true
Reference to a tenant.
^[A-Za-z0-9-_]+
Reference to a import template.
^[A-Za-z0-9-_]+
Include layouts in response
Include conversions in response
Example response
GET /v2/tenants/{tenantUid}/imports/templates/{importTemplateUid} HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
Example response
{
"templateUid": "text",
"createdBy": "text",
"createdAt": "2025-09-12T22:46:23.116Z",
"lastModifiedBy": "text",
"lastModifiedAt": "2025-09-12T22:46:23.116Z",
"layouts": [
{
"layoutUid": "text",
"createdBy": "text",
"createdAt": "2025-09-12T22:46:23.116Z",
"lastModifiedBy": "text",
"lastModifiedAt": "2025-09-12T22:46:23.116Z",
"conversions": [
{
"conversionUid": "text",
"createdAt": "2025-09-12T22:46:23.116Z",
"createdBy": "text",
"lastModifiedAt": "2025-09-12T22:46:23.116Z",
"lastModifiedBy": "text",
"fromValue": "text",
"toValue": "text"
}
],
"fieldName": "text",
"value": "text"
}
],
"name": "text",
"description": "text",
"entity": "PRODUCTS",
"importFormat": "EXCEL"
}
Update import template
Required permission: TENANT.ADMIN
Reference to a tenant.
^[A-Za-z0-9-_]+
Reference to a import template.
^[A-Za-z0-9-_]+
Example response
PUT /v2/tenants/{tenantUid}/imports/templates/{importTemplateUid} HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 36
{
"name": "text",
"description": "text"
}
Example response
{
"templateUid": "text",
"createdBy": "text",
"createdAt": "2025-09-12T22:46:23.116Z",
"lastModifiedBy": "text",
"lastModifiedAt": "2025-09-12T22:46:23.116Z",
"layouts": [
{
"layoutUid": "text",
"createdBy": "text",
"createdAt": "2025-09-12T22:46:23.116Z",
"lastModifiedBy": "text",
"lastModifiedAt": "2025-09-12T22:46:23.116Z",
"conversions": [
{
"conversionUid": "text",
"createdAt": "2025-09-12T22:46:23.116Z",
"createdBy": "text",
"lastModifiedAt": "2025-09-12T22:46:23.116Z",
"lastModifiedBy": "text",
"fromValue": "text",
"toValue": "text"
}
],
"fieldName": "text",
"value": "text"
}
],
"name": "text",
"description": "text",
"entity": "PRODUCTS",
"importFormat": "EXCEL"
}
Delete an Import template
Required permission: TENANT.ADMIN
Reference to a tenant.
^[A-Za-z0-9-_]+
Reference to a import template.
^[A-Za-z0-9-_]+
No Content
No content
DELETE /v2/tenants/{tenantUid}/imports/templates/{importTemplateUid} HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No Content
No content
List layouts for a import template
Required permission: TENANT.ADMIN
Reference to a tenant.
^[A-Za-z0-9-_]+
Reference to a import template.
^[A-Za-z0-9-_]+
Reference to a specific page in a result set.
The number of items per page in a result set.
Defines which field the resource list is sorted by.
ENUM | Description |
---|---|
ASC | Sort in ascending order |
DESC | Sort in descending order |
Example response
GET /v2/tenants/{tenantUid}/imports/templates/{importTemplateUid}/layouts HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
Example response
{
"items": [
{
"layoutUid": "text",
"createdBy": "text",
"createdAt": "2025-09-12T22:46:23.116Z",
"lastModifiedBy": "text",
"lastModifiedAt": "2025-09-12T22:46:23.116Z",
"conversions": [
{
"conversionUid": "text",
"createdAt": "2025-09-12T22:46:23.116Z",
"createdBy": "text",
"lastModifiedAt": "2025-09-12T22:46:23.116Z",
"lastModifiedBy": "text",
"fromValue": "text",
"toValue": "text"
}
],
"fieldName": "text",
"value": "text"
}
],
"paging": {
"pageNumber": 1,
"pageSize": 1,
"totalCount": 1
}
}
Create layout for an import template
Required permission: TENANT.ADMIN
Reference to a tenant.
^[A-Za-z0-9-_]+
Reference to a import template.
^[A-Za-z0-9-_]+
Example response
POST /v2/tenants/{tenantUid}/imports/templates/{importTemplateUid}/layouts HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 54
{
"fieldName": "text",
"value": "text",
"layoutUid": "text"
}
Example response
{
"layoutUid": "text",
"createdBy": "text",
"createdAt": "2025-09-12T22:46:23.116Z",
"lastModifiedBy": "text",
"lastModifiedAt": "2025-09-12T22:46:23.116Z",
"conversions": [
{
"conversionUid": "text",
"createdAt": "2025-09-12T22:46:23.116Z",
"createdBy": "text",
"lastModifiedAt": "2025-09-12T22:46:23.116Z",
"lastModifiedBy": "text",
"fromValue": "text",
"toValue": "text"
}
],
"fieldName": "text",
"value": "text"
}
Get import layout details
Reference to a tenant.
^[A-Za-z0-9-_]+
Reference to a import template.
^[A-Za-z0-9-_]+
Reference to a import layout.
^[A-Za-z0-9-_]+
Include conversions in response
Example response
GET /v2/tenants/{tenantUid}/imports/templates/{importTemplateUid}/layouts/{importLayoutUid} HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
Example response
{
"layoutUid": "text",
"createdBy": "text",
"createdAt": "2025-09-12T22:46:23.116Z",
"lastModifiedBy": "text",
"lastModifiedAt": "2025-09-12T22:46:23.116Z",
"conversions": [
{
"conversionUid": "text",
"createdAt": "2025-09-12T22:46:23.116Z",
"createdBy": "text",
"lastModifiedAt": "2025-09-12T22:46:23.116Z",
"lastModifiedBy": "text",
"fromValue": "text",
"toValue": "text"
}
],
"fieldName": "text",
"value": "text"
}
Update import layout
Required permission: TENANT.ADMIN
Reference to a tenant.
^[A-Za-z0-9-_]+
Reference to a import template.
^[A-Za-z0-9-_]+
Reference to a import layout.
^[A-Za-z0-9-_]+
Entity field name in FlowRetail
Static value, or reference to field in import file.
Example: For EXCEL import use A
to get the value from column A
Example response
PUT /v2/tenants/{tenantUid}/imports/templates/{importTemplateUid}/layouts/{importLayoutUid} HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 35
{
"fieldName": "text",
"value": "text"
}
Example response
{
"layoutUid": "text",
"createdBy": "text",
"createdAt": "2025-09-12T22:46:23.116Z",
"lastModifiedBy": "text",
"lastModifiedAt": "2025-09-12T22:46:23.116Z",
"conversions": [
{
"conversionUid": "text",
"createdAt": "2025-09-12T22:46:23.116Z",
"createdBy": "text",
"lastModifiedAt": "2025-09-12T22:46:23.116Z",
"lastModifiedBy": "text",
"fromValue": "text",
"toValue": "text"
}
],
"fieldName": "text",
"value": "text"
}
Delete an Import layout
Required permission: TENANT.ADMIN
Reference to a tenant.
^[A-Za-z0-9-_]+
Reference to a import template.
^[A-Za-z0-9-_]+
Reference to a import layout.
^[A-Za-z0-9-_]+
No Content
No content
DELETE /v2/tenants/{tenantUid}/imports/templates/{importTemplateUid}/layouts/{importLayoutUid} HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No Content
No content
List import files. Use query parameter to narrow list
Reference to a tenant.
^[A-Za-z0-9-_]+
Reference to a Import Template.
Reference to a specific page in a result set.
The number of items per page in a result set.
Defines which field the resource list is sorted by.
ENUM | Description |
---|---|
ASC | Sort in ascending order |
DESC | Sort in descending order |
ENUM | Description |
---|---|
NOT_STARTED | Import not started |
IMPORT_IN_PROGRESS | Import is running |
IMPORT_ABORT | Import is aborting |
IMPORT_ABORTED | Import has been aborted |
VALIDATE_IN_PROGRESS | Validate is running |
COMPLETE_NOTHING_TO_IMPORT | Import is done, but there where nothing to import |
COMPLETE | Import complete |
VALIDATE_FAILED | Validate failed |
IMPORT_FAILED | Import failed |
IMPORT_ABORT | Import is aborting |
IMPORT_ABORTED | Import has been aborted |
READY_TO_IMPORT | Validation OK, import is ready |
Example response
GET /v2/tenants/{tenantUid}/imports/files HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
Example response
{
"items": [
{
"importFileUid": "text",
"template": {
"templateUid": "text",
"createdBy": "text",
"createdAt": "2025-09-12T22:46:23.116Z",
"lastModifiedBy": "text",
"lastModifiedAt": "2025-09-12T22:46:23.116Z",
"layouts": [
{
"layoutUid": "text",
"createdBy": "text",
"createdAt": "2025-09-12T22:46:23.116Z",
"lastModifiedBy": "text",
"lastModifiedAt": "2025-09-12T22:46:23.116Z",
"conversions": [
{
"conversionUid": "text",
"createdAt": "2025-09-12T22:46:23.116Z",
"createdBy": "text",
"lastModifiedAt": "2025-09-12T22:46:23.116Z",
"lastModifiedBy": "text",
"fromValue": "text",
"toValue": "text"
}
],
"fieldName": "text",
"value": "text"
}
],
"name": "text",
"description": "text",
"entity": "PRODUCTS",
"importFormat": "EXCEL"
},
"createdBy": "text",
"createdAt": "2025-09-12T22:46:23.116Z",
"lastModifiedBy": "text",
"lastModifiedAt": "2025-09-12T22:46:23.116Z",
"state": "NOT_STARTED",
"filename": "text",
"columnCount": 1,
"rowCount": 1,
"progressCount": 1,
"errorCount": 1,
"ignoredCount": 1,
"estimatedRemainingTime": 1,
"estimatedRemainingTimeText": "text",
"totalTime": 1,
"operation": "INSERT",
"errorMessage": "text"
}
],
"paging": {
"pageNumber": 1,
"pageSize": 1,
"totalCount": 1
}
}
This will create and return a new import file record with state NOT_STARTED
and the importFileUid
.
The validation and import is processed in a new thread
that will update the import progress every 5 seconds.
To fetch the current state, use the Get import-file details
endpoint.
Use action PROCESS
to commit the import upon validation.
If no errors occur the import state is COMPLETE
.
Use action SIMULATE
if you do not want to commit the import data and only validat.
If no errors occur the import state will be READY_TO_IMPORT
.
Use the Execute import content
endpoint to abort the processing or
to commit (execute) a successful simulation.
Reference to a tenant.
^[A-Za-z0-9-_]+
^[A-Za-z0-9-_]+
base64 encoded data to be processed
ENUM | Description |
---|---|
INSERT | Only insert non-existing records, existing records will be ignored |
UPDATE | Only update existing records, non-existing records will be ignored |
UPSERT | non-existing records will be inserted, existing records will be updated |
ENUM | Description |
---|---|
SIMULATE | Do a simulate on import. Return content without saving |
PROCESS | Process file with given template. Save file if no errors |
^[A-Za-z0-9-_]+
Example response
POST /v2/tenants/{tenantUid}/imports/files HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 106
{
"templateUid": "text",
"base64Data": "text",
"operation": "INSERT",
"action": "SIMULATE",
"importFileUid": "text"
}
Example response
{
"templateUid": "text",
"base64Data": "text",
"contentType": "text",
"action": "SIMULATE",
"importFileUid": "text",
"operation": "INSERT",
"state": "NOT_STARTED"
}
Get importfile details
Reference to a tenant.
^[A-Za-z0-9-_]+
Reference to a import file.
^[A-Za-z0-9-_]+
Example response
GET /v2/tenants/{tenantUid}/imports/files/{importFileUid} HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
Example response
{
"importFileUid": "text",
"template": {
"templateUid": "text",
"createdBy": "text",
"createdAt": "2025-09-12T22:46:23.116Z",
"lastModifiedBy": "text",
"lastModifiedAt": "2025-09-12T22:46:23.116Z",
"layouts": [
{
"layoutUid": "text",
"createdBy": "text",
"createdAt": "2025-09-12T22:46:23.116Z",
"lastModifiedBy": "text",
"lastModifiedAt": "2025-09-12T22:46:23.116Z",
"conversions": [
{
"conversionUid": "text",
"createdAt": "2025-09-12T22:46:23.116Z",
"createdBy": "text",
"lastModifiedAt": "2025-09-12T22:46:23.116Z",
"lastModifiedBy": "text",
"fromValue": "text",
"toValue": "text"
}
],
"fieldName": "text",
"value": "text"
}
],
"name": "text",
"description": "text",
"entity": "PRODUCTS",
"importFormat": "EXCEL"
},
"createdBy": "text",
"createdAt": "2025-09-12T22:46:23.116Z",
"lastModifiedBy": "text",
"lastModifiedAt": "2025-09-12T22:46:23.116Z",
"state": "NOT_STARTED",
"filename": "text",
"columnCount": 1,
"rowCount": 1,
"progressCount": 1,
"errorCount": 1,
"ignoredCount": 1,
"estimatedRemainingTime": 1,
"estimatedRemainingTimeText": "text",
"totalTime": 1,
"operation": "INSERT",
"errorMessage": "text",
"base64Data": "text"
}
Execute or abort import job.
Reference to a tenant.
^[A-Za-z0-9-_]+
Reference to a import file.
^[A-Za-z0-9-_]+
ENUM | Description |
---|---|
EXECUTE | Execute Import job |
ABORT | Abort running job |
Example response
POST /v2/tenants/{tenantUid}/imports/files/{importFileUid} HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 20
{
"action": "EXECUTE"
}
Example response
{
"templateUid": "text",
"base64Data": "text",
"contentType": "text",
"action": "SIMULATE",
"importFileUid": "text",
"operation": "INSERT",
"state": "NOT_STARTED"
}
Delete Import file
Reference to a tenant.
^[A-Za-z0-9-_]+
Reference to a import file.
^[A-Za-z0-9-_]+
OK
No content
DELETE /v2/tenants/{tenantUid}/imports/files/{importFileUid} HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
OK
No content
List conversions for a import layout
Required permission: TENANT.ADMIN
Reference to a tenant.
^[A-Za-z0-9-_]+
Reference to a import template.
^[A-Za-z0-9-_]+
Reference to a import layout.
^[A-Za-z0-9-_]+
Reference to a specific page in a result set.
The number of items per page in a result set.
Defines which field the resource list is sorted by.
ENUM | Description |
---|---|
ASC | Sort in ascending order |
DESC | Sort in descending order |
Example response
GET /v2/tenants/{tenantUid}/imports/templates/{importTemplateUid}/layouts/{importLayoutUid}/conversions HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
Example response
{
"items": [
{
"conversionUid": "text",
"createdAt": "2025-09-12T22:46:23.116Z",
"createdBy": "text",
"lastModifiedAt": "2025-09-12T22:46:23.116Z",
"lastModifiedBy": "text",
"fromValue": "text",
"toValue": "text"
}
],
"paging": {
"pageNumber": 1,
"pageSize": 1,
"totalCount": 1
}
}
Create conversion for an import layout
Required permission: TENANT.ADMIN
Reference to a tenant.
^[A-Za-z0-9-_]+
Reference to a import template.
^[A-Za-z0-9-_]+
Reference to a import layout.
^[A-Za-z0-9-_]+
Example response
POST /v2/tenants/{tenantUid}/imports/templates/{importTemplateUid}/layouts/{importLayoutUid}/conversions HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 60
{
"fromValue": "text",
"toValue": "text",
"conversionUid": "text"
}
Example response
{
"conversionUid": "text",
"createdAt": "2025-09-12T22:46:23.116Z",
"createdBy": "text",
"lastModifiedAt": "2025-09-12T22:46:23.116Z",
"lastModifiedBy": "text",
"fromValue": "text",
"toValue": "text"
}
Get import layout conversion details
Reference to a tenant.
^[A-Za-z0-9-_]+
Reference to a import template.
^[A-Za-z0-9-_]+
Reference to a import layout.
^[A-Za-z0-9-_]+
Reference to a import layout conversion.
^[A-Za-z0-9-_]+
Example response
GET /v2/tenants/{tenantUid}/imports/templates/{importTemplateUid}/layouts/{importLayoutUid}/conversions/{importConversionUid} HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
Example response
{
"conversionUid": "text",
"createdAt": "2025-09-12T22:46:23.116Z",
"createdBy": "text",
"lastModifiedAt": "2025-09-12T22:46:23.116Z",
"lastModifiedBy": "text",
"fromValue": "text",
"toValue": "text"
}
Update import layout
Required permission: TENANT.ADMIN
Reference to a tenant.
^[A-Za-z0-9-_]+
Reference to a import template.
^[A-Za-z0-9-_]+
Reference to a import layout.
^[A-Za-z0-9-_]+
Reference to a import layout conversion.
^[A-Za-z0-9-_]+
Example response
PUT /v2/tenants/{tenantUid}/imports/templates/{importTemplateUid}/layouts/{importLayoutUid}/conversions/{importConversionUid} HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 37
{
"fromValue": "text",
"toValue": "text"
}
Example response
{
"conversionUid": "text",
"createdAt": "2025-09-12T22:46:23.116Z",
"createdBy": "text",
"lastModifiedAt": "2025-09-12T22:46:23.116Z",
"lastModifiedBy": "text",
"fromValue": "text",
"toValue": "text"
}
Delete an Import layout
Required permission: TENANT.ADMIN
Reference to a tenant.
^[A-Za-z0-9-_]+
Reference to a import template.
^[A-Za-z0-9-_]+
Reference to a import layout.
^[A-Za-z0-9-_]+
Reference to a import layout conversion.
^[A-Za-z0-9-_]+
No Content
No content
DELETE /v2/tenants/{tenantUid}/imports/templates/{importTemplateUid}/layouts/{importLayoutUid}/conversions/{importConversionUid} HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No Content
No content
Was this helpful?