JFrog Container Registry · AsyncAPI Specification
Jfrog Container Registry Platform Webhooks
Version
AsyncAPI Specification
specification: API Commons Webhooks
specificationVersion: '0.1'
provider: JFrog Container Registry
providerId: jfrog-container-registry
generated: '2026-08-29'
modified: '2026-08-29'
method: searched
source: https://docs.jfrog.com/integrations/docs/webhook-event-types
docs:
overview: https://docs.jfrog.com/integrations/docs/webhooks
event_types: https://docs.jfrog.com/integrations/docs/webhook-event-types
predefined: https://docs.jfrog.com/integrations/docs/predefined-webhooks
custom: https://docs.jfrog.com/integrations/docs/custom-webhooks
rest_api: https://docs.jfrog.com/administration/reference/createwebhooksubscription
mcp: https://docs.jfrog.com/integrations/docs/manage-webhooks-with-mcp
test: https://docs.jfrog.com/integrations/docs/test-a-webhook
troubleshooting: https://docs.jfrog.com/integrations/docs/webhooks-troubleshooting
asyncapi_published: false
description: 'JFrog publishes a real, documented event surface for the JFrog Platform — the system that
serves JFrog Container Registry. There is NO AsyncAPI document; this is the webhook catalog captured
from JFrog''s own Webhook Event Types reference. The `docker` domain is the container-registry-specific
surface: tag pushed, deleted and promoted.'
transport:
protocol: HTTP POST to a subscriber-configured URL
delivery: asynchronous, via the JFrog Event Service microservice
docs: https://docs.jfrog.com/installation/docs/system-architecture
types:
- name: Predefined
description: Fixed payload shape; the subscriber may customize only the target URL and HTTP headers.
- name: Custom
description: Subscriber-customizable HTTP headers and payload template, so the event can be shaped for
GitHub Actions, GitLab pipelines, Jenkins, Slack and similar targets.
subscription_model:
shape: event_filter { domain, event_types[], criteria{} } plus handlers, secrets and headers
projectKey: string — the event's project context must match exactly; applies to all AppTrust events
example: '"event_filter": {"domain":"artifact","event_types":["deployed","deleted"],"criteria":{"anyLocal":true,"anyRemote":false,"repoKeys":["my-repo"],"includePatterns":[],"excludePatterns":[]}}'
note: The full subscription request schema is documented on the Create a New Webhook Subscription REST
API reference page.
payload_common:
fields:
- domain
- event_type
- data
- subscription_key
- jpd_origin
- source
- userContext
userContext:
id: username, or the token subject for access-token requests
isToken: boolean
realm: authentication realm, e.g. internal, ldap
note: Custom webhook payload templates reference these with dotted syntax, e.g. {{ .userContext.id }}.
domains:
- domain: artifact
label: Artifact
event_count: 5
events:
- deployed
- deleted
- moved
- copied
- cached
criteria: anyLocal, anyRemote, repoKeys, includePatterns, excludePatterns
- domain: artifact_property
label: Artifact Properties
event_count: 2
events:
- added
- deleted
criteria: anyLocal, anyRemote, repoKeys, includePatterns, excludePatterns
- domain: docker
label: Docker
event_count: 3
events:
- pushed
- deleted
- promoted
criteria: anyLocal, anyRemote, repoKeys, includePatterns, excludePatterns
container_registry_surface: true
event_detail:
- pushed — a new tag of a Docker or OCI image is pushed to a Docker or OCI repository
- deleted — a tag of a Docker or OCI image is deleted from a Docker or OCI repository
- promoted — a tag of a Docker or OCI image is promoted (applies on the source repository)
- domain: build
label: Build
event_count: 3
events:
- uploaded
- deleted
- promoted
criteria: build names or build patterns
- domain: release_bundle
label: Release Bundle
event_count: 3
events:
- created
- signed
- deleted
criteria: Release Bundle names or patterns
- domain: curation
label: Curation
event_count: 4
events:
- Package was blocked by Curation
- Curation Waiver Request Created
- Curation Waiver Request Updated
- Curation Policy Changed
criteria: none — all curation events on the instance are delivered
- domain: distribution
label: Distribution
event_count: 7
events:
- distribute_started
- distribute_completed
- distribute_aborted
- distribute_failed
- deletion_started
- deletion_completed
- deletion_failed
criteria: Release Bundle names/patterns and the Edge nodes involved
- domain: destination
label: Destination
event_count: 4
events:
- received
- delete_started
- delete_completed
- delete_failed
criteria: Release Bundle names/patterns and the Edge nodes involved
- domain: user
label: User
event_count: 1
events:
- User has been locked
criteria: none — the locked event fires on every account lockout
- domain: release_bundle_v2
label: Release Bundle v2
event_count: 3
events:
- Release Bundle v2 creation started
- Release Bundle v2 creation failed
- Release Bundle v2 creation completed
criteria: all Release Bundles or selected ones, with optional project scope (Artifactory 7.125.3+)
- domain: release_bundle_v2_promotion
label: Release Bundle v2 Promotion
event_count: 3
events:
- Release Bundle v2 promotion started
- Release Bundle v2 promotion failed
- Release Bundle v2 promotion completed
criteria: target environments promoted to
- domain: xray_scan_status
label: Xray Scan Status
event_count: 4
events:
- Scan completed
- Scan failed
- Scan partially completed
- Scan not supported
criteria: one or more terminal scan outcomes (done, failed, partial, not_supported); project-scoped
subscriptions supported
- domain: app_trust
label: AppTrust
event_count: 24
events:
- Entry gate evaluation started
- Entry gate evaluation passed
- Entry gate evaluation failed
- Exit gate evaluation started
- Exit gate evaluation passed
- Exit gate evaluation failed
- Application creation started
- Application creation completed
- Application creation failed
- Application update started
- Application update completed
- Application update failed
- Application deletion started
- Application deletion completed
- Application deletion failed
- Version creation started
- Version creation completed
- Version creation failed
- Version promotion started
- Version promotion completed
- Version promotion failed
- Version release started
- Version release completed
- Version release failed
criteria: projectKey (exact), applicationKeys (in-list), stages (in-list)
domain_count: 13
event_count: 66
management:
rest: getWebhookSubscriptions / createWebhookSubscription (https://docs.jfrog.com/administration/reference/getwebhooksubscriptions)
mcp:
- event_domains_list
- event_subscriptions_list
- event_subscriptions_get
- event_subscriptions_create
ui: Webhooks are available to non-admin users as well as Platform Admins.
alternative:
name: JFrog Workers
note: JFrog directs users to Workers rather than webhooks when they need to customize and control execution
flows rather than be notified.
docs: https://docs.jfrog.com/administration/docs/workers-overview
maintainers:
- FN: Kin Lane
email: kin@apievangelist.com
Work with this as data
Every AsyncAPI spec 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 asyncapi
4 MCP tools reach this
find_asyncapisBrowse and filter every AsyncAPI spec in the catalog.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.
Call it yourself
curl for this page
This AsyncAPI spec
curl "https://apis.io/api/v1/asyncapis/jfrog-container-registry-platform-webhooks"
All asyncapi
curl "https://apis.io/api/v1/asyncapis?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.