ESRI ArcGIS · AsyncAPI Specification

Esri Arcgis Webhooks

Version

View Spec View on GitHub GISGeospatialMappingLocationSpatial AnalysisGeocodingRoutingPlacesOGCGraphQLMCPAsyncAPIEvents

AsyncAPI Specification

Raw ↑
generated: '2026-09-07'
method: searched
source: >-
  https://developers.arcgis.com/rest/users-groups-and-items/webhooks/,
  https://developers.arcgis.com/rest/users-groups-and-items/create-webhooks/
provider: Esri ArcGIS
providerId: esri-arcgis
asyncapi_spec_published: false
asyncapi_note: >-
  Esri publishes no AsyncAPI document for any ArcGIS surface. The event surface below is transcribed from
  the ArcGIS REST API webhook reference; nothing here was generated.
type: webhooks
summary: >-
  ArcGIS Online and ArcGIS Enterprise organizations can register outbound webhooks that POST a payload to
  a caller-supplied URL when items, groups, users or roles change. Introduced at version 10.7.
  ArcGIS Enterprise additionally supports feature service and geoprocessing webhooks, managed through the
  ArcGIS Server Administrative API rather than the portal.
management_api:
  base: https://www.arcgis.com/sharing/rest/portals/[portalID]/webhooks
  operations:
    - name: createWebhook
      method: POST
      path: /portals/[portalID]/webhooks/createWebhook
      docs: https://developers.arcgis.com/rest/users-groups-and-items/create-webhooks/
    - name: listWebhooks
      method: GET
      path: /portals/[portalID]/webhooks
      docs: https://developers.arcgis.com/rest/users-groups-and-items/webhooks/
    - name: listSpecificWebhook
      method: GET
      path: /portals/[portalID]/webhooks/[webhookID]
      docs: https://developers.arcgis.com/rest/users-groups-and-items/list-specific-webhook/
    - name: updateWebhook
      method: POST
      path: /portals/[portalID]/webhooks/[webhookID]/update
      docs: https://developers.arcgis.com/rest/users-groups-and-items/update-webhook/
    - name: activateWebhook
      method: POST
      path: /portals/[portalID]/webhooks/[webhookID]/activate
      docs: https://developers.arcgis.com/rest/users-groups-and-items/activate-webhook/
    - name: deactivateWebhook
      method: POST
      path: /portals/[portalID]/webhooks/[webhookID]/deactivate
      docs: https://developers.arcgis.com/rest/users-groups-and-items/deactivate-webhook/
    - name: deleteWebhook
      method: POST
      path: /portals/[portalID]/webhooks/[webhookID]/delete
      docs: https://developers.arcgis.com/rest/users-groups-and-items/delete-webhook/
    - name: notificationStatus
      method: GET
      path: /portals/[portalID]/webhooks/[webhookID]/notificationStatus
    - name: listServiceWebhooks
      method: GET
      path: /portals/[portalID]/webhooks/listServiceWebhooks
subscription:
  parameters:
    - name: name
      required: true
    - name: url
      required: true
      description: The payload URL; queried during creation to confirm the portal can reach it.
    - name: secret
      required: false
      description: >-
        A user-defined string added to the HEADER of the webhook payload so the receiver can authenticate
        the message. There is no documented HMAC signature scheme - the secret is echoed, not used to sign.
    - name: changes
      required: true
      values: [manualChanges, allChanges]
      default: manualChanges
    - name: events
      required: conditional
      description: Required when changes=manualChanges; a comma-separated list of event trigger URIs.
  delivery:
    deactivation_policy:
      config_key: config.deactivationPolicy
      fields: [numberOfFailures, daysInPast]
      example: '{"deactivationPolicy":{"numberOfFailures":5,"daysInPast":5}}'
      description: >-
        Esri auto-deactivates a webhook after numberOfFailures delivery failures within daysInPast days.
        There is no documented retry/backoff schedule and no replay endpoint.
events:
  items:
    - uri: /items
      description: All trigger events for all items.
    - uri: /items/add
      description: An item is added to the portal.
    - uri: /items/delete
      description: Any item is deleted.
    - uri: /items/update
    - uri: /items/move
    - uri: /items/publish
    - uri: /items/share
    - uri: /items/unshare
    - uri: /items/protect
    - uri: /items/unprotect
    - uri: /items/reassign
    - uri: /items/[itemID]
      description: All trigger events for one specific item.
  groups:
    - uri: /groups
    - uri: /groups/add
    - uri: /groups/delete
    - uri: /groups/update
    - uri: /groups/invite
    - uri: /groups/request
    - uri: /groups/remove
    - uri: /groups/reassign
    - uri: /groups/protect
    - uri: /groups/unprotect
    - uri: /groups/[groupID]
  users:
    - uri: /users
    - uri: /users/add
    - uri: /users/delete
    - uri: /users/update
    - uri: /users/enable
    - uri: /users/disable
    - uri: /users/signin
    - uri: /users/signout
    - uri: /users/[userName]
  roles:
    - uri: /roles
event_count: 32
gaps:
  - No AsyncAPI (or other machine-readable) description of the payload schema is published.
  - >-
    No HMAC request signing - the shared secret is placed in a header rather than used to sign the body,
    so a receiver cannot verify payload integrity.
  - No documented redelivery/replay endpoint; failed deliveries lead to auto-deactivation instead.

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.
All 92 tools →

Call it yourself

curl for this page
This AsyncAPI spec
curl "https://apis.io/api/v1/asyncapis/esri-arcgis-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.