Claim.MD ERA / Remits API
List electronic remittance advice (ERA) and retrieve remittance detail as raw 835 X12, structured XML/JSON, or a printable PDF.
List electronic remittance advice (ERA) and retrieve remittance detail as raw 835 X12, structured XML/JSON, or a printable PDF.
openapi: 3.0.1
info:
title: Claim.MD API
description: >-
REST API for the Claim.MD medical-claims clearinghouse. The API supports
electronic claim submission (837P/837I and other formats), claim status and
response retrieval, electronic remittance advice (835 ERA), real-time
eligibility (270/271), the payer directory, provider enrollment, appeals,
and webhook notifications. All requests are authenticated with an AccountKey
and responses can be returned as XML (default) or JSON via the Accept header.
termsOfService: https://www.claim.md/terms
contact:
name: Claim.MD Support
url: https://www.claim.md/contact
version: '1.0'
servers:
- url: https://svc.claim.md
description: Claim.MD production API service
security:
- AccountKey: []
tags:
- name: Claims
description: Claim file upload and reconciliation.
- name: Claim Status
description: Claim status responses, modifications, and notes.
- name: ERA
description: Electronic remittance advice (835) listing and retrieval.
- name: Eligibility
description: Real-time eligibility and benefit verification (270/271).
- name: Reference
description: Payer directory, enrollment, appeals, and webhooks.
paths:
/services/upload/:
post:
operationId: uploadClaims
tags:
- Claims
summary: Upload a batch claim file
description: >-
Upload a file containing 1-2000 claims in 837P, 837I, CSV, JSON, XML,
XLS, or XLSX format for scrubbing and routing to payers.
requestBody:
required: true
content:
multipart/form-data:
schema:
type: object
required:
- AccountKey
- File
properties:
AccountKey:
type: string
description: Account authentication key.
File:
type: string
format: binary
description: Claim batch file.
Filename:
type: string
description: Optional original filename.
responses:
'200':
description: Upload accepted with claim and file identifiers.
content:
application/json:
schema:
$ref: '#/components/schemas/UploadResponse'
application/xml:
schema:
$ref: '#/components/schemas/UploadResponse'
/services/uploadlist/:
post:
operationId: listUploads
tags:
- Claims
summary: List uploaded files
description: List previously uploaded claim files with counts and dollar amounts.
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
type: object
required:
- AccountKey
properties:
AccountKey:
type: string
Page:
type: integer
description: Page number for pagination.
UploadDate:
type: string
description: Filter by upload date (yyyy-mm-dd).
responses:
'200':
description: A list of uploaded files.
content:
application/json:
schema:
$ref: '#/components/schemas/UploadListResponse'
/services/response/:
post:
operationId: getClaimResponses
tags:
- Claim Status
summary: Retrieve claim status responses
description: >-
Incrementally retrieve claim status responses and acknowledgements.
Send ResponseID=0 for the initial request, then pass the highest
returned ResponseID to fetch only newer responses. Max 20,000 results
per request.
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
type: object
required:
- AccountKey
- ResponseID
properties:
AccountKey:
type: string
ResponseID:
type: integer
description: Last seen ResponseID; use 0 for the initial request.
ClaimID:
type: string
description: Optional filter for a specific claim.
responses:
'200':
description: Claim status responses.
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseList'
/services/modify/:
post:
operationId: getClaimModifications
tags:
- Claim Status
summary: Retrieve claim modification events
description: Incrementally retrieve claim field modification history.
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
type: object
required:
- AccountKey
properties:
AccountKey:
type: string
ModID:
type: integer
description: Last seen ModID for incremental updates.
ClaimMD_ID:
type: string
description: Optional filter for a specific claim.
Field:
type: string
description: Optional field-name filter.
responses:
'200':
description: Claim modification events.
/services/notes/:
post:
operationId: getClaimNotes
tags:
- Claim Status
summary: Retrieve claim notes
description: Incrementally retrieve user notes attached to claims.
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
type: object
required:
- AccountKey
properties:
AccountKey:
type: string
NoteID:
type: integer
description: Last seen NoteID for incremental updates.
ClaimMD_ID:
type: string
description: Optional filter for a specific claim.
responses:
'200':
description: Claim notes.
/services/archive/:
post:
operationId: archiveClaim
tags:
- Claim Status
summary: Archive a claim
description: Archive or delete one or more claims by claim identifier.
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
type: object
required:
- AccountKey
- claimid
properties:
AccountKey:
type: string
claimid:
type: string
description: Claim identifier; may be repeated to archive multiple claims.
responses:
'200':
description: Archive status.
/services/eralist/:
post:
operationId: listEra
tags:
- ERA
summary: List electronic remittance advice
description: >-
List ERA (835) with payment details, filtered by check, payer, provider,
or date, with incremental retrieval via ERAID.
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
type: object
required:
- AccountKey
properties:
AccountKey:
type: string
CheckDate:
type: string
description: Check date (mm-dd-yyyy).
ReceivedDate:
type: string
ReceivedAfterDate:
type: string
CheckNumber:
type: string
CheckAmount:
type: string
PayerID:
type: string
NPI:
type: string
TaxID:
type: string
NewOnly:
type: integer
description: Return only new ERA (1) or all (0). Defaults to 1.
ERAID:
type: integer
description: Last seen ERAID for incremental updates.
Page:
type: integer
responses:
'200':
description: A list of ERA.
content:
application/json:
schema:
$ref: '#/components/schemas/EraListResponse'
/services/era835/:
post:
operationId: getEra835
tags:
- ERA
summary: Retrieve raw 835 ERA
description: Retrieve the raw X12 835 transaction for a single ERA.
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
type: object
required:
- AccountKey
- eraid
properties:
AccountKey:
type: string
eraid:
type: integer
responses:
'200':
description: Raw 835 X12 data.
/services/eradata/:
post:
operationId: getEraData
tags:
- ERA
summary: Retrieve structured ERA detail
description: >-
Retrieve claim-level remittance detail with adjustment and reason codes
as structured XML or JSON.
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
type: object
required:
- AccountKey
- eraid
properties:
AccountKey:
type: string
eraid:
type: integer
responses:
'200':
description: Structured ERA detail.
/services/erapdf/:
post:
operationId: getEraPdf
tags:
- ERA
summary: Retrieve ERA as PDF
description: Retrieve a printable remittance report as a Base64-encoded PDF.
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
type: object
required:
- AccountKey
- eraid
properties:
AccountKey:
type: string
eraid:
type: integer
pcn:
type: string
description: Optional specific patient/account.
responses:
'200':
description: Base64-encoded PDF remittance report.
/services/elig/:
post:
operationId: submitEligibility270
tags:
- Eligibility
summary: Submit eligibility request (270 file)
description: >-
Submit a real-time eligibility request as an X12 270 file (one request
per patient) and receive a 271 response.
requestBody:
required: true
content:
multipart/form-data:
schema:
type: object
required:
- AccountKey
- File
properties:
AccountKey:
type: string
File:
type: string
format: binary
description: X12 270 eligibility request file.
responses:
'200':
description: X12 271 eligibility response.
/services/eligdata/:
post:
operationId: submitEligibilityData
tags:
- Eligibility
summary: Submit eligibility request (field data)
description: >-
Submit a real-time eligibility request using structured field data and
receive detailed benefit coverage in XML or JSON.
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/EligibilityRequest'
responses:
'200':
description: Eligibility / benefit response.
content:
application/json:
schema:
$ref: '#/components/schemas/EligibilityResponse'
/services/payerlist/:
post:
operationId: listPayers
tags:
- Reference
summary: Retrieve the payer directory
description: Look up payers and their supported service capabilities.
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
type: object
required:
- AccountKey
properties:
AccountKey:
type: string
payerid:
type: string
description: Optional specific payer ID.
payer_name:
type: string
description: Optional payer-name wildcard search.
responses:
'200':
description: Payer directory.
/services/enroll/:
post:
operationId: requestEnrollment
tags:
- Reference
summary: Request provider enrollment
description: >-
Initiate a provider enrollment request (ERA, paper, UB, eligibility, or
attachments) and receive an enrollment link.
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
type: object
required:
- AccountKey
- payerid
- enroll_type
- prov_taxid
properties:
AccountKey:
type: string
payerid:
type: string
enroll_type:
type: string
description: Enrollment type (era, 500, ub, elig, attach).
prov_taxid:
type: string
prov_npi:
type: string
prov_name_l:
type: string
prov_name_f:
type: string
responses:
'200':
description: Enrollment link URL.
/services/appeal/:
post:
operationId: requestAppeal
tags:
- Reference
summary: Request a claim appeal
description: Initiate a claim appeal and receive an appeal form link.
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
type: object
required:
- AccountKey
properties:
AccountKey:
type: string
claimid:
type: string
description: Claim ID (or use remote_claimid).
remote_claimid:
type: string
description: Vendor-side claim identifier.
responses:
'200':
description: Appeal form link URL.
components:
securitySchemes:
AccountKey:
type: apiKey
in: query
name: AccountKey
description: >-
Account authentication key from Settings > Account Settings in the
Claim.MD portal. Submitted with each request (as a form field or query
parameter).
schemas:
UploadResponse:
type: object
properties:
fileid:
type: string
description: Identifier assigned to the uploaded file.
claim:
type: array
items:
type: object
properties:
claimid:
type: string
accept:
type: string
field:
type: string
error:
type: string
UploadListResponse:
type: object
properties:
file:
type: array
items:
type: object
properties:
fileid:
type: string
filename:
type: string
upload_date:
type: string
claim_count:
type: integer
total_charge:
type: string
ResponseList:
type: object
properties:
results:
type: object
properties:
response:
type: array
items:
type: object
properties:
ResponseID:
type: integer
claimid:
type: string
remote_claimid:
type: string
status:
type: string
fieldname:
type: string
message:
type: string
EraListResponse:
type: object
properties:
era:
type: array
items:
type: object
properties:
eraid:
type: integer
payerid:
type: string
check_number:
type: string
check_amount:
type: string
check_date:
type: string
npi:
type: string
EligibilityRequest:
type: object
required:
- AccountKey
- ins_name_l
- ins_name_f
- payerid
- pat_rel
- fdos
- prov_npi
- prov_taxid
properties:
AccountKey:
type: string
ins_name_l:
type: string
description: Subscriber last name.
ins_name_f:
type: string
description: Subscriber first name.
payerid:
type: string
pat_rel:
type: string
description: Patient relationship (18=Self, G8=Dependent).
fdos:
type: string
description: First date of service (yyyymmdd).
prov_npi:
type: string
prov_taxid:
type: string
service_code:
type: string
description: Benefit/service type code. Defaults to 30.
proc_code:
type: string
description: CPT procedure code alternative to service_code.
ins_number:
type: string
ins_dob:
type: string
ins_sex:
type: string
pat_name_l:
type: string
pat_name_f:
type: string
pat_dob:
type: string
pat_sex:
type: string
prov_taxid_type:
type: string
description: E=EIN, S=SSN.
EligibilityResponse:
type: object
properties:
elig:
type: object
properties:
ins_name:
type: string
payer_name:
type: string
plan_status:
type: string
benefit:
type: array
items:
type: object
properties:
service_type:
type: string
coverage_level:
type: string
benefit_amount:
type: string
in_network:
type: string