REST API providing access to rural care journey state data, public documents, opportunities, events, change activity, and AI-powered search. All endpoints return JSON. Versioned under /api/v1/.
Most endpoints require an API key. Pass it in one of two ways:
Authorization: Bearer rhtp_your_key_here # or X-Api-Key: rhtp_your_key_here
API keys are issued from your account settings and are available on paid plans. The GET /api/stats endpoint is public and requires no key.
/api/statsPublicPublic dashboard headline stats. No API key needed.
Request
curl https://rhtp.amemobile.net/api/stats
Response
{
"states": 50,
"documents": 2268,
"activities": 5526,
"totalStateAward": 1494540005.98,
"fundingCount": 335,
"federalTracked": true
}/api/v1/statesAPI key requiredStates with document counts, award totals, and summaries. Returns up to 50 states (the full set) by default.
Parameters
limitqueryMax results (default 50, max 50)regionqueryHHS region number, e.g. 7Request
curl "https://rhtp.amemobile.net/api/v1/states?region=7" \ -H "Authorization: Bearer rhtp_..."
Response
Sample{
"data": [
{
"code": "IA",
"name": "Iowa",
"region": "7",
"cahCount": 82,
"summary": "Iowa's Healthy Hometowns...",
"siteUrl": "https://hhs.iowa.gov/...",
"documents": 12,
"awardTotal": 5600000,
"awardeeCount": 8,
"lastActivity": "2026-04-15T..."
}
],
"count": 6
}/api/v1/states/:codeAPI key requiredFull detail for one state including award history and 10 most recent documents.
Parameters
codepathTwo-letter state code, e.g. IARequest
curl https://rhtp.amemobile.net/api/v1/states/IA \ -H "Authorization: Bearer rhtp_..."
Response
Sample{
"code": "IA",
"name": "Iowa",
"region": "7",
"cahCount": 82,
"population": 3200000,
"ruralPercent": 38,
"summary": "Iowa's program focuses on...",
"sites": [{ "url": "https://hhs.iowa.gov/...", "label": "IA RHTP Primary" }],
"documents": 20,
"awardTotal": 5600000,
"totalAwardByState": 5600000,
"awardeeCount": 8,
"activities": 45,
"awardYears": [
{
"fiscalYear": "FY2025",
"total": 2100000,
"awardees": [{ "name": "Iowa Rural Network", "total": 1250000 }]
}
],
"recentDocuments": [
{
"id": "abc123...",
"title": "Iowa RHTP Annual Report",
"fileType": "PDF",
"category": "REPORT",
"fiscalYear": "FY2025",
"award": null,
"highlights": "Iowa expanded CAH network...",
"url": "https://...",
"discovered": "2026-04-15T..."
}
]
}/api/v1/documentsAPI key requiredPaginated list of RHTP-relevant documents with AI-extracted fields. For active solicitations (RFPs/RFAs/NOFOs) with structured deadlines, prefer /api/v1/opportunities.
Parameters
statequeryFilter by state code, e.g. IAcategoryqueryREPORT | AWARD_ANNOUNCEMENT | ANNOUNCEMENT | STRATEGY | SUMMARY | APPLICATION | GUIDANCE | DATA | REFERENCE | OTHERyearqueryFiscal year, e.g. FY2025upcomingquerytrue → only documents with a future deadline (nextDeadline > now), sorted by nextDeadline ascendingpagequeryPage number (default 1)limitqueryResults per page (default 25, max 100)Request
# All docs with a future deadline curl "https://rhtp.amemobile.net/api/v1/documents?upcoming=true&state=IA" \ -H "Authorization: Bearer rhtp_..."
/api/v1/documents/:idAPI key requiredFull document record with all AI-extracted structured fields.
Parameters
idpathDocument UUIDRequest
curl https://rhtp.amemobile.net/api/v1/documents/abc123... \ -H "Authorization: Bearer rhtp_..."
Response
Sample{
"id": "abc123...",
"title": "Iowa Transformation Plan",
"fileType": "PDF",
"category": "STRATEGY",
"state": "IA",
"stateName": "Iowa",
"fiscalYear": "FY2025",
"award": 209000000,
"budget": { "total": 250000000, "federal": 209000000, "match": 41000000 },
"programHighlights": "Iowa's plan expands CAH network...",
"strategicGoals": ["Expand CAH network"],
"milestones": [{ "date": "2025-07", "label": "Phase 1 launch" }],
"transformationStrategy": {
"keyInitiatives": ["Hub-and-spoke model"],
"approachSummary": "..."
},
"implementationPhase": "IMPLEMENTING",
"completenessScore": 87,
"applicationUrl": "https://grants.iowa.gov/apply/rhtp25",
"pages": 42,
"url": "https://..."
}/api/v1/opportunitiesAPI key requiredPaginated list of RHTP opportunities — RFPs, RFAs, NOFOs, grants, and award announcements. This is the primary feed for active solicitations: deadlines are normalized structured fields (dueDate, loiDate, questionDeadline), not prose. Consolidated (duplicate families merged) with effective status applied.
Parameters
statequeryFilter by 2-letter state codestatusqueryOPEN | CLOSING_SOON | UPCOMING | AMENDED | CLOSED (effective status, computed)typequeryRFP | RFA | NOFO | GRANT | AWARD | IFB | …scopequerySTATE | NATIONALqqueryKeyword search in title + summary (disables cache)pagequeryPage number (default 1)limitqueryMax results (default 25, max 100)/api/v1/eventsAPI key requiredPaginated list of RHTP events across states (town halls, webinars, trainings, recordings, and announcements).
Parameters
statequery2-letter state code, or comma-separated list (e.g. IA or IA,NE)statusqueryUPCOMING | TODAY | PAST | CANCELLED | RECORDING_AVAILABLE (single or comma-separated)typequeryTOWN_HALL | WEBINAR | OFFICE_HOURS | TRAINING | ANNOUNCEMENT | RECORDING | QA_SESSION | CONFERENCE | WORKSHOP (single or comma-separated)fromqueryISO date/time lower bound on startAt (inclusive)toqueryISO date/time upper bound on startAt (inclusive)qqueryKeyword search in title + hostAgency + description (disables cache)includeInactivequerytrue to include inactive events (default false)/api/v1/activityAPI key requiredRecent change events across all states. Use type=NEW_OPPORTUNITY to poll for new solicitations. Supports backfill via since+page.
Parameters
statequeryFilter by state codetypequeryPAGE_UPDATED (default) | NEW_OPPORTUNITY | NEW_DOCUMENT | SITE_DOWN | SITE_RESTOREDsincequeryISO 8601 timestamp — return events after this date (disables cache)pagequeryPage number for backfill pagination (default 1)limitqueryMax results (default 25, max 100)Request
# Poll for new opportunities curl "https://rhtp.amemobile.net/api/v1/activity?type=NEW_OPPORTUNITY&since=2026-06-01T00%3A00%3A00Z" \ -H "Authorization: Bearer rhtp_..."
Response
Sample/api/v1/searchAPI key requiredFull-text search over RHTP documents with optional AI answer synthesis.
Parameters
querybodySearch query (required, min 3 chars)statesbodyOptional array of state codes to filteryearbodyOptional fiscal year filterlimitbodyMax documents returned (default 10, max 50)aiAnswerbodyInclude AI synthesis (default true)Request
curl -X POST https://rhtp.amemobile.net/api/v1/search \
-H "Authorization: Bearer rhtp_..." \
-H "Content-Type: application/json" \
-d '{
"query": "EMS workforce development",
"states": ["IA", "NV"],
"aiAnswer": true
}'Response
Sample| Status | Meaning |
|---|---|
| 200 | Success |
| 400 | Bad request — missing or invalid parameter |
| 401 | No API key provided |
| 403 | Invalid or revoked API key |
| 404 | Resource not found |
| 429 | Rate limit exceeded — check Retry-After header |
| 500 | Server error — contact support |
Response
Sample{
"data": [
{
"id": "abc123...",
"title": "Iowa RHTP RFP — Care Coordination",
"fileType": "PDF",
"category": "APPLICATION",
"state": "IA",
"fiscalYear": "FY2025",
"award": null,
"highlights": "Iowa expanded...",
"url": "https://...",
"applicationUrl": "https://grants.iowa.gov/apply/rhtp25",
"nextDeadline": "2026-07-01T00:00:00.000Z",
"keyDates": [
{ "label": "LOI due", "date": "2026-06-15" },
{ "label": "Applications due", "date": "2026-07-01" }
],
"discovered": "2026-04-10T..."
}
],
"pagination": {
"page": 1, "limit": 25,
"total": 4, "pages": 1
}
}Request
curl "https://rhtp.amemobile.net/api/v1/opportunities?state=IA&status=OPEN" \ -H "Authorization: Bearer rhtp_..."
Response
Sample{
"data": [
{
"id": "abc123...",
"slug": "ia-rhtp-care-coordination-rfp",
"title": "Iowa RHTP Care Coordination RFP",
"type": "RFP",
"scope": "STATE",
"state": "IA",
"status": "OPEN",
"issuingAgency": "Iowa HHS",
"summary": "Request for proposals for care coordination...",
"budgetMin": null,
"budgetMax": 2500000,
"applicantTypes": ["Non-profit", "Health system"],
"postedDate": "2026-05-15T...",
"dueDate": "2026-07-01T...",
"loiDate": null,
"questionDeadline": "2026-06-15T...",
"sourceUrl": "https://hhs.iowa.gov/rfp/rhtp25",
"documentCount": 3,
"createdAt": "2026-05-15T...",
"updatedAt": "2026-05-20T..."
}
],
"pagination": { "page": 1, "limit": 25, "total": 42, "pages": 2 }
}pagelimitqueryMax results (default 25, max 100)Request
curl "https://rhtp.amemobile.net/api/v1/events?state=IN&status=UPCOMING&type=WEBINAR,TRAINING&limit=20" \ -H "Authorization: Bearer rhtp_..."
Response
Sample{
"data": [
{
"id": "evt_abc123...",
"title": "Indiana RHTP Budget Office Hours",
"state": "IN",
"stateName": "Indiana",
"eventType": "OFFICE_HOURS",
"status": "UPCOMING",
"startAt": "2026-07-10T18:00:00.000Z",
"endAt": "2026-07-10T19:00:00.000Z",
"timezone": "ET",
"hostAgency": "Indiana FSSA",
"description": "Open Q&A for prospective applicants.",
"registrationUrl": "https://example.gov/register",
"recordingUrl": null,
"slidesUrl": null,
"sourceUrl": "https://example.gov/events/rhtp-office-hours",
"topics": ["budget", "eligibility"],
"audience": ["providers", "community organizations"],
"confidence": "OFFICIAL",
"isActive": true,
"createdAt": "2026-06-01T12:00:00.000Z",
"updatedAt": "2026-06-08T09:15:00.000Z"
}
],
"pagination": { "page": 1, "limit": 20, "total": 8, "pages": 1 }
}{
"data": [
{
"id": "...",
"state": "IA",
"type": "NEW_OPPORTUNITY",
"summary": "New solicitation: Iowa RHTP Care Coordination RFP",
"siteUrl": "https://hhs.iowa.gov/rfp/rhtp25",
"documentId": "abc123...",
"detail": {
"opportunityId": "opp_xyz...",
"opportunityType": "RFP",
"category": "APPLICATION",
"deadline": "2026-07-01",
"applicationUrl": "https://grants.iowa.gov/apply/rhtp25",
"budgetMin": null,
"budgetMax": 2500000
},
"occurredAt": "2026-06-05T..."
}
],
"count": 1,
"page": 1,
"hasMore": false
}{
"documents": [
{
"id": "abc123...",
"title": "Iowa EMS Strategic Plan",
"fileType": "PDF",
"category": "STRATEGY",
"state": "IA",
"stateName": "Iowa",
"fiscalYear": "FY2025",
"highlights": "Iowa is expanding EMS coverage...",
"url": "https://...",
"discovered": "2026-04-10T..."
}
],
"count": 3,
"hasMore": false,
"aiAnswer": "Iowa and Nevada are both investing in EMS..."
}