Atlassian Webhooks API

The Webhooks API from Atlassian — 9 operation(s) for webhooks.

Operations 7

GET /hook_events Atlassian Get A Webhook Resource #
GET /hook_events/{subject_type} Atlassian List Subscribable Webhook Types #
DELETE /rest/api/3/webhook Atlassian Delete Webhooks By Id #
GET /rest/api/3/webhook Atlassian Get Dynamic Webhooks For App #
POST /rest/api/3/webhook Atlassian Register Dynamic Webhooks #
GET /rest/api/3/webhook/failed Atlassian Get Failed Webhooks #
PUT /rest/api/3/webhook/refresh Atlassian Extend Webhook Life #

Documentation

📖
Documentation
https://developer.atlassian.com/cloud/bitbucket/rest/api-group-addon/
📖
Documentation
https://developer.atlassian.com/cloud/bitbucket/rest/api-group-webhooks/
📖
Documentation
https://developer.atlassian.com/cloud/bitbucket/rest/api-group-pullrequests/
📖
Documentation
https://developer.atlassian.com/cloud/bitbucket/rest/api-group-repositories/
📖
Documentation
https://developer.atlassian.com/cloud/bitbucket/rest/api-group-snippets/
📖
Documentation
https://developer.atlassian.com/cloud/bitbucket/rest/api-group-workspaces/
📖
Documentation
https://developer.atlassian.com/cloud/bitbucket/rest/api-group-users/
📖
Documentation
https://developer.atlassian.com/cloud/confluence/rest/v1/api-group-analytics/
📖
Documentation
https://developer.atlassian.com/cloud/confluence/rest/v1/api-group-audit/
📖
Documentation
https://developer.atlassian.com/cloud/confluence/connect-modules/
📖
Documentation
https://developer.atlassian.com/cloud/confluence/rest/v2/intro/
📖
Documentation
https://developer.atlassian.com/cloud/confluence/rest/v1/api-group-content-body/
📖
Documentation
https://developer.atlassian.com/cloud/confluence/rest/v1/api-group-content-states/
📖
Documentation
https://developer.atlassian.com/cloud/confluence/rest/v1/api-group-group/
📖
Documentation
https://developer.atlassian.com/cloud/confluence/rest/v1/api-group-inline-tasks
📖
Documentation
https://developer.atlassian.com/cloud/confluence/rest/v1/api-group-content-labels/
📖
Documentation
https://developer.atlassian.com/cloud/confluence/rest/v1/api-group-long-running-task/
📖
Documentation
https://developer.atlassian.com/cloud/confluence/rest/v1/api-group-relation/
📖
Documentation
https://developer.atlassian.com/cloud/confluence/rest/v1/api-group-search/
📖
Documentation
https://developer.atlassian.com/cloud/confluence/rest/v1/api-group-settings/
📖
Documentation
https://developer.atlassian.com/cloud/confluence/rest/v1/api-group-space/
📖
Documentation
https://developer.atlassian.com/cloud/confluence/rest/v1/api-group-template/
📖
Documentation
https://developer.atlassian.com/cloud/confluence/rest/v2/api-group-user/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-announcement-banner/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issue-custom-field-values--apps-/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-app-openapi
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-application-roles/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issue-attachments/
📖
Documentation
https://developer.atlassian.com/server/framework/atlassian-sdk/audit/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-avatars/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-classification-levels/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issue-comments/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-project-components/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-jira-settings/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/getting-started-with-connect/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/connect-api-migration/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-service-registry/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issue-custom-field-options/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-dashboards/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/data-security-policy-developer-guide/
📖
Documentation
https://developer.atlassian.com/platform/forge/events-reference/jira/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-jira-expressions/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issue-fields/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issue-field-configurations/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-filters/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/forge/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v2/api-group-groups/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-group-and-user-picker/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-groups/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v2/api-group-issues/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issue-links/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issue-security-schemes/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v2/api-group-issue-types/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issue-type-schemes/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issue-type-screen-schemes/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issue-search/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-labels/
📖
Documentation
https://developer.atlassian.com/platform/marketplace/license-api-for-cloud-apps/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-license-metrics/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-permissions/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-myself/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issue-notification-schemes/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-project-permission-schemes/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v2/api-group-issue-priorities/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-projects/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-project-categories/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-project-key-and-name-validation/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issue-resolutions/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v2/api-group-project-roles/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v2/api-group-screens/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v2/api-group-screen-schemes/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issue-security-level/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-server-info/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-workflow-statuses/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-workflow-status-categories/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-tasks/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-ui-modifications--apps-/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v2/api-group-avatars/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-users/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-project-versions/
📖
Documentation
https://developer.atlassian.com/server/jira/platform/webhooks/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-workflows/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v2/api-group-workflow-schemes/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issue-worklogs/
📖
Documentation
https://developer.atlassian.com/cloud/admin/organization/rest/
📖
Documentation
https://developer.atlassian.com/cloud/admin/user-management/rest/
📖
Documentation
https://developer.atlassian.com/cloud/admin/user-provisioning/rest/

