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

# Criar relatório

> Cria um novo relatório com base em um template



## OpenAPI

````yaml POST /reports
openapi: 3.1.0
info:
  title: Base39 API
  description: >-
    API da Base39 para inserir e consultar dados na base de forma simples e
    direta
  version: 1.0.0
  contact:
    name: Base39
    url: https://base39.com.br
    email: contato@base39.com.br
servers:
  - url: https://api.base39.com.br/v2
security:
  - OAuth2:
      - read
      - write
tags:
  - name: Records
    description: Operações relacionadas a registros de dados
  - name: Webhooks
    description: Endpoints para recebimento de dados via webhook
  - name: Reports
    description: Operações relacionadas a relatórios
  - name: Files
    description: Operações relacionadas a arquivos
paths:
  /reports:
    post:
      tags:
        - Reports
      description: Cria um novo relatório com base em um template
      operationId: createReport
      requestBody:
        description: Dados do relatório a ser criado
        content:
          application/json:
            schema:
              type: object
              required:
                - target
                - template
              properties:
                target:
                  type: object
                  required:
                    - document
                  properties:
                    document:
                      type: string
                      description: Documento do alvo (CPF/CNPJ)
                template:
                  type: string
                  description: ID do template no formato tpl_$nanoid
                  pattern: ^tpl_[a-zA-Z0-9_-]+$
                  example: tpl_abc123def456
              example:
                target:
                  document: '12345678901'
                template: tpl_abc123def456
        required: true
      responses:
        '200':
          description: Relatório criado com sucesso
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    description: ID do relatório
                  uploadUrl:
                    type: string
                    description: URL S3 assinada para upload
                  status:
                    type: string
                    enum:
                      - pending
                      - processing
                      - completed
                      - error
                    description: Status do relatório
                  target:
                    type: object
                    properties:
                      document:
                        type: string
                      name:
                        type: string
                      alternativeName:
                        type: string
                  template:
                    type: string
                  sections:
                    type: array
                    description: Seções do relatório com conteúdo estruturado
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          description: ID único da seção
                        title:
                          type: string
                          description: Título da seção
                        status:
                          type: string
                          enum:
                            - queued
                            - processing
                            - done
                            - error
                          description: Status da seção
                        order:
                          type: integer
                          description: Ordem da seção no relatório
                        content:
                          type: string
                          description: Conteúdo em texto (estrutura atual)
                    example:
                      - id: sec_abc123
                        title: Resumo Executivo
                        status: done
                        order: 1
                        content: Este relatório apresenta uma análise completa...
                      - id: sec_def456
                        title: Análise Detalhada
                        status: processing
                        order: 2
                        content: null
                  createdAt:
                    type: string
                    format: date-time
                  updatedAt:
                    type: string
                    format: date-time
                  createdBy:
                    type: string
                  updatedBy:
                    type: string
              example:
                id: rep_xyz789
                uploadUrl: https://s3.amazonaws.com/bucket/file.pdf?signature=...
                status: pending
                target:
                  document: '12345678901'
                  name: Empresa Exemplo LTDA
                  alternativeName: Exemplo Corp
                template: tpl_abc123def456
                sections:
                  - id: sec_abc123
                    title: Resumo Executivo
                    status: queued
                    order: 1
                    content: null
                  - id: sec_def456
                    title: Análise Detalhada
                    status: queued
                    order: 2
                    content: null
                createdAt: '2025-01-15T10:30:00Z'
                updatedAt: '2025-01-15T10:30:00Z'
                createdBy: usr_123
                updatedBy: usr_123
components:
  securitySchemes:
    OAuth2:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://auth.base39.com.br/oauth2/authorize
          tokenUrl: https://auth.base39.com.br/oauth2/token
          scopes:
            read: Permissão para ler dados
            write: Permissão para escrever dados

````