> This is the Markdown of https://backed.giving/developers/events, a page of the Backed developer documentation. Every page is listed at https://backed.giving/developers/llms.txt.

# Event catalogue

Every webhook event type, with its record type, version and meaning, and the delivery payload with an example.

Every event type a webhook endpoint can subscribe to, with its version and what it means. It is the same list as the `Event catalogue` on the `Webhooks` tab in Backed. An endpoint receives only your organisation’s events, and only the types it is subscribed to. How to check each delivery is in [Webhook signature verification](https://backed.giving/developers/guides/webhook-signatures.md).

## The payload

Each delivery is a `POST` with this JSON body and the `Backed-Signature`, `Backed-Event-Id` and `Backed-Event-Type` headers. The body is a reference, not a copy of the record: it never carries form answers, bank details or contact details. Read the record through the API at `data.url` for those.

Payload fields:

| Field | Type | What it holds |
| --- | --- | --- |
| `id` | `string` | The event’s id, as the `Backed-Event-Id` header. The same on every retry and replay. |
| `type` | `string` | The event type, as the `Backed-Event-Type` header. |
| `version` | `integer` | The event type’s version. |
| `occurred_at` | `string` | When it happened, in UTC. |
| `organisation` | `string` | Your organisation’s id. |
| `data` | `object` | The record the event is about. |
| `data.record_type` | `string` | The record’s type: the catalogue’s `Record type`. |
| `data.record_id` | `string` | The record’s id. |
| `data.url` | `string \| null` | The record’s address in the read API on your organisation’s host, or `null` where the API serves no such record. |

Example payload:

```json
{
  "id": "918273",
  "type": "rounds.funding_round.published",
  "version": 1,
  "occurred_at": "2026-11-09T01:00:00.000Z",
  "organisation": "17",
  "data": {
    "record_type": "funding_round",
    "record_id": "42",
    "url": "https://your-org.backed.giving/api/v2/funding_rounds/42"
  }
}
```

## Event types

186 event types, by name. `webhook.test` is sent only by `Send Test` on an endpoint’s page.

Event types:

| Event type | Record type | Version | What it means |
| --- | --- | --- | --- |
| `applications.collaborator.added` | `funding_application` | 1 | Collaborator added. |
| `applications.collaborator.invitation_completed` | `funding_application` | 1 | Collaborator invitation completed. |
| `applications.collaborator.invited` | `funding_application` | 1 | Collaborator invited. |
| `applications.collaborator.removed` | `funding_application` | 1 | Collaborator removed. |
| `applications.duplicate_group.detected` | `duplicate_group` | 1 | Duplicate group detected. |
| `applications.duplicate_group.resolved` | `duplicate_group` | 1 | Duplicate group resolved. |
| `applications.eligibility_screening.decided` | `eligibility_screening` | 1 | Eligibility screening decided. |
| `applications.eligibility_screening.retake_allowed` | `eligibility_screening` | 1 | Eligibility screening retake allowed. |
| `applications.eligibility_screening.submitted` | `eligibility_screening` | 1 | Eligibility screening submitted. |
| `applications.funding_application.approved` | `funding_application` | 1 | Funding application approved. |
| `applications.funding_application.copied` | `funding_application` | 1 | Funding application copied. |
| `applications.funding_application.decided` | `funding_application` | 1 | Funding application decided. |
| `applications.funding_application.decision_revoked` | `funding_application` | 1 | Funding application decision revoked. |
| `applications.funding_application.edit_request_approved` | `funding_application` | 1 | Funding application edit request approved. |
| `applications.funding_application.edit_request_declined` | `funding_application` | 1 | Funding application edit request declined. |
| `applications.funding_application.edit_request_withdrawn` | `funding_application` | 1 | Funding application edit request withdrawn. |
| `applications.funding_application.edit_requested` | `funding_application` | 1 | Funding application edit requested. |
| `applications.funding_application.eligibility_set` | `funding_application` | 1 | Funding application eligibility set. |
| `applications.funding_application.information_request_closed` | `funding_application` | 1 | Funding application information request closed. |
| `applications.funding_application.information_request_reminded` | `funding_application` | 1 | Funding application information request reminded. |
| `applications.funding_application.information_requested` | `funding_application` | 1 | Funding application information requested. |
| `applications.funding_application.location_inputs_changed` | `funding_application` | 1 | Funding application location inputs changed. |
| `applications.funding_application.offer_answered` | `funding_application` | 1 | Funding application offer answered. |
| `applications.funding_application.payment_status_changed` | `funding_application` | 1 | Funding application payment status changed. |
| `applications.funding_application.stale_draft_reminded` | `funding_application` | 1 | Funding application stale draft reminded. |
| `applications.funding_application.started` | `funding_application` | 1 | Funding application started. |
| `applications.funding_application.submitted` | `funding_application` | 1 | Funding application submitted. |
| `applications.funding_application.submitted_to_verifier` | `funding_application` | 1 | Funding application submitted to verifier. |
| `applications.funding_application.tagged_answers_changed` | `funding_application` | 1 | Funding application tagged answers changed. |
| `applications.funding_application.unlocked` | `funding_application` | 1 | Funding application unlocked. |
| `applications.funding_application.verifier_assigned` | `funding_application` | 1 | Funding application verifier assigned. |
| `applications.funding_application.withdrawal_countdown_cancelled` | `funding_application` | 1 | Funding application withdrawal countdown cancelled. |
| `applications.funding_application.withdrawn` | `funding_application` | 1 | Funding application withdrawn. |
| `applications.late_access.granted` | `late_access_grant` | 1 | Late access granted. |
| `applications.referee_request.completed` | `referee_request` | 1 | Referee request completed. |
| `applications.referee_request.declined` | `referee_request` | 1 | Referee request declined. |
| `applications.referee_request.expired` | `referee_request` | 1 | Referee request expired. |
| `assessments.assessment.acceptance_reminder_due` | `assessment` | 1 | Assessment acceptance reminder due. |
| `assessments.assessment.assigned` | `assessment` | 1 | Assessment assigned. |
| `assessments.assessment.declined` | `assessment` | 1 | Assessment declined. |
| `assessments.assessment.removed` | `assessment` | 1 | Assessment removed. |
| `assessments.assessment.reopened` | `assessment` | 1 | Assessment reopened. |
| `assessments.assessment.score_revised` | `assessment` | 1 | Assessment score revised. |
| `assessments.assessment.started` | `assessment` | 1 | Assessment started. |
| `assessments.assessment.submitted` | `assessment` | 1 | Assessment submitted. |
| `assessments.assessment_round.created` | `assessment_round` | 1 | Assessment round created. |
| `assessments.assessment_round.published` | `assessment_round` | 1 | Assessment round published. |
| `assessments.assessment_share.items_changed` | `assessment_share` | 1 | Assessment share items changed. |
| `assessments.assessment_share.published` | `assessment_share` | 1 | Assessment share published. |
| `assessments.capacity_assessment.reconciled` | `capacity_assessment` | 1 | Capacity assessment reconciled. |
| `assessments.capacity_assessment.started` | `capacity_assessment` | 1 | Capacity assessment started. |
| `assessments.capacity_assessment.submitted` | `capacity_assessment` | 1 | Capacity assessment submitted. |
| `assessments.conflict.confirmed` | `assessment` | 1 | Conflict confirmed. |
| `assessments.conflict.revoked` | `assessment` | 1 | Conflict revoked. |
| `assessments.decision.accepted` | `assessment_decision` | 1 | Decision accepted. |
| `assessments.score_recalculation_job.succeeded` | `score_recalculation_job` | 1 | Score recalculation job succeeded. |
| `contracts.contract.amount_changed` | `contract` | 1 | Contract amount changed. |
| `contracts.contract.completed` | `contract` | 1 | Contract completed. |
| `contracts.contract.created` | `contract` | 1 | Contract created. |
| `contracts.contract.dates_changed` | `contract` | 1 | Contract dates changed. |
| `contracts.contract.declined` | `contract` | 1 | Contract declined. |
| `contracts.contract.review_passed` | `contract` | 1 | Contract review passed. |
| `contracts.contract.review_requested` | `contract` | 1 | Contract review requested. |
| `contracts.contract.reviewer_changed` | `contract` | 1 | Contract reviewer changed. |
| `contracts.contract.sent` | `contract` | 1 | Contract sent. |
| `contracts.contract.signed_by_admin` | `contract` | 1 | Contract signed by admin. |
| `contracts.contract.signed_by_applicant_verifier` | `contract` | 1 | Contract signed by applicant verifier. |
| `contracts.contract.tags_changed` | `contract` | 1 | Contract tags changed. |
| `contracts.contract.terminated` | `contract` | 1 | Contract terminated. |
| `contracts.contract.termination_reverted` | `contract` | 1 | Contract termination reverted. |
| `contracts.contract.termination_started` | `contract` | 1 | Contract termination started. |
| `contracts.contract.variation_created` | `contract` | 1 | Contract variation created. |
| `contracts.contract.withdrawal_reverted` | `contract` | 1 | Contract withdrawal reverted. |
| `contracts.contract.withdrawal_started` | `contract` | 1 | Contract withdrawal started. |
| `contracts.contract.withdrawn` | `contract` | 1 | Contract withdrawn. |
| `contracts.contract_letter.created` | `contract_letter` | 1 | Contract letter created. |
| `contracts.contract_letter.reverted` | `contract_letter` | 1 | Contract letter reverted. |
| `contracts.contract_letter.review_requested` | `contract_letter` | 1 | Contract letter review requested. |
| `contracts.contract_letter.sent` | `contract_letter` | 1 | Contract letter sent. |
| `contracts.contract_obligation.met` | `contract_obligation` | 1 | Contract obligation met. |
| `contracts.contract_obligation.overdue` | `contract_obligation` | 1 | Contract obligation overdue. |
| `contracts.contract_obligation.waived` | `contract_obligation` | 1 | Contract obligation waived. |
| `contracts.contract_request.approved` | `contract_request` | 1 | Contract request approved. |
| `contracts.contract_request.contact_switched` | `contract_request` | 1 | Contract request contact switched. |
| `contracts.contract_request.declined` | `contract_request` | 1 | Contract request declined. |
| `contracts.contract_request.information_requested` | `contract_request` | 1 | Contract request information requested. |
| `contracts.contract_request.resubmitted` | `contract_request` | 1 | Contract request resubmitted. |
| `contracts.contract_request.submitted` | `contract_request` | 1 | Contract request submitted. |
| `contracts.contract_signatory.declined` | `contract_signatory` | 1 | Contract signatory declined. |
| `contracts.contract_signatory.offered` | `contract_signatory` | 1 | Contract signatory offered. |
| `contracts.contract_signatory.reset` | `contract_signatory` | 1 | Contract signatory reset. |
| `contracts.contract_signatory.signed` | `contract_signatory` | 1 | Contract signatory signed. |
| `decisions.appeal.assigned` | `appeal` | 1 | Appeal assigned. |
| `decisions.appeal.resolved` | `appeal` | 1 | Appeal resolved. |
| `decisions.appeal.submitted` | `appeal` | 1 | Appeal submitted. |
| `decisions.condition.approval_undone` | `condition` | 1 | Condition approval undone. |
| `decisions.condition.approved` | `condition` | 1 | Condition approved. |
| `decisions.condition.attached` | `condition` | 1 | Condition attached. |
| `decisions.condition.resubmission_requested` | `condition` | 1 | Condition resubmission requested. |
| `decisions.condition.submitted` | `condition` | 1 | Condition submitted. |
| `decisions.decision.created` | `decision` | 1 | Decision created. |
| `decisions.decision.review_forwarded` | `decision` | 1 | Decision review forwarded. |
| `decisions.decision.review_requested` | `decision` | 1 | Decision review requested. |
| `decisions.decision.reviewer_changed` | `decision` | 1 | Decision reviewer changed. |
| `decisions.decision.sent` | `decision` | 1 | Decision sent. |
| `decisions.decision_line.letter_failed` | `decision_line` | 1 | Decision line letter failed. |
| `decisions.decision_line.letter_issued` | `decision_line` | 1 | Decision line letter issued. |
| `decisions.decision_line.letter_resent` | `decision_line` | 1 | Decision line letter resent. |
| `decisions.decision_line.revoked` | `decision_line` | 1 | Decision line revoked. |
| `decisions.decision_line.sent` | `decision_line` | 1 | Decision line sent. |
| `decisions.grant_publication.due` | `grant_publication` | 1 | Grant publication due. |
| `decisions.grant_publication.excluded` | `grant_publication` | 1 | Grant publication excluded. |
| `decisions.grant_publication.exported` | `grant_publication` | 1 | Grant publication exported. |
| `decisions.offer.accepted` | `offer_response` | 1 | Offer accepted. |
| `decisions.offer.declined` | `offer_response` | 1 | Offer declined. |
| `decisions.offer.institution_accepted` | `offer_response` | 1 | Offer institution accepted. |
| `decisions.offer.institution_declined` | `offer_response` | 1 | Offer institution declined. |
| `funds.allocation.changed` | `funding_application` | 1 | Allocation changed. |
| `funds.attribution.changed` | `funding_application` | 1 | Attribution changed. |
| `funds.batch.generated` | `payment_batch` | 1 | Batch generated. |
| `funds.distribution_amount.changed` | `fund` | 1 | Distribution amount changed. |
| `funds.distribution_cycle.completed` | `fund_distribution_cycle` | 1 | Distribution cycle completed. |
| `funds.fund.created` | `fund` | 1 | Fund created. |
| `funds.fund.deleted` | `fund` | 1 | Fund deleted. |
| `funds.fund.donor_report_published` | `fund` | 1 | Fund donor report published. |
| `funds.fund.grant_recommendation_submitted` | `fund` | 1 | Fund grant recommendation submitted. |
| `funds.fund.updated` | `fund` | 1 | Fund updated. |
| `funds.fund_csv_import.apply_requested` | `fund_csv_import` | 1 | Fund csv import apply requested. |
| `funds.grant_recommendation.decided` | `grant_recommendation` | 1 | Grant recommendation decided. |
| `milestones.milestone.approval_undone` | `milestone` | 1 | Milestone approval undone. |
| `milestones.milestone.approved` | `milestone` | 1 | Milestone approved. |
| `milestones.milestone.contract_reordered` | `milestone` | 1 | Milestone contract reordered. |
| `milestones.milestone.created` | `milestone` | 1 | Milestone created. |
| `milestones.milestone.details_changed` | `milestone` | 1 | Milestone details changed. |
| `milestones.milestone.finance_approval_reverted` | `milestone` | 1 | Milestone finance approval reverted. |
| `milestones.milestone.finance_approved` | `milestone` | 1 | Milestone finance approved. |
| `milestones.milestone.forwarded_to_funder` | `milestone` | 1 | Milestone forwarded to funder. |
| `milestones.milestone.linked_to_contract` | `milestone` | 1 | Milestone linked to contract. |
| `milestones.milestone.payment_status_changed` | `milestone` | 1 | Milestone payment status changed. |
| `milestones.milestone.resubmission_requested` | `milestone` | 1 | Milestone resubmission requested. |
| `milestones.milestone.reviewer_assigned` | `milestone` | 1 | Milestone reviewer assigned. |
| `milestones.milestone.share_access_changed` | `milestone` | 1 | Milestone share access changed. |
| `milestones.milestone.submitted` | `milestone` | 1 | Milestone submitted. |
| `milestones.milestone.submitted_to_verifier` | `milestone` | 1 | Milestone submitted to verifier. |
| `milestones.milestone.tag_reselected` | `milestone` | 1 | Milestone tag reselected. |
| `milestones.milestone_batch.created` | `milestone_batch` | 1 | Milestone batch created. |
| `milestones.milestone_batch.deleted` | `milestone_batch` | 1 | Milestone batch deleted. |
| `milestones.milestone_batch.sent` | `milestone_batch` | 1 | Milestone batch sent. |
| `milestones.milestone_template.created` | `milestone_template` | 1 | Milestone template created. |
| `milestones.milestones.progressed` | `milestone` | 1 | Milestones progressed. |
| `milestones.milestones.published` | `milestone` | 1 | Milestones published. |
| `payments.finance_decision.recorded` | `payment_batch` | 1 | Finance decision recorded. |
| `payments.payment.deleted` | `payment` | 1 | Payment deleted. |
| `payments.payment.edited` | `payment` | 1 | Payment edited. |
| `payments.payment.marked_paid` | `payment` | 1 | Payment marked paid. |
| `payments.payment.refund_received` | `payment` | 1 | Payment refund received. |
| `payments.payment.voided` | `payment` | 1 | Payment voided. |
| `payments.payment_batch.approved` | `payment_batch` | 1 | Payment batch approved. |
| `payments.payment_batch.created` | `payment_batch` | 1 | Payment batch created. |
| `payments.payment_batch.deleted` | `payment_batch` | 1 | Payment batch deleted. |
| `payments.payment_batch.marked_paid` | `payment_batch` | 1 | Payment batch marked paid. |
| `payments.payment_batch.recipient_approved` | `payment_batch` | 1 | Payment batch recipient approved. |
| `payments.payment_batch.resubmitted` | `payment_batch` | 1 | Payment batch resubmitted. |
| `payments.payment_batch.returned_to_draft` | `payment_batch` | 1 | Payment batch returned to draft. |
| `payments.payment_batch.review_requested` | `payment_batch` | 1 | Payment batch review requested. |
| `payments.payment_batch.reviewer_reassigned` | `payment_batch` | 1 | Payment batch reviewer reassigned. |
| `payments.payment_letter.sent` | `payment_letter` | 1 | Payment letter sent. |
| `payments.repayment.requested` | `payment_repayment` | 1 | Repayment requested. |
| `registration.entity_domain.verified` | `registration_entity_domain` | 1 | Entity domain verified. |
| `registration.entity_duplicate.detected` | `entity_duplicate_pair` | 1 | Entity duplicate detected. |
| `registration.entity_join_request.created` | `entity_join_request` | 1 | Entity join request created. |
| `registration.entity_join_request.decided` | `entity_join_request` | 1 | Entity join request decided. |
| `registration.entity_member.invited` | `registration_entity` | 1 | Entity member invited. |
| `registration.registration.approved` | `registration` | 1 | Registration approved. |
| `registration.registration.details_changed` | `registration` | 1 | Registration details changed. |
| `registration.registration.resubmission_requested` | `registration` | 1 | Registration resubmission requested. |
| `registration.registration.submitted` | `registration` | 1 | Registration submitted. |
| `registration.registration_entity.bank_account_changed` | `registration_entity` | 1 | Registration entity bank account changed. |
| `registration.transfer.completed` | `registration_entity` | 1 | Transfer completed. |
| `rounds.funding_round.closed` | `funding_round` | 1 | Funding round closed. |
| `rounds.funding_round.listing_changed` | `funding_round` | 1 | Funding round listing changed. |
| `rounds.funding_round.made_live` | `funding_round` | 1 | Funding round made live. |
| `rounds.funding_round.published` | `funding_round` | 1 | Funding round published. |
| `rounds.funding_round.unpublished` | `funding_round` | 1 | Funding round unpublished. |
| `rounds.private_grant_invitee.invited` | `private_grant_invitee` | 1 | Private grant invitee invited. |
| `webhook.test` | `webhook_endpoint` | 1 | A test event sent by Send test event; never sent otherwise. |
