# Update a call in progress

This method is used to manage ongoing, connected calls. This method uses SVAML in the request body to perform various tasks related to the call. For more information about SVAML, see the Callback API documentation.

This method can only be used for calls that originate from or terminate to PSTN or SIP networks.

Endpoint: PATCH /calling/v1/calls/id/{callId}
Version: 1.0.1
Security: Basic, Signed

## Path parameters:

  - `callId` (string, required)
    The unique identifier of the call. This value is generated by the system.
    Example: "4398599d1ba84ef3bde0a82dfb61abed"

## Request fields (application/json):

  - `instructions` (array) — one of (discriminator: name):
    The collection of instructions that can perform various tasks during the call. You can include as many instructions as necessary.
    - playFiles:
      - `name` (string, required)
        The name property. Must have the value playFiles.
        Enum: "playFiles"
      - `ids` (array, required)
        The IDs of the files which will be played. These can be a URL to a file, SSML commands using the #ssml[] element, or text using the #tts[] element.
        Example: ["#ssml[Thank you for calling Sinch!]"]
      - `locale` (string)
        If using SSML or TTS, this is a required field. The voice and language you want to use for the text-to-speech message. This can either be defined by the ISO 639 locale and language code or by specifying a particular voice. Supported languages and voices are detailed [here](https://developers.sinch.com/docs/voice/api-reference/voice-locales).
        Example: "en-US"
    - say:
      - `name` (string, required)
        The name property. Must have the value say.
        Enum: "say"
      - `text` (string)
        Contains the message that will be spoken. Default maximum length is 600 characters. To change this limit, please contact support.
        Example: "Hello, thank you for calling Sinch!"
      - `locale` (string)
        The voice and language you want to use for the text-to-speech message. This can either be defined by the ISO 639 locale and language code or by specifying a particular voice. Supported languages and voices are detailed [here](https://developers.sinch.com/docs/voice/api-reference/voice-locales).
        Example: "en-US"
    - sendDtmf:
      - `name` (string, required)
        The name property. Must have the value sendDtmf.
        Enum: "sendDtmf"
      - `value` (string)
        A string that determines the DTMF tones to play to the callee when the call is picked up.
Valid characters are: 0-9, #, and w. w renders a 500ms pause. For example, the string ww1234#w#, plays a 1 second pause, the DTMF tones for 1, 2, 3, 4, and #, followed by a 500ms pause and finally the # tone.
This is useful if the callout destination requires a conference PIN code or an extension. If there is a calling party, it will hear progress while the DTMF is sent.
        Example: "ww1234#w#"
    - setCookie:
      - `name` (string, required)
        The name property. Must have the value setCookie.
        Enum: "setCookie"
      - `key` (string)
        The name of the cookie you want to set.
        Example: "cookie_name"
      - `value` (string)
        The value of the cookie you want to set.
        Example: "cookie_value"
    - answer:
      - `name` (string, required)
        The name property. Must have the value answer.
        Enum: "answer"
    - startRecording:
      - `name` (string, required)
        The name property. Must have the value startRecording.
        Enum: "startRecording"
      - `options` (object)
      - `options.destinationUrl` (string)
      - `options.credentials` (string)
      - `options.format` (string)
      - `options.notificationEvents` (boolean)
      - `options.transcriptionOptions` (object)
      - `options.transcriptionOptions.enabled` (boolean)
      - `options.transcriptionOptions.locale` (string)
    - stopRecording:
      - `name` (string, required)
        The name property. Must have the value stopRecording.
        Enum: "stopRecording"

  - `action` (object) — one of (discriminator: name):
    The action that will control the call. Each SVAML object can only include one action.
    - hangup:
      - `name` (string, required)
        The name property. Must have the value hangup.
        Enum: "hangup"
    - continue:
      - `name` (string, required)
        The name property. Must have the value continue.
        Enum: "continue"
    - park:
      - `name` (string, required)
        The name property. Must have the value park.
        Enum: "park"
      - `locale` (string)
        The voice and language you want to use for the text-to-speech message. This can either be defined by the ISO 639 locale and language code or by specifying a particular voice. Supported languages and voices are detailed [here](https://developers.sinch.com/docs/voice/api-reference/voice-locales).
        Example: "en-US"
      - `introPrompt` (string)
        That prompt that is played when the call is first answered. You can use text-to-speech using the #tts[] element, SSML commands using the #ssml[] element.
        Example: "#tts[Welcome]"
      - `holdPrompt` (string)
        The prompt that is played on repeat until the call is unparked or the until the maxDuration value is reached. You can use text-to-speech using the #tts[] element, SSML commands using the #ssml[] element.
        Example: "#tts[Thank you for your patience, your call is very important to us.]"
      - `maxDuration` (integer)
        The maximum amount of time in seconds that the holdPrompt will be played.
        Example: 180


## Response 204 fields
