Claims API
Submit claims against bound policies on behalf of policyholders. Track claim status through the full adjudication workflow.
Submit a claim
POST
/api/v2/claims/
Request body
| Field | Type | Description |
|---|---|---|
| policy_numberrequired | string | The policy to file a claim against. Must be a bound policy you originated. |
| event_typerequired | string | Type of covered event. See event types table below. |
| event_daterequired | string | Date the event occurred, in YYYY-MM-DD format. |
| descriptionrequired | string | Detailed description of the claim event and circumstances. |
| documentsoptional | array | Array of supporting document URLs or pre-signed URL references. Accepts PDF, JPG, PNG. |
Event types
| Event Type | Description |
|---|---|
| payment_default | Borrower has defaulted on loan payments and the guarantee has been called. |
| covenant_breach | Borrower breached a financial covenant, triggering the guarantee. |
| loan_acceleration | Lender has accelerated the loan, demanding full repayment. |
| demand_under_guarantee | Lender has formally demanded payment under the personal guarantee. |
| insolvency_event | Borrower has entered insolvency or receivership proceedings. |
Response
201 Created
{
"claim_id": "A2B3C4D5E6F7890123456789CC",
"policy_number": "PGI-2026-CA-00142",
"event_type": "payment_default",
"status": "submitted",
"event_date": "2026-03-28",
"created_at": "2026-04-03T17:45:12Z"
}
Example
curl -X POST https://api.pgicover.com/api/v2/claims/ \
-H "Authorization: Bearer pk_test_abc123def456ghi789jkl012mno345" \
-H "Content-Type: application/json" \
-d '{
"policy_number": "PGI-2026-CA-00142",
"event_type": "payment_default",
"event_date": "2026-03-28",
"description": "Borrower missed three consecutive monthly payments. Lender issued formal demand on March 25. Guarantor received demand letter on March 28.",
"documents": [
"https://storage.example.com/docs/demand-letter.pdf",
"https://storage.example.com/docs/payment-history.pdf"
]
}'
resp = requests.post(
"https://api.pgicover.com/api/v2/claims/",
headers={"Authorization": "Bearer pk_test_abc123def456ghi789jkl012mno345"},
json={
"policy_number": "PGI-2026-CA-00142",
"event_type": "payment_default",
"event_date": "2026-03-28",
"description": "Borrower missed three consecutive monthly payments. Lender issued formal demand on March 25.",
"documents": [
"https://storage.example.com/docs/demand-letter.pdf",
"https://storage.example.com/docs/payment-history.pdf",
],
},
)
claim = resp.json()
print(f"Claim {claim['claim_id']} submitted: {claim['status']}")
const resp = await fetch("https://api.pgicover.com/api/v2/claims/", {
method: "POST",
headers: {
"Authorization": "Bearer pk_test_abc123def456ghi789jkl012mno345",
"Content-Type": "application/json",
},
body: JSON.stringify({
policy_number: "PGI-2026-CA-00142",
event_type: "payment_default",
event_date: "2026-03-28",
description: "Borrower missed three consecutive monthly payments.",
documents: [
"https://storage.example.com/docs/demand-letter.pdf",
"https://storage.example.com/docs/payment-history.pdf",
],
}),
});
const claim = await resp.json();
console.log(`Claim ${claim.claim_id} submitted: ${claim.status}`);
List claims
GET
/api/v2/claims/
Returns a paginated list of all claims submitted through your partner API key.
200 OK
{
"count": 3,
"next": null,
"previous": null,
"results": [
{
"claim_id": "A2B3C4D5E6F7890123456789CC",
"policy_number": "PGI-2026-CA-00142",
"event_type": "payment_default",
"status": "under_review",
"event_date": "2026-03-28",
"created_at": "2026-04-03T17:45:12Z"
}
]
}
Get claim details
GET
/api/v2/claims/{claim_id}/
Returns full details for a claim, including current workflow step and message history.
200 OK
{
"claim_id": "A2B3C4D5E6F7890123456789CC",
"policy_number": "PGI-2026-CA-00142",
"event_type": "payment_default",
"status": "under_review",
"event_date": "2026-03-28",
"description": "Borrower missed three consecutive monthly payments...",
"documents": [
"https://storage.example.com/docs/demand-letter.pdf",
"https://storage.example.com/docs/payment-history.pdf"
],
"messages": [
{
"sender": "pgi_underwriter",
"content": "Claim received. We're reviewing the supporting documents. Please provide the original loan agreement if available.",
"created_at": "2026-04-04T10:15:00Z"
}
],
"created_at": "2026-04-03T17:45:12Z"
}
Claim statuses
| Status | Meaning |
|---|---|
| submitted | Claim received, pending initial review. |
| under_review | PGI underwriter is reviewing the claim and documents. |
| additional_info_required | More documentation or information needed from the claimant. |
| approved | Claim approved for payment. |
| denied | Claim denied. Reason provided in the message thread. |
| closed | Claim fully resolved and closed. |
Webhook events
You'll receive
claim.submitted, claim.status_changed, and claim.closed webhook events as the claim moves through the workflow. See Webhooks.