Skip to content

Create a pull endpoint

POST
/v1/pull-endpoints

Creates a new pull mode endpoint. Pull endpoints receive webhooks from external providers and store events for consumer-controlled retrieval via the API, instead of forwarding them.

object
name

Human-readable name

string
<= 255 characters
Example
Stripe Order Events
description

Description of this endpoint’s purpose

string
<= 500 characters
retention_days

Per-endpoint retention override (default is plan default)

integer
>= 1
Example
30
event_type_source

Where to extract the event type from incoming webhooks

string
Allowed values: body header
event_type_path

JSON path for body extraction (e.g., “type”) or header name (e.g., “X-GitHub-Event”)

string
<= 256 characters
Example
type
verify_static_token
boolean
token_header_name
string
token_query_param
string
token_value
string
>= 16 characters
verify_hmac
boolean
hmac_header_name
string
hmac_secret
string
timestamp_header_name
string
timestamp_ttl_seconds
integer
verify_ip_allowlist
boolean
allowed_cidrs
Array<string>
idempotency_header_names
Array<string>
ingest_response_code
integer
default: 202 >= 200 <= 299

Pull endpoint created

object
data
object
id
required
string format: uuid
name
string
description
string
mode
required
string
Allowed values: pull
ingest_url
required

URL to give to your webhook provider. Does not include the secret token suffix.

string format: uri
active
required

Whether the endpoint is active (not deleted).

boolean
paused
required
boolean
retention_days
integer
nullable
event_type_source
string
Allowed values: body header
event_type_path
string
counts

Event counts (only on single-endpoint GET, not list)

object
stored
integer
fetched
integer
delivered
integer
total
integer
verify_static_token
boolean
token_header_name
string
token_query_param
string
verify_hmac
boolean
hmac_header_name
string
timestamp_header_name
string
timestamp_ttl_seconds
integer
nullable
verify_ip_allowlist
boolean
allowed_cidrs
Array<string>
ingest_response_code
integer
idempotency_header_names
Array<string>
created_at
required
string format: date-time
updated_at
required
string format: date-time
secret_token

Secret token for the ingestion URL. Shown only once at creation time.

string
ingest_url

Full ingestion URL including the secret token suffix.

string
meta
object
request_id

Unique identifier for this request (useful for support)

string
Example
req_xyz123

Invalid request

object
error
object
code

Machine-readable error code

string
Example
INVALID_REQUEST
message

Human-readable error message

string
Example
endpoint must be a valid HTTPS URL
meta
object
request_id

Unique identifier for this request (useful for support)

string
Example
req_xyz123
Examples

Endpoint not found

{
"error": {
"code": "ENDPOINT_NOT_FOUND",
"message": "endpoint not found"
},
"meta": {
"request_id": "req_xyz123"
}
}

Unauthorized - Invalid or missing API key

object
error
object
code

Machine-readable error code

string
Example
INVALID_REQUEST
message

Human-readable error message

string
Example
endpoint must be a valid HTTPS URL
meta
object
request_id

Unique identifier for this request (useful for support)

string
Example
req_xyz123
Example
{
"error": {
"code": "UNAUTHORIZED",
"message": "Invalid or missing API key"
},
"meta": {
"request_id": "req_xyz123"
}
}
Personalize Examples

Enter your credentials to populate code examples throughout the docs.