Webhooks API
GET /v1/webhooks
List Webhooks
List all webhooks for workspace.
Auth: ApiKeyAuth, BearerAuth
Response 200
curl -X GET "https://api.pinbridge.io/v1/webhooks" \
-H "X-API-Key: $PINBRIDGE_API_KEY"
POST /v1/webhooks
Create Webhook
Create a new webhook endpoint.
Webhooks receive events like pin.published and pin.failed.
Auth: ApiKeyAuth, BearerAuth
Request body (WebhookCreate)
| Field | Type | Required | Description |
|---|---|---|---|
url |
string | yes | Webhook endpoint URL (max 2083, min 1) |
secret |
string | yes | Secret for HMAC signing (min 16 chars) (max 255, min 16) |
events |
array |
no | Event types to subscribe to |
is_enabled |
boolean | no | Whether this webhook is active |
Response 201 (WebhookResponse)
curl -X POST "https://api.pinbridge.io/v1/webhooks" \
-H "X-API-Key: $PINBRIDGE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url": "https://example.com/webhooks/pinbridge", "secret": "a-random-secret-of-32-characters"}'
DELETE /v1/webhooks/{webhook_id}
Delete Webhook
Delete a webhook.
Auth: ApiKeyAuth, BearerAuth
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
webhook_id |
path | yes | string |
Response 204
curl -X DELETE "https://api.pinbridge.io/v1/webhooks/$WEBHOOK_ID" \
-H "X-API-Key: $PINBRIDGE_API_KEY"
GET /v1/webhooks/{webhook_id}
Get Webhook
Get webhook details.
Auth: ApiKeyAuth, BearerAuth
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
webhook_id |
path | yes | string |
Response 200 (WebhookResponse)
curl -X GET "https://api.pinbridge.io/v1/webhooks/$WEBHOOK_ID" \
-H "X-API-Key: $PINBRIDGE_API_KEY"
PATCH /v1/webhooks/{webhook_id}
Update Webhook
Update webhook fields.
Auth: ApiKeyAuth, BearerAuth
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
webhook_id |
path | yes | string |
Request body (WebhookUpdate)
| Field | Type | Required | Description |
|---|---|---|---|
url |
string? | no | Webhook endpoint URL |
secret |
string? | no | Secret for HMAC signing (min 16 chars) |
events |
array |
no | Event types to subscribe to |
is_enabled |
boolean? | no | Whether this webhook is active |
Response 200 (WebhookResponse)
curl -X PATCH "https://api.pinbridge.io/v1/webhooks/$WEBHOOK_ID" \
-H "X-API-Key: $PINBRIDGE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"is_enabled": false}'
