API Documentation

TeleCheck Clinic API

Integrate Medicare disaster telehealth eligibility checking into your practice management system

Quick Start

Data updated daily from DisasterAssist.gov.au. Each API response includes a metadata.last_updated timestamp.

1

Get your API key

Subscribe to Clinic-Wide Access and generate your key from Settings → API

2

Make API requests

Include your API key in the x-api-key header

3

Handle the response

Parse the JSON response to determine eligibility and display disaster information

Endpoint

POST /api/v1/check-postcode

Request Headers

HeaderValueRequired
Content-Typeapplication/jsonYes
x-api-keyYour API keyYes

Request Body

{
  "postcode": "4051"  // 4-digit Australian postcode
}

curl Example

curl -X POST https://www.telecheck.clinic/api/v1/check-postcode \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_API_KEY" \
  -d '{"postcode": "4051"}'

Response Example

{
  "success": true,
  "data": {
    "summary": {
      "is_eligible": true,
      "status_color": "green",
      "headline_text": "ELIGIBLE - 4 Active Disaster(s) in Brisbane",
      "medicare_status_text": "Eligible for extended telehealth services under disaster exemptions.",
      "clinical_decision_support": [
        "Check Postcode - View the disaster eligibility result above",
        "Verify Official Links - Click government disaster links below to confirm details",
        "Make Your Clinical Decision - YOU decide if telehealth is appropriate",
        "Copy Verified Notes - Use the proforma below"
      ]
    },
    "location": {
      "postcode": "4051",
      "suburb": "ALDERLEY, ENOGGERA, GAYTHORNE...",
      "state": "QLD",
      "lga_name": "Brisbane",
      "lga_code": "31000"
    },
    "clinical_documentation": {
      "proforma_text": "TELEHEALTH ELIGIBILITY CHECK - ELIGIBLE\n..."
    },
    "disasters": [
      {
        "agrn": "1221",
        "title": "South East Queensland Severe Storms (26 October 2025)",
        "hazard_type": null,
        "start_date": "2025-10-26",
        "end_date": null,
        "url": "https://www.disasterassist.gov.au/...",
        "status_color": "green",
        "is_active": true,
        "display_date": "26/10/2025"
      }
    ],
    "disclaimers": [
      "This tool provides information only and does not constitute medical or legal advice",
      "Clinicians remain responsible for verifying current Medicare requirements",
      "Disaster declarations may change without notice"
    ]
  }
}

Code Examples

Python

import requests

response = requests.post(
    "https://www.telecheck.clinic/api/v1/check-postcode",
    headers={
        "Content-Type": "application/json",
        "x-api-key": "YOUR_API_KEY"
    },
    json={"postcode": "4051"}
)

data = response.json()
if data["success"]:
    result = data["data"]
    print(f"Eligible: {result['summary']['is_eligible']}")
    print(f"Status: {result['summary']['status_color']}")
    print(f"LGA: {result['location']['lga_name']}")
    print(f"Disasters: {len(result['disasters'])}")

JavaScript / TypeScript

const response = await fetch('https://www.telecheck.clinic/api/v1/check-postcode', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'x-api-key': 'YOUR_API_KEY'
  },
  body: JSON.stringify({ postcode: '4051' })
});

const { success, data } = await response.json();
if (success) {
  console.log('Eligible:', data.summary.is_eligible);
  console.log('Status:', data.summary.status_color);
  console.log('LGA:', data.location.lga_name);
  console.log('Disasters:', data.disasters.length);
}

Response Fields

Top Level

FieldTypeDescription
successbooleanWhether the request was processed successfully
dataobjectContains summary, location, clinical_documentation, disasters, and disclaimers

data.summary

FieldTypeDescription
is_eligiblebooleanWhether the postcode is eligible for Medicare telehealth exemptions
status_colorstringTraffic light: green (active, recent), amber (active, 2+ years), red (not eligible)
headline_textstringHuman-readable summary of the eligibility result
medicare_status_textstringMedicare-specific status description
clinical_decision_supportstring[]Suggested clinical decision steps

data.location

FieldTypeDescription
postcodestringThe queried postcode
suburbstringSuburb(s) associated with the postcode
statestringAustralian state/territory
lga_namestringLocal Government Area name
lga_codestringLGA code

data.disasters[]

FieldTypeDescription
agrnstringAustralian Government Reference Number
titlestringOfficial disaster declaration title
start_datestringDate the disaster was declared (ISO 8601)
end_datestring | nullDate the disaster ended, or null if still active
urlstring | nullDisasterAssist.gov.au reference URL
status_colorstringTraffic light for this disaster: green, amber, or red
is_activebooleanWhether the disaster is currently active
display_datestringAustralian-formatted start date (e.g. 26/10/2025)

Other Fields

FieldTypeDescription
data.clinical_documentation.proforma_textstringPre-formatted clinical documentation text for Medicare claims
data.disclaimersstring[]Legal disclaimers about the data

Error Codes

CodeMessageDescription
401Missing x-api-key headerAPI key was not provided
401Invalid API keyAPI key is not valid
403API subscription is inactiveYour subscription has expired or been cancelled
400Invalid postcode formatPostcode must be a 4-digit Australian postcode
429Rate limit exceededToo many requests — wait for Retry-After header value (seconds)

Rate Limits

  • 100 requests per minute per API key (sliding window)
  • Exceeded limits return 429 Too Many Requests
  • Contact support if you need higher limits for large clinics

Rate Limit Response Headers

HeaderDescription
X-RateLimit-LimitMaximum requests per window (100)
X-RateLimit-RemainingRequests remaining in current window
X-RateLimit-ResetSeconds until the window resets
Retry-AfterSeconds to wait (only included on 429 responses)

API Key Management

Manage your API key from Settings → API. Keys use the format sk_live_... and are shown only once on creation — store them securely.

EndpointMethodDescription
/api/v1/keys/generatePOSTGenerate a new API key (requires active subscription, no existing key)
/api/v1/keys/regeneratePOSTRevoke the current key and generate a new one (key rotation)
/api/v1/keys/revokePOSTPermanently deactivate the current API key
/api/v1/keys/statusGETCheck subscription and key status

Key management endpoints require an authenticated session (cookie-based). Only one active key per subscription. Keys are hashed with SHA-256 before storage — raw keys are never persisted.

    TeleCheck — Medicare Telehealth Disaster Eligibility for Clinics