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

Service

Service

List service-orders

get
/tenants/{tenantUid}/stores/{storeUid}/serviceorders

List all service-orders for a tenant store. Default sorting order is by serviceOrderUid ascending.

Authorizations
Path parameters
tenantUidstringRequired

Reference to a tenant.

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

Reference to a Store.

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:
serviceTypeUidsstring[]Optional

Filter by service types

assignedUserUidsstring[]Optional

Filter by assigned users

createdFromStoreUidsstring[]Optional

Filter by created-from-stores

Responses
200

Example response

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

Example response

{
  "items": [
    {
      "serviceOrderUid": "text",
      "tenantUid": "text",
      "storeUid": "text",
      "orderProductLineUid": "text",
      "orderUid": "text",
      "customerUid": "text",
      "createdFromStoreUid": "text",
      "assignedUserUid": "text",
      "assignedUserDisplayName": "text",
      "serviceTypeUid": "text",
      "serviceTypeName": "text",
      "serviceStatusUid": "text",
      "serviceStatusName": "text",
      "serviceState": "NOT_STARTED",
      "title": "text",
      "serviceNumber": "text",
      "externalServiceNumber": "text",
      "description": "text",
      "locationLabel": "text",
      "priority": "NONE",
      "requiresPriceEstimate": true,
      "estimatedPrice": 1,
      "maxPrice": 1,
      "readyAtEstimate": "2025-10-28T18:54:55.519Z",
      "readyAtNeeded": "2025-10-28T18:54:55.519Z",
      "publicPageHash": "text",
      "warranty": true,
      "createdAt": "2025-10-28T18:54:55.519Z",
      "createdBy": "text",
      "lastModifiedAt": "2025-10-28T18:54:55.519Z",
      "lastModifiedBy": "text",
      "totals": {
        "grandTotal": 1,
        "partsTotal": 1,
        "workTotal": 1
      },
      "items": [
        {
          "serviceOrderItemUid": "text",
          "serviceOrderUid": "text",
          "warehouseUid": "text",
          "tenantUserUid": "text",
          "productUid": "text",
          "salesOrderUid": "text",
          "quantity": 1,
          "name": "text",
          "sku": "text",
          "price": 1,
          "costPrice": 1,
          "originalPrice": 1,
          "totalPrice": 1,
          "totalCostPrice": 1,
          "serialNumber": "text",
          "note": "text",
          "tenantUserDisplayName": "text",
          "createdAt": "2025-10-28T18:54:55.519Z",
          "createdBy": "text",
          "lastModifiedAt": "2025-10-28T18:54:55.519Z",
          "lastModifiedBy": "text"
        }
      ],
      "assets": [
        {
          "assetUid": "text",
          "name": "text",
          "description": "text",
          "isPublic": true,
          "publicUrl": "text",
          "mimeType": "text"
        }
      ]
    }
  ],
  "paging": {
    "pageNumber": 1,
    "pageSize": 1,
    "totalCount": 1
  }
}

Create new service-order

post
/tenants/{tenantUid}/stores/{storeUid}/serviceorders

Create a new service-order.

Authorizations
Path parameters
tenantUidstringRequired

Reference to a tenant.

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

Reference to a Store.

Pattern: ^[A-Za-z0-9-_]+
Body
all ofOptional
and
Responses
201

Example response

application/json
post
/tenants/{tenantUid}/stores/{storeUid}/serviceorders
POST /v2/tenants/{tenantUid}/stores/{storeUid}/serviceorders HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 367

{
  "customerUid": "text",
  "serviceTypeUid": "text",
  "orderProductLineUid": "text",
  "title": "text",
  "description": "text",
  "locationLabel": "text",
  "priority": "NONE",
  "requiresPriceEstimate": true,
  "estimatedPrice": 1,
  "maxPrice": 1,
  "readyAtEstimate": "2025-10-28T18:54:55.519Z",
  "readyAtNeeded": "2025-10-28T18:54:55.519Z",
  "assignedUserUid": "text",
  "warranty": true,
  "serviceOrderUid": "text"
}
201

Example response

{
  "serviceOrderUid": "text",
  "tenantUid": "text",
  "storeUid": "text",
  "orderProductLineUid": "text",
  "orderUid": "text",
  "customerUid": "text",
  "createdFromStoreUid": "text",
  "assignedUserUid": "text",
  "assignedUserDisplayName": "text",
  "serviceTypeUid": "text",
  "serviceTypeName": "text",
  "serviceStatusUid": "text",
  "serviceStatusName": "text",
  "serviceState": "NOT_STARTED",
  "title": "text",
  "serviceNumber": "text",
  "externalServiceNumber": "text",
  "description": "text",
  "locationLabel": "text",
  "priority": "NONE",
  "requiresPriceEstimate": true,
  "estimatedPrice": 1,
  "maxPrice": 1,
  "readyAtEstimate": "2025-10-28T18:54:55.519Z",
  "readyAtNeeded": "2025-10-28T18:54:55.519Z",
  "publicPageHash": "text",
  "warranty": true,
  "createdAt": "2025-10-28T18:54:55.519Z",
  "createdBy": "text",
  "lastModifiedAt": "2025-10-28T18:54:55.519Z",
  "lastModifiedBy": "text",
  "totals": {
    "grandTotal": 1,
    "partsTotal": 1,
    "workTotal": 1
  },
  "items": [
    {
      "serviceOrderItemUid": "text",
      "serviceOrderUid": "text",
      "warehouseUid": "text",
      "tenantUserUid": "text",
      "productUid": "text",
      "salesOrderUid": "text",
      "quantity": 1,
      "name": "text",
      "sku": "text",
      "price": 1,
      "costPrice": 1,
      "originalPrice": 1,
      "totalPrice": 1,
      "totalCostPrice": 1,
      "serialNumber": "text",
      "note": "text",
      "tenantUserDisplayName": "text",
      "createdAt": "2025-10-28T18:54:55.519Z",
      "createdBy": "text",
      "lastModifiedAt": "2025-10-28T18:54:55.519Z",
      "lastModifiedBy": "text"
    }
  ],
  "assets": [
    {
      "assetUid": "text",
      "name": "text",
      "description": "text",
      "isPublic": true,
      "publicUrl": "text",
      "mimeType": "text"
    }
  ]
}

Get service-order

get
/tenants/{tenantUid}/stores/{storeUid}/serviceorders/{serviceOrderUid}

Get the data for a given service-order.

Authorizations
Path parameters
tenantUidstringRequired

Reference to a tenant.

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

Reference to a Store.

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

Reference to a service order

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

Example response

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

Example response

{
  "serviceOrderUid": "text",
  "tenantUid": "text",
  "storeUid": "text",
  "orderProductLineUid": "text",
  "orderUid": "text",
  "customerUid": "text",
  "createdFromStoreUid": "text",
  "assignedUserUid": "text",
  "assignedUserDisplayName": "text",
  "serviceTypeUid": "text",
  "serviceTypeName": "text",
  "serviceStatusUid": "text",
  "serviceStatusName": "text",
  "serviceState": "NOT_STARTED",
  "title": "text",
  "serviceNumber": "text",
  "externalServiceNumber": "text",
  "description": "text",
  "locationLabel": "text",
  "priority": "NONE",
  "requiresPriceEstimate": true,
  "estimatedPrice": 1,
  "maxPrice": 1,
  "readyAtEstimate": "2025-10-28T18:54:55.519Z",
  "readyAtNeeded": "2025-10-28T18:54:55.519Z",
  "publicPageHash": "text",
  "warranty": true,
  "createdAt": "2025-10-28T18:54:55.519Z",
  "createdBy": "text",
  "lastModifiedAt": "2025-10-28T18:54:55.519Z",
  "lastModifiedBy": "text",
  "totals": {
    "grandTotal": 1,
    "partsTotal": 1,
    "workTotal": 1
  },
  "items": [
    {
      "serviceOrderItemUid": "text",
      "serviceOrderUid": "text",
      "warehouseUid": "text",
      "tenantUserUid": "text",
      "productUid": "text",
      "salesOrderUid": "text",
      "quantity": 1,
      "name": "text",
      "sku": "text",
      "price": 1,
      "costPrice": 1,
      "originalPrice": 1,
      "totalPrice": 1,
      "totalCostPrice": 1,
      "serialNumber": "text",
      "note": "text",
      "tenantUserDisplayName": "text",
      "createdAt": "2025-10-28T18:54:55.519Z",
      "createdBy": "text",
      "lastModifiedAt": "2025-10-28T18:54:55.519Z",
      "lastModifiedBy": "text"
    }
  ],
  "assets": [
    {
      "assetUid": "text",
      "name": "text",
      "description": "text",
      "isPublic": true,
      "publicUrl": "text",
      "mimeType": "text"
    }
  ]
}

