Skip to content
Merged
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
88 changes: 88 additions & 0 deletions openapi.json
Original file line number Diff line number Diff line change
Expand Up @@ -14285,6 +14285,94 @@
}
},
"webhooks": {
"sales.completed": {
"post": {
"operationId": "SaleCompletedWebhook",
"tags": [
"Sales"
],
"summary": "Sale completed",
"description": "Sent once per sale when its completion is observed: the sale is closed and has been fully paid. The event created_at is the sale's recorded completion time, rather than the time the notification is delivered. A delayed notification may arrive after subsequent updates, refunds, or chargebacks. Fetch the current sale using object.url with an access token that has the sales.read scope. The sale may briefly be unavailable while the Sales API catches up; retry fetching it after a 404 response. Automatic retries and manual redelivery may deliver the same event more than once; deduplicate by event id.",
"x-object-type": "sale",
"x-object": {
"$ref": "#/components/schemas/Sale"
},
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Event"
},
"examples": {
"completed": {
"summary": "A sale completed webhook event.",
"value": {
"id": "event_01JQCG7EF8F2DA02V31HSEXXCM",
"type": "sales.completed",
"created_at": "2026-10-14T12:00:00Z",
"object": {
"id": "847ed267-c617-4d38-9e5a-4ef728daa5c3",
"type": "sale",
"url": "https://api.sumup.com/v1.0/merchants/MC0DE/sales/847ed267-c617-4d38-9e5a-4ef728daa5c3"
}
}
}
}
}
}
},
"responses": {
"2XX": {
"description": "Return any 2xx response to acknowledge successful delivery."
}
}
}
},
"sales.updated": {
"post": {
"operationId": "SaleUpdatedWebhook",
"tags": [
"Sales"
],
"summary": "Sale updated",
"description": "Sent when a closed, fully paid sale is published or updated, including subsequent refunds and chargebacks. The first notification can occur when the sale becomes fully paid and closed. Fetch the current sale using object.url with an access token that has the sales.read scope. The sale may briefly be unavailable while the Sales API catches up; retry fetching it after a 404 response. Notifications contain the sale identity rather than a snapshot, and delivery order is not guaranteed.",
"x-object-type": "sale",
"x-object": {
"$ref": "#/components/schemas/Sale"
},
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Event"
},
"examples": {
"updated": {
"summary": "A sale updated webhook event.",
"value": {
"id": "event_01JQCG7EF8F2DA02V31HSEXXCM",
"type": "sales.updated",
"created_at": "2026-10-14T12:00:00Z",
"object": {
"id": "847ed267-c617-4d38-9e5a-4ef728daa5c3",
"type": "sale",
"url": "https://api.sumup.com/v1.0/merchants/MC0DE/sales/847ed267-c617-4d38-9e5a-4ef728daa5c3"
}
}
}
}
}
}
},
"responses": {
"2XX": {
"description": "Return any 2xx response to acknowledge successful delivery."
}
}
}
},
"checkouts.created": {
"post": {
"operationId": "CheckoutCreatedWebhook",
Expand Down
Loading