For the complete documentation index, see llms.txt. This page is also available as Markdown.

Tenant

Tenant

List tenants

get
/tenants

Listing all tenant the user has access to.

Required permissions: TENANT

Authorizations
AuthorizationstringRequired

Access token recevied after user login with a deviceToken

Query parameters
pageNumberintegerOptional

Reference to a specific page in a result set.

pageSizeintegerOptional

The number of items per page in a result set.

sortBystringOptional

Defines which field the resource list is sorted by.

sortDirectionstring · enumOptional
ENUMDescription
ASCSort in ascending order
DESCSort in descending order
Possible values:
Responses
200

Example response

application/json
get/tenants
GET /v2/tenants HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200

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
  }
}

Get tenant details

get
/tenants/{tenantUid}

Internal endpoint for details for a tenant.

Authorizations
AuthorizationstringRequired

Access token recevied after user login with a deviceToken

Path parameters
tenantUidstringRequired

Reference to a tenant.

Pattern: ^[A-Za-z0-9-_]+
Responses
200

Example response

application/json
countryCodestringRequired
createdAtstring · date-timeRequired
lastModifiedAtstring · date-timeRequired
namestringRequired
pricelistUidstringRequiredPattern: ^[A-Za-z0-9-_]*
tenantUidstringRequiredPattern: ^[A-Za-z0-9-_]+
vatNumberstringRequired

VAT identification number for value added tax reporting purposes.

timezonestringRequired

The timezone in tz/zoneinfo format. Example: Europe/Oslo

languageCodestringRequired

ISO 639-1 code for language

get/tenants/{tenantUid}
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 tenant details

put
/tenants/{tenantUid}

Update details for a tenant.

Required permissions: TENANT

Authorizations
AuthorizationstringRequired

Access token recevied after user login with a deviceToken

Path parameters
tenantUidstringRequired

Reference to a tenant.

Pattern: ^[A-Za-z0-9-_]+
Body
namestringOptional
pricelistUidstringOptionalPattern: ^[A-Za-z0-9-_]*
vatNumberstringOptional

VAT identification number for value added tax reporting purposes.

allowExternalCashDrawerbooleanOptional
autoLogoutintegerOptional

time in seconds, 0 means not enabled

autoPrintReceiptbooleanOptional
showOutOfStockWarningbooleanOptional
logoAssetUidstringOptionalPattern: ^[A-Za-z0-9-_]*
splashAssetUidstringOptionalPattern: ^[A-Za-z0-9-_]*
timezonestringOptional

The timezone in tz/zoneinfo format. Example: Europe/Oslo

numericSkuCounterintegerOptional
languageCodestringOptional

ISO 639-1 code for language

printCardPaymentDetailsbooleanOptional

toogle on/off payment terminal details on receipt

sendInvoicesExternallybooleanOptional
duplicateCheckCustomerPhoneNumberbooleanOptional

For PERSON customers: Check for unique phone number and email if true

duplicateCheckCustomerVatNumberbooleanOptional

For COMPANY customers: Check for unique vat number if true

defaultParkedOrderLifespanDaysintegerOptional

Default lifespan in days for parked orders before expiration

useOriginalSellerOnCreditLinebooleanOptional

toogle on/off if the original seller should be used in a existing referenced order

defaultCustomerGroupUidstringOptionalPattern: ^[A-Za-z0-9-_]*
autoSendWelcomeSmsbooleanOptional
autoSendWelcomeMailbooleanOptional
requirePinCodeForSalebooleanOptional
requirePinCodeForCreditbooleanOptional
printReceiptNumberbooleanOptional
enforceStrongPinbooleanOptional

For user's app PIN/password creation

customerContactsRequiresEmailbooleanOptional

Indicate if the customer contacts requires email.

customerContactsEmailDuplicateCheckbooleanOptional

This will enable duplicate check on email for contacts, so it is not possible to have two contacts with the same email.

Responses
200

Example response

application/json
countryCodestringRequired
createdAtstring · date-timeRequired
lastModifiedAtstring · date-timeRequired
namestringRequired
pricelistUidstringRequiredPattern: ^[A-Za-z0-9-_]*
tenantUidstringRequiredPattern: ^[A-Za-z0-9-_]+
vatNumberstringRequired

VAT identification number for value added tax reporting purposes.

