Postman · AsyncAPI Specification

Postman Webhooks

Version 1.0.0

Postman Webhooks enable you to receive incoming HTTP POST requests that trigger collection runs. When an external system sends a POST request to a Postman webhook URL, the webhook triggers a collection run and makes the incoming payload available as variables during the run. This provides a way to integrate Postman with CI/CD pipelines, monitoring systems, and other external services that need to trigger automated API testing workflows. Postman also supports custom webhooks for monitor notifications, which deliver alerts about monitor run failures and errors to your configured endpoints.

View Spec View on GitHub AI Agent BuilderAPI DevelopmentAPI DocumentationAPI GovernanceAPI MonitoringAPI TestingAutomationClientClientsCollaborationCollectionsDiscoveryEnvironmentsMCPMock ServersMockingNetworkPlatformTestingWorkflowsWorkspacesAsyncAPIWebhooksEvents

Channels

/webhook/trigger
publish triggerCollectionRun
Trigger a collection run via webhook
Channel for incoming webhook triggers that initiate collection runs. When an external system sends a POST request to the webhook URL, Postman triggers the associated collection run and passes the request payload as variables available during the run.
/webhook/monitor-notification
subscribe receiveMonitorNotification
Receive a monitor run notification
Channel for outgoing monitor run notifications. When a monitor run completes with failures or errors, Postman sends a notification to configured webhook endpoints with details about the run results.
/webhook/integration-notification
subscribe receiveIntegrationNotification
Receive an integration notification
Channel for integration webhook notifications. Postman can send notifications to external services (Slack, Microsoft Teams, PagerDuty, etc.) when specific events occur, such as monitor failures, collection updates, or team activity changes.

Messages

WebhookTriggerPayload
Webhook Trigger Payload
The payload sent to a Postman webhook URL to trigger a collection run. The payload contents are user-defined and become available as variables during the collection run.
MonitorNotification
Monitor Run Notification
Notification sent when a Postman monitor run completes. Contains run results including test pass/fail counts, response times, and error details.
IntegrationNotification
Integration Notification
Notification sent to external integrations when specific Postman events occur, such as monitor failures, collection updates, or team changes.

Servers

https
webhook-receiver {webhookUrl}
Your webhook receiver endpoint. External systems send POST requests to the Postman-generated webhook URL to trigger collection runs. The webhook URL is generated when you create a webhook via the Postman API.
https
monitor-notification-receiver {notificationUrl}
Your notification endpoint that receives monitor run results. Configure this URL in your Postman monitor's notification settings or through integrations.

AsyncAPI Specification

Raw ↑
asyncapi: 2.6.0
info:
  title: Postman Webhooks
  description: >-
    Postman Webhooks enable you to receive incoming HTTP POST requests that
    trigger collection runs. When an external system sends a POST request to
    a Postman webhook URL, the webhook triggers a collection run and makes the
    incoming payload available as variables during the run. This provides a way
    to integrate Postman with CI/CD pipelines, monitoring systems, and other
    external services that need to trigger automated API testing workflows.

    Postman also supports custom webhooks for monitor notifications, which
    deliver alerts about monitor run failures and errors to your configured
    endpoints.
  version: '1.0.0'
  contact:
    name: Postman Developer Support
    url: https://learning.postman.com/docs/developer/postman-api/intro-api/
    email: [email protected]
  license:
    name: Postman Terms of Service
    url: https://www.postman.com/legal/terms/
  externalDocs:
    description: Postman Webhooks Documentation
    url: https://learning.postman.com/docs/developer/postman-api/intro-api/
servers:
  webhook-receiver:
    url: '{webhookUrl}'
    protocol: https
    description: >-
      Your webhook receiver endpoint. External systems send POST requests to
      the Postman-generated webhook URL to trigger collection runs. The webhook
      URL is generated when you create a webhook via the Postman API.
    variables:
      webhookUrl:
        description: >-
          The webhook URL generated by Postman when the webhook is created.
          This URL is unique to each webhook and includes authentication
          built into the URL path.
  monitor-notification-receiver:
    url: '{notificationUrl}'
    protocol: https
    description: >-
      Your notification endpoint that receives monitor run results. Configure
      this URL in your Postman monitor's notification settings or through
      integrations.
    variables:
      notificationUrl:
        description: >-
          The URL configured to receive monitor notification webhooks.