Update service-order

put
/tenants/{tenantUid}/stores/{storeUid}/serviceorders/{serviceOrderUid}

Update data on a given service-order.

Authorizations
Path parameters
tenantUidstringRequired

Reference to a tenant.

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

Reference to a Store.

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

Reference to a service order

Pattern: ^[A-Za-z0-9-_]+
Body
customerUidstringRequiredPattern: ^[A-Za-z0-9-_]*
serviceTypeUidstringRequiredPattern: ^[A-Za-z0-9-_]+
orderProductLineUidstringOptionalPattern: ^[A-Za-z0-9-_]*
titlestringRequired
descriptionstringRequired
locationLabelstringOptional
prioritystring · enumRequiredDefault: NONEPossible values:
requiresPriceEstimatebooleanOptional
estimatedPriceintegerOptional
maxPriceintegerOptional
readyAtEstimatestring · date-timeOptional
readyAtNeededstring · date-timeOptional
assignedUserUidstringOptionalPattern: ^[A-Za-z0-9-_]*
warrantybooleanOptional
Responses
200

Example response

application/json
put
/tenants/{tenantUid}/stores/{storeUid}/serviceorders/{serviceOrderUid}
PUT /v2/tenants/{tenantUid}/stores/{storeUid}/serviceorders/{serviceOrderUid} HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 342

{
  "customerUid": "text",
  "serviceTypeUid": "text",
  "orderProductLineUid": "text",
  "title": "text",
  "description": "text",
  "locationLabel": "text",
  "priority": "NONE",
  "requiresPriceEstimate": true,
  "estimatedPrice": 1,
  "maxPrice": 1,
  "readyAtEstimate": "2025-10-28T18:54:55.519Z",
  "readyAtNeeded": "2025-10-28T18:54:55.519Z",
  "assignedUserUid": "text",
  "warranty": true
}
200

Example response

{
  "serviceOrderUid": "text",
  "tenantUid": "text",
  "storeUid": "text",
  "orderProductLineUid": "text",
  "orderUid": "text",
  "customerUid": "text",
  "createdFromStoreUid": "text",
  "assignedUserUid": "text",
  "assignedUserDisplayName": "text",
  "serviceTypeUid": "text",
  "serviceTypeName": "text",
  "serviceStatusUid": "text",
  "serviceStatusName": "text",
  "serviceState": "NOT_STARTED",
  "title": "text",
  "serviceNumber": "text",
  "externalServiceNumber": "text",
  "description": "text",
  "locationLabel": "text",
  "priority": "NONE",
  "requiresPriceEstimate": true,
  "estimatedPrice": 1,
  "maxPrice": 1,
  "readyAtEstimate": "2025-10-28T18:54:55.519Z",
  "readyAtNeeded": "2025-10-28T18:54:55.519Z",
  "publicPageHash": "text",
  "warranty": true,
  "createdAt": "2025-10-28T18:54:55.519Z",
  "createdBy": "text",
  "lastModifiedAt": "2025-10-28T18:54:55.519Z",
  "lastModifiedBy": "text",
  "totals": {
    "grandTotal": 1,
    "partsTotal": 1,
    "workTotal": 1
  },
  "items": [
    {
      "serviceOrderItemUid": "text",
      "serviceOrderUid": "text",
      "warehouseUid": "text",
      "tenantUserUid": "text",
      "productUid": "text",
      "salesOrderUid": "text",
      "quantity": 1,
      "name": "text",
      "sku": "text",
      "price": 1,
      "costPrice": 1,
      "originalPrice": 1,
      "totalPrice": 1,
      "totalCostPrice": 1,
      "serialNumber": "text",
      "note": "text",
      "tenantUserDisplayName": "text",
      "createdAt": "2025-10-28T18:54:55.519Z",
      "createdBy": "text",
      "lastModifiedAt": "2025-10-28T18:54:55.519Z",
      "lastModifiedBy": "text"
    }
  ],
  "assets": [
    {
      "assetUid": "text",
      "name": "text",
      "description": "text",
      "isPublic": true,
      "publicUrl": "text",
      "mimeType": "text"
    }
  ]
}

Delete service-order

delete
/tenants/{tenantUid}/stores/{storeUid}/serviceorders/{serviceOrderUid}

Delete a given service-order.

Authorizations
Path parameters
tenantUidstringRequired

Reference to a tenant.

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

Reference to a Store.

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

Reference to a service order

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

No Content

No content

delete
/tenants/{tenantUid}/stores/{storeUid}/serviceorders/{serviceOrderUid}
DELETE /v2/tenants/{tenantUid}/stores/{storeUid}/serviceorders/{serviceOrderUid} HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
204

No Content

No content

Add new service-order item

post
/tenants/{tenantUid}/stores/{storeUid}/serviceorders/{serviceOrderUid}/items

Add a new service-order item.

Authorizations
Path parameters
tenantUidstringRequired

Reference to a tenant.

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

Reference to a Store.

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

Reference to a service order

Pattern: ^[A-Za-z0-9-_]+
Body
all ofOptional
and
Responses
201

Example response

application/json
post
/tenants/{tenantUid}/stores/{storeUid}/serviceorders/{serviceOrderUid}/items
POST /v2/tenants/{tenantUid}/stores/{storeUid}/serviceorders/{serviceOrderUid}/items HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 131

{
  "price": 1,
  "quantity": 1,
  "serialNumber": "text",
  "note": "text",
  "productUid": "text",
  "serviceOrderItemUid": "text",
  "warehouseUid": "text"
}
201

Example response

{
  "serviceOrderUid": "text",
  "tenantUid": "text",
  "storeUid": "text",
  "orderProductLineUid": "text",
  "orderUid": "text",
  "customerUid": "text",
  "createdFromStoreUid": "text",
  "assignedUserUid": "text",
  "assignedUserDisplayName": "text",
  "serviceTypeUid": "text",
  "serviceTypeName": "text",
  "serviceStatusUid": "text",
  "serviceStatusName": "text",
  "serviceState": "NOT_STARTED",
  "title": "text",
  "serviceNumber": "text",
  "externalServiceNumber": "text",
  "description": "text",
  "locationLabel": "text",
  "priority": "NONE",
  "requiresPriceEstimate": true,
  "estimatedPrice": 1,
  "maxPrice": 1,
  "readyAtEstimate": "2025-10-28T18:54:55.519Z",
  "readyAtNeeded": "2025-10-28T18:54:55.519Z",
  "publicPageHash": "text",
  "warranty": true,
  "createdAt": "2025-10-28T18:54:55.519Z",
  "createdBy": "text",
  "lastModifiedAt": "2025-10-28T18:54:55.519Z",
  "lastModifiedBy": "text",
  "totals": {
    "grandTotal": 1,
    "partsTotal": 1,
    "workTotal": 1
  },
  "items": [
    {
      "serviceOrderItemUid": "text",
      "serviceOrderUid": "text",
      "warehouseUid": "text",
      "tenantUserUid": "text",
      "productUid": "text",
      "salesOrderUid": "text",
      "quantity": 1,
      "name": "text",
      "sku": "text",
      "price": 1,
      "costPrice": 1,
      "originalPrice": 1,
      "totalPrice": 1,
      "totalCostPrice": 1,
      "serialNumber": "text",
      "note": "text",
      "tenantUserDisplayName": "text",
      "createdAt": "2025-10-28T18:54:55.519Z",
      "createdBy": "text",
      "lastModifiedAt": "2025-10-28T18:54:55.519Z",
      "lastModifiedBy": "text"
    }
  ],
  "assets": [
    {
      "assetUid": "text",
      "name": "text",
      "description": "text",
      "isPublic": true,
      "publicUrl": "text",
      "mimeType": "text"
    }
  ]
}

Update service-order item

put
/tenants/{tenantUid}/stores/{storeUid}/serviceorders/{serviceOrderUid}/items/{serviceOrderItemUid}

Update a service-order item.

Authorizations
Path parameters
tenantUidstringRequired

Reference to a tenant.

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

Reference to a Store.

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

Reference to a service order

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

Reference to a service order item

Pattern: ^[A-Za-z0-9-_]+
Body
priceintegerOptional
quantityintegerRequired
serialNumberstringOptional
notestringOptional
Responses
200

Example response

application/json
put
/tenants/{tenantUid}/stores/{storeUid}/serviceorders/{serviceOrderUid}/items/{serviceOrderItemUid}
PUT /v2/tenants/{tenantUid}/stores/{storeUid}/serviceorders/{serviceOrderUid}/items/{serviceOrderItemUid} HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 60

