---
title: "POST /v2/accounts/{main_account_id}/businesses/onboarding-sessions"
method: POST
path: "/v2/accounts/{main_account_id}/businesses/onboarding-sessions"
tags: ["crate::account::identity::controller::openapi::business::accounts"]
---

# POST /v2/accounts/{main_account_id}/businesses/onboarding-sessions

`POST /v2/accounts/{main_account_id}/businesses/onboarding-sessions`

## Request

- Base URL: `https://api.1money.com`
- URL: `https://api.1money.com/v2/accounts/{main_account_id}/businesses/onboarding-sessions`
- Auth: HTTP bearer

## Path parameters

- `main_account_id` string, required

## Headers

- `Idempotency-Key` string, required

## Request body

- CreateHostedBusinessOnboardingSessionRequest: Request body for generating a 1Money-hosted onboarding URL that the customer completes self-service.
  - `legal_name` string, required: Legal name of the business being onboarded. 1–100 characters. Only letters, numbers, spaces, and the characters `/ - ? : ( ) . , ' +` are allowed.
  - `redirect_url` string, nullable: Optional URL where the customer is redirected after completing — or abandoning — the hosted onboarding journey. Must be a valid absolute URL when provided.

## Response `201`

Hosted onboarding session link created successfully.

- HostedBusinessOnboardingSessionResponse: 1Money-hosted business onboarding session for customer self-service.
  - `account_id` string
  - `status` 'DRAFT' | 'PROCESSING' | 'ACTION_REQUIRED' | 'UNDER_REVIEW' | 'APPROVED' | 'REJECTED', required
  - `onboarding_url` string, required: 1Money-hosted URL that walks the customer through the full business onboarding journey. Share this URL with the customer.
  - `expires_at` string, required: Timestamp at which the hosted onboarding URL expires (RFC 3339 format).

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `404`: Not Found
- `500`: Internal Server Error

## Changes

- **2026-11-03** `d213edbaccb6`: 16 breaking, 9 warning, 6 info
  - removed the required property `code` from the response with the `400` status
  - removed the required property `code` from the response with the `401` status
  - removed the required property `code` from the response with the `404` status
  - removed the required property `code` from the response with the `500` status
  - …27 more

[Operation history](https://skmtc.dev/1money/apis/1money-openapi/changes/v2/accounts/:main_account_id/businesses/onboarding-sessions/post.md)

---

[API](https://skmtc.dev/1money/apis/1money-openapi.md) - [All operations](https://skmtc.dev/1money/apis/1money-openapi/llms.txt) - [OpenAPI document](https://skmtc.dev/1money/apis/1money-openapi/revisions/d213edbaccb6?raw)