Specifications

Schemas & Data

📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-schema/atlassian-bitbucket-hook-events-paginated_hook_events-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-schema/atlassian-bitbucket-pull-requests-a_pullrequest_comment_task-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-schema/atlassian-bitbucket-repositories-account-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-schema/atlassian-bitbucket-snippets-account-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-schema/atlassian-bitbucket-teams-account-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-schema/atlassian-bitbucket-user-account-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-schema/atlassian-bitbucket-workspaces-account-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-schema/atlassian-confluence-content-body-async-content-body-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-schema/atlassian-confluence-content-states-async-id-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-schema/atlassian-confluence-group-group-array-with-links-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-schema/atlassian-confluence-inline-tasks-task-page-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-schema/atlassian-confluence-longtask-long-task-status-with-links-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-schema/atlassian-confluence-search-search-page-response-search-result-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-schema/atlassian-confluence-space-content-state-settings-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-schema/atlassian-confluence-template-blueprint-template-array-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-schema/atlassian-confluence-user-account-id-email-record-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-schema/atlassian-admin-domain-page-schema.json

Other Resources

🔗
GraphQL
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/graphql/atlassian-graphql.md
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-ld/atlassian-bitbucket-hook-events-context.jsonld
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-ld/atlassian-bitbucket-pull-requests-context.jsonld
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-ld/atlassian-bitbucket-repositories-context.jsonld
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-ld/atlassian-bitbucket-snippets-context.jsonld
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-ld/atlassian-bitbucket-teams-context.jsonld
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-ld/atlassian-bitbucket-user-context.jsonld
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-ld/atlassian-bitbucket-workspaces-context.jsonld
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-ld/atlassian-confluence-audit-context.jsonld
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-ld/atlassian-confluence-content-context.jsonld
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-ld/atlassian-confluence-content-body-context.jsonld
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-ld/atlassian-confluence-content-states-context.jsonld
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-ld/atlassian-confluence-group-context.jsonld
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-ld/atlassian-confluence-inline-tasks-context.jsonld
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-ld/atlassian-confluence-longtask-context.jsonld
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-ld/atlassian-confluence-relation-context.jsonld
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-ld/atlassian-confluence-search-context.jsonld
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-ld/atlassian-confluence-settings-context.jsonld
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-ld/atlassian-confluence-space-context.jsonld
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-ld/atlassian-confluence-template-context.jsonld
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-ld/atlassian-confluence-user-context.jsonld
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-ld/atlassian-admin-context.jsonld

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/atlassian-webhooks-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

atlassian-webhooks-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Atlassian Webhooks API
  version: '1.0'
  description: 'Operations tagged Webhooks across 2 of this provider''s published API definitions: bitbucket-openapi-original.yml, jira-openapi-original.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.bitbucket.org/2.0
