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

# Criar endpoint de webhook

> Registra um novo endpoint de webhook para o cliente autenticado. O segredo de assinatura em texto puro é retornado apenas nesta resposta.



## OpenAPI

````yaml POST /webhooks/endpoints
openapi: 3.1.0
info:
  description: Superfície pública da API para clientes autenticados por chave de API.
  title: NL Labs Gateway (Public API)
  version: 0.1.0
servers:
  - url: https://api.nlbs.ai
security: []
tags:
  - description: Busca de entidades canônicas.
    name: entities
  - description: Criação, leitura, grafo e dossiê de análises.
    name: analyses
  - description: Relatório regulatório (COAF/SUSEP).
    name: reports
  - description: Triagem de mídia adversa.
    name: adverse-media
  - description: Versões do manifesto regulatório.
    name: regulatory
  - description: Versões do catálogo de regras do motor de risco.
    name: rules
  - description: Endpoints e eventos de webhook.
    name: webhooks
  - description: >-
      Entrypoints HTTP de workflow: invocar um workflow e consultar sua
      execução.
    name: workflow-endpoints
paths:
  /webhooks/endpoints:
    post:
      tags:
        - webhooks
      summary: Criar endpoint de webhook
      description: >-
        Registra um novo endpoint de webhook para o cliente autenticado. O
        segredo de assinatura em texto puro é retornado apenas nesta resposta.
      operationId: create_webhook_endpoint
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WebhookEndpointCreateRequest'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebhookEndpointCreateResponse'
          description: Successful Response
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Chave de API ausente, malformada, expirada ou inválida.
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: A chave de API autenticada não tem o escopo necessário.
        '422':
          description: >-
            Corpo da requisição, parâmetro de rota, parâmetro de query ou regra
            de negócio inválidos.
components:
  schemas:
    WebhookEndpointCreateRequest:
      examples:
        - name: Frontend callback
          subscribed_events:
            - webhook.test
          url: https://example.com/webhooks/nllabs
      properties:
        name:
          description: Nome legível do endpoint de webhook.
          examples:
            - Frontend callback
          maxLength: 128
          minLength: 1
          title: Name
          type: string
        subscribed_events:
          description: Tipos de evento de webhook entregues a este endpoint.
          examples:
            - - webhook.test
          items:
            $ref: '#/components/schemas/WebhookEventType'
          minItems: 1
          title: Subscribed Events
          type: array
        url:
          description: URL de destino HTTPS que vai receber os eventos de webhook.
          examples:
            - https://example.com/webhooks/nllabs
          maxLength: 2048
          minLength: 1
          title: Url
          type: string
      required:
        - name
        - url
        - subscribed_events
      title: WebhookEndpointCreateRequest
      type: object
    WebhookEndpointCreateResponse:
      properties:
        consecutive_failures:
          description: Contagem atual de falhas de entrega consecutivas.
          title: Consecutive Failures
          type: integer
        created_at:
          description: Timestamp de criação do endpoint.
          format: date-time
          title: Created At
          type: string
        disabled_at:
          anyOf:
            - format: date-time
              type: string
            - type: 'null'
          description: Timestamp de quando o endpoint foi desativado.
          title: Disabled At
        last_failure_at:
          anyOf:
            - format: date-time
              type: string
            - type: 'null'
          description: Timestamp da última entrega com falha.
          title: Last Failure At
        last_success_at:
          anyOf:
            - format: date-time
              type: string
            - type: 'null'
          description: Timestamp da última entrega bem-sucedida.
          title: Last Success At
        name:
          description: Nome legível do endpoint de webhook.
          title: Name
          type: string
        secret:
          description: Segredo de assinatura em texto puro, retornado só uma vez.
          title: Secret
          type: string
        status:
          $ref: '#/components/schemas/WebhookEndpointStatus'
          description: Status do ciclo de vida do endpoint.
        subscribed_events:
          description: Tipos de evento assinados.
          items:
            $ref: '#/components/schemas/WebhookEventType'
          title: Subscribed Events
          type: array
        updated_at:
          description: Timestamp da última atualização do endpoint.
          format: date-time
          title: Updated At
          type: string
        url:
          description: URL de destino.
          title: Url
          type: string
        uuid:
          description: UUID do endpoint de webhook.
          format: uuid
          title: Uuid
          type: string
      required:
        - uuid
        - name
        - url
        - status
        - subscribed_events
        - consecutive_failures
        - last_success_at
        - last_failure_at
        - disabled_at
        - created_at
        - updated_at
        - secret
      title: WebhookEndpointCreateResponse
      type: object
    ErrorResponse:
      properties:
        detail:
          description: Mensagem de erro pública e estável.
          examples:
            - Resource not found.
          title: Detail
          type: string
      required:
        - detail
      title: ErrorResponse
      type: object
    WebhookEventType:
      enum:
        - webhook.test
        - adverse_media.completed
        - adverse_media.failed
      title: WebhookEventType
      type: string
    WebhookEndpointStatus:
      enum:
        - active
        - disabled
      title: WebhookEndpointStatus
      type: string

````