Device
Device
Fetch device info for current device given in token
GET /v2/device HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
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"
}
]
}
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.
Contains device name, OS, release version of OS, OS build date, like a uname -a response on linux servers
POST /v2/device HTTP/1.1
Host: api.flowretail.com
Content-Type: application/json
Accept: */*
Content-Length: 60
{
"clientId": "text",
"name": "text",
"systemInformation": "text"
}
Example response
{
"deviceCode": "text",
"deviceIdentifier": "text",
"expires_in": 1,
"interval": 1,
"verificationUri": "text"
}
Update system information for a device.
Contains device name, OS, release version of OS, OS build date, like a uname -a response on linux servers
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"
}
No Content
No content
Device Authorization Flow - Authorize a device and attach it to a specific store
^[A-Za-z0-9-_]+
^[A-Za-z0-9-_]+
^[A-Za-z0-9-_]+
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 to a device registered in Flow.
Device code from backoffice
This is a predefined app id that Flow will provide
A user code from the tenant
The password for the user
Contains device name, OS, release version of OS, OS build date, like a uname -a response on linux servers
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"
}
Device Authorization Flow - Request a new token
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 all users that can login to the current device.
Defines which field the resource list is sorted by.
ENUM | Description |
---|---|
ASC | Sort in ascending order |
DESC | Sort in descending order |
The number of items per page in a result set.
Reference to a specific page in a result set.
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
}
}
Get list of registered devices.
Required permission: TENANT.ADMIN
Reference to a tenant.
^[A-Za-z0-9-_]+
Reference to a store uid
^[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}/devices HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
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 for a tenant
Reference to a tenant.
^[A-Za-z0-9-_]+
^[A-Za-z0-9-_]*
Enum | Description |
---|---|
CLIENT | Flow Retail Client |
ASSISTANT | Flow Retail Assistant |
UNKNOWN | No specific app |
^[A-Za-z0-9-_]*
^[A-Za-z0-9-_]*
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
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 |
^[A-Za-z0-9-_]*
Enum | Description |
---|---|
CLIENT | Flow Retail Client |
ASSISTANT | Flow Retail Assistant |
UNKNOWN | No specific app |
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"
]
}
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 details for a device.
Required permission: TENANT.ADMIN
Reference to a tenant.
^[A-Za-z0-9-_]+
Reference to a device
^[A-Za-z0-9-_]+
GET /v2/tenants/{tenantUid}/devices/{deviceUid} HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
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 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
Reference to a tenant.
^[A-Za-z0-9-_]+
Reference to a device
^[A-Za-z0-9-_]+
Enum | Description |
---|---|
CLIENT | Flow Retail Client |
ASSISTANT | Flow Retail Assistant |
UNKNOWN | No specific app |
^[A-Za-z0-9-_]*
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 |
^[A-Za-z0-9-_]*
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"
]
}
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"
}
]
}
Deletes a device.
Required permission: TENANT.ADMIN
Reference to a tenant.
^[A-Za-z0-9-_]+
Reference to a device
^[A-Za-z0-9-_]+
DELETE /v2/tenants/{tenantUid}/devices/{deviceUid} HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No Content
No content
Was this helpful?