v1

latestOpenAPI 3.1.02026-07-1382036.1 KB
Onboarding

Submit a completed onboarding session

Validates all required path fields, marks the onboarding session submitted, syncs Attio, and returns a hosted Stripe Checkout URL for paid self-serve offers. Account provisioning happens from the Stripe webhook after payment.

post/api/onboarding/sessions/{sessionId}/submit

Path parameters

sessionIdstring required

Request body

answersAnswers
leadTokenstring
turnstileTokenstring

Cloudflare Turnstile token. Required when both Turnstile keys are configured.

Example request

{
  "answers": {
    "email": "name@example.com",
    "npi": "10-digit NPI",
    "first_name": "First name",
    "last_name": "Last name",
    "company": "Practice name",
    "phone_number": "(555) 555-1234",
    "specialty": "Psychiatry, Primary Care, Dermatology",
    "prescription_volume": "1-5 / month",
    "practice_type": "Solo practice",
    "use_case": "How do you expect to use Photon?",
    "prescribing_interface": "DoseSpot",
    "prescribing_interface_other": "Tell us what you use today",
    "address_street1": "Practice street address",
    "address_street2": "Suite or unit",
    "address_city": "City",
    "address_state": "AL",
    "address_postal_code": "ZIP code",
    "job_title": "Role or title",
    "app_domain": "https://example.com",
    "integration_type": [
      "app"
    ],
    "tech_stack": "e.g. React, Node, Postgres",
    "implementation_timeline": "Today",
    "care_model": "Urgent care, pediatrics, weight loss, etc.",
    "provider_count": "1-5",
    "site_count": "1-10",
    "prescriber_count": "1-100",
    "pharmacy_services": [
      "On-Site"
    ],
    "product_category": "EHR, clinical workflow tool, care delivery platform",
    "customer_org_count": "1-10",
    "terms_of_service_accepted_at": "2026-05-25T12:00:00.000Z",
    "business_associate_agreement_accepted_at": "2026-05-25T12:00:00.000Z"
  }
}

Response

Submitted onboarding session.

Example response

{
  "data": {
    "answers": {
      "email": "name@example.com",
      "npi": "10-digit NPI",
      "first_name": "First name",
      "last_name": "Last name",
      "company": "Practice name",
      "phone_number": "(555) 555-1234",
      "specialty": "Psychiatry, Primary Care, Dermatology",
      "prescription_volume": "1-5 / month",
      "practice_type": "Solo practice",
      "use_case": "How do you expect to use Photon?",
      "prescribing_interface": "DoseSpot",
      "prescribing_interface_other": "Tell us what you use today",
      "address_street1": "Practice street address",
      "address_street2": "Suite or unit",
      "address_city": "City",
      "address_state": "AL",
      "address_postal_code": "ZIP code",
      "job_title": "Role or title",
      "app_domain": "https://example.com",
      "integration_type": [
        "app"
      ],
      "tech_stack": "e.g. React, Node, Postgres",
      "implementation_timeline": "Today",
      "care_model": "Urgent care, pediatrics, weight loss, etc.",
      "provider_count": "1-5",
      "site_count": "1-10",
      "prescriber_count": "1-100",
      "pharmacy_services": [
        "On-Site"
      ],
      "product_category": "EHR, clinical workflow tool, care delivery platform",
      "customer_org_count": "1-10",
      "terms_of_service_accepted_at": "2026-05-25T12:00:00.000Z",
      "business_associate_agreement_accepted_at": "2026-05-25T12:00:00.000Z"
    }
  }
}