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

# Update an agent



## OpenAPI

````yaml https://apigw.mka1.com/speakeasy.json post /api/v1/agents/{agent_id}
openapi: 3.1.1
info:
  title: MKA1 API
  version: 1.1.0
  description: >-
    The MKA1 API is a RESTful API that provides access to the MKA1 platform.
    Learn how to get started with the API and the TypeScript SDK
    [here](https://mka1.apidocumentation.com/guides/getting-started).
  license:
    name: Proprietary
servers:
  - url: https://apigw.mka1.com
    description: MKA1 API Gateway
  - url: /
    description: Relative server URL (configurable via SDK constructor)
security: []
tags:
  - name: Resource Authorization
    description: >-
      Manage permissions for LLM resources. Create resources, grant/revoke
      permissions, and delete resources. Only resource owners can grant, revoke,
      or delete permissions.
    x-displayName: Resource Authorization
  - name: Embeddings
    description: >-
      Text embedding API endpoints for generating vector representations of
      text. Create semantic embeddings for search, clustering, and similarity
      matching using various embedding models.
    x-displayName: Embeddings
  - name: Feedback
    description: >-
      User feedback API for rating and commenting on chat completions. Collect
      thumbs up/down ratings and detailed feedback to improve model responses
      and track user satisfaction.
    x-displayName: Feedback
  - name: Images
    description: >-
      Image generation API endpoints for creating images from text descriptions.
      Generate images with control over size, quality, and style.
    x-displayName: Images
  - name: MCP Vault
    description: >-
      MCP vault API for storing user-owned MCP server configurations and
      encrypted credentials. Agents reference vault IDs so secrets are resolved
      only at tool execution time.
    x-displayName: MCP Vault
  - name: Speech
    description: >-
      Speech API endpoints for audio processing. Convert text to
      natural-sounding speech (TTS) or transcribe speech to text (STT) in
      different languages.
    x-displayName: Speech
  - name: Usage
    description: >-
      Usage tracking and analytics API for monitoring token consumption, request
      counts, and cost analysis. View detailed statistics per user, model, and
      time period.
    x-displayName: Usage
  - name: Extract
    description: >-
      Structured data extraction API for extracting information from files.
      Define JSON schemas to extract structured data from images, PDFs, and
      documents. Supports reusable schema templates.
    x-displayName: Extract
  - name: Text Classification
    description: >-
      Text classification API for categorizing text into predefined labels. Use
      AI models to classify text content for sentiment analysis, topic
      categorization, and content moderation.
    x-displayName: Text Classification
  - name: Responses
    description: >-
      Agent-powered responses API for creating AI agents with autonomous tool
      usage. Build conversational assistants that can use web search, file
      operations, image generation, code execution, computer use simulation, and
      MCP integrations. Supports background processing, streaming, and real-time
      status tracking.
    x-displayName: Responses
  - name: Files
    description: >-
      File management API for uploading, storing, and managing files with
      automatic expiration and S3 integration. Upload files that can be used
      with Assistants, Vector Stores, and other features. Files are stored in S3
      with metadata tracked in PostgreSQL. Supports automatic cleanup of expired
      files.
    x-displayName: Files
  - name: Vector Stores
    description: >-
      Vector store API for storing and searching documents using embeddings.
      Create vector stores, upload files with automatic chunking and embedding
      generation, and perform semantic search. Files are processed
      asynchronously using Temporal workflows for durability. Supports automatic
      cleanup of expired stores and LanceDB for efficient vector storage.
    x-displayName: Vector Stores
  - name: Conversations
    description: >-
      Conversation management API for storing and retrieving conversation state
      across Response API calls. Create conversations, add items (user messages,
      assistant messages, system messages), and maintain conversation history.
      Supports metadata tracking and multi-turn dialogue state management.
    x-displayName: Conversations
  - name: Guardrails
    description: >-
      AI safety guardrails API for configuring content moderation and security
      policies. Set up ban word lists, prompt injection detection, and system
      prompt leakage prevention. Guardrails apply to all requests from an
      account and can be tested before deployment.
    x-displayName: Guardrails
  - name: Models
    description: >-
      Model listing API for discovering available models. Returns model IDs,
      ownership, and metadata for all registered models in the gateway.
    x-displayName: Models
  - name: Skills
    description: >-
      Skills API for managing versioned bundles of instructions and files
      following the Agent Skills standard. Create, version, and download
      reusable skill packages that include SKILL.md manifests for agent
      environments.
    x-displayName: Skills
  - name: Chat Completions
    description: >-
      **Deprecated: Use the Responses API (`/api/v1/llm/responses`) instead.**
      Chat completion endpoints with support for streaming, tool calls, and
      multiple providers.
    x-deprecated: true
    x-displayName: Chat Completions
  - name: Batches
    x-displayName: Batches
  - name: Evals
    x-displayName: Evals
  - name: Fine-Tuning
    x-displayName: Fine-Tuning
  - name: Memory Stores
    x-displayName: Memory Stores
  - name: Prompts
    x-displayName: Prompts
  - name: Tables
    description: Manage table schemas, data operations, search, and indices.
    x-displayName: Tables
  - name: Text Store
    description: >-
      Manage text stores with hybrid (vector + full-text) search and grouped
      text sets.
    x-displayName: Text Store
  - name: GraphRAG
    description: >-
      Construct and query lightweight knowledge graphs backed by Redis and
      LanceDB.
    x-displayName: GraphRAG
  - name: API Key
    x-displayName: API Key
  - name: Sessions
    description: Create, inspect, access, and terminate sandbox sessions.
    x-displayName: Sessions
  - name: Browser
    description: >-
      Connect to browser sessions through the gateway port proxy. Browser
      sessions expose a Chrome DevTools Protocol endpoint on port 9222.
    x-displayName: Browser
  - name: Execution
    description: Run shell commands and code inside an existing sandbox session.
    x-displayName: Execution
  - name: Workspace
    description: >-
      Inspect the workspace manifest, transfer files or archives, and download
      generated artifacts.
    x-displayName: Workspace
  - name: Agents
    description: Create and manage reusable agent definitions.
    x-displayName: Agents
  - name: Agent Runs
    description: Execute saved agents and inspect persisted run results.
    x-displayName: Agent Runs
  - name: Agent Schedules
    description: Create and manage scheduled or recurring saved agent runs.
    x-displayName: Agent Schedules
  - name: schema-5_other
    x-displayName: other
paths:
  /api/v1/agents/{agent_id}:
    parameters:
      - name: agent_id
        in: path
        required: true
        schema:
          type: string
      - name: X-On-Behalf-Of
        in: header
        required: false
        schema:
          type: string
        description: Optional external end-user identifier forwarded by the API gateway.
    post:
      tags:
        - Agents
      summary: Update an agent
      operationId: updateAgent
      parameters:
        - name: X-On-Behalf-Of
          in: header
          required: false
          schema:
            type: string
          description: Optional external end-user identifier forwarded by the API gateway.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateAgentRequest'
      responses:
        '200':
          description: Updated agent.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Agent'
        '400':
          description: Error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
        '401':
          description: Error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
        '404':
          description: Error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
      security:
        - bearerAuth: []
      x-codeSamples:
        - lang: python
          label: Python (SDK)
          source: |-
            from mka1 import SDK


            with SDK(
                bearer_auth="<YOUR_BEARER_TOKEN_HERE>",
            ) as sdk:

                res = sdk.agents.update_agent(agent_id="<id>", model="functionary-pt")

                # Handle response
                print(res)
        - lang: typescript
          label: Typescript (SDK)
          source: |-
            import { SDK } from "@meetkai/mka1";

            const sdk = new SDK({
              bearerAuth: "<YOUR_BEARER_TOKEN_HERE>",
            });

            async function run() {
              const result = await sdk.agents.updateAgent({
                agentId: "<id>",
                updateAgentRequest: {
                  model: "functionary-pt",
                },
              });

              console.log(result);
            }

            run();
        - lang: csharp
          label: CSharp (SDK)
          source: |-
            using MeetKai.MKA1;
            using MeetKai.MKA1.Types.Components;

            var sdk = new SDK(bearerAuth: "<YOUR_BEARER_TOKEN_HERE>");

            var res = await sdk.Agents.UpdateAgentAsync(
                agentId: "<id>",
                body: new MeetKai.MKA1.Types.Components.UpdateAgentRequest() {
                    Model = "functionary-pt",
                }
            );

            // handle response
components:
  schemas:
    UpdateAgentRequest:
      type: object
      additionalProperties: false
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 120
        description:
          type:
            - string
            - 'null'
          maxLength: 2000
        model:
          type: string
          minLength: 1
          example: functionary-pt
        instructions:
          type:
            - string
            - 'null'
          maxLength: 20000
        tools:
          type: array
          items:
            $ref: '#/components/schemas/ToolDefinition'
        tool_choice:
          $ref: '#/components/schemas/JsonValue'
        parallel_tool_calls:
          type: boolean
        max_tool_calls:
          type:
            - integer
            - 'null'
          minimum: 1
          maximum: 300
        text:
          oneOf:
            - $ref: '#/components/schemas/AgentTextConfiguration'
            - type: 'null'
        reasoning:
          oneOf:
            - $ref: '#/components/schemas/AgentReasoningConfiguration'
            - type: 'null'
        metadata:
          type: object
          additionalProperties:
            type: string
    Agent:
      type: object
      required:
        - object
        - id
        - name
        - description
        - model
        - instructions
        - tools
        - tool_choice
        - parallel_tool_calls
        - max_tool_calls
        - text
        - reasoning
        - metadata
        - created_at
        - updated_at
        - deleted_at
      properties:
        object:
          type: string
          enum:
            - agent
        id:
          type: string
        name:
          type: string
        description:
          type:
            - string
            - 'null'
        model:
          type: string
          example: functionary-pt
        instructions:
          type:
            - string
            - 'null'
        tools:
          type: array
          items:
            $ref: '#/components/schemas/ToolDefinition'
        tool_choice:
          $ref: '#/components/schemas/JsonValue'
        parallel_tool_calls:
          type: boolean
        max_tool_calls:
          type:
            - integer
            - 'null'
        text:
          oneOf:
            - $ref: '#/components/schemas/AgentTextConfiguration'
            - type: 'null'
        reasoning:
          oneOf:
            - $ref: '#/components/schemas/AgentReasoningConfiguration'
            - type: 'null'
        metadata:
          type: object
          additionalProperties:
            type: string
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
        deleted_at:
          type:
            - string
            - 'null'
          format: date-time
    ErrorEnvelope:
      type: object
      required:
        - error
      properties:
        error:
          type: object
          required:
            - message
          properties:
            message:
              type: string
            details:
              oneOf:
                - $ref: '#/components/schemas/JsonValue'
                - type: 'null'
    ToolDefinition:
      oneOf:
        - type: object
          required:
            - type
          properties:
            type:
              type: string
              enum:
                - web_search
                - web_search_2025_08_26
                - web_search_preview
                - web_search_preview_2025_03_11
            search_context_size:
              type: string
              enum:
                - low
                - medium
                - high
            user_location:
              type: object
              additionalProperties: false
              properties:
                type:
                  type: string
                  enum:
                    - approximate
                city:
                  type: string
                country:
                  type: string
                region:
                  type: string
                timezone:
                  type: string
            filters:
              type: object
              additionalProperties: false
              properties:
                allowed_domains:
                  type: array
                  items:
                    type: string
        - type: object
          required:
            - type
            - name
            - parameters
          properties:
            type:
              type: string
              enum:
                - function
            name:
              type: string
            description:
              type: string
            strict:
              type: boolean
            defer_loading:
              type: boolean
            parameters:
              type: object
              additionalProperties:
                $ref: '#/components/schemas/JsonValue'
        - type: object
          required:
            - type
          anyOf:
            - required:
                - server_label
            - required:
                - mcp_server_id
          properties:
            type:
              type: string
              enum:
                - mcp
            server_label:
              type: string
            mcp_server_id:
              type: string
            mcp_credential_id:
              type: string
            server_url:
              type: string
              format: uri
            server_description:
              type: string
            authorization:
              type: string
            require_approval:
              type: string
              enum:
                - always
                - never
            allowed_tools:
              type: array
              items:
                type: string
            headers:
              type: object
              additionalProperties:
                type: string
        - type: object
          required:
            - type
          properties:
            type:
              type: string
              enum:
                - file_search
                - code_interpreter
                - image_generation
                - computer_use_preview
        - type: object
          additionalProperties: false
          required:
            - type
          properties:
            type:
              type: string
              enum:
                - sleep
        - type: object
          additionalProperties: false
          required:
            - type
          properties:
            type:
              type: string
              enum:
                - shell
            environment:
              oneOf:
                - type: object
                  additionalProperties: false
                  required:
                    - type
                  properties:
                    type:
                      type: string
                      enum:
                        - container_auto
                    network_policy:
                      $ref: '#/components/schemas/JsonValue'
                    skills:
                      type: array
                      items:
                        $ref: '#/components/schemas/JsonValue'
                    memory_stores:
                      type: array
                      items:
                        type: object
                        additionalProperties: false
                        required:
                          - store_id
                          - label
                        properties:
                          store_id:
                            type: string
                            minLength: 1
                          label:
                            type: string
                            minLength: 1
                            maxLength: 64
                            pattern: ^(?!\.+$)[A-Za-z0-9._-]+$
                          access:
                            type: string
                            enum:
                              - read_only
                              - read_write
                            default: read_only
                          description:
                            type: string
                            maxLength: 2000
                          instructions:
                            type: string
                            maxLength: 4000
                - type: object
                  additionalProperties: false
                  required:
                    - type
                    - container_id
                  properties:
                    type:
                      type: string
                      enum:
                        - container_reference
                    container_id:
                      type: string
                      minLength: 1
                    network_policy:
                      $ref: '#/components/schemas/JsonValue'
                    skills:
                      type: array
                      items:
                        $ref: '#/components/schemas/JsonValue'
                    memory_stores:
                      type: array
                      items:
                        type: object
                        additionalProperties: false
                        required:
                          - store_id
                          - label
                        properties:
                          store_id:
                            type: string
                            minLength: 1
                          label:
                            type: string
                            minLength: 1
                            maxLength: 64
                            pattern: ^(?!\.+$)[A-Za-z0-9._-]+$
                          access:
                            type: string
                            enum:
                              - read_only
                              - read_write
                            default: read_only
                          description:
                            type: string
                            maxLength: 2000
                          instructions:
                            type: string
                            maxLength: 4000
    JsonValue:
      oneOf:
        - type: string
        - type: number
        - type: integer
        - type: boolean
        - type: 'null'
        - type: array
          items:
            $ref: '#/components/schemas/JsonValue'
        - type: object
          additionalProperties:
            $ref: '#/components/schemas/JsonValue'
    AgentTextConfiguration:
      type: object
      additionalProperties: false
      properties:
        format:
          type: object
          additionalProperties: false
          properties:
            type:
              type: string
              enum:
                - text
                - json_object
        verbosity:
          type: string
          enum:
            - low
            - medium
            - high
    AgentReasoningConfiguration:
      type: object
      additionalProperties: false
      properties:
        effort:
          type: string
          enum:
            - low
            - medium
            - high
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API Key
      description: >-
        Gateway auth: send `Authorization: Bearer <mka1-api-key>`. For
        multi-user server-side integrations, you can also send `X-On-Behalf-Of:
        <external-user-id>`.

````