---
title: "Send a test event to an account webhook endpoint"
method: POST
path: "/accounts/{account}/webhooks/{webhook}/test"
tags: ["Account"]
---

# Send a test event to an account webhook endpoint

`POST /accounts/{account}/webhooks/{webhook}/test`

## Request

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

Queue a signed test delivery (`test: true`) to an account webhook endpoint to check reachability and signature verification.
- Optional `type` picks the event; an unsubscribed one returns 422 subcode `event_not_subscribed`.
- Returns 202 with the delivery id; read the result in the endpoint’s deliveries.
- Requires a live key and an `Idempotency-Key`.

## Path parameters

- `account` string, uuid, required
- `webhook` string, uuid, required

## Headers

- `Idempotency-Key` string, required
- `Factuarea-Version` string, date

## Request body

- SendAccountWebhookTestV1Request: Queue a signed test delivery to the account webhook endpoint of the path. `type` is optional: when omitted the first subscribed event type is used; when set it must be an event type an account endpoint can subscribe to (a company event of the public catalog or an `account.*` event) AND one the endpoint subscribes to, otherwise 422.
  - `type` 'invoice.created' | 'invoice.auto_created' | 'invoice.corrective_auto_created' | 'invoice.subscription_auto_created' | 'invoice.updated' | 'invoice.issued' | 'invoice.sent' | 'invoice.marked_sent' | 'invoice.unsent' | 'invoice.paid' | 'invoice.cancelled' | 'invoice.annulled' | 'invoice.overdue' | 'invoice.deleted' | 'invoice.number_assigned' | 'invoice.rectified' | 'invoice.email_sent' | 'invoice.email_failed' | 'invoice.payment_reminder_sent' | 'invoice.simplified_created' | 'invoice.simplified_substituted' | 'invoice.substituted_by_complete' | 'invoice.verifactu_submitted' | 'invoice.verifactu_failed' | 'invoice.metadata_changed' | 'quote.created' | 'quote.updated' | 'quote.deleted' | 'quote.approved' | 'quote.rejected' | 'quote.converted' | 'quote.expired' | 'quote.marked_as_pending' | 'quote.cancelled' | 'quote.number_assigned' | 'quote.metadata_changed' | 'quote.email_sent' | 'quote.email_failed' | 'proforma.created' | 'proforma.updated' | 'proforma.deleted' | 'proforma.accepted' | 'proforma.rejected' | 'proforma.cancelled' | 'proforma.expired' | 'proforma.converted_to_invoice' | 'proforma.number_assigned' | 'proforma.metadata_changed' | 'proforma.email_sent' | 'proforma.email_failed' | 'delivery_note.created' | 'delivery_note.updated' | 'delivery_note.status_changed' | 'delivery_note.signed' | 'delivery_note.converted' | 'delivery_note.email_sent' | 'delivery_note.email_failed' | 'transport_document.created' | 'transport_document.updated' | 'transport_document.issued' | 'transport_document.modified' | 'transport_document.closed' | 'transport_document.reopened' | 'transport_document.cancelled' | 'transport_document.superseded' | 'transport_document.email_sent' | 'transport_document.email_failed' | 'purchase_invoice.created' | 'purchase_invoice.updated' | 'purchase_invoice.paid' | 'purchase_invoice.cancelled' | 'purchase_invoice.metadata_changed' | 'purchase_invoice.payment_registered' | 'recurring_invoice.created' | 'recurring_invoice.activated' | 'recurring_invoice.paused' | 'recurring_invoice.updated' | 'recurring_invoice.deleted' | 'recurring_invoice.completed' | 'recurring_invoice.executed' | 'recurring_invoice.failed' | 'recurring_invoice.metadata_changed' | 'recurring_invoice.cancelled' | 'client.created' | 'client.updated' | 'client.deleted' | 'client.metadata_changed' | 'contact.created' | 'contact.updated' | 'contact.archived' | 'contact.restored' | 'contact.deleted' | 'contact.role.assigned' | 'contact.role.activated' | 'contact.role.deactivated' | 'contact.role.removed' | 'contact.customer_profile.updated' | 'contact.supplier_profile.updated' | 'product.created' | 'product.updated' | 'product.replaced' | 'payment.received' | 'payment.reversed' | 'tax.metadata_changed' | 'tax.validity_changed' | 'tax.external_reference_changed' | 'series.created' | 'series.updated' | 'series.deleted' | 'series.archived' | 'series.unarchived' | 'series.marked_as_default' | 'series.demoted_from_default' | 'series.year_reset' | 'series.month_reset' | 'series.number_consumed' | 'facturae.face_submitted' | 'facturae.face_status_changed' | 'facturae.face_cancellation_requested' | 'payout.reconciled' | 'employee.created' | 'employee.updated' | 'employee.deactivated' | 'employee.invited' | 'time_entry.recorded' | 'time_entry.corrected' | 'absence.requested' | 'absence.approved' | 'absence.rejected' | 'monthly_register.closed' | 'automation_rule.activated' | 'automation_rule.paused' | 'automation_rule.auto_paused' | 'automation_run.started' | 'automation_run.completed' | 'automation_run.failed' | 'automation_run.step_dead_lettered' | 'order.invoiced' | 'order.refunded' | 'task.created' | 'task.updated' | 'task.deleted' | 'task.status_changed' | 'task.completed' | 'task.assigned' | 'task.unassigned' | 'task.moved' | 'task.due_soon' | 'task.overdue' | 'task_comment.created' | 'task_comment.updated' | 'task_comment.deleted' | 'task_time_entry.created' | 'task_time_entry.updated' | 'task_time_entry.deleted' | 'task_time_entry.invoiced' | 'project.created' | 'project.updated' | 'project.archived' | 'project.deleted' | 'account.member_added' | 'account.member_removed' | 'account.member_role_changed' | 'account.owner_transferred' | 'account.member_grant_changed' | 'account.access_granted' | 'account.access_revoked' | 'account.access_level_changed' | 'account.managed_account_provisioned' | 'account.managed_account_claimed' | 'account.management_ended' | 'account.nif_added' | 'account.nif_transferred' | 'account.nif_archived' | 'account.import_completed' | 'null', nullable: Event type to simulate. It must be one the endpoint subscribes to; when omitted the first subscribed type is used.

