Photon Onboarding API

First-party onboarding endpoints for prescriber, developer, clinic, enterprise, platform, and other paths.

Operations 4

GET /api/onboarding/schema Get onboarding paths, steps, and fields #
POST /api/onboarding/sessions Create or resume an onboarding session #
PATCH /api/onboarding/sessions/{sessionId} Save or advance an onboarding step #
POST /api/onboarding/sessions/{sessionId}/submit Submit a completed onboarding session #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/photon-onboarding-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

photon-onboarding-api-openapi.yml Raw ↑
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