{
  "price": 1,
  "quantity": 1,
  "serialNumber": "text",
  "note": "text"
}
200

Example response

{
  "serviceOrderUid": "text",
  "tenantUid": "text",
  "storeUid": "text",
  "orderProductLineUid": "text",
  "orderUid": "text",
  "customerUid": "text",
  "createdFromStoreUid": "text",
  "assignedUserUid": "text",
  "assignedUserDisplayName": "text",
  "serviceTypeUid": "text",
  "serviceTypeName": "text",
  "serviceStatusUid": "text",
  "serviceStatusName": "text",
  "serviceState": "NOT_STARTED",
  "title": "text",
  "serviceNumber": "text",
  "externalServiceNumber": "text",
  "description": "text",
  "locationLabel": "text",
  "priority": "NONE",
  "requiresPriceEstimate": true,
  "estimatedPrice": 1,
  "maxPrice": 1,
  "readyAtEstimate": "2025-10-28T18:54:55.519Z",
  "readyAtNeeded": "2025-10-28T18:54:55.519Z",
  "publicPageHash": "text",
  "warranty": true,
  "createdAt": "2025-10-28T18:54:55.519Z",
  "createdBy": "text",
  "lastModifiedAt": "2025-10-28T18:54:55.519Z",
  "lastModifiedBy": "text",
  "totals": {
    "grandTotal": 1,
    "partsTotal": 1,
    "workTotal": 1
  },
  "items": [
    {
      "serviceOrderItemUid": "text",
      "serviceOrderUid": "text",
      "warehouseUid": "text",
      "tenantUserUid": "text",
      "productUid": "text",
      "salesOrderUid": "text",
      "quantity": 1,
      "name": "text",
      "sku": "text",
      "price": 1,
      "costPrice": 1,
      "originalPrice": 1,
      "totalPrice": 1,
      "totalCostPrice": 1,
      "serialNumber": "text",
      "note": "text",
      "tenantUserDisplayName": "text",
      "createdAt": "2025-10-28T18:54:55.519Z",
      "createdBy": "text",
      "lastModifiedAt": "2025-10-28T18:54:55.519Z",
      "lastModifiedBy": "text"
    }
  ],
  "assets": [
    {
      "assetUid": "text",
      "name": "text",
      "description": "text",
      "isPublic": true,
      "publicUrl": "text",
      "mimeType": "text"
    }
  ]
}

Delete service-order item

delete
/tenants/{tenantUid}/stores/{storeUid}/serviceorders/{serviceOrderUid}/items/{serviceOrderItemUid}

Delete a service-order item.

Authorizations
Path parameters
tenantUidstringRequired

Reference to a tenant.

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

Reference to a Store.

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

Reference to a service order

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

Reference to a service order item

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

No Content

No content

delete
/tenants/{tenantUid}/stores/{storeUid}/serviceorders/{serviceOrderUid}/items/{serviceOrderItemUid}
DELETE /v2/tenants/{tenantUid}/stores/{storeUid}/serviceorders/{serviceOrderUid}/items/{serviceOrderItemUid} HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
204

No Content

No content

List service-order events

get
/tenants/{tenantUid}/stores/{storeUid}/serviceorders/{serviceOrderUid}/events

List all events for a service order.

Authorizations
Path parameters
tenantUidstringRequired

Reference to a tenant.

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

Reference to a Store.

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

Reference to a service order

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:
Responses
200

Example response

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

Example response

{
  "items": [
    {
      "serviceEventUid": "text",
      "serviceOrderUid": "text",
      "serviceStatusUid": "text",
      "tenantUserUid": "text",
      "tenantUserDisplayName": "text",
      "note": "text",
      "visibility": "INTERNAL",
      "createdAt": "2025-10-28T18:54:55.519Z",
      "createdBy": "text",
      "lastModifiedAt": "2025-10-28T18:54:55.519Z",
      "lastModifiedBy": "text",
      "notifications": [
        {
          "notificationUid": "text",
          "type": "EMAIL",
          "state": "NOT_STARTED",
          "recipient": "text"
        }
      ]
    }
  ],
  "paging": {
    "pageNumber": 1,
    "pageSize": 1,
    "totalCount": 1
  }
}

Create new service-order event

post
/tenants/{tenantUid}/stores/{storeUid}/serviceorders/{serviceOrderUid}/events

Create a new service-order event.

Authorizations
Path parameters
tenantUidstringRequired

Reference to a tenant.

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

Reference to a Store.

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

Reference to a service order

Pattern: ^[A-Za-z0-9-_]+
Body
all ofOptional
and
Responses
201

Example response

application/json
post
/tenants/{tenantUid}/stores/{storeUid}/serviceorders/{serviceOrderUid}/events
POST /v2/tenants/{tenantUid}/stores/{storeUid}/serviceorders/{serviceOrderUid}/events HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 116

{
  "note": "text",
  "serviceStatusUid": "text",
  "visibility": "INTERNAL",
  "notifications": [
    "EMAIL"
  ],
  "serviceEventUid": "text"
}
201

Example response

{
  "serviceEventUid": "text",
  "serviceOrderUid": "text",
  "serviceStatusUid": "text",
  "tenantUserUid": "text",
  "tenantUserDisplayName": "text",
  "note": "text",
  "visibility": "INTERNAL",
  "createdAt": "2025-10-28T18:54:55.519Z",
  "createdBy": "text",
  "lastModifiedAt": "2025-10-28T18:54:55.519Z",
  "lastModifiedBy": "text",
  "notifications": [
    {
      "notificationUid": "text",
      "type": "EMAIL",
      "state": "NOT_STARTED",
      "recipient": "text"
    }
  ]
}

Get service-order event

get
/tenants/{tenantUid}/stores/{storeUid}/serviceorders/{serviceOrderUid}/events/{serviceEventUid}

Get a service-order event.

Authorizations
Path parameters
tenantUidstringRequired

Reference to a tenant.

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

Reference to a Store.

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

Reference to a service order

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

Reference to a service event

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

Example response

application/json
get
/tenants/{tenantUid}/stores/{storeUid}/serviceorders/{serviceOrderUid}/events/{serviceEventUid}
GET /v2/tenants/{tenantUid}/stores/{storeUid}/serviceorders/{serviceOrderUid}/events/{serviceEventUid} HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200

Example response

{
  "serviceEventUid": "text",
  "serviceOrderUid": "text",
  "serviceStatusUid": "text",
  "tenantUserUid": "text",
  "tenantUserDisplayName": "text",
  "note": "text",
  "visibility": "INTERNAL",
  "createdAt": "2025-10-28T18:54:55.519Z",
  "createdBy": "text",
  "lastModifiedAt": "2025-10-28T18:54:55.519Z",
  "lastModifiedBy": "text",
  "notifications": [
    {
      "notificationUid": "text",
      "type": "EMAIL",
      "state": "NOT_STARTED",
      "recipient": "text"
    }
  ]
}

Update a service-order event

put
/tenants/{tenantUid}/stores/{storeUid}/serviceorders/{serviceOrderUid}/events/{serviceEventUid}

Update a service-order event.

Authorizations
Path parameters
tenantUidstringRequired

Reference to a tenant.

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

Reference to a Store.

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

Reference to a service order

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

Reference to a service event

Pattern: ^[A-Za-z0-9-_]+
Body
notestringOptional
serviceStatusUidstringRequiredPattern: ^[A-Za-z0-9-_]+
visibilitystring · enumRequiredPossible values:
Responses
200

Example response

application/json
put
/tenants/{tenantUid}/stores/{storeUid}/serviceorders/{serviceOrderUid}/events/{serviceEventUid}
PUT /v2/tenants/{tenantUid}/stores/{storeUid}/serviceorders/{serviceOrderUid}/events/{serviceEventUid} HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 91

{
  "note": "text",
  "serviceStatusUid": "text",
  "visibility": "INTERNAL",
  "notifications": [
    "EMAIL"
  ]
}
200

Example response

{
  "serviceEventUid": "text",
  "serviceOrderUid": "text",
  "serviceStatusUid": "text",
  "tenantUserUid": "text",
  "tenantUserDisplayName": "text",
  "note": "text",
  "visibility": "INTERNAL",
  "createdAt": "2025-10-28T18:54:55.519Z",
  "createdBy": "text",
  "lastModifiedAt": "2025-10-28T18:54:55.519Z",
  "lastModifiedBy": "text",
  "notifications": [
    {
      "notificationUid": "text",
      "type": "EMAIL",
      "state": "NOT_STARTED",
      "recipient": "text"
    }
  ]
}

Delete service-order event

delete
/tenants/{tenantUid}/stores/{storeUid}/serviceorders/{serviceOrderUid}/events/{serviceEventUid}

