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

# Listar Assinaturas de Webhook

> Quando o cliente diz que parou de receber: aqui aparece se a assinatura foi desligada e por quê.

### Quando usar

Quando o cliente diz que "parou de receber": aqui aparece se a assinatura foi desligada e por quê.

Assinatura que acumula **20 falhas seguidas** é desligada sozinha. `consecutiveFailures`, `lastDeliveryStatus` e `lastDeliveryError` contam a história.

O segredo não volta aqui: só uma dica com os últimos caracteres.

<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/endpoints
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/endpoints:
    get:
      tags:
        - collections
      summary: Assinaturas de webhook configuradas
      description: >
        As assinaturas da organizacao, com URL, rotulo, eventos escutados, se
        esta ativa e o

        estado da ultima entrega.


        O segredo NAO volta aqui: so uma dica com os ultimos caracteres. Ele e
        mostrado uma unica vez,

        na criacao e na rotacao.


        Assinatura que acumula 20 falhas seguidas e desligada sozinha, com o
        motivo. Se o cliente diz que

        "parou de receber", e a primeira coisa a olhar.
      operationId: WebhookController_list
      parameters: []
      responses:
        '200':
          description: >-
            Assinaturas com url, label, events, enabled, secretHint e ultimo
            status de entrega.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebhookEndpointListResponse'
              example:
                endpoints:
                  - id: 6612a7f30000000000000091
                    url: https://api.suaempresa.com/gyra/webhook
                    label: Produção, esteira de crédito
                    events:
                      - registry.document.assessed
                      - collection.completed
                    enabled: true
                    secretHint: …a91f4c
                    consecutiveFailures: 0
                    lastDeliveryStatus: 200
                    lastDeliveryError: null
                    lastDeliveryAt: '2026-09-06T09:58:11.000Z'
                    createdAt: '2026-09-05T18:40:00.000Z'
                    updatedAt: '2026-09-06T09:58:11.000Z'
        '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/endpoints' \
              --header 'Authorization: Bearer <token>'
        - lang: JavaScript
          label: Node
          source: >
            const resposta = await
            fetch("https://gyra-core.gyramais.com.br/v1/webhook/endpoints", {
              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/endpoints",
                headers={"Authorization": f"Bearer {token}"},
            )

            dados = resposta.json()
components:
  schemas:
    WebhookEndpointListResponse:
      type: object
      properties:
        endpoints:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
              url:
                type: string
              label:
                type: string
                nullable: true
              events:
                type: array
                items:
                  type: string
                description: Vazio quer dizer TODOS os eventos.
              enabled:
                type: boolean
              secretHint:
                type: string
                description: >-
                  Os ultimos caracteres do segredo. O segredo inteiro so aparece
                  na criacao e na rotacao.
              consecutiveFailures:
                type: integer
                description: Em 20, a assinatura e desligada sozinha.
              lastDeliveryStatus:
                type: integer
                nullable: true
              lastDeliveryError:
                type: string
                nullable: true
              lastDeliveryAt:
                type: string
                nullable: true
                format: date-time
              hasApiKey:
                type: boolean
                description: >-
                  So em destino com eventos de relatorio e credito: se ha
                  api-key configurada.
              createdAt:
                type: string
                format: date-time
              updatedAt:
                type: string
                format: date-time
    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.