Ant Media Applications API

The Applications API from Ant Media — 6 operation(s) for applications.

Operations 9

GET /v2/applications/settings/{appname} Returns the specified application settings #
POST /v2/applications/settings/{appname} Changes the application settings #
PUT /v2/applications/{appName} Creates a new application with given name and supports uploading custom WAR… #
POST /v2/applications/{appName} Creates a new application with given name #
DELETE /v2/applications/{appName} Deletes application with the given name #
GET /v2/applications/live-streams/{appname} Returns live streams in the specified application #
GET /v2/applications/{appName}/metrics-history Gets recent per-application metric history (viewers, live streams) #
GET /v2/applications Gets the applications in the server #
POST /v2/applications/{appname}/reset Resets the viewer counts and broadcasts statuses in the db #

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/ant-media-applications-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

ant-media-applications-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Ant Media Server Management Panel REST Applications API
  description: Ant Media Server Management Panel REST API
  contact:
    name: Ant Media Info
    url: https://antmedia.io
    email: contact@antmedia.io
  license:
    name: Apache 2.0
    url: http://www.apache.org
  version: v2.0
tags:
- name: Applications
paths:
  /v2/applications/settings/{appname}:
    get:
      summary: Returns the specified application settings
      operationId: getSettings
      parameters:
      - name: appname
        in: path
        description: Application name
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Application settings returned
      tags:
      - Applications
    post:
      summary: Changes the application settings
      operationId: changeSettings
      parameters:
      - name: appname
        in: path
        description: Application name
        required: true
        schema:
          type: string
      requestBody:
        description: New application settings, null fields will be set to default values
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AppSettings'
        required: true
      responses:
        '200':
          description: Successful operation
      tags:
      - Applications
  /v2/applications/{appName}:
    put:
      summary: Creates a new application with given name and supports uploading custom WAR…
      operationId: createApplication_1
      parameters:
      - name: appName
        in: path
        description: Name for the new application
        required: true
        schema:
          type: string
      requestBody:
        content:
          multipart/form-data:
            schema:
              required:
              - file
              type: object
              properties:
                file:
                  type: object
                  description: file
      responses:
        '200':
          description: Custom application created successfully
      tags:
      - Applications
    post:
      summary: Creates a new application with given name
      operationId: createApplication
      parameters:
      - name: appName
        in: path
        description: Name for the new application
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Application created successfully
      tags:
      - Applications
    delete:
      summary: Deletes application with the given name
      operationId: deleteApplication
      parameters:
      - name: appName
        in: path
        description: Name of the application to delete
        required: true
        schema:
          type: string
      - name: deleteDB
        in: query
        description: Whether to delete associated database
        required: true
        schema:
          type: boolean
      responses:
        '200':
          description: Application deleted successfully
      tags:
      - Applications
  /v2/applications/live-streams/{appname}:
    get:
      summary: Returns live streams in the specified application
      operationId: getAppLiveStreams
      parameters:
      - name: appname
        in: path
        description: Application name
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful operation
      tags:
      - Applications
  /v2/applications/{appName}/metrics-history:
    get:
      summary: Gets recent per-application metric history (viewers, live streams)
      operationId: getAppMetricsHistory
      parameters:
      - name: appName
        in: path
        description: Application name
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful operation
      tags:
      - Applications
  /v2/applications:
    get:
      summary: Gets the applications in the server
      operationId: getApplications
      responses:
        '200':
          description: Successful operation
      tags:
      - Applications
  /v2/applications/{appname}/reset:
    post:
      summary: Resets the viewer counts and broadcasts statuses in the db
      operationId: resetBroadcast
      parameters:
      - name: appname
        in: path
        description: Application name
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Broadcasts reset successfully
      tags:
      - Applications
