---
title: "Submit hosted-calendar callback evidence for verification"
method: POST
path: "/onboarding/v3/welcome-call/embed"
tags: ["Onboarding"]
---

# Submit hosted-calendar callback evidence for verification

`POST /onboarding/v3/welcome-call/embed`

## Request

- Base URL: `https://api.medianfi.com/api/v1`
- URL: `https://api.medianfi.com/api/v1/onboarding/v3/welcome-call/embed`
- Auth: HTTP bearer

Treats browser callback fields only as correlation evidence, never booking authority. The server persists a pending record and verifies it against Cal.com. It returns verifying with no public call unless server-side Cal verification succeeds; only then does it return booked.

## Headers

- `X-Median-App-Surface` 'qa'

## Request body

- OnboardingV3WelcomeCallEmbeddedBooking: Browser callback correlation evidence. These values are persisted as pending and do not establish provider booking authority.
  - `providerBookingUid` string, required: Browser-provided correlation evidence, not provider authority; trimmed before pending persistence.
  - `start` string, date-time, required: Browser-reported start used only to correlate server-side provider verification.
  - `end` string, date-time, required: Browser-reported end used only to validate and correlate the expected twenty-minute call.
  - `eventTypeId` integer, required: Browser-reported event type used only to correlate server-side provider verification.
  - `status` 'accepted', required: Browser callback claim only; accepted is not treated as verified provider status.

## Response `200`

Verifying while evidence is pending, or booked after the server has verified it

- OnboardingV3WelcomeCallApiResponse
  - `success` true, required
  - `data` OnboardingV3WelcomeCallView, required
    - `state` 'locked' | 'ready' | 'verifying' | 'booked' | 'reschedule', required: verifying means callback evidence is pending server-side Cal.com verification; that state has no public call or availability slots.
    - `schedulingMode` 'api' | 'embed' | 'disabled', required
    - `fullCalendarUrl` string, uri, nullable, required: Booking navigation URL only. It is not booking evidence and becomes null after the provider booking is server-verified.
    - `slots` OnboardingV3WelcomeCallDay[], required
      - `date` string, date, required
      - `times` OnboardingV3WelcomeCallSlot[], required
        - `start` string, date-time, required
        - `end` string, date-time, required
    - `call` OnboardingV3WelcomeCall, required
      - `id` string, uuid, required
      - `scheduledAt` string, date-time, required
      - `durationMinutes` 20, required
      - `status` 'scheduled' | 'completed', required

## Other responses

- `400`: Onboarding request body is not valid JSON
- `401`: Authentication required
- `403`: Insufficient permissions or not a company member
- `404`: Resource not found
- `409`: Request conflicts with the durable onboarding state
- `413`: Onboarding setup request exceeds the 32768-byte route limit
- `415`: Onboarding request charset or content encoding is unsupported
- `422`: Validation error

---

[API](https://skmtc.dev/medianfi/apis/median-api.md) · [All operations](https://skmtc.dev/medianfi/apis/median-api/llms.txt) · [OpenAPI document](https://skmtc.dev/medianfi/apis/median-api/revisions/20090ea32b0d?raw)