timezonestringRequired

The timezone in tz/zoneinfo format. Example: Europe/Oslo

languageCodestringRequired

ISO 639-1 code for language

put/tenants/{tenantUid}
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
}
200

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 users

get
/tenants/{tenantUid}/users

List all users.

Authorizations
AuthorizationstringRequired

Access token recevied after user login with a deviceToken

Path parameters
tenantUidstringRequired

Reference to a tenant.

Pattern: ^[A-Za-z0-9-_]+
Query parameters
pageNumberintegerOptional

Reference to a specific page in a result set.

pageSizeintegerOptional

The number of items per page in a result set.

sortBystringOptional

Defines which field the resource list is sorted by.

sortDirectionstring · enumOptional
ENUMDescription
ASCSort in ascending order
DESCSort in descending order
Possible values:
querystringOptional

Query string for tenant users

tenantuserOrganizationUidstringOptional

Reference to an Organization

Pattern: ^[A-Za-z0-9-_]+
tenantuserStoreUidstringOptional

Reference to a Store

Pattern: ^[A-Za-z0-9-_]+
Responses
200

Example response

application/json
get/tenants/{tenantUid}/users
GET /v2/tenants/{tenantUid}/users HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200

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
  }
}

Create new user on a tenant

post
/tenants/{tenantUid}/users

Add user to tenant

Required permissions: TENANT_USER

Authorizations
AuthorizationstringRequired

Access token recevied after user login with a deviceToken

Path parameters
tenantUidstringRequired

Reference to a tenant.

Pattern: ^[A-Za-z0-9-_]+
Body

Email is required when accountType is FULL

accountTypestring · enumRequired
ENUMDescription
FULLAccess to backoffice and onboarding of new devices
REGULARCan only login to already onboarded devices
SUPPORTSupport account
INTEGRATIONComputer integration account
Possible values:
displayNamestringOptional
emailstringOptional
externalIdstringOptional
firstnamestringOptional
lastnamestringOptional
mobilestringOptional
passwordstringRequired
tenantRolestring · enumRequired
ENUMDescription
BLOCKEDBlocked from this tenant
ACCESSOnly access to the tenant.
ADMINTenant admin, allow full access to tenant and can add users and new stores.
BACKOFFICEAccess to product, pricelists, etc.
Possible values:
userCodestringRequired
tenantUserUidstringOptionalPattern: ^[A-Za-z0-9-_]+
languageCodestringOptional

ISO 639-1 code for language

defaultStoreUidstringOptionalPattern: ^[A-Za-z0-9-_]*
Responses
200

Tenant user respose

application/json
accountTypestring · enumRequired
ENUMDescription
FULLAccess to backoffice and onboarding of new devices
REGULARCan only login to already onboarded devices
SUPPORTSupport account
INTEGRATIONComputer integration account
Possible values:
createdAtstring · date-timeRequired
defaultStoreUidstringOptionalPattern: ^[A-Za-z0-9-_]*
displayNamestringRequired
emailstringRequired
externalIdstringRequired
firstnamestringRequired
lastAccessedstring · date-timeRequired
lastModifiedAtstring · date-timeRequired
lastnamestringRequired
mobilestringRequired
statusstring · enumRequiredPossible values:
tenantUidstringRequiredPattern: ^[A-Za-z0-9-_]+
tenantNamestringRequired
tenantRolestring · enumRequired
ENUMDescription
BLOCKEDBlocked from this tenant
ACCESSOnly access to the tenant.
ADMINTenant admin, allow full access to tenant and can add users and new stores.
BACKOFFICEAccess to product, pricelists, etc.
Possible values:
tenantUserUidstringRequiredPattern: ^[A-Za-z0-9-_]+
userCodestringRequired
languageCodestringRequired

ISO 639-1 code for language

post/tenants/{tenantUid}/users
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"
}
200

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 user details

get
/tenants/{tenantUid}/users/{tenantUserUid}

Get details for a user.

Required permissions: TENANT_USER

Authorizations
AuthorizationstringRequired

Access token recevied after user login with a deviceToken

Path parameters
tenantUserUidstringRequired

Reference to a TenantUser.

Pattern: ^[A-Za-z0-9-_]+
tenantUidstringRequired

Reference to a tenant.

