Support Channels
Create support tickets linked to specific policies or applications, and exchange messages with PGI underwriters. Replies from PGI appear in the thread automatically.
Create a support ticket
POST
/api/v2/support/tickets/
Request body
| Field | Type | Description |
|---|---|---|
| subjectrequired | string | Brief subject line for the ticket. |
| messagerequired | string | Initial message body. Describe your question or issue in detail. |
| policy_numberoptional | string | Link this ticket to a specific policy. Must be a policy you originated. |
| application_idoptional | string | Link this ticket to a specific application. |
Response
201 Created
{
"ticket_id": "B3C4D5E6F7A1890123456789DD",
"subject": "Coverage question for PGI-2026-CA-00142",
"status": "open",
"policy_number": "PGI-2026-CA-00142",
"messages": [
{
"sender": "partner",
"content": "Can you confirm whether covenant breach events are covered under this policy? The borrower may be approaching a DSCR covenant trigger.",
"created_at": "2026-04-03T18:30:00Z"
}
],
"created_at": "2026-04-03T18:30:00Z"
}
Example
curl -X POST https://api.pgicover.com/api/v2/support/tickets/ \
-H "Authorization: Bearer pk_test_abc123def456ghi789jkl012mno345" \
-H "Content-Type: application/json" \
-d '{
"subject": "Coverage question for PGI-2026-CA-00142",
"message": "Can you confirm whether covenant breach events are covered under this policy?",
"policy_number": "PGI-2026-CA-00142"
}'
resp = requests.post(
"https://api.pgicover.com/api/v2/support/tickets/",
headers={"Authorization": "Bearer pk_test_abc123def456ghi789jkl012mno345"},
json={
"subject": "Coverage question for PGI-2026-CA-00142",
"message": "Can you confirm whether covenant breach events are covered under this policy?",
"policy_number": "PGI-2026-CA-00142",
},
)
ticket = resp.json()
print(f"Ticket {ticket['ticket_id']} created: {ticket['status']}")
const resp = await fetch("https://api.pgicover.com/api/v2/support/tickets/", {
method: "POST",
headers: {
"Authorization": "Bearer pk_test_abc123def456ghi789jkl012mno345",
"Content-Type": "application/json",
},
body: JSON.stringify({
subject: "Coverage question for PGI-2026-CA-00142",
message: "Can you confirm whether covenant breach events are covered under this policy?",
policy_number: "PGI-2026-CA-00142",
}),
});
const ticket = await resp.json();
console.log(`Ticket ${ticket.ticket_id} created: ${ticket.status}`);
Send a message
POST
/api/v2/support/tickets/{ticket_id}/messages/
Request body
| Field | Type | Description |
|---|---|---|
| contentrequired | string | The message text to send. |
Response
201 Created
{
"message_id": "C4D5E6F7A1B2890123456789EE",
"sender": "partner",
"content": "Here is the loan agreement for reference.",
"created_at": "2026-04-03T19:12:44Z"
}
Get ticket details
GET
/api/v2/support/tickets/{ticket_id}/
Returns full ticket details including the complete message thread. Messages from PGI underwriters appear automatically when they respond through the admin conversation UI.
200 OK
{
"ticket_id": "B3C4D5E6F7A1890123456789DD",
"subject": "Coverage question for PGI-2026-CA-00142",
"status": "open",
"policy_number": "PGI-2026-CA-00142",
"messages": [
{
"sender": "partner",
"content": "Can you confirm whether covenant breach events are covered under this policy?",
"created_at": "2026-04-03T18:30:00Z"
},
{
"sender": "pgi_underwriter",
"content": "Yes, covenant breach is a covered event type under PGI-2026-CA-00142. If the borrower breaches a financial covenant and the lender calls the guarantee, you can file a claim with event_type 'covenant_breach'.",
"created_at": "2026-04-04T09:15:00Z"
}
],
"created_at": "2026-04-03T18:30:00Z"
}
List tickets
GET
/api/v2/support/tickets/
Returns a paginated list of all support tickets for your partner account.
200 OK
{
"count": 5,
"next": null,
"previous": null,
"results": [
{
"ticket_id": "B3C4D5E6F7A1890123456789DD",
"subject": "Coverage question for PGI-2026-CA-00142",
"status": "open",
"policy_number": "PGI-2026-CA-00142",
"message_count": 2,
"created_at": "2026-04-03T18:30:00Z"
}
]
}
Ticket statuses
| Status | Meaning |
|---|---|
| open | Ticket is active and awaiting response. |
| pending | PGI is investigating and will respond. |
| closed | Ticket resolved and closed. |
Webhook events
You'll receive
support.message_received when a PGI underwriter replies, and support.ticket_closed when a ticket is resolved. See Webhooks.