{
  "openapi": "3.1.1",
  "info": {
    "title": "Agentes Empresa — API Gateway",
    "description": "API para dashboard, pagamentos e nota fiscal.",
    "version": "v1"
  },
  "servers": [
    {
      "url": "http://api.cerebroamigo.com.br/"
    }
  ],
  "paths": {
    "/": {
      "get": {
        "tags": [
          "ApiGateway"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/health": {
      "get": {
        "tags": [
          "ApiGateway"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/ready": {
      "get": {
        "tags": [
          "ApiGateway"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/auth/login": {
      "post": {
        "tags": [
          "auth"
        ],
        "summary": "Login no dashboard",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LoginRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/payments/preference": {
      "post": {
        "tags": [
          "payments"
        ],
        "summary": "Cria link de pagamento Mercado Pago",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreatePreferenceRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/payments/webhook": {
      "post": {
        "tags": [
          "payments"
        ],
        "summary": "Webhook do Mercado Pago",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JsonElement"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/notas-fiscais": {
      "get": {
        "tags": [
          "notas-fiscais"
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 20
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/conversas": {
      "get": {
        "tags": [
          "conversas"
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 20
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/conversas/{id}": {
      "get": {
        "tags": [
          "conversas"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/metricas": {
      "get": {
        "tags": [
          "metricas"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/agentes": {
      "get": {
        "tags": [
          "agentes"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/agentes/{id}": {
      "patch": {
        "tags": [
          "agentes"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AtualizarAgenteRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/pacientes": {
      "get": {
        "tags": [
          "pacientes-psiquiatria"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "pacientes-psiquiatria"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CriarPacienteRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/pacientes/{id}/timeline": {
      "get": {
        "tags": [
          "pacientes-psiquiatria"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "dias",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 30
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/pacientes/{id}/humor": {
      "get": {
        "tags": [
          "pacientes-psiquiatria"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "dias",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 30
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/pacientes/{id}/adesao": {
      "get": {
        "tags": [
          "pacientes-psiquiatria"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/pacientes/{id}/resumo-pre-consulta": {
      "get": {
        "tags": [
          "pacientes-psiquiatria"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/prescricoes/paciente/{pacienteId}": {
      "get": {
        "tags": [
          "prescricoes"
        ],
        "parameters": [
          {
            "name": "pacienteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/prescricoes": {
      "post": {
        "tags": [
          "prescricoes"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CriarPrescricaoRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/prescricoes/{id}/desativar": {
      "patch": {
        "tags": [
          "prescricoes"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/notificacoes": {
      "get": {
        "tags": [
          "notificacoes"
        ],
        "parameters": [
          {
            "name": "apenasNaoLidas",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/notificacoes/{id}/marcar-lida": {
      "post": {
        "tags": [
          "notificacoes"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/auth/paciente/magic-link": {
      "post": {
        "tags": [
          "paciente-auth"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SolicitarMagicLinkRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/auth/paciente/magic-validar": {
      "post": {
        "tags": [
          "paciente-auth"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MagicValidarRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/auth/paciente/login": {
      "post": {
        "tags": [
          "paciente-auth"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PacienteLoginRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/auth/paciente/senha": {
      "post": {
        "tags": [
          "paciente-auth"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TrocarSenhaRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/portal/paciente/home": {
      "get": {
        "tags": [
          "portal-paciente"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/portal/paciente/humor": {
      "post": {
        "tags": [
          "portal-paciente"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RegistrarHumorRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/portal/paciente/humor/historico": {
      "get": {
        "tags": [
          "portal-paciente"
        ],
        "parameters": [
          {
            "name": "dias",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 30
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/portal/paciente/medicacoes": {
      "get": {
        "tags": [
          "portal-paciente"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/portal/paciente/medicacoes/confirmar/{tomadaId}": {
      "post": {
        "tags": [
          "portal-paciente"
        ],
        "parameters": [
          {
            "name": "tomadaId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConfirmarTomadaRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/portal/paciente/perfil": {
      "get": {
        "tags": [
          "portal-paciente"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "patch": {
        "tags": [
          "portal-paciente"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AtualizarPerfilRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/portal/paciente/diario": {
      "get": {
        "tags": [
          "portal-paciente-diario"
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 20
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "portal-paciente-diario"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CriarDiarioRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/portal/paciente/diario/{id}": {
      "get": {
        "tags": [
          "portal-paciente-diario"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "patch": {
        "tags": [
          "portal-paciente-diario"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AtualizarDiarioRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "portal-paciente-diario"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/portal/conversation/message": {
      "post": {
        "tags": [
          "Portal · Conversation"
        ],
        "description": "Recebe mensagem do paciente (PWA) e faz proxy SSE para o orchestrator-py. paciente_id vem do JWT, nunca do body.",
        "operationId": "PortalConversationMessage",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PortalConversationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/portal/paciente/checkins": {
      "get": {
        "tags": [
          "paciente-checkins"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/portal/paciente/checkins/{id}": {
      "get": {
        "tags": [
          "paciente-checkins"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/portal/paciente/checkins/{id}/responder": {
      "post": {
        "tags": [
          "paciente-checkins"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResponderCheckinRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/portal/paciente/push/subscribe": {
      "post": {
        "tags": [
          "paciente-push"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PushSubscribeRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/portal/paciente/push/unsubscribe": {
      "post": {
        "tags": [
          "paciente-push"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PushUnsubscribeRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/insights/pendentes": {
      "get": {
        "tags": [
          "insights"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/insights/paciente/{pacienteId}": {
      "get": {
        "tags": [
          "insights"
        ],
        "parameters": [
          {
            "name": "pacienteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "agente",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/insights/{id}/visualizar": {
      "post": {
        "tags": [
          "insights"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/insights/{id}/descartar": {
      "post": {
        "tags": [
          "insights"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DescartarRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/insights/resumo-pre-consulta/{pacienteId}": {
      "get": {
        "tags": [
          "insights"
        ],
        "parameters": [
          {
            "name": "pacienteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/seed/primeiro-medico": {
      "post": {
        "tags": [
          "seed"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PrimeiroMedicoRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "AtualizarAgenteRequest": {
        "required": [
          "systemPrompt",
          "modeloDefault",
          "ativo"
        ],
        "type": "object",
        "properties": {
          "systemPrompt": {
            "type": [
              "null",
              "string"
            ]
          },
          "modeloDefault": {
            "type": [
              "null",
              "string"
            ]
          },
          "ativo": {
            "type": [
              "null",
              "boolean"
            ]
          }
        }
      },
      "AtualizarDiarioRequest": {
        "required": [
          "titulo",
          "conteudo",
          "humor",
          "tags",
          "compartilharComMedico"
        ],
        "type": "object",
        "properties": {
          "titulo": {
            "type": [
              "null",
              "string"
            ]
          },
          "conteudo": {
            "type": [
              "null",
              "string"
            ]
          },
          "humor": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "tags": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "string"
            }
          },
          "compartilharComMedico": {
            "type": [
              "null",
              "boolean"
            ]
          }
        }
      },
      "AtualizarPerfilRequest": {
        "required": [
          "nome",
          "email"
        ],
        "type": "object",
        "properties": {
          "nome": {
            "type": [
              "null",
              "string"
            ]
          },
          "email": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "ConfirmarTomadaRequest": {
        "required": [
          "status",
          "nota"
        ],
        "type": "object",
        "properties": {
          "status": {
            "type": "string"
          },
          "nota": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "CreatePreferenceRequest": {
        "required": [
          "titulo",
          "valor",
          "conversaId",
          "customerEmail"
        ],
        "type": "object",
        "properties": {
          "titulo": {
            "type": "string"
          },
          "valor": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "conversaId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "customerEmail": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "CriarDiarioRequest": {
        "required": [
          "titulo",
          "conteudo",
          "humor",
          "tags"
        ],
        "type": "object",
        "properties": {
          "titulo": {
            "type": [
              "null",
              "string"
            ]
          },
          "conteudo": {
            "type": "string"
          },
          "humor": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "tags": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "string"
            }
          },
          "compartilharComMedico": {
            "type": "boolean",
            "default": false
          }
        }
      },
      "CriarPacienteRequest": {
        "required": [
          "email",
          "nome",
          "waId",
          "cpf",
          "dataNascimento",
          "senhaInicial"
        ],
        "type": "object",
        "properties": {
          "email": {
            "type": "string"
          },
          "nome": {
            "type": "string"
          },
          "waId": {
            "type": [
              "null",
              "string"
            ]
          },
          "cpf": {
            "type": [
              "null",
              "string"
            ]
          },
          "dataNascimento": {
            "type": [
              "null",
              "string"
            ],
            "format": "date"
          },
          "senhaInicial": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "CriarPrescricaoRequest": {
        "required": [
          "pacienteId",
          "medicamento",
          "doseDescricao",
          "horarios",
          "inicioEm",
          "fimEm",
          "receitaTipo",
          "receitaValidade",
          "observacoes"
        ],
        "type": "object",
        "properties": {
          "pacienteId": {
            "type": "string",
            "format": "uuid"
          },
          "medicamento": {
            "type": "string"
          },
          "doseDescricao": {
            "type": "string"
          },
          "horarios": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "inicioEm": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "fimEm": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "receitaTipo": {
            "type": [
              "null",
              "string"
            ]
          },
          "receitaValidade": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "observacoes": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "DescartarRequest": {
        "required": [
          "motivo"
        ],
        "type": "object",
        "properties": {
          "motivo": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "JsonElement": { },
      "LoginRequest": {
        "required": [
          "email",
          "senha"
        ],
        "type": "object",
        "properties": {
          "email": {
            "type": "string"
          },
          "senha": {
            "type": "string"
          }
        }
      },
      "MagicValidarRequest": {
        "required": [
          "token",
          "novaSenha"
        ],
        "type": "object",
        "properties": {
          "token": {
            "type": "string"
          },
          "novaSenha": {
            "type": "string"
          }
        }
      },
      "PacienteLoginRequest": {
        "required": [
          "email",
          "senha"
        ],
        "type": "object",
        "properties": {
          "email": {
            "type": "string"
          },
          "senha": {
            "type": "string"
          }
        }
      },
      "PortalConversationRequest": {
        "required": [
          "mensagem",
          "idempotencyKey"
        ],
        "type": "object",
        "properties": {
          "mensagem": {
            "type": "string"
          },
          "idempotencyKey": {
            "type": "string",
            "format": "uuid"
          }
        }
      },
      "PrimeiroMedicoRequest": {
        "required": [
          "email",
          "senha",
          "nome",
          "crm",
          "waId"
        ],
        "type": "object",
        "properties": {
          "email": {
            "type": "string"
          },
          "senha": {
            "type": "string"
          },
          "nome": {
            "type": "string"
          },
          "crm": {
            "type": "string"
          },
          "waId": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "PushSubscribeRequest": {
        "required": [
          "endpoint",
          "p256dhKey",
          "authKey"
        ],
        "type": "object",
        "properties": {
          "endpoint": {
            "type": "string"
          },
          "p256dhKey": {
            "type": "string"
          },
          "authKey": {
            "type": "string"
          }
        }
      },
      "PushUnsubscribeRequest": {
        "required": [
          "endpoint"
        ],
        "type": "object",
        "properties": {
          "endpoint": {
            "type": "string"
          }
        }
      },
      "RegistrarHumorRequest": {
        "required": [
          "humor",
          "ansiedade",
          "sonoHoras",
          "energia",
          "nota"
        ],
        "type": "object",
        "properties": {
          "humor": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "ansiedade": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "sonoHoras": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "energia": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "nota": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "ResponderCheckinRequest": {
        "required": [
          "resposta"
        ],
        "type": "object",
        "properties": {
          "resposta": {
            "type": "object"
          }
        }
      },
      "SolicitarMagicLinkRequest": {
        "required": [
          "email",
          "proposito"
        ],
        "type": "object",
        "properties": {
          "email": {
            "type": "string"
          },
          "proposito": {
            "type": "string"
          }
        }
      },
      "TrocarSenhaRequest": {
        "required": [
          "senhaAtual",
          "novaSenha"
        ],
        "type": "object",
        "properties": {
          "senhaAtual": {
            "type": "string"
          },
          "novaSenha": {
            "type": "string"
          }
        }
      }
    }
  },
  "tags": [
    {
      "name": "ApiGateway"
    },
    {
      "name": "auth"
    },
    {
      "name": "payments"
    },
    {
      "name": "notas-fiscais"
    },
    {
      "name": "conversas"
    },
    {
      "name": "metricas"
    },
    {
      "name": "agentes"
    },
    {
      "name": "pacientes-psiquiatria"
    },
    {
      "name": "prescricoes"
    },
    {
      "name": "notificacoes"
    },
    {
      "name": "paciente-auth"
    },
    {
      "name": "portal-paciente"
    },
    {
      "name": "portal-paciente-diario"
    },
    {
      "name": "Portal · Conversation"
    },
    {
      "name": "paciente-checkins"
    },
    {
      "name": "paciente-push"
    },
    {
      "name": "insights"
    },
    {
      "name": "seed"
    }
  ]
}