Skip to main content
PATCH
Update onboarding

Authorizations

Authorization
string
header
required

API key prefixed with finta_

Body

application/json
answers
object

Only the answers to save, keyed as in questions. Answers left out keep their saved values. The enums below include accepted values hidden from the question's suggested choices. null clears an optional answer; a required one can't be cleared.

submit
boolean

true asks Finta to decide once no required question is unanswered. Send it only after the user explicitly says yes to a recap of every answer in a later turn; stop and wait after the recap. A yes picked in the app's multiple-choice question tool after the recap counts. Earlier confirmations do not count; never recap and submit in the same turn. Repeating it after Finta decided changes nothing.

notify_when_synced
boolean

true to email the user who sends it when the first sync finishes; false to stop that email.

Response

The company's onboarding after the change

object
enum<string>
required
Available options:
onboarding
status
enum<string>
required

Where the company is in onboarding. questionnaire: required questions are unanswered. ready_to_submit: every required question is answered and Finta hasn't decided yet. call_required: Finta needs a call with the company before it can onboard it. not_eligible: Finta can't onboard the company. connect_banks: approved, and the selected banks and cards are being connected. syncing: Finta is importing transactions and setting up the books, or a completed web-started import awaits finish_in_web. complete: the company is onboarded and every endpoint is available.

Available options:
questionnaire,
ready_to_submit,
call_required,
not_eligible,
connect_banks,
syncing,
complete
answers
object
required

The answers saved so far; null (or an empty list) when unanswered. accounting_software, files_taxes_with, goals and subsidiary_countries are asked only when Finta needs a call.

questions
object[]
required

The questions still to ask at this stage, in order: the required ones unanswered, and credit_cards, which is optional, until a card is chosen. Empty once there is nothing to ask. Once an answer means Finta can't onboard the company, later questions aren't asked. Entity and industry questions show short choice lists. Bank and card questions have empty options; gather answers from context or plain text. Accepted values are in OnboardingUpdate.answers and the MCP update_onboarding input enums.

decision
object | null
required

Finta's eligibility decision. null until Finta has decided.

integrations
object[]
required

The banks and cards the company selected that onboarding waits on, in this order: Mercury, Brex, Ramp, Rho, SVB, Chase. A bank or card typed in as "other" isn't listed. Follow next_step.message for connecting them: OAuth and Plaid banks, including Chase and SVB, through the API. Plaid reconnects still require the web app.

sync
object | null
required

The first sync's progress while status is syncing; null otherwise.

notify_when_synced
boolean
required

Whether Finta emails the user when the first sync finishes, as the web app's "Email me when it's ready" sets.

next_step
object
required

What to do now. See GET /onboarding for what each action means.