Session Status
Check where a session is in the billing pipeline.
GET /api/v1/partner/sessions/{sessionId}Poll this endpoint to track where a session is in the billing pipeline. Use the sessionId returned from Submit a Session. The top-level status and message fields remain stable for existing clients.
Request
const response = await fetch(
"https://api.usetaiga.com/api/v1/partner/sessions/SESSION_ID",
{
headers: {
"Authorization": "Bearer YOUR_API_KEY",
},
}
);
const data = await response.json();import requests
response = requests.get(
"https://api.usetaiga.com/api/v1/partner/sessions/SESSION_ID",
headers={"Authorization": "Bearer YOUR_API_KEY"},
)
data = response.json()curl https://api.usetaiga.com/api/v1/partner/sessions/SESSION_ID \
-H "Authorization: Bearer YOUR_API_KEY"Response
{
"sessionId": "uuid",
"externalSessionId": "session-abc-123",
"status": "processing",
"message": "Session is being processed. We'll update you when the claim is submitted to the payer.",
"patientName": "Sarah Johnson",
"dateOfService": "2026-04-01",
"createdAt": "2026-04-01T18:30:00.000Z",
"updatedAt": "2026-04-01T18:31:00.000Z",
"patient": {
"firstName": "Sarah",
"lastName": "Johnson",
"fullName": "Sarah Johnson",
"dateOfBirth": "1988-05-15",
"memberId": "MEM-2026-0042"
},
"provider": {
"providerId": "uuid",
"firstName": "Jane",
"lastName": "Smith",
"fullName": "Jane Smith",
"npi": "1234567890",
"credentials": null,
"specialty": null
},
"payer": {
"payerName": "Cigna",
"payerId": null,
"groupNumber": null
},
"claim": null,
"timeline": []
}Once the claim has been submitted, the response includes additional claim and event details:
{
"sessionId": "uuid",
"externalSessionId": "session-abc-123",
"status": "paid",
"message": "Payment received from payer.",
"patientName": "Sarah Johnson",
"dateOfService": "2026-04-01",
"claim": {
"claimId": "uuid",
"status": "paid",
"submittedAt": "2026-04-01T19:00:00.000Z",
"lastUpdated": "2026-04-15T12:00:00.000Z",
"patientControlNumber": "PCN123456",
"payerClaimControlNumber": "94060555410000",
"submissionMode": "live"
},
"events": [
{ "type": "835_paid", "timestamp": "2026-04-15T12:00:00.000Z" },
{ "type": "277ca_accepted", "timestamp": "2026-04-01T19:30:00.000Z" }
],
"timeline": [
{
"type": "835_paid",
"status": "paid",
"summary": "Payment posted from the payer.",
"timestamp": "2026-04-15T12:00:00.000Z"
},
{
"type": "277ca_accepted",
"status": "accepted",
"summary": "Claim accepted by the payer.",
"timestamp": "2026-04-01T19:30:00.000Z"
}
]
}Status values
| Status | What's happening |
|---|---|
processing | We're working on it — parsing, coding, review, claim preparation. |
submitted | Claim sent to insurance payer, awaiting acknowledgment. |
accepted | Payer accepted the claim, awaiting adjudication and payment. |
rejected | Payer rejected the claim at intake. Our team is correcting and resubmitting. |
denied | Payer denied the claim. Our team is reviewing for appeal. |
paid | Payment received from payer. |
Claim and timeline fields
These fields are included when claim metadata exists:
| Field | Description |
|---|---|
claim.claimId | Taiga claim record ID |
claim.submittedAt | When the claim was sent to the payer |
claim.lastUpdated | Last status change timestamp |
claim.patientControlNumber | Claim tracking identifier |
claim.payerClaimControlNumber | Payer-assigned claim identifier when available |
timeline | Partner-safe status history without raw claim payloads or raw Stedi responses |
Errors
| Status | Cause |
|---|---|
401 | Invalid or missing API key |
404 | Session ID not found for your partner organization |
See List Sessions and Polling for recommended polling intervals.