Skip to main content
Network is the API underneath everything in Photon. It has three upserts, patient, prescription and order, two ways to call them, and webhooks to hear what happens next:

GraphQL

For your backend: sync patients and draft prescriptions and orders with a machine token.

MCP

Send prescriptions with Photon from ChatGPT, Claude or your own agent. Available in Neutron, and in private preview in production.

Webhooks

For your backend: get notified as orders are sent, filled, shipped and picked up.

Three upserts

Each record has one GraphQL mutation, and how you call it decides what it does: MCP exposes these records through three mutation tools, plus the read-only orders tool. Its mutation tools do not accept ID-only fetch calls. See MCP tools. Two GraphQL queries read without changing anything: me, to check a token, and orders, to list your organization’s orders. See Queries.

Photon decides, then tells you

Send what you know, and Photon does the matching, resolution and screening, so your code doesn’t have to. Each response reports what Photon did:
  • The record, as saved.
  • changes: an entry for each thing you sent. Its status says whether it was written (APPLIED), and if not, why (REJECTED), or which options to pick from when Photon isn’t sure (AMBIGUOUS).
See Changes and choices.

Where Network stops

A machine token can do everything except sign. Signing and sending need a signed-in prescriber, which is what Prescribe is for. Typically, your backend syncs patients and drafts prescriptions and orders. A prescriber then opens the draft in Prescribe, signs it and sends it. See Authentication.
Last modified on November 1, 2026