Test statuses and webhook events
Trigger deterministic prior-authorization outcomes and inspect the signed webhook payloads.
Prior-authorization status changes are delivered to the HTTPS endpoint configured for your organization. Test requests use the same audit, outbox, signing, delivery, and retry path as live requests.
Trigger a test outcome
Create a prior authorization with test_mode: true. Test requests require valid, in-scope patient, coverage, provider, and facility IDs, but they are never submitted to a payer or added to Taiga's review queue.
{
"test_mode": true
}The create request first produces a prior_authorization.received event. Use the returned request id to trigger one of the supported test outcomes:
curl --request POST \
--url https://api-staging.taigabilling.com/api/prior-authorizations/v1/pa_test_123/test-status \
--header "Authorization: Bearer $TAIGA_API_KEY" \
--header "Content-Type: application/json" \
--data '{"status":"NEEDS_INFORMATION"}'status must be NEEDS_INFORMATION, PARTIALLY_APPROVED, or DENIED. A terminal test outcome cannot be changed; create a separate test request for each terminal scenario. The endpoint is available in staging and production, but it rejects every request that was not explicitly created with test_mode: true.
Delivery headers
Every delivery includes:
content-type: application/json
user-agent: Taiga-Webhooks/1.0
webhook-id: 0d81ce44-5c51-4ad3-a1d9-3bdb13cb98ad
webhook-timestamp: 1785733200
webhook-signature: v1,BASE64_HMAC_SHA256_SIGNATUREUse webhook-id as the delivery idempotency key. Verify webhook-signature against the exact raw request body before parsing JSON. The signed content is:
{webhook-id}.{webhook-timestamp}.{raw-body}The signature is HMAC-SHA256 encoded as standard Base64. The signing secret is returned when you configure or read your webhook endpoint.
NEEDS_INFORMATION
{
"id": "0d81ce44-5c51-4ad3-a1d9-3bdb13cb98ad",
"type": "prior_authorization.needs_information",
"created_at": "2026-08-03T04:20:00.000Z",
"data": {
"prior_authorization": {
"approved_unit_type": null,
"approved_units": null,
"authorized_service_lines": [],
"billing_provider_npi": "1234567890",
"determined_at": null,
"effective_date": null,
"expiration_date": null,
"external_id": "integration-test-needs-information",
"id": "pa_test_needs_information",
"last_status_at": "2026-08-03T04:20:00.000Z",
"portal_reference_number": null,
"prior_authorization_number": null,
"requirements_checked_at": "2026-08-03T04:20:00.000Z",
"status": "NEEDS_INFORMATION",
"status_message": "Test outcome: additional clinical information is required to continue review.",
"submission_channel": null,
"submission_destination": null,
"submitted_at": null,
"test_mode": true
}
}
}PARTIALLY_APPROVED
The test result approves half of the requested units on the first service line, rounded down with a minimum of one.
{
"id": "8752abf3-58ce-4ec7-a8ac-f82ad85210a7",
"type": "prior_authorization.partially_approved",
"created_at": "2026-08-03T04:25:00.000Z",
"data": {
"prior_authorization": {
"approved_unit_type": "UNITS",
"approved_units": 12,
"authorized_service_lines": [
{
"approved_units": 12,
"effective_date": "2026-08-04",
"expiration_date": "2026-09-15",
"modifiers": [],
"procedure_code": "97110",
"unit_type": "UNITS"
}
],
"billing_provider_npi": "1234567890",
"determined_at": "2026-08-03T04:25:00.000Z",
"effective_date": "2026-08-04",
"expiration_date": "2026-09-15",
"external_id": "integration-test-partial-approval",
"id": "pa_test_partial_approval",
"last_status_at": "2026-08-03T04:25:00.000Z",
"portal_reference_number": "TEST-PORTAL-TIALAPPROVAL",
"prior_authorization_number": "TEST-AUTH-TIALAPPROVAL",
"requirements_checked_at": "2026-08-03T04:25:00.000Z",
"status": "PARTIALLY_APPROVED",
"status_message": "Test outcome: 12 units approved.",
"submission_channel": "API",
"submission_destination": "Taiga test payer",
"submitted_at": "2026-08-03T04:25:00.000Z",
"test_mode": true
}
}
}DENIED
{
"id": "3c447faf-450d-46b1-87ed-aad1bf891291",
"type": "prior_authorization.denied",
"created_at": "2026-08-03T04:30:00.000Z",
"data": {
"prior_authorization": {
"approved_unit_type": null,
"approved_units": null,
"authorized_service_lines": [],
"billing_provider_npi": "1234567890",
"determined_at": "2026-08-03T04:30:00.000Z",
"effective_date": null,
"expiration_date": null,
"external_id": "integration-test-denied",
"id": "pa_test_denied",
"last_status_at": "2026-08-03T04:30:00.000Z",
"portal_reference_number": "TEST-PORTAL-PATESTDENIED",
"prior_authorization_number": null,
"requirements_checked_at": "2026-08-03T04:30:00.000Z",
"status": "DENIED",
"status_message": "Test outcome: the requested services did not meet plan requirements.",
"submission_channel": "API",
"submission_destination": "Taiga test payer",
"submitted_at": "2026-08-03T04:30:00.000Z",
"test_mode": true
}
}
}Return any 2xx response after accepting an event. Failed deliveries are retried with exponential backoff and may be delivered more than once, so consumers must deduplicate by webhook-id.