---
title: "Get Sender Mandatory fields"
method: POST
path: "/v3/senders/mandatory-fields"
tags: ["Senders"]
---

# Get Sender Mandatory fields

`POST /v3/senders/mandatory-fields`

## Request

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

Returns the fields required to create a sender for a given country, sender type and currency type, together with the validation rules applied to them. Fetch it at runtime, then build your payload from the returned `inputs` and submit it to `POST /v3/senders/individual` or `POST /v3/senders/business`.

## Headers

- `MID` string, required

## Request body

- object
  - `type` 'individual' | 'organization', required: Type of sender to fetch mandatory fields for. Use `individual` before `POST /v3/senders/individual` and `organization` before `POST /v3/senders/business`.
  - `geo` string: Two digit country code of the sender being created, for example `ID` for Indonesia. Send the same value you will send as `country` when creating the sender.
  - `currencyType` 'fiat' | 'crypto': Type of currency the sender will fund with. Send the same value you will send when creating the sender.

## Response `200`

OK

- object
  - `status` string, required
  - `data` object, required: Field specification for the requested `geo`, `type` and `currencyType`. Read it at runtime — the field set differs per corridor, so do not hardcode it.
    - `inputs` object, required: Map of field name to its validation specification. Each key is a body key accepted by the sender creation endpoints for the requested corridor.
    - `rules` object[], required: Cross field rules applied in addition to the per field specification. Empty when the corridor has none.
      - `type` 'either_required' | 'mutually_required', required: `either_required` — at least one of `fields` must be supplied. `mutually_required` — supply all of `fields` or none of them.
      - `fields` string[], required: Field names the rule applies to.
      - `validationMessage` string: Message returned when the rule is violated. Safe to show to your end user.
  - `traceId` string

## Other responses

- `400`: Validation error

## Changes

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

[Operation history](https://skmtc.dev/transfi/apis/transfi-single-integrated-api/changes/v3/senders/mandatory-fields/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)
