> ## Documentation Index
> Fetch the complete documentation index at: https://vida.io/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Replace saved agent version

> Replaces one saved version with a complete agent configuration snapshot. Read the existing snapshot first and preserve settings you do not intend to change.



## OpenAPI

````yaml post /api/v2/agent/{agentConfigId}/versions/{versionId}
openapi: 3.0.0
info:
  version: 2.0.0
  title: Vida API
  description: Vida API Documentation
servers:
  - url: https://api.vida.dev
    description: Vida Production
    variables:
      baseUrl:
        default: api.vida.dev
        description: Production API Root
security: []
tags:
  - name: Agents
  - name: Inbound Email
    description: Control which senders may create inbound email work for an Agent.
  - name: Features
    description: Inspect capabilities available within an account hierarchy.
  - name: Conversation Logs
    description: Query conversation activity and calculate account-level metrics.
  - name: Computer Agents
    description: Set up, configure, inspect, and manage Vida Computer Agents.
  - name: Computer Agent Sessions
    description: View and reset Computer Agent sessions.
  - name: Accounts
  - name: Agent Templates
    description: Create, manage, and apply reusable Agent configurations.
paths:
  /api/v2/agent/{agentConfigId}/versions/{versionId}:
    post:
      tags:
        - Agents
      summary: Replace saved agent version
      description: >-
        Replaces one saved version with a complete agent configuration snapshot.
        Read the existing snapshot first and preserve settings you do not intend
        to change.
      parameters:
        - name: agentConfigId
          in: path
          required: true
          schema:
            type: string
          description: Live agent configuration ID that owns this version.
        - name: versionId
          in: path
          required: true
          schema:
            type: string
          description: Epoch-ms score identifying the snapshot
          example: 1750195000123
        - name: targetAccountId
          in: query
          description: Account that owns this version.
          required: true
          schema:
            type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - snapshot
              properties:
                snapshot:
                  $ref: '#/components/schemas/AgentConfigurationWrite'
      responses:
        '200':
          description: Version replaced
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: true
                  versionId:
                    type: integer
                    example: 1750195000123
      security:
        - apiKeyAuth: []
components:
  schemas:
    AgentConfigurationWrite:
      type: object
      description: >-
        Writable staging configuration. Omitted fields retain their current
        values.
      properties:
        title:
          type: string
          description: Display name for the agent.
        description:
          type: string
          description: Short description of the agent.
        brandName:
          type: string
          description: Brand name the agent represents.
        agentInstructions:
          type: string
          description: Primary instructions for voice, messaging, and Computer Agent work.
        welcomeMessage:
          type: string
          description: >-
            Greeting used at the beginning of a conversation. Prefix with
            prompt: to generate the greeting from instructions.
        links:
          type: array
          items:
            type: string
            format: uri
          description: Web pages supplied as agent knowledge.
        keywords:
          type: array
          items:
            type: string
          description: Searchable labels for the agent.
        agentModel:
          type: string
          description: Model identifier returned by GET /api/v2/models/supported.
        agentThinking:
          type: string
          enum:
            - low
          nullable: true
          description: Reasoning budget for supported models; null disables it.
        agentThinkingModel:
          type: string
          nullable: true
          description: >-
            Model used by Pause & Think and optional post-conversation
            reasoning.
        postConvoForceThinking:
          type: boolean
          description: >-
            Use the thinking model for post-conversation work when the primary
            model is not reasoning-enabled.
        timezone:
          type: string
          description: IANA timezone used for scheduling and time-sensitive instructions.
          example: America/Chicago
        agentVoice:
          type: string
          description: Exact voice ID returned by GET /api/v2/agent/voices.
        agentTtsEngine:
          type: string
          nullable: true
          description: Text-to-speech engine used when speech-to-speech mode is disabled.
        agentLang:
          type: string
          enum:
            - en-US
            - multi
            - es-MX
            - es-ES
            - es-US
          description: >-
            Primary spoken language. Use multi only with a compatible voice and
            speech mode.
        agentS2SEngine:
          type: string
          enum:
            - openai
            - gemini
          nullable: true
          description: >-
            Speech-to-speech engine; null uses separate speech recognition and
            synthesis.
        agentSttEngine:
          type: string
          enum:
            - google
            - deepgram
            - deepgramflux
            - openai
          description: >-
            Speech recognition engine used when speech-to-speech mode is
            disabled.
        agentSttSmartFormatting:
          type: boolean
          description: >-
            Apply smart formatting when supported by the selected speech
            recognition engine.
        actions:
          type: array
          items:
            type: object
            required:
              - name
            properties:
              name:
                type: string
                description: Function identifier returned by GET /api/v2/agent/functions.
              instructions:
                type: string
                description: When and how the agent should use this function.
          description: Functions enabled for this agent.
        reportingFields:
          type: array
          items:
            type: object
            required:
              - key
              - label
              - instructions
              - values
            properties:
              key:
                type: string
                description: Stable field key used in conversation results.
              label:
                type: string
                description: Human-readable field name.
              instructions:
                type: string
                description: How the agent should determine the field value.
              values:
                type: object
                required:
                  - kind
                additionalProperties: false
                properties:
                  kind:
                    type: string
                    enum:
                      - boolean
                      - choices
                      - number
                      - text
                    description: Value type the agent must return for this field.
                  choices:
                    type: array
                    minItems: 1
                    uniqueItems: true
                    items:
                      type: string
                      minLength: 1
                    description: Allowed values when kind is choices; omit for other kinds.
          description: Agent-level structured fields collected after a conversation.
        apps:
          type: array
          items:
            type: object
            required:
              - appId
              - version
              - instructions
            properties:
              appId:
                type: string
                description: App identifier returned by GET /api/v2/apps.
              version:
                type: string
                description: Installed app version.
              instructions:
                type: string
                description: When and how the agent should use the app.
              enabled:
                type: boolean
                default: true
                description: Whether this app assignment is enabled for the agent.
          description: Installed apps assigned to this agent.
        skills:
          type: array
          items:
            type: object
            required:
              - slug
              - instructions
            properties:
              slug:
                type: string
                description: Computer Agent skill identifier.
              instructions:
                type: string
                description: Agent-specific instructions for using the skill.
          description: Computer Agent skills assigned at publish time.
        computerDelegateAccountId:
          type: integer
          nullable: true
          description: >-
            Account ID of the Computer Agent that performs delegated Computer
            work.
        heartbeatInstructions:
          type: string
          description: Work the Computer Agent should perform during scheduled check-ins.
        heartbeatEvery:
          type: string
          description: Heartbeat interval such as 15m, 1h, or 1h30m.
        heartbeatConfig:
          type: object
          description: >-
            Advanced Computer Agent heartbeat settings. This object replaces the
            previous advanced settings when supplied, so preserve fields you do
            not intend to remove.
          additionalProperties: false
          properties:
            activeHours:
              type: object
              required:
                - start
                - end
              additionalProperties: false
              description: Daily window in which scheduled heartbeat work may start.
              properties:
                start:
                  type: string
                  pattern: ^([01]\d|2[0-3]):[0-5]\d$
                  description: Window start in 24-hour HH:MM format.
                  example: '08:00'
                end:
                  type: string
                  pattern: ^(?:([01]\d|2[0-3]):[0-5]\d|24:00)$
                  description: Window end in 24-hour HH:MM format; 24:00 is allowed.
                  example: '18:00'
                timezone:
                  type: string
                  description: >-
                    IANA timezone, user, or local. Omit to use the Computer
                    Agent default.
                  example: America/Chicago
            model:
              type: string
              minLength: 1
              description: >-
                Model label attached to heartbeat work. This does not replace
                the Agent configuration's agentModel.
            session:
              type: string
              minLength: 1
              description: Session identifier used for heartbeat work.
            target:
              type: string
              minLength: 1
              description: Delivery target type or channel selected for heartbeat results.
            to:
              type: string
              minLength: 1
              description: Destination within the selected heartbeat target.
            accountId:
              type: string
              minLength: 1
              description: >-
                Channel account identifier used for heartbeat delivery when a
                channel has multiple accounts.
            directPolicy:
              type: string
              enum:
                - allow
                - block
              description: >-
                Whether heartbeat results may be delivered to direct-message
                destinations.
            includeReasoning:
              type: boolean
              description: Include model reasoning in heartbeat output when supported.
            includeSystemPromptSection:
              type: boolean
              description: >-
                Include the Computer Agent system-prompt section in heartbeat
                context.
            ackMaxChars:
              type: integer
              description: >-
                Maximum length treated as a simple heartbeat acknowledgement
                rather than a result that should be delivered.
              minimum: 0
            suppressToolErrorWarnings:
              type: boolean
              description: >-
                Suppress automatic raw tool-error notices while still allowing
                the agent to report an unrecovered problem intentionally.
            timeoutSeconds:
              type: integer
              description: Maximum heartbeat execution time in seconds.
              minimum: 1
            lightContext:
              type: boolean
              description: Use a smaller context for heartbeat work.
            isolatedSession:
              type: boolean
              description: >-
                Run heartbeat work in a separate session from the agent's main
                conversation.
            skipWhenBusy:
              type: boolean
              description: Skip a scheduled heartbeat while the agent is already busy.
        backgroundAudio:
          oneOf:
            - type: string
              format: uri
            - type: object
              required:
                - url
              properties:
                url:
                  type: string
                  format: uri
                loop:
                  type: boolean
                  default: true
                gain:
                  type: integer
                  default: 0
                startAfterGreeting:
                  type: boolean
                  default: true
                track:
                  type: string
                  enum:
                    - bg
                    - fx
          description: Optional HTTP(S) audio played during calls.
        waitOnAnswer:
          type: integer
          description: Milliseconds to wait before speaking the greeting.
          minimum: 0
        waitToGreet:
          type: boolean
          description: Wait for the caller to speak before delivering the greeting.
        postAnswerDtmf:
          type: string
          description: DTMF digits sent immediately after an outbound call is answered.
        interruptionWordCount:
          type: integer
          description: Words required before caller speech interrupts the agent.
          minimum: 0
        interruptionMinimumSpeakingTime:
          type: number
          description: Seconds the agent must speak before interruption is allowed.
          minimum: 0
        speakingTimeout:
          type: integer
          description: Milliseconds of silence used to detect the end of caller speech.
          minimum: 0
        speechProcessingDelay:
          type: integer
          description: Milliseconds to wait before sending recognized speech to the model.
          minimum: 0
        speechProcessingDelayInterruptionStep:
          type: integer
          description: Milliseconds added to speech processing delay after an interruption.
          minimum: 0
        speechProcessingDelayMaxMultiplier:
          type: integer
          description: Maximum interruption multiplier applied to speech processing delay.
          minimum: 0
        callerResponseTimeout:
          type: number
          description: Seconds of caller silence before the agent checks in.
          minimum: 0
        callerResponseTimeoutHangupCounter:
          type: integer
          description: Unanswered check-ins before the agent ends the call.
          minimum: 0
        ignoreSpeech:
          type: array
          items:
            type: string
          description: Caller phrases that should not be treated as a response.
        noContactInjection:
          type: boolean
          description: Exclude the caller contact record from agent context.
        noConvoHistory:
          type: boolean
          description: Exclude prior conversation summaries from agent context.
        autoRecordingNotification:
          type: string
          enum:
            - 'true'
            - 'false'
            - always
          description: 'Recording notice policy: jurisdiction-based, never, or every call.'
        recordingNotificationPhrase:
          type: string
          description: Phrase spoken when a recording notice is required.
        preAnswerRingTime:
          type: integer
          description: Seconds to ring before answering an inbound call.
          minimum: 0
          maximum: 60
          nullable: true
        preAnswerSkipProcessingResults:
          type: boolean
          description: >-
            Place raw Pre Answer results directly into context without an
            additional model pass.
        useAgentNumberForTransfers:
          type: boolean
          description: Use the agent phone number as caller ID for transfers.
        confirmTransfers:
          type: boolean
          description: Require the recipient to confirm before completing a transfer.
        monitorTransfers:
          type: boolean
          description: Continue monitoring the call after a transfer.
        attendedTransfers:
          type: boolean
          description: Keep the agent with the caller while the recipient is reached.
        attendedTransferBridgeTrigger:
          type: string
          nullable: true
          description: Recipient response required to bridge an attended transfer.
        attendedTransferCheckInTimeout:
          type: integer
          description: Seconds before the agent checks in during an attended transfer.
          minimum: 0
        transferConfirmTimeout:
          type: integer
          description: Seconds to wait for transfer confirmation.
          minimum: 0
        announceTransferConnecting:
          type: boolean
          description: Announce that a transfer is being connected.
        announceTransferConnected:
          type: boolean
          description: Announce when a transfer has connected.
        preTransferNotificationStart:
          type: string
          description: Message spoken when Pre Transfer work begins.
        preTransferNotificationEnd:
          type: string
          description: Message spoken when Pre Transfer work completes.
        enableRingback:
          type: boolean
          description: Play ringback while the agent is connecting an outbound call.
        enableTransferRingback:
          type: boolean
          description: Play ringback while a transfer is connecting.
        cnamAutoRejectRegex:
          type: string
          nullable: true
          description: Pattern used to reject matching inbound caller names before answer.
        cnamAutoRejectCode:
          type: integer
          description: SIP response code used when the reject pattern matches.
        cnamAutoTransferRegex:
          type: string
          nullable: true
          description: >-
            Pattern used to transfer matching inbound caller names before
            answer.
        cnamAutoTransferDestination:
          type: string
          nullable: true
          description: >-
            Phone number, extension, or PBX destination used by automatic
            transfer.
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: query
      name: token
      description: Vida API Token

````