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 |