---
title: "Read server-derived provider setup context for the authenticated owner"
method: GET
path: "/onboarding/v3/task-context"
tags: ["Onboarding"]
---

# Read server-derived provider setup context for the authenticated owner

`GET /onboarding/v3/task-context`

## Request

- Base URL: `https://api.medianfi.com/api/v1`
- URL: `https://api.medianfi.com/api/v1/onboarding/v3/task-context`
- Auth: HTTP bearer

Returns live bank-account classifications, non-personal history coverage, provisioned inbound-email authority, and current Google Workspace state. It never treats setup JSON as provider authority.

## Headers

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

## Response `200`

Current server-derived provider setup context

- OnboardingV3OwnerTaskContextApiResponse
  - `success` true, required
  - `data` OnboardingV3OwnerTaskContext, required
    - `connect` OnboardingV3OwnerConnectContext, required: integrationIds is the unique set of integrationId values represented by accounts. committedIntegrationIds are ordinary active Plaid connections and already-classified onboarding connections. pendingIntegrationIds are the exact held connections whose encrypted token metadata has onboardingManaged and onboardingClassificationPending set to true. The committed and pending arrays are disjoint and partition integrationIds.
      - `accounts` OnboardingV3TaskContextBankAccount[], required
        - `bankAccountId` string, uuid, required
        - `integrationId` string, uuid, required
        - `name` string, required
        - `type` 'checking' | 'savings' | 'credit' | 'investment' | 'processor', nullable, required
        - `mask` string, nullable, required
        - `balanceCents` integer, nullable, required
        - `currency` string, required
        - `institutionName` string, required
        - `isPersonal` boolean, required
      - `integrationIds` string[], required
      - `committedIntegrationIds` string[], required
      - `pendingIntegrationIds` string[], required
    - `documents` OnboardingV3OwnerDocumentsContext, required
      - `inboundAlias` string, email, nullable, required
      - `googleWorkspace` OnboardingV3GoogleWorkspaceContext, required
        - `available` boolean, required
        - `connected` boolean, required
    - `books` OnboardingV3OwnerBooksContext, required
      - `accountingSystemId` 'quickbooks' | 'xero', nullable, required
      - `inboundAlias` string, email, nullable, required
      - `method` 'invite', required
      - `ledger` object, nullable: #2560: QBO source-ledger facts for prepared quickbooks engagements; null otherwise.
        - `status` 'not_connected' | 'connected' | 'realm_mismatch' | 'needs_reauth', required
        - `verification` 'verified' | 'unverified' | 'realm_mismatch' | 'null', nullable, required
        - `companyName` string, nullable, required
        - `connectionId` string, uuid, nullable, required
        - `accountantAccess` object, nullable, required
          - `source` string, required
          - `verifiedOn` string, required
      - `oauth` OnboardingV3BooksOAuthContext, required
        - `available` boolean, required
        - `connected` boolean, required
        - `migrationJobId` string, uuid, nullable, required
    - `history` OnboardingV3OwnerHistoryContext, required
      - `inboundAlias` string, email, nullable, required
      - `institutions` OnboardingV3HistoryInstitutionContext[], required
        - `institutionId` string, required
        - `institutionName` string, required
        - `needFrom` string, date, required
        - `needTo` string, date, required
        - `haveFrom` string, date, nullable, required
        - `haveTo` string, date, nullable, required
        - `accountCount` integer, required
        - `coveredAccountCount` integer, required
        - `transactionCount` integer, required
        - `inviteSent` boolean, required
        - `statementCount` integer, required
        - `feedCovered` boolean, required
        - `covered` boolean, required
    - `prepared` PreparedOnboardingProfileView, required: Customer-facing, read-only view of a prepared engagement (#2560).
      - `taskIds` string[], required
      - `engagement` object, required
        - `ledger` 'median' | 'quickbooks' | 'xero', required
        - `serviceStartLabel` string, required
        - `closeTargetLabel` string, required
        - `summary` string
        - `monthlyPriceCents` integer, nullable, required
        - `trialDays` integer, nullable, required
        - `billingInterval` 'month' | 'year' | 'null', nullable: Paid subscription's interval, else the offer's.
        - `chargedAmountCents` integer, nullable: Amount charged per billing interval (an annual plan's full charge).
        - `termStart` string, date, nullable: First day of the paid period (America/New_York); null before payment.
        - `termEnd` string, date, nullable: Last day of the paid period; null before payment.
      - `companyFacts` object, required
        - `legalName` string, required
        - `qboCompanyName` string
      - `verifiedAccess` PreparedOnboardingVerifiedAccess[], required
        - `kind` 'qbo_accountant_access' | 'bank_portal_view' | 'payroll_portal_view' | 'other', required
        - `source` string, required
        - `verifiedOn` string, required
        - `note` string
      - `requests` object[], required
        - `id` string, required
        - `label` string, required
        - `detail` string
        - `channel` 'secure_upload' | 'forwarding' | 'share', required
        - `status` 'open' | 'submitted' | 'verified', required
        - `submittedAt` string, date-time, nullable, required
        - `verifiedAt` string, date-time, nullable, required
      - `stripe` object, required
        - `expectation` 'connect' | 'none', required
    - `processors` object, required
      - `stripe` object, required
        - `status` 'not_attempted' | 'connected' | 'help_needed', required
        - `detail` string, nullable, required

## Other responses

- `401`: Authentication required
- `403`: Insufficient permissions or not a company member
- `404`: Resource not found
- `409`: Request conflicts with the durable onboarding state
- `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)