Delete a service-order event.

Authorizations
Path parameters
tenantUidstringRequired

Reference to a tenant.

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

Reference to a Store.

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

Reference to a service order

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

Reference to a service event

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

No Content

No content

delete
/tenants/{tenantUid}/stores/{storeUid}/serviceorders/{serviceOrderUid}/events/{serviceEventUid}
DELETE /v2/tenants/{tenantUid}/stores/{storeUid}/serviceorders/{serviceOrderUid}/events/{serviceEventUid} HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
204

No Content

No content

List service hours

get
/tenants/{tenantUid}/stores/{storeUid}/serviceorders/{serviceOrderUid}/hours

List hours for a service-order.

Authorizations
Path parameters
tenantUidstringRequired

Reference to a tenant.

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

Reference to a Store.

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

Reference to a service order

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:
Responses
200

Example response

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

Example response

{
  "items": [
    {
      "serviceHoursUid": "text",
      "serviceOrderUid": "text",
      "tenantUserUid": "text",
      "note": "text",
      "serviceDate": "2025-10-28T18:54:55.519Z",
      "usedMinutes": 1,
      "billedMinutes": 1,
      "hourPrice": 1,
      "totalPrice": 1,
      "tenantUserDisplayName": "text",
      "createdAt": "2025-10-28T18:54:55.519Z",
      "createdBy": "text",
      "lastModifiedAt": "2025-10-28T18:54:55.519Z",
      "lastModifiedBy": "text",
      "hourlyRateUid": "text",
      "salesOrderUid": "text"
    }
  ],
  "paging": {
    "pageNumber": 1,
    "pageSize": 1,
    "totalCount": 1
  }
}

Create new service hours entry

post
/tenants/{tenantUid}/stores/{storeUid}/serviceorders/{serviceOrderUid}/hours

Create new hours entry for a service-order.

Authorizations
Path parameters
tenantUidstringRequired

Reference to a tenant.

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

Reference to a Store.

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

Reference to a service order

Pattern: ^[A-Za-z0-9-_]+
Body
all ofOptional
and
Responses
201

Example response

application/json
post
/tenants/{tenantUid}/stores/{storeUid}/serviceorders/{serviceOrderUid}/hours
POST /v2/tenants/{tenantUid}/stores/{storeUid}/serviceorders/{serviceOrderUid}/hours HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 138

{
  "serviceDate": "2025-10-28T18:54:55.519Z",
  "usedMinutes": 1,
  "note": "text",
  "billedMinutes": 1,
  "hourlyRateUid": "text",
  "serviceHoursUid": "text"
}
201

Example response

{
  "serviceHoursUid": "text",
  "serviceOrderUid": "text",
  "tenantUserUid": "text",
  "note": "text",
  "serviceDate": "2025-10-28T18:54:55.519Z",
  "usedMinutes": 1,
  "billedMinutes": 1,
  "hourPrice": 1,
  "totalPrice": 1,
  "tenantUserDisplayName": "text",
  "createdAt": "2025-10-28T18:54:55.519Z",
  "createdBy": "text",
  "lastModifiedAt": "2025-10-28T18:54:55.519Z",
  "lastModifiedBy": "text",
  "hourlyRateUid": "text",
  "salesOrderUid": "text"
}

Get service hours entry

get
/tenants/{tenantUid}/stores/{storeUid}/serviceorders/{serviceOrderUid}/hours/{serviceHoursUid}

Get a service hours entry

Authorizations
Path parameters
tenantUidstringRequired

Reference to a tenant.

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

Reference to a Store.

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

Reference to a service order

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

Reference to a service hours entry

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

Example response

application/json
get
/tenants/{tenantUid}/stores/{storeUid}/serviceorders/{serviceOrderUid}/hours/{serviceHoursUid}
GET /v2/tenants/{tenantUid}/stores/{storeUid}/serviceorders/{serviceOrderUid}/hours/{serviceHoursUid} HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200

Example response

{
  "serviceHoursUid": "text",
  "serviceOrderUid": "text",
  "tenantUserUid": "text",
  "note": "text",
  "serviceDate": "2025-10-28T18:54:55.519Z",
  "usedMinutes": 1,
  "billedMinutes": 1,
  "hourPrice": 1,
  "totalPrice": 1,
  "tenantUserDisplayName": "text",
  "createdAt": "2025-10-28T18:54:55.519Z",
  "createdBy": "text",
  "lastModifiedAt": "2025-10-28T18:54:55.519Z",
  "lastModifiedBy": "text",
  "hourlyRateUid": "text",
  "salesOrderUid": "text"
}

Update service hours entry

put
/tenants/{tenantUid}/stores/{storeUid}/serviceorders/{serviceOrderUid}/hours/{serviceHoursUid}

Update a service hours entry.

Authorizations
Path parameters
tenantUidstringRequired

Reference to a tenant.

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

Reference to a Store.

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

Reference to a service order

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

Reference to a service hours entry

Pattern: ^[A-Za-z0-9-_]+
Body
serviceDatestring · date-timeOptional
usedMinutesintegerOptional
notestringOptional
billedMinutesintegerOptional
hourlyRateUidstringOptionalPattern: ^[A-Za-z0-9-_]*
Responses
200

Example response

application/json
put
/tenants/{tenantUid}/stores/{storeUid}/serviceorders/{serviceOrderUid}/hours/{serviceHoursUid}
PUT /v2/tenants/{tenantUid}/stores/{storeUid}/serviceorders/{serviceOrderUid}/hours/{serviceHoursUid} HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 113

{
  "serviceDate": "2025-10-28T18:54:55.519Z",
  "usedMinutes": 1,
  "note": "text",
  "billedMinutes": 1,
  "hourlyRateUid": "text"
}
200

Example response

{
  "serviceHoursUid": "text",
  "serviceOrderUid": "text",
  "tenantUserUid": "text",
  "note": "text",
  "serviceDate": "2025-10-28T18:54:55.519Z",
  "usedMinutes": 1,
  "billedMinutes": 1,
  "hourPrice": 1,
  "totalPrice": 1,
  "tenantUserDisplayName": "text",
  "createdAt": "2025-10-28T18:54:55.519Z",
  "createdBy": "text",
  "lastModifiedAt": "2025-10-28T18:54:55.519Z",
  "lastModifiedBy": "text",
  "hourlyRateUid": "text",
  "salesOrderUid": "text"
}

Delete service hours entry

delete
/tenants/{tenantUid}/stores/{storeUid}/serviceorders/{serviceOrderUid}/hours/{serviceHoursUid}

Delete a service hours entry.

Authorizations
Path parameters
tenantUidstringRequired

Reference to a tenant.

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

Reference to a Store.

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

Reference to a service order

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

Reference to a service hours entry

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

No Content

No content

delete
/tenants/{tenantUid}/stores/{storeUid}/serviceorders/{serviceOrderUid}/hours/{serviceHoursUid}
DELETE /v2/tenants/{tenantUid}/stores/{storeUid}/serviceorders/{serviceOrderUid}/hours/{serviceHoursUid} HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
204

No Content

No content

List notifications for a service-order

get
/tenants/{tenantUid}/stores/{storeUid}/serviceorders/{serviceOrderUid}/notifications

List notifications for a service-order

Authorizations
Path parameters
tenantUidstringRequired

Reference to a tenant.

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

Reference to a Store.

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

Reference to a service order

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:
Responses
200

Example response

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

Example response

{
  "items": [
    {
      "messageType": "EMAIL",
      "recipient": "text",
      "message": "text",
      "subject": "text",
      "state": "NOT_STARTED",
      "errorText": "text",
      "notificationUid": "text",
      "customerUid": "text",
      "orderUid": "text",
      "serviceOrderUid": "text",
      "serviceEventUid": "text",
      "tenantUserUid": "text",
      "supplierUid": "text",
      "receivementUid": "text",
      "purchaseOrderUid": "text",
      "createdBy": "text",
      "createdAt": "2025-10-28T18:54:55.519Z",
      "lastModifiedBy": "text",
      "lastModifiedAt": "2025-10-28T18:54:55.519Z"
    }
  ],
  "paging": {
    "pageNumber": 1,
    "pageSize": 1,
    "totalCount": 1
  }
}

List service types

get
/tenants/{tenantUid}/serviceorders/types

List service types.

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:
Responses
200

Example response

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

Example response

{
  "items": [
    {
      "serviceTypeUid": "text",
      "tenantUid": "text",
      "serviceStatuses": [
        {
          "serviceStatusUid": "text",
          "serviceStatusName": "text",
          "position": 1,
          "state": "NOT_STARTED"
        }
      ],
      "name": "text",
      "deprecated": true
    }
  ],
  "paging": {
    "pageNumber": 1,
    "pageSize": 1,
    "totalCount": 1
  }
}

