Knowledge source change
Tells CoderHelm that pages of a connected knowledge source changed, so it syncs that source now instead of at its next scheduled sync. Sanity posts to the address shown for each Sanity source (CoderHelm registers it itself when the token may manage webhooks), signed with sanity-webhook-signature: t=<ms>,v1= and the base64url HMAC-SHA256 of <t>.<body>, keyed with the token in the address; a signature older than five minutes is refused. Notion posts to /webhooks/knowledge/notion for the whole install, signed with X-Notion-Signature: sha256= and the hex HMAC-SHA256 of the body, keyed with the subscription's verification token. An event only starts a sync: what changed is always read back from the provider with the source's own connection.
sanity-webhook-signature<token>t=<ms>,v1= and the base64url HMAC-SHA256 of <t>.<body>, keyed with the token in the address.
token*stringThe source's webhook token, or notion for the install's Notion subscription.
The provider's event.
application/json- body
POST /webhooks/knowledge/:token — a provider says something changed.
Sanity posts to each source's own address (the token is also its
signing secret); Notion posts to /webhooks/knowledge/notion for the
whole install. A verified event only starts a sync; content is always
read back with the source's own connection.
A provider's change event (the fields Coderhelm reads; the rest is
ignored). Sanity sends the changed document's projection; Notion sends
an event naming its workspace.
{ "_id": "post-returns", "_rev": "q8PZ1v3VaaO9ShV3lKgqXm", "_type": "post"}_id?|Sanity: the changed document's id.
"post-returns"_rev?|Sanity: the document's new revision.
"q8PZ1v3VaaO9ShV3lKgqXm"_type?|Sanity: the changed document's type.
"post"type?|Notion: the event, such as page.content_updated.
"page.content_updated"workspace_id?|Notion: the workspace the event is about.
"1a2b3c4d-0000-4000-8000-5e6f7a8b9c0d"Accepted; a sync starts unless the source is paused.
curl -X POST 'https://api.coderhelm.com/webhooks/knowledge/string' \ -H 'Content-Type: application/json' \ -d '{ "_id": "post-returns", "_rev": "q8PZ1v3VaaO9ShV3lKgqXm", "_type": "post"}'Jira webhook POST
For a plain Jira webhook, when the CoderHelm Jira app can't be installed. The URL holds a token generated for your team on the Jira page of the dashboard. If you also generated a secret there, every request must carry `X-Hub-Signature`: `sha256=` and the hex HMAC-SHA256 of the raw body, keyed with that secret. Jira Cloud signs webhooks this way when you set the secret on the webhook; a Jira automation can send the header itself.
List quarantined tests GET
Returns the tests quarantined for the repository the OIDC token was issued to, so a CI step can keep their failures from failing the build. For Playwright, pass `playwright_grep_invert` to `--grep-invert`.