---
title: "Create an Event Subscription"
method: POST
path: "/v1/event_subscriptions"
tags: ["Event Subscriptions"]
---

# Create an Event Subscription

`POST /v1/event_subscriptions`

Create an event subscription corresponding to your Chariot account.

## Request body

- object
  - `url` string, required — The webhook url where we'll send notifications.
  - `category` 'grant.created' | 'grant.updated' | 'unintegrated_grant.created' | 'unintegrated_grant.updated', required — The category of the event. This is useful for filtering events.
  - `signing_secret` string — The key that will be used to sign webhooks. If no value is passed, a random string will be used as default. This is necessary to verify that the webhook is coming from Chariot. While this parameter is optional, it is highly recommended to pass a value for the secret and implement webhook signature verification.

## Response `201`

Created

- EventSubscription — Webhooks are event notifications we send to you by HTTPS POST requests. Event Subscriptions are how you configure your application to listen for them.
  - `id` string — The unique identifier for the event subscription
  - `created_at` string, date-time — The date and time the event subscription was created
  - `status` 'active' | 'disabled' | 'deleted' | 'requires_attention' — The status of the event subscription. This indicates if we'll send notifications to this subscription * active: subscription is active and events will be delivered normally * disabled: subscription is temporarily disabled and events will not be delivered * deleted: subscription has been deleted and events will not be delivered * requires_attention: subscription has been disabled due to delivery failures and events will not be delivered
  - `url` string, required — The webhook url where we'll send notifications.
  - `category` 'grant.created' | 'grant.updated' | 'unintegrated_grant.created' | 'unintegrated_grant.updated' — The category of the event. This is useful for filtering events.

## Other responses

- `400` — The request is invalid or contains invalid parameters
- `401` — Unauthorized. The request is missing the security (OAuth2 Bearer token) requirements and the server is unable to verify the identify of the caller.
- `403` — Access denied
- `404` — Resource Not Found
- `500` — Internal Server Error

---

[API](https://skmtc.net/chariot-giving/apis/chariot-api-3.md) · [All operations](https://skmtc.net/chariot-giving/apis/chariot-api-3/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/chariot-giving/chariot-api-3/versions/bf5e4b95459a/schema)
