{
"opencollection": "1.0.0",
"info": {
"name": "FirstPromoter Admin API — Webhooks",
"version": "2.0.0"
},
"request": {
"auth": {
"type": "bearer",
"token": "{{bearerToken}}"
}
},
"items": [
{
"info": {
"name": "Webhooks",
"type": "folder"
},
"items": [
{
"info": {
"name": "List webhook subscriptions",
"type": "http"
},
"http": {
"method": "GET",
"url": "https://api.firstpromoter.com/api/v2/company/webhooks",
"headers": [
{
"name": "Account-ID",
"value": ""
}
],
"params": [
{
"name": "per_page",
"value": "",
"type": "query",
"description": "Number of results per page."
},
{
"name": "page",
"value": "",
"type": "query",
"description": "Page number."
}
]
},
"docs": "Returns a paginated list of all webhook subscriptions for your account, ordered by creation date descending. \n **HTTP Request**
`GET https://api.firstpromoter.com/api/v2/company/webhooks`"
},
{
"info": {
"name": "Create a webhook subscription",
"type": "http"
},
"http": {
"method": "POST",
"url": "https://api.firstpromoter.com/api/v2/company/webhooks",
"headers": [
{
"name": "Account-ID",
"value": ""
}
],
"body": {
"type": "json",
"data": "{}"
}
},
"docs": "Creates a new webhook subscription. The `secret_key` is auto-generated and returned only in this response — store it immediately. \n **HTTP Request**
`POST https://api.firstpromoter.com/api/v2/company/webhooks`"
},
{
"info": {
"name": "List supported event types",
"type": "http"
},
"http": {
"method": "GET",
"url": "https://api.firstpromoter.com/api/v2/company/webhooks/event_types",
"headers": [
{
"name": "Account-ID",
"value": ""
}
]
},
"docs": "Returns a sorted list of all event type strings that can be subscribed to. Use these values in the `event_types` array when creating or updating a subscription. \n **HTTP Request**
`GET https://api.firstpromoter.com/api/v2/company/webhooks/event_types`"
},
{
"info": {
"name": "Send a test webhook delivery",
"type": "http"
},
"http": {
"method": "POST",
"url": "https://api.firstpromoter.com/api/v2/company/webhooks/test",
"headers": [
{
"name": "Account-ID",
"value": ""
}
],
"body": {
"type": "json",
"data": "{}"
}
},
"docs": "Sends a sample payload for the given event type to the specified URL immediately. Useful for verifying that your endpoint is reachable and processing payloads correctly before creating a subscription. \n\n The signature in the test request is generated with a random secret (not a saved subscription's secret), so signature verification will fail — this is expected during testing. \n\n Returns the HTTP status and body received from your endpoint. \n **HTTP Request**
`POST https://api.firstpro"
},
{
"info": {
"name": "Get a webhook subscription",
"type": "http"
},
"http": {
"method": "GET",
"url": "https://api.firstpromoter.com/api/v2/company/webhooks/:id",
"headers": [
{
"name": "Account-ID",
"value": ""
}
],
"params": [
{
"name": "id",
"value": "",
"type": "path",
"description": "ID of the webhook subscription."
}
]
},
"docs": "Returns the details of a single webhook subscription. \n **HTTP Request**
`GET https://api.firstpromoter.com/api/v2/company/webhooks/{id}`"
},
{
"info": {
"name": "Update a webhook subscription",
"type": "http"
},
"http": {
"method": "PUT",
"url": "https://api.firstpromoter.com/api/v2/company/webhooks/:id",
"headers": [
{
"name": "Account-ID",
"value": ""
}
],
"params": [
{
"name": "id",
"value": "",
"type": "path",
"description": "ID of the webhook subscription."
}
],
"body": {
"type": "json",
"data": "{}"
}
},
"docs": "Updates an existing webhook subscription. Only fields you include in the request body are changed. \n **HTTP Request**
`PUT https://api.firstpromoter.com/api/v2/company/webhooks/{id}`"
},
{
"info": {
"name": "Delete a webhook subscription",
"type": "http"
},
"http": {
"method": "DELETE",
"url": "https://api.firstpromoter.com/api/v2/company/webhooks/:id",
"headers": [
{
"name": "Account-ID",
"value": ""
}
],
"params": [
{
"name": "id",
"value": "",
"type": "path",
"description": "ID of the webhook subscription."
}
]
},
"docs": "Permanently deletes a webhook subscription and all its delivery records. \n **HTTP Request**
`DELETE https://api.firstpromoter.com/api/v2/company/webhooks/{id}`"
}
]
},
{
"info": {
"name": "Webhook Deliveries",
"type": "folder"
},
"items": [
{
"info": {
"name": "List deliveries for a subscription",
"type": "http"
},
"http": {
"method": "GET",
"url": "https://api.firstpromoter.com/api/v2/company/webhooks/:webhook_id/webhook_deliveries",
"headers": [
{
"name": "Account-ID",
"value": ""
}
],
"params": [
{
"name": "webhook_id",
"value": "",
"type": "path",
"description": "ID of the webhook subscription."
},
{
"name": "per_page",
"value": "",
"type": "query",
"description": "Number of results per page."
},
{
"name": "page",
"value": "",
"type": "query",
"description": "Page number."
}
]
},
"docs": "Returns a paginated list of delivery attempts for the given subscription, ordered most-recent first. \n **HTTP Request**
`GET https://api.firstpromoter.com/api/v2/company/webhooks/{webhook_id}/webhook_deliveries`"
},
{
"info": {
"name": "Get a delivery",
"type": "http"
},
"http": {
"method": "GET",
"url": "https://api.firstpromoter.com/api/v2/company/webhooks/:webhook_id/webhook_deliveries/:id",
"headers": [
{
"name": "Account-ID",
"value": ""
}
],
"params": [
{
"name": "webhook_id",
"value": "",
"type": "path",
"description": "ID of the webhook subscription."
},
{
"name": "id",
"value": "",
"type": "path",
"description": "ID of the delivery."
}
]
},
"docs": "Returns the full details of a single delivery attempt, including the complete payload that was sent and the response received from your endpoint. \n **HTTP Request**
`GET https://api.firstpromoter.com/api/v2/company/webhooks/{webhook_id}/webhook_deliveries/{id}`"
},
{
"info": {
"name": "Retry a failed delivery",
"type": "http"
},
"http": {
"method": "POST",
"url": "https://api.firstpromoter.com/api/v2/company/webhooks/:webhook_id/webhook_deliveries/:id/retry_delivery",
"headers": [
{
"name": "Account-ID",
"value": ""
}
],
"params": [
{
"name": "webhook_id",
"value": "",
"type": "path",
"description": "ID of the webhook subscription."
},
{
"name": "id",
"value": "",
"type": "path",
"description": "ID of the delivery to retry."
}
]
},
"docs": "Re-queues a failed delivery for immediate retry. The delivery's `status` is reset to `pending` and `attempts` is reset to `0`. \n\n Returns `422` if the subscription's `max_retries` limit has already been reached. \n **HTTP Request**
`POST https://api.firstpromoter.com/api/v2/company/webhooks/{webhook_id}/webhook_deliveries/{id}/retry_delivery`"
}
]
}
],
"bundled": true
}