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

# Update Test Profile

> Update a test profile



## OpenAPI

````yaml patch /test_framework/v1/test-profiles/{id}/
openapi: 3.1.0
info:
  title: Cekura API
  version: v1
  description: >-
    Complete API documentation for the Cekura platform. This API provides
    endpoints for testing, observing, and evaluating AI voice agents — including
    managing agents, running evaluators, defining metrics, and analyzing call
    quality.
servers:
  - url: https://api.cekura.ai
security: []
paths:
  /test_framework/v1/test-profiles/{id}/:
    patch:
      tags:
        - test_framework
      description: Update a test profile
      operationId: test-profiles-partial-update
      parameters:
        - in: path
          name: id
          schema:
            type: integer
          description: A unique integer value identifying this ai agent test profile.
          required: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedSchemaPostAIAgentTestProfileExternal'
            examples:
              PartialUpdateTestProfile:
                value:
                  name: <string>
                  information:
                    main_agent_variables:
                      user_id: <string>
                      account_id: <string>
                    testing_agent_variables:
                      user_name: <string>
                      user_email: <string>
                summary: Partial Update Test Profile
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedSchemaPostAIAgentTestProfileExternal'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedSchemaPostAIAgentTestProfileExternal'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AIAgentTestProfile'
              examples:
                PartialUpdateTestProfileResponse:
                  value:
                    id: 123
                    agent: 123
                    name: <string>
                    information:
                      main_agent_variables:
                        user_id: <string>
                        account_id: <string>
                      testing_agent_variables:
                        user_name: <string>
                        user_email: <string>
                  summary: Partial Update Test Profile Response
          description: ''
      security:
        - api_key: []
components:
  schemas:
    PatchedSchemaPostAIAgentTestProfileExternal:
      type: object
      properties:
        agent:
          type:
            - integer
            - 'null'
          description: ID of the agent. Either agent or project must be provided.
        project:
          type:
            - integer
            - 'null'
          description: ID of the project. Either agent or project must be provided.
        name:
          type: string
          description: Name of the test profile
        information:
          type: object
          additionalProperties: {}
          description: >-
            Test profile information. Use the sectioned shape —
            `main_agent_variables` (sent to the agent under test as dynamic
            variables at call time) and `testing_agent_variables`
            (persona/context used by the simulated caller, not sent to the
            agent). Legacy flat dicts (no section keys) are still accepted and
            delivered to both sides for backward compatibility. Example:
            {"main_agent_variables": {"user_id": "U-42"},
            "testing_agent_variables": {"customer_name": "John Doe"}}.
    AIAgentTestProfile:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        project:
          type:
            - integer
            - 'null'
        agent:
          type:
            - integer
            - 'null'
        agent_name:
          type: string
          readOnly: true
          description: |

            Name of the agent associated with this test profile
            Example: `"Customer Support Agent"`
        name:
          type: string
          maxLength: 255
        information:
          description: >

            Variables for the test profile, split by which agent receives them.

            ```json

            {
                "main_agent_variables": {"user_id": "U-123"},
                "testing_agent_variables": {"user_name": "John Doe", "user_email": "john.doe@example.com"}
            }

            ```

            `main_agent_variables` are sent to the agent under test as dynamic
            variables. `testing_agent_variables` shape the simulated caller's
            persona. A legacy flat dict (no section keys) is accepted for
            backward compatibility and is sent to both agents.
        created_by:
          type: integer
          readOnly: true
          description: ID of the user who created this test profile
        last_updated_by:
          type: integer
          readOnly: true
          description: ID of the user who last updated this test profile
        created_at:
          type: string
          format: date-time
          readOnly: true
          description: Timestamp when the test profile was created
        updated_at:
          type: string
          format: date-time
          readOnly: true
          description: Timestamp when the test profile was last updated
      required:
        - name
  securitySchemes:
    api_key:
      type: apiKey
      name: X-CEKURA-API-KEY
      in: header
      description: >-
        API Key Authentication. It should be included in the header of each
        request.

````