Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion guides/coach-api.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -377,7 +377,7 @@ curl -X POST https://api.saturday.fit/v1/coach/webhooks \
| `POST /v1/coach/webhooks/{id}/disable` | disable (stop delivery, keep the endpoint) |
| `POST /v1/coach/webhooks/{id}/enable` | re-enable |

**Event types:** `concern.detected` and `athlete.needs_attention`, which an empty `events` list subscribes you to (`["*"]` subscribes to every coach event), plus `coach.message.sent`, which is opt-in and fires only for Enterprise coaches, mirroring messages the coach sends from the portal. An unknown event name fails registration with `400`. The URL must be public `https` on the standard port; internal, metadata, and loopback URLs are rejected at registration.
**Event types:** `concern.detected` and `athlete.needs_attention`, which an empty `events` list subscribes you to (`["*"]` subscribes to every coach event), plus `coach.message.sent`, which is opt-in and fires only for Enterprise coaches, mirroring messages the coach sends from the portal. `athlete.deleted` (`data`: `athlete_uid` only) fires when an athlete you coached deletes their Saturday account; it goes to every endpoint subscribed to any of these events, so a system holding what they said about the athlete can delete it, and carries one `X-Saturday-Event-ID` per athlete. An unknown event name fails registration with `400`. The URL must be public `https` on the standard port; internal, metadata, and loopback URLs are rejected at registration.

Each delivery is a `POST` carrying the event name in `X-Saturday-Event-Type` and an HMAC-SHA256 signature in `X-Saturday-Signature` (`t=<unix seconds>,v1=<hex>`) computed with the secret returned at registration. See [Webhooks](/guides/webhooks) for verifying it. The body is the event, with `data` shaped per event type:

Expand Down
2 changes: 1 addition & 1 deletion guides/webhooks.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ These event types are emitted today:
| `athlete.created` | A new athlete is created |
| `athlete.updated` | An athlete profile is modified |
| `athlete.profile_completed` | An athlete's fueling profile crosses from incomplete to complete, which is the cue that this athlete is now eligible for exact prescriptions |
| `athlete.deleted` | An athlete is deleted |
| `athlete.deleted` | An athlete is deleted through the API, or deletes their Saturday account |
| `activity.created` | A new activity is created |
| `activity.updated` | An activity is modified |
| `activity.deleted` | An activity is deleted |
Expand Down
Loading