Photon Onboarding API
First-party onboarding endpoints for prescriber, developer, clinic, enterprise, platform, and other paths.
First-party onboarding endpoints for prescriber, developer, clinic, enterprise, platform, and other paths.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/photon-onboarding-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
openapi: 3.2.0
info:
title: Photon website Onboarding API
summary: Public website API used by the Photon onboarding funnel and newsletter signup.
description: Create or resume an onboarding session, save path-specific onboarding answers, submit a completed onboarding flow, and create Ghost newsletter signups. The companion onboarding schema endpoint returns the current path definitions, steps, and fields.
version: '2026-05-13'
contact:
name: Photon Health
url: https://photonhealth.com
servers:
- url: https://photonhealth.com
tags:
- name: Onboarding
description: First-party onboarding endpoints for prescriber, developer, clinic, enterprise, platform, and other paths.
paths:
/api/onboarding/schema:
get:
tags:
- Onboarding
operationId: getOnboardingSchema
summary: Get onboarding paths, steps, and fields
description: Returns every onboarding path in `allPaths`, plus the active path-specific step list when the optional `path` query parameter is supplied.
parameters:
- name: path
in: query
required: false
description: Optional onboarding path id used to return the currently active step list.
schema:
$ref: '#/components/schemas/OnboardingPathId'
responses:
'200':
description: Onboarding schema payload.
content:
application/json:
schema:
type: object
required:
- data
properties:
data:
$ref: '#/components/schemas/OnboardingSchema'
example:
data:
paths:
- id: prescriber
label: Prescriber
description: Start prescribing in the app
cta: Start Prescribing
mode: verification_required
- id: developer
label: Developer
description: Build and test in a sandbox
cta: Start Building
mode: self_serve
- id: clinic
label: Clinic
description: Launch prescribing in production
cta: Create Account
mode: sales_led
- id: enterprise
label: Enterprise
description: Large medical group or health system
cta: Talk to Sales
mode: sales_led
- id: platform
label: Platform
description: EHR or clinical platform
cta: Let's Partner
mode: sales_led
- id: other
label: Other
description: Tell us what you are looking for
cta: Get in Touch
mode: sales_led
allPaths:
- id: prescriber
label: Prescriber
description: Start prescribing in the app
cta: Start Prescribing
mode: verification_required
provisioningMode: prescriber
entryPath: /onboard?type=prescriber
steps:
- id: contact
title: Prescriber account details
fields:
- name: email
label: Email
type: email
required: true
autoComplete: email
placeholder: name@company.com
- name: npi
label: Individual NPI
type: text
required: true
placeholder: 10-digit NPI
inputMode: numeric
autoComplete: 'off'
- name: first_name
label: First name
type: text
required: true
autoComplete: given-name
- name: last_name
label: Last name
type: text
required: true
autoComplete: family-name
- name: company
label: Practice name
type: text
required: false
autoComplete: organization
- name: phone_number
label: Phone
type: tel
required: true
autoComplete: tel
inputMode: tel
placeholder: (555) 555-1234
- name: fax_number
label: Fax
type: tel
required: false
inputMode: tel
autoComplete: 'off'
placeholder: (555) 555-1234
- id: prescriber-details
title: Verify your details
fields:
- name: specialty
label: Specialty
type: text
required: true
placeholder: Psychiatry, Primary Care, Dermatology
- name: prescription_volume
label: Typical prescription volume
type: select
required: true
options:
- 1-5 / month
- 6-25 / month
- 26-100 / month
- 101-500 / month
- 500+ / month
- Not sure
- name: practice_type
label: Practice type
type: select
required: true
options:
- Solo practice
- Small clinic
- Group practice
- Urgent care
- Other
- name: use_case
label: What is your desired prescribing workflow?
type: textarea
required: true
placeholder: How do you expect to use Photon?
- name: prescribing_interface
label: How do you send prescriptions now?
type: select
required: false
options:
- DoseSpot
- MD Toolbox
- Dr. First
- RXNT
- athena
- Epic
- Cerner
- Surescripts
- Phone
- Fax
- Paper
- No Existing Solution
- Other
- name: prescribing_interface_other
label: Which prescribing interface?
type: text
required: true
placeholder: Tell us what you use today
showWhen:
field: prescribing_interface
value: Other
- id: prescriber-address
title: Practice address
fields:
- name: address_street1
label: Practice street address
type: text
required: true
autoComplete: address-line1
fullWidth: true
- name: address_street2
label: Suite or unit
type: text
required: false
autoComplete: address-line2
- name: address_city
label: City
type: text
required: true
autoComplete: address-level2
- name: address_state
label: State
type: select
required: true
autoComplete: address-level1
options:
- id: AL
label: Alabama
- id: AK
label: Alaska
- id: AZ
label: Arizona
- id: AR
label: Arkansas
- id: CA
label: California
- id: CO
label: Colorado
- id: CT
label: Connecticut
- id: DE
label: Delaware
- id: DC
label: District of Columbia
- id: FL
label: Florida
- id: GA
label: Georgia
- id: HI
label: Hawaii
- id: ID
label: Idaho
- id: IL
label: Illinois
- id: IN
label: Indiana
- id: IA
label: Iowa
- id: KS
label: Kansas
- id: KY
label: Kentucky
- id: LA
label: Louisiana
- id: ME
label: Maine
- id: MD
label: Maryland
- id: MA
label: Massachusetts
- id: MI
label: Michigan
- id: MN
label: Minnesota
- id: MS
label: Mississippi
- id: MO
label: Missouri
- id: MT
label: Montana
- id: NE
label: Nebraska
- id: NV
label: Nevada
- id: NH
label: New Hampshire
- id: NJ
label: New Jersey
- id: NM
label: New Mexico
- id: NY
label: New York
- id: NC
label: North Carolina
- id: ND
label: North Dakota
- id: OH
label: Ohio
- id: OK
label: Oklahoma
- id: OR
label: Oregon
- id: PA
label: Pennsylvania
- id: RI
label: Rhode Island
- id: SC
label: South Carolina
- id: SD
label: South Dakota
- id: TN
label: Tennessee
- id: TX
label: Texas
- id: UT
label: Utah
- id: VT
label: Vermont
- id: VA
label: Virginia
- id: WA
label: Washington
- id: WV
label: West Virginia
- id: WI
label: Wisconsin
- id: WY
label: Wyoming
- id: AS
label: American Samoa
- id: GU
label: Guam
- id: MP
label: Northern Mariana Islands
- id: PR
label: Puerto Rico
- id: VI
label: U.S. Virgin Islands
- name: address_postal_code
label: ZIP code
type: text
required: true
autoComplete: postal-code
inputMode: numeric
- id: developer
label: Developer
description: Build and test in a sandbox
cta: Start Building
mode: self_serve
provisioningMode: developer
entryPath: /onboard?type=developer
steps:
- id: contact
title: Sandbox admin details
fields:
- name: email
label: Email
type: email
required: true
autoComplete: email
placeholder: name@company.com
- name: company
label: Company
type: text
required: false
autoComplete: organization
- name: first_name
label: First name
type: text
required: true
autoComplete: given-name
- name: last_name
label: Last name
type: text
required: true
autoComplete: family-name
- name: job_title
label: Role or title
type: text
required: false
autoComplete: organization-title
- name: phone_number
label: Phone
type: tel
required: false
autoComplete: tel
inputMode: tel
placeholder: (555) 555-1234
- id: developer-details
title: Tell us about your integration
fields:
- name: app_domain
label: Clinical web app URL (auth whitelist)
type: url
required: false
placeholder: app.example.com
autoComplete: url
inputMode: url
- name: integration_type
label: Integration type
type: multi-select
required: false
options:
- app
- embed
- api
- mcp
- name: tech_stack
label: Tech stack
type: text
required: false
placeholder: e.g. React, Node, Postgres
- name: implementation_timeline
label: When do you plan to begin development?
type: select
required: true
options:
- Today
- This week
- This month
- This quarter
- Exploring
- name: use_case
label: What are you building?
type: textarea
required: true
placeholder: Describe your workflow, users, and how Photon will fit into the product
- name: prescribing_interface
label: Existing prescription interface?
type: select
required: false
options:
- DoseSpot
- MD Toolbox
- Dr. First
- RXNT
- athena
- Epic
- Cerner
- Surescripts
- Phone
- Fax
- Paper
- No Existing Solution
- Other
- name: prescribing_interface_other
label: Which prescribing interface?
type: text
required: true
placeholder: Tell us what you use today
showWhen:
field: prescribing_interface
value: Other
- id: clinic
label: Clinic
description: Launch prescribing in production
cta: Create Account
mode: sales_led
provisioningMode: handoff
entryPath: /onboard?type=clinic
steps:
- id: contact
title: Clinic admin details
fields:
- name: email
label: Email
type: email
required: true
autoComplete: email
placeholder: name@company.com
- name: npi
label: Organization NPI
type: text
required: false
placeholder: 10-digit NPI
inputMode: numeric
autoComplete: 'off'
- name: first_name
label: First name
type: text
required: true
autoComplete: given-name
- name: last_name
label: Last name
type: text
required: true
autoComplete: family-name
- name: company
label: Clinic or medical group
type: text
required: true
autoComplete: organization
- name: job_title
label: Role or title
type: text
required: false
autoComplete: organization-title
- name: phone_number
label: Phone
type: tel
required: true
autoComplete: tel
inputMode: tel
placeholder: (555) 555-1234
- name: fax_number
label: Fax
type: tel
required: false
inputMode: tel
autoComplete: 'off'
placeholder: (555) 555-1234
- id: clinic-details
title: Tell us about your clinic
fields:
- name: care_model
label: Primary specialty
type: text
required: true
placeholder: Urgent care, pediatrics, weight loss, etc.
- name: provider_count
label: Provider count
type: select
required: true
options:
- 1-5
- 6-20
- 21-100
- 100+
- name: prescription_volume
label: Clinic prescription volume
type: select
required: true
options:
- <100 / month
- 100-1k / month
- 1k-10k / month
- 10k+ / month
- name: implementation_timeline
label: When do you want to go live?
type: select
required: true
options:
- This month
- This quarter
- Next quarter
- Planning
- name: use_case
label: What is your desired prescribing workflow?
type: textarea
required: true
placeholder: Describe your care model, who will prescribe, and where Photon will fit in your workflow.
- name: prescribing_interface
label: How do you prescribe today?
type: select
required: false
options:
- DoseSpot
- MD Toolbox
- Dr. First
- RXNT
- athena
- Epic
- Cerner
- Surescripts
- Phone
- Fax
- Paper
- No Existing Solution
- Other
- name: prescribing_interface_other
label: Which prescribing interface?
type: text
required: true
placeholder: Tell us what you use today
showWhen:
field: prescribing_interface
value: Other
- id: clinic-address
title: Clinic address
fields:
- name: address_street1
label: Clinic street address
type: text
required: true
autoComplete: address-line1
fullWidth: true
- name: address_street2
label: Suite or unit
type: text
required: false
autoComplete: address-line2
- name: address_city
label: City
type: text
required: true
autoComplete: address-level2
- name: address_state
label: State
type: select
required: true
autoComplete: address-level1
options:
- id: AL
label: Alabama
- id: AK
label: Alaska
- id: AZ
label: Arizona
- id: AR
label: Arkansas
- id: CA
label: California
- id: CO
label: Colorado
- id: CT
label: Connecticut
- id: DE
label: Delaware
- id: DC
label: District of Columbia
- id: FL
label: Florida
- id: GA
label: Georgia
- id: HI
label: Hawaii
- id: ID
label: Idaho
- id: IL
label: Illinois
- id: IN
label: Indiana
- id: IA
label: Iowa
- id: KS
label: Kansas
- id: KY
label: Kentucky
- id: LA
label: Louisiana
- id: ME
label: Maine
- id: MD
label: Maryland
- id: MA
label: Massachusetts
- id: MI
label: Michigan
- id: MN
label: Minnesota
- id: MS
label: Mississippi
- id: MO
label: Missouri
- id: MT
label: Montana
- id: NE
label: Nebraska
- id: NV
label: Nevada
- id: NH
label: New Hampshire
- id: NJ
label: New Jersey
- id: NM
label: New Mexico
- id: NY
label: New York
- id: NC
label: North Carolina
- id: ND
label: North Dakota
- id: OH
label: Ohio
- id: OK
label: Oklahoma
- id: OR
label: Oregon
- id: PA
label: Pennsylvania
- id: RI
label: Rhode Island
- id: SC
label: South Carolina
- id: SD
label: South Dakota
- id: TN
label: Tennessee
- id: TX
label: Texas
- id: UT
label: Utah
- id: VT
label: Vermont
- id: VA
label: Virginia
- id: WA
label: Washington
- id: WV
label: West Virginia
- id: WI
label: Wisconsin
- id: WY
label: Wyoming
- id: AS
label: American Samoa
- id: GU
label: Guam
- id: MP
label: Northern Mariana Islands
- id: PR
label: Puerto Rico
- id: VI
label: U.S. Virgin Islands
- name: address_postal_code
label: ZIP code
type: text
required: true
autoComplete: postal-code
inputMode: numeric
- id: enterprise
label: Enterprise
description: Large medical group or health system
cta: Talk to Sales
mode: sales_led
provisioningMode: handoff
entryPath: /onboard?type=enterprise
steps:
- id: contact
title: Enterprise account contact
fields:
- name: email
label: Email
type: email
required: true
autoComplete: email
placeholder: name@company.com
- name: company
label: Health system or organization
type: text
required: false
autoComplete: organization
- name: first_name
label: First name
type: text
required: true
autoComplete: given-name
- name: last_name
label: Last name
type: text
required: true
autoComplete: family-name
- name: job_title
label: Role or title
type: text
required: false
autoComplete: organization-title
- name: phone_number
label: Phone
type: tel
required: true
autoComplete: tel
inputMode: tel
placeholder: (555) 555-1234
- id: enterprise-details
title: Tell us about your organization
fields:
- name: prescribing_interface
label: What EHR do you use today?
type: select
required: true
options:
- Epic
- Cerner
- athena
- Other
- name: prescribing_interface_other
label: Which prescribing interface?
type: text
required: true
placeholder: Tell us what you use today
showWhen:
field: prescribing_interface
value: Other
- name: site_count
label: Number of sites
type: select
required: true
options:
- 1-10
- 10-50
- 51-100
- 100+
- name: prescriber_count
label: Number of prescribers
type: select
required: true
options:
- 1-100
- 101-500
- 501-1k
- 1k+
- name: pharmacy_services
label: Pharmacy services
type: multi-select
required: false
options:
- On-Site
- Retail
- Delivery
- Bedside
- Specialty
- name: use_case
label: How can we help your organization?
type: textarea
required: true
placeholder: Describe your use case and any opportunities
- name: implementation_timeline
label: Implementa
# --- truncated at 32 KB (57 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/photon/refs/heads/main/openapi/photon-onboarding-api-openapi.yml