Webhooks
bearerAuthAuthorizationBearer <token>An API key created in Settings > Integrations (gp_live_…), or an OAuth access token.
id*stringuuidConfiguration and last deliveries.
application/json- response
url*string|nullsecret_configured*booleansigning_secret?stringOnly in the response that created it. Never shown again.
recent_deliveries*array<>curl -X GET 'https://app.groupilot.com/api/v1/events/497f6eca-6276-4993-bfeb-53cbbbba6f08/member-webhook'{ "url": "string", "secret_configured": true, "signing_secret": "string", "recent_deliveries": [ { "id": "string", "type": "string", "status": "string", "attempt_count": 0, "last_http_status": 0, "last_error_code": "string", "created_at": "2019-08-24T14:15:22Z", "completed_at": "2019-08-24T14:15:22Z" } ]}Groupilot POSTs member.joined to this URL when someone joins a community of the event, signed with X-Groupilot-Signature: t=…,v1=… (HMAC-SHA256 of <t>.<body>). The signing secret is returned once.
bearerAuthAuthorizationBearer <token>An API key created in Settings > Integrations (gp_live_…), or an OAuth access token.
id*stringuuidapplication/json- body
url*|HTTPS URL, or null to disable.
urilength <= 2000Saved.
application/json- response
url*string|nullsecret_configured*booleansigning_secret?stringOnly in the response that created it. Never shown again.
recent_deliveries*array<>curl -X PUT 'https://app.groupilot.com/api/v1/events/497f6eca-6276-4993-bfeb-53cbbbba6f08/member-webhook' \ -H 'Content-Type: application/json' \ -d '{ "url": "http://example.com"}'{ "url": "string", "secret_configured": true, "signing_secret": "string", "recent_deliveries": [ { "id": "string", "type": "string", "status": "string", "attempt_count": 0, "last_http_status": 0, "last_error_code": "string", "created_at": "2019-08-24T14:15:22Z", "completed_at": "2019-08-24T14:15:22Z" } ]}bearerAuthAuthorizationBearer <token>An API key created in Settings > Integrations (gp_live_…), or an OAuth access token.
id*stringuuidNew secret, shown once.
application/json- response
signing_secret*stringrotated_at*stringISO 8601 date-time with offset.
date-timecurl -X POST 'https://app.groupilot.com/api/v1/events/497f6eca-6276-4993-bfeb-53cbbbba6f08/member-webhook/rotate-secret'{ "signing_secret": "string", "rotated_at": "2019-08-24T14:15:22Z"}bearerAuthAuthorizationBearer <token>An API key created in Settings > Integrations (gp_live_…), or an OAuth access token.
id*stringuuidAttempted right away.
application/json- response
delivery_id*stringstatus*stringhttp_status*integer|nullcurl -X POST 'https://app.groupilot.com/api/v1/events/497f6eca-6276-4993-bfeb-53cbbbba6f08/member-webhook/test'{ "delivery_id": "string", "status": "string", "http_status": 0}bearerAuthAuthorizationBearer <token>An API key created in Settings > Integrations (gp_live_…), or an OAuth access token.
Endpoints of the account.
application/json- response
items*array<>curl -X GET 'https://app.groupilot.com/api/v1/webhooks'{ "items": [ { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "url": "string", "description": "string", "events": [ "member.joined" ], "enabled": true, "disabled_reason": "user", "consecutive_failures": 0, "created_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z", "disabled_at": "2019-08-24T14:15:22Z" } ]}HTTPS, public host only (no private address, no credentials in the URL). At most 5 endpoints per account. The signing secret is returned once.
bearerAuthAuthorizationBearer <token>An API key created in Settings > Integrations (gp_live_…), or an OAuth access token.
application/json- body
url*string^https:\/\/\S+$12 <= length <= 2048events*array<>1 <= items <= 8description?string1 <= length <= 120Created.
application/json- response
id*stringuuidurl*stringdescription*string|nullevents*array<>enabled*booleandisabled_reason*|failures: paused automatically after 50 consecutive deliveries failed for good; fix the endpoint, then enabled: true.
"user""failures"nullconsecutive_failures*integerDeliveries that failed for good since the last success.
created_at*stringISO 8601 date-time with offset.
date-timeupdated_at*stringISO 8601 date-time with offset.
date-timedisabled_at*|ISO 8601 date-time with offset.
date-timesigning_secret*stringShown once. HMAC-SHA256 key of the X-Groupilot-Signature header.
curl -X POST 'https://app.groupilot.com/api/v1/webhooks' \ -H 'Content-Type: application/json' \ -d '{ "url": "stringstring", "events": [ "member.joined" ]}'{ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "url": "string", "description": "string", "events": [ "member.joined" ], "enabled": true, "disabled_reason": "user", "consecutive_failures": 0, "created_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z", "disabled_at": "2019-08-24T14:15:22Z", "signing_secret": "string"}bearerAuthAuthorizationBearer <token>An API key created in Settings > Integrations (gp_live_…), or an OAuth access token.
id*stringuuidEndpoint.
application/json- response
id*stringuuidurl*stringdescription*string|nullevents*array<>enabled*booleandisabled_reason*|failures: paused automatically after 50 consecutive deliveries failed for good; fix the endpoint, then enabled: true.
"user""failures"nullconsecutive_failures*integerDeliveries that failed for good since the last success.
created_at*stringISO 8601 date-time with offset.
date-timeupdated_at*stringISO 8601 date-time with offset.
date-timedisabled_at*|ISO 8601 date-time with offset.
date-timecurl -X GET 'https://app.groupilot.com/api/v1/webhooks/497f6eca-6276-4993-bfeb-53cbbbba6f08'{ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "url": "string", "description": "string", "events": [ "member.joined" ], "enabled": true, "disabled_reason": "user", "consecutive_failures": 0, "created_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z", "disabled_at": "2019-08-24T14:15:22Z"}enabled: false pauses deliveries (nothing is queued while paused); enabled: true resumes, including after an automatic pause (50 consecutive failures), and resets the failure count.
bearerAuthAuthorizationBearer <token>An API key created in Settings > Integrations (gp_live_…), or an OAuth access token.
id*stringuuidapplication/json- body
url?string^https:\/\/\S+$12 <= length <= 2048events?array<>1 <= items <= 8description?|1 <= length <= 120enabled?booleanChanged.
application/json- response
id*stringuuidurl*stringdescription*string|nullevents*array<>enabled*booleandisabled_reason*|failures: paused automatically after 50 consecutive deliveries failed for good; fix the endpoint, then enabled: true.
"user""failures"nullconsecutive_failures*integerDeliveries that failed for good since the last success.
created_at*stringISO 8601 date-time with offset.
date-timeupdated_at*stringISO 8601 date-time with offset.
date-timedisabled_at*|ISO 8601 date-time with offset.
date-timecurl -X PATCH 'https://app.groupilot.com/api/v1/webhooks/497f6eca-6276-4993-bfeb-53cbbbba6f08' \ -H 'Content-Type: application/json' \ -d '{}'{ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "url": "string", "description": "string", "events": [ "member.joined" ], "enabled": true, "disabled_reason": "user", "consecutive_failures": 0, "created_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z", "disabled_at": "2019-08-24T14:15:22Z"}Its delivery history goes with it.
bearerAuthAuthorizationBearer <token>An API key created in Settings > Integrations (gp_live_…), or an OAuth access token.
id*stringuuidDeleted.
curl -X DELETE 'https://app.groupilot.com/api/v1/webhooks/497f6eca-6276-4993-bfeb-53cbbbba6f08'The new secret applies to the next deliveries; update your verifier first, then rotate.
bearerAuthAuthorizationBearer <token>An API key created in Settings > Integrations (gp_live_…), or an OAuth access token.
id*stringuuidNew secret, shown once.
application/json- response
signing_secret*stringrotated_at*stringISO 8601 date-time with offset.
date-timecurl -X POST 'https://app.groupilot.com/api/v1/webhooks/497f6eca-6276-4993-bfeb-53cbbbba6f08/rotate-secret'{ "signing_secret": "string", "rotated_at": "2019-08-24T14:15:22Z"}Posts a webhook.test envelope now and returns the outcome of the first attempt.
bearerAuthAuthorizationBearer <token>An API key created in Settings > Integrations (gp_live_…), or an OAuth access token.
id*stringuuidFirst attempt outcome.
application/json- response
delivery_id*stringuuidstatus*string"delivered""failed""pending"http_status*integer|nullerror_code*string|nullcurl -X POST 'https://app.groupilot.com/api/v1/webhooks/497f6eca-6276-4993-bfeb-53cbbbba6f08/test'{ "delivery_id": "9892f438-d31c-4ff2-bc84-146525b292ff", "status": "delivered", "http_status": 0, "error_code": "string"}Newest first, 30 days of history.
bearerAuthAuthorizationBearer <token>An API key created in Settings > Integrations (gp_live_…), or an OAuth access token.
id*stringuuidlimit?integer1 <= value <= 10050before?stringOnly deliveries created before this instant (pagination).
date-timeDeliveries.
application/json- response
items*array<>curl -X GET 'https://app.groupilot.com/api/v1/webhooks/497f6eca-6276-4993-bfeb-53cbbbba6f08/deliveries'{ "items": [ { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "type": "string", "status": "pending", "attempt_count": 0, "max_attempts": 0, "last_http_status": 0, "last_error_code": "string", "occurred_at": "2019-08-24T14:15:22Z", "created_at": "2019-08-24T14:15:22Z", "last_attempt_at": "2019-08-24T14:15:22Z", "next_attempt_at": "2019-08-24T14:15:22Z", "completed_at": "2019-08-24T14:15:22Z" } ]}