> ## 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.

# Fazer Upload de Documento

> Faz upload de um novo documento para uma equipe específica



## OpenAPI

````yaml api-reference/openapi.yaml post /api/openapi/v1/documents
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/documents:
    post:
      tags:
        - Documentos
      summary: Fazer Upload de Documento
      description: Faz upload de um novo documento para uma equipe específica
      operationId: uploadDocument
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              required:
                - file
                - team_id
              properties:
                file:
                  type: string
                  format: binary
                  description: Arquivo para upload (pdf, txt, docx, doc)
                team_id:
                  type: string
                  format: uuid
                  description: ID da Equipe
                chars:
                  type: integer
                  description: Contagem de caracteres (opcional, padrão 0)
                  example: 5000
      responses:
        '201':
          description: Documento enviado com sucesso
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: true
                  data:
                    $ref: '#/components/schemas/Document'
        '400':
          $ref: '#/components/responses/BadRequest'
components:
  schemas:
    Document:
      type: object
      properties:
        id:
          type: string
          format: uuid
        team_id:
          type: string
          format: uuid
        name:
          type: string
          example: contrato.pdf
        type:
          type: string
          enum:
            - pdf
            - txt
            - docx
            - doc
          example: pdf
        size:
          type: integer
          description: Tamanho do arquivo em bytes
          example: 1024000
        openai_id:
          type: string
          example: file-abc123
        file_url:
          type: string
          nullable: true
          example: 550e8400-e29b-41d4-a716-446655440000/file-abc123.pdf
        chars:
          type: integer
          description: Contagem de caracteres
          example: 5000
        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

````