All methods require admin authorization. The url endpoint of the system hooks can be configured in [the admin area under hooks](/admin/hooks). ## List system hooks Get list of system hooks ``` GET /hooks ``` Parameters: + **none** ```json [ { "id":3, "url":"http://example.com/hook", "created_at":"2013-10-02T10:15:31Z" } ] ``` ## Add new system hook hook ``` POST /hooks ``` Parameters: + `url` (required) - The hook URL ## Test system hook ``` GET /hooks/:id ``` Parameters: + `id` (required) - The ID of hook ```json { "event_name":"project_create", "name":"Ruby", "path":"ruby", "project_id":1, "owner_name":"Someone", "owner_email":"example@gitlabhq.com" } ``` ## Delete system hook Deletes a system hook. This is an idempotent API function and returns `200 Ok` even if the hook is not available. If the hook is deleted it is also returned as JSON. ``` DELETE /hooks/:id ``` Parameters: + `id` (required) - The ID of hook