Skip to main content
POST
/
v1
/
webhooks
Register a webhook endpoint
const options = {
  method: 'POST',
  headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
  body: JSON.stringify({url: 'https://example.com/webhooks', events: ['<string>']})
};

fetch('https://api.factify.com/v1/webhooks', options)
  .then(res => res.json())
  .then(res => console.log(res))
  .catch(err => console.error(err));
{
  "id": "whk_01h2xcejqtf2nbrexx3vqjhp41",
  "org_id": "org_01h2xcejqtf2nbrexx3vqjhp41",
  "url": "https://example.com/webhooks",
  "events": [
    "<string>"
  ],
  "created_at": "2025-01-15T10:30:00Z",
  "secret": "whsec_abc123def456"
}

Documentation Index

Fetch the complete documentation index at: https://developers.factify.com/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

Authorization
string
header
required

Bearer authentication using a factapi-issued API key (ffy_<env>_<base32_uuid><base62_random>). Cookie-based sessions are accepted automatically by user-facing endpoints but are not surfaced as an OpenAPI auth scheme.

Headers

X-Factify-Organization-Id
string

Optional. Factify-staff acting-as override: when set, factapi resolves the request against this organization instead of the session-bound one. Honored only for callers with @factify.com emails; non-staff requests carrying this header are rejected with 403. The value is a typed org id (e.g. org_01h2xcejqtf2nbrexx3vqjhp41).

Pattern: ^org_[0-9a-hjkmnp-tv-z]{26}$
Example:

"org_01h2xcejqtf2nbrexx3vqjhp41"

Body

application/json
url
string<uri>
required

Absolute HTTPS URL that will receive event deliveries. Must include scheme and host; relative or scheme-less URLs are rejected with 400.

Example:

"https://example.com/webhooks"

events
string[]
required

Event types this endpoint subscribes to. Must contain at least one entry.

Minimum array length: 1

Response

Created

A registered webhook endpoint that receives event deliveries for an organization.

id
string
required

Unique webhook endpoint ID.

Example:

"whk_01h2xcejqtf2nbrexx3vqjhp41"

org_id
string
required

Organization that owns this endpoint.

Example:

"org_01h2xcejqtf2nbrexx3vqjhp41"

url
string
required

Absolute HTTPS URL deliveries are POSTed to.

Example:

"https://example.com/webhooks"

events
string[]
required

Event types this endpoint is subscribed to.

created_at
string<date-time>
required

When the endpoint was registered.

Example:

"2025-01-15T10:30:00Z"

secret
string

Signing secret used to authenticate delivery payloads. Returned only by POST /v1/webhooks and omitted from list responses — store it at creation time.

Example:

"whsec_abc123def456"