Postman Webhooks API

The Webhooks API creates webhooks that trigger collection runs with custom payloads, integrating Postman with external systems (GitHub, Slack, custom triggers) for event-driven automation.

OpenAPI Specification

postman-webhooks-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Postman Webhooks API
  version: 1.0.0
  description: 'Operations tagged webhooks across 2 of this provider''s published API definitions: postman-api-openapi.yml, postman-webhooks-api-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.postman.com
  description: https://api.postman.com
- url: https://api.eu.postman.com
  description: https://api.eu.postman.com
tags:
- name: webhooks
paths:
  /webhooks:
    post:
      operationId: createWebhook
      summary: Create a webhook
      description: 'Creates a webhook that triggers a collection with a custom payload. You can get the webhook''s URL from the `webhookUrl` property in the endpoint''s response.


        **Note:**


        If you do not include the `workspace` query parameter, the system creates the webhook in the oldest personal Internal workspace you own.

        '
      tags:
      - webhooks
      parameters:
      - name: workspace
        in: query
        description: The workspace's ID.
        required: true
        schema:
          $ref: '#/components/schemas/workspaceId'
      - name: x-api-key
        in: header
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/createWebhookResponse'
        '400':
          description: Missing Parameter
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/commonErrorNameMessageDetails'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateWebhookRequestUnauthorizedError'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateWebhookRequestInternalServerError'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/createWebhook'
    servers:
    - url: https://api.postman.com
      description: https://api.postman.com
    - url: https://api.eu.postman.com
      description: https://api.eu.postman.com
components:
  schemas:
    commonErrorNameMessage:
      type: object
      properties:
        error:
          $ref: '#/components/schemas/CommonErrorNameMessageError'
          description: Information about the error.
      title: commonErrorNameMessage
    commonErrorTypeTitleDetail:
      type: object
      properties:
        type:
          type: string
          description: The type of error.
        title:
          type: string
          description: A short summary of the problem.
        detail:
          $ref: '#/components/schemas/CommonErrorTypeTitleDetailDetail'
          description: Information about the error.
      title: commonErrorTypeTitleDetail
    CreateWebhookResponseWebhook:
      type: object
      properties:
        id:
          type: string
          description: The webhook's ID.
        name:
          type: string
          description: The webhook's name.
        collection:
          type: string
          format: uid
          description: The unique ID of the collection that triggers when calling this webhook.
        webhookUrl:
          type: string
          description: The webhook's URL.
        uid:
          type: string
          format: uid
          description: The webhook's unique ID.
      title: CreateWebhookResponseWebhook
    CommonErrorNameMessageDetailsErrorDetails:
      oneOf:
      - type: object
        additionalProperties:
          description: Any type
      - type: array
        items:
          type: string
      description: Information about the error.
      title: CommonErrorNameMessageDetailsErrorDetails
    commonErrorTypeTitleDetailStatus:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/CommonErrorTypeTitleDetailStatusType'
        title:
          type: string
          description: A short summary of the problem.
        detail:
          type: string
          description: Information about the error.
        status:
          type: integer
          description: The error's HTTP status code.
      title: commonErrorTypeTitleDetailStatus
    workspaceId:
      type: string
      title: workspaceId
    CreateWebhookRequestUnauthorizedError:
      oneOf:
      - $ref: '#/components/schemas/commonErrorTypeTitleDetailStatus'
      - $ref: '#/components/schemas/commonErrorNameMessage'
      title: CreateWebhookRequestUnauthorizedError
    CreateWebhookRequestInternalServerError:
      oneOf:
      - $ref: '#/components/schemas/commonErrorTypeTitleDetail'
      - $ref: '#/components/schemas/commonErrorTypeTitleDetailStatus'
      - $ref: '#/components/schemas/commonErrorNameMessage'
      title: CreateWebhookRequestInternalServerError
    CreateWebhookWebhook:
      type: object
      properties:
        collection:
          type: string
          format: uid
          description: The unique ID of the collection to trigger when calling this webhook.
        environment:
          type: string
          format: uid
          description: The unique ID of the environment to trigger when calling this webhook.
        name:
          type: string
          description: The webhook's name. On success, the system creates a new monitor with this name in the **Monitors** tab.
      required:
      - collection
      - name
      title: CreateWebhookWebhook
    CommonErrorTypeTitleDetailDetail:
      oneOf:
      - type: string
      - type: object
        additionalProperties:
          description: Any type
      description: Information about the error.
      title: CommonErrorTypeTitleDetailDetail
    commonErrorNameMessageDetails:
      type: object
      properties:
        error:
          $ref: '#/components/schemas/CommonErrorNameMessageDetailsError'
      title: commonErrorNameMessageDetails
    CommonErrorTypeTitleDetailStatusType:
      oneOf:
      - type: string
        format: uri-reference
      - type: string
      title: CommonErrorTypeTitleDetailStatusType
    CommonErrorNameMessageDetailsError:
      type: object
      properties:
        name:
          type: string
          description: The error name.
        message:
          type: string
          description: The error message.
        details:
          $ref: '#/components/schemas/CommonErrorNameMessageDetailsErrorDetails'
          description: Information about the error.
      title: CommonErrorNameMessageDetailsError
    CommonErrorNameMessageError:
      type: object
      properties:
        name:
          type: string
          description: The error name.
        message:
          type: string
          description: The error message.
      description: Information about the error.
      title: CommonErrorNameMessageError
    createWebhookResponse:
      type: object
      properties:
        webhook:
          $ref: '#/components/schemas/CreateWebhookResponseWebhook'
      title: createWebhookResponse
    createWebhook:
      type: object
      properties:
        webhook:
          $ref: '#/components/schemas/CreateWebhookWebhook'
      title: createWebhook
  securitySchemes:
    PostmanApiKey:
      type: apiKey
      in: header
      name: x-api-key
    basicAuth:
      type: http
      scheme: basic
    scimApiKey:
      type: apiKey
      in: header
      name: Authorization
      description: A valid [SCIM API key](https://learning.postman.com/docs/administration/scim-provisioning/scim-provisioning-overview/#generating-scim-api-key) for calls to SCIM endpoints.
x-refined-from:
- postman-api-openapi.yml
- postman-webhooks-api-openapi.yml
x-provenance:
  first_party: true
  method: harvested
  provider_published: true
  source: https://learning.postman.com/api-docs/openapi.json
  harvested: '2026-08-05'
  note: Postman's own OpenAPI 3.1 definition for the Postman API, served by its Fern-hosted API reference. 162 paths, 256 operations, servers api.postman.com and api.eu.postman.com.