Webhooks¶
Note
This page is about how to modify webhook settings themselves through the REST API. If you just want to know how webhooks work, go here: Webhooks
Resource description¶
The webhook resource contains the following public fields:
Field |
Type |
Description |
|---|---|---|
id |
integer |
Internal ID of the webhook |
enabled |
boolean |
If |
target_url |
string |
The URL to call |
all_events |
boolean |
If |
limit_events |
list of strings |
If |
action_types |
list of strings |
A list of action type filters that limit the notifications sent to this webhook. See below for valid values |
comment |
string |
Internal comment on this webhook, default |
The following values for action_types are valid with pretix core:
pretix.event.order.placed
pretix.event.order.placed.require_approval
pretix.event.order.paid
pretix.event.order.canceled
pretix.event.order.reactivated
pretix.event.order.expired
pretix.event.order.expirychanged
pretix.event.order.modified
pretix.event.order.contact.changed
pretix.event.order.changed.*
pretix.event.order.deleted(can only occur for test mode orders)
pretix.event.order.refund.created
pretix.event.order.refund.created.externally
pretix.event.order.refund.requested
pretix.event.order.refund.done
pretix.event.order.refund.canceled
pretix.event.order.refund.failed
pretix.event.order.payment.confirmed
pretix.event.order.approved
pretix.event.order.denied
pretix.event.orders.waitinglist.added
pretix.event.orders.waitinglist.changed
pretix.event.orders.waitinglist.deleted
pretix.event.orders.waitinglist.voucher_assigned
pretix.event.checkin
pretix.event.checkin.reverted
pretix.event.added
pretix.event.changed
pretix.event.deleted
pretix.voucher.added
pretix.voucher.changed
pretix.voucher.deleted
pretix.subevent.added
pretix.subevent.changed
pretix.subevent.deleted
pretix.event.item.*
pretix.event.live.activated
pretix.event.live.deactivated
pretix.event.testmode.activated
pretix.event.testmode.deactivated
pretix.customer.created
pretix.customer.changed
pretix.customer.anonymized
Installed plugins might register more valid values.
Endpoints¶
- GET /api/v1/organizers/(organizer)/webhooks/¶
Returns a list of all webhooks within a given organizer.
Example request:
GET /api/v1/organizers/bigevents/webhooks/ HTTP/1.1 Host: pretix.eu Accept: application/json, text/javascript
Example response:
HTTP/1.1 200 OK Vary: Accept Content-Type: application/json { "count": 1, "next": null, "previous": null, "results": [ { "id": 2, "enabled": true, "target_url": "https://httpstat.us/200", "all_events": false, "limit_events": ["democon"], "action_types": ["pretix.event.order.modified", "pretix.event.order.changed.*"], "comment": null } ] }
- Query Parameters:
page (integer) – The page number in case of a multi-page result set, default is 1
enabled (boolean) – Only show webhooks that are or are not enabled
- Parameters:
organizer – The
slugfield of the organizer to fetch
- Status Codes:
200 OK – no error
401 Unauthorized – Authentication failure
403 Forbidden – The requested organizer does not exist or you have no permission to view this resource.
- GET /api/v1/organizers/(organizer)/webhooks/(id)/¶
Returns information on one webhook, identified by its ID.
Example request:
GET /api/v1/organizers/bigevents/webhooks/1/ HTTP/1.1 Host: pretix.eu Accept: application/json, text/javascript
Example response:
HTTP/1.1 200 OK Vary: Accept Content-Type: application/json { "id": 2, "enabled": true, "target_url": "https://httpstat.us/200", "all_events": false, "limit_events": ["democon"], "action_types": ["pretix.event.order.modified", "pretix.event.order.changed.*"], "comment": null }
- Parameters:
organizer – The
slugfield of the organizer to fetchid – The
idfield of the webhook to fetch
- Status Codes:
200 OK – no error
401 Unauthorized – Authentication failure
403 Forbidden – The requested organizer does not exist or you have no permission to view this resource.
- POST /api/v1/organizers/(organizer)/webhooks/¶
Creates a new webhook
Example request:
POST /api/v1/organizers/bigevents/webhooks/ HTTP/1.1 Host: pretix.eu Accept: application/json, text/javascript Content-Type: application/json { "enabled": true, "target_url": "https://httpstat.us/200", "all_events": false, "limit_events": ["democon"], "action_types": ["pretix.event.order.modified", "pretix.event.order.changed.*"], "comment": "Called for changes" }
Example response:
HTTP/1.1 201 Created Vary: Accept Content-Type: application/json { "id": 3, "enabled": true, "target_url": "https://httpstat.us/200", "all_events": false, "limit_events": ["democon"], "action_types": ["pretix.event.order.modified", "pretix.event.order.changed.*"], "comment": "Called for changes" }
- Parameters:
organizer – The
slugfield of the organizer to create a webhook for
- Status Codes:
201 Created – no error
400 Bad Request – The webhook could not be created due to invalid submitted data.
401 Unauthorized – Authentication failure
403 Forbidden – The requested organizer does not exist or you have no permission to create this resource.
- PATCH /api/v1/organizers/(organizer)/webhooks/(id)/¶
Update a webhook. You can also use
PUTinstead ofPATCH. WithPUT, you have to provide all fields of the resource, other fields will be reset to default. WithPATCH, you only need to provide the fields that you want to change.You can change all fields of the resource except the
idfield.Example request:
PATCH /api/v1/organizers/bigevents/webhooks/1/ HTTP/1.1 Host: pretix.eu Accept: application/json, text/javascript Content-Type: application/json Content-Length: 94 { "enabled": false }
Example response:
HTTP/1.1 200 OK Vary: Accept Content-Type: application/json { "id": 1, "enabled": false, "target_url": "https://httpstat.us/200", "all_events": false, "limit_events": ["democon"], "action_types": ["pretix.event.order.modified", "pretix.event.order.changed.*"], "comment": null }
- Parameters:
organizer – The
slugfield of the organizer to modifyid – The
idfield of the webhook to modify
- Status Codes:
200 OK – no error
400 Bad Request – The webhook could not be modified due to invalid submitted data
401 Unauthorized – Authentication failure
403 Forbidden – The requested organizer does not exist or you have no permission to change this resource.
- DELETE /api/v1/organizers/(organizer)/webhook/(id)/¶
Delete a webhook. Currently, this will not delete but just disable the webhook.
Example request:
DELETE /api/v1/organizers/bigevents/webhooks/1/ HTTP/1.1 Host: pretix.eu Accept: application/json, text/javascript
Example response:
HTTP/1.1 204 No Content Vary: Accept
- Parameters:
organizer – The
slugfield of the organizer to modifyid – The
idfield of the webhook to delete
- Status Codes:
204 No Content – no error
401 Unauthorized – Authentication failure
403 Forbidden – The requested organizer does not exist or you have no permission to delete this resource.