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

# Ejecutar Compatible con OpenAI 

> Ejecuta un agente de **chat** específico por ID usando la API compatible con OpenAI.

### **Ejemplos de Código**

Vea la documentación del [OpenAI SDK](https://platform.openai.com/docs/libraries) para más información. En este momento, nuestra API solo soporta los parámetros de modelo `temperature` y `messages` (funciones `system`, `user` y `assistant`). Además, el parámetro `tools` es un enum de `string`. Para verificar los parámetros de modelo de un agente específico, consulte el endpoint [Obtener Agente](https://docs.tess.im/es/api/endpoints/agents/get).

<CodeGroup>
  ```http cURL theme={null}
  curl --request POST \
    --url 'https://api.tess.im/agents/{id}/openai/chat/completions' \
    --header 'Authorization: Bearer YOUR_API_KEY' \
    --header 'x-workspace-id: YOUR_WORKSPACE_ID' \
    --header 'Content-Type: application/json' \
    --data '{
      "temperature": "1",
      "model": "tess-5",
      "messages": [{ "role": "user", "content": "hello there!" }],
      "tools": "no-tools",
      "stream": true
    }'
  ```

  ```json Node.js theme={null}
  import OpenAI from 'openai';

  const client = new OpenAI({
    baseURL: 'https://api.tess.im/agents/{id}/openai',
    apiKey: 'YOUR_API_KEY',
  });

  async function main() {
    const chatCompletion = await client.chat.completions.create({
      messages: [{ role: 'user', content: 'Say this is a test' }],
      model: 'gpt-4o',
    });
  }

  main();
  ```

  ```python Python theme={null}
  import os
  from openai import OpenAI

  client = OpenAI(
      base_url="https://api.tess.im/agents/{id}/openai",
      api_key="YOUR_API_KEY"
  )

  chat_completion = client.chat.completions.create(
      messages=[
          {
              "role": "user",
              "content": "Say this is a test",
          }
      ],
      model="gpt-4o",
  )
  ```
</CodeGroup>

### **Encabezados**

<ParamField header="x-workspace-id" type="integer" required>
  ID del workspace. **Obligatorio a partir del 01/09/2026.** Hasta entonces, si se omite, se usa el workspace seleccionado del usuario (deprecated). Después de la fecha, ausencia → **422**.
</ParamField>

### **Parámetros de Ruta**

| **Parámetro** | **Tipo** | **Requerido** | **Descripción**   |
| :------------ | :------- | :------------ | :---------------- |
| `id`          | integer  | Sí            | El ID del agente. |

### **Cuerpo de la Solicitud**

Vea la documentación de la [API OpenAI](https://platform.openai.com/docs/api-reference/chat/create) para la referencia completa de parámetros. En este momento, nuestra API solo soporta los parámetros de modelo `temperature` y `messages` (funciones `system`, `user` y `assistant`). Además, el parámetro `tools` es un enum de `string`. Para verificar los parámetros de modelo de un agente específico, consulte el endpoint [Obtener Agente](https://docs.tess.im/es/api/endpoints/agents/get).

### **Respuesta**

Vea la documentación de la [API OpenAI](https://platform.openai.com/docs/api-reference/chat/object) para el formato de respuesta.


## OpenAPI

````yaml api-reference/agents-execution.openapi.json POST /agents/{id}/openai/chat/completions
openapi: 3.1.0
info:
  title: Tess API - Agent Execution
  version: 1.0.0
servers:
  - url: https://api.tess.im
security: []
paths:
  /agents/{id}/openai/chat/completions:
    post:
      summary: Execute OpenAI Compatible
      description: Execute a specific chat agent by ID using the OpenAI-compatible API.
      operationId: executeOpenAICompatible
      parameters:
        - $ref: '#/components/parameters/agentId'
        - $ref: '#/components/parameters/workspaceId'
      requestBody:
        description: >-
          Send a JSON object in OpenAI-compatible format. You can also include
          custom root-level fields when needed by your agent configuration.
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
              description: >-
                Free-form JSON object in OpenAI-compatible format. Custom fields
                can also be sent at the root level.
            example:
              temperature: 1
              model: tess-6
              messages:
                - role: user
                  content: Create a short release note.
              tools: no-tools
              stream: false
            examples:
              defaultChatCompletion:
                summary: Default OpenAI-compatible payload
                value:
                  temperature: 1
                  model: tess-6
                  messages:
                    - role: user
                      content: Create a short release note.
                  tools: no-tools
                  stream: false
              customFieldsAtRoot:
                summary: OpenAI-compatible payload with custom fields
                value:
                  temperature: 1
                  messages:
                    - role: user
                      content: Suggest improvements for onboarding.
                  tenant: enterprise-a
                  persona: manager
      responses:
        '200':
          description: Chat completion response.
      security:
        - bearerAuth: []
components:
  parameters:
    agentId:
      name: id
      in: path
      required: true
      schema:
        type: integer
      description: The agent ID.
    workspaceId:
      name: x-workspace-id
      in: header
      required: true
      schema:
        type: integer
      description: >-
        Workspace ID. Required as of 2026-09-01. Until then, if omitted, the
        user's selected workspace is used (deprecated). After the cutoff, a
        missing header returns 422.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````