Skip to content

API Response Schemas

ParameterRequiredDescription
stationYes4 alphanumeric characters (case-insensitive)
start_timeYesISO 8601 UTC timestamp
end_timeYesISO 8601 UTC timestamp (inclusive range, max 7 days)
svNo

Satellite filter (e.g. G01); recommended for full-day queries on busy stations

{
"data": [
{
"epoch": "2024-05-29T01:00:00Z",
"sv": "G01",
"id_arc": 1,
"lat_ipp": -36.85,
"lon_ipp": 174.76,
"azi": 45.2,
"ele": 30.1,
"bias": 0.5,
"stec": 12.3,
"vtec": 8.7,
"veq": 9.1
}
],
"meta": {
"row_count": 1,
"truncated": false
}
}
FieldTypeDescription
row_countInteger

Number of rows in the data array

truncatedBoolean

true if rows were capped by QUERY_MAX_ROWS (default 2000) or trimmed under the Lambda response limit (~5.5 MB)

GET /catalog

{
"stations": ["AUCK", "AVLN", "WGTN"]
}

GET /catalog?station=AUCK

{
"dates": [
{ "year": 2024, "doy": 150 },
{ "year": 2024, "doy": 149 }
]
}
{
"error": "Missing required parameter: station"
}
{
"error": "Job not found: \{job_id\}"
}
{
"error": "Internal server error"
}

Catalog endpoints return HTTP 500 when DATA_LAKE_BUCKET is missing or when S3
Amazon Simple Storage Service — data lake bucket for raw ingest and processed TEC output; S3 events trigger processing.
listing fails.

{
"station": "AUCK",
"year": 2024,
"doy": 150,
"parameters": {
"NAV_DAY_OFFSET": 2
}
}
FieldTypeRequiredDescription
stationStringYes4 alphanumeric characters
yearIntegerYes2000–2099
doyIntegerYes1–366
parametersObjectNo

Override parameters (see SQS Message Schemas)

{
"job_id": "uuid-v4",
"status": "queued",
"trace_id": "uuid-v4"
}

Reprocess response — GET /reprocess/{job_id} (HTTP 200)

Section titled “Reprocess response — GET /reprocess/{job_id} (HTTP 200)”
{
"job_id": "uuid-v4",
"station": "AUCK",
"year": 2024,
"doy": 150,
"status": "completed",
"output_key": "processed/tec/station=auck/year=2026/doy=179/auck1790.parquet",
"trace_id": "uuid-v4",
"created_at": "2024-05-29T00:00:00Z",
"updated_at": "2024-05-29T00:05:00Z"
}
Terminal window
export API_URL="$(terraform -chdir=terraform output -raw api_url)"
curl "${API_URL}/catalog"
curl -s "${API_URL}/catalog?station=auck" | jq .
curl -s "${API_URL}/query?station=auck&start_time=2026-06-28T00:00:00Z&end_time=2026-06-28T23:59:59Z&sv=G01" | jq .meta

See REST API Usage for operational guidance.