---
title: "Create a webhook integration"
method: POST
path: "/v1/integrations/webhooks"
tags: ["Webhook Integration"]
---

# Create a webhook integration

`POST /v1/integrations/webhooks`

## Request

- Base URL: `https://docs.grepr.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://docs.grepr.ai/v1/integrations/webhooks`
- Auth: one of:
  - API key in header `GREPR-API-KEY`
  - OpenID Connect (`https://grepr-prod.us.auth0.com/.well-known/openid-configuration`)

Creates a webhook integration. Senders POST events to /v1/integrations/webhooks/{id}/events and authenticate with a Grepr API key (GREPR-API-KEY header).

## Request body

- WriteWebhookIntegration
  - `name` string, required: Name of the integration.
  - `payload` WebhookIntegration, required: The payload containing integration data.
    - `agentSubscriptions` WebhookAgentSubscription[], required
      - `agentId` string, required
    - `schemaDescription` string, required
    - `systemType` string, required
  - `teamIds` string[]: The team IDs that this integration is associated with.
  - `type` 'webhook', required: The type of the integration. This is used to determine the payload type.
  - `version` integer, required: Version of the integration. Should be increased by one for every new update in order for the write to succeed. Otherwise, a '409 Conflict' will be returned.

## Response `200`

Integration created successfully

- ReadWebhookIntegration
  - `createdAt` string, date-time, required: Timestamp when the integration was created.
  - `id` string, required: The integration id
  - `jobIds` string[], required: List of job IDs associated with the integration.
  - `name` string, required: Name of the integration.
  - `organizationId` string, required: Organization ID of the integration.
  - `payload` WebhookIntegration, required: The payload containing integration data.
    - `agentSubscriptions` WebhookAgentSubscription[], required
      - `agentId` string, required
    - `schemaDescription` string, required
    - `systemType` string, required
  - `teamIds` string[]: The team IDs that this integration is associated with.
  - `type` 'webhook', required: The type of the integration. This is used to determine the payload type.
  - `updatedAt` string, date-time, required: Timestamp when the integration was last updated.
  - `version` integer, required: Version of the integration. Should be increased by one for every new update in order for the write to succeed. Otherwise, a '409 Conflict' will be returned.

## Other responses

- `401`: Unauthorized
- `409`: Integration already exists.

---

[API](https://skmtc.dev/grepr/apis/grepr-api.md) - [All operations](https://skmtc.dev/grepr/apis/grepr-api/llms.txt) - [OpenAPI document](https://skmtc.dev/grepr/apis/grepr-api/revisions/2a5ce03a0bf0?raw)
