---
title: "Create Business Sender"
method: POST
path: "/v3/senders/business"
tags: ["Senders"]
---

# Create Business Sender

`POST /v3/senders/business`

## Request

- Base URL: `https://sandbox-api.transfi.com`
- URL: `https://sandbox-api.transfi.com/v3/senders/business`
- Auth: HTTP basic
- TypeScript: <https://skmtc.dev/transfi/apis/transfi-single-integrated-api/docs/v3/senders/business/post.ts> (a function with typed inputs; its response is checked against the schema)

Creates a business sender — a legal entity that funds orders — and returns the `userId` you use for KYB and for every order it pays for. Call `POST /v3/senders/mandatory-fields` with `type: organization` first and build this body from the `inputs` it returns; the properties below are one corridor's fields, not a fixed list. A sender matching the details you sent returns `200` with the existing `userId` and `code: USER_ALREADY_EXISTS`.

## Headers

- `MID` string, required

## Request body

- object
  - `country` string: Two digit country code of the business sender. Must match the `geo` you sent to `POST /v3/senders/mandatory-fields`.
  - `currencyType` 'fiat' | 'crypto': Currency type the business will fund with. Must match the `currencyType` you sent to `POST /v3/senders/mandatory-fields`.
  - `businessName` string: Registered business name of the sender. Dynamic field — send it only when `inputs` from `POST /v3/senders/mandatory-fields` with `type: organization` names it for your corridor.
  - `email` string: Email address of the business. When supplied it is verified and an email verification message may be sent, so send a syntactically valid address.
  - `phone` string: National phone number without the country calling code. Send it together with `phoneCode` when a `mutually_required` rule pairs them.
  - `phoneCode` string: International dialling code for `phone` — digits with an optional leading `+`, 1-4 characters including the `+`.

## Response `200`

OK

- object
  - `status` string, required
  - `data` object, required
    - `userId` string, required: Identifier of the business sender. Use it for KYB, orders and every later call.
    - `code` string: Present only when a sender matching the details you sent already existed. The only value is `USER_ALREADY_EXISTS`.
    - `message` string: Present alongside `code`, with the fixed text `User already exists`.
    - `contactVerificationData` object: Present only for a newly created sender, listing the channels a verification message was sent on. Mutually exclusive with `code` and `message`.
      - `email` object
        - `status` string
        - `message` string
      - `phone` object
        - `status` string
        - `message` string
  - `traceId` string

## Other responses

- `400`: Bad Request
- `409`: Conflict

## Changes

- **2026-11-03** `7b745621a79f`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/transfi/apis/transfi-single-integrated-api/changes/v3/senders/business/post.md)

---

[API](https://skmtc.dev/transfi/apis/transfi-single-integrated-api.md) - [All operations](https://skmtc.dev/transfi/apis/transfi-single-integrated-api/llms.txt) - [OpenAPI document](https://skmtc.dev/transfi/apis/transfi-single-integrated-api/revisions/7b745621a79f?raw)
