Assistants

Create a new assistant test

Creates a comprehensive test configuration for evaluating AI assistant performance

post/ai/assistants/tests

Headers

Idempotency-Keystring

Optional opaque, unquoted key for safely retrying the same logical request. Keys must contain 1 to 255 letters, numbers, hyphens, or underscores. Generate a unique UUID v4 for each operation and reuse it only when retrying that operation with the same request. Invalid headers—including duplicate, empty, malformed, or overlong values—return 400 with error code 10015. A request already in progress with the same key returns 409; reusing the key with a different request returns 422. Only successful responses are replayed, for up to 24 hours. Do not include sensitive data in the key.

Request body

namestring required

A descriptive name for the assistant test. This will be used to identify the test in the UI and reports.

descriptionstring

Optional detailed description of what this test evaluates and its purpose. Helps team members understand the test's objectives.

telnyx_conversation_channel'phone_call' | 'web_call' | 'sms_chat' | 'web_chat'
destinationstring required

The target destination for the test conversation. Format depends on the channel: phone number for SMS/voice, webhook URL for web chat, etc.

max_duration_secondsinteger

Maximum duration in seconds that the test conversation should run before timing out. If not specified, uses system default timeout.

test_suitestring

Optional test suite name to group related tests together. Useful for organizing tests by feature, team, or release cycle.

instructionsstring required

Detailed instructions that define the test scenario and what the assistant should accomplish. This guides the test execution and evaluation.

Example request

{
  "name": "Customer Support Bot Test",
  "destination": "+15551234567",
  "instructions": "Act as a frustrated customer who received a damaged product. Ask for a refund and escalate if not satisfied with the initial response.",
  "rubric": [
    {
      "criteria": "Assistant responds within 30 seconds",
      "name": "Response Time"
    },
    {
      "criteria": "Provides correct product information",
      "name": "Accuracy"
    }
  ]
}

Response

Returns the created test configuration with assigned test ID

test_idstring uuid required

Unique identifier for the assistant test.

namestring required

Human-readable name of the test.

descriptionstring

Detailed description of the test's purpose and scope.

telnyx_conversation_channel'phone_call' | 'web_call' | 'sms_chat' | 'web_chat' required
destinationstring

Target destination for test conversations.

max_duration_secondsinteger

Maximum allowed duration for test execution in seconds.

test_suitestring

Test suite grouping for organizational purposes.

instructionsstring

Detailed test scenario instructions and objectives.

created_atstring date-time required

Timestamp when the test was created.

Example response

{
  "test_id": "123e4567-e89b-12d3-a456-426614174000",
  "name": "Customer Support Bot Test",
  "rubric": [
    {
      "criteria": "Responds within 30 seconds",
      "name": "Response Time"
    }
  ],
  "created_at": "2024-01-16T09:00:00Z"
}

Changes

Changed in 2 of the 99 revisions of this API.136

    • ●

      added the new 10011 enum value to the // response property for the response status

      response-property-enum-value-added

    • ●

      added the new domain_graduation_limit_exceeded enum value to the // response property for the response status

      response-property-enum-value-added

  • a6a61a29ecdd116See the full diff
    • ▲

      the response's body type changed from object to no type for status

      response-body-type-changed

    • ●

      removed the optional property from the response with the status

      response-optional-property-removed

    • ○

      added the new optional header request parameter Idempotency-Key

      new-optional-request-parameter

    • ○

      added to the response body anyOf list for the response status

      response-body-any-of-added

    • ○

      added the non-success response with the status

      response-non-success-status-added

    • ○

      added the non-success response with the status

      response-non-success-status-added

    • ○

      added the non-success response with the status

      response-non-success-status-added

    • ○

      added the non-success response with the status

      response-non-success-status-added

    This revision also has 34 changes that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog

Of the 99 revisions, 1 has no diff computed.