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

Asset

Asset

List assets

get

List assets.

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
GET /v2/tenants/{tenantUid}/assets HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200

Example response

{
  "items": [
    {
      "assetUid": "text",
      "name": "text",
      "description": "text",
      "category": "BRANDING",
      "isPublic": true,
      "publicUrl": "text",
      "mimeType": "text",
      "size": "text",
      "serviceOrderUids": [
        "text"
      ]
    },
    {
      "createdBy": "text",
      "createdAt": "2025-07-30T18:24:23.809Z",
      "lastModifiedBy": "text",
      "lastModifiedAt": "2025-07-30T18:24:23.809Z"
    }
  ],
  "paging": {
    "pageNumber": 1,
    "pageSize": 1,
    "totalCount": 1
  }
}

Create asset

post

This endpoint lets you create the asset record. To upload a file, use the Upload asset file endpoint where the assetUid you get here is part of the path.

If you want to point to an asset that you already host, just add the correct URL of the asset and you are good to go.

Authorizations
Path parameters
tenantUidstringRequired

Reference to a tenant.

Pattern: ^[A-Za-z0-9-_]+
Body
namestringRequired
categorystring · enumRequiredPossible values:
descriptionstringOptional
isPublicbooleanOptionalDefault: false
urlstringOptional

for self-hosted asset

assetUidstringOptionalPattern: ^[A-Za-z0-9-_]*
serviceOrderUidsstring[]Optional
Responses
201
Example response
application/json
Responseall of
and
post
POST /v2/tenants/{tenantUid}/assets HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 134

{
  "name": "text",
  "category": "BRANDING",
  "description": "text",
  "isPublic": false,
  "url": "text",
  "assetUid": "text",
  "serviceOrderUids": [
    "text"
  ]
}
201

Example response

{
  "assetUid": "text",
  "name": "text",
  "description": "text",
  "category": "BRANDING",
  "isPublic": true,
  "publicUrl": "text",
  "mimeType": "text",
  "size": "text",
  "serviceOrderUids": [
    "text"
  ],
  "createdBy": "text",
  "createdAt": "2025-07-30T18:24:23.809Z",
  "lastModifiedBy": "text",
  "lastModifiedAt": "2025-07-30T18:24:23.809Z"
}

Get asset details

get

Get asset details. The asset itself must be loaded from the host.

Private assets are signed URLs with expiry time. They are not included in the regular asset response but you can get them from the endpoint Get asset private URL.

Authorizations
Path parameters
tenantUidstringRequired

Reference to a tenant.

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

Reference to an asset

Responses
200
Example response
application/json
Responseall of
and
get
GET /v2/tenants/{tenantUid}/assets/{assetUid} HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200

Example response

{
  "assetUid": "text",
  "name": "text",
  "description": "text",
  "category": "BRANDING",
  "isPublic": true,
  "publicUrl": "text",
  "mimeType": "text",
  "size": "text",
  "serviceOrderUids": [
    "text"
  ],
  "createdBy": "text",
  "createdAt": "2025-07-30T18:24:23.809Z",
  "lastModifiedBy": "text",
  "lastModifiedAt": "2025-07-30T18:24:23.809Z"
}

Upload asset file

post

Upload file for the asset which "container" record was created on the Add asset endpoint.

Authorizations
Path parameters
tenantUidstringRequired

Reference to a tenant.

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

Reference to an asset

Body
string · binaryOptional
Responses
201
Example response
application/json
Responseall of
and
post
POST /v2/tenants/{tenantUid}/assets/{assetUid} HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/octet-stream
Accept: */*
Content-Length: 8

"binary"
201

Example response

{
  "assetUid": "text",
  "name": "text",
  "description": "text",
  "category": "BRANDING",
  "isPublic": true,
  "publicUrl": "text",
  "mimeType": "text",
  "size": "text",
  "serviceOrderUids": [
    "text"
  ],
  "createdBy": "text",
  "createdAt": "2025-07-30T18:24:23.809Z",
  "lastModifiedBy": "text",
  "lastModifiedAt": "2025-07-30T18:24:23.809Z"
}

Update asset details

put

Update asset details.

Authorizations
Path parameters
tenantUidstringRequired

Reference to a tenant.

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

Reference to an asset

Body
namestringOptional
categorystring · enumOptionalPossible values:
descriptionstringOptional
isPublicbooleanOptional
urlstringOptional

for self-hosted asset

serviceOrderUidsstring[]Optional
Responses
200
Example response
application/json
Responseall of
and
put
PUT /v2/tenants/{tenantUid}/assets/{assetUid} HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 115

{
  "name": "text",
  "category": "BRANDING",
  "description": "text",
  "isPublic": true,
  "url": "text",
  "serviceOrderUids": [
    "text"
  ]
}
200

Example response

{
  "assetUid": "text",
  "name": "text",
  "description": "text",
  "category": "BRANDING",
  "isPublic": true,
  "publicUrl": "text",
  "mimeType": "text",
  "size": "text",
  "serviceOrderUids": [
    "text"
  ],
  "createdBy": "text",
  "createdAt": "2025-07-30T18:24:23.809Z",
  "lastModifiedBy": "text",
  "lastModifiedAt": "2025-07-30T18:24:23.809Z"
}

Delete asset

delete

Delete an asset. This also removes the asset from the host.

Authorizations
Path parameters
tenantUidstringRequired

Reference to a tenant.

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

Reference to an asset

Responses
204
No Content
delete
DELETE /v2/tenants/{tenantUid}/assets/{assetUid} HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
204

No Content

No content

Download asset file

get

Private asset URLs have signature and expiry parameters so they cannot be accessed randomly.

Authorizations
Path parameters
tenantUidstringRequired

Reference to a tenant.

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

Reference to an asset

Responses
303
See Other
get
GET /v2/tenants/{tenantUid}/assets/{assetUid}/download HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
303

See Other

No content

Was this helpful?