# Create webhook

Creates a webhook that you can use to receive notifications about key events. Currently, webhooks are supported for the following events:

| Event type | Description |
| :--- | :--- |
| project.created | Fires when a new project is created |
| project.updated | Fires when a project is updated |
| time.entry.created | Fires when a new time entry is created |
| time.entry.updated | Fires when a time entry is updated |
| user.created | Fires when a new user is created |
| user.updated | Fires when a user is updated |
| assignment.created | Fires when a new assignment is created |
| assignment.updated | Fires when an assignment is updated |

Endpoint: POST /webhooks
Version: v1
Security: AuthToken

## Request fields (application/json):

  - `url` (string, required)
    URL to which events should be posted. Must be an HTTPS URL with a valid host.
    Example: "https://hooks.example.com/process_webhooks"

  - `event_type` (string, required)
    The type of event associated with the webhook.
    Enum: "project.created", "project.updated", "time.entry.created", "time.entry.updated", "user.created", "user.updated", "assignment.created", "assignment.updated"

## Response 200 fields (application/json):

  - `id` (integer, required)
    Unique identifier for the webhook.
    Example: 123456

  - `url` (string, required)
    URL associated with the webhook, to which events are posted.
    Example: "https://hooks.example.com/process_webhooks"

  - `status` (string, required)
    The status of the webhook. Currently, the only valid status for a webhook is active.
    Enum: "active"

  - `event_type` (string, required)
    The type of event associated with the webhook.
    Enum: "project.created", "project.updated", "time.entry.created", "time.entry.updated", "user.created", "user.updated", "assignment.created", "assignment.updated"

  - `organization_id` (integer)
    Unique identifier for the organization.
    Example: 1

  - `created_at` (string)
    The time the webhook was created.

  - `updated_at` (string)
    The time the webhook was last updated.

## Response 403 fields (application/json):

  - `message` (string)
    Example: "bad data"

  - `errors` (array)