Create new service type

post
/tenants/{tenantUid}/serviceorders/types

Create a new service type.

Authorizations
Path parameters
tenantUidstringRequired

Reference to a tenant.

Pattern: ^[A-Za-z0-9-_]+
Body
all ofOptional
and
Responses
201

Example response

application/json
post
/tenants/{tenantUid}/serviceorders/types
POST /v2/tenants/{tenantUid}/serviceorders/types HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 118

{
  "name": "text",
  "serviceStatuses": [
    {
      "serviceStatusUid": "text",
      "position": 1
    }
  ],
  "deprecated": true,
  "serviceTypeUid": "text"
}
201

Example response

{
  "serviceTypeUid": "text",
  "tenantUid": "text",
  "serviceStatuses": [
    {
      "serviceStatusUid": "text",
      "serviceStatusName": "text",
      "position": 1,
      "state": "NOT_STARTED"
    }
  ],
  "name": "text",
  "deprecated": true
}

Get service type

get
/tenants/{tenantUid}/serviceorders/types/{serviceTypeUid}

Get a service type by ID.

Authorizations
Path parameters
tenantUidstringRequired

Reference to a tenant.

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

Reference to a service type

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

Example response

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

Example response

{
  "serviceTypeUid": "text",
  "tenantUid": "text",
  "serviceStatuses": [
    {
      "serviceStatusUid": "text",
      "serviceStatusName": "text",
      "position": 1,
      "state": "NOT_STARTED"
    }
  ],
  "name": "text",
  "deprecated": true
}

Update service type

put
/tenants/{tenantUid}/serviceorders/types/{serviceTypeUid}

Update a service type.

Authorizations
Path parameters
tenantUidstringRequired

Reference to a tenant.

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

Reference to a service type

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

Example response

application/json
put
/tenants/{tenantUid}/serviceorders/types/{serviceTypeUid}
PUT /v2/tenants/{tenantUid}/serviceorders/types/{serviceTypeUid} HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 94

{
  "name": "text",
  "serviceStatuses": [
    {
      "serviceStatusUid": "text",
      "position": 1
    }
  ],
  "deprecated": true
}
200

Example response

{
  "serviceTypeUid": "text",
  "tenantUid": "text",
  "serviceStatuses": [
    {
      "serviceStatusUid": "text",
      "serviceStatusName": "text",
      "position": 1,
      "state": "NOT_STARTED"
    }
  ],
  "name": "text",
  "deprecated": true
}

Delete service type

delete
/tenants/{tenantUid}/serviceorders/types/{serviceTypeUid}

Delete a service type.

Authorizations
Path parameters
tenantUidstringRequired

Reference to a tenant.

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

Reference to a service type

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

No Content

No content

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

No Content

No content

List service statuses

get
/tenants/{tenantUid}/serviceorders/statuses

Get a list of statuses for a service order.

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:
Responses
200

Example response

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

Example response

{
  "items": [
    {
      "serviceStatusUid": "text",
      "tenantUid": "text",
      "name": "text",
      "state": "NOT_STARTED",
      "deprecated": false
    }
  ],
  "paging": {
    "pageNumber": 1,
    "pageSize": 1,
    "totalCount": 1
  }
}

Create new service status

post
/tenants/{tenantUid}/serviceorders/statuses

Create a new service status. Set position to reflect which step in the workflow this status will be.

Authorizations
Path parameters
tenantUidstringRequired

Reference to a tenant.

Pattern: ^[A-Za-z0-9-_]+
Body
all ofOptional
and
Responses
201

Example response

application/json
post
/tenants/{tenantUid}/serviceorders/statuses
POST /v2/tenants/{tenantUid}/serviceorders/statuses HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 81

{
  "name": "text",
  "state": "NOT_STARTED",
  "deprecated": true,
  "serviceStatusUid": "text"
}
201

Example response

{
  "serviceStatusUid": "text",
  "tenantUid": "text",
  "name": "text",
  "state": "NOT_STARTED",
  "deprecated": false
}

Get service status

get
/tenants/{tenantUid}/serviceorders/statuses/{serviceStatusUid}

Get a service status by ID.

Authorizations
Path parameters
tenantUidstringRequired

Reference to a tenant.

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

Reference to a service status

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

Example response

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

Example response

{
  "serviceStatusUid": "text",
  "tenantUid": "text",
  "name": "text",
  "state": "NOT_STARTED",
  "deprecated": false
}

Update service status

put
/tenants/{tenantUid}/serviceorders/statuses/{serviceStatusUid}

Update a given service status. Set position to reflect which step in the workflow this status is.

Authorizations
Path parameters
tenantUidstringRequired

Reference to a tenant.

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

Reference to a service status

Pattern: ^[A-Za-z0-9-_]+
Body
namestringRequired
statestring · enumRequiredPossible values:
deprecatedbooleanOptional
Responses
200

Example response

application/json
put
/tenants/{tenantUid}/serviceorders/statuses/{serviceStatusUid}
PUT /v2/tenants/{tenantUid}/serviceorders/statuses/{serviceStatusUid} HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 55

{
  "name": "text",
  "state": "NOT_STARTED",
  "deprecated": true
}
200

Example response

{
  "serviceStatusUid": "text",
  "tenantUid": "text",
  "name": "text",
  "state": "NOT_STARTED",
  "deprecated": false
}

Delete service status

delete
/tenants/{tenantUid}/serviceorders/statuses/{serviceStatusUid}

Delete a given service status.

Authorizations
Path parameters
tenantUidstringRequired

Reference to a tenant.

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

Reference to a service status

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

No Content

No content

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

No Content

No content

Get service order by hash

get
/tenants/{tenantUid}/stores/{storeUid}/serviceorders/pages/{serviceOrderHash}

Get a service order by the public page hash.

Authorizations
Path parameters
tenantUidstringRequired

Reference to a tenant.

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

Reference to a Store.

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

Encrypted reference to a service order

Responses
200

Example response

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

Example response

{
  "serviceOrderUid": "text",
  "tenantUid": "text",
  "storeUid": "text",
  "orderProductLineUid": "text",
  "orderUid": "text",
  "customerUid": "text",
  "createdFromStoreUid": "text",
  "assignedUserUid": "text",
  "assignedUserDisplayName": "text",
  "serviceTypeUid": "text",
  "serviceTypeName": "text",
  "serviceStatusUid": "text",
  "serviceStatusName": "text",
  "serviceState": "NOT_STARTED",
  "title": "text",
  "serviceNumber": "text",
  "externalServiceNumber": "text",
  "description": "text",
  "locationLabel": "text",
  "priority": "NONE",
  "requiresPriceEstimate": true,
  "estimatedPrice": 1,
  "maxPrice": 1,
  "readyAtEstimate": "2025-10-28T18:54:55.519Z",
  "readyAtNeeded": "2025-10-28T18:54:55.519Z",
  "publicPageHash": "text",
  "warranty": true,
  "createdAt": "2025-10-28T18:54:55.519Z",
  "createdBy": "text",
  "lastModifiedAt": "2025-10-28T18:54:55.519Z",
  "lastModifiedBy": "text",
  "totals": {
    "grandTotal": 1,
    "partsTotal": 1,
    "workTotal": 1
  },
  "items": [
    {
      "serviceOrderItemUid": "text",
      "serviceOrderUid": "text",
      "warehouseUid": "text",
      "tenantUserUid": "text",
      "productUid": "text",
      "salesOrderUid": "text",
      "quantity": 1,
      "name": "text",
      "sku": "text",
      "price": 1,
      "costPrice": 1,
      "originalPrice": 1,
      "totalPrice": 1,
      "totalCostPrice": 1,
      "serialNumber": "text",
      "note": "text",
      "tenantUserDisplayName": "text",
      "createdAt": "2025-10-28T18:54:55.519Z",
      "createdBy": "text",
      "lastModifiedAt": "2025-10-28T18:54:55.519Z",
      "lastModifiedBy": "text"
    }
  ],
  "assets": [
    {
      "assetUid": "text",
      "name": "text",
      "description": "text",
      "isPublic": true,
      "publicUrl": "text",
      "mimeType": "text"
    }
  ]
}

List sales orders for a service-order

get
/tenants/{tenantUid}/stores/{storeUid}/serviceorders/{serviceOrderUid}/orders

List sales orders for a service-order.

Authorizations
Path parameters
tenantUidstringRequired

Reference to a tenant.

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

Reference to a Store.

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

Reference to a service order

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.

Responses
200

Example response

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

