Webhooks API reference
Ce contenu n’est pas encore disponible dans votre langue.
Generated from the OpenAPI specification (version 2026-10-01). Base URL: https://app.meetingize.com/api. All requests need Authorization: Bearer <API key or OAuth token>. Try them in the API explorer.
List webhook endpoints
Section titled “List webhook endpoints”GET /v1/webhook_endpointsYour webhook endpoints (secret not included). Required scope: webhooks.
Responses
200:400: Validation error401: Missing or invalid credential403: Insufficient scope404: Not found (also for resources of other accounts)429: Rate limit (rate_limited) or parallel processing quota (parallel_processing_limit) exceeded; seeRetry-After
Response fields (200)
| Field | Type | Required | Description |
|---|---|---|---|
data | array of object | yes |
curl -s "https://app.meetingize.com/api/v1/webhook_endpoints" \ -H "Authorization: Bearer $MEETINGIZE_API_KEY"Register a webhook endpoint
Section titled “Register a webhook endpoint”POST /v1/webhook_endpointsRegisters an https URL that will receive the selected events (see the webhooks section of this spec for payloads). The signing secret is returned only in this response: store it to verify the Meetingize-Signature header. Required scope: webhooks.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
Idempotency-Key | header | string | Optional unique key (max 255 characters, a UUID v4 is recommended) that makes the request safe to retry. If a network error leaves you unsure whether the request was received, send it again with the same key: if it was already processed, you get the original response again (header Idempotent-Replayed: true) and nothing is created twice (no duplicate meeting, no double billing). Keys are kept 24 hours per account. Same key with a different body: 422 idempotency_key_reused; same key while the first request is still being processed: 409 idempotency_key_in_use. Example: Idempotency-Key: 6f1c2a3e-9b7d-4c1e-8f2a-0d3b4c5e6f70. |
Request body (application/json)
| Field | Type | Required | Description |
|---|---|---|---|
url | string (uri) | yes | |
events | array of string | yes | |
description | string | null |
Responses
201:400: Validation error401: Missing or invalid credential403: Insufficient scope404: Not found (also for resources of other accounts)429: Rate limit (rate_limited) or parallel processing quota (parallel_processing_limit) exceeded; seeRetry-After
Response fields (201)
| Field | Type | Required | Description |
|---|---|---|---|
id | string | yes | |
object | string | yes | |
url | string (uri) | yes | |
events | array of string | yes | |
description | string | null | ||
enabled | boolean | yes | |
disabled_reason | string | null | ||
consecutive_failures | integer | yes | |
secret_hint | string | yes | |
created_at | string (date-time) | yes | |
secret | string | yes |
curl -s -X POST "https://app.meetingize.com/api/v1/webhook_endpoints" \ -H "Authorization: Bearer $MEETINGIZE_API_KEY" \ -H "Content-Type: application/json" \ -d '{}'Get a webhook endpoint
Section titled “Get a webhook endpoint”GET /v1/webhook_endpoints/{endpoint_id}Required scope: webhooks.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
endpoint_id | path | string | yes |
Responses
200:400: Validation error401: Missing or invalid credential403: Insufficient scope404: Not found (also for resources of other accounts)429: Rate limit (rate_limited) or parallel processing quota (parallel_processing_limit) exceeded; seeRetry-After
Response fields (200)
| Field | Type | Required | Description |
|---|---|---|---|
id | string | yes | |
object | string | yes | |
url | string (uri) | yes | |
events | array of string | yes | |
description | string | null | ||
enabled | boolean | yes | |
disabled_reason | string | null | ||
consecutive_failures | integer | yes | |
secret_hint | string | yes | |
created_at | string (date-time) | yes |
curl -s "https://app.meetingize.com/api/v1/webhook_endpoints/<endpoint_id>" \ -H "Authorization: Bearer $MEETINGIZE_API_KEY"Update a webhook endpoint
Section titled “Update a webhook endpoint”PATCH /v1/webhook_endpoints/{endpoint_id}Change url, events or description; enabled: true re-enables an endpoint disabled after repeated failures. Required scope: webhooks.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
endpoint_id | path | string | yes |
Request body (application/json)
| Field | Type | Required | Description |
|---|---|---|---|
url | string (uri) | ||
events | array of string | ||
description | string | null | ||
enabled | boolean |
Responses
200:400: Validation error401: Missing or invalid credential403: Insufficient scope404: Not found (also for resources of other accounts)429: Rate limit (rate_limited) or parallel processing quota (parallel_processing_limit) exceeded; seeRetry-After
Response fields (200)
| Field | Type | Required | Description |
|---|---|---|---|
id | string | yes | |
object | string | yes | |
url | string (uri) | yes | |
events | array of string | yes | |
description | string | null | ||
enabled | boolean | yes | |
disabled_reason | string | null | ||
consecutive_failures | integer | yes | |
secret_hint | string | yes | |
created_at | string (date-time) | yes |
curl -s -X PATCH "https://app.meetingize.com/api/v1/webhook_endpoints/<endpoint_id>" \ -H "Authorization: Bearer $MEETINGIZE_API_KEY" \ -H "Content-Type: application/json" \ -d '{}'Delete a webhook endpoint
Section titled “Delete a webhook endpoint”DELETE /v1/webhook_endpoints/{endpoint_id}Required scope: webhooks.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
endpoint_id | path | string | yes |
Responses
204: No response body400: Validation error401: Missing or invalid credential403: Insufficient scope404: Not found (also for resources of other accounts)429: Rate limit (rate_limited) or parallel processing quota (parallel_processing_limit) exceeded; seeRetry-After
curl -s -X DELETE "https://app.meetingize.com/api/v1/webhook_endpoints/<endpoint_id>" \ -H "Authorization: Bearer $MEETINGIZE_API_KEY" \ -H "Content-Type: application/json" \ -d '{}'Delivery log
Section titled “Delivery log”GET /v1/webhook_endpoints/{endpoint_id}/deliveriesDeliveries of the endpoint (status, HTTP code, response excerpt, attempts, next retry), kept 30 days. Required scope: webhooks.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
cursor | query | string | ||
endpoint_id | path | string | yes | |
limit | query | integer |
Responses
200:400: Validation error401: Missing or invalid credential403: Insufficient scope404: Not found (also for resources of other accounts)429: Rate limit (rate_limited) or parallel processing quota (parallel_processing_limit) exceeded; seeRetry-After
Response fields (200)
| Field | Type | Required | Description |
|---|---|---|---|
data | array of object | yes | |
has_more | boolean | yes | |
next_cursor | string | null | yes |
curl -s "https://app.meetingize.com/api/v1/webhook_endpoints/<endpoint_id>/deliveries" \ -H "Authorization: Bearer $MEETINGIZE_API_KEY"Rotate the signing secret
Section titled “Rotate the signing secret”POST /v1/webhook_endpoints/{endpoint_id}/rotate_secretNew secret returned once; the previous one stays valid 24 h (both signatures are sent). Required scope: webhooks.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
endpoint_id | path | string | yes |
Responses
200:400: Validation error401: Missing or invalid credential403: Insufficient scope404: Not found (also for resources of other accounts)429: Rate limit (rate_limited) or parallel processing quota (parallel_processing_limit) exceeded; seeRetry-After
Response fields (200)
| Field | Type | Required | Description |
|---|---|---|---|
id | string | yes | |
object | string | yes | |
url | string (uri) | yes | |
events | array of string | yes | |
description | string | null | ||
enabled | boolean | yes | |
disabled_reason | string | null | ||
consecutive_failures | integer | yes | |
secret_hint | string | yes | |
created_at | string (date-time) | yes | |
secret | string | yes |
curl -s -X POST "https://app.meetingize.com/api/v1/webhook_endpoints/<endpoint_id>/rotate_secret" \ -H "Authorization: Bearer $MEETINGIZE_API_KEY" \ -H "Content-Type: application/json" \ -d '{}'Send a test event
Section titled “Send a test event”POST /v1/webhook_endpoints/{endpoint_id}/testSends a signed ping event to the endpoint now. Required scope: webhooks.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
endpoint_id | path | string | yes |
Responses
202:400: Validation error401: Missing or invalid credential403: Insufficient scope404: Not found (also for resources of other accounts)429: Rate limit (rate_limited) or parallel processing quota (parallel_processing_limit) exceeded; seeRetry-After
Response fields (202)
| Field | Type | Required | Description |
|---|---|---|---|
id | string | yes | |
object | string | yes | |
endpoint_id | string | yes | |
event_id | string | yes | |
event_type | string | yes | |
status | pending, succeeded, retrying, failed | yes | |
attempts | integer | yes | |
response_status | integer | null | ||
response_body_excerpt | string | null | ||
duration_ms | integer | null | ||
error | string | null | ||
next_retry_at | string | null | ||
last_attempt_at | string | null | ||
created_at | string (date-time) | yes |
curl -s -X POST "https://app.meetingize.com/api/v1/webhook_endpoints/<endpoint_id>/test" \ -H "Authorization: Bearer $MEETINGIZE_API_KEY" \ -H "Content-Type: application/json" \ -d '{}'