Skip to content

API Surface

This page is an orientation map, not an exhaustive endpoint catalogue. Metricis currently exposes hundreds of route operations, and hand-maintained request examples become misleading quickly. Use the running release's /openapi.json for exact paths, methods, parameters, schemas, and response codes.

Major endpoint families

Family Representative responsibility
Health and operations Readiness, health, metrics, and deployment diagnostics
Researcher auth and sessions Login, MFA, refresh, session review/revocation, and SSO where configured
Studies, sites, teams, and participants Research-context setup, membership, access, and participant lifecycle
Registries Registry setup, participants, consent, resources, delivery, follow-up, and research-specific extensions
Forms and responses Definitions, versions, bindings, participant/staff data entry, validation, and attachments
Assessments and batteries Modules, battery versions, delivery, sessions, scoring, and result provenance
Scheduling and visits Calendars, event definitions, visit instances, windows, reminders, and adherence
Consent and eConsent Documents, versions, instances, signatures, status, worklists, re-consent, and withdrawal
Quality and regulatory Queries, SDV, field alerts, double entry, signatures, locks, audit, and adjudication
Participant portal Magic links, account/session state, tasks, diaries, forms, devices, trends, and linked contexts
Integrations REDCap, webhooks, notification providers, device signals, and public-site publication
/api/v1 programmatic access Scoped tokens, read APIs, snapshots, exports, and feature-gated authoring

Inspecting only the routes you need

Open Swagger UI at /docs and filter by tag, or inspect the JSON document programmatically. For example, this command lists operations whose path contains registries:

jq -r '
  .paths
  | to_entries[]
  | select(.key | contains("registries"))
  | .key as $path
  | .value
  | keys[]
  | "\(. | ascii_upcase) \($path)"
' metricis-openapi.json

Integration checklist

Before implementing a caller:

  1. Capture the OpenAPI document from the release and environment you will test.
  2. Identify the actor, research context, role/permission, consent purpose, and scopes required.
  3. Confirm whether the capability is enabled and whether an external system is authoritative.
  4. Generate or validate request/response types from that captured contract.
  5. Test authorization failures, validation errors, duplicate/retried writes, pagination, and external-system failure.
  6. Record the Metricis release and contract checksum in the integration's validation evidence.

See REST API and Authentication.