Example response

{
  "items": [
    {
      "shippingAddress": {
        "address": "text",
        "city": "text",
        "companyName": "text",
        "countryCode": "text",
        "email": "text",
        "firstname": "text",
        "lastname": "text",
        "mobile": "text",
        "postalCode": "text",
        "vatNumber": "text",
        "displayName": "text"
      },
      "createdAt": "2025-10-28T18:54:55.519Z",
      "customerAddress": {
        "address": "text",
        "city": "text",
        "companyName": "text",
        "countryCode": "text",
        "email": "text",
        "firstname": "text",
        "lastname": "text",
        "mobile": "text",
        "postalCode": "text",
        "vatNumber": "text",
        "displayName": "text"
      },
      "customerUid": "text",
      "customerContact": {
        "customerContactUid": "text",
        "firstname": "text",
        "lastname": "text",
        "email": "text",
        "mobile": "text",
        "displayName": "text"
      },
      "deliveryState": "NOT_STARTED",
      "externalOrderNumber": "text",
      "externalVoucherNumber": "text",
      "invoiceAddress": {
        "address": "text",
        "city": "text",
        "companyName": "text",
        "countryCode": "text",
        "email": "text",
        "mobile": "text",
        "firstname": "text",
        "lastname": "text",
        "postalCode": "text",
        "displayName": "text",
        "customerAddressUid": "text"
      },
      "items": [
        {
          "actions": [
            {
              "comment": "text",
              "createdAt": "2025-10-28T18:54:55.519Z",
              "createdBy": "text",
              "handlingActionUid": "text",
              "handlingActionName": "text",
              "handlingDescription": "text",
              "handlingUid": "text",
              "handlingName": "text",
              "lastModifiedAt": "2025-10-28T18:54:55.519Z",
              "lastModifiedBy": "text",
              "orderHandlingActionUid": "text"
            }
          ],
          "allowedActions": [
            "QUANTITY_SOLD"
          ],
          "createdAt": "2025-10-28T18:54:55.519Z",
          "discountReasonCode": "text",
          "externalId": "text",
          "itemCost": 1,
          "itemDiscountAmount": 1,
          "itemDiscountPercentage": 1,
          "itemGrossProfitAmount": 1,
          "itemGrossProfitPercentage": 1,
          "itemPrice": 1,
          "itemVatAmount": 1,
          "lastModifiedAt": "2025-10-28T18:54:55.519Z",
          "ledgerNumber": "text",
          "name": "text",
          "note": "text",
          "orderItemUid": "text",
          "orderLinks": [
            {
              "orderUid": "text",
              "orderItemUid": "text",
              "orderNumber": "text",
              "storeUid": "text",
              "type": "CREDIT"
            }
          ],
          "originalItemPrice": 1,
          "productUid": "text",
          "productType": "STOCK",
          "properties": [
            {
              "uid": "text",
              "key": "text",
              "value": "text"
            }
          ],
          "quantityCredited": 1,
          "quantityDelivered": 1,
          "quantityOrdered": 1,
          "quantityReserved": 1,
          "returnReasonCode": "text",
          "serialnumber": "text",
          "sku": "text",
          "sortOrder": 1,
          "tenantUserDisplayName": "text",
          "tenantUserUid": "text",
          "totalCost": 1,
          "totalDiscountAmount": 1,
          "totalGrossProfitAmount": 1,
          "totalPrice": 1,
          "totalVatAmount": 1,
          "vatCodeUid": "text",
          "warehouseUid": "text",
          "warehouseName": "text",
          "internalInfo": "text",
          "productProperties": [
            {
              "productPropertyUid": "text",
              "propertyName": "text",
              "propertyOptionName": "text",
              "propertyType": "TEXT",
              "propertyText": "text",
              "propertyUid": "text",
              "propertyOptionUid": "text",
              "required": true
            }
          ],
          "coverImage": {
            "productMediaUid": "text",
            "mainUrl": "text",
            "thumbnailUrl": "text"
          },
          "deliveryUid": "text",
          "compensationReasonCode": "text",
          "orderReceiptUid": "text",
          "allowDeliveryFromDate": "2025-10-28T18:54:55.519Z",
          "reservationType": "NONE",
          "reservationDetails": {
            "warehouse": {
              "warehouseName": "text"
            },
            "purchaseOrder": {
              "purchaseOrderUid": "text",
              "purchaseOrderItemUid": "text",
              "expectedDeliveryDate": "2025-10-28T18:54:55.519Z",
              "purchaseOrderNumber": "text",
              "quantityOrdered": 1
            }
          }
        }
      ],
      "lastModifiedAt": "2025-10-28T18:54:55.519Z",
      "note": "text",
      "orderUid": "text",
      "orderNumber": "text",
      "orderState": "OPEN",
      "orderTotals": {
        "costTotal": 1,
        "grandTotal": 1,
        "grossProfitAmount": 1,
        "grossProfitPercentage": 1,
        "specifiedVat": [
          {
            "vatAmount": 1,
            "vatDescription": "text",
            "vatRate": 1
          }
        ],
        "subtotal": 1,
        "totalDiscount": 1,
        "totalVat": 1
      },
      "orderhandlingState": "NOT_STARTED",
      "orderhandlings": [
        {
          "active": true,
          "createdAt": "2025-10-28T18:54:55.519Z",
          "createdBy": "text",
          "description": "text",
          "handlingUid": "text",
          "lastModifiedAt": "2025-10-28T18:54:55.519Z",
          "lastModifiedBy": "text",
          "name": "text",
          "orderHandlingUid": "text",
          "state": "NOT_STARTED"
        }
      ],
      "settleState": "NOT_STARTED",
      "settledAt": "2025-10-28T18:54:55.519Z",
      "settlementTotals": {
        "change": 1,
        "remaining": 1,
        "remainingRounded": 1,
        "totals": 1,
        "remainingPrePayment": 1
      },
      "settlements": [
        {
          "amount": 1,
          "createdAt": "2025-10-28T18:54:55.519Z",
          "displayMessages": [
            {
              "key": "text",
              "message": "text",
              "timestamp": "2025-10-28T18:54:55.519Z"
            }
          ],
          "externalId": "text",
          "externalPaymentReference": "text",
          "idMethod": "NO_CVM_RULE_PERFORMED",
          "lastModifiedAt": "2025-10-28T18:54:55.519Z",
          "ledgerNumber": "text",
          "ledgerType": "LEDGER",
          "parameters": [
            {
              "key": "text",
              "value": "text"
            }
          ],
          "settledAt": "2025-10-28T18:54:55.519Z",
          "settlementCode": "text",
          "settlementUid": "text",
          "settlementName": "text",
          "state": "NOT_STARTED",
          "status": "NEW",
          "storeSettlementIssuerUid": "text",
          "tenantUserDisplayName": "text",
          "tenantUserUid": "text",
          "storePaymentMethodUid": "text",
          "currency": {
            "amount": 1,
            "code": "text",
            "exchangeRate": 1
          },
          "additionalDetails": [
            {
              "key": "text",
              "value": "text"
            }
          ],
          "paymentCount": 1,
          "paymentAmount": 1,
          "orderReceiptUid": "text"
        }
      ],
      "storeUid": "text",
      "storeName": "text",
      "systemOrigin": "text",
      "tenantUserDisplayName": "text",
      "tenantUserUid": "text",
      "tillUid": "text",
      "type": "OFFER",
      "validUntil": "2025-10-28T18:54:55.519Z",
      "vatFree": true,
      "vatPrint": "SUM",
      "voucherNumber": "text",
      "deliveryDate": "2025-10-28",
      "discounts": [
        {
          "orderDiscountUid": "text",
          "discountCode": "text",
          "type": "PERCENTAGE",
          "amount": 1,
          "name": "text",
          "origin": "LOYALTY",
          "validTo": "2025-10-28T18:54:55.519Z",
          "maxUsage": 1,
          "productSkus": [
            "text"
          ],
          "orderItemUids": [
            "text"
          ],
          "externalTransactionId": "text",
          "scope": "WHOLE_ORDER",
          "discountReasonCode": "text",
          "createdAt": "2025-10-28T18:54:55.519Z",
          "createdBy": "text",
          "lastModifiedAt": "2025-10-28T18:54:55.519Z",
          "lastModifiedBy": "text",
          "campaignUid": "text"
        }
      ],
      "compensationReasonUid": "text",
      "lastModifiedBy": "text"
    }
  ],
  "paging": {
    "pageNumber": 1,
    "pageSize": 1,
    "totalCount": 1
  }
}

Create sales order for a service-order

post
/tenants/{tenantUid}/stores/{storeUid}/serviceorders/{serviceOrderUid}/orders