## Response `202`

The test delivery was queued. `data.id` is the delivery to read in the deliveries of the endpoint and `data.event_id` the id of the synthetic event it carries, marked `test: true` in the signed envelope. The event is not stored in any event log; the delivery is.

- object
  - `data` object, required
    - `id` string, uuid, required: Opaque identifier (UUID v7) of the queued test delivery. Read its outcome in the deliveries of the endpoint.
    - `object` 'account_webhook_delivery', required: Always `account_webhook_delivery`.
    - `event_id` string, uuid, required: Identifier (UUID v7) of the synthetic test event: the `id` of the signed envelope.
    - `test` true, required: Always `true`: the event is synthetic.
    - `status` 'queued', required: Always `queued`: the delivery was accepted and is sent asynchronously.

## Other responses

- `400`: `parameter_unknown` with `subcode` `retired_active_profile_header`: the retired `X-Active-Profile` header was sent; the company goes in the path. `parameter_invalid_format` on `Factuarea-Version`: the header is not a `YYYY-MM-DD` date. `unsupported_api_version`: the `Factuarea-Version` date is not a supported version.
- `401`: Missing or invalid API key.
- `403`: The request is authenticated but not allowed: the API key lacks the required scope (`insufficient_scope`), the plan does not include the public API or this feature (`addon_not_active`, `feature_not_available_in_plan`), or the module is not available with a test key (`module_not_available_in_sandbox`).
- `404`: The requested resource does not exist or belongs to another company.
- `422`: Validation failed — e.g. the API key plan limit was reached, or an invoice language outside the allowed catalog (`es`, `en`, `ca`). The `error.param` field identifies which input is invalid, if any.
- `429`: Rate limit exceeded. Retry after the duration in `Retry-After`.
- `500`: Unexpected server error.

---

[API](https://skmtc.dev/factuarea/apis/factuarea-public-api.md) · [All operations](https://skmtc.dev/factuarea/apis/factuarea-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/factuarea/apis/factuarea-public-api/revisions/718e77934422?raw)
