Photon · Agentic Access
Photon Agentic Access
x-agentic-access
probed
Photon exposes 0 API operations that an AI agent could call, of which 0 are state-changing ‘acting’ operations. This is a recommended x-agentic-access execution contract — the scope, audience, consequence tier, short-lived token constraints, and escalation each action should carry before it is handed to an autonomous agent.
Contracts are classified heuristically from the provider’s OpenAPI and refresh on every APIs.io network build; audience is bound per deployment. The model follows Curity’s Access Intelligence (apidays Munich 2026). Browse every provider’s agent contracts at agentic-access.apis.io.
HealthcareUnited Statese-PrescribingPharmacyPrescription RoutingGraphQLClinical APIDigital HealthBenefit CheckOAuth2
Operations: 0
Acting: 0
Human-in-the-loop: 0
Method: probed
By consequence
Source
Agentic Access
generated: '2026-08-14'
method: probed
source: live fetches of https://photonhealth.com (HTML + Markdown negotiation), /llms.txt, /.well-known/api-catalog, /site-index.json
summary: >-
Photon operates one of the most deliberate agent surfaces in the catalog. The
marketing host is not merely agent-tolerant - it is agent-addressed: it serves
a Markdown twin of every canonical page under content negotiation, advertises
its own machine-readable contracts through an RFC 9727 API catalog AND RFC 8288
Link headers on every response, declares an explicit training/inference consent
posture in a Content-Signal header, and publishes a written policy in llms.txt
stating what an agent may and may not do on a user's behalf. All of it was
verified by probe, unauthenticated.
discovery:
llms_txt:
url: https://photonhealth.com/llms.txt
status: 200
file: llms/photon-llms.txt
has_agent_section: true
docs_llms_txt:
url: https://docs.photon.health/llms.txt
status: 200
file: llms/photon-docs-llms.txt
api_catalog:
url: https://photonhealth.com/.well-known/api-catalog
status: 200
spec: RFC 9727
content_type: application/linkset+json; profile="https://www.rfc-editor.org/info/rfc9727"
file: well-known/photon-api-catalog.json
openapi:
url: https://photonhealth.com/openapi.json
status: 200
file: openapi/photon-website-api-openapi.json
site_index:
url: https://photonhealth.com/site-index.json
status: 200
note: 40 canonical pages, each with a Markdown alternate URL; regenerated continuously (generatedAt was minutes old at probe time).
onboarding_schema:
url: https://photonhealth.com/api/onboarding/schema
status: 200
note: Machine-readable definition of every onboarding path, step and field - the contract behind the browser funnel.
link_headers:
observed: true
note: >-
Every HTML and Markdown response carries the full discovery set as RFC 8288
Link headers, so an agent needs no HTML parsing to find the contracts.
rels:
- rel: api-catalog
href: /.well-known/api-catalog
type: application/linkset+json
- rel: service-desc
href: /openapi.json
type: application/vnd.oai.openapi+json
- rel: service-doc
href: https://docs.photon.health/docs
type: text/html
- rel: describedby
href: /api/onboarding/schema
type: application/json
- rel: describedby
href: /llms.txt
type: text/plain
- rel: llms
href: /llms.txt
type: text/plain
- rel: index
href: /site-index.json
type: application/json
- rel: alternate
href: /index.html.md
type: text/markdown
- rel: canonical
href: /
type: text/html
markdown_twins:
supported: true
negotiation: 'Accept: text/markdown'
alias_convention: append .md to any page URL; /index.html.md for the homepage
verified:
url: https://photonhealth.com/
request_header: 'Accept: text/markdown'
status: 200
response_content_type: text/markdown; charset=utf-8
x_markdown_tokens: 554
note: >-
The Markdown twin is the same content as the HTML page, front-mattered with
title/description/url/markdown - not a stripped or substituted payload. HTML
remains the default for browser requests. No cloaking observed: the Markdown
body matched the HTML page's stated subject and carried no injected or
sponsored content.
consent_signal:
header: Content-Signal
value: ai-train=yes, search=yes, ai-input=yes
observed_on:
- https://photonhealth.com/ (Markdown response)
- https://photonhealth.com/site-index.json (contentSignal field)
interpretation: >-
Photon affirmatively permits AI training, search indexing, and inference-time
input on its public marketing content. Declared in both a response header and
the machine-readable site index, so the posture is discoverable either way.
agent_policy:
source: https://photonhealth.com/llms.txt
permitted:
- Evaluate Photon on a user's behalf.
- Complete the developer sandbox onboarding path with EXPLICIT user consent.
restricted:
- verbatim: Prescriber access requires verification.
- verbatim: Clinic, enterprise, platform, and other production paths are sales-led or handoff-led and should expect human follow-up.
- note: The sandbox "cannot send real prescriptions" - the consequential action is fenced off from the self-serve path entirely.
guidance:
- verbatim: Start with the onboarding schema.
- verbatim: Resolve first-party links in this file against the current host so Vercel previews and production stay aligned.
assessment: >-
A rare example of a provider writing a consent-scoped agent policy rather
than a blanket allow/deny: agents get an explicit, bounded lane (free
sandbox, user consent required) while every irreversible or regulated
action - real prescribing, production access - stays behind human
verification. This is the escalation boundary the agentic-access model asks
for, expressed in prose by the provider itself.
mcp:
status: planned-not-available
evidence: >-
"A unified MCP server for Photon is planned but not yet available. In the
interim, agents can call the same site endpoints used by the browser
onboarding funnel." - https://photonhealth.com/llms.txt (verbatim)
note: First-party confirmation that no MCP server exists; see mcp/photon-mcp.yml deployment.mode = none.
action_classes:
- surface: photonhealth.com website API
operations: [getOnboardingSchema, getOpenApiSpec, getWellKnownOpenApiSpec, getApiCatalog]
action_class: read
consequence: none
escalation: none
note: Unauthenticated discovery reads; safe for autonomous agent use.
- surface: photonhealth.com website API
operations: [createOrResumeOnboardingSession, saveOnboardingStep]
action_class: write
consequence: low
escalation: user-consent
note: Creates/updates a lead record. Photon's own policy requires explicit user consent.
- surface: photonhealth.com website API
operations: [submitOnboardingSession, createNewsletterSignup]
action_class: write
consequence: medium
escalation: user-consent
note: Submits the user's identity and contact details to Photon; triggers sales or verification follow-up. Not reversible by the agent.
- surface: Clinical API (GraphQL)
operations: [createPrescription, createOrder, rerouteOrder]
action_class: write
consequence: high
escalation: human-authorization
note: >-
Prescribing is gated on write:prescription, which is issued only to verified
prescribers via a user access token - not obtainable by an M2M agent. The
provider's strongest control, enforced in the token model rather than in
documentation.
gaps:
- The agent surface is on the MARKETING host. The Clinical API (clinical-api.photon.health) serves no llms.txt, no api-catalog and no Link headers - an agent that starts at the API host finds none of this.
- No agent card at either well-known path on any host.
- No MCP server yet (provider-confirmed as planned).
- No rate-limit signal on any surface (see rate-limits/photon-rate-limits.yml).