Heads up, our devs are blazing ahead—docs are catching up, so some features might not be fully documented yet.

Device

Device

Get device information

get

Fetch device info for current device given in token

Authorizations
Responses
200
Example response
application/json
get
GET /v2/device HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200

Example response

{
  "availablePaymentMethods": [
    {
      "allowRefund": true,
      "allowSale": true,
      "allowCashback": true,
      "allowAmount": true,
      "name": "text",
      "parameters": [
        {
          "name": "text",
          "description": "text",
          "required": true,
          "key": "text",
          "keyType": "TEXT",
          "regex": "text"
        }
      ],
      "paymentCode": "CASH",
      "storePaymentMethodUid": "text",
      "requirements": {
        "requireCustomer": true,
        "requireCustomerMobile": true,
        "requireCustomerEmail": true,
        "requireCustomerContact": true,
        "requireExclusiveUse": true
      },
      "settlementCode": "text",
      "visibility": "FEATURED",
      "position": 1,
      "description": "text"
    }
  ],
  "zeroAmountPaymentMethod": {
    "allowRefund": true,
    "allowSale": true,
    "allowCashback": true,
    "allowAmount": true,
    "name": "text",
    "parameters": [
      {
        "name": "text",
        "description": "text",
        "required": true,
        "key": "text",
        "keyType": "TEXT",
        "regex": "text"
      }
    ],
    "paymentCode": "CASH",
    "storePaymentMethodUid": "text",
    "requirements": {
      "requireCustomer": true,
      "requireCustomerMobile": true,
      "requireCustomerEmail": true,
      "requireCustomerContact": true,
      "requireExclusiveUse": true
    },
    "settlementCode": "text",
    "visibility": "FEATURED",
    "position": 1,
    "description": "text"
  },
  "availableReasons": {
    "discount": [
      {
        "code": "text",
        "description": "text"
      }
    ],
    "return": [
      {
        "code": "text",
        "description": "text"
      }
    ]
  },
  "deviceIdentifier": "text",
  "deviceUid": "text",
  "storeInfo": {
    "address": "text",
    "city": "text",
    "countryCode": "text",
    "createdAt": "2025-07-30T18:22:23.983Z",
    "defaultWarehouseUid": "text",
    "defaultReturnWarehouseUid": "text",
    "defaultDeliveryWarehouseUid": "text",
    "email": "text",
    "externalId": "text",
    "isActive": true,
    "lastModifiedAt": "2025-07-30T18:22:23.983Z",
    "latitude": 1,
    "longitude": 1,
    "name": "text",
    "postalCode": "text",
    "phone": "text",
    "purchaseNumberSeriesUid": "text",
    "internalPurchaseNumberSeriesUid": "text",
    "rmaOrderNumberSeriesUid": "text",
    "customerLedgerNumberSeriesUid": "text",
    "quicksaleCategoryUid": "text",
    "receiptMessage": "text",
    "emailReceiptMessage": "text",
    "exchangenoteMessage": "text",
    "exchangenoteValidDays": 1,
    "salesPriceUid": "text",
    "settings": [
      {
        "key": "VIPPS_MSN",
        "value": "text"
      }
    ],
    "storeUid": "text",
    "vatNumber": "text",
    "voucherNumberSeriesUid": "text",
    "serviceNumberSeriesUid": "text",
    "hasWorkShop": false,
    "organizationUid": "text",
    "availableExtensions": [
      {
        "extensionCode": "FLOWGIFTCARD",
        "name": "text"
      }
    ],
    "openingHours": {
      "monday": "text",
      "tuesday": "text",
      "wednesday": "text",
      "thursday": "text",
      "friday": "text",
      "saturday": "text",
      "sunday": "text",
      "note": "text"
    },
    "bankInfo": {
      "accountNumber": "text",
      "bankName": "text",
      "iban": "text",
      "swift": "text"
    },
    "websiteUrl": "text"
  },
  "tenantInfo": {
    "countryCode": "text",
    "createdAt": "2025-07-30T18:22:23.983Z",
    "lastModifiedAt": "2025-07-30T18:22:23.983Z",
    "name": "text",
    "pricelistUid": "text",
    "tenantUid": "text",
    "vatNumber": "text",
    "settings": {
      "allowExternalCashDrawer": false,
      "autoLogout": 1,
      "autoPrintReceipt": true,
      "numericSkuCounter": 1,
      "printCardPaymentDetails": false,
      "sendInvoicesExternally": true
    },
    "appSettings": {
      "showOutOfStockWarning": true
    },
    "extensions": [
      {
        "extensionCode": "FLOWGIFTCARD",
        "name": "text",
        "active": true
      }
    ],
    "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
    }
  },
  "tillInfo": {
    "barcodePrinter": "text",
    "cashDrawer": "text",
    "createdAt": "2025-07-30T18:22:23.983Z",
    "deviceIdentifier": "text",
    "lastModifiedAt": "2025-07-30T18:22:23.983Z",
    "lastOrderUid": "text",
    "lastOrderNumber": "text",
    "name": "text",
    "paymentTerminal": "NONE",
    "receiptPrinter": "text",
    "regularPrinter": "text",
    "settings": [
      {
        "key": "STRIPE_TERMINAL_ID",
        "value": "text"
      }
    ],
    "tillUid": "text",
    "tillNumber": 1,
    "appSettings": {
      "saleStopAtDelivery": true,
      "autoLogout": 1,
      "touchMode": "UNAVAILABLE"
    }
  },
  "currencyDenominations": [
    {
      "currencyCode": "text",
      "denomination": 1,
      "material": "COIN"
    }
  ],
  "name": "text",
  "settings": [
    {
      "key": "text",
      "value": "text",
      "type": "STRING",
      "allowedValues": [
        "text"
      ],
      "validationRegex": "text",
      "name": "text",
      "required": true
    }
  ],
  "printers": [
    {
      "printerUid": "text",
      "name": "text",
      "type": "LABEL"
    }
  ]
}
Deprecated

