Skip to the page
Chapters

ERAs

List ERAs

GET/api/v1/eras

The remittances (835) the payers sent to your organization in the key's mode, newest first, as summaries (read one for its claims and lines). Filter by state, payer or payment date. In test mode the sandbox sends one for a claim with member ID CH-PAID-ERA (paid in part) or CH-DENIED (denied), or to the test payer CHTEST (paid in full), 2 minutes after the payer accepts it.

Needs a key with read permission.

Request

Query parameters

Query parameters
NameTypeRequiredDescription
limitintegeroptionalHow many items to return, from 1 to 100. Default 25.At least 1.At most 100.
cursorstringoptionalThe next_cursor of the previous page, to get the page after it. Opaque: pass it back unchanged.
statestringoptionalOnly ERAs in this state.One of: `needs_review`, `posted`.
payer_idstringoptionalOnly ERAs from this payer (pyr_...).
paid_fromstring (date)optionalOnly ERAs paid on or after this date (YYYY-MM-DD).
paid_tostring (date)optionalOnly ERAs paid on or before this date (YYYY-MM-DD).
received_fromstring (date-time)optionalOnly ERAs received at or after this instant: the range a report adds up adjustments over (ISO 8601 with an offset, such as 2026-10-01T00:00:00Z).
received_tostring (date-time)optionalOnly ERAs received before this instant (ISO 8601 with an offset, such as 2026-10-01T00:00:00Z).

Response

A page of ERA summaries. Status 200.

Response fields
NameTypeDescription
dataarray of object
data[].idstringAn ID that starts with era_.
data[].objectstringAlways `era`.
data[].statestringneeds_review: received, not yet posted; posted: you posted it.One of: `needs_review`, `posted`.
data[].payerobject or nullThe payer in the directory, when the remittance names one we know.
data[].payer.idstringAn ID that starts with pyr_.
data[].payer.payer_idstringThe payer's own payer ID.
data[].payer.namestring
data[].payer_namestringThe payer's name as the remittance gives it.
data[].office_idstring or nullThe office the payment was made to (the payee), when exactly one office of yours matches it.
data[].paymentobject
data[].payment.methodstringACH (an electronic transfer), CHK (a check), NON (no payment) or another code as sent.
data[].payment.trace_numberstringThe EFT trace or check number: matches the deposit in your bank account.
data[].payment.datestring (date) or null
data[].payment.totalstringThe amount paid.Matches `^-?\d+\.\d{2}$`.
data[].payment.provider_adjustments_totalstringAdjustments at provider level (a recoupment, a forward balance): a positive one reduced the payment.Matches `^-?\d+\.\d{2}$`.
data[].balancedbooleanWhether the remittance adds up (the payment, each claim and each line). One that does not is flagged for review: only the claims that add up on their own were applied.
data[].countsobject
data[].counts.claimsintegerAt least -9007199254740991.
data[].counts.matchedintegerAt least -9007199254740991.
data[].counts.unmatchedintegerAt least -9007199254740991.
data[].received_atstring (date-time)
data[].posted_atstring (date-time) or null
next_cursorvaluePass as cursor to get the next page; null when there is no next page.

Errors

Errors
HTTP statusCodeWhat it means
401UNAUTHORIZEDA valid API key is required. Send it as "Authorization: Bearer <key>".
403PERMISSION_DENIEDThis API key is not allowed to do that.
422INVALID_REQUESTThe request is not valid.
504TIMEOUTThe request took too long to finish. It may still have taken effect: look it up before sending it again with a new Idempotency-Key. What it made is found with GET /api/v1/eligibility?request_id=<this request_id>, and the same filter on /api/v1/claims and /api/v1/attachments (a key with read permission).
500INTERNALSomething went wrong on our side. Quote the request ID if you contact us.

Example

Example request

Shell
curl "https://sandbox.myclaimhouse.com/api/v1/eras?state=needs_review&limit=25" \
  -H "Authorization: Bearer $CLAIMHOUSE_KEY"

Example response: 200

JSON
{
  "data": [
    {
      "id": "era_01JM000000E00800000000003G",
      "object": "era",
      "state": "needs_review",
      "payer": {
        "id": "pyr_01JM000000E008000000000004",
        "payer_id": "00000",
        "name": "Example Dental Plan"
      },
      "payer_name": "EXAMPLE DENTAL PLAN",
      "office_id": "off_01JM000000E008000000000003",
      "payment": {
        "method": "ACH",
        "trace_number": "SBXEFT000001042",
        "date": "2026-09-24",
        "total": "820.80",
        "provider_adjustments_total": "0.00"
      },
      "balanced": true,
      "counts": {
        "claims": 2,
        "matched": 1,
        "unmatched": 1
      },
      "received_at": "2026-09-24T21:03:30.000000+00:00",
      "posted_at": null
    }
  ],
  "next_cursor": null
}