Tenant
Tenant
Listing all tenant the user has access to.
Required permissions: TENANT
Access token recevied after user login with a deviceToken
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 HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
Example response
{
"items": [
{
"countryCode": "text",
"createdAt": "2026-01-01T00:00:00.000Z",
"lastModifiedAt": "2026-01-01T00:00:00.000Z",
"name": "text",
"pricelistUid": "text",
"tenantUid": "text",
"vatNumber": "text",
"settings": {
"allowExternalCashDrawer": false,
"autoLogout": 1,
"autoPrintReceipt": true,
"numericSkuCounter": 1,
"printCardPaymentDetails": false,
"sendInvoicesExternally": true,
"duplicateCheckCustomerPhoneNumber": true,
"duplicateCheckCustomerVatNumber": true,
"useOriginalSellerOnCreditLine": true,
"defaultCustomerGroupUid": "text",
"printReceiptNumber": true,
"requiredCustomerFields": [
"email"
],
"enforceStrongPin": true,
"customerContactsRequiresEmail": true,
"customerContactsEmailDuplicateCheck": true
},
"appSettings": {
"showOutOfStockWarning": true,
"defaultParkedOrderLifespanDays": 1,
"requirePinCodeForSale": true,
"requirePinCodeForCredit": true,
"autoSendWelcomeSms": true,
"autoSendWelcomeMail": true,
"defaultCustomerGroupUid": "text"
},
"extensions": [
{
"extensionCode": "FLOWGIFTCARD",
"name": "text",
"active": true,
"tenantExtensionUid": "text"
}
],
"assets": {
"logo": {
"url": "text",
"assetUid": "text"
},
"splash": {
"url": "text",
"assetUid": "text"
}
},
"timezone": "text",
"languageCode": "text",
"currency": {
"code": "text",
"name": "text",
"symbol": "text",
"symbolPosition": "text",
"decimalSeparator": "text",
"thousandSeparator": "text",
"cashRounding": 1
}
}
],
"paging": {
"pageNumber": 1,
"pageSize": 1,
"totalCount": 1
}
}Internal endpoint for details for a tenant.
Access token recevied after user login with a deviceToken
Reference to a tenant.
^[A-Za-z0-9-_]+Example response
^[A-Za-z0-9-_]*^[A-Za-z0-9-_]+VAT identification number for value added tax reporting purposes.
The timezone in tz/zoneinfo format. Example: Europe/Oslo
ISO 639-1 code for language
Linking failed. Ther error message will have information about what failed.
GET /v2/tenants/{tenantUid} HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"countryCode": "text",
"createdAt": "2026-01-01T00:00:00.000Z",
"lastModifiedAt": "2026-01-01T00:00:00.000Z",
"name": "text",
"pricelistUid": "text",
"tenantUid": "text",
"vatNumber": "text",
"settings": {
"allowExternalCashDrawer": false,
"autoLogout": 1,
"autoPrintReceipt": true,
"numericSkuCounter": 1,
"printCardPaymentDetails": false,
"sendInvoicesExternally": true,
"duplicateCheckCustomerPhoneNumber": true,
"duplicateCheckCustomerVatNumber": true,
"useOriginalSellerOnCreditLine": true,
"defaultCustomerGroupUid": "text",
"printReceiptNumber": true,
"requiredCustomerFields": [
"email"
],
"enforceStrongPin": true,
"customerContactsRequiresEmail": true,
"customerContactsEmailDuplicateCheck": true
},
"appSettings": {
"showOutOfStockWarning": true,
"defaultParkedOrderLifespanDays": 1,
"requirePinCodeForSale": true,
"requirePinCodeForCredit": true,
"autoSendWelcomeSms": true,
"autoSendWelcomeMail": true,
"defaultCustomerGroupUid": "text"
},
"extensions": [
{
"extensionCode": "FLOWGIFTCARD",
"name": "text",
"active": true,
"tenantExtensionUid": "text"
}
],
"assets": {
"logo": {
"url": "text",
"assetUid": "text"
},
"splash": {
"url": "text",
"assetUid": "text"
}
},
"timezone": "text",
"languageCode": "text",
"currency": {
"code": "text",
"name": "text",
"symbol": "text",
"symbolPosition": "text",
"decimalSeparator": "text",
"thousandSeparator": "text",
"cashRounding": 1
}
}Update details for a tenant.
Required permissions: TENANT
Access token recevied after user login with a deviceToken
Reference to a tenant.
^[A-Za-z0-9-_]+^[A-Za-z0-9-_]*VAT identification number for value added tax reporting purposes.
time in seconds, 0 means not enabled
^[A-Za-z0-9-_]*^[A-Za-z0-9-_]*The timezone in tz/zoneinfo format. Example: Europe/Oslo
ISO 639-1 code for language
toogle on/off payment terminal details on receipt
For PERSON customers: Check for unique phone number and email if true
For COMPANY customers: Check for unique vat number if true
Default lifespan in days for parked orders before expiration
toogle on/off if the original seller should be used in a existing referenced order
^[A-Za-z0-9-_]*For user's app PIN/password creation
Indicate if the customer contacts requires email.
This will enable duplicate check on email for contacts, so it is not possible to have two contacts with the same email.
Example response
^[A-Za-z0-9-_]*^[A-Za-z0-9-_]+VAT identification number for value added tax reporting purposes.
The timezone in tz/zoneinfo format. Example: Europe/Oslo
ISO 639-1 code for language
PUT /v2/tenants/{tenantUid} HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 787
{
"name": "text",
"pricelistUid": "text",
"vatNumber": "text",
"allowExternalCashDrawer": true,
"autoLogout": 1,
"autoPrintReceipt": true,
"showOutOfStockWarning": true,
"logoAssetUid": "text",
"splashAssetUid": "text",
"timezone": "text",
"numericSkuCounter": 1,
"languageCode": "text",
"printCardPaymentDetails": true,
"sendInvoicesExternally": true,
"duplicateCheckCustomerPhoneNumber": true,
"duplicateCheckCustomerVatNumber": true,
"defaultParkedOrderLifespanDays": 1,
"useOriginalSellerOnCreditLine": true,
"defaultCustomerGroupUid": "text",
"autoSendWelcomeSms": true,
"autoSendWelcomeMail": true,
"requirePinCodeForSale": true,
"requirePinCodeForCredit": true,
"printReceiptNumber": true,
"requiredCustomerFields": [
"email"
],
"enforceStrongPin": true,
"customerContactsRequiresEmail": true,
"customerContactsEmailDuplicateCheck": true
}Example response
{
"countryCode": "text",
"createdAt": "2026-01-01T00:00:00.000Z",
"lastModifiedAt": "2026-01-01T00:00:00.000Z",
"name": "text",
"pricelistUid": "text",
"tenantUid": "text",
"vatNumber": "text",
"settings": {
"allowExternalCashDrawer": false,
"autoLogout": 1,
"autoPrintReceipt": true,
"numericSkuCounter": 1,
"printCardPaymentDetails": false,
"sendInvoicesExternally": true,
"duplicateCheckCustomerPhoneNumber": true,
"duplicateCheckCustomerVatNumber": true,
"useOriginalSellerOnCreditLine": true,
"defaultCustomerGroupUid": "text",
"printReceiptNumber": true,
"requiredCustomerFields": [
"email"
],
"enforceStrongPin": true,
"customerContactsRequiresEmail": true,
"customerContactsEmailDuplicateCheck": true
},
"appSettings": {
"showOutOfStockWarning": true,
"defaultParkedOrderLifespanDays": 1,
"requirePinCodeForSale": true,
"requirePinCodeForCredit": true,
"autoSendWelcomeSms": true,
"autoSendWelcomeMail": true,
"defaultCustomerGroupUid": "text"
},
"extensions": [
{
"extensionCode": "FLOWGIFTCARD",
"name": "text",
"active": true,
"tenantExtensionUid": "text"
}
],
"assets": {
"logo": {
"url": "text",
"assetUid": "text"
},
"splash": {
"url": "text",
"assetUid": "text"
}
},
"timezone": "text",
"languageCode": "text",
"currency": {
"code": "text",
"name": "text",
"symbol": "text",
"symbolPosition": "text",
"decimalSeparator": "text",
"thousandSeparator": "text",
"cashRounding": 1
}
}List all users.
Access token recevied after user login with a deviceToken
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 |
Query string for tenant users
Reference to an Organization
^[A-Za-z0-9-_]+Reference to a Store
^[A-Za-z0-9-_]+Example response
GET /v2/tenants/{tenantUid}/users HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
Example response
{
"items": [
{
"accountType": "FULL",
"createdAt": "2026-01-01T00:00:00.000Z",
"defaultStoreUid": "text",
"displayName": "text",
"email": "text",
"externalId": "text",
"firstname": "text",
"lastAccessed": "2026-01-01T00:00:00.000Z",
"lastModifiedAt": "2026-01-01T00:00:00.000Z",
"lastname": "text",
"mobile": "text",
"status": "PENDING_INVITE",
"storeAccess": [
{
"createdAt": "2026-01-01T00:00:00.000Z",
"lastModifiedAt": "2026-01-01T00:00:00.000Z",
"storeAccessUid": "text",
"storeUid": "text",
"storeRole": "ADMIN"
}
],
"tenantUid": "text",
"tenantName": "text",
"tenantRole": "ACCESS",
"tenantUserUid": "text",
"userCode": "text",
"languageCode": "text",
"permissions": {
"tenant": [
"text"
],
"stores": [
{
"store": {
"name": "text",
"storeUid": "text",
"organizationUid": "text",
"organizationName": "text"
},
"permissions": [
"text"
]
}
],
"organizations": [
{
"organization": {
"name": "text",
"organizationUid": "text"
},
"permissions": [
"text"
]
}
]
}
}
],
"paging": {
"pageNumber": 1,
"pageSize": 1,
"totalCount": 1
}
}Add user to tenant
Required permissions: TENANT_USER
Access token recevied after user login with a deviceToken
Reference to a tenant.
^[A-Za-z0-9-_]+Email is required when accountType is FULL
| ENUM | Description |
|---|---|
| FULL | Access to backoffice and onboarding of new devices |
| REGULAR | Can only login to already onboarded devices |
| SUPPORT | Support account |
| INTEGRATION | Computer integration account |
| ENUM | Description |
|---|---|
| BLOCKED | Blocked from this tenant |
| ACCESS | Only access to the tenant. |
| ADMIN | Tenant admin, allow full access to tenant and can add users and new stores. |
| BACKOFFICE | Access to product, pricelists, etc. |
^[A-Za-z0-9-_]+ISO 639-1 code for language
^[A-Za-z0-9-_]*Tenant user respose
| ENUM | Description |
|---|---|
| FULL | Access to backoffice and onboarding of new devices |
| REGULAR | Can only login to already onboarded devices |
| SUPPORT | Support account |
| INTEGRATION | Computer integration account |
^[A-Za-z0-9-_]*^[A-Za-z0-9-_]+| ENUM | Description |
|---|---|
| BLOCKED | Blocked from this tenant |
| ACCESS | Only access to the tenant. |
| ADMIN | Tenant admin, allow full access to tenant and can add users and new stores. |
| BACKOFFICE | Access to product, pricelists, etc. |
^[A-Za-z0-9-_]+ISO 639-1 code for language
POST /v2/tenants/{tenantUid}/users HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 315
{
"accountType": "FULL",
"displayName": "text",
"email": "text",
"externalId": "text",
"firstname": "text",
"lastname": "text",
"mobile": "text",
"password": "text",
"tenantRole": "ACCESS",
"userCode": "text",
"tenantUserUid": "text",
"languageCode": "text",
"storeAccess": [
{
"storeUid": "text",
"storeRole": "ADMIN"
}
],
"defaultStoreUid": "text"
}Tenant user respose
{
"accountType": "FULL",
"createdAt": "2026-01-01T00:00:00.000Z",
"defaultStoreUid": "text",
"displayName": "text",
"email": "text",
"externalId": "text",
"firstname": "text",
"lastAccessed": "2026-01-01T00:00:00.000Z",
"lastModifiedAt": "2026-01-01T00:00:00.000Z",
"lastname": "text",
"mobile": "text",
"status": "PENDING_INVITE",
"storeAccess": [
{
"createdAt": "2026-01-01T00:00:00.000Z",
"lastModifiedAt": "2026-01-01T00:00:00.000Z",
"storeAccessUid": "text",
"storeUid": "text",
"storeRole": "ADMIN"
}
],
"tenantUid": "text",
"tenantName": "text",
"tenantRole": "ACCESS",
"tenantUserUid": "text",
"userCode": "text",
"languageCode": "text",
"permissions": {
"tenant": [
"text"
],
"stores": [
{
"store": {
"name": "text",
"storeUid": "text",
"organizationUid": "text",
"organizationName": "text"
},
"permissions": [
"text"
]
}
],
"organizations": [
{
"organization": {
"name": "text",
"organizationUid": "text"
},
"permissions": [
"text"
]
}
]
}
}Get details for a user.
Required permissions: TENANT_USER
Access token recevied after user login with a deviceToken
Reference to a TenantUser.
^[A-Za-z0-9-_]+Reference to a tenant.
^[A-Za-z0-9-_]+Tenant user respose
| ENUM | Description |
|---|---|
| FULL | Access to backoffice and onboarding of new devices |
| REGULAR | Can only login to already onboarded devices |
| SUPPORT | Support account |
| INTEGRATION | Computer integration account |
^[A-Za-z0-9-_]*^[A-Za-z0-9-_]+| ENUM | Description |
|---|---|
| BLOCKED | Blocked from this tenant |
| ACCESS | Only access to the tenant. |
| ADMIN | Tenant admin, allow full access to tenant and can add users and new stores. |
| BACKOFFICE | Access to product, pricelists, etc. |
^[A-Za-z0-9-_]+ISO 639-1 code for language
GET /v2/tenants/{tenantUid}/users/{tenantUserUid} HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
Tenant user respose
{
"accountType": "FULL",
"createdAt": "2026-01-01T00:00:00.000Z",
"defaultStoreUid": "text",
"displayName": "text",
"email": "text",
"externalId": "text",
"firstname": "text",
"lastAccessed": "2026-01-01T00:00:00.000Z",
"lastModifiedAt": "2026-01-01T00:00:00.000Z",
"lastname": "text",
"mobile": "text",
"status": "PENDING_INVITE",
"storeAccess": [
{
"createdAt": "2026-01-01T00:00:00.000Z",
"lastModifiedAt": "2026-01-01T00:00:00.000Z",
"storeAccessUid": "text",
"storeUid": "text",
"storeRole": "ADMIN"
}
],
"tenantUid": "text",
"tenantName": "text",
"tenantRole": "ACCESS",
"tenantUserUid": "text",
"userCode": "text",
"languageCode": "text",
"permissions": {
"tenant": [
"text"
],
"stores": [
{
"store": {
"name": "text",
"storeUid": "text",
"organizationUid": "text",
"organizationName": "text"
},
"permissions": [
"text"
]
}
],
"organizations": [
{
"organization": {
"name": "text",
"organizationUid": "text"
},
"permissions": [
"text"
]
}
]
}
}Update user access for a tenant
Access token recevied after user login with a deviceToken
Reference to a TenantUser.
^[A-Za-z0-9-_]+Reference to a tenant.
^[A-Za-z0-9-_]+Check external payment gateways and fetch status
| ENUM | Description |
|---|---|
| FULL | Access to backoffice and onboarding of new devices |
| REGULAR | Can only login to already onboarded devices |
| SUPPORT | Support account |
| INTEGRATION | Computer integration account |
^[A-Za-z0-9-_]+| ENUM | Description |
|---|---|
| BLOCKED | Blocked from this tenant |
| ACCESS | Only access to the tenant. |
| ADMIN | Tenant admin, allow full access to tenant and can add users and new stores. |
| BACKOFFICE | Access to product, pricelists, etc. |
ISO 639-1 code for language
Tenant user respose
| ENUM | Description |
|---|---|
| FULL | Access to backoffice and onboarding of new devices |
| REGULAR | Can only login to already onboarded devices |
| SUPPORT | Support account |
| INTEGRATION | Computer integration account |
^[A-Za-z0-9-_]*^[A-Za-z0-9-_]+| ENUM | Description |
|---|---|
| BLOCKED | Blocked from this tenant |
| ACCESS | Only access to the tenant. |
| ADMIN | Tenant admin, allow full access to tenant and can add users and new stores. |
| BACKOFFICE | Access to product, pricelists, etc. |
^[A-Za-z0-9-_]+ISO 639-1 code for language
PUT /v2/tenants/{tenantUid}/users/{tenantUserUid} HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 292
{
"accountType": "FULL",
"defaultStoreUid": "text",
"displayName": "text",
"email": "text",
"externalId": "text",
"firstname": "text",
"lastname": "text",
"mobile": "text",
"password": "text",
"storeAccess": [
{
"storeUid": "text",
"storeRole": "ADMIN"
}
],
"tenantRole": "ACCESS",
"userCode": "text",
"languageCode": "text"
}Tenant user respose
{
"accountType": "FULL",
"createdAt": "2026-01-01T00:00:00.000Z",
"defaultStoreUid": "text",
"displayName": "text",
"email": "text",
"externalId": "text",
"firstname": "text",
"lastAccessed": "2026-01-01T00:00:00.000Z",
"lastModifiedAt": "2026-01-01T00:00:00.000Z",
"lastname": "text",
"mobile": "text",
"status": "PENDING_INVITE",
"storeAccess": [
{
"createdAt": "2026-01-01T00:00:00.000Z",
"lastModifiedAt": "2026-01-01T00:00:00.000Z",
"storeAccessUid": "text",
"storeUid": "text",
"storeRole": "ADMIN"
}
],
"tenantUid": "text",
"tenantName": "text",
"tenantRole": "ACCESS",
"tenantUserUid": "text",
"userCode": "text",
"languageCode": "text",
"permissions": {
"tenant": [
"text"
],
"stores": [
{
"store": {
"name": "text",
"storeUid": "text",
"organizationUid": "text",
"organizationName": "text"
},
"permissions": [
"text"
]
}
],
"organizations": [
{
"organization": {
"name": "text",
"organizationUid": "text"
},
"permissions": [
"text"
]
}
]
}
}Deletes a user completely from a tenant.
Required permissions: TENANT_USER
Access token recevied after user login with a deviceToken
Reference to a TenantUser.
^[A-Za-z0-9-_]+Reference to a tenant.
^[A-Za-z0-9-_]+No Content
No content
DELETE /v2/tenants/{tenantUid}/users/{tenantUserUid} HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No Content
No content
Get list of integration tokens for a tenant user.
Get list of integration tokens for a tenant user.
Required permissions: USER_TOKEN
Access token recevied after user login with a deviceToken
Reference to a TenantUser.
^[A-Za-z0-9-_]+Reference to a tenant.
^[A-Za-z0-9-_]+Example response
GET /v2/tenants/{tenantUid}/users/{tenantUserUid}/tokens HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
Example response
{
"items": [
{
"tenantUserTokenUid": "text",
"token": "text"
}
],
"paging": {
"pageNumber": 1,
"pageSize": 1,
"totalCount": 1
}
}Create integration token for a tenant user
Required permissions: USER_TOKEN
Access token recevied after user login with a deviceToken
Reference to a TenantUser.
^[A-Za-z0-9-_]+Reference to a tenant.
^[A-Za-z0-9-_]+Example response
POST /v2/tenants/{tenantUid}/users/{tenantUserUid}/tokens HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
Example response
{
"items": [
{
"tenantUserTokenUid": "text",
"token": "text"
}
],
"paging": {
"pageNumber": 1,
"pageSize": 1,
"totalCount": 1
}
}Delete an integration token from a tenant user
Deletes an integration token for a tenant user
Required permissions: USER_TOKEN
Access token recevied after user login with a deviceToken
Reference to a TenantUserToken.
^[A-Za-z0-9-_]+Reference to a TenantUser.
^[A-Za-z0-9-_]+Reference to a tenant.
^[A-Za-z0-9-_]+No Content
No content
DELETE /v2/tenants/{tenantUid}/users/{tenantUserUid}/tokens/{tenantUserTokenUid} HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No Content
No content
Search for users
Required permissions: TENANT_USER
Access token recevied after user login with a deviceToken
Reference to a tenant.
^[A-Za-z0-9-_]+The number of items per page in a result set.
Reference to a specific page in a result set.
Fuzzy search on displayname, firstname, lastname, mobile, email and userCode
Exact match search.
Exact match search.
Exact match search.
Example response
POST /v2/tenants/{tenantUid}/users/search HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 93
{
"query": "text",
"userCode": "text",
"email": "text",
"mobile": "text",
"status": [
"PENDING_INVITE"
]
}Example response
{
"items": [
{
"accountType": "FULL",
"createdAt": "2026-01-01T00:00:00.000Z",
"defaultStoreUid": "text",
"displayName": "text",
"email": "text",
"externalId": "text",
"firstname": "text",
"lastAccessed": "2026-01-01T00:00:00.000Z",
"lastModifiedAt": "2026-01-01T00:00:00.000Z",
"lastname": "text",
"mobile": "text",
"status": "PENDING_INVITE",
"storeAccess": [
{
"createdAt": "2026-01-01T00:00:00.000Z",
"lastModifiedAt": "2026-01-01T00:00:00.000Z",
"storeAccessUid": "text",
"storeUid": "text",
"storeRole": "ADMIN"
}
],
"tenantUid": "text",
"tenantName": "text",
"tenantRole": "ACCESS",
"tenantUserUid": "text",
"userCode": "text",
"languageCode": "text",
"permissions": {
"tenant": [
"text"
],
"stores": [
{
"store": {
"name": "text",
"storeUid": "text",
"organizationUid": "text",
"organizationName": "text"
},
"permissions": [
"text"
]
}
],
"organizations": [
{
"organization": {
"name": "text",
"organizationUid": "text"
},
"permissions": [
"text"
]
}
]
}
}
],
"paging": {
"pageNumber": 1,
"pageSize": 1,
"totalCount": 1
}
}Last updated