Liberty Global Maintainer API

The Maintainer API from Liberty Global — 4 operation(s) for maintainer.

Operations 10

GET /maintainers Search maintainers using specified name prefix #
POST /maintainers Create new maintainer #
GET /maintainers/{maintainerCode} Returns details of the specified maintainer #
PUT /maintainers/{maintainerCode} Update details of the specified maintainer #
DELETE /maintainers/{maintainerCode} Delete the specified maintainer #
GET /maintainers/{maintainerCode}/apps Returns paginated list of applications from the maintainer #
POST /maintainers/{maintainerCode}/apps Create new application/version #
PUT /maintainers/{maintainerCode}/apps/{applicationId} Replace the contents of the specified application/version #
GET /maintainers/{maintainerCode}/apps/{applicationId} Returns the details of the specified application/version #
DELETE /maintainers/{maintainerCode}/apps/{applicationId} Delete the specified application/version #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/liberty-global-maintainer-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

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 Specification

liberty-global-maintainer-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: ASMS Maintainer API
  description: AppStore Metadata Service REST API. MAS API in RDK.
  version: 0.7.0
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
tags:
- name: Maintainer
paths:
  /maintainers:
    get:
      operationId: getMaintainers
      summary: Search maintainers using specified name prefix
      tags:
      - Maintainer
      parameters:
      - name: name
        in: query
        schema:
          type: string
        description: name of the searched maintainer (search is prefix based, not FTS and case insensitive)
        required: false
        example: lgi
      - name: limit
        in: query
        schema:
          type: int
        description: The numbers of items to return
        required: false
        example: 10
      - name: offset
        in: query
        schema:
          type: int
        description: The number of items to skip before starting to collect the result set
        required: false
        example: 0
      - name: x-maintainer-id
        in: header
        schema:
          type: string
        description: Identifier of the requesting maintainer. Value should be set by intermediate proxies/api gateways
        required: false
        example: 1234abcd
      responses:
        200:
          description: Requested maintainer details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MaintainerList'
        403:
          description: Access denied
        5XX:
          description: Unexpected error
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      operationId: createMaintainer
      summary: Create new maintainer
      tags:
      - Maintainer
      parameters:
      - name: x-maintainer-id
        in: header
        schema:
          type: string
        description: Identifier of the requesting maintainer. Value should be set by intermediate proxies/api gateways
        required: false
        example: 1234abcd
      requestBody:
        description: Full information on the created maintainer
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Maintainer'
      responses:
        201:
          description: Maintainer successfully created
        5XX:
          description: Unexpected error
        409:
          description: Conflict
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /maintainers/{maintainerCode}:
    get:
      operationId: getMaintainer
      summary: Returns details of the specified maintainer
      tags:
      - Maintainer
      parameters:
      - name: x-maintainer-id
        in: header
        schema:
          type: string
        description: Identifier of the requesting maintainer. Value should be set by intermediate proxies/api gateways
        required: false
        example: 1234abcd
      - name: maintainerCode
        in: path
        schema:
          type: string
        description: Code of the requested maintainer
        required: true
        example: lgi
      responses:
        200:
          description: Requested maintainer details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Maintainer'
        403:
          description: Access denied
        404:
          description: Not Found
        5XX:
          description: Unexpected error
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    put:
      operationId: replaceMaintainer
      summary: Update details of the specified maintainer
      tags:
      - Maintainer
      parameters:
      - name: x-maintainer-id
        in: header
        schema:
          type: string
        description: Identifier of the requesting maintainer. Value should be set by intermediate proxies/api gateways
        required: false
        example: 1234abcd
      - name: maintainerCode
        in: path
        schema:
          type: string
        description: code of the maintainer
        required: true
        example: lgi
      requestBody:
        description: Full information on the updated maintainer
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MaintainerForUpdate'
      responses:
        204:
          description: OK
        403:
          description: Access denied
        404:
          description: Not Found
        5XX:
          description: Unexpected error
    delete:
      operationId: deleteMaintainer
      summary: Delete the specified maintainer
      tags:
      - Maintainer
      parameters:
      - name: x-maintainer-id
        in: header
        schema:
          type: string
        description: Identifier of the requesting maintainer. Value should be set by intermediate proxies/api gateways
        required: false
        example: 1234abcd
      - name: maintainerCode
        in: path
        schema:
          type: string
        description: code of the delete maintainer
        required: true
        example: lgi
      responses:
        204:
          description: Maintainer successfully deleted
        403:
          description: Access denied. The requestor is not allowed to delete the maintainer
        404:
          description: Not Found
        5XX:
          description: Unexpected error
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /maintainers/{maintainerCode}/apps:
    get:
      summary: Returns paginated list of applications from the maintainer
      operationId: listMaintainerApplications
      tags:
      - Maintainer
      parameters:
      - name: maintainerCode
        in: path
        schema:
          type: string
        description: Maintainer code
        required: true
        example: lgi
      - name: x-maintainer-id
        in: header
        schema:
          type: string
        description: Identifier of the requesting maintainer. Value should be set by intermediate proxies/api gateways. Used for authentication/authorization purposes.
        required: false
        example: 1234abcd
      - name: name
        in: query
        schema:
          type: string
        description: Application name (pattern)
        required: false
        example: you.i
      - name: description
        in: query
        schema:
          type: string
        description: Application description (pattern)
        required: false
        example: Awesome application
      - name: version
        in: query
        schema:
          type: string
        description: Searched version
        required: false
        example: 1.2.3
      - name: type
        in: query
        schema:
          type: string
        description: Application type
        required: false
        example: application/vnd.rdk-app.dac.lightning
      - name: platform
        in: query
        schema:
          type: string
        description: Running platform
        required: false
        example: arm:v7:linux
      - name: category
        in: query
        schema:
          $ref: '#/components/schemas/Category'
        description: Application category
        required: false
        example: application
      - name: offset
        in: query
        schema:
          type: integer
        description: The number of items to skip before starting to collect the result set
        required: false
        example: 0
      - name: limit
        in: query
        schema:
          type: integer
        description: The number of items to return
        required: false
        example: 10
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MaintainerApplicationsList'
        400:
          description: Bad request
        401:
          description: Access denied
        5XX:
          description: Unexpected error
    post:
      summary: Create new application/version
      operationId: createMaintainerApplication
      tags:
      - Maintainer
      parameters:
      - name: maintainerCode
        in: path
        schema:
          type: string
        description: Maintainer code
        required: true
        example: lgi
      - name: x-maintainer-id
        in: header
        schema:
          type: string
        description: Identifier of the requesting maintainer. Value should be set by intermediate proxies/api gateways
        required: false
        example: 1234abcd
      requestBody:
        description: Full information on the application/version
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Application'
      responses:
        201:
          description: OK
        400:
          description: Bad request
        401:
          description: Access denied
        409:
          description: Conflict
        5XX:
          description: Unexpected error
  /maintainers/{maintainerCode}/apps/{applicationId}:
    put:
      summary: Replace the contents of the specified application/version
      operationId: replaceMaintainerApplication
      tags:
      - Maintainer
      parameters:
      - name: maintainerCode
        in: path
        schema:
          type: string
        description: Maintainer code
        required: true
        example: lgi
      - name: applicationId
        in: path
        schema:
          type: string
        description: Reverse Domain Notation ID + optional version separated by a colon. If the version is not specified then default latest version is considered
        required: true
        example: com.libertyglobal.app.awesome:1.2.3
      - name: x-maintainer-id
        in: header
        schema:
          type: string
        description: Identifier of the requesting maintainer, in case the Client is a MAINTAINER. Value should be set by intermediate proxies/api gateways
        required: false
        example: 1234abcd
      requestBody:
        description: Full information on the Application / version
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApplicationForUpdate'
      responses:
        204:
          description: OK
        403:
          description: Access denied
        404:
          description: Not Found
        5XX:
          description: Unexpected error
    get:
      summary: Returns the details of the specified application/version
      operationId: getMaintainerApplication
      tags:
      - Maintainer
      parameters:
      - name: maintainerCode
        in: path
        schema:
          type: string
        description: Maintainer code
        required: true
        example: lgi
      - name: applicationId
        in: path
        schema:
          type: string
        description: Reverse Domain Notation ID + optional version separated by a colon. If the version is not specified then default latest version is considered
        required: true
        example: com.libertyglobal.app.awesome:1.2.3
      - name: x-maintainer-id
        in: header
        schema:
          type: string
        description: Identifier of the requesting maintainer, in case the Client is a MAINTAINER. Value should be set by intermediate proxies/api gateways. Used for authentication/authorization purposes.
        required: false
        example: 1234abcd
      - name: platformName
        in: query
        schema:
          type: string
        description: Platform name
        required: true
      - name: firmwareVer
        in: query
        schema:
          type: string
        description: Firmware version
        required: true
      responses:
        200:
          description: Requested Application details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MaintainerApplicationDetails'
        403:
          description: Access denied
        404:
          description: Not Found
        5XX:
          description: Unexpected error
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      summary: Delete the specified application/version
      operationId: deleteMaintainerApplication
      tags:
      - Maintainer
      parameters:
      - name: maintainerCode
        in: path
        schema:
          type: string
        description: Maintainer code
        required: true
        example: lgi
      - name: applicationId
        in: path
        schema:
          type: string
        description: Reverse Domain Notation ID + optional version separated by a colon. If the version is not specified then default latest version is considered
        required: true
        example: com.libertyglobal.app.awesome:1.2.3
      - name: x-maintainer-id
        in: header
        schema:
          type: string
        description: Identifier of the requesting maintainer, in case the Client is a MAINTAINER
        required: false
        example: 1234abcd
      responses:
        204:
          description: Application/version successfully deleted
        403:
          description: Access denied. The requestor is not allowed to delete the application
        404:
          description: Not Found
        5XX:
          description: Unexpected error
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    Meta:
      type: object
      properties:
        resultSet:
          $ref: '#/components/schemas/ResultSetMeta'
    Dependency:
      type: object
      required:
      - id
      properties:
        id:
          type: string
          description: ID/Package name in Reverse Domain Notation
          example: com.libertyglobal.service.voice
        version:
          type: string
          description: Package version
          example: 0.3.4
    MaintainerApplicationsList:
      type: object
      properties:
        applications:
          type: array
          items:
            $ref: '#/components/schemas/MaintainerApplicationHeader'
        meta:
          $ref: '#/components/schemas/Meta'
    ErrorResponse:
      type: object
      required:
      - message
      properties:
        message:
          type: string
    Category:
      type: string
      enum:
      - application
      - dev
      - service
      - resource
      - plugin
      description: Application category
    ResultSetMeta:
      type: object
      properties:
        count:
          type: integer
          description: Number of items in the current result set
          example: 9
        offset:
          type: integer
          description: Number of skipped items
          example: 0
        limit:
          type: integer
          description: Maximum number of items in the current result set
          example: 10
        total:
          type: integer
          description: Number of items that match the search criteria.
          example: 9
    ApplicationForUpdate:
      type: object
      required:
      - header
      - requirements
      properties:
        header:
          $ref: '#/components/schemas/ApplicationHeaderForUpdate'
        requirements:
          $ref: '#/components/schemas/Requirements'
    Maintainer:
      type: object
      required:
      - code
      - name
      properties:
        code:
          type: string
          description: Maintainer code (eg. lgi)
          example: lgi
        name:
          type: string
          description: Maintainer name
          example: Liberty Global
        address:
          type: string
          description: Maintainer's office address
          example: Liberty Global B.V., Boeing Avenue 53, 1119 PE Schiphol Rijk, The Netherlands
        homepage:
          type: string
          description: Maintainer's homepage
          example: https://www.libertyglobal.com
        email:
          type: string
          description: Maintainer's email address
          example: developer@libertyglobal.com
    MaintainerForUpdate:
      type: object
      properties:
        name:
          type: string
          description: Maintainer name
          example: Liberty Global
        address:
          type: string
          description: Maintainer's office address
          example: Liberty Global B.V., Boeing Avenue 53, 1119 PE Schiphol Rijk, The Netherlands
        homepage:
          type: string
          description: Maintainer's homepage
          example: https://www.libertyglobal.com
        email:
          type: string
          description: Maintainer's email address
          example: developer@libertyglobal.com
    Platform:
      type: object
      required:
      - architecture
      - os
      properties:
        architecture:
          type: string
          description: Architecture (eg. arm, mips, x86, amd64, web)
          example: arm
        variant:
          type: string
          description: Variant (eg. v7, v8a)
          example: v7
        os:
          type: string
          description: OS (eg. linux, all)
          example: linux
    MaintainerList:
      type: object
      required:
      - maintainers
      - meta
      properties:
        maintainers:
          type: array
          description: list of found maintainers
          items:
            $ref: '#/components/schemas/Maintainer'
        meta:
          $ref: '#/components/schemas/Meta'
    MaintainerVersion:
      allOf:
      - $ref: '#/components/schemas/StbVersion'
      - type: object
        required:
        - visible
        properties:
          visible:
            type: boolean
            description: Visible version attribute
            example: true
          preferred:
            type: boolean
            description: Preferred attribute
            default: false
            example: false
          encryption:
            type: boolean
            description: Encryption attribute
            default: false
            example: false
    MaintainerApplicationHeader:
      allOf:
      - $ref: '#/components/schemas/StbApplicationHeader'
      - type: object
        required:
        - visible
        - ociImageUrl
        properties:
          visible:
            type: boolean
            description: Visible version attribute
            example: true
          encryption:
            type: boolean
            description: Bundle encryption attribute
            default: false
            example: false
          preferred:
            type: boolean
            description: Preferred attribute
            default: false
            example: false
          ociImageUrl:
            type: string
            description: OCI Image URL
            example: myregistry.local:5000/testing/test-image
            pattern: ^(?!\s*$).+
    Hardware:
      type: object
      properties:
        ram:
          type: string
          description: Minimum RAM (G/M/K) (eg. 512M)
          example: 512M
        dmips:
          type: string
          description: Minimum DMIPS (eg. 3000)
          example: 2000
        persistent:
          type: string
          description: Persistent Storage (G/M/K)
          example: 60M
        cache:
          type: string
          description: Maximum cache size (G/M/K)
          example: 200M
    ApplicationHeader:
      type: object
      required:
      - icon
      - name
      - type
      - category
      properties:
        icon:
          type: string
          description: Icon location
          example: https://libertyglobal.com/s/apps/com.libertyglobal.app.awesome/1.2.3/image/1920x1080/icon.png
        name:
          type: string
          pattern: ^(?!\s*$).+
          description: Application name
          example: Awesome Application
        description:
          type: string
          description: Application description
          example: This is Awesome App
        type:
          type: string
          description: Application type (example: application/vnd.rdk-app.dac.lightning)
          example: application/vnd.rdk-app.dac.native
        size:
          type: integer
          description: Size in bytes
          example: 10000000
          minimum: 0
          maximum: 2147483647
        category:
          $ref: '#/components/schemas/Category'
        localization:
          type: array
          items:
            $ref: '#/components/schemas/Localization'
    AppicationHeaderGeneratedAttributes:
      type: object
      required:
      - url
      properties:
        url:
          type: string
          description: Application url (eg. OCI Container Manifest, external web app url)
          example: https://$SERVER/com.libertyglobal.app.awesome/1.2.3/cascadelake/502.54.1/com.libertyglobal.app.awesome_1.2.3_cascadelake_502.54.1.tar.gz
    MaintainerApplicationDetails:
      type: object
      required:
      - header
      - requirements
      properties:
        header:
          $ref: '#/components/schemas/MaintainerSingleApplicationHeader'
        requirements:
          $ref: '#/components/schemas/Requirements'
        maintainer:
          $ref: '#/components/schemas/Maintainer'
        versions:
          $ref: '#/components/schemas/MaintainerVersions'
    StbApplicationHeader:
      allOf:
      - $ref: '#/components/schemas/ApplicationHeader'
      - type: object
        required:
        - id
        - version
        properties:
          id:
            type: string
            pattern: ^(?!\s*$).+
            description: Reverse Domain Notation ID
            example: com.libertyglobal.app.awesome
          version:
            type: string
            description: Application version
            example: 1.2.3
    MaintainerSingleApplicationHeader:
      allOf:
      - $ref: '#/components/schemas/MaintainerApplicationHeader'
      - $ref: '#/components/schemas/AppicationHeaderGeneratedAttributes'
    MaintainerVersions:
      type: array
      description: semantically sorted versions of the application
      items:
        $ref: '#/components/schemas/MaintainerVersion'
    Requirements:
      type: object
      required:
      - platform
      properties:
        dependencies:
          type: array
          items:
            $ref: '#/components/schemas/Dependency'
        platform:
          $ref: '#/components/schemas/Platform'
        hardware:
          $ref: '#/components/schemas/Hardware'
        features:
          type: array
          items:
            $ref: '#/components/schemas/Feature'
    ApplicationHeaderForUpdate:
      allOf:
      - $ref: '#/components/schemas/ApplicationHeader'
      - type: object
        required:
        - visible
        - ociImageUrl
        properties:
          visible:
            type: boolean
            description: Visible version attribute
            example: true
          encryption:
            type: boolean
            description: Bundle encryption attribute
            default: false
            example: false
          preferred:
            type: boolean
            description: Preferred attribute
            default: false
            example: false
          ociImageUrl:
            type: string
            description: OCI Image URL
            example: myregistry.local:5000/testing/test-image
            pattern: ^(?!\s*$).+
          version:
            type: string
            description: Version to update (working only with non-latest version)
            example: 1.2.3
    Feature:
      type: object
      properties:
        name:
          type: string
          description: Feature name
          example: rdk.api.awc
        version:
          type: string
          description: Feature version
          example: 2.0
        required:
          type: boolean
          description: Required for run
          example: false
    StbVersion:
      type: object
      properties:
        version:
          type: string
          description: Version code
          example: 1.2.3
    Application:
      type: object
      required:
      - header
      - requirements
      properties:
        header:
          $ref: '#/components/schemas/MaintainerApplicationHeader'
        requirements:
          $ref: '#/components/schemas/Requirements'
    Localization:
      type: object
      required:
      - languageCode
      - name
      properties:
        languageCode:
          type: string
          description: The ISO 639-2 three character language code
          example: nld
        name:
          type: string
          description: Application name in selected language (UTF-8)
          example: Geweldige applicatie
        description:
          type: string
          description: Application description in selected language (UTF-8)
          example: Dit is een geweldige applicatie