# place.wisp.v2.wh

> Published by [wisp.place](https://lexicon.garden/identity/did:plc:7puq73yz2hkvbcpdhnsze2qw)

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:7puq73yz2hkvbcpdhnsze2qw/place.wisp.v2.wh)
- [Documentation](https://lexicon.garden/lexicon/did:plc:7puq73yz2hkvbcpdhnsze2qw/place.wisp.v2.wh/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:7puq73yz2hkvbcpdhnsze2qw/place.wisp.v2.wh/examples)

## Definitions

### `place.wisp.v2.wh`

**Type**: `record`

Webhook configuration for AT Protocol record events. Fires an HTTP POST to a URL when a matching record event is observed on the firehose.

**Key**: `any`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `url` | `string` (uri) | Yes | HTTPS endpoint to POST the webhook payload to. |
| `scope` | `ref` → `#atUri` | Yes | What to watch. An AT-URI scopes to a specific DID, collection, or record. |
| `events` | `array` | No | Which record events to trigger on. Defaults to all events if omitted. |
| `secret` | `string` | No | Optional secret used to sign the webhook payload with HMAC-SHA256. The signature is included in the 'X-Webhook-Signature' header of the webhook request. |
| `enabled` | `boolean` | No | Whether the webhook is active. Defaults to true if omitted. |
| `createdAt` | `string` (datetime) | Yes | Timestamp of when the webhook was created. |

### `place.wisp.v2.wh#atUri`

**Type**: `object`

Watch by AT-URI. at://did watches all collections for a DID. at://did/collection watches all records of that collection for a DID. at://did/collection/record watches a specific record.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `aturi` | `string` | Yes |  |
| `backlinks` | `boolean` | No | If true, also watch for records in any repo that reference this DID and collection. |

## Raw Schema

```json
{
  "id": "place.wisp.v2.wh",
  "defs": {
    "main": {
      "key": "any",
      "type": "record",
      "record": {
        "type": "object",
        "required": [
          "scope",
          "url",
          "createdAt"
        ],
        "properties": {
          "url": {
            "type": "string",
            "format": "uri",
            "maxLength": 2048,
            "description": "HTTPS endpoint to POST the webhook payload to."
          },
          "scope": {
            "ref": "#atUri",
            "type": "ref",
            "description": "What to watch. An AT-URI scopes to a specific DID, collection, or record."
          },
          "events": {
            "type": "array",
            "items": {
              "enum": [
                "create",
                "update",
                "delete"
              ],
              "type": "string"
            },
            "maxLength": 3,
            "description": "Which record events to trigger on. Defaults to all events if omitted."
          },
          "secret": {
            "type": "string",
            "maxLength": 256,
            "description": "Optional secret used to sign the webhook payload with HMAC-SHA256. The signature is included in the 'X-Webhook-Signature' header of the webhook request."
          },
          "enabled": {
            "type": "boolean",
            "description": "Whether the webhook is active. Defaults to true if omitted."
          },
          "createdAt": {
            "type": "string",
            "format": "datetime",
            "description": "Timestamp of when the webhook was created."
          }
        }
      },
      "description": "Webhook configuration for AT Protocol record events. Fires an HTTP POST to a URL when a matching record event is observed on the firehose."
    },
    "atUri": {
      "type": "object",
      "required": [
        "aturi"
      ],
      "properties": {
        "aturi": {
          "type": "string"
        },
        "backlinks": {
          "type": "boolean",
          "description": "If true, also watch for records in any repo that reference this DID and collection."
        }
      },
      "description": "Watch by AT-URI. at://did watches all collections for a DID. at://did/collection watches all records of that collection for a DID. at://did/collection/record watches a specific record."
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1
}
```
