Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]
Section titled “[Unreleased]”Changed
Section titled “Changed”- Admin get-by-id uses PSGC:
GET /v1/{regions,provinces,municities,barangays}/{id}resolves by PSGC code, not the internal serial row id. Examples:/v1/regions/0700000000,/v1/barangays/0730600041. Guides updated under Regions, Provinces, Municities, Barangays. - OpenAPI source of truth: technical contract lives on the API (Scalar, OpenAPI
/doc). This site keeps high-level guides only. - Added API Overview and Interactive API Reference.
- Removed the outdated hand-maintained OpenAPI stub (
src/content/api/openapi.yaml). - API keys: scopes and
rate_limit_rpmare enforced at request time (null scopes = full access; null rpm = 60/min default). Guide updated in Managing API Keys; full vocabulary in API repo auth docs / Scalar.
- Barangay search fields (
GET /v1/barangays/search):- Response now includes
region(name), barangaycode, and parent PSGC codeslCode/pCode/rCode. fullNameincludes region; free-text tokens also match region names (e.g.Lahug NIR).- Documented selection shape for Vue Barangay Search.
- Response now includes
- Municities list
scope(GET /v1/municities):geographic(default) — component cities/municipalities plus HUC/ICC cities hosted in that province (e.g. Cebu City underprovince=Cebu).admin— only LGUs whose admin PSGC parent is the province (excludes region-peer HUCs).- Response fields:
host_province_code,city_class(HUC|ICC). - See Cities & Municipalities.
[0.1.7] - 2026-07-12
Section titled “[0.1.7] - 2026-07-12”- Unified Place Endpoint Response Semantic (Phase 2):
- Standardized response schemas across
/v1/regions,/v1/provinces,/v1/municities, and/v1/barangaysendpoints. - Added support for explicit
formatquery/body parameter (json|geojsonenum) with deprecatedoutputcompatibility mapping. - Integrated shared
geometryselector supporting boundary resolution levels (simple,medium,detailed) across listing, getOne, and POST search endpoints. - GeoJSON responses now output unpaginated RFC 7946
FeatureCollections defaulting tosimplegeometry.
- Standardized response schemas across
- Batch Search & Query Filtering:
- Added batch POST search endpoints (
/v1/regions/search,/v1/provinces/search,/v1/municities/search,/v1/barangays/search) to retrieve multiple records by PSGC codes. - Enforced strict parent parameter scoping for unpaginated GeoJSON operations (e.g.
provincerequired for/v1/municities,provinceandmunicipalityrequired for/v1/barangays) to protect database throughput.
- Added batch POST search endpoints (
- Database & Architecture Performance:
- Integrated Cloudflare Hyperdrive for PostgreSQL database connection pooling and accelerated query latency.
- Added user roles and fine-grained access checks.
[0.1.6] - 2026-02-19
Section titled “[0.1.6] - 2026-02-19”PATCHroutes for partial updates to Datasets and Features- Feature extraction from uploaded GeoJSON files (vector data)
- Automated spatial feature storage in database upon dataset creation
Changed
Section titled “Changed”- Enhanced
GET /v1/features/dataset/{id}to automatically fallback to Cloudflare R2 storage if database features are missing - Improved dataset overview in Dashboard with inline editing of metadata and feature properties
[0.1.5] - 2026-02-17
Section titled “[0.1.5] - 2026-02-17”- Initial release of API.GIS.PH
- Core framework setup with Hono and Cloudflare Workers
- Database integration using Supabase (PostgreSQL) and Drizzle ORM
- Authentication system supporting:
- User API Keys with rate limiting and scoping
- Supabase JWT for authenticated users
- Master Token for admin access
- Geographic endpoints:
/v1/regions,/v1/provinces,/v1/municities,/v1/barangays
- Data management endpoints:
/v1/datasetsfor vector/raster datasets/v1/featuresfor GeoJSON feature operations
- API Key management endpoints (
/v1/api-keys) - OpenAPI 3.0 documentation with Scalar UI