Viridi Image Controller API
The image-controller API from Viridi — 9 operation(s) for image-controller.
The image-controller API from Viridi — 9 operation(s) for image-controller.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/viridi-parente-image-controller-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: ThingsBoard REST Image Controller API
description: ThingsBoard open-source IoT platform REST API documentation.
contact:
name: ThingsBoard team
url: https://thingsboard.io
email: info@thingsboard.io
license:
name: Apache License Version 2.0
url: https://github.com/thingsboard/thingsboard/blob/master/LICENSE
version: 3.7.0
servers:
- url: https://vista.viridiparente.com
description: Generated server url
tags:
- name: image-controller
paths:
/api/images/{type}/{key}:
get:
tags:
- image-controller
operationId: downloadImage
parameters:
- name: type
in: path
description: 'Type of the image: tenant or system'
required: true
schema:
enum:
- tenant
- system
- name: key
in: path
description: Image resource key, for example thermostats_dashboard_background.jpeg
required: true
schema:
type: string
- name: If-None-Match
in: header
required: false
schema:
type: string
responses:
'200':
description: OK
content:
image/*:
schema:
type: string
format: binary
summary: Download image
x-summary-source: derived
put:
tags:
- image-controller
operationId: updateImage
parameters:
- name: type
in: path
description: 'Type of the image: tenant or system'
required: true
schema:
enum:
- tenant
- system
- name: key
in: path
description: Image resource key, for example thermostats_dashboard_background.jpeg
required: true
schema:
type: string
requestBody:
content:
multipart/form-data:
schema:
type: object
properties:
file:
type: string
format: binary
required:
- file
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/TbResourceInfo'
summary: Update image
x-summary-source: derived
delete:
tags:
- image-controller
operationId: deleteImage
parameters:
- name: type
in: path
description: 'Type of the image: tenant or system'
required: true
schema:
enum:
- tenant
- system
- name: key
in: path
description: Image resource key, for example thermostats_dashboard_background.jpeg
required: true
schema:
type: string
- name: force
in: query
required: false
schema:
type: boolean
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/TbImageDeleteResult'
summary: Delete image
x-summary-source: derived
/api/images/{type}/{key}/public/{isPublic}:
put:
tags:
- image-controller
operationId: updateImagePublicStatus
parameters:
- name: type
in: path
description: 'Type of the image: tenant or system'
required: true
schema:
enum:
- tenant
- system
- name: key
in: path
description: Image resource key, for example thermostats_dashboard_background.jpeg
required: true
schema:
type: string
- name: isPublic
in: path
required: true
schema:
type: boolean
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/TbResourceInfo'
summary: Update image public status
x-summary-source: derived
/api/images/{type}/{key}/info:
get:
tags:
- image-controller
operationId: getImageInfo
parameters:
- name: type
in: path
description: 'Type of the image: tenant or system'
required: true
schema:
enum:
- tenant
- system
- name: key
in: path
description: Image resource key, for example thermostats_dashboard_background.jpeg
required: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/TbResourceInfo'
summary: Get image info
x-summary-source: derived
put:
tags:
- image-controller
operationId: updateImageInfo
parameters:
- name: type
in: path
description: 'Type of the image: tenant or system'
required: true
schema:
enum:
- tenant
- system
- name: key
in: path
description: Image resource key, for example thermostats_dashboard_background.jpeg
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TbResourceInfo'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/TbResourceInfo'
summary: Update image info
x-summary-source: derived
/api/image/import:
put:
tags:
- image-controller
operationId: importImage
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ImageExportData'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/TbResourceInfo'
summary: Import image
x-summary-source: derived
/api/image:
post:
tags:
- image-controller
operationId: uploadImage
requestBody:
content:
multipart/form-data:
schema:
type: object
properties:
file:
type: string
format: binary
title:
type: string
required:
- file
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/TbResourceInfo'
summary: Upload image
x-summary-source: derived
/api/images:
get:
tags:
- image-controller
operationId: getImages
parameters:
- name: pageSize
in: query
description: Maximum amount of entities in a one page
required: true
schema:
type: integer
format: int32
- name: page
in: query
description: Sequence number of page starting from 0
required: true
schema:
type: integer
format: int32
- name: includeSystemImages
in: query
description: Use 'true' to include system images. Disabled by default. Ignored for requests by users with system administrator authority.
required: false
schema:
type: boolean
- name: textSearch
in: query
description: The case insensitive 'substring' filter based on the resource title.
required: false
schema:
type: string
- name: sortProperty
in: query
description: Property of entity to sort by
required: false
schema:
enum:
- createdTime
- title
- resourceType
- tenantId
- name: sortOrder
in: query
description: Sort order. ASC (ASCENDING) or DESC (DESCENDING)
required: false
schema:
enum:
- ASC
- DESC
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/PageDataTbResourceInfo'
summary: Get images
x-summary-source: derived
/api/images/{type}/{key}/preview:
get:
tags:
- image-controller
operationId: downloadImagePreview
parameters:
- name: type
in: path
description: 'Type of the image: tenant or system'
required: true
schema:
enum:
- tenant
- system
- name: key
in: path
description: Image resource key, for example thermostats_dashboard_background.jpeg
required: true
schema:
type: string
- name: If-None-Match
in: header
required: false
schema:
type: string
responses:
'200':
description: OK
content:
image/png:
schema:
type: string
format: binary
summary: Download image preview
x-summary-source: derived
/api/images/{type}/{key}/export:
get:
tags:
- image-controller
operationId: exportImage
parameters:
- name: type
in: path
description: 'Type of the image: tenant or system'
required: true
schema:
enum:
- tenant
- system
- name: key
in: path
description: Image resource key, for example thermostats_dashboard_background.jpeg
required: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ImageExportData'
summary: Export image
x-summary-source: derived
/api/images/public/{publicResourceKey}:
get:
tags:
- image-controller
operationId: downloadPublicImage
parameters:
- name: publicResourceKey
in: path
required: true
schema:
type: string
- name: If-None-Match
in: header
required: false
schema:
type: string
responses:
'200':
description: OK
content:
image/*:
schema:
type: string
format: binary
summary: Download public image
x-summary-source: derived
components:
schemas:
TbResourceInfo:
properties:
id:
$ref: '#/components/schemas/TbResourceId'
description: JSON object with the Resource Id. Specify this field to update the Resource. Referencing non-existing Resource Id will cause error. Omit this field to create new Resource.
createdTime:
type: integer
format: int64
description: Timestamp of the resource creation, in milliseconds
example: 1609459200000
readOnly: true
tenantId:
$ref: '#/components/schemas/TenantId'
description: JSON object with Tenant Id. Tenant Id of the resource can't be changed.
readOnly: true
title:
type: string
description: Resource title.
example: BinaryAppDataContainer id=19 v1.0
resourceType:
type: string
description: Resource type.
enum:
- LWM2M_MODEL
- JKS
- PKCS_12
- JS_MODULE
- IMAGE
example: LWM2M_MODEL
readOnly: true
resourceKey:
type: string
description: Resource key.
example: '19_1.0'
readOnly: true
publicResourceKey:
type: string
etag:
type: string
description: Resource etag.
example: 33a64df551425fcc55e4d42a148795d9f25f89d4
readOnly: true
fileName:
type: string
description: Resource file name.
example: 19.xml
readOnly: true
descriptor:
$ref: '#/components/schemas/JsonNode'
name:
type: string
readOnly: true
public:
type: boolean
link:
type: string
readOnly: true
publicLink:
type: string
readOnly: true
TbResourceId:
properties:
id:
type: string
format: uuid
description: ID of the entity, time-based UUID v1
example: 784f394c-42b6-435a-983c-b7beff2784f9
entityType:
type: string
description: string
enum:
- TB_RESOURCE
example: TB_RESOURCE
required:
- entityType
- id
HasIdObject:
properties:
id: {}
ImageExportData:
properties:
mediaType:
type: string
fileName:
type: string
title:
type: string
resourceKey:
type: string
isPublic:
type: boolean
writeOnly: true
publicResourceKey:
type: string
data:
type: string
public:
type: boolean
PageDataTbResourceInfo:
properties:
data:
type: array
description: Array of the entities
items:
$ref: '#/components/schemas/TbResourceInfo'
readOnly: true
totalPages:
type: integer
format: int32
description: Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria
readOnly: true
totalElements:
type: integer
format: int64
description: Total number of elements in all available pages
readOnly: true
hasNext:
type: boolean
description: '''false'' value indicates the end of the result set'
readOnly: true
TbImageDeleteResult:
properties:
success:
type: boolean
references:
type: object
additionalProperties:
type: array
items:
$ref: '#/components/schemas/HasIdObject'
TenantId:
properties:
id:
type: string
format: uuid
description: ID of the entity, time-based UUID v1
example: 784f394c-42b6-435a-983c-b7beff2784f9
entityType:
type: string
description: string
enum:
- TENANT
example: TENANT
required:
- entityType
- id
JsonNode:
description: A value representing the any type (object or primitive)
examples:
- {}
securitySchemes:
HTTP_login_form:
type: http
description: Enter Username / Password
scheme: loginPassword
bearerFormat: /api/auth/login|X-Authorization