Skip to main content

ADR 0005 — /api/v1/afia, EndpointUri, ai-agent/ layout

Status: accepted
Date: 2026-09-19

Context​

Afia already has EndpointUri and a Flutter ApiConfig that can drift if paths are copied by hand.

Decision​

  • Canonical HTTP paths: health.afia.app.common.EndpointUri only. docs/api-map.md is an index.
  • Mobile prefix stays /api/v1/afia; host via --dart-define=AFIA_API_BASE_URL.
  • Envelope later: { data, status, message, errors } — add when the first write endpoint exists.
  • Agent tree at workspace root ai-agent/: adr/, docs/, memory/, tasks/.

Reserved prefixes (not implemented):

PrefixContext
/api/v1/afia/healthliveness (exists)
/api/v1/afia/app-versionforce-update (exists)
/api/v1/afia/authidentity
/api/v1/afia/mecurrent account
/api/v1/afia/appointmentspatient booking
/api/v1/afia/clinicianclinician
/api/v1/afia/ordersdiagnostics
/api/v1/afia/worklistsdiagnostics
/api/v1/afia/adminadmin

Consequences​

  • New endpoints require an EndpointUri constant before a controller.
  • Flutter must not invent paths; copy from EndpointUri / api-map.