Account

Create an account webhook endpoint

Create an account webhook endpoint for HTTPS event callbacks; returns 201 and the signing secret once.

  • account_relationship is own, managed or all (default).
  • Needs a live key from an owner or admin (test key: 403 insufficient_scope).
  • 402 addon_required if the plan allows none; 422 account_webhook_endpoint_limit_reached.
post/accounts/{account}/webhooks

Request

  • Base URL: https://api.factuarea.com/v1
  • URL: https://api.factuarea.com/v1/accounts/{account}/webhooks
  • Auth: one of:
    • HTTP bearer
    • API key in header X-API-Key

Path parameters

accountstring uuid required

Public identifier (UUID v7) of your account. Get it from GET /v1/me (data.account.id).

Headers

Idempotency-Keystring
Example:01928f10-7c0e-7c4a-9b7d-2f8a6e3c1d4b

Client-generated opaque key (up to 255 characters; UUID v7 recommended) that makes retries safe: the first response is cached and replayed for repeats without re-executing the mutation. Reusing a key with a different body returns 422 idempotency_key_reused; the values of secret fields (password, secret…) count as part of the body, so retrying with a corrected secret under the same key is a different request, never the replay of the earlier answer. See the Idempotency guide.

Factuarea-Versionstring date
Example:2026-06-01

Pin the API version (YYYY-MM-DD, Stripe-style date versioning) for this request; omit to use the key's pinned version, or the latest if none. Unsupported version → 400 unsupported_api_version; malformed → 400 parameter_invalid_format. The effective version is echoed in the Factuarea-Version response header. See the Versioning guide.

Request body

urlstring required

HTTPS URL that receives the signed events (up to 2048 characters).

enabled_eventsstring[] required

Event types to subscribe to, at least one: the company events of the public catalog and the account.* events (AccountEventType). Duplicates are collapsed.

account_relationship'own' | 'managed' | 'all' | 'null' nullable

Whose tax IDs the endpoint hears about: own (the tax IDs of your account), managed (the accounts your account manages) or all. Defaults to all.

descriptionstring nullable

Free text for the endpoint (up to 255 characters).

api_versionstring nullable

Payload version (YYYY-MM-DD) to pin the endpoint to. Defaults to the latest supported version; an unsupported one returns 422 with its own subcode.

Response

Account webhook endpoint created. The Location header contains the canonical URL of the new endpoint; the body carries its signing secret once.

Example response

{
  "data": {
    "id": "01933b70-8a41-7c3e-9d52-4b6e8f1a2c01",
    "object": "account_webhook",
    "environment": "live",
    "url": "https://example.com/hooks/factuarea-account",
    "enabled_events": [
      "invoice.created",
      "account.member_added"
    ],
    "account_relationship": "all",
    "status": "active",
    "api_version": "2026-10-05",
    "description": "Alerts of the account.",
    "created_at": "2026-09-28T10:15:00+00:00",
    "updated_at": "2026-09-28T10:15:00+00:00",
    "secret": "whsec_01HKQS5N8VR7QXJ9K3T6BWPMZA9876543210ABCDEF"
  }
}

Changes

No recorded changes to this operation across all 1 revision of this API.