components:
  schemas:
    EncoderSettings:
      type: object
      properties:
        height:
          type: integer
          format: int32
        videoBitrate:
          type: integer
          format: int32
        audioBitrate:
          type: integer
          format: int32
        forceEncode:
          type: boolean
        forceSameResolutionEncode:
          type: boolean
    AppSettings:
      type: object
      properties:
        remoteAllowedCIDR:
          type: string
        mp4MuxingEnabled:
          type: boolean
        webMMuxingEnabled:
          type: boolean
        addDateTimeToMp4FileName:
          type: boolean
        fileNameFormat:
          type: string
        hlsMuxingEnabled:
          type: boolean
        encoderSettingsString:
          type: string
        signalingEnabled:
          type: boolean
        signalingAddress:
          type: string
        hlsListSize:
          type: string
        hlsTime:
          type: string
        uploadExtensionsToS3:
          type: integer
          format: int32
        s3StorageClass:
          type: string
        endpointHealthCheckPeriodMs:
          type: integer
          format: int32
        endpointRepublishLimit:
          type: integer
          format: int32
        endpointLiveEdgeEnabled:
          type: boolean
        dashSegDuration:
          type: string
        dashFragmentDuration:
          type: string
        targetLatency:
          type: string
        dashWindowSize:
          type: string
        dashExtraWindowSize:
          type: string
        hlsEnabledViaDash:
          type: boolean
        useTimelineDashMuxing:
          type: boolean
        webRTCEnabled:
          type: boolean
        useOriginalWebRTCEnabled:
          type: boolean
        deleteHLSFilesOnEnded:
          type: boolean
        deleteDASHFilesOnEnded:
          type: boolean
        tokenHashSecret:
          type: string
        hashControlPublishEnabled:
          type: boolean
        hashControlPlayEnabled:
          type: boolean
        listenerHookURL:
          type: string
        acceptOnlyStreamsInDataStore:
          type: boolean
        acceptOnlyRoomsInDataStore:
          type: boolean
        publishTokenControlEnabled:
          type: boolean
        playTokenControlEnabled:
          type: boolean
        enableTimeTokenForPlay:
          type: boolean
        timeTokenSecretForPlay:
          type: string
        enableTimeTokenForPublish:
          type: boolean
        timeTokenSecretForPublish:
          type: string
        timeTokenPeriod:
          type: integer
          format: int32
        hlsPlayListType:
          type: string
        hlsSegmentType:
          type: string
        hlsSegmentFileSuffixFormat:
          type: string
        previewOverwrite:
          type: boolean
        createPreviewPeriod:
          type: integer
          format: int32
        restartStreamFetcherPeriod:
          type: integer
          format: int32
        startStreamFetcherAutomatically:
          type: boolean
        streamFetcherBufferTime:
          type: integer
          format: int32
        hlsflags:
          type: string
        mySqlClientPath:
          type: string
        muxerFinishScript:
          type: string
        streamStartedScript:
          type: string
        streamEndedScript:
          type: string
        streamIdleTimeoutScript:
          type: string
        webRTCFrameRate:
          type: integer
          format: int32
        webRTCPortRangeMin:
          type: integer
          format: int32
        webRTCPortRangeMax:
          type: integer
          format: int32
        stunServerURI:
          type: string
        turnServerUsername:
          type: string
        turnServerCredential:
          type: string
        webRTCTcpCandidatesEnabled:
          type: boolean
        webRTCSdpSemantics:
          type: string
        portAllocatorFlags:
          type: integer
          format: int32
        encoderName:
          type: string
        encoderParameters:
          type: object
          additionalProperties:
            type: object
            additionalProperties:
              type: string
        encoderThreadCount:
          type: integer
          format: int32
        encoderThreadType:
          type: integer
          format: int32
        vp8EncoderThreadCount:
          type: integer
          format: int32
        previewHeight:
          type: integer
          format: int32
        generatePreview:
          type: boolean
        previewFormat:
          type: string
        previewQuality:
          type: integer
          format: int32
        writeStatsToDatastore:
          type: boolean
        encoderSelectionPreference:
          type: string
        allowedPublisherCIDR:
          type: string
        excessiveBandwidthValue:
          type: integer
          format: int32
        excessiveBandwidthCallThreshold:
          type: integer
          format: int32
        excessiveBandwithTryCountBeforeSwitchback:
          type: integer
          format: int32
        excessiveBandwidthAlgorithmEnabled:
          type: boolean
        packetLossDiffThresholdForSwitchback:
          type: integer
          format: int32
        rttMeasurementDiffThresholdForSwitchback:
          type: integer
          format: int32
        replaceCandidateAddrWithServerAddr:
          type: boolean
        appName:
          type: string
        webRTCClientStartTimeoutMs:
          type: integer
          format: int32
        updateTime:
          type: integer
          format: int64
        httpForwardingExtension:
          type: string
        httpForwardingBaseURL:
          type: string
        maxAnalyzeDurationMS:
          type: integer
          format: int32
        disableIPv6Candidates:
          type: boolean
        rtspPullTransportType:
          type: string
        rtspTimeoutDurationMs:
          type: integer
          format: int32
        maxFpsAccept:
          type: integer
          format: int32
        maxResolutionAccept:
          type: integer
          format: int32
        maxBitrateAccept:
          type: integer
          format: int32
        h264Enabled:
          type: boolean
        vp8Enabled:
          type: boolean
        av1Enabled:
          type: boolean
        h265Enabled:
          type: boolean
        dataChannelEnabled:
          type: boolean
        dataChannelPlayerDistribution:
          type: string
        rtmpIngestBufferTimeMs:
          type: integer
          format: int64
        dataChannelWebHookURL:
          type: string
        heightRtmpForwarding:
          type: integer
          format: int32
        audioBitrateSFU:
          type: integer
          format: int32
        dashMuxingEnabled:
          type: boolean
        aacEncodingEnabled:
          type: boolean
        gopSize:
          type: integer
          format: int32
        webRTCViewerLimit:
          type: integer
          format: int32
        appStatus:
          type: string
        appInstallationTime:
          type: integer
          format: int64
        pullWarFile:
          type: boolean
        warFileOriginServerAddress:
          type: string
        jwtSecretKey:
          type: string
        jwtControlEnabled:
          type: boolean
        ipFilterEnabled:
          type: boolean
        ingestingStreamLimit:
          type: integer
          format: int32
        webRTCKeyframeTime:
          type: integer
          format: int32
        jwtStreamSecretKey:
          type: string
        publishJwtControlEnabled:
          type: boolean
        playJwtControlEnabled:
          type: boolean
        dashHttpStreaming:
          type: boolean
        subFolder:
          type: string
        s3StreamsFolderPath:
          type: string
        s3PreviewsFolderPath:
          type: string
        dashHttpEndpoint:
          type: string
        hlsHttpEndpoint:
          type: string
        forceDecoding:
          type: boolean
        addOriginalMuxerIntoHLSPlaylist:
          type: boolean
        s3RecordingEnabled:
          type: boolean
        s3AccessKey:
          type: string
        s3SecretKey:
          type: string
        s3BucketName:
          type: string
        s3RegionName:
          type: string
        s3Endpoint:
          type: string
        s3CacheControl:
          type: string
        s3PathStyleAccessEnabled:
          type: boolean
        s3Permission:
          type: string
        s3TransferBufferSizeInBytes:
          type: integer
          format: int32
        hlsEncryptionKeyInfoFile:
          type: string
        jwksURL:
          type: string
        forceAspectRatioInTranscoding:
          type: boolean
        webhookAuthenticateURL:
          type: string
        maxAudioTrackCount:
          type: integer
          format: int32
        maxVideoTrackCount:
          type: integer
          format: int32
        vodUploadFinishScript:
          type: string
        contentSecurityPolicyHeaderValue:
          type: string
        rtmpPlaybackEnabled:
          type: boolean
        originEdgeIdleTimeout:
          type: integer
          format: int32
        addDateTimeToHlsFileName:
          type: boolean
        playWebRTCStreamOnceForEachSession:
          type: boolean
        statsBasedABREnabled:
          type: boolean
        abrDownScalePacketLostRatio:
          type: number
          format: float
        abrUpScalePacketLostRatio:
          type: number
          format: float
        abrUpScaleRTTMs:
          type: integer
          format: int32
        abrUpScaleJitterMs:
          type: integer
          format: int32
        clusterCommunicationKey:
          type: string
        id3TagEnabled:
          type: boolean
        sendAudioLevelToViewers:
          type: boolean
        audioLevelThreshold:
          type: integer
          format: int32
        hwScalingEnabled:
          type: boolean
        hwDecoderEnabled:
          type: boolean
        firebaseAccountKeyJSON:
          type: string
        subscriberAuthenticationKey:
          type: string
        apnsServer:
          type: string
        apnTeamId:
          type: string
        apnPrivateKey:
          type: string
        apnKeyId:
          type: string
        webhookRetryCount:
          type: integer
          format: int32
        secureAnalyticEndpoint:
          type: boolean
        webhookRetryDelay:
          type: integer
          format: int64
        webhookStreamStatusUpdatePeriodMs:
          type: integer
          format: int64
        webhookPlayAuthUrl:
          type: string
        recordingSubfolder:
          type: string
        webhookContentType:
          type: string
        iceGatheringTimeoutMs:
          type: integer
          format: int64
        participantVisibilityMatrix:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
        customSettings:
          type: object
          additionalProperties:
            type: object
        relayRTMPMetaDataToMuxers:
          type: boolean
        dropWebRTCIngestIfNoPacketReceived:
          type: boolean
        srtReceiveLatencyInMs:
          type: integer
          format: int32
        encodingQueueSize:
          type: integer
          format: int32
        writeSubscriberEventsToDatastore:
          type: boolean
        disableAudio:
          type: boolean
        encoderSettings:
          type: array
          items:
            $ref: '#/components/schemas/EncoderSettings'
        lldashEnabled:
          type: boolean
        llhlsenabled:
          type: boolean
externalDocs:
  description: External Docs
  url: https://antmedia.io