Quote Webhooks
Receive webhook notifications whenever quotes are finalized or their status (accepted/declined) is updated. Quote webhooks can be used to trigger actions in your application whenever a quote is changed, for example to keep an external invoicing or accounting system up to date.
Events
| Event | Description |
|---|---|
offer.finalized | Occurs whenever a new quote is finalized. |
offer.status_updated | Occurs whenever a quote's status was changed (accepted or declined). |
Example Payload
We return JSON-formatted content with the following structure.
| Name | Example content | Description |
|---|---|---|
id | a19e5d48-cbb6-4011-b023-5a5919ef5e15 | UUID of the trigger resource |
type | offer | Resource type |
event | offer.finalized | Event that triggered the webhook, lowercase, dot-separated |
url | https://app.freispace.com/invoicing/offers/a19e5d48-cbb6-4011-b023-5a5919ef5e15/view | URL to the updated resource |
data | {} | The quote's information |
{
"id": "a19e5d48-cbb6-4011-b023-5a5919ef5e15",
"type": "offer",
"event": "offer.finalized",
"url": "https://app.freispace.com/invoicing/offers/a19e5d48-cbb6-4011-b023-5a5919ef5e15/view",
"data": {
"id": "a19e5d48-cbb6-4011-b023-5a5919ef5e15",
"number": "OF-1000",
"date": "2026-04-24",
"subject": "Quote OF-1000",
"service_period_from": null,
"service_period_to": null,
"order": {
"id": "a19e6172-0225-40cc-b453-a14e685412a0",
"number": "OR-1000"
}, // nullable
"cost_center": null,
"issuer": {
"id": "a19e5d30-a5e8-4e0a-863f-505ed95980cf",
"name": "Post House"
},
"recipient": {
"client_id": "a19d6036-bfe7-4976-878c-ebc9be05fd52",
"client_address_id": "a19d6036-d2f3-47d3-85f9-278890d3e094",
"client_contact_id": null,
"address": "BBC One\n2nd Floor Egton Wing\nBBC Broadcasting House\nLONDON\nW1A 1AA"
},
"billing_email_addresses": [],
"currency": "GBP",
"total_sum_net": 32000, // in cents
"total_sum_gross": 38400, // in cents
"offer_valid_until": null,
"status": null, // "accepted", "declined" or null
"status_set_at": null // format: "2026-04-24T07:52:52+00:00" (UTC)
}
}