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

# Get webhook endpoint

> One webhook endpoint, with last-24h delivery stats. The secret is masked.



## OpenAPI

````yaml https://api.openmail.sh/openapi.json get /v1/webhooks/endpoints/{id}
openapi: 3.0.3
info:
  title: OpenMail API
  description: >-
    Email infrastructure API for AI agents. Create inboxes, send and receive
    email, and get real-time notifications via webhooks.
  version: 1.0.0
  license:
    name: Proprietary
servers:
  - url: https://api.openmail.sh
security:
  - bearerAuth: []
tags:
  - name: pods
    description: Isolated sub-accounts for your end users or tenants
  - name: inboxes
    description: Email inboxes and their webhook configuration
  - name: domains
    description: >-
      Custom domains: add your own sending/receiving domain, publish DNS, and
      verify it
  - name: owned-domains
    description: >-
      Domains your organisation controls but does not send from. Prove ownership
      with one TXT record and mail to their addresses stops counting toward the
      cold outreach limits.
  - name: messages
    description: Sending and listing messages
  - name: threads
    description: Conversation threads and read status
  - name: attachments
    description: Downloading and extracting text from attachments
  - name: policy
    description: >-
      Correspondent policy — provider-enforced allow/block rules and allowlist
      mode, scoped per account, pod, or inbox. Account-wide key only.
  - name: limits
    description: >-
      Sending limits: today's cold outreach caps on new recipients, per account,
      inbox, and domain, and what raises them
  - name: webhooks
    description: >-
      Webhook endpoints: where events are sent, how each request is
      authenticated, and the delivery log. Account-wide key only.
  - name: feedback
    description: Reporting bugs, friction, and feature requests to the OpenMail team
paths:
  /v1/webhooks/endpoints/{id}:
    get:
      tags:
        - webhooks
      summary: Get webhook endpoint
      description: >-
        One webhook endpoint, with last-24h delivery stats. The secret is
        masked.
      operationId: getWebhookEndpoint
      parameters:
        - schema:
            type: string
          in: path
          name: id
          required: true
          description: Webhook endpoint ID
      responses:
        '200':
          description: Webhook endpoint
          content:
            application/json:
              schema:
                description: Webhook endpoint
                allOf:
                  - $ref: '#/components/schemas/WebhookEndpoint'
        '401':
          description: Missing, invalid, or expired API key
          content:
            application/json:
              schema:
                description: Missing, invalid, or expired API key
                allOf:
                  - $ref: '#/components/schemas/Error'
        '403':
          description: >-
            The API key is pod- or inbox-scoped. Webhooks need an account-wide
            key.
          content:
            application/json:
              schema:
                description: >-
                  The API key is pod- or inbox-scoped. Webhooks need an
                  account-wide key.
                allOf:
                  - $ref: '#/components/schemas/Error'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                description: Not found
                allOf:
                  - $ref: '#/components/schemas/Error'
components:
  schemas:
    WebhookEndpoint:
      type: object
      additionalProperties: true
      properties:
        id:
          type: string
          description: Webhook endpoint ID
        url:
          type: string
          description: HTTPS URL events are POSTed to.
        description:
          type: string
          description: Your label for the endpoint.
          nullable: true
        auth:
          type: string
          enum:
            - openmail
            - standard_webhooks
            - bearer
          description: >-
            How each request is authenticated, detected from the `secret` you
            set. `openmail`: we generated a secret and sign with HMAC-SHA256
            (`X-Signature`, `X-Timestamp`). `standard_webhooks`: signed per the
            Standard Webhooks spec with your `whsec_` key (`webhook-id`,
            `webhook-timestamp`, `webhook-signature`). `bearer`: your token is
            sent as `Authorization: Bearer <token>`.
        secret:
          type: string
          description: >-
            Masked (`****abcd`) everywhere except the create, update, or rotate
            response that generated an OpenMail secret. A secret you supplied is
            never returned.
        enabled:
          type: boolean
          description: Disabled endpoints receive no events.
        events:
          type: array
          items:
            type: string
            enum:
              - message.received
              - inbox.suspended
              - inbox.reactivated
              - pod.suspended
              - pod.reactivated
          description: Subscribed event types.
        inboxIds:
          type: array
          items:
            type: string
          description: >-
            Limit events to these inboxes. With `podIds` also empty, the
            endpoint covers the whole organisation.
        podIds:
          type: array
          items:
            type: string
          description: Limit events to these pods and every inbox in them.
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        disabledAt:
          type: string
          format: date-time
          nullable: true
        stats24h:
          type: object
          additionalProperties: true
          description: Delivery counts over the last 24 hours. Returned by list and get.
          properties:
            delivered:
              type: integer
            failed:
              type: integer
            pending:
              type: integer
            total:
              type: integer
            errorRate:
              type: number
              description: '`failed / total`, 0 when there were no deliveries.'
    Error:
      type: object
      additionalProperties: true
      properties:
        error:
          type: string
        message:
          type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API key

````

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