Pattern: ^[A-Za-z0-9-_]+
Responses
200

Tenant user respose

application/json
accountTypestring · enumRequired
ENUMDescription
FULLAccess to backoffice and onboarding of new devices
REGULARCan only login to already onboarded devices
SUPPORTSupport account
INTEGRATIONComputer integration account
Possible values:
createdAtstring · date-timeRequired
defaultStoreUidstringOptionalPattern: ^[A-Za-z0-9-_]*
displayNamestringRequired
emailstringRequired
externalIdstringRequired
firstnamestringRequired
lastAccessedstring · date-timeRequired
lastModifiedAtstring · date-timeRequired
lastnamestringRequired
mobilestringRequired
statusstring · enumRequiredPossible values:
tenantUidstringRequiredPattern: ^[A-Za-z0-9-_]+
tenantNamestringRequired
tenantRolestring · enumRequired
ENUMDescription
BLOCKEDBlocked from this tenant
ACCESSOnly access to the tenant.
ADMINTenant admin, allow full access to tenant and can add users and new stores.
BACKOFFICEAccess to product, pricelists, etc.
Possible values:
tenantUserUidstringRequiredPattern: ^[A-Za-z0-9-_]+
userCodestringRequired
languageCodestringRequired

ISO 639-1 code for language

get/tenants/{tenantUid}/users/{tenantUserUid}
GET /v2/tenants/{tenantUid}/users/{tenantUserUid} HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200

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 tenant user

put
/tenants/{tenantUid}/users/{tenantUserUid}

Update user access for a tenant

Authorizations
AuthorizationstringRequired

Access token recevied after user login with a deviceToken

Path parameters
tenantUserUidstringRequired

Reference to a TenantUser.

Pattern: ^[A-Za-z0-9-_]+
tenantUidstringRequired

Reference to a tenant.

Pattern: ^[A-Za-z0-9-_]+
Query parameters
resendInvitebooleanOptional

Check external payment gateways and fetch status

Body
accountTypestring · enumOptional
ENUMDescription
FULLAccess to backoffice and onboarding of new devices
REGULARCan only login to already onboarded devices
SUPPORTSupport account
INTEGRATIONComputer integration account
Possible values:
defaultStoreUidstringOptionalPattern: ^[A-Za-z0-9-_]+
displayNamestringOptional
emailstringOptional
externalIdstringOptional
firstnamestringOptional
lastnamestringOptional
mobilestringOptional
passwordstringOptional
tenantRolestring · enumOptional
ENUMDescription
BLOCKEDBlocked from this tenant
ACCESSOnly access to the tenant.
ADMINTenant admin, allow full access to tenant and can add users and new stores.
BACKOFFICEAccess to product, pricelists, etc.
Possible values:
userCodestringOptional
languageCodestringOptional

ISO 639-1 code for language

Responses
200

Tenant user respose

application/json
accountTypestring · enumRequired
ENUMDescription
FULLAccess to backoffice and onboarding of new devices
REGULARCan only login to already onboarded devices
SUPPORTSupport account
INTEGRATIONComputer integration account
Possible values:
createdAtstring · date-timeRequired
defaultStoreUidstringOptionalPattern: ^[A-Za-z0-9-_]*
displayNamestringRequired
emailstringRequired
externalIdstringRequired
firstnamestringRequired
lastAccessedstring · date-timeRequired
lastModifiedAtstring · date-timeRequired
lastnamestringRequired
mobilestringRequired
statusstring · enumRequiredPossible values:
tenantUidstringRequiredPattern: ^[A-Za-z0-9-_]+
tenantNamestringRequired
tenantRolestring · enumRequired
ENUMDescription
BLOCKEDBlocked from this tenant
ACCESSOnly access to the tenant.
ADMINTenant admin, allow full access to tenant and can add users and new stores.
BACKOFFICEAccess to product, pricelists, etc.
Possible values:
tenantUserUidstringRequiredPattern: ^[A-Za-z0-9-_]+
userCodestringRequired
languageCodestringRequired

ISO 639-1 code for language

put/tenants/{tenantUid}/users/{tenantUserUid}
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"
}
200

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"
        ]
      }
    ]
  }
}

Delete a user from a tenant

delete
/tenants/{tenantUid}/users/{tenantUserUid}

Deletes a user completely from a tenant.

