API Reference

Event Gateway API Reference

Complete REST API reference for building webhook infrastructure with FastHook: create webhook sources, configure HTTP destinations, connect routing rules, inspect inbound requests, retry failed delivery events, run bulk replay operations, transform payloads, query metrics, and manage authentication or project secrets.

Use these endpoints to automate event gateway workflows, debug webhook delivery, count requests and events by time range, and operate replay-safe webhook integrations through the public API at api.fasthook.io.

75 endpointshttps://api.fasthook.ioUI uses /api/auth and /api/control/v1 prefix optional

Overview

FastHook REST API is available at api.fasthook.io. The dashboard UI calls same-origin proxy routes under /api/auth and /api/control, but external integrations should use the public REST base URL. Every route may optionally start with /v1, so /v1/sources and /sources are equivalent.

GET
/v1/sources

Routing and tenancy

Use the REST base URL and pass the active team with x-team-id. If the header is missing, team_id query parameter is used, then the demo team fallback.

Input parameters

Route, header, query, and body inputs accepted by this endpoint.

Headers

AuthorizationstringRequired

Bearer API key or session token.

x-team-idstringOptional

Team to execute the request against. If omitted, FastHook falls back to team_id query and then the demo team.

Authentication

Create and inspect dashboard sessions. Profile updates require a user session.

user.iduser.emailuser.nameuser.picture_urlsession.expires_atmemberships[].team_id
POST
/v1/auth/google/login

Login with Google

Authenticates a Google credential and returns a session token.

Input parameters

Route, header, query, and body inputs accepted by this endpoint.

Request body

credentialstringOptional

Google credential returned by the Google Identity flow.

team_idstringOptional

Team ID used to scope the request.

POST
/v1/auth/demo/login

Login with demo user

Creates a demo session for local exploration and demo flows.

Input parameters

This endpoint does not require path, query, or body parameters.

GET
/v1/auth/me

Get current profile

Returns the authenticated user, active team, session expiry, and memberships.

Input parameters

Route, header, query, and body inputs accepted by this endpoint.

Headers

AuthorizationstringRequired

Bearer API key or session token.

x-team-idstringOptional

Team to execute the request against. If omitted, FastHook falls back to team_id query and then the demo team.

PATCHPUT
/v1/auth/me

Update profile

Updates editable fields on the current user's profile.

Input parameters

Route, header, query, and body inputs accepted by this endpoint.

Headers

AuthorizationstringRequired

Bearer API key or session token.

x-team-idstringOptional

Team to execute the request against. If omitted, FastHook falls back to team_id query and then the demo team.

Request body

nameintegerRequired

required string, max 120 characters

Notes

  • Both PATCH and PUT are accepted for profile updates.
POST
/v1/auth/logout

Logout

Invalidates the current session token.

Input parameters

Route, header, query, and body inputs accepted by this endpoint.

Headers

AuthorizationstringRequired

Bearer API key or session token.

x-team-idstringOptional

Team to execute the request against. If omitted, FastHook falls back to team_id query and then the demo team.

Sources

Sources are ingress endpoints. External systems send HTTP requests to source URLs.

id: src_*team_idnamedescriptiontype: WEBHOOK or vendor-specificconfigurldisabled_atcreated_atupdated_at
GET
/v1/sources

List sources

Returns configured sources for the active team.

Input parameters

Route, header, query, and body inputs accepted by this endpoint.

Headers

AuthorizationstringRequired

Bearer API key or session token.

x-team-idstringOptional

Team to execute the request against. If omitted, FastHook falls back to team_id query and then the demo team.

Query parameters

order_byenumOptional

name | created_at | updated_at

direnumOptional

asc | desc

limitintegerOptional

max 255

include=config.auth for sources and destinationsstringOptional

Request parameter.

GET
/v1/sources/:id

Retrieve a source

Returns one source by id.

Input parameters

Route, header, query, and body inputs accepted by this endpoint.

Path parameters

idstringRequired

Source ID.

Headers

AuthorizationstringRequired

Bearer API key or session token.

x-team-idstringOptional

Team to execute the request against. If omitted, FastHook falls back to team_id query and then the demo team.

Query parameters

include=config.authstringOptional

Request parameter.

POST
/v1/sources

Create a source

Creates a source. type defaults to WEBHOOK.

