---
title: "POST /v1/customers/{customer_id}/transaction/requirement"
method: POST
path: "/v1/customers/{customer_id}/transaction/requirement"
tags: ["crate::transaction::compliance::rfi::controller::preflight"]
---

# POST /v1/customers/{customer_id}/transaction/requirement

`POST /v1/customers/{customer_id}/transaction/requirement`

## Request

- Base URL: `https://api.1money.com`
- URL: `https://api.1money.com/v1/customers/{customer_id}/transaction/requirement`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/1money/apis/1money-openapi/docs/v1/customers/:customer_id/transaction/requirement/post.ts> (a function with typed inputs; its response is checked against the schema)

## Path parameters

- `customer_id` string, required

## Request body

- TransactionRequirementRequest
  - `external_account_id` string, required: Fiat payment method ID. Empty values are still allowed for legacy DB/internal records where no payment method is attached.
  - `source_asset` string, nullable: Asset that will fund the payout, such as `USD` or `USDC`. When routing can select vendors with different RFI policies, this is required for an exact preview.
  - `currency` string, nullable: Currency of the planned payout. Required to preview currency-specific policies; omit for backward-compatible country/account-only preview.
  - `purpose_code` string, nullable: Purpose code selected for the planned payout. The server resolves the canonical payment purpose from country/payment-method reference data.

## Response `200`

- TransactionRequirementResponse
  - `required` boolean, required: Whether the planned payout may require additional information.
  - `requirements` TransactionRequirementView[], required: Requirements known at preview time. This can be empty when `required` is `true`.
    - `type` 'FILE' | 'TEXT', required
    - `accepted_document_types` RfiDocumentType[], required: Alternatives accepted for this logical requirement; any one is enough.
    - `note` string, required

## Other responses

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

## Changes

- **2026-11-03** `d213edbaccb6`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/1money/apis/1money-openapi/changes/v1/customers/:customer_id/transaction/requirement/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)