Required permissions: TENANT_USER

Authorizations
AuthorizationstringRequired

Access token recevied after user login with a deviceToken

Path parameters
tenantUserUidstringRequired

Reference to a TenantUser.

Pattern: ^[A-Za-z0-9-_]+
tenantUidstringRequired

Reference to a tenant.

Pattern: ^[A-Za-z0-9-_]+
Responses
204

No Content

No content

delete/tenants/{tenantUid}/users/{tenantUserUid}
DELETE /v2/tenants/{tenantUid}/users/{tenantUserUid} HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
204

No Content

No content

Get list of integration tokens for a tenant user.

get
/tenants/{tenantUid}/users/{tenantUserUid}/tokens

Get list of integration tokens for a tenant user.

Required permissions: USER_TOKEN

Authorizations
AuthorizationstringRequired

Access token recevied after user login with a deviceToken

Path parameters
tenantUserUidstringRequired

Reference to a TenantUser.

Pattern: ^[A-Za-z0-9-_]+
tenantUidstringRequired

Reference to a tenant.

Pattern: ^[A-Za-z0-9-_]+
Responses
200

Example response

application/json
get/tenants/{tenantUid}/users/{tenantUserUid}/tokens
GET /v2/tenants/{tenantUid}/users/{tenantUserUid}/tokens HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200

Example response

{
  "items": [
    {
      "tenantUserTokenUid": "text",
      "token": "text"
    }
  ],
  "paging": {
    "pageNumber": 1,
    "pageSize": 1,
    "totalCount": 1
  }
}

Create integration token for a tenant user

post
/tenants/{tenantUid}/users/{tenantUserUid}/tokens

Create integration token for a tenant user

Required permissions: USER_TOKEN

Authorizations
AuthorizationstringRequired

Access token recevied after user login with a deviceToken

Path parameters
tenantUserUidstringRequired

Reference to a TenantUser.

Pattern: ^[A-Za-z0-9-_]+
tenantUidstringRequired

Reference to a tenant.

Pattern: ^[A-Za-z0-9-_]+
Responses
200

Example response

application/json
post/tenants/{tenantUid}/users/{tenantUserUid}/tokens
POST /v2/tenants/{tenantUid}/users/{tenantUserUid}/tokens HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200

Example response

{
  "items": [
    {
      "tenantUserTokenUid": "text",
      "token": "text"
    }
  ],
  "paging": {
    "pageNumber": 1,
    "pageSize": 1,
    "totalCount": 1
  }
}

Delete an integration token from a tenant user

delete
/tenants/{tenantUid}/users/{tenantUserUid}/tokens/{tenantUserTokenUid}

Deletes an integration token for a tenant user

Required permissions: USER_TOKEN

Authorizations
AuthorizationstringRequired

Access token recevied after user login with a deviceToken

Path parameters
tenantUserTokenUidstringRequired

Reference to a TenantUserToken.

Pattern: ^[A-Za-z0-9-_]+
tenantUserUidstringRequired

Reference to a TenantUser.

Pattern: ^[A-Za-z0-9-_]+
tenantUidstringRequired

Reference to a tenant.

Pattern: ^[A-Za-z0-9-_]+
Responses
204

No Content

No content

delete/tenants/{tenantUid}/users/{tenantUserUid}/tokens/{tenantUserTokenUid}
DELETE /v2/tenants/{tenantUid}/users/{tenantUserUid}/tokens/{tenantUserTokenUid} HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
204

No Content

No content

Search for tenant user

post
/tenants/{tenantUid}/users/search

Search for users

Required permissions: TENANT_USER

Authorizations
AuthorizationstringRequired

Access token recevied after user login with a deviceToken

Path parameters
tenantUidstringRequired

Reference to a tenant.

Pattern: ^[A-Za-z0-9-_]+
Query parameters
pageSizeintegerOptional

The number of items per page in a result set.

pageNumberintegerOptional

Reference to a specific page in a result set.

Body
querystringOptional

Fuzzy search on displayname, firstname, lastname, mobile, email and userCode

userCodestringOptional

Exact match search.

emailstringOptional

Exact match search.

mobilestringOptional

Exact match search.

Responses
200

Example response

application/json
post/tenants/{tenantUid}/users/search
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"
  ]
}
200

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