---
title: "Create a record-only onboarding question for an assigned customer"
method: POST
path: "/accountant/companies/{customerId}/onboarding-questions"
tags: ["Accountant Portal", "Onboarding"]
---

# Create a record-only onboarding question for an assigned customer

`POST /accountant/companies/{customerId}/onboarding-questions`

## Request

- Base URL: `https://api.medianfi.com/api/v1`
- URL: `https://api.medianfi.com/api/v1/accountant/companies/{customerId}/onboarding-questions`
- Auth: HTTP bearer

Plaintext EIN values are rejected. EIN collection remains inside the encrypted Business Basics authority.

## Request body

- OnboardingV3QuestionCreate
  - `ask` string, required
  - `chips` string[]: Values are trimmed and must remain unique after trimming.
  - `transactionRef` OnboardingV3QuestionTransactionRef
    - `account` string, required
    - `date` string, date, required
    - `amountCents` integer, required
    - `description` string, required

## Response `201`

Persisted accountant question

- OnboardingV3QuestionApiResponse
  - `success` true, required
  - `data` OnboardingV3Question, required
    - `id` string, uuid, required
    - `threadId` string, uuid, required
    - `companyId` string, uuid, required
    - `ask` string, required
    - `chips` string[], required
    - `transactionRef` OnboardingV3QuestionTransactionRef, required
      - `account` string, required
      - `date` string, date, required
      - `amountCents` integer, required
      - `description` string, required
    - `sourceKind` 'accountant' | 'business_basics_deferred', required
    - `sourceFieldId` string, nullable, required
    - `status` 'open' | 'answered' | 'skipped' | 'withdrawn', required
    - `answer` union, required
      - OnboardingV3QuestionChoiceAnswerRecord
        - `kind` 'choice', required
        - `value` string, required
        - `answeredAt` string, date-time, required
      - OnboardingV3QuestionTextAnswerRecord
        - `kind` 'text', required
        - `value` string, required
        - `answeredAt` string, date-time, required
      - OnboardingV3QuestionSkippedAnswerRecord
        - `kind` 'skipped', required
        - `value` unknown, required
        - `answeredAt` string, date-time, required
    - `createdAt` string, date-time, required
    - `updatedAt` string, date-time, 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)
