30MHz App Update API
The app-update API from 30MHz — 3 operation(s) for app-update.
The app-update API from 30MHz — 3 operation(s) for app-update.
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/30mhz-app-update-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:
version: '2.0'
title: ZENSIE App Update API
servers:
- url: https://api.30mhz.com/api
tags:
- name: app-update
paths:
/app-update/{appId}/logo:
post:
tags:
- app-update
summary: Update a logo for an extension
description: Authentication required for this operation, authenticated user should be organisation owner or admin.
operationId: updateLogoForExtension
parameters:
- name: appId
in: path
required: true
schema:
type: string
- name: content-length
in: header
required: false
schema:
type: integer
format: int64
security:
- Bearer: []
responses:
'200':
description: Logo updated
content:
application/json:
schema:
$ref: '#/components/schemas/DataUpload'
application/zensie-v2+json:
schema:
$ref: '#/components/schemas/DataUpload'
'403':
description: User has no owner rights in organization.
requestBody:
content:
multipart/form-data:
schema:
type: object
properties:
logo:
type: string
format: binary
/app-update/{appId}/properties:
put:
tags:
- app-update
summary: Patch an application's properties
description: Authentication required for this operation
operationId: updateAppProperties
parameters:
- name: appId
in: path
required: true
schema:
type: string
security:
- Bearer: []
responses:
'201':
description: App patched
content:
application/json:
schema:
$ref: '#/components/schemas/App'
application/zensie-v2+json:
schema:
$ref: '#/components/schemas/App'
'400':
description: Invalid input.
'403':
description: User must be authenticated.
'500':
description: Error while patching the application.
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AppEditable'
/app-update/{installableId}:
post:
tags:
- app-update
summary: Update an installable
description: Authentication required for this operation
operationId: updateInstallable
parameters:
- name: content-length
in: header
required: false
schema:
type: integer
format: int64
- name: installableId
in: path
required: true
schema:
type: string
security:
- Bearer: []
responses:
'201':
description: App updated
content:
application/json:
schema:
$ref: '#/components/schemas/App'
application/zensie-v2+json:
schema:
$ref: '#/components/schemas/App'
'400':
description: Configuration values must be either strings or json objects.
'403':
description: User must be authenticated.
'500':
description: Error while updating the app installation.
requestBody:
content:
multipart/form-data:
schema:
type: object
properties:
file:
type: string
format: binary
properties:
type: ref
required:
- properties
components:
schemas:
ImageThumbnail:
type: object
properties:
height:
type: integer
format: int32
path:
type: string
url:
type: string
width:
type: integer
format: int32
ImageDimensions:
type: object
properties:
height:
type: integer
format: int32
width:
type: integer
format: int32
AppEditable:
type: object
properties:
dashboards:
type: array
description: App's dashboards.
items:
type: object
additionalProperties:
type: object
defaultDynamicConfigurations:
type: object
description: The default dynamic configuration of the installable
additionalProperties:
type: object
description:
type: string
description: Description of the installable.
logoDataId:
type: string
description: Id of the logo image data.
maxInstallationsPerOrg:
type: integer
format: int32
description: Maximum number of installations allowed for any given organization
name:
type: string
description: Name of the installable
ownerName:
type: string
description: Installable's owner name.
packageDataId:
type: string
description: Id of the code package data.
primaryColor:
type: string
description: App's primary color.
requiredManualInputForms:
type: array
description: List of manual input forms required by the extension.
items:
$ref: '#/components/schemas/RequiredSensor'
sections:
type: object
description: App's sections, with sections id as keys and definitions as values.
additionalProperties:
type: object
additionalProperties:
type: object
settings:
type: object
description: Custom settings common to all extension's installations
additionalProperties:
type: object
supportUrl:
type: string
description: Extension's support web page URL.
widgets:
type: array
description: Widgets that belong to the installable.
items:
type: object
RequiredSensor:
type: object
required:
- sensorTypeId
properties:
configurationKeypathToCheckId:
type: string
description: Optional keypath in dynamic configurations where check id is stored
name:
type: string
description: Name of the sensor
sensorTypeId:
type: string
description: Id of the sensor type of the required sensor
DataUpload:
type: object
properties:
creationTimestamp:
type: integer
format: int64
description: The creation timestamp.
dataUploadId:
type: string
description: Data upload id.
filename:
type: string
description: The name of the uploaded file
groupId:
type: string
description: Group id for the data upload.
imageDimensions:
description: The image dimensions
$ref: '#/components/schemas/ImageDimensions'
imageThumbnails:
type: array
items:
$ref: '#/components/schemas/ImageThumbnail'
organizationId:
type: string
description: Organization id for the data upload.
orientation:
type: integer
format: int32
description: The orientation of the image
presignedUrl:
type: string
description: DataUpload
App:
type: object
required:
- appId
properties:
dashboards:
type: array
description: App's dashboards.
items:
type: object
additionalProperties:
type: object
defaultDynamicConfigurations:
type: object
description: The default dynamic configuration of the installable
additionalProperties:
type: object
description:
type: string
description: Description of the installable.
logoDataId:
type: string
description: Id of the logo image data.
logoUrl:
type: string
description: Application's logo URL.
maxInstallationsPerOrg:
type: integer
format: int32
description: Maximum number of installations allowed for any given organization
name:
type: string
description: Name of the installable
ownerName:
type: string
description: Installable's owner name.
packageDataId:
type: string
description: Id of the code package data.
primaryColor:
type: string
description: App's primary color.
requiredManualInputForms:
type: array
description: List of manual input forms required by the extension.
items:
$ref: '#/components/schemas/RequiredSensor'
sections:
type: object
description: App's sections, with sections id as keys and definitions as values.
additionalProperties:
type: object
additionalProperties:
type: object
settings:
type: object
description: Custom settings common to all extension's installations
additionalProperties:
type: object
supportUrl:
type: string
description: Extension's support web page URL.
url:
type: string
description: Application's URL.
widgets:
type: array
description: Widgets that belong to the installable.
items:
type: object
publishedAt:
type: string
description: UTC ISO 8601 timestamp of publication, e.g., 2025-02-21T15:00:00Z.
publishedBy:
type: string
description: The email of the user that published this app.
submittedAt:
type: string
description: 'The ISO601 UTC date the app was submitted. e.g.: 2021-03-21T00:00:00Z'
submittedBy:
type: string
description: The email of the user that submitted this app.
appId:
type: string
description: Id of the application
organizationId:
type: string
description: Id of the organization that owns the installable.
state:
type: string
description: Status of the installable.
type:
type: string
description: Type of the application.
securitySchemes:
Bearer:
description: ''
type: apiKey
name: Authorization
in: header