Skip to content
Skip to content

Technology · API

Your systems in. Clinical status out.

The Partner API connects EmbedCare to whatever you already run: your app, your CRM, your storefront. Send a completed intake; we handle eligibility, routing, prescribing, and fulfillment, and push every status change back to you. REST + JSON, one owned record per patient.

https://api.embedcare.com/v1/visitsPOST
POST /v1/visits
Authorization: Bearer ec_live_****
Idempotency-Key: 5f2c…

{
  "patient": { "email": "…", "state": "TX" },
  "condition": "weight-loss",
  "intake_id": "intk_9f31"
}

→ 201 { "id": "vst_18d2",
        "status": "in_review",
        "sla_minutes": 60 }

Tenant-scoped keys

Bearer auth with per-tenant keys: a key only ever sees its own patients. Row-level security is the default, not an option.

Idempotent writes

Every POST accepts an Idempotency-Key. Retries return the original result instead of a duplicate visit, safe against flaky networks.

Signed webhooks

Care status pushes to your systems as it changes (visit approved, prescription shipped, refill upcoming), each event signed so you can verify it came from us.

Bearer auth with a per-tenant key (Authorization: Bearer ec_live_…). Keys are tenant-scoped — a key only ever sees its own patients (row-level security). Rotate keys from Partner → Settings. All POSTs accept an Idempotency-Key header. Replaying a key returns the original result (HTTP 200) instead of creating a duplicate — safe to retry on network errors.

Endpoints

The surface, at a glance

A deliberately small API: send patients in, read status back, stay subscribed to everything in between.

  • POST/v1/visitsCreate a visit
  • GET/v1/visits/{id}Retrieve a visit
  • GET/v1/visitsList visits
  • POST/v1/visits/{id}/messagesMessage the patient
  • POST/v1/webhooksRegister a webhook

Webhooks

You never poll. Care status comes to you.

visit.created

A visit was accepted and is being routed.

visit.status_changed

A visit moved status (in_review → prescribed/declined, etc.).

order.shipped

The pharmacy shipped the medication.

message.received

The patient replied in the portal.

The Partner API is rolling out with design partners; the contract above is the one we build against. If your integration needs something it doesn't cover, that's a conversation we want to have.

Bring your stack. We'll meet it.