Schemas & tooling¶
This guide ships three machine-readable artifacts:
/llms.txt- the high-level map of the public docs surface./openapi.yaml- the canonical machine-readable REST and webhook contract.- The markdown source of each page, copied into the built site next to its rendered HTML for agent and tooling fetches.
Recommended consumption order¶
For humans:
- Start with Before you start and Quickstart.
- Read the relevant OAuth and webhook pages.
- Use the OpenAPI bundle when you need exact request, response, or schema names.
For agents:
- Read
llms.txtto discover the public surface. - Load
openapi.yamlfor exact endpoint and webhook schemas. - Use the markdown pages only for behavior notes that are intentionally prose-only, such as operational caveats and UX sequencing.
What the OpenAPI bundle covers¶
The public openapi.yaml includes:
- OAuth authorize, token, and revoke
- The read API endpoints documented in this guide
- Publisher-tooling endpoints for rotating secrets and sending a test webhook
- Shared error envelopes and token-response schemas
- Webhook envelopes and all 27 v1 webhook event schemas
Intentionally opaque fields¶
Some parts of the contract are intentionally open-ended in v1:
custom_form_fieldsis organizer-defined and should be treated as an opaque JSON map.activity_detailsis keyed byactivity_type; v1 does not publish per-type sub-schemas./me/profiledoes not expose email-verification state. Ifemailis present, do not assume verified.
Webhook schemas¶
Use these schema names in openapi.yaml when you need an exact payload contract:
| Event type | Schema name |
|---|---|
event.published |
WebhookEventPublished |
event.unpublished |
WebhookEventUnpublished |
event.visibility_changed |
WebhookEventVisibilityChanged |
event.access_mode_changed |
WebhookEventAccessModeChanged |
application.submitted |
WebhookApplicationSubmitted |
application.approved |
WebhookApplicationApproved |
application.rejected |
WebhookApplicationRejected |
application.revision_requested |
WebhookApplicationRevisionRequested |
participant.registered |
WebhookParticipantRegistered |
participant.profile_updated |
WebhookParticipantProfileUpdated |
participant.removed |
WebhookParticipantRemoved |
activity.created |
WebhookActivityCreated |
activity.updated |
WebhookActivityUpdated |
activity.deleted |
WebhookActivityDeleted |
activity.capacity_state_changed |
WebhookActivityCapacityStateChanged |
thread.created |
WebhookThreadCreated |
thread.updated |
WebhookThreadUpdated |
thread.deleted |
WebhookThreadDeleted |
location.created |
WebhookLocationCreated |
location.updated |
WebhookLocationUpdated |
location.deleted |
WebhookLocationDeleted |
registration_wave.started |
WebhookRegistrationWaveStarted |
registration_wave.finished |
WebhookRegistrationWaveFinished |
data.deletion_required |
WebhookDataDeletionRequired |
user.revoked_access |
WebhookUserRevokedAccess |
integration.suspended |
WebhookIntegrationSuspended |
integration.unpublished |
WebhookIntegrationUnpublished |