Create sales order for a service-order.

Authorizations
Path parameters
tenantUidstringRequired

Reference to a tenant.

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

Reference to a Store.

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

Reference to a service order

Pattern: ^[A-Za-z0-9-_]+
Body
sellerStoreUidstringRequiredPattern: ^[A-Za-z0-9-_]+
salesOrderUidstringOptionalPattern: ^[A-Za-z0-9-_]*
Responses
201

Example response

application/json
post
/tenants/{tenantUid}/stores/{storeUid}/serviceorders/{serviceOrderUid}/orders
POST /v2/tenants/{tenantUid}/stores/{storeUid}/serviceorders/{serviceOrderUid}/orders HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 48

{
  "sellerStoreUid": "text",
  "salesOrderUid": "text"
}
201

Example response

{
  "shippingAddress": {
    "address": "text",
    "city": "text",
    "companyName": "text",
    "countryCode": "text",
    "email": "text",
    "firstname": "text",
    "lastname": "text",
    "mobile": "text",
    "postalCode": "text",
    "vatNumber": "text",
    "displayName": "text"
  },
  "createdAt": "2025-10-28T18:54:55.519Z",
  "customerAddress": {
    "address": "text",
    "city": "text",
    "companyName": "text",
    "countryCode": "text",
    "email": "text",
    "firstname": "text",
    "lastname": "text",
    "mobile": "text",
    "postalCode": "text",
    "vatNumber": "text",
    "displayName": "text"
  },
  "customerUid": "text",
  "customerContact": {
    "customerContactUid": "text",
    "firstname": "text",
    "lastname": "text",
    "email": "text",
    "mobile": "text",
    "displayName": "text"
  },
  "deliveryState": "NOT_STARTED",
  "externalOrderNumber": "text",
  "externalVoucherNumber": "text",
  "invoiceAddress": {
    "address": "text",
    "city": "text",
    "companyName": "text",
    "countryCode": "text",
    "email": "text",
    "mobile": "text",
    "firstname": "text",
    "lastname": "text",
    "postalCode": "text",
    "displayName": "text",
    "customerAddressUid": "text"
  },
  "items": [
    {
      "actions": [
        {
          "comment": "text",
          "createdAt": "2025-10-28T18:54:55.519Z",
          "createdBy": "text",
          "handlingActionUid": "text",
          "handlingActionName": "text",
          "handlingDescription": "text",
          "handlingUid": "text",
          "handlingName": "text",
          "lastModifiedAt": "2025-10-28T18:54:55.519Z",
          "lastModifiedBy": "text",
          "orderHandlingActionUid": "text"
        }
      ],
      "allowedActions": [
        "QUANTITY_SOLD"
      ],
      "createdAt": "2025-10-28T18:54:55.519Z",
      "discountReasonCode": "text",
      "externalId": "text",
      "itemCost": 1,
      "itemDiscountAmount": 1,
      "itemDiscountPercentage": 1,
      "itemGrossProfitAmount": 1,
      "itemGrossProfitPercentage": 1,
      "itemPrice": 1,
      "itemVatAmount": 1,
      "lastModifiedAt": "2025-10-28T18:54:55.519Z",
      "ledgerNumber": "text",
      "name": "text",
      "note": "text",
      "orderItemUid": "text",
      "orderLinks": [
        {
          "orderUid": "text",
          "orderItemUid": "text",
          "orderNumber": "text",
          "storeUid": "text",
          "type": "CREDIT"
        }
      ],
      "originalItemPrice": 1,
      "productUid": "text",
      "productType": "STOCK",
      "properties": [
        {
          "uid": "text",
          "key": "text",
          "value": "text"
        }
      ],
      "quantityCredited": 1,
      "quantityDelivered": 1,
      "quantityOrdered": 1,
      "quantityReserved": 1,
      "returnReasonCode": "text",
      "serialnumber": "text",
      "sku": "text",
      "sortOrder": 1,
      "tenantUserDisplayName": "text",
      "tenantUserUid": "text",
      "totalCost": 1,
      "totalDiscountAmount": 1,
      "totalGrossProfitAmount": 1,
      "totalPrice": 1,
      "totalVatAmount": 1,
      "vatCodeUid": "text",
      "warehouseUid": "text",
      "warehouseName": "text",
      "internalInfo": "text",
      "productProperties": [
        {
          "productPropertyUid": "text",
          "propertyName": "text",
          "propertyOptionName": "text",
          "propertyType": "TEXT",
          "propertyText": "text",
          "propertyUid": "text",
          "propertyOptionUid": "text",
          "required": true
        }
      ],
      "coverImage": {
        "productMediaUid": "text",
        "mainUrl": "text",
        "thumbnailUrl": "text"
      },
      "deliveryUid": "text",
      "compensationReasonCode": "text",
      "orderReceiptUid": "text",
      "allowDeliveryFromDate": "2025-10-28T18:54:55.519Z",
      "reservationType": "NONE",
      "reservationDetails": {
        "warehouse": {
          "warehouseName": "text"
        },
        "purchaseOrder": {
          "purchaseOrderUid": "text",
          "purchaseOrderItemUid": "text",
          "expectedDeliveryDate": "2025-10-28T18:54:55.519Z",
          "purchaseOrderNumber": "text",
          "quantityOrdered": 1
        }
      }
    }
  ],
  "lastModifiedAt": "2025-10-28T18:54:55.519Z",
  "note": "text",
  "orderUid": "text",
  "orderNumber": "text",
  "orderState": "OPEN",
  "orderTotals": {
    "costTotal": 1,
    "grandTotal": 1,
    "grossProfitAmount": 1,
    "grossProfitPercentage": 1,
    "specifiedVat": [
      {
        "vatAmount": 1,
        "vatDescription": "text",
        "vatRate": 1
      }
    ],
    "subtotal": 1,
    "totalDiscount": 1,
    "totalVat": 1
  },
  "orderhandlingState": "NOT_STARTED",
  "orderhandlings": [
    {
      "active": true,
      "createdAt": "2025-10-28T18:54:55.519Z",
      "createdBy": "text",
      "description": "text",
      "handlingUid": "text",
      "lastModifiedAt": "2025-10-28T18:54:55.519Z",
      "lastModifiedBy": "text",
      "name": "text",
      "orderHandlingUid": "text",
      "state": "NOT_STARTED"
    }
  ],
  "settleState": "NOT_STARTED",
  "settledAt": "2025-10-28T18:54:55.519Z",
  "settlementTotals": {
    "change": 1,
    "remaining": 1,
    "remainingRounded": 1,
    "totals": 1,
    "remainingPrePayment": 1
  },
  "settlements": [
    {
      "amount": 1,
      "createdAt": "2025-10-28T18:54:55.519Z",
      "displayMessages": [
        {
          "key": "text",
          "message": "text",
          "timestamp": "2025-10-28T18:54:55.519Z"
        }
      ],
      "externalId": "text",
      "externalPaymentReference": "text",
      "idMethod": "NO_CVM_RULE_PERFORMED",
      "lastModifiedAt": "2025-10-28T18:54:55.519Z",
      "ledgerNumber": "text",
      "ledgerType": "LEDGER",
      "parameters": [
        {
          "key": "text",
          "value": "text"
        }
      ],
      "settledAt": "2025-10-28T18:54:55.519Z",
      "settlementCode": "text",
      "settlementUid": "text",
      "settlementName": "text",
      "state": "NOT_STARTED",
      "status": "NEW",
      "storeSettlementIssuerUid": "text",
      "tenantUserDisplayName": "text",
      "tenantUserUid": "text",
      "storePaymentMethodUid": "text",
      "currency": {
        "amount": 1,
        "code": "text",
        "exchangeRate": 1
      },
      "additionalDetails": [
        {
          "key": "text",
          "value": "text"
        }
      ],
      "paymentCount": 1,
      "paymentAmount": 1,
      "orderReceiptUid": "text"
    }
  ],
  "storeUid": "text",
  "storeName": "text",
  "systemOrigin": "text",
  "tenantUserDisplayName": "text",
  "tenantUserUid": "text",
  "tillUid": "text",
  "type": "OFFER",
  "validUntil": "2025-10-28T18:54:55.519Z",
  "vatFree": true,
  "vatPrint": "SUM",
  "voucherNumber": "text",
  "deliveryDate": "2025-10-28",
  "discounts": [
    {
      "orderDiscountUid": "text",
      "discountCode": "text",
      "type": "PERCENTAGE",
      "amount": 1,
      "name": "text",
      "origin": "LOYALTY",
      "validTo": "2025-10-28T18:54:55.519Z",
      "maxUsage": 1,
      "productSkus": [
        "text"
      ],
      "orderItemUids": [
        "text"
      ],
      "externalTransactionId": "text",
      "scope": "WHOLE_ORDER",
      "discountReasonCode": "text",
      "createdAt": "2025-10-28T18:54:55.519Z",
      "createdBy": "text",
      "lastModifiedAt": "2025-10-28T18:54:55.519Z",
      "lastModifiedBy": "text",
      "campaignUid": "text"
    }
  ],
  "compensationReasonUid": "text",
  "lastModifiedBy": "text"
}

