ActivityHero · AsyncAPI Specification
Activityhero Webhooks
Version
View Spec
View on GitHub
CompanyKids ActivitiesCampsClassesMarketplaceRegistrationWebhooksEducationAsyncAPIWebhooksEvents
AsyncAPI Specification
generated: '2026-07-17'
method: searched
source: >-
https://help.activityhero.com/api ,
https://help.activityhero.com/can-i-sync-activityhero-registrations-to-my-own-database ,
https://help.activityhero.com/can-i-sync-my-activity-schedules-into-activityhero ,
https://help.activityhero.com/how-do-i-use-the-activityhero-registration-api-with-zapier
description: >-
ActivityHero exposes its provider-facing integration surface as outbound
webhooks rather than an inbound REST API. Providers configure a destination
URL under "Manage Listing > API" and ActivityHero POSTs signed JSON payloads
when registrations or schedules change. This is a Webhooks catalog derived
from the published help-center API articles; ActivityHero does not publish an
AsyncAPI or OpenAPI document, so no formal spec is captured here.
provider: ActivityHero
docs: https://help.activityhero.com/api
transport: HTTPS POST (webhook / catch-hook)
content_type: application/json
delivery_headers:
Accept: application/json
Content-Type: application/json
Signature: HMAC-SHA256 signature (see authentication/activityhero-authentication.yml)
signing:
algorithm: HMAC-SHA256
message: '"providerID_timestamp"'
secret_location: Registration API dashboard section (Manage Listing > API)
header: Signature
reference: https://hookdeck.com/webhooks/guides/how-to-implement-sha256-webhook-signature-verification
webhooks:
- name: registration.changed
summary: Fires when a registration is added, updated, or cancelled for one of the provider's activities.
direction: outbound (ActivityHero -> provider endpoint)
source_article: https://help.activityhero.com/can-i-sync-activityhero-registrations-to-my-own-database
payload:
envelope:
action: enrolled | update | cancelled
provider_id: ActivityHero provider identifier
timestamp: unix/second timestamp used in the signature
data: array of registration objects
registration_fields:
- registration_id
- activity_schedule_id
- external_schedule_id
- activity_name
- session_info
- amount
- discount_amt
- enrollment_status
- timestamps
participant_fields:
- full_name
- first_name
- last_name
- dob
- grade
- gender
- school_name
- allergies
- medical_condition
guardian_fields:
- parents (name, cell, email, address)
- authorized_contacts (name, cell, email, address)
medical_fields:
- hospital_name
- physician_name
- physician_phone
- insurance_company
additional_fields:
- emergency_contacts
- sibling_request
- special_request
zapier:
supported: true
mechanism: Paste a Zapier "Catch Raw Hook" (Built-in Webhooks) URL into the ActivityHero Registration API settings.
article: https://help.activityhero.com/how-do-i-use-the-activityhero-registration-api-with-zapier
- name: schedule.sync
summary: Keeps a provider's external activity schedules in sync with the ActivityHero database.
direction: outbound (provider system -> ActivityHero, signed the same way)
source_article: https://help.activityhero.com/can-i-sync-my-activity-schedules-into-activityhero
content_type: application/json
payload:
fields:
- activity_name
- location
- dates
- times
- pricing
- registration_details
limits:
max_sessions_per_call: 100
over_limit_behavior: Exceeding 100 sessions per API call returns an error; use manual CSV import for larger batches instead.
notes:
- No inbound consumer base URL is published; the integration is webhook-based and configured per-provider in the ActivityHero dashboard.
- Field lists are transcribed from the published help-center articles; ActivityHero publishes no machine-readable schema.