API Reference

Base URL

https://api.rcm-agent.com/v1

Authentication

All API requests require authentication using an API key in the header:

Authorization: Bearer YOUR_API_KEY

Claims

POST /claims Submit a new claim for processing

Request Body Parameters

patient_id
string required
Unique identifier for the patient
provider_id
string required
Unique identifier for the healthcare provider
services
array required
Array of service objects including CPT codes, modifiers, and charges
insurance_info
object required
Insurance details including payer ID and member information

Example Request

{
  "patient_id": "PT-123456",
  "provider_id": "PRV-789012",
  "services": [
    {
      "cpt_code": "99213",
      "modifiers": ["25"],
      "units": 1,
      "charge": 150.00,
      "diagnosis_codes": ["Z00.00"]
    }
  ],
  "insurance_info": {
    "payer_id": "BCBS001",
    "member_id": "XYZ123456789",
    "group_number": "GRP001"
  }
}

Response

200 OK
{
  "claim_id": "CLM-2024-001234",
  "status": "submitted",
  "estimated_reimbursement": 120.00,
  "submission_timestamp": "2024-01-15T14:30:00Z",
  "tracking_url": "https://portal.rcm-agent.com/claims/CLM-2024-001234"
}
GET /claims/{claim_id} Retrieve claim status and details

Path Parameters

claim_id
string required
The unique identifier of the claim

Example Request

GET /v1/claims/CLM-2024-001234
Authorization: Bearer YOUR_API_KEY

Response

200 OK
{
  "claim_id": "CLM-2024-001234",
  "status": "paid",
  "patient_id": "PT-123456",
  "total_charge": 150.00,
  "allowed_amount": 120.00,
  "paid_amount": 96.00,
  "patient_responsibility": 24.00,
  "processing_history": [
    {
      "timestamp": "2024-01-15T14:30:00Z",
      "status": "submitted",
      "agent": "claims-processing"
    },
    {
      "timestamp": "2024-01-15T14:35:00Z",
      "status": "accepted",
      "agent": "payer-integration"
    },
    {
      "timestamp": "2024-01-20T09:15:00Z",
      "status": "paid",
      "agent": "payment-posting"
    }
  ]
}

Eligibility Verification

POST /eligibility/verify Verify patient insurance eligibility

Request Body Parameters

patient
object required
Patient demographic information
insurance
object required
Insurance information to verify
service_types
array
Specific service types to check eligibility for

Example Request

{
  "patient": {
    "first_name": "John",
    "last_name": "Doe",
    "date_of_birth": "1980-01-15",
    "gender": "M"
  },
  "insurance": {
    "payer_id": "BCBS001",
    "member_id": "XYZ123456789"
  },
  "service_types": ["30", "98"]
}

Response

200 OK
{
  "eligible": true,
  "coverage_active": true,
  "plan_details": {
    "plan_name": "Blue Choice PPO",
    "effective_date": "2024-01-01",
    "termination_date": null
  },
  "benefits": {
    "deductible": {
      "individual": 1500.00,
      "individual_met": 750.00,
      "family": 3000.00,
      "family_met": 1200.00
    },
    "out_of_pocket_max": {
      "individual": 5000.00,
      "individual_met": 1000.00
    },
    "copay": {
      "primary_care": 25.00,
      "specialist": 45.00
    }
  }
}

Analytics

GET /analytics/summary Get revenue cycle performance summary

Query Parameters

start_date
string (ISO 8601)
Start date for the analytics period
end_date
string (ISO 8601)
End date for the analytics period
provider_id
string
Filter by specific provider

Example Request

GET /v1/analytics/summary?start_date=2024-01-01&end_date=2024-01-31
Authorization: Bearer YOUR_API_KEY

Response

200 OK
{
  "period": {
    "start": "2024-01-01",
    "end": "2024-01-31"
  },
  "claims_metrics": {
    "total_submitted": 1543,
    "total_value": 425750.00,
    "average_value": 275.89,
    "acceptance_rate": 0.94,
    "first_pass_rate": 0.87
  },
  "revenue_metrics": {
    "collected": 385200.00,
    "outstanding": 40550.00,
    "collection_rate": 0.905,
    "days_in_ar": 28.5
  },
  "denial_metrics": {
    "total_denials": 92,
    "denial_rate": 0.06,
    "overturned": 67,
    "appeal_success_rate": 0.728
  },
  "agent_performance": {
    "eligibility_verification": {
      "processed": 2156,
      "average_time_ms": 850
    },
    "claims_processing": {
      "processed": 1543,
      "average_time_ms": 1200
    },
    "denial_management": {
      "processed": 92,
      "average_time_ms": 3500
    }
  }
}

Webhooks

POST /webhooks Register a webhook endpoint

Request Body Parameters

url
string required
HTTPS URL to receive webhook events
events
array required
List of event types to subscribe to
secret
string
Secret key for webhook signature verification

Available Events

  • claim.submitted - Claim successfully submitted
  • claim.accepted - Claim accepted by payer
  • claim.denied - Claim denied
  • claim.paid - Payment received
  • eligibility.completed - Eligibility check completed
  • appeal.submitted - Appeal submitted
  • appeal.resolved - Appeal resolved

Example Request

{
  "url": "https://your-app.com/webhooks/rcm",
  "events": ["claim.paid", "claim.denied"],
  "secret": "your-webhook-secret"
}

Error Codes

The API uses standard HTTP response codes to indicate success or failure.

200-299
Success
400-499
Client errors
500-599
Server errors

Common Error Responses

{
  "error": {
    "code": "INVALID_REQUEST",
    "message": "The request body is missing required fields",
    "details": {
      "missing_fields": ["patient_id", "services"]
    }
  }
}