Register a new device (deprecated)

post

Register a new device for authorization.

You should already have a clientId supplied by Flow, and you will retreive a deviceIdentifier and deviceToken in the response.

Body
clientIdstringRequired
namestring | nullableOptional
systemInformationstring | nullableOptional

Contains device name, OS, release version of OS, OS build date, like a uname -a response on linux servers

Responses
200
Example response
application/json
post
POST /v2/device HTTP/1.1
Host: api.flowretail.com
Content-Type: application/json
Accept: */*
Content-Length: 60

{
  "clientId": "text",
  "name": "text",
  "systemInformation": "text"
}
200

Example response

{
  "deviceCode": "text",
  "deviceIdentifier": "text",
  "expires_in": 1,
  "interval": 1,
  "verificationUri": "text"
}

Update systemInformation for a device

put

Update system information for a device.

Authorizations
Body
systemInformationstringRequired

Contains device name, OS, release version of OS, OS build date, like a uname -a response on linux servers

Responses
204
No Content
put
PUT /v2/device HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 28

{
  "systemInformation": "text"
}
204

No Content

No content

Deprecated

Accept Device (deprecated)

post

Device Authorization Flow - Authorize a device and attach it to a specific store

Authorizations
Body
deviceCodestringRequired
storeUidstringRequiredPattern: ^[A-Za-z0-9-_]+
tenantUidstringRequiredPattern: ^[A-Za-z0-9-_]+
tillUidstringOptionalPattern: ^[A-Za-z0-9-_]+
namestringOptional
Responses
200
OK
post
POST /v2/device/authorize HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 89

{
  "deviceCode": "text",
  "storeUid": "text",
  "tenantUid": "text",
  "tillUid": "text",
  "name": "text"
}

No content

Link a physical device

post

Link a physical device to a device registered in Flow.

Path parameters
deviceCodestringRequired

Device code from backoffice

Body
appIdstringRequired

This is a predefined app id that Flow will provide

userCodestringRequired

A user code from the tenant

passwordstringRequired

The password for the user

systemInformationstringOptional

Contains device name, OS, release version of OS, OS build date, like a uname -a response on linux servers

Responses
200
Example response
application/json
post
POST /v2/device/{deviceCode}/link HTTP/1.1
Host: api.flowretail.com
Content-Type: application/json
Accept: */*
Content-Length: 79

