---
title: "Update app"
method: PUT
path: "/v2/servers/{serverName}/vhosts/{vhostName}/applications/{appName}"
tags: ["Applications"]
---

# Update app

`PUT /v2/servers/{serverName}/vhosts/{vhostName}/applications/{appName}`

Updates the specified application configuration. This API is available in builds 15089 or later.

## Path parameters

- `serverName` string, required
- `vhostName` string, required
- `appName` string, required

## Request body

- ApplicationConfig
  - `httpOptimizeFileReads` boolean, required
  - `captionLiveIngestType` string, required
  - `streamConfig` StreamConfigurationConfig, required
    - `streamType` string, required
    - `storageDirExists` boolean, required
    - `keyDir` string, required
    - `createStorageDir` boolean, required
    - `liveStreamPacketizer` string[], required
    - `serverName` string, required
    - `storageDir` string, required
    - `saveFieldList` string[]
    - `version` string, required
    - `httpRandomizeMediaName` boolean, required
  - `serverName` string, required
  - `description` string, required
  - `closedCaptionLiveOutput608Enabled` boolean, required
  - `webRTCConfig` WebRTCConfig, required
    - `udpBindAddress` string, required
    - `enablePlay` boolean, required
    - `preferredCodecsAudio` string, required
    - `preferredCodecsVideo` string, required
    - `enableQuery` boolean, required
    - `debugLog` boolean, required
    - `serverName` string, required
    - `saveFieldList` string[]
    - `iceCandidateIpAddresses` string, required
    - `version` string, required
    - `enablePublish` boolean, required
  - `mediaCacheSourceList` string[], required
  - `repeaterOriginURL` string, required
  - `clientStreamReadAccess` string, required
  - `appType` string, required
  - `pingTimeout` integer, required
  - `vodTimedTextProviders` string[], required
  - `saveFieldList` string[]
  - `mediaReaderRandomAccessReaderClass` string, required
  - `mediaReaderBufferSeekIO` boolean, required
  - `httpStreamers` string[], required
  - `httpCORSHeadersEnabled` boolean, required
  - `closedCaptionLiveOutput708Enabled` boolean, required
  - `avSyncMethod` string, required
  - `transcoderConfig` TranscoderAppConfig, required
    - `profileDir` string, required
    - `licensed` boolean, required
    - `templates` TranscoderTemplatesConfig, required
      - `vhostName` string, required
      - `templates` ShortObject[], required
        - `id` string, required
        - `href` string, required
      - `serverName` string, required
      - `saveFieldList` string[]
      - `version` string, required
    - `available` boolean, required
    - `serverName` string, required
    - `templateDir` string, required
    - `version` string, required
    - `createTemplateDir` boolean, required
    - `licenses` integer, required
    - `liveStreamTranscoder` string, required
    - `templatesInUse` string, required
    - `licensesInUse` integer, required
    - `saveFieldList` string[]
  - `clientStreamWriteAccess` string, required
  - `repeaterQueryString` string, required
  - `drmConfig` DRMConfig, required
    - `buyDRMProtectMpegDashStreaming` boolean, required
    - `serverName` string, required
    - `buyDRMProtectCupertinoStreaming` boolean, required
    - `version` string, required
    - `verimatrixCupertinoKeyServerPort` integer, required
    - `verimatrixSmoothKeyServerPort` integer, required
    - `verimatrixStreamMaps` VerimatrixStreamMapsConfig, required
      - `filename` string, required
      - `serverName` string, required
      - `saveFieldList` string[]
      - `version` string, required
      - `verimatrixStreamMaps` string[], required
    - `verimatrixSmoothKeyServerIpAddress` string, required
    - `licenseType` string, required
    - `verimatrixCupertinoKeyServerIpAddress` string, required
    - `buyDRMProtectSmoothStreaming` boolean, required
    - `buyDRMUserKey` string, required
    - `inUse` boolean, required
    - `ezDRMUsername` string, required
    - `verimatrixProtectSmoothStreaming` boolean, required
    - `buyDRMStreamMaps` BuyDRMStreamMapsConfig, required
      - `buyDRMStreamMaps` BuyDRMStreamMapConfig[], required
        - `contentID` string, required
        - `serverName` string, required
        - `keyID` string, required
        - `saveFieldList` string[]
        - `mediaID` string, required
        - `version` string, required
        - `streamName` string, required
        - `order` integer, required
      - `buyDRMStreamNameMapFile` string, required
      - `serverName` string, required
      - `saveFieldList` string[]
      - `version` string, required
    - `verimatrixCupertinoVODPerSessionKeys` boolean, required
    - `saveFieldList` string[]
    - `ezDRMPassword` string, required
    - `verimatrixProtectCupertinoStreaming` boolean, required
    - `cupertinoEncryptionAPIBased` boolean, required
  - `version` string, required
  - `modules` ModulesConfig, required
    - `moduleList` ModuleConfig[], required
      - `name` string, required
      - `serverName` string, required
      - `description` string, required
      - `saveFieldList` string[]
      - `version` string, required
      - `class` string, required
      - `order` integer, required
    - `serverName` string, required
    - `saveFieldList` string[]
    - `version` string, required
  - `srtListenerAuthenticationMode` string, required
  - `maxRTCPWaitTime` integer, required
  - `securityConfig` SecurityConfig, required
    - `playMaximumConnections` integer, required
    - `publishBlockDuplicateStreamNames` boolean, required
    - `publishIPWhiteList` string, required
    - `playAuthenticationMethod` string, required
    - `serverName` string, required
    - `clientStreamWriteAccess` string, required
    - `playIPWhiteList` string, required
    - `publishRequirePassword` boolean, required
    - `playIPBlackList` string, required
    - `version` string, required
    - `secureTokenVersion` integer, required
    - `publishPasswordFile` string, required
    - `publishValidEncoders` string, required
    - `secureTokenQueryParametersPrefix` string, required
    - `secureTokenUseTEAForRTMP` boolean, required
    - `publishAuthenticationMethod` string, required
    - `secureTokenHashAlgorithm` string, required
    - `publishIPBlackList` string, required
    - `playRequireSecureConnection` boolean, required
    - `secureTokenOriginSharedSecret` string, required
    - `saveFieldList` string[]
    - `secureTokenIncludeClientIPInHash` boolean, required
    - `publishRTMPSecureURL` string, required
    - `secureTokenSharedSecret` string, required
  - `dvrConfig` DVRConfig, required
    - `windowDuration` integer, required
    - `dvrMediaCacheEnabled` boolean, required
    - `dvrEnable` boolean, required
    - `startRecordingOnStartup` boolean, required
    - `serverName` string, required
    - `store` string, required
    - `version` string, required
    - `recorders` string, required
    - `dvrOnlyStreaming` boolean, required
    - `httpRandomizeMediaName` boolean, required
    - `licenseType` string, required
    - `dvrEncryptionSharedSecret` string, required
    - `inUse` boolean, required
    - `archiveStrategy` string, required
    - `storageDir` string, required
    - `saveFieldList` string[]
  - `applicationTimeout` integer, required
  - `name` string, required

## Response `200`

Successful response

## Other responses

- `400` — Bad request
- `401` — Unauthorized
- `402` — Payment Required
- `404` — Not found
- `415` — Unsupported Media Type
- `500` — Internal server error

---

[API](https://skmtc.net/wowza/apis/wowza-streaming-engine-rest-api.md) · [All operations](https://skmtc.net/wowza/apis/wowza-streaming-engine-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/wowza/wowza-streaming-engine-rest-api/revisions/f2200a734783/schema)
