Skip to main content

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

EventDescription
offer.finalizedOccurs whenever a new quote is finalized.
offer.status_updatedOccurs whenever a quote's status was changed (accepted or declined).

Example Payload

We return JSON-formatted content with the following structure.

NameExample contentDescription
ida19e5d48-cbb6-4011-b023-5a5919ef5e15UUID of the trigger resource
typeofferResource type
eventoffer.finalizedEvent that triggered the webhook, lowercase, dot-separated
urlhttps://app.freispace.com/invoicing/offers/a19e5d48-cbb6-4011-b023-5a5919ef5e15/viewURL 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)
}
}