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

# Update an Agent's Settings

> Update a base agent's settings.

<RequestExample>
  ```bash cURL theme={null}
  curl --request PUT \
    --url "https://api.roe-ai.com/v1/agents/YOUR_AGENT_ID/" \
    --header "Authorization: Bearer YOUR_API_KEY" \
    --header "Content-Type: application/json" \
    --data '{
      "name": "Updated Agent Name",
      "description": "Updated description"
    }'
  ```
</RequestExample>


## OpenAPI

````yaml PUT /v1/agents/{agent_id}/
openapi: 3.1.0
info:
  title: Roe AI API
  version: 1.0.0
  description: Complete API documentation for Roe AI platform
servers:
  - url: https://api.roe-ai.com
    description: Production API
security: []
paths:
  /v1/agents/{agent_id}/:
    put:
      tags:
        - v1
      summary: Update a base agent.
      description: Update a base agent's settings.
      operationId: v1_agents_update
      parameters:
        - in: path
          name: agent_id
          schema:
            type: string
            format: uuid
          description: A UUID string identifying this base agent.
          required: true
        - name: organization_id
          in: query
          required: false
          schema:
            type: string
            format: uuid
          description: >-
            Organization ID. This is required for access control. It can be
            provided via query or request body depending on the endpoint.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BaseAgentUpdateRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseAgent'
          description: Agent updated successfully.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Invalid name provided.
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: >-
            Access to the Agents feature is forbidden or permission to access
            this agent denied.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Agent not found.
components:
  schemas:
    BaseAgentUpdateRequest:
      type: object
      description: Serializer for updating BaseAgent
      properties:
        name:
          type: string
          minLength: 1
          description: New name for the agent. Must not be empty if provided.
        disable_cache:
          type: boolean
          description: Whether to disable job cache fetching for this agent.
        cache_failed_jobs:
          type: boolean
          description: Whether to cache failed jobs for this agent.
    BaseAgent:
      type: object
      description: Serializer for BaseAgent (agent config)
      properties:
        id:
          type: string
          format: uuid
          readOnly: true
        creator:
          oneOf:
            - $ref: '#/components/schemas/UserInfo'
            - type: 'null'
        created_at:
          type: string
          format: date-time
          readOnly: true
        name:
          type: string
          maxLength: 200
          minLength: 1
        disable_cache:
          type: boolean
          description: Whether to disable job cache fetching for this agent.
        cache_failed_jobs:
          type: boolean
          description: Whether to cache failed jobs for this agent.
        organization_id:
          type: string
          format: uuid
          description: Organization ID that owns this agent.
        engine_class_id:
          type: string
          maxLength: 200
        current_version_id:
          type: string
          format: uuid
          readOnly: true
          description: UUID of the current agent version.
        job_count:
          type:
            - integer
            - 'null'
          description: >-
            Job count from annotation, or None when not fetched (use
            /agents/job-stats/).
          readOnly: true
        most_recent_job:
          type: string
          readOnly: true
        engine_name:
          type: string
          description: Engine Display Name
          readOnly: true
        tags:
          type: string
          readOnly: true
      required:
        - cache_failed_jobs
        - created_at
        - current_version_id
        - disable_cache
        - engine_class_id
        - engine_name
        - id
        - job_count
        - most_recent_job
        - name
        - organization_id
        - tags
    ErrorResponse:
      type: object
      properties:
        message:
          type: string
          description: Error message
      required:
        - message
    UserInfo:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        email:
          type: string
          format: email
          title: Email address
          maxLength: 254
        first_name:
          type: string
          maxLength: 150
        last_name:
          type: string
          maxLength: 150
        display_name:
          type: string
          readOnly: true
      required:
        - display_name
        - email
        - id

````