Docs/API Reference

API reference

Base URL, authentication, every Partner API endpoint, and the OpenAPI 3.1 specification for Postman and Insomnia.

Base URL

https://api.physioaroundme.com/v1

All paths on these pages are relative to this base URL. The same API is also available at https://physioaroundme.com/api/v1. Sandbox and live share both hosts, and the API key decides the environment.

Authentication

Send your secret key as a bearer token, or in X-API-Key:

Authorization: Bearer sk_test_xxx

Keys starting with sk_test_ hit the sandbox, and keys starting with sk_live_ hit live. Never call the API from a browser or mobile app. See Authentication.

OpenAPI specification

A complete OpenAPI 3.1 document describes every endpoint, schema, error and webhook:

https://physioaroundme.com/openapi.json

You can import it into your API client:

  • Postman: choose Import, paste the URL, and Postman creates a collection. Set the collection's authorization to Bearer Token with your sk_test_ key.
  • Insomnia: choose Import, then From URL, and paste the URL.
  • Code generators: any OpenAPI 3.1-compatible generator can build a typed client from the document.

Endpoints

MethodPathDescription
POST/partners/referralsCreate a referral
GET/partners/referralsList referrals
GET/partners/referrals/{id}Retrieve a referral by id, tracking_code or partner_reference
GET/partners/sessionsList appointments for your referrals
GET/partners/reports/{id}Progress report (JSON, no clinical notes)
GET/partners/reports/{id}/pdfProgress report as a PDF
GET/partners/providersVerified physiotherapist directory
POST/partners/referral-linksCreate a no-code referral link
GET/partners/referral-linksList your referral links
PATCH/partners/referral-links/{id}Activate or deactivate a link
GET/partners/commercialYour commercial terms and earnings summary
GET/partners/commissionsCommission ledger
POST/partners/eligibilityEligibility check. Coming soon (sandbox preview only)

Sandbox-only endpoints

These work only with sk_test_ keys. With a live key, they return 403 sandbox_only.

MethodPathDescription
POST/sandbox/referrals/{id}/advanceMove a sandbox referral to a new status, firing the matching webhooks
POST/sandbox/trigger-webhookSend a test event to your sandbox webhook endpoint

Public endpoint (no API key)

MethodPathDescription
POST/public/referral-links/{public_code}/leadsSubmit a patient lead through a referral link. CORS-enabled and rate limited per IP.

Response headers

HeaderWhenMeaning
X-Request-IdEvery responseUnique request ID, such as req_5f2c9a1b7d3e4f60a1b2c3d4. Quote it to support.
X-Rehabify-EnvironmentEvery responsesandbox or live
X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-ResetEvery authenticated responseSee Rate limits.
Retry-After429 responsesSeconds to wait before retrying
Idempotent-ReplayedReplayed POST responsestrue when the response was replayed for a repeated Idempotency-Key

Conventions at a glance

  • JSON bodies in UTF-8. Unknown request fields are ignored.
  • Timestamps are ISO-8601 UTC strings, such as 2026-10-13T09:30:00.000Z.
  • Money is in integer kobo, in fields ending _kobo, with "currency": "NGN".
  • Lists use limit (1–100, default 25) and cursor, and return { "object": "list", "data": [...], "has_more": ..., "next_cursor": ... }.
  • POST endpoints accept Idempotency-Key.

Details are in Conventions, and every error code is in Errors.

API reference | Rehabify Docs | Physio Around Me by Rehabify Health