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

# Criar Bot

> Cria um novo bot com instruções, perguntas/respostas e configuração. Cria automaticamente o assistente OpenAI e o vector store se documentos forem fornecidos.



## OpenAPI

````yaml api-reference/openapi.yaml post /api/openapi/v1/bots
openapi: 3.0.3
info:
  title: Lota AI OpenAPI
  description: >
    API RESTful completa para gerenciamento da plataforma Lota AI. Esta API
    fornece acesso programático para parceiros white-label, integrações externas
    e dashboards personalizados.


    ## Autenticação

    Todos os endpoints (exceto `/auth/token`) requerem autenticação via Bearer
    token. Gere um token usando suas credenciais de chave API.


    ## Limite de Taxa

    Limites de taxa são configurados por chave API. Entre em contato com o
    suporte para limites personalizados.


    ## Suporte

    Para problemas ou dúvidas, entre em contato com o líder da sua equipe ou
    consulte a documentação.
  version: 1.3.0
  contact:
    name: Suporte API Lota AI
    url: https://lotai.com.br
  license:
    name: Proprietário
    url: https://lotai.com.br/terms-and-conditions
servers:
  - url: http://localhost:3000
    description: Servidor de desenvolvimento local
  - url: '{customUrl}'
    description: Servidor white-label personalizado
    variables:
      customUrl:
        default: https://sua-url-aqui.com
        description: URL do seu servidor white-label
security:
  - BearerAuth: []
tags:
  - name: Autenticação
    description: Gerar e gerenciar tokens de acesso JWT
  - name: Chaves API
    description: Gerenciar chaves API para autenticação
  - name: Equipes
    description: Gerenciar equipes e suas configurações
  - name: Documentos
    description: Gerenciar documentos e uploads de arquivos
  - name: Bots
    description: Gerenciar bots de IA e assistentes
  - name: Dispositivos
    description: Gerenciar dispositivos WhatsApp e conexões
paths:
  /api/openapi/v1/bots:
    post:
      tags:
        - Bots
      summary: Criar Bot
      description: >-
        Cria um novo bot com instruções, perguntas/respostas e configuração.
        Cria automaticamente o assistente OpenAI e o vector store se documentos
        forem fornecidos.
      operationId: createBot
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateBotInput'
      responses:
        '201':
          description: Bot criado com sucesso
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: true
                  data:
                    $ref: '#/components/schemas/Bot'
        '400':
          $ref: '#/components/responses/BadRequest'
components:
  schemas:
    CreateBotInput:
      type: object
      required:
        - team_id
        - name
        - instructions
      properties:
        team_id:
          type: string
          format: uuid
        name:
          type: string
          example: Bot de Suporte
        role:
          type: string
          enum:
            - support
            - dynamic
            - sales
          default: dynamic
        description:
          type: string
          example: Lida com consultas de suporte ao cliente
        instructions:
          type: string
          example: >-
            Você é um assistente de suporte amigável. Sempre seja útil e
            educado.
        temperature:
          type: number
          format: float
          minimum: 0
          maximum: 2
          default: 1
          example: 0.7
        identification_name:
          type: string
          nullable: true
          example: João
        questions:
          type: array
          items:
            type: object
            properties:
              question:
                type: string
              answer:
                type: string
        document_ids:
          type: array
          items:
            type: string
            format: uuid
        allow_human:
          type: boolean
          default: true
        actions:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
                format: uuid
              name:
                type: string
              description:
                type: string
              endpoint:
                type: string
              method:
                type: string
                enum:
                  - GET
                  - POST
                  - PUT
                  - DELETE
              headers:
                type: object
              body:
                type: array
                items:
                  type: object
                  properties:
                    key:
                      type: string
                    value:
                      oneOf:
                        - type: string
                        - type: number
                        - type: boolean
                    type:
                      type: string
                      enum:
                        - string
                        - number
                        - boolean
        use_audio_responses:
          type: boolean
          default: false
        allow_user_audio_requests:
          type: boolean
          default: false
        capture_payments:
          type: boolean
          default: false
        break_lines:
          type: boolean
          default: true
        chat_model_level:
          type: integer
          minimum: 0
          maximum: 2
          default: 0
    Bot:
      type: object
      properties:
        id:
          type: string
          format: uuid
        team_id:
          type: string
          format: uuid
        name:
          type: string
          example: Bot de Suporte
        role:
          type: string
          enum:
            - support
            - dynamic
            - sales
          example: support
        description:
          type: string
          example: Lida com consultas de suporte ao cliente
        openai_id:
          type: string
          example: asst_abc123
        vector_id:
          type: string
          nullable: true
          example: vs_abc123
        instructions:
          type: string
        temperature:
          type: number
          format: float
          minimum: 0
          maximum: 2
          example: 0.7
        published:
          type: boolean
          example: true
        allow_human:
          type: boolean
          example: true
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
    ErrorResponse:
      type: object
      properties:
        success:
          type: boolean
          example: false
        error:
          type: string
          example: Mensagem de erro
        code:
          type: string
          example: ERROR_CODE
        details:
          type: object
          nullable: true
  responses:
    BadRequest:
      description: Requisição inválida - Entrada inválida
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            success: false
            error: Corpo da requisição inválido
            code: BAD_REQUEST
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: Token JWT obtido do endpoint /api/openapi/auth/token

````