Get reports for service-orders

get
/tenants/{tenantUid}/stores/{storeUid}/serviceorders/{serviceOrderUid}/reports

Get reports for service-orders.

Authorizations
Path parameters
tenantUidstringRequired

Reference to a tenant.

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

Reference to a Store.

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

Reference to a service order

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

Based on the Accept header the response will be base64 json encoded or a raw file. application/octet-stream will return a binary file application/json will return a json with the file content base64 encoded.

get
/tenants/{tenantUid}/stores/{storeUid}/serviceorders/{serviceOrderUid}/reports
GET /v2/tenants/{tenantUid}/stores/{storeUid}/serviceorders/{serviceOrderUid}/reports HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200

Based on the Accept header the response will be base64 json encoded or a raw file. application/octet-stream will return a binary file application/json will return a json with the file content base64 encoded.

{
  "content": "text",
  "contentType": "text",
  "filename": "text"
}

Search for service-orders

post
/tenants/{tenantUid}/stores/{storeUid}/serviceorders/search

Search for service orders is case insensitive and you can use partial values, e.g. name 'Anna' will return both 'Anna' and 'Johanna'. Use the query to search for customer, service number or title from only one field. When this is used, the customer and service search fields are ignored. The array fields work like filters.

Authorizations
Path parameters
tenantUidstringRequired

Reference to a tenant.

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

Reference to a Store.

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
customerNamestringOptional
customerMobilestringOptional
customerEmailstringOptional
titlestringOptional
serviceNumberstringOptional
querystringOptional

Search on customer, service number and title in one.

fromCreatedDatestring · dateOptional

GTE date, e.g. 2006-05-04

toCreatedDatestring · dateOptional

LTE date, e.g. 2006-05-04

assignedUserUidsstring[]Optional
createdFromStoreUidsstring[]Optional
serviceTypeUidsstring[]Optional
Responses
200

Example response

application/json
post
/tenants/{tenantUid}/stores/{storeUid}/serviceorders/search
POST /v2/tenants/{tenantUid}/stores/{storeUid}/serviceorders/search HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 324

{
  "customerName": "text",
  "customerMobile": "text",
  "customerEmail": "text",
  "title": "text",
  "serviceNumber": "text",
  "query": "text",
  "fromCreatedDate": "2025-10-28",
  "toCreatedDate": "2025-10-28",
  "assignedUserUids": [
    "text"
  ],
  "createdFromStoreUids": [
    "text"
  ],
  "priorities": [
    "NONE"
  ],
  "serviceStates": [
    "NOT_STARTED"
  ],
  "serviceTypeUids": [
    "text"
  ]
}
200

Example response

{
  "items": [
    {
      "serviceOrderUid": "text",
      "tenantUid": "text",
      "storeUid": "text",
      "orderProductLineUid": "text",
      "orderUid": "text",
      "customerUid": "text",
      "createdFromStoreUid": "text",
      "assignedUserUid": "text",
      "assignedUserDisplayName": "text",
      "serviceTypeUid": "text",
      "serviceTypeName": "text",
      "serviceStatusUid": "text",
      "serviceStatusName": "text",
      "serviceState": "NOT_STARTED",
      "title": "text",
      "serviceNumber": "text",
      "externalServiceNumber": "text",
      "description": "text",
      "locationLabel": "text",
      "priority": "NONE",
      "requiresPriceEstimate": true,
      "estimatedPrice": 1,
      "maxPrice": 1,
      "readyAtEstimate": "2025-10-28T18:54:55.519Z",
      "readyAtNeeded": "2025-10-28T18:54:55.519Z",
      "publicPageHash": "text",
      "warranty": true,
      "createdAt": "2025-10-28T18:54:55.519Z",
      "createdBy": "text",
      "lastModifiedAt": "2025-10-28T18:54:55.519Z",
      "lastModifiedBy": "text",
      "totals": {
        "grandTotal": 1,
        "partsTotal": 1,
        "workTotal": 1
      },
      "items": [
        {
          "serviceOrderItemUid": "text",
          "serviceOrderUid": "text",
          "warehouseUid": "text",
          "tenantUserUid": "text",
          "productUid": "text",
          "salesOrderUid": "text",
          "quantity": 1,
          "name": "text",
          "sku": "text",
          "price": 1,
          "costPrice": 1,
          "originalPrice": 1,
          "totalPrice": 1,
          "totalCostPrice": 1,
          "serialNumber": "text",
          "note": "text",
          "tenantUserDisplayName": "text",
          "createdAt": "2025-10-28T18:54:55.519Z",
          "createdBy": "text",
          "lastModifiedAt": "2025-10-28T18:54:55.519Z",
          "lastModifiedBy": "text"
        }
      ],
      "assets": [
        {
          "assetUid": "text",
          "name": "text",
          "description": "text",
          "isPublic": true,
          "publicUrl": "text",
          "mimeType": "text"
        }
      ]
    }
  ],
  "paging": {
    "pageNumber": 1,
    "pageSize": 1,
    "totalCount": 1
  }
}

List hourly rates

get
/tenants/{tenantUid}/hourlyrates

List hourly rates.

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.

Responses
200

Example response

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

Example response

{
  "items": [
    {
      "hourlyRateUid": "text",
      "name": "text",
      "price": 1,
      "createdAt": "2025-10-28T18:54:55.519Z",
      "createdBy": "text",
      "lastModifiedAt": "2025-10-28T18:54:55.519Z",
      "lastModifiedBy": "text"
    }
  ],
  "paging": {
    "pageNumber": 1,
    "pageSize": 1,
    "totalCount": 1
  }
}

Create hourly rate

post
/tenants/{tenantUid}/hourlyrates

Create a new hourly rate.

Authorizations
Path parameters
tenantUidstringRequired

Reference to a tenant.

Pattern: ^[A-Za-z0-9-_]+
Body
hourlyRateUidstringOptionalPattern: ^[A-Za-z0-9-_]*
namestringRequired
priceintegerRequired
Responses
201

Example response

application/json
post
/tenants/{tenantUid}/hourlyrates
POST /v2/tenants/{tenantUid}/hourlyrates HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 48

{
  "hourlyRateUid": "text",
  "name": "text",
  "price": 1
}
201

Example response

{
  "hourlyRateUid": "text",
  "name": "text",
  "price": 1,
  "createdAt": "2025-10-28T18:54:55.519Z",
  "createdBy": "text",
  "lastModifiedAt": "2025-10-28T18:54:55.519Z",
  "lastModifiedBy": "text"
}

Get hourly rate

get
/tenants/{tenantUid}/hourlyrates/{hourlyRateUid}

Get hourly rate.

Authorizations
Path parameters
tenantUidstringRequired

Reference to a tenant.

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

Reference to a hourly rate.

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

Example response

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

Example response

{
  "hourlyRateUid": "text",
  "name": "text",
  "price": 1,
  "createdAt": "2025-10-28T18:54:55.519Z",
  "createdBy": "text",
  "lastModifiedAt": "2025-10-28T18:54:55.519Z",
  "lastModifiedBy": "text"
}

Update hourly rate

put
/tenants/{tenantUid}/hourlyrates/{hourlyRateUid}

Update hourly rate.

Authorizations
Path parameters
tenantUidstringRequired

Reference to a tenant.

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

Reference to a hourly rate.

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

Example response

application/json
put
/tenants/{tenantUid}/hourlyrates/{hourlyRateUid}
PUT /v2/tenants/{tenantUid}/hourlyrates/{hourlyRateUid} HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 25

{
  "name": "text",
  "price": 1
}
200

Example response

{
  "hourlyRateUid": "text",
  "name": "text",
  "price": 1,
  "createdAt": "2025-10-28T18:54:55.519Z",
  "createdBy": "text",
  "lastModifiedAt": "2025-10-28T18:54:55.519Z",
  "lastModifiedBy": "text"
}

Delete hourly rate

delete
/tenants/{tenantUid}/hourlyrates/{hourlyRateUid}

Delete hourly rate.

Authorizations
Path parameters
tenantUidstringRequired

Reference to a tenant.

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

Reference to a hourly rate.

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

No Content

No content

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

No Content

No content

Was this helpful?