webhooks
/clients/{client}/webhooks [POST]
| API Support | Available since | Last updated | Output |
|---|---|---|---|
| 5.9500 | 6.1000 | xml, json |
Description
Create a new webhook for an OAuth client.
Use the internal client id, not the client ID in the URL. For example: /clients/123/webhooks.json
Parameters
| Name | Description | Required | Type | Default |
|---|---|---|---|---|
| events | Comma-separated list of events to filter (empty means all, .* suffix can be used) | no | string | |
| format | The output format xml or json | no | string | xml |
| groups | Comma-separated list of groups to filter events (in addition to projects, empty projects & groups means all) | no | string | |
| insecuressl | If the SSL certificate for the URL is verified | no | boolean | false |
| name | The webhook name, optional string | no | string | |
| object | The objects’ format in the output (minimal: public/private IDs only orbasic) | no | string | minimal |
| projects | Comma-separated list of projects to filter events (empty projects & groups means all) | no | string | |
| server | If the server events are included | no | boolean | false |
| url | The webhook URL string | yes | url |
Permission
This service requires administrator.
Response
A successful response returns the <webhook> element wrapped in a <webhook-creation> element.
<webhook-creation>
<webhook id=""
created=""
modified=""
url=""
server="[true|false]"
[name=""]
[activatesecret=""]
[projects=""]
[groups=""]
[events=""]
object="[minimal|basic]"
format="[xml|json]"
insecuressl="[true|false]"
status="[pending|active|disabled|warning|error|unreachable]">
<client ...>
<member ...> ... </member>
</client>
</webhook>
</webhook-creation>
Sample XML
<webhook-creation>
<webhook id="789"
created="2019-05-07T12:04:59+10:00"
modified="2019-05-07T12:04:59+10:00"
url="https://ps.example.org/"
server="false"
object="minimal"
format="xml"
insecuressl="true"
status="pending"
name="Test"
events="comment.*,group.*">
<client id="123"
identifier="4739db31320c67c5"
requires-consent="false"
confidential="false"
name="sample"
grant-type="password"
created="2018-03-19T14:18:16+11:00"
modified="2019-02-01T18:18:16+11:00"
last-token="2022-07-06T17:00:00+10:00"
description="Sample app"
client-uri="https://app.example.org/"
access-token-max-age="21600"
refresh-token-max-age="2592000">
<member id="456" status="activated"
firstname="Joan" surname="Snow" username="jsnow">
<fullname>Joan Snow</fullname>
</member>
</client>
</webhook>
</webhook-creation>Sample JSON
{
"webhook": {
"id": 789,
"created": "2019-05-07T12:04:59+10:00",
"modified": "2019-05-07T12:04:59+10:00",
"url": "https://ps.example.org/",
"server": false,
"object": "minimal",
"format": "xml",
"insecuressl": true,
"status": "pending",
"name": "Test",
"events": "comment.*,group.*",
"client": {
"id": 123,
"identifier": "4739db31320c67c5",
"requiresConsent": false,
"confidential": false,
"name": "Sample",
"grantType": "password",
"created": "2018-03-19T14:18:16+11:00",
"modified": "2019-02-01T18:18:16+11:00",
"lastToken": "2022-07-06T17:00:00+10:00",
"description": "Sample app",
"clientUri": "https://app.example.org/",
"accessTokenMaxAge": 21600,
"refreshTokenMaxAge": 2592000,
"member": {
"id": 456,
"firstname": "Joan",
"surname": "Snow",
"username": "jsnow",
"status": "activated",
"fullname": "Joan Snow"
}
}
}
}Error Handling
| Code | Error condition |
|---|---|
| 0x1701 | If the client is invalid |
| 0x1702 | If the name is already in use |
| 0x1703 | If the URL is invalid |
| 0x1704 | if the object parameter is not valid |
| 0x1705 | if the format parameter is not valid |
| 0x1706 | If one of the projects is invalid |
| 0x1707 | If one of the groups is invalid |
| 0x1708 | If one of the events is invalid |