channels:
  /webhook/trigger:
    description: >-
      Channel for incoming webhook triggers that initiate collection runs.
      When an external system sends a POST request to the webhook URL, Postman
      triggers the associated collection run and passes the request payload
      as variables available during the run.
    publish:
      operationId: triggerCollectionRun
      summary: Trigger a collection run via webhook
      description: >-
        External systems send POST requests with JSON payloads to this
        channel. The payload data becomes available as variables in the
        collection being run, accessible via pm.variables.get() in
        pre-request and test scripts.
      bindings:
        http:
          type: request
          method: POST
          headers:
            type: object
            properties:
              Content-Type:
                type: string
                enum: [application/json]
      message:
        $ref: '#/components/messages/WebhookTriggerPayload'
  /webhook/monitor-notification:
    description: >-
      Channel for outgoing monitor run notifications. When a monitor run
      completes with failures or errors, Postman sends a notification to
      configured webhook endpoints with details about the run results.
    subscribe:
      operationId: receiveMonitorNotification
      summary: Receive a monitor run notification
      description: >-
        Postman sends monitor run result notifications as HTTP POST requests
        with JSON payloads to configured webhook endpoints. Notifications are
        sent when a monitor run completes with test failures or errors.
      bindings:
        http:
          type: request
          method: POST
          headers:
            type: object
            properties:
              Content-Type:
                type: string
                enum: [application/json]
              User-Agent:
                type: string
                description: Postman user agent string
      message:
        $ref: '#/components/messages/MonitorNotification'
  /webhook/integration-notification:
    description: >-
      Channel for integration webhook notifications. Postman can send
      notifications to external services (Slack, Microsoft Teams, PagerDuty,
      etc.) when specific events occur, such as monitor failures, collection
      updates, or team activity changes.
    subscribe:
      operationId: receiveIntegrationNotification
      summary: Receive an integration notification
      description: >-
        Postman sends event notifications to configured integration endpoints.
        These notifications are triggered by various Postman events and
        delivered as HTTP POST requests.
      bindings:
        http:
          type: request
          method: POST
          headers:
            type: object
            properties:
              Content-Type:
                type: string
                enum: [application/json]
      message:
        $ref: '#/components/messages/IntegrationNotification'
components:
  messages:
    WebhookTriggerPayload:
      name: WebhookTriggerPayload
      title: Webhook Trigger Payload
      summary: >-
        The payload sent to a Postman webhook URL to trigger a collection run.
        The payload contents are user-defined and become available as variables
        during the collection run.
      contentType: application/json
      payload:
        type: object
        description: >-
          User-defined payload. All top-level keys become available as
          variables in the collection run via pm.variables.get(key).
        additionalProperties: true
        example:
          environment: production
          buildNumber: "1234"
          triggeredBy: ci-pipeline
          testSuite: regression
    MonitorNotification:
      name: MonitorNotification
      title: Monitor Run Notification
      summary: >-
        Notification sent when a Postman monitor run completes. Contains
        run results including test pass/fail counts, response times, and
        error details.
      contentType: application/json
      payload:
        type: object
        properties:
          monitorId:
            type: string
            description: The monitor's unique ID
          monitorName:
            type: string
            description: The monitor's display name
          collectionUid:
            type: string
            description: The UID of the collection that was run
          environmentUid:
            type: string
            description: The UID of the environment used during the run
          status:
            type: string
            enum: [success, failure, error, abort]
            description: The overall run status
          startedAt:
            type: string
            format: date-time
            description: When the run started
          finishedAt:
            type: string
            format: date-time
            description: When the run completed
          stats:
            type: object
            properties:
              requests:
                type: object
                properties:
                  total:
                    type: integer
                  failed:
                    type: integer
              assertions:
                type: object
                properties:
                  total:
                    type: integer
                  failed:
                    type: integer
          failures:
            type: array
            description: Details of failed test assertions
            items:
              type: object
              properties:
                name:
                  type: string
                  description: The test assertion name
                error:
                  type: string
                  description: The error message
                request:
                  type: object
                  properties:
                    name:
                      type: string
                    method:
                      type: string
                    url:
                      type: string
                response:
                  type: object
                  properties:
                    statusCode:
                      type: integer
                    responseTime:
                      type: integer
          region:
            type: string
            description: The region the monitor ran from
    IntegrationNotification:
      name: IntegrationNotification
      title: Integration Notification
      summary: >-
        Notification sent to external integrations when specific Postman
        events occur, such as monitor failures, collection updates, or
        team changes.
      contentType: application/json
      payload:
        type: object
        properties:
          event:
            type: string
            description: The event type that triggered the notification
            enum:
              - monitor.run.success
              - monitor.run.failure
              - monitor.run.error
              - collection.updated
              - environment.updated
              - team.member_added
              - team.member_removed
          timestamp:
            type: string
            format: date-time
          data:
            type: object
            description: Event-specific data. Structure varies by event type.
            additionalProperties: true