- url: https://your-domain.atlassian.net
tags:
- name: Webhooks
  description: 'Webhooks provide a way to configure Bitbucket Cloud to make requests to

    your server (or another external service) whenever certain events occur in

    Bitbucket Cloud.


    A webhook consists of:


    * A subject -- The resource that generates the events. Currently, this resource

    is the repository, user account, or team where you create the webhook.

    * One or more event -- The default event is a repository push, but you can

    select multiple events that can trigger the webhook.

    * A URL -- The endpoint where you want Bitbucket to send the event payloads

    when a matching event happens.


    There are two parts to getting a webhook to work: creating the webhook and

    triggering the webhook. After you create a webhook for an event, every time

    that event occurs, Bitbucket sends a payload request that describes the event

    to the specified URL. Thus, you can think of webhooks as a kind of

    notification system.


    Use webhooks to integrate applications with Bitbucket Cloud. The following

    use cases provides examples of when you would want to use webhooks:


    * Every time a user pushes commits in a repository, you may want to notify

    your CI server to start a build.

    * Every time a user pushes commits or creates a pull request, you may want to

    display a notification in your application.

    '
paths:
  /hook_events:
    parameters: []
    get:
      tags:
      - Webhooks
      description: Returns the webhook resource or subject types on which webhooks can<br>be registered.<br><br>Each resource/subject type contains an `events` link that returns the<br>paginated list of specific events each individual subject type can<br>emit.<br><br>This endpoint is publicly accessible and does not require<br>authentication or scopes.
      summary: Atlassian Get A Webhook Resource
      responses:
        '200':
          description: A mapping of resource/subject types pointing to their individual event types.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/subject_types'
              examples:
                response:
                  value:
                    repository:
                      links:
                        events:
                          href: https://api.bitbucket.org/2.0/hook_events/repository
                    workspace:
                      links:
                        events:
                          href: https://api.bitbucket.org/2.0/hook_events/workspace
      security:
      - oauth2: []
      - basic: []
      - api_key: []
      operationId: atlassianGetAWebhookResource
    servers:
    - url: https://api.bitbucket.org/2.0
  /hook_events/{subject_type}:
    parameters:
    - name: subject_type
      in: path
      description: A resource or subject type.
      required: true
      schema:
        type: string
        enum:
        - repository
        - workspace
    get:
      tags:
      - Webhooks
      description: 'Returns a paginated list of all valid webhook events for the<br>specified entity.<br>**The team and user webhooks are deprecated, and you should use workspace instead.<br>For more information, see [the announcement](https://developer.atlassian.com/cloud/bitbucket/bitbucket-api-teams-deprecation/).**<br><br>This is public data that does not require any scopes or authentication.<br><br>NOTE: The example response is a truncated response object for the `workspace` `subject_type`.<br>We return the same structure for the other `subject_type` objects.'
      summary: Atlassian List Subscribable Webhook Types
      responses:
        '200':
          description: A paginated list of webhook types available to subscribe on.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/paginated_hook_events'
              examples:
                response:
                  value:
                    page: 1
                    pagelen: 30
                    size: 4
                    values:
                    - category: Repository
                      description: Whenever a repository push occurs
                      event: repo:push
                      label: Push
                    - category: Repository
                      description: Whenever a repository fork occurs
                      event: repo:fork
                      label: Fork
                    - category: Repository
                      description: Whenever a repository import occurs
                      event: repo:imported
                      label: Import
                    - category: Pull Request
                      label: Approved
                      description: When someone has approved a pull request
                      event: pullrequest:approved
        '404':
          description: If an invalid `{subject_type}` value was specified.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
      - oauth2: []
      - basic: []
      - api_key: []
      operationId: atlassianListSubscribableWebhookTypes
    servers:
    - url: https://api.bitbucket.org/2.0
  /rest/api/3/webhook:
    delete:
      deprecated: false
      description: Removes webhooks by ID. Only webhooks registered by the calling app are removed. If webhooks created by other apps are specified, they are ignored.<br><br>**[Permissions](#permissions) required:** Only [Connect](https://developer.atlassian.com/cloud/jira/platform/#connect-apps) and [OAuth 2.0](https://developer.atlassian.com/cloud/jira/platform/oauth-2-3lo-apps) apps can use this operation.
      operationId: atlassianDeletewebhookbyid
      parameters: []
      requestBody:
        content:
          application/json:
            example:
              webhookIds:
              - 10000
              - 10001
              - 10042
            schema:
              $ref: '#/components/schemas/ContainerForWebhookIDs'
        required: true
      responses:
        '202':
          description: Returned if the request is successful.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorCollection'
          description: Returned if the list of webhook IDs is missing.
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorCollection'
          description: Returned if the caller isn't an app.
      security:
      - basicAuth: []
      - OAuth2:
        - read:jira-work
        - manage:jira-webhook
      summary: Atlassian Delete Webhooks By Id
      tags:
      - Webhooks
      x-atlassian-data-security-policy:
      - app-access-rule-exempt: true
      x-atlassian-oauth2-scopes:
      - scheme: OAuth2
        scopes:
        - read:jira-work
        - manage:jira-webhook
        state: Current
      - scheme: OAuth2
        scopes:
        - delete:webhook:jira
        state: Beta
      x-atlassian-connect-scope: READ
    get:
      deprecated: false
      description: Returns a [paginated](#pagination) list of the webhooks registered by the calling app.<br><br>**[Permissions](#permissions) required:** Only [Connect](https://developer.atlassian.com/cloud/jira/platform/#connect-apps) and [OAuth 2.0](https://developer.atlassian.com/cloud/jira/platform/oauth-2-3lo-apps) apps can use this operation.
      operationId: atlassianGetdynamicwebhooksforapp
      parameters:
      - description: The index of the first item to return in a page of results (page offset).
        in: query
        name: startAt
        schema:
          default: 0
          format: int64
          type: integer
      - description: The maximum number of items to return per page.
        in: query
        name: maxResults
        schema:
          default: 100
          format: int32
          type: integer
      responses:
        '200':
          content:
            application/json:
              example: '{"isLast":true,"maxResults":3,"startAt":0,"total":3,"values":[{"events":["jira:issue_updated","jira:issue_created"],"expirationDate":"2019-06-01T12:42:30.000+0000","fieldIdsFilter":["summary","customfield_10029"],"id":10000,"jqlFilter":"project = PRJ"},{"events":["jira:issue_created"],"expirationDate":"2019-06-01T12:42:30.000+0000","id":10001,"jqlFilter":"issuetype = Bug"},{"events":["issue_property_set"],"expirationDate":"2019-06-01T12:42:30.000+0000","id":10002,"issuePropertyKeysFilter":["my-issue-property-key"],"jqlFilter":"project = PRJ"}]}'
              schema:
                $ref: '#/components/schemas/PageBeanWebhook'
          description: Returned if the request is successful.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorCollection'
          description: Returned if the request is invalid.
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorCollection'
          description: Returned if the caller isn't an app.
      security:
      - basicAuth: []
      - OAuth2:
        - read:jira-work
        - manage:jira-webhook
      summary: Atlassian Get Dynamic Webhooks For App
      tags:
      - Webhooks
      x-atlassian-data-security-policy:
      - app-access-rule-exempt: true
      x-atlassian-oauth2-scopes:
      - scheme: OAuth2
        scopes:
        - read:jira-work
        - manage:jira-webhook
        state: Current
      - scheme: OAuth2
        scopes:
        - read:webhook:jira
        - read:jql:jira
        state: Beta
      x-atlassian-connect-scope: READ
    post:
      deprecated: false
      description: Registers webhooks.<br><br>**NOTE:** for non-public OAuth apps, webhooks are delivered only if there is a match between the app owner and the user who registered a dynamic webhook.<br><br>**[Permissions](#permissions) required:** Only [Connect](https://developer.atlassian.com/cloud/jira/platform/#connect-apps) and [OAuth 2.0](https://developer.atlassian.com/cloud/jira/platform/oauth-2-3lo-apps) apps can use this operation.
      operationId: atlassianRegisterdynamicwebhooks
      parameters: []
      requestBody:
        content:
          application/json:
            example:
              url: https://your-app.example.com/webhook-received
              webhooks:
              - events:
                - jira:issue_created
                - jira:issue_updated
                fieldIdsFilter:
                - summary
                - customfield_10029
                jqlFilter: project = PROJ
              - events:
                - jira:issue_deleted
                jqlFilter: project IN (PROJ, EXP) AND status = done
              - events:
                - issue_property_set
                issuePropertyKeysFilter:
                - my-issue-property-key
                jqlFilter: project = PROJ
            schema:
              $ref: '#/components/schemas/WebhookRegistrationDetails'
        required: true
      responses:
        '200':
          content:
            application/json:
              example: '{"webhookRegistrationResult":[{"createdWebhookId":1000},{"errors":["The clause watchCount is unsupported"]},{"createdWebhookId":1001}]}'
              schema:
                $ref: '#/components/schemas/ContainerForRegisteredWebhooks'
          description: Returned if the request is successful.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorCollection'
          description: Returned if the request is invalid.
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorCollection'
          description: Returned if the caller isn't an app.
      security:
      - basicAuth: []
      - OAuth2:
        - read:jira-work
        - manage:jira-webhook
      summary: Atlassian Register Dynamic Webhooks
      tags:
      - Webhooks
      x-atlassian-data-security-policy:
      - app-access-rule-exempt: true
      x-atlassian-oauth2-scopes:
      - scheme: OAuth2
        scopes:
        - read:jira-work
        - manage:jira-webhook
        state: Current
      - scheme: OAuth2
        scopes:
        - read:field:jira
        - read:project:jira
        - write:webhook:jira
        state: Beta
      x-atlassian-connect-scope: READ
    servers:
    - url: https://your-domain.atlassian.net
  /rest/api/3/webhook/failed:
    get:
      deprecated: false
      description: Returns webhooks that have recently failed to be delivered to the requesting app after the maximum number of retries.<br><br>After 72 hours the failure may no longer be returned by this operation.<br><br>The oldest failure is returned first.<br><br>This method uses a cursor-based pagination. To request the next page use the failure time of the last webhook on the list as the `failedAfter` value or use the URL provided in `next`.<br><br>**[Permissions](#permissions) required:** Only [Connect apps](https://developer.atlassian.com/cloud/jira/platform/index/#connect-apps) can use this operation.
      operationId: atlassianGetfailedwebhooks
      parameters:
      - description: The maximum number of webhooks to return per page. If obeying the maxResults directive would result in records with the same failure time being split across pages, the directive is ignored and all records with the same failure time included on the page.
        in: query
        name: maxResults
        schema:
          format: int32
          type: integer
      - description: The time after which any webhook failure must have occurred for the record to be returned, expressed as milliseconds since the UNIX epoch.
        in: query
        name: after
        schema:
          format: int64
          type: integer
      responses:
        '200':
          content:
            application/json:
              example: '{"values":[{"id":"1","body":"{\"data\":\"webhook data\"}","url":"https://example.com","failureTime":1573118132000},{"id":"2","url":"https://example.com","failureTime":1573540473480}],"maxResults":100,"next":"https://your-domain.atlassian.net/rest/api/3/webhook/failed?failedAfter=1573540473480&maxResults=100"}'
              schema:
                $ref: '#/components/schemas/FailedWebhooks'
          description: Returned if the request is successful.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorCollection'
          description: 400 response
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorCollection'
          description: Returned if the caller is not a Connect app.
      security:
      - basicAuth: []
      - OAuth2:
        - read:jira-work
        - manage:jira-webhook
      summary: Atlassian Get Failed Webhooks
      tags:
      - Webhooks
      x-atlassian-data-security-policy:
      - app-access-rule-exempt: true
      x-atlassian-oauth2-scopes:
      - scheme: OAuth2
        scopes:
        - read:jira-work
        - manage:jira-webhook
        state: Current
      - scheme: OAuth2
        scopes:
        - read:issue-details:jira
        - read:webhook:jira
        - read:comment.property:jira
        - read:group:jira
        - read:issue-type:jira
        - read:project-role:jira
        - read:epic:jira-software
        state: Beta
      x-experimental: true
      x-atlassian-connect-scope: READ
    servers:
    - url: https://your-domain.atlassian.net
  /rest/api/3/webhook/refresh:
    put:
      deprecated: false
      description: Extends the life of webhook. Webhooks registered through the REST API expire after 30 days. Call this operation to keep them alive.<br><br>Unrecognized webhook IDs (those that are not found or belong to other apps) are ignored.<br><br>**[Permissions](#permissions) required:** Only [Connect](https://developer.atlassian.com/cloud/jira/platform/#connect-apps) and [OAuth 2.0](https://developer.atlassian.com/cloud/jira/platform/oauth-2-3lo-apps) apps can use this operation.
      operationId: atlassianRefreshwebhooks
      parameters: []
      requestBody:
        content:
          application/json:
            example:
              webhookIds:
              - 10000
              - 10001
              - 10042
            schema:
              $ref: '#/components/schemas/ContainerForWebhookIDs'
        required: true
      responses:
        '200':
          content:
            application/json:
              example: '{"expirationDate":"2019-06-01T12:42:30.000+0000"}'
              schema:
                $ref: '#/components/schemas/WebhooksExpirationDate'
          description: Returned if the request is successful.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorCollection'
          description: Returned if the request is invalid.
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorCollection'
          description: Returned if the caller isn't an app.
      security:
      - basicAuth: []
      - OAuth2:
        - read:jira-work
        - manage:jira-webhook
      summary: Atlassian Extend Webhook Life
      tags:
      - Webhooks
      x-atlassian-data-security-policy:
      - app-access-rule-exempt: true
      x-atlassian-oauth2-scopes:
      - scheme: OAuth2
        scopes:
        - read:jira-work
        - manage:jira-webhook
        state: Current
      - scheme: OAuth2
        scopes:
        - write:webhook:jira
        - read:webhook:jira
        state: Beta
      x-atlassian-connect-scope: READ
    servers:
    - url: https://your-domain.atlassian.net
components:
  schemas:
    hook_event:
      type: object
      title: Hook Event
      description: An event, associated with a resource or subject type.
      properties:
        event:
          type: string
          description: The event identifier.
          enum:
          - pullrequest:comment_reopened
          - pullrequest:approved
          - issue:comment_created
          - repo:push
          - pullrequest:comment_deleted
          - pullrequest:fulfilled
          - pullrequest:comment_created
          - pullrequest:comment_updated
          - pullrequest:updated
          - repo:commit_status_created
          - pullrequest:unapproved
          - repo:updated
          - pullrequest:comment_resolved
          - repo:transfer
          - repo:commit_status_updated
          - pullrequest:changes_request_created
          - issue:updated
          - repo:created
          - pullrequest:changes_request_removed
          - pullrequest:rejected
          - pullrequest:created
          - issue:created
          - repo:imported
          - repo:commit_comment_created
          - project:updated
          - repo:fork
          - repo:deleted
        category:
          type: string
          description: The category this event belongs to.
        label:
          type: string
          description: Summary of the webhook event type.
        description:
          type: string
          description: More detailed description of the webhook event type.
      additionalProperties: false
    subject_types:
      type: object
      title: Subject Types
      description: The mapping of resource/subject types pointing to their individual event types.
      properties:
        repository:
          type: object
          properties:
            events:
              type: object
              title: Link
              description: A link to a resource related to this object.
              properties:
                href:
                  type: string
                  format: uri
                name:
                  type: string
              additionalProperties: false
          additionalProperties: false
        workspace:
          type: object
          properties:
            events:
              type: object
              title: Link
              description: A link to a resource related to this object.
              properties:
                href:
                  type: string
                  format: uri
                name:
                  type: string
              additionalProperties: false
          additionalProperties: false
      additionalProperties: false
    error:
      type: object
      title: Error
      description: Base type for most resource objects. It defines the common `type` element that identifies an object's type. It also identifies the element as Swagger's `discriminator`.
      properties:
        type:
          type: string
        error:
          type: object
          properties:
            message:
              type: string
            detail:
              type: string
            data:
              type: object
              description: Optional structured data that is endpoint-specific.
              properties: {}
              additionalProperties: true
          required:
          - message
          additionalProperties: false
      required:
      - type
      additionalProperties: true
    paginated_hook_events:
      type: object
      title: Paginated Hook Events
      description: A paginated list of webhook types available to subscribe on.
      properties:
        size:
          type: integer
          description: Total number of objects in the response. This is an optional element that is not provided in all responses, as it can be expensive to compute.
          minimum: 0
        page:
          type: integer
          description: Page number of the current results. This is an optional element that is not provided in all responses.
          minimum: 1
        pagelen:
          type: integer
          description: Current number of objects on the existing page. The default value is 10 with 100 being the maximum allowed value. Individual APIs may enforce different values.
          minimum: 1
        next:
          type: string
          description: Link to the next page if it exists. The last page of a collection does not have this value. Use this link to navigate the result set and refrain from constructing your own URLs.
          format: uri
        previous:
          type: string
          description: Link to previous page if it exists. A collections first page does not have this value. This is an optional element that is not provided in all responses. Some result sets strictly support forward navigation and never provide previous links. Clients must anticipate that backwards navigation is not always available. Use this link to navigate the result set and refrain from constructing your own URLs.
          format: uri
        values:
          type: array
          items:
            $ref: '#/components/schemas/hook_event'
          minItems: 0
          uniqueItems: true
      additionalProperties: false
    Webhook:
      additionalProperties: false
      description: A webhook.
      properties:
        events:
          description: The Jira events that trigger the webhook.
          items:
            enum:
            - jira:issue_created
            - jira:issue_updated
            - jira:issue_deleted
            - comment_created
            - comment_updated
            - comment_deleted
            - issue_property_set
            - issue_property_deleted
            type: string
          type: array
        expirationDate:
          description: The date after which the webhook is no longer sent. Use [Extend webhook life](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-webhooks/#api-rest-api-3-webhook-refresh-put) to extend the date.
          format: int64
          readOnly: true
          type: integer
        fieldIdsFilter:
          description: A list of field IDs. When the issue changelog contains any of the fields, the webhook `jira:issue_updated` is sent. If this parameter is not present, the app is notified about all field updates.
          items:
            description: A list of field IDs. When the issue changelog contains any of the fields, the webhook <code>jira:issue_updated</code> is sent. If this parameter is not present, the app is notified about all field updates.
            type: string
          type: array
        id:
          description: The ID of the webhook.
          format: int64
          type: integer
        issuePropertyKeysFilter:
          description: A list of issue property keys. A change of those issue properties triggers the `issue_property_set` or `issue_property_deleted` webhooks. If this parameter is not present, the app is notified about all issue property updates.
          items:
            description: A list of issue property keys. A change of those issue properties triggers the <code>issue_property_set</code> or <code>issue_property_deleted</code> webhooks. If this parameter is not present, the app is notified about all issue property updates.
            type: string
          type: array
        jqlFilter:
          description: The JQL filter that specifies which issues the webhook is sent for.
          type: string
      required:
      - events
      - id
      - jqlFilter
      type: object
    ContainerForWebhookIDs:
      additionalProperties: false
      description: Container for a list of webhook IDs.
      properties:
        webhookIds:
          description: A list of webhook IDs.
          items:
            description: A list of webhook IDs.
            format: int64
            type: integer
          type: array
      required:
      - webhookIds
      type: object
    WebhookRegistrationDetails:
      additionalProperties: false
      description: Details of webhooks to register.
      properties:
        url:
          description: The URL that specifies where to send the webhooks. This URL must use the same base URL as the Connect app. Only a single URL per app is allowed to be registered.
          type: string
        webhooks:
          description: A list of webhooks.
          items:
            $ref: '#/components/schemas/WebhookDetails'
          type: array
      required:
      - url
      - webhooks
      type: object
    WebhookDetails:
      additionalProperties: false
      description: A list of webhooks.
      properties:
        events:
          description: The Jira events that trigger the webhook.
          items:
            enum:
            - jira:issue_created
            - jira:issue_updated
            - jira:issue_deleted
            - comment_created
            - comment_updated
            - comment_deleted
            - issue_property_set
            - issue_property_deleted
            type: string
          type: array
        fieldIdsFilter:
          description: A list of field IDs. When the issue changelog contains any of the fields, the webhook `jira:issue_updated` is sent. If this parameter is not present, the app is notified about all field updates.
          items:
            description: A list of field IDs. When the issue changelog contains any of the fields, the webhook <code>jira:issue_updated</code> is sent. If this parameter is not present, the app is notified about all field updates.
            type: string
          type: array
        issuePropertyKeysFilter:
          description: A list of issue property keys. A change of those issue properties triggers the `issue_property_set` or `issue_property_deleted` webhooks. If this parameter is not present, the app is notified about all issue property updates.
          items:
            description: A list of issue property keys. A change of those issue properties triggers the <code>issue_property_set</code> or <code>issue_property_deleted</code> webhooks. If this parameter is not present, the app is notified about all issue property updates.
            type: string
          type: array
        jqlFilter:
          description: "The JQL filter that specifies which issues the webhook is sent for. Only a subset of JQL can be used. The supported elements are:\n\n *  Fields: `issueKey`, `project`, `issuetype`, `status`, `assignee`, `reporter`, `issue.property`, and `cf[id]`. For custom fields (`cf[id]`), only the epic label custom field is supported.\".\n *  Operators: `=`, `!=`, `IN`, and `NOT IN`."
          type: string
      required:
      - events
      - jqlFilter
      type: object
    WebhooksExpirationDate:
      additionalProperties: false
      description: The date the refreshed webhooks expire.
      properties:
        expirationDate:
          description: The expiration date of all the refreshed webhooks.
          format: int64
          readOnly: true
          type: integer
      required:
      - expirationDate
      type: object
    ContainerForRegisteredWebhooks:
      additionalProperties: false
      description: Container for a list of registered webhooks. Webhook details are returned in the same order as the request.
      properties:
        webhookRegistrationResult:
          description: A list of registered webhooks.
          items:
            $ref: '#/components/schemas/RegisteredWebhook'
          type: array
      type: object
    ErrorCollection:
      additionalProperties: false
      description: Error messages from an operation.
      properties:
        errorMessages:
          description: The list of error messages produced by this operation. For example, "input parameter 'key' must be provided"
          items:
            type: string
          type: array
        errors:
          additionalProperties:
            type: string
          description: 'The list of errors by parameter returned by the operation. For example,"projectKey": "Project keys must start with an uppercase letter, followed by one or more uppercase alphanumeric characters."'
          type: object
        status:
          format: int32
          type: integer
      type: object
    FailedWebhooks:
      additionalProperties: false
      description: A page of failed webhooks.
      properties:
        maxResults:
          description: The maximum number of items on the page. If the list of values is shorter than this number, then there are no more pages.
          format: int32
          type: integer
        next:
          description: The URL to the next page of results. Present only if the request returned at least one result.The next page may be empty at the time of receiving the response, but new failed webhooks may appear in time. You can save the URL to the next page and query for new results periodically (for example, every hour).
          format: uri
          type: string
        values:
          description: The list of webhooks.
          items:
            $ref: '#/components/schemas/FailedWebhook'
          type: array
      required:
      - maxResults
      - values
      type: object
    RegisteredWebhook:
      additionalProperties: false
      description: ID of a registered webhook or error messages explaining why a webhook wasn't registered.
      properties:
        createdWebhookId:
          description: The ID of the webhook. Returned if the webhook is created.
          format: int64
          type: integer
        errors:
          description: Error messages specifying why the webhook creation failed.
          items:
            description: Error messages specifying why the webhook creation failed.
            type: string
          type: array
      type: object
    FailedWebhook:
      additionalProperties: false
      description: Details about a failed webhook.
      properties:
        body:
          description: The webhook body.
          type: string
        failureTime:
          description: The time the webhook was added to the list of failed webhooks (that is, the time of the last failed retry).
          format: int64
          type: integer
        id:
          description: The webhook ID, as sent in the `X-Atlassian-Webhook-Identifier` header with

# --- truncated at 32 KB (48 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/openapi/atlassian-webhooks-api-openapi.yml