{
  "appId": "text",
  "userCode": "text",
  "password": "text",
  "systemInformation": "text"
}
{
  "expires": 1,
  "token": "text",
  "refreshToken": "text"
}

Request a new device token

post

Device Authorization Flow - Request a new token

Body
one ofOptional
or
Responses
200
Link successfull.
application/json
post
POST /v2/device/token HTTP/1.1
Host: api.flowretail.com
Content-Type: application/json
Accept: */*
Content-Length: 38

{
  "appId": "text",
  "refreshToken": "text"
}
{
  "expires": 1,
  "token": "text",
  "token_type": "text"
}

List device users

get

List all users that can login to the current device.

Authorizations
Query parameters
sortBystringOptional

Defines which field the resource list is sorted by.

sortDirectionstring · enumOptional
ENUM Description
ASC Sort in ascending order
DESC Sort in descending order
Possible values:
pageSizeintegerOptional

The number of items per page in a result set.

pageNumberintegerOptional

Reference to a specific page in a result set.

Responses
200
Example response
application/json
get
GET /v2/device/users HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "items": [
    {
      "accountType": "FULL",
      "displayName": "text",
      "firstname": "text",
      "lastAccessed": "2025-07-30T18:22:23.983Z",
      "lastname": "text",
      "tenantUserUid": "text",
      "userCode": "text",
      "languageCode": "text"
    }
  ],
  "paging": {
    "pageNumber": 1,
    "pageSize": 1,
    "totalCount": 1
  }
}

List registered devices

get

Get list of registered devices.

Required permission: TENANT.ADMIN

Authorizations
Path parameters
tenantUidstringRequired

Reference to a tenant.

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

Reference to a store uid

Pattern: ^[A-Za-z0-9-_]+
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
ENUM Description
ASC Sort in ascending order
DESC Sort in descending order
Possible values:
Responses
200
Example response
application/json
get
GET /v2/tenants/{tenantUid}/devices HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200

Example response

{
  "items": [
    {
      "createdAt": "2025-07-30T18:22:23.983Z",
      "createdBy": "text",
      "deviceUid": "text",
      "identifier": "text",
      "lastModifiedAt": "2025-07-30T18:22:23.983Z",
      "lastModifiedBy": "text",
      "lastActivityAt": "2025-07-30T18:22:23.983Z",
      "lastTenantUserUid": "text",
      "name": "text",
      "systemInformation": "text",
      "status": "ACTIVE",
      "store": {
        "name": "text",
        "storeUid": "text",
        "organizationUid": "text"
      },
      "deviceLinkCode": "text",
      "lastOrderUid": "text",
      "till": {
        "tillUid": "text",
        "name": "text",
        "tillNumber": 1
      },
      "appCode": "CLIENT",
      "settings": [
        {
          "key": "text",
          "value": "text",
          "type": "STRING",
          "allowedValues": [
            "text"
          ],
          "validationRegex": "text",
          "name": "text",
          "required": true
        }
      ],
      "printers": [
        {
          "printerUid": "text",
          "name": "text",
          "type": "LABEL"
        }
      ]
    }
  ],
  "paging": {
    "pageNumber": 1,
    "pageSize": 1,
    "totalCount": 1
  }
}

Create a new device

post

Create a new device for a tenant

Authorizations
Path parameters
tenantUidstringRequired

Reference to a tenant.

Pattern: ^[A-Za-z0-9-_]+
Body
deviceUidstringOptionalPattern: ^[A-Za-z0-9-_]*
namestringRequired
appCodestring · enumRequired
Enum Description
CLIENT Flow Retail Client
ASSISTANT Flow Retail Assistant
UNKNOWN No specific app
Possible values:
storeUidstringOptionalPattern: ^[A-Za-z0-9-_]*
tillUidstringOptionalPattern: ^[A-Za-z0-9-_]*
printerUidsstring[]Optional
Responses
201
Example response
application/json
post
POST /v2/tenants/{tenantUid}/devices HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 154

{
  "deviceUid": "text",
  "name": "text",
  "appCode": "CLIENT",
  "storeUid": "text",
  "tillUid": "text",
  "settings": [
    {
      "key": "text",
      "value": "text"
    }
  ],
  "printerUids": [
    "text"
  ]
}
{
  "createdAt": "2025-07-30T18:22:23.983Z",
  "createdBy": "text",
  "deviceUid": "text",
  "identifier": "text",
  "lastModifiedAt": "2025-07-30T18:22:23.983Z",
  "lastModifiedBy": "text",
  "lastActivityAt": "2025-07-30T18:22:23.983Z",
  "lastTenantUserUid": "text",
  "name": "text",
  "systemInformation": "text",
  "status": "ACTIVE",
  "store": {
    "name": "text",
    "storeUid": "text",
    "organizationUid": "text"
  },
  "deviceLinkCode": "text",
  "lastOrderUid": "text",
  "till": {
    "tillUid": "text",
    "name": "text",
    "tillNumber": 1
  },
  "appCode": "CLIENT",
  "settings": [
    {
      "key": "text",
      "value": "text",
      "type": "STRING",
      "allowedValues": [
        "text"
      ],
      "validationRegex": "text",
      "name": "text",
      "required": true
    }
  ],
  "printers": [
    {
      "printerUid": "text",
      "name": "text",
      "type": "LABEL"
    }
  ]
}

Search registered devices

post

Search Registered devices

Required permission: TENANT.ADMIN

Authorizations
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
ENUM Description
ASC Sort in ascending order
DESC Sort in descending order
Possible values:
Body
namestringOptional
deviceIdentifierstringOptionalPattern: ^[A-Za-z0-9-_]*
querystringOptional
appCodestring · enumOptional
Enum Description
CLIENT Flow Retail Client
ASSISTANT Flow Retail Assistant
UNKNOWN No specific app
Possible values:
Responses
200
Example response
application/json
post
POST /v2/tenants/{tenantUid}/devices/search HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 97

{
  "name": "text",
  "deviceIdentifier": "text",
  "query": "text",
  "appCode": "CLIENT",
  "statuses": [
    "ACTIVE"
  ]
}
200

Example response

{
  "items": [
    {
      "createdAt": "2025-07-30T18:22:23.983Z",
      "createdBy": "text",
      "deviceUid": "text",
      "identifier": "text",
      "lastModifiedAt": "2025-07-30T18:22:23.983Z",
      "lastModifiedBy": "text",
      "lastActivityAt": "2025-07-30T18:22:23.983Z",
      "lastTenantUserUid": "text",
      "name": "text",
      "systemInformation": "text",
      "status": "ACTIVE",
      "store": {
        "name": "text",
        "storeUid": "text",
        "organizationUid": "text"
      },
      "deviceLinkCode": "text",
      "lastOrderUid": "text",
      "till": {
        "tillUid": "text",
        "name": "text",
        "tillNumber": 1
      },
      "appCode": "CLIENT",
      "settings": [
        {
          "key": "text",
          "value": "text",
          "type": "STRING",
          "allowedValues": [
            "text"
          ],
          "validationRegex": "text",
          "name": "text",
          "required": true
        }
      ],
      "printers": [
        {
          "printerUid": "text",
          "name": "text",
          "type": "LABEL"
        }
      ]
    }
  ],
  "paging": {
    "pageNumber": 1,
    "pageSize": 1,
    "totalCount": 1
  }
}

Get device details

get

Get details for a device.

Required permission: TENANT.ADMIN

Authorizations
Path parameters
tenantUidstringRequired

Reference to a tenant.

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

Reference to a device

Pattern: ^[A-Za-z0-9-_]+
Responses
200
Example response
application/json
get
GET /v2/tenants/{tenantUid}/devices/{deviceUid} HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200

Example response

{
  "createdAt": "2025-07-30T18:22:23.983Z",
  "createdBy": "text",
  "deviceUid": "text",
  "identifier": "text",
  "lastModifiedAt": "2025-07-30T18:22:23.983Z",
  "lastModifiedBy": "text",
  "lastActivityAt": "2025-07-30T18:22:23.983Z",
  "lastTenantUserUid": "text",
  "name": "text",
  "systemInformation": "text",
  "status": "ACTIVE",
  "store": {
    "name": "text",
    "storeUid": "text",
    "organizationUid": "text"
  },
  "deviceLinkCode": "text",
  "lastOrderUid": "text",
  "till": {
    "tillUid": "text",
    "name": "text",
    "tillNumber": 1
  },
  "appCode": "CLIENT",
  "settings": [
    {
      "key": "text",
      "value": "text",
      "type": "STRING",
      "allowedValues": [
        "text"
      ],
      "validationRegex": "text",
      "name": "text",
      "required": true
    }
  ],
  "printers": [
    {
      "printerUid": "text",
      "name": "text",
      "type": "LABEL"
    }
  ]
}

Update device details

put

Update details for a device. Partial updates are allowed.

Required permission: TENANT.ADMIN

Setting the status to "READY_TO_LINK" will unlink it for the current device and create a new deviceLinkCode and a new identifier

Authorizations
Path parameters
tenantUidstringRequired

Reference to a tenant.

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

Reference to a device

Pattern: ^[A-Za-z0-9-_]+
Body
namestringOptional
appCodestring · enumOptional
Enum Description
CLIENT Flow Retail Client
ASSISTANT Flow Retail Assistant
UNKNOWN No specific app
Possible values:
storeUidstringOptionalPattern: ^[A-Za-z0-9-_]*
statusstring · enumOptional
Enum Description
READY_TO_LINK The device is ready to a physical device through the link endpoint
ACTIVE The device is linked and active
BLOCKED The device is linked, but blocked for usage
Possible values:
tillUidstringOptionalPattern: ^[A-Za-z0-9-_]*
printerUidsstring[]Optional
Responses
200
Example response
application/json
put
PUT /v2/tenants/{tenantUid}/devices/{deviceUid} HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 153

{
  "name": "text",
  "appCode": "CLIENT",
  "storeUid": "text",
  "status": "ACTIVE",
  "tillUid": "text",
  "settings": [
    {
      "key": "text",
      "value": "text"
    }
  ],
  "printerUids": [
    "text"
  ]
}
200

Example response

{
  "createdAt": "2025-07-30T18:22:23.983Z",
  "createdBy": "text",
  "deviceUid": "text",
  "identifier": "text",
  "lastModifiedAt": "2025-07-30T18:22:23.983Z",
  "lastModifiedBy": "text",
  "lastActivityAt": "2025-07-30T18:22:23.983Z",
  "lastTenantUserUid": "text",
  "name": "text",
  "systemInformation": "text",
  "status": "ACTIVE",
  "store": {
    "name": "text",
    "storeUid": "text",
    "organizationUid": "text"
  },
  "deviceLinkCode": "text",
  "lastOrderUid": "text",
  "till": {
    "tillUid": "text",
    "name": "text",
    "tillNumber": 1
  },
  "appCode": "CLIENT",
  "settings": [
    {
      "key": "text",
      "value": "text",
      "type": "STRING",
      "allowedValues": [
        "text"
      ],
      "validationRegex": "text",
      "name": "text",
      "required": true
    }
  ],
  "printers": [
    {
      "printerUid": "text",
      "name": "text",
      "type": "LABEL"
    }
  ]
}

Delete a device

delete

Deletes a device.

Required permission: TENANT.ADMIN

Authorizations
Path parameters
tenantUidstringRequired

Reference to a tenant.

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

Reference to a device

Pattern: ^[A-Za-z0-9-_]+
Responses
204
No Content
delete
DELETE /v2/tenants/{tenantUid}/devices/{deviceUid} HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
204

No Content

No content

Was this helpful?