Docs/API/Claims

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

FieldTypeDescription
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 TypeDescription
payment_defaultBorrower has defaulted on loan payments and the guarantee has been called.
covenant_breachBorrower breached a financial covenant, triggering the guarantee.
loan_accelerationLender has accelerated the loan, demanding full repayment.
demand_under_guaranteeLender has formally demanded payment under the personal guarantee.
insolvency_eventBorrower 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

StatusMeaning
submittedClaim received, pending initial review.
under_reviewPGI underwriter is reviewing the claim and documents.
additional_info_requiredMore documentation or information needed from the claimant.
approvedClaim approved for payment.
deniedClaim denied. Reason provided in the message thread.
closedClaim 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.