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

# Verify webhook

> Verify the HMAC-SHA256 signature of a webhook payload against the destination's signing key



## OpenAPI

````yaml https://api.ghostsecurity.ai/openapi.json post /v2/webhook-deliveries/{id}/verify
openapi: 3.1.0
info:
  contact:
    email: support@ghostsecurity.com
    name: Ghost Security
    url: https://ghostsecurity.com/
  description: 'Provide your Bearer token as: Bearer <token>'
  title: Ghost API
  version: 2.0.0
servers:
  - description: Ghost Security API server
    url: https://api.ghostsecurity.ai
security: []
externalDocs:
  description: ''
  url: ''
paths:
  /v2/webhook-deliveries/{id}/verify:
    post:
      tags:
        - integrations.v2
      summary: Verify webhook
      description: >-
        Verify the HMAC-SHA256 signature of a webhook payload against the
        destination's signing key
      parameters:
        - description: Webhook Delivery ID
          in: path
          name: id
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/types.VerifyWebhookPayloadRequest'
        description: Payload verification data
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/types.VerifyWebhookPayloadResponse'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/types.ErrorBadRequest'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/types.ErrorUnauthorized'
          description: Unauthorized
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/types.ErrorNotFound'
          description: Not Found
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/types.ErrorInternalServerError'
          description: Internal Server Error
      security:
        - bearerauth: []
components:
  schemas:
    types.VerifyWebhookPayloadRequest:
      description: Webhook payload verification request
      properties:
        payload:
          type: string
        signature:
          type: string
      required:
        - payload
        - signature
      type: object
    types.VerifyWebhookPayloadResponse:
      description: Webhook payload verification response
      properties:
        delivery_id:
          type: string
        message:
          type: string
        status:
          type: string
        valid:
          type: boolean
      type: object
    types.ErrorBadRequest:
      description: Error response for bad requests
      properties:
        error:
          description: Error message
          example: Invalid request body
          type: string
      type: object
    types.ErrorUnauthorized:
      description: Error response for unauthorized requests
      properties:
        error:
          description: Error message
          example: Unauthorized
          type: string
      type: object
    types.ErrorNotFound:
      properties:
        error:
          description: Error message
          example: Resource not found
          type: string
      type: object
    types.ErrorInternalServerError:
      description: Error response for internal server errors
      properties:
        error:
          description: Error message
          example: Internal server error
          type: string
      type: object
  securitySchemes:
    bearerauth:
      bearerFormat: JWT
      scheme: bearer
      type: http

````