Input parameters

Route, header, query, and body inputs accepted by this endpoint.

Headers

AuthorizationstringRequired

Bearer API key or session token.

x-team-idstringOptional

Team to execute the request against. If omitted, FastHook falls back to team_id query and then the demo team.

Request body

namestringRequired

required

typestringOptional

optional

url or config.urlstringOptional

optional

configstringOptional

optional

Notes

  • Duplicate create returns 409 with RESOURCE_ALREADY_EXISTS.
PUT
/v1/sources

Upsert a source

Creates or updates a source by name.

Input parameters

Route, header, query, and body inputs accepted by this endpoint.

Headers

AuthorizationstringRequired

Bearer API key or session token.

x-team-idstringOptional

Team to execute the request against. If omitted, FastHook falls back to team_id query and then the demo team.

Request body

namestringRequired

required

PUTPATCH
/v1/sources/:id

Update a source

Partially updates a source. PUT /sources/:id is also supported.

Input parameters

Route, header, query, and body inputs accepted by this endpoint.

Path parameters

idstringRequired

Source ID.

Headers

AuthorizationstringRequired

Bearer API key or session token.

x-team-idstringOptional

Team to execute the request against. If omitted, FastHook falls back to team_id query and then the demo team.

Request body

namestringOptional

Human-readable resource name.

statusstringOptional

Resource, request, or event status filter.

PUTPOST
/v1/sources/:id/disable

Disable a source

Disables a source and disables related connections.

Input parameters

Route, header, query, and body inputs accepted by this endpoint.

Path parameters

idstringRequired

Source ID.

Headers

AuthorizationstringRequired

Bearer API key or session token.

x-team-idstringOptional

Team to execute the request against. If omitted, FastHook falls back to team_id query and then the demo team.

Notes

  • Both PUT and POST are accepted for this action.
PUTPOST
/v1/sources/:id/enable

Enable a source

Enables a previously disabled source.

Input parameters

Route, header, query, and body inputs accepted by this endpoint.

Path parameters

idstringRequired

Source ID.

Headers

AuthorizationstringRequired

Bearer API key or session token.

x-team-idstringOptional

Team to execute the request against. If omitted, FastHook falls back to team_id query and then the demo team.

Notes

  • Both PUT and POST are accepted for this action.
DELETE
/v1/sources/:id

Delete a source

Deletes a source by id.

Input parameters

Route, header, query, and body inputs accepted by this endpoint.

Path parameters

idstringRequired

Source ID.

Headers

AuthorizationstringRequired

Bearer API key or session token.

x-team-idstringOptional

Team to execute the request against. If omitted, FastHook falls back to team_id query and then the demo team.

Destinations

Destinations are outbound endpoints that receive routed events.

id: des_*team_idnamedescriptiontype: HTTP | MOCK_APIconfig.url or config.pathconfig.rate_limitconfig.rate_limit_perioddisabled_atcreated_atupdated_at
GET
/v1/destinations

List destinations

Returns configured destinations with 24 hour attempt metrics.

Input parameters

Route, header, query, and body inputs accepted by this endpoint.

Headers

AuthorizationstringRequired

Bearer API key or session token.

x-team-idstringOptional

Team to execute the request against. If omitted, FastHook falls back to team_id query and then the demo team.

Query parameters

order_byenumOptional

name | created_at | updated_at

direnumOptional

asc | desc

limitintegerOptional

max 255

include=config.auth for sources and destinationsstringOptional

Request parameter.

GET
/v1/destinations/:id

Retrieve a destination

Returns a destination by id.

Input parameters

Route, header, query, and body inputs accepted by this endpoint.

Path parameters

idstringRequired

Destination ID.

Headers

AuthorizationstringRequired

Bearer API key or session token.

x-team-idstringOptional

Team to execute the request against. If omitted, FastHook falls back to team_id query and then the demo team.

Query parameters

include=config.authstringOptional

Request parameter.

POST
/v1/destinations

Create a destination

Creates a destination. type defaults to HTTP.

Input parameters

Route, header, query, and body inputs accepted by this endpoint.

Headers

AuthorizationstringRequired

Bearer API key or session token.

x-team-idstringOptional

Team to execute the request against. If omitted, FastHook falls back to team_id query and then the demo team.

Request body

namestringRequired

required

config.url or config.pathstringRequired

required

PUT
/v1/destinations

Upsert a destination

Creates or updates a destination by name.

Input parameters

Route, header, query, and body inputs accepted by this endpoint.

Headers

AuthorizationstringRequired

Bearer API key or session token.

x-team-idstringOptional

Team to execute the request against. If omitted, FastHook falls back to team_id query and then the demo team.

Request body

namestringRequired

required

config.url or config.pathstringRequired

required

PUTPATCH
/v1/destinations/:id

Update a destination

Partially updates a destination. PUT /destinations/:id is also supported.

Input parameters

Route, header, query, and body inputs accepted by this endpoint.

Path parameters

idstringRequired

Destination ID.

Headers

AuthorizationstringRequired

Bearer API key or session token.

x-team-idstringOptional

Team to execute the request against. If omitted, FastHook falls back to team_id query and then the demo team.

Request body

configobjectOptional

Configuration object for the resource.

PUTPOST
/v1/destinations/:id/disable

Disable a destination

Disables an outbound destination.

Input parameters

Route, header, query, and body inputs accepted by this endpoint.

Path parameters

idstringRequired

Destination ID.

Headers

AuthorizationstringRequired

Bearer API key or session token.

x-team-idstringOptional

Team to execute the request against. If omitted, FastHook falls back to team_id query and then the demo team.

Notes

  • Both PUT and POST are accepted for this action.
PUTPOST
/v1/destinations/:id/enable

Enable a destination

Enables a previously disabled destination.

Input parameters

Route, header, query, and body inputs accepted by this endpoint.

Path parameters

idstringRequired

Destination ID.

Headers

AuthorizationstringRequired

Bearer API key or session token.

x-team-idstringOptional

Team to execute the request against. If omitted, FastHook falls back to team_id query and then the demo team.

Notes

  • Both PUT and POST are accepted for this action.
DELETE
/v1/destinations/:id

Delete a destination

Deletes a destination by id.

Input parameters

Route, header, query, and body inputs accepted by this endpoint.

Path parameters

idstringRequired

Destination ID.

Headers

AuthorizationstringRequired

Bearer API key or session token.

x-team-idstringOptional

Team to execute the request against. If omitted, FastHook falls back to team_id query and then the demo team.

Transformations

Transformations are reusable JavaScript snippets that reshape requests before delivery.

id: trs_*team_idnamecodeenvcode_hashcreated_atupdated_atdeleted_at
GET
/v1/transformations

List transformations

Returns reusable transformation rules.

Input parameters

Route, header, query, and body inputs accepted by this endpoint.

Headers

AuthorizationstringRequired

Bearer API key or session token.

x-team-idstringOptional

Team to execute the request against. If omitted, FastHook falls back to team_id query and then the demo team.

Query parameters

order_byenumOptional

name | created_at | updated_at

direnumOptional

asc | desc

limitintegerOptional

max 255

include=config.auth for sources and destinationsstringOptional

Request parameter.

POST
/v1/transformations

Create a transformation

Creates a new transformation with code.

Input parameters

Route, header, query, and body inputs accepted by this endpoint.

Headers

AuthorizationstringRequired

Bearer API key or session token.

x-team-idstringOptional

Team to execute the request against. If omitted, FastHook falls back to team_id query and then the demo team.

Request body

namestringRequired

required

codestringRequired

required

envobjectOptional

optional object

PUT
/v1/transformations

Upsert a transformation

Upserts a transformation by name.

Input parameters

Route, header, query, and body inputs accepted by this endpoint.

Headers

AuthorizationstringRequired

Bearer API key or session token.

x-team-idstringOptional

Team to execute the request against. If omitted, FastHook falls back to team_id query and then the demo team.

PUT
/v1/transformations/run

Run a transformation

Runs inline code or a saved transformation against a request sample.

Input parameters

Route, header, query, and body inputs accepted by this endpoint.

Headers

AuthorizationstringRequired

Bearer API key or session token.

x-team-idstringOptional

Team to execute the request against. If omitted, FastHook falls back to team_id query and then the demo team.

Request body

code and env, or transformation_idstringOptional

Request parameter.

request samplestringOptional

Request parameter.

GET
/v1/transformations/:id

Retrieve a transformation

Returns a transformation by id.

Input parameters

Route, header, query, and body inputs accepted by this endpoint.

Path parameters

idstringRequired

Transformation ID.

Headers

AuthorizationstringRequired

Bearer API key or session token.

x-team-idstringOptional

Team to execute the request against. If omitted, FastHook falls back to team_id query and then the demo team.

PUT
/v1/transformations/:id

Update a transformation

Updates transformation code or metadata.

Input parameters

Route, header, query, and body inputs accepted by this endpoint.

Path parameters

idstringRequired

Transformation ID.

Headers

AuthorizationstringRequired

Bearer API key or session token.

x-team-idstringOptional

Team to execute the request against. If omitted, FastHook falls back to team_id query and then the demo team.

DELETE
/v1/transformations/:id

Delete a transformation

Deletes a transformation by id.

Input parameters

Route, header, query, and body inputs accepted by this endpoint.

Path parameters

idstringRequired

Transformation ID.

Headers

AuthorizationstringRequired

Bearer API key or session token.

x-team-idstringOptional

Team to execute the request against. If omitted, FastHook falls back to team_id query and then the demo team.

GET
/v1/transformations/:id/executions

List transformation executions

Returns run metadata and logs for executions of a transformation.

Input parameters

Route, header, query, and body inputs accepted by this endpoint.

Path parameters

idstringRequired

Transformation ID.

Headers

AuthorizationstringRequired

Bearer API key or session token.

x-team-idstringOptional

Team to execute the request against. If omitted, FastHook falls back to team_id query and then the demo team.

GET
/v1/transformations/:id/executions/:executionId

Retrieve a transformation execution

Returns one execution with logs and original/transformed event data.

Input parameters

Route, header, query, and body inputs accepted by this endpoint.

Path parameters

idstringRequired

Transformation ID.

executionIdstringRequired

Transformation execution ID.

Headers

AuthorizationstringRequired

Bearer API key or session token.

x-team-idstringOptional

Team to execute the request against. If omitted, FastHook falls back to team_id query and then the demo team.

Connections

Connections route events from one source to one destination and apply rules.

id: web_*team_idnamedescriptionfull_namesourcedestinationrulesdisabled_atpaused_atcreated_atupdated_at
GET
/v1/connections

List connections

Returns routing connections for the active team.

Input parameters

Route, header, query, and body inputs accepted by this endpoint.

Headers

AuthorizationstringRequired

Bearer API key or session token.

x-team-idstringOptional

Team to execute the request against. If omitted, FastHook falls back to team_id query and then the demo team.

Query parameters

order_byenumOptional

name | created_at | updated_at

direnumOptional

asc | desc

limitintegerOptional

max 255

include=config.auth for sources and destinationsstringOptional

Request parameter.

GET
/v1/connections/:id

Retrieve a connection

Returns one connection with full source and destination objects.

Input parameters

Route, header, query, and body inputs accepted by this endpoint.

Path parameters

idstringRequired

Connection ID.

Headers

AuthorizationstringRequired

Bearer API key or session token.

x-team-idstringOptional

Team to execute the request against. If omitted, FastHook falls back to team_id query and then the demo team.

POST
/v1/connections

Create a connection

Creates a connection between a source and destination.

Input parameters

Route, header, query, and body inputs accepted by this endpoint.

Headers

AuthorizationstringRequired

Bearer API key or session token.

x-team-idstringOptional

Team to execute the request against. If omitted, FastHook falls back to team_id query and then the demo team.

Request body

source_id or source.idstringRequired

required

destination_id or destination.idstringRequired

required

namestringRequired

required

rulesarrayOptional

optional array

PUT
/v1/connections

Upsert a connection

Upserts by id, otherwise by source_id and name.

Input parameters

Route, header, query, and body inputs accepted by this endpoint.

Headers

AuthorizationstringRequired

Bearer API key or session token.

x-team-idstringOptional

Team to execute the request against. If omitted, FastHook falls back to team_id query and then the demo team.

PUTPATCH
/v1/connections/:id

Update a connection

Partially updates a connection. PUT /connections/:id is also supported.

Input parameters

Route, header, query, and body inputs accepted by this endpoint.

Path parameters

idstringRequired

Connection ID.

Headers

AuthorizationstringRequired

Bearer API key or session token.

x-team-idstringOptional

Team to execute the request against. If omitted, FastHook falls back to team_id query and then the demo team.

GET
/v1/connections/:id/latest-input

Retrieve latest input

Returns the latest request input seen by the connection source.

Input parameters

Route, header, query, and body inputs accepted by this endpoint.

Path parameters

idstringRequired

Connection ID.

Headers

AuthorizationstringRequired

Bearer API key or session token.

x-team-idstringOptional

Team to execute the request against. If omitted, FastHook falls back to team_id query and then the demo team.

PUT
/v1/connections/:id/pause

Pause a connection

Pauses delivery for a connection.

Input parameters

Route, header, query, and body inputs accepted by this endpoint.

Path parameters

idstringRequired

Connection ID.

Headers

AuthorizationstringRequired

Bearer API key or session token.

x-team-idstringOptional

Team to execute the request against. If omitted, FastHook falls back to team_id query and then the demo team.

PUT
/v1/connections/:id/unpause

Unpause a connection

Resumes delivery for a paused connection.

Input parameters

Route, header, query, and body inputs accepted by this endpoint.

Path parameters

idstringRequired

Connection ID.

Headers

AuthorizationstringRequired

Bearer API key or session token.

x-team-idstringOptional

Team to execute the request against. If omitted, FastHook falls back to team_id query and then the demo team.

PUTPOST
/v1/connections/:id/disable

Disable a connection

Disables routing for a connection.

Input parameters

Route, header, query, and body inputs accepted by this endpoint.

Path parameters

idstringRequired

Connection ID.

Headers

AuthorizationstringRequired

Bearer API key or session token.

x-team-idstringOptional

Team to execute the request against. If omitted, FastHook falls back to team_id query and then the demo team.

Notes

  • Both PUT and POST are accepted for this action.
PUTPOST
/v1/connections/:id/enable

Enable a connection

Enables routing for a connection.

Input parameters

Route, header, query, and body inputs accepted by this endpoint.

Path parameters

idstringRequired

Connection ID.

Headers

AuthorizationstringRequired

Bearer API key or session token.

x-team-idstringOptional

Team to execute the request against. If omitted, FastHook falls back to team_id query and then the demo team.

Notes

  • Both PUT and POST are accepted for this action.
DELETE
/v1/connections/:id

Delete a connection

Deletes a connection by id.

Input parameters

Route, header, query, and body inputs accepted by this endpoint.

Path parameters

idstringRequired

Connection ID.

Headers

AuthorizationstringRequired

Bearer API key or session token.

x-team-idstringOptional

Team to execute the request against. If omitted, FastHook falls back to team_id query and then the demo team.

Connection Rules

Rules live inside connection.rules and are evaluated in normalized order.

PUT
/v1/connections/:id

Rule payload

Supported rule types are retry, delay, filter, transform, transformation, and deduplicate.

Input parameters

Route, header, query, and body inputs accepted by this endpoint.

Path parameters

idstringRequired

Connection ID.

Headers

AuthorizationstringRequired

Bearer API key or session token.

x-team-idstringOptional

Team to execute the request against. If omitted, FastHook falls back to team_id query and then the demo team.

Request body

rulesarrayOptional

Request parameter.

Notes

  • delay must be between 0 and 86400000 ms.
  • deduplicate.window must be between 1000 and 3600000 ms.
  • inline transformation objects are upserted into transformations and linked by transformation_id.

Project Secrets

Project secrets provide API access and outbound signature verification for a team.

team_idapi_key.valueapi_key.masked_valueapi_key.last_rotated_atsigning_secret.valuesigning_secret.masked_valuesigning_secret.last_rotated_at
GET
/v1/project-secrets

Get project secrets

Returns the team's project API key and signing secret. A missing pair is created lazily.

Input parameters

Route, header, query, and body inputs accepted by this endpoint.

Headers

AuthorizationstringRequired

Bearer API key or session token.

x-team-idstringOptional

Team to execute the request against. If omitted, FastHook falls back to team_id query and then the demo team.

PUT
/v1/project-secrets

Update project secrets

Updates one or both caller-provided secret values.

Input parameters

Route, header, query, and body inputs accepted by this endpoint.

Headers

AuthorizationstringRequired

Bearer API key or session token.

x-team-idstringOptional

Team to execute the request against. If omitted, FastHook falls back to team_id query and then the demo team.

Request body

api_keystringOptional

optional string, min 12

signing_secretstringOptional

optional string, min 12

Notes

  • At least one of api_key or signing_secret is required.
POST
/v1/project-secrets/rotate

Rotate project secrets

Rotates one or both generated secret values.

Input parameters

Route, header, query, and body inputs accepted by this endpoint.

Headers

AuthorizationstringRequired

Bearer API key or session token.

x-team-idstringOptional

Team to execute the request against. If omitted, FastHook falls back to team_id query and then the demo team.

Request body

rotatearrayOptional

Secret names to rotate.

Notes

  • Empty body rotates both secrets.
  • Use rotate=["signing_secret"] to rotate only the signing secret.

Requests

Requests are inbound webhook deliveries received by FastHook.

GET
/v1/requests

List requests

Returns cursor-paginated inbound requests with deterministic ordering.

Input parameters

Route, header, query, and body inputs accepted by this endpoint.

Headers

AuthorizationstringRequired

Bearer API key or session token.

x-team-idstringOptional

Team to execute the request against. If omitted, FastHook falls back to team_id query and then the demo team.

Query parameters

fromdatetimeOptional

ISO datetime or relative time

todatetimeOptional

ISO datetime or relative time

limitintegerOptional

default 100, max 100

cursorstringOptional

opaque pagination.next

statusenumOptional

accepted | rejected

verifiedbooleanOptional

true | false

source_idstringOptional

Source ID used to filter inbound requests or routed events.

connection_idstringOptional

Connection ID used to filter routed requests or events.

q or search_termstringOptional

search across id and external_id

includestringOptional

data

GET
/v1/requests/count

Count requests

Returns the count matching the same request filters.

Input parameters

Route, header, query, and body inputs accepted by this endpoint.

Headers

AuthorizationstringRequired

Bearer API key or session token.

x-team-idstringOptional

Team to execute the request against. If omitted, FastHook falls back to team_id query and then the demo team.

Query parameters

from or ingested_at[gte]datetimeOptional

ISO datetime or relative time

to or ingested_at[lte]datetimeOptional

ISO datetime or relative time

statusenumOptional

accepted | rejected

source_idstringOptional

Source ID used to filter inbound requests or routed events.

connection_idstringOptional

Connection ID used to filter routed requests or events.

batch_operation_idstringOptional

Bulk operation ID used to filter matching requests or events.

is_retrybooleanOptional

true | false

retry_kindenumOptional

single | bulk

q or search_termstringOptional

Text search query; search_term is accepted as an alias.

GET
/v1/requests/:id

Retrieve a request

Returns one request with stored payload data when available.

Input parameters

Route, header, query, and body inputs accepted by this endpoint.

Path parameters

idstringRequired

Request ID.

Headers

AuthorizationstringRequired

Bearer API key or session token.

x-team-idstringOptional

Team to execute the request against. If omitted, FastHook falls back to team_id query and then the demo team.

POST
/v1/requests/:id/retry

Retry a request

Queues a source replay for a previously received request.

Input parameters

Route, header, query, and body inputs accepted by this endpoint.

Path parameters

idstringRequired

Request ID.

Headers

AuthorizationstringRequired

Bearer API key or session token.

x-team-idstringOptional

Team to execute the request against. If omitted, FastHook falls back to team_id query and then the demo team.

GET
/v1/requests/:id/events

List request events

Returns delivery events produced from one request.

Input parameters

Route, header, query, and body inputs accepted by this endpoint.

Path parameters

idstringRequired

Request ID.

Headers

AuthorizationstringRequired

Bearer API key or session token.

x-team-idstringOptional

Team to execute the request against. If omitted, FastHook falls back to team_id query and then the demo team.

Query parameters

statusenumOptional

SCHEDULED | QUEUED | HOLD | SUCCESSFUL | FAILED | CANCELLED | PENDING | IGNORED

GET
/v1/requests/:id/ignored_events

List ignored request events

Returns connection-level ignored events for one request.

Input parameters

Route, header, query, and body inputs accepted by this endpoint.

Path parameters

idstringRequired

Request ID.

Headers

AuthorizationstringRequired

Bearer API key or session token.

x-team-idstringOptional

Team to execute the request against. If omitted, FastHook falls back to team_id query and then the demo team.

GET
/v1/requests/bulk_operations

List request bulk operations

Returns request bulk retry operations.

Input parameters

Route, header, query, and body inputs accepted by this endpoint.

Headers

AuthorizationstringRequired

Bearer API key or session token.

x-team-idstringOptional

Team to execute the request against. If omitted, FastHook falls back to team_id query and then the demo team.

Query parameters

bucketenumOptional

all | ongoing | history

limitstringOptional

Maximum number of records to return.

POST
/v1/requests/bulk_operations

Create request bulk operation

Creates a bulk retry operation from filters.

Input parameters

Route, header, query, and body inputs accepted by this endpoint.

Headers

AuthorizationstringRequired

Bearer API key or session token.

x-team-idstringOptional

Team to execute the request against. If omitted, FastHook falls back to team_id query and then the demo team.

Request body

fromdatetimeOptional

ISO datetime or relative time, e.g. 2026-04-17T00:00:00.000Z or now-1h

todatetimeOptional

ISO datetime or relative time, e.g. 2026-04-17T23:59:59.999Z or now

statusenumOptional

accepted | rejected

source_idstringOptional

Source ID used to filter inbound requests or routed events.

connection_idstringOptional

Connection ID used to filter routed requests or events.

qstringOptional

Text search query.

POST
/v1/requests/bulk_operations/:id/cancel

Cancel request bulk operation

Cancels a planned or running request bulk operation.

Input parameters

Route, header, query, and body inputs accepted by this endpoint.

Path parameters

idstringRequired

Bulk operation ID.

Headers

AuthorizationstringRequired

Bearer API key or session token.

x-team-idstringOptional

Team to execute the request against. If omitted, FastHook falls back to team_id query and then the demo team.

Events

Events are outbound delivery records created from accepted requests.

GET
/v1/events

List events

Returns outbound events across the requested date range.

Input parameters

Route, header, query, and body inputs accepted by this endpoint.

Headers

AuthorizationstringRequired

Bearer API key or session token.

x-team-idstringOptional

Team to execute the request against. If omitted, FastHook falls back to team_id query and then the demo team.

Query parameters

fromstringOptional

Start of the time range.

tostringOptional

End of the time range.

limitstringOptional

Maximum number of records to return.

cursorstringOptional

Opaque pagination cursor from the previous response.

statusenumOptional

queued | processing | delivered | failed | ignored

source_idstringOptional

Source ID used to filter inbound requests or routed events.

connection_idstringOptional

Connection ID used to filter routed requests or events.

destination_idstringOptional

Destination ID used to filter outbound events.

qstringOptional

Text search query.

GET
/v1/events/count

Count events

Returns the event count matching filters.

Input parameters

Route, header, query, and body inputs accepted by this endpoint.

Headers

AuthorizationstringRequired

Bearer API key or session token.

x-team-idstringOptional

Team to execute the request against. If omitted, FastHook falls back to team_id query and then the demo team.

Query parameters

from or ingested_at[gte]datetimeOptional

ISO datetime or relative time

to or ingested_at[lte]datetimeOptional

ISO datetime or relative time

statusenumOptional

queued | processing | delivered | failed | ignored

source_idstringOptional

Source ID used to filter inbound requests or routed events.

connection_idstringOptional

Connection ID used to filter routed requests or events.

destination_idstringOptional

Destination ID used to filter outbound events.

batch_operation_idstringOptional

Bulk operation ID used to filter matching requests or events.

q or search_termstringOptional

Text search query; search_term is accepted as an alias.

GET
/v1/events/:id

Retrieve an event

Returns one event with stored payload data when available.

Input parameters

Route, header, query, and body inputs accepted by this endpoint.

Path parameters

idstringRequired

Event ID.

Headers

AuthorizationstringRequired

Bearer API key or session token.

x-team-idstringOptional

Team to execute the request against. If omitted, FastHook falls back to team_id query and then the demo team.

POST
/v1/events/:id/retry

Retry an event

Queues a retry for one outbound event.

Input parameters

Route, header, query, and body inputs accepted by this endpoint.

Path parameters

idstringRequired

Event ID.

Headers

AuthorizationstringRequired

Bearer API key or session token.

x-team-idstringOptional

Team to execute the request against. If omitted, FastHook falls back to team_id query and then the demo team.

GET
/v1/events/bulk_operations

List event bulk operations

Returns event bulk retry operations.

Input parameters

Route, header, query, and body inputs accepted by this endpoint.

Headers

AuthorizationstringRequired

Bearer API key or session token.

x-team-idstringOptional

Team to execute the request against. If omitted, FastHook falls back to team_id query and then the demo team.

Query parameters

bucketenumOptional

all | ongoing | history

limitstringOptional

Maximum number of records to return.

POST
/v1/events/bulk_operations

Create event bulk operation

Creates a bulk event retry operation from filters.

Input parameters

Route, header, query, and body inputs accepted by this endpoint.

Headers

AuthorizationstringRequired

Bearer API key or session token.

x-team-idstringOptional

Team to execute the request against. If omitted, FastHook falls back to team_id query and then the demo team.

Request body

fromdatetimeOptional

ISO datetime or relative time, e.g. 2026-04-17T00:00:00.000Z or now-1h

todatetimeOptional

ISO datetime or relative time, e.g. 2026-04-17T23:59:59.999Z or now

statusenumOptional

queued | processing | delivered | failed | ignored

source_idstringOptional

Source ID used to filter inbound requests or routed events.

connection_idstringOptional

Connection ID used to filter routed requests or events.

destination_idstringOptional

Destination ID used to filter outbound events.

qstringOptional

Text search query.

POST
/v1/events/bulk_operations/:id/cancel

Cancel event bulk operation

Cancels a planned or running event bulk operation.

Input parameters

Route, header, query, and body inputs accepted by this endpoint.

Path parameters

idstringRequired

Bulk operation ID.

Headers

AuthorizationstringRequired

Bearer API key or session token.

x-team-idstringOptional

Team to execute the request against. If omitted, FastHook falls back to team_id query and then the demo team.

Metrics

Metrics endpoints return zero-filled time series for the requested range.

GET
/v1/metrics/requests

Request metrics

Returns request histogram metrics.

Input parameters

Route, header, query, and body inputs accepted by this endpoint.

Headers

AuthorizationstringRequired

Bearer API key or session token.

x-team-idstringOptional

Team to execute the request against. If omitted, FastHook falls back to team_id query and then the demo team.

Query parameters

date_range[start]datetimeRequired

ISO datetime, required

date_range[end]datetimeRequired

ISO datetime, required

granularityenumOptional

1s | 5s | 10s | 30s | 1m | 5m | 15m | 1h

measures[]arrayOptional

count | accepted_count | rejected_count

source_idstringOptional

Source ID used to filter inbound requests or routed events.

statusenumOptional

accepted | rejected

qstringOptional

Text search query.

GET
/v1/metrics/events

Event metrics

Returns event histogram metrics.

Input parameters

Route, header, query, and body inputs accepted by this endpoint.

Headers

AuthorizationstringRequired

Bearer API key or session token.

x-team-idstringOptional

Team to execute the request against. If omitted, FastHook falls back to team_id query and then the demo team.

Query parameters

date_range[start]datetimeRequired

ISO datetime, required

date_range[end]datetimeRequired

ISO datetime, required

granularityenumOptional

1s | 5s | 10s | 30s | 1m | 5m | 15m | 1h

measures[]arrayOptional

count | delivered_count | failed_count | queued_count | processing_count | ignored_count

source_idstringOptional

Source ID used to filter inbound requests or routed events.

connection_idstringOptional

Connection ID used to filter routed requests or events.

destination_idstringOptional

Destination ID used to filter outbound events.

statusenumOptional

queued | processing | delivered | failed | ignored

qstringOptional

Text search query.

Errors

Errors are returned as JSON with a status code and a human-readable message.

GET
/v1/sources/:id

Error format

Most errors include error/message fields, and some conflict responses include code and data.

Input parameters

Route, header, query, and body inputs accepted by this endpoint.

Path parameters

idstringRequired

Source ID.

Headers

AuthorizationstringRequired

Bearer API key or session token.

x-team-idstringOptional

Team to execute the request against. If omitted, FastHook falls back to team_id query and then the demo team.

Notes

  • 401 means authentication is missing or invalid.
  • 403 means the authenticated principal cannot access the team.
  • 404 means the resource or route was not found.
  • 409 is used for duplicate resources or retry conflicts.