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

> ## Agent Instructions
> A GYRA+ tem um servidor MCP oficial: https://mcp.gyramais.com.br/mcp. A autenticação é o login do próprio usuário na plataforma, não uma credencial separada. Instalação em https://developers.gyramais.com.br/mcp/instalacao.
> Prefira as tools do MCP a montar chamadas HTTP na mão quando o usuário já tem o conector ligado.
> Para analisar crédito de um CNPJ ou CPF, use create_report_v2 e assine um webhook em vez de fazer polling.
> Para ler um documento (contrato social, comprovante de residência, imposto de renda, balanço), use validate_document: a entrada é um arquivo só e a plataforma reconhece o tipo sozinha.
> Para pedir documentos ao cliente final, use create_collection com o slug de um modelo obtido em list_collection_templates.
> Documento (CNPJ/CPF) é dado pessoal: não o repita em log nem o envie a serviços de terceiros.

# Catálogo de Eventos

> Para montar a sua tela de configuração sem fixar a lista de eventos no código.

### Quando usar

Para montar a sua tela de configuração sem fixar a lista de eventos no código.

Evento novo aparece aqui no mesmo deploy em que passa a existir. A lista completa, com payload, está em [Eventos de webhook](/api-reference/onboarding/eventos-de-webhook).

<Note>
  Contexto e vocabulário em [Eventos de webhook](/api-reference/onboarding/eventos-de-webhook). Autenticação, versionamento e capacidades em [Visão geral da API](/api-reference/onboarding/visao-geral).
</Note>


## OpenAPI

````yaml get /v1/webhook/events
openapi: 3.0.0
info:
  title: GYRA+ API - MCP Server
  description: >-
    API da Gyra+ para analise de credito. Spec curada para uso com agentes AI
    via MCP.
  version: '1.0'
  contact: {}
servers:
  - url: https://gyra-core.gyramais.com.br
    description: Producao
security: []
paths:
  /v1/webhook/events:
    get:
      tags:
        - collections
      summary: Catalogo de eventos de webhook disponiveis
      description: >
        Todos os eventos que a organizacao pode assinar, agrupados por
        categoria.


        Categorias: Documento (registry.document.*), Cadastro (registry.*),
        Solicitacao (collection.*),

        Itens (collection.item.*), Formulario e assinatura, Mensagens, e
        Relatorios e credito

        (report.finished, credit-policy.evaluated, committee.finished e os
        demais).


        LEIA DAQUI em vez de fixar a lista: evento novo aparece no catalogo no
        mesmo deploy.
      operationId: WebhookController_catalog
      parameters: []
      responses:
        '200':
          description: Grupos com titulo e a lista de nomes de evento, mais a lista plana.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebhookEventCatalog'
              example:
                groups:
                  - title: Relatórios e crédito
                    events:
                      - report.section.updated
                      - report.finished
                      - report.status.changed
                      - report.exported
                      - committee.finished
                      - credit-policy.evaluated
                      - operation.updated
                      - optin.updated
                  - title: Documento
                    events:
                      - registry.document.received
                      - registry.document.progress
                      - registry.document.assessed
                      - registry.document.failed
                      - registry.document.reprocessed
                      - registry.document.decided
                  - title: Cadastro
                    events:
                      - registry.updated
                      - registry.financial.extracted
                  - title: Solicitação
                    events:
                      - collection.created
                      - collection.sent
                      - collection.canceled
                      - collection.completed
                      - collection.expired
                  - title: Mensagens
                    events:
                      - collection.message.sent
                      - collection.message.reminded
                      - collection.recipient.opened
                      - collection.message.failed
                events:
                  - report.section.updated
                  - report.finished
                  - report.status.changed
                  - report.exported
                  - committee.finished
                  - credit-policy.evaluated
                  - operation.updated
                  - optin.updated
                  - registry.document.received
                  - registry.document.assessed
                  - collection.completed
                  - collection.message.failed
                eventLabels:
                  report.section.updated: Seção do relatório atualizada
                  report.finished: Relatório concluído
                  report.status.changed: Relatório aprovado ou negado
                  report.exported: PDF do relatório pronto
                  committee.finished: Comitê de crédito concluiu a deliberação
                  credit-policy.evaluated: Política de crédito avaliada
                  operation.updated: Operação atualizada
                  optin.updated: Opt-in atualizado
        '401':
          description: >-
            Token ausente, expirado ou invalido. Gere outro em POST
            /auth/authenticate.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                code: 401
                message: Token de acesso inválido.
        '403':
          description: O usuario autenticado nao tem a permissao exigida pela rota.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                code: 403
                message: Você não tem permissão para acessar este recurso.
        '500':
          description: >-
            Falha nossa. Tente de novo; se persistir, acione o suporte com o
            horario da chamada.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                code: 500
                message: Internal server error
      security:
        - authorization: []
      x-codeSamples:
        - lang: cURL
          label: cURL
          source: >
            curl --request GET
            'https://gyra-core.gyramais.com.br/v1/webhook/events' \
              --header 'Authorization: Bearer <token>'
        - lang: JavaScript
          label: Node
          source: >
            const resposta = await
            fetch("https://gyra-core.gyramais.com.br/v1/webhook/events", {
              method: "GET",
              headers: { Authorization: `Bearer ${token}` },
            });


            const dados = await resposta.json();
        - lang: Python
          label: Python
          source: |
            import requests

            resposta = requests.get(
                "https://gyra-core.gyramais.com.br/v1/webhook/events",
                headers={"Authorization": f"Bearer {token}"},
            )

            dados = resposta.json()
components:
  schemas:
    WebhookEventCatalog:
      type: object
      properties:
        groups:
          type: array
          items:
            type: object
            properties:
              title:
                type: string
              events:
                type: array
                items:
                  type: string
          description: >-
            Agrupamento para a tela. O contrato e o nome do evento, nunca o
            grupo.
        events:
          type: array
          items:
            type: string
          description: >-
            Todos os nomes, em lista plana. Os de relatorio e credito vem
            primeiro.
        eventLabels:
          type: object
          additionalProperties:
            type: string
          description: >-
            Rotulo em portugues dos eventos de relatorio e credito, por nome de
            evento.
    ApiError:
      type: object
      description: >-
        Formato unico de erro da API. Nao faca match exato da mensagem: use o
        code.
      properties:
        code:
          type: integer
          description: Codigo HTTP.
        message:
          type: string
          description: >-
            Mensagem em portugues. Em erro de validacao, traz TODAS as falhas
            concatenadas por virgula.
  securitySchemes:
    authorization:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: Enter JWT token

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.