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 |
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-07-30T17:50:52.192Z",
"lastModifiedBy": "text",
"lastModifiedAt": "2025-07-30T17:50:52.192Z",
"layouts": [
{
"layoutUid": "text",
"createdBy": "text",
"createdAt": "2025-07-30T17:50:52.192Z",
"lastModifiedBy": "text",
"lastModifiedAt": "2025-07-30T17:50:52.192Z",
"conversions": [
{
"conversionUid": "text",
"createdAt": "2025-07-30T17:50:52.192Z",
"createdBy": "text",
"lastModifiedAt": "2025-07-30T17:50:52.192Z",
"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-_]+
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-07-30T17:50:52.192Z",
"lastModifiedBy": "text",
"lastModifiedAt": "2025-07-30T17:50:52.192Z",
"layouts": [
{
"layoutUid": "text",
"createdBy": "text",
"createdAt": "2025-07-30T17:50:52.192Z",
"lastModifiedBy": "text",
"lastModifiedAt": "2025-07-30T17:50:52.192Z",
"conversions": [
{
"conversionUid": "text",
"createdAt": "2025-07-30T17:50:52.192Z",
"createdBy": "text",
"lastModifiedAt": "2025-07-30T17:50:52.192Z",
"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
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-07-30T17:50:52.192Z",
"lastModifiedBy": "text",
"lastModifiedAt": "2025-07-30T17:50:52.192Z",
"layouts": [
{
"layoutUid": "text",
"createdBy": "text",
"createdAt": "2025-07-30T17:50:52.192Z",
"lastModifiedBy": "text",
"lastModifiedAt": "2025-07-30T17:50:52.192Z",
"conversions": [
{
"conversionUid": "text",
"createdAt": "2025-07-30T17:50:52.192Z",
"createdBy": "text",
"lastModifiedAt": "2025-07-30T17:50:52.192Z",
"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-_]+
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-07-30T17:50:52.192Z",
"lastModifiedBy": "text",
"lastModifiedAt": "2025-07-30T17:50:52.192Z",
"layouts": [
{
"layoutUid": "text",
"createdBy": "text",
"createdAt": "2025-07-30T17:50:52.192Z",
"lastModifiedBy": "text",
"lastModifiedAt": "2025-07-30T17:50:52.192Z",
"conversions": [
{
"conversionUid": "text",
"createdAt": "2025-07-30T17:50:52.192Z",
"createdBy": "text",
"lastModifiedAt": "2025-07-30T17:50:52.192Z",
"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-_]+
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 |
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-07-30T17:50:52.192Z",
"lastModifiedBy": "text",
"lastModifiedAt": "2025-07-30T17:50:52.192Z",
"conversions": [
{
"conversionUid": "text",
"createdAt": "2025-07-30T17:50:52.192Z",
"createdBy": "text",
"lastModifiedAt": "2025-07-30T17:50:52.192Z",
"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-_]+
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-07-30T17:50:52.192Z",
"lastModifiedBy": "text",
"lastModifiedAt": "2025-07-30T17:50:52.192Z",
"conversions": [
{
"conversionUid": "text",
"createdAt": "2025-07-30T17:50:52.192Z",
"createdBy": "text",
"lastModifiedAt": "2025-07-30T17:50:52.192Z",
"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
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-07-30T17:50:52.192Z",
"lastModifiedBy": "text",
"lastModifiedAt": "2025-07-30T17:50:52.192Z",
"conversions": [
{
"conversionUid": "text",
"createdAt": "2025-07-30T17:50:52.192Z",
"createdBy": "text",
"lastModifiedAt": "2025-07-30T17:50:52.192Z",
"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
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-07-30T17:50:52.192Z",
"lastModifiedBy": "text",
"lastModifiedAt": "2025-07-30T17:50:52.192Z",
"conversions": [
{
"conversionUid": "text",
"createdAt": "2025-07-30T17:50:52.192Z",
"createdBy": "text",
"lastModifiedAt": "2025-07-30T17:50:52.192Z",
"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-_]+
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 |
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-07-30T17:50:52.192Z",
"lastModifiedBy": "text",
"lastModifiedAt": "2025-07-30T17:50:52.192Z",
"layouts": [
{
"layoutUid": "text",
"createdBy": "text",
"createdAt": "2025-07-30T17:50:52.192Z",
"lastModifiedBy": "text",
"lastModifiedAt": "2025-07-30T17:50:52.192Z",
"conversions": [
{
"conversionUid": "text",
"createdAt": "2025-07-30T17:50:52.192Z",
"createdBy": "text",
"lastModifiedAt": "2025-07-30T17:50:52.192Z",
"lastModifiedBy": "text",
"fromValue": "text",
"toValue": "text"
}
],
"fieldName": "text",
"value": "text"
}
],
"name": "text",
"description": "text",
"entity": "PRODUCTS",
"importFormat": "EXCEL"
},
"createdBy": "text",
"createdAt": "2025-07-30T17:50:52.192Z",
"lastModifiedBy": "text",
"lastModifiedAt": "2025-07-30T17:50:52.192Z",
"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-_]+
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-_]+
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-07-30T17:50:52.192Z",
"lastModifiedBy": "text",
"lastModifiedAt": "2025-07-30T17:50:52.192Z",
"layouts": [
{
"layoutUid": "text",
"createdBy": "text",
"createdAt": "2025-07-30T17:50:52.192Z",
"lastModifiedBy": "text",
"lastModifiedAt": "2025-07-30T17:50:52.192Z",
"conversions": [
{
"conversionUid": "text",
"createdAt": "2025-07-30T17:50:52.192Z",
"createdBy": "text",
"lastModifiedAt": "2025-07-30T17:50:52.192Z",
"lastModifiedBy": "text",
"fromValue": "text",
"toValue": "text"
}
],
"fieldName": "text",
"value": "text"
}
],
"name": "text",
"description": "text",
"entity": "PRODUCTS",
"importFormat": "EXCEL"
},
"createdBy": "text",
"createdAt": "2025-07-30T17:50:52.192Z",
"lastModifiedBy": "text",
"lastModifiedAt": "2025-07-30T17:50:52.192Z",
"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 |
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-_]+
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 |
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-07-30T17:50:52.192Z",
"createdBy": "text",
"lastModifiedAt": "2025-07-30T17:50:52.192Z",
"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-_]+
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-07-30T17:50:52.192Z",
"createdBy": "text",
"lastModifiedAt": "2025-07-30T17:50:52.192Z",
"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-_]+
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-07-30T17:50:52.192Z",
"createdBy": "text",
"lastModifiedAt": "2025-07-30T17:50:52.192Z",
"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-_]+
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-07-30T17:50:52.192Z",
"createdBy": "text",
"lastModifiedAt": "2025-07-30T17:50:52.192Z",
"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-_]+
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?