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

# Update Agent

> Update agent-level fields (name, description, status, public access and
session-override policy).



## OpenAPI

````yaml patch /v1/agent/agents/{agent_id}
openapi: 3.1.0
info:
  title: FishAudio OpenAPI
  version: '1'
servers:
  - description: Fish Audio API
    url: https://api.fish.audio
security: []
tags: []
paths:
  /v1/agent/agents/{agent_id}:
    patch:
      tags:
        - Agents
      summary: Update Agent
      description: >-
        Update agent-level fields (name, description, status, public access and

        session-override policy). Omitted fields keep their value. Conversation

        behavior — voice, prompt, recording and the rest — is draft
        configuration:

        use `PATCH /v1/agent/agents/{agent_id}/config`.
      parameters:
        - in: path
          name: agent_id
          description: ''
          required: true
          schema:
            title: Agent Id
            type: string
          deprecated: false
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PublicAgentUpdatePayload'
      responses:
        '200':
          description: Request fulfilled, document follows
          headers: {}
          content:
            application/json:
              schema:
                properties:
                  agent_id:
                    title: Agent Id
                    type: string
                  workspace_id:
                    title: Workspace Id
                    type: string
                  name:
                    title: Name
                    type: string
                  description:
                    default: ''
                    title: Description
                    type: string
                  status:
                    enum:
                      - active
                      - archived
                    title: Status
                    type: string
                  publication_state:
                    description: >-
                      `live` once at least one version is published; `draft`
                      agents cannot take sessions yet.
                    enum:
                      - live
                      - draft
                    title: Publication State
                    type: string
                  public_enabled:
                    default: false
                    title: Public Enabled
                    type: boolean
                  allowed_origins:
                    items:
                      type: string
                    title: Allowed Origins
                    type: array
                  overrides_allowed:
                    items:
                      enum:
                        - first_message
                        - system_prompt
                        - voice_id
                        - language
                      type: string
                    title: Overrides Allowed
                    type: array
                  created_at:
                    format: date-time
                    title: Created At
                    type: string
                  updated_at:
                    format: date-time
                    title: Updated At
                    type: string
                required:
                  - agent_id
                  - workspace_id
                  - name
                  - status
                  - publication_state
                  - created_at
                  - updated_at
                type: object
        '401':
          description: No permission -- see authorization schemes
          headers: {}
          content:
            application/json:
              schema:
                properties:
                  status:
                    title: Status
                    type: integer
                  message:
                    title: Message
                    type: string
                required:
                  - status
                  - message
                type: object
        '404':
          description: Nothing matches the given URI
          headers: {}
          content:
            application/json:
              schema:
                properties:
                  status:
                    title: Status
                    type: integer
                  message:
                    title: Message
                    type: string
                required:
                  - status
                  - message
                type: object
        '422':
          description: ''
          headers: {}
          content:
            application/json:
              schema:
                properties:
                  status:
                    title: Status
                    type: integer
                  message:
                    title: Message
                    type: string
                required:
                  - status
                  - message
                type: object
      security:
        - BearerAuth: []
components:
  schemas:
    PublicAgentUpdatePayload:
      additionalProperties: false
      properties:
        name:
          anyOf:
            - maxLength: 120
              minLength: 1
              type: string
            - type: 'null'
          default: null
          title: Name
        description:
          anyOf:
            - maxLength: 2000
              type: string
            - type: 'null'
          default: null
          title: Description
        status:
          anyOf:
            - enum:
                - active
                - archived
              type: string
            - type: 'null'
          default: null
          title: Status
        public_enabled:
          anyOf:
            - type: boolean
            - type: 'null'
          default: null
          description: >-
            Allow keyless session creation from the browser SDK, gated by
            allowed_origins.
          title: Public Enabled
        allowed_origins:
          anyOf:
            - items:
                type: string
              maxItems: 20
              type: array
            - type: 'null'
          default: null
          title: Allowed Origins
        overrides_allowed:
          anyOf:
            - items:
                enum:
                  - first_message
                  - system_prompt
                  - voice_id
                  - language
                type: string
              maxItems: 8
              type: array
            - type: 'null'
          default: null
          description: >-
            Which session-creation overrides callers may use. An empty list
            rejects all overrides.
          title: Overrides Allowed
      title: PublicAgentUpdatePayload
      type: object
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer

````