# Senders

Sender management and KYC

## Get all senders

> Retrieve a list of all senders (money remitters) for the authenticated tenant. Returns only active senders (not soft-deleted). Senders are individuals who initiate money transfers to beneficiaries.

```json
{"openapi":"3.1.0","info":{"title":"Minit Money Enterprise API","version":"1.12.8"},"tags":[{"name":"Senders","description":"Sender management and KYC"}],"servers":[{"url":"/api/v1","description":"API v1"},{"url":"/","description":"API v0 (Legacy)"}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"x-api-key","description":"API key for tenant authentication"}},"schemas":{"SenderListResponse":{"type":"array","items":{"type":"object","properties":{"sender_id":{"type":"string"},"first_name":{"type":"string"},"middle_name":{"type":["string","null"]},"last_name":{"type":"string"},"country":{"type":"string"},"phone_number":{"type":"string"},"daily_limit":{"type":"number"},"monthly_limit":{"type":"number"},"daily_limit_remaining":{"type":["number","null"]},"monthly_limit_usage":{"type":["number","null"]}}}}}},"paths":{"/senders":{"get":{"tags":["Senders"],"summary":"Get all senders","description":"Retrieve a list of all senders (money remitters) for the authenticated tenant. Returns only active senders (not soft-deleted). Senders are individuals who initiate money transfers to beneficiaries.","operationId":"getSenders","responses":{"200":{"description":"Successfully retrieved list of senders","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SenderListResponse"}}}}}}}}}
```

## Create sender

> Create a new sender (money remitter) for the authenticated tenant. The country code must be exactly 3 characters (ISO Alpha-3). Phone number must be in international E.164 format. Daily and monthly limits must be at least 1. Senders may require KYC verification before initiating transactions.

```json
{"openapi":"3.1.0","info":{"title":"Minit Money Enterprise API","version":"1.12.8"},"tags":[{"name":"Senders","description":"Sender management and KYC"}],"servers":[{"url":"/api/v1","description":"API v1"},{"url":"/","description":"API v0 (Legacy)"}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"x-api-key","description":"API key for tenant authentication"}},"schemas":{"CreateSenderDto":{"type":"object","required":["first_name","last_name","country","phone_number","daily_limit","monthly_limit"],"properties":{"first_name":{"type":"string","minLength":1,"description":"Sender's first name"},"middle_name":{"type":["string","null"],"description":"Sender's middle name (optional)"},"last_name":{"type":"string","minLength":1,"description":"Sender's last name"},"country":{"type":"string","minLength":3,"maxLength":3,"description":"ISO 3166-1 alpha-3 country code (e.g., ZAF for South Africa, UGA for Uganda)"},"phone_number":{"type":"string","description":"International phone number in E.164 format (e.g., +27831234567)"},"daily_limit":{"type":"number","minimum":1,"description":"Maximum amount this sender can transfer per day"},"monthly_limit":{"type":"number","minimum":1,"description":"Maximum amount this sender can transfer per month"}}},"SenderDetails":{"type":"object","properties":{"sender_id":{"type":"string"},"first_name":{"type":"string"},"middle_name":{"type":["string","null"]},"last_name":{"type":"string"},"country":{"type":"string"},"phone_number":{"type":"string"},"daily_limit":{"type":"number"},"monthly_limit":{"type":"number"},"daily_limit_remaining":{"type":["number","null"]},"monthly_limit_usage":{"type":["number","null"]},"kyc":{"anyOf":[{"$ref":"#/components/schemas/SenderKycDetails"},{"type":"null"}]}}},"SenderKycDetails":{"type":"object","properties":{"kyc_status":{"type":"string","enum":["VERIFIED","PENDING","REJECTED"]},"kyc_source":{"type":"string","enum":["TENANT","EXTERNAL"]},"kyc_details":{"type":"object","properties":{"kyc_reference_id":{"type":"string"},"kyc_docs":{"type":"array","items":{"type":"object","properties":{"doc_type":{"type":"string","enum":["PASSPORT","ID_CARD","DRIVER_LICENSE"]},"doc_number":{"type":"string"}}}}}}}}}},"paths":{"/senders":{"post":{"tags":["Senders"],"summary":"Create sender","description":"Create a new sender (money remitter) for the authenticated tenant. The country code must be exactly 3 characters (ISO Alpha-3). Phone number must be in international E.164 format. Daily and monthly limits must be at least 1. Senders may require KYC verification before initiating transactions.","operationId":"createSender","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSenderDto"}}}},"responses":{"201":{"description":"Sender created successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SenderDetails"}}}},"400":{"description":"Bad request - Invalid input data"},"401":{"description":"Unauthorized - Invalid or missing API key"},"409":{"description":"Conflict - Sender already exists"},"500":{"description":"Internal server error"}}}}}}
```

## Get sender details

> Retrieve sender details by ID

```json
{"openapi":"3.1.0","info":{"title":"Minit Money Enterprise API","version":"1.12.8"},"tags":[{"name":"Senders","description":"Sender management and KYC"}],"servers":[{"url":"/api/v1","description":"API v1"},{"url":"/","description":"API v0 (Legacy)"}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"x-api-key","description":"API key for tenant authentication"}},"schemas":{"SenderDetails":{"type":"object","properties":{"sender_id":{"type":"string"},"first_name":{"type":"string"},"middle_name":{"type":["string","null"]},"last_name":{"type":"string"},"country":{"type":"string"},"phone_number":{"type":"string"},"daily_limit":{"type":"number"},"monthly_limit":{"type":"number"},"daily_limit_remaining":{"type":["number","null"]},"monthly_limit_usage":{"type":["number","null"]},"kyc":{"anyOf":[{"$ref":"#/components/schemas/SenderKycDetails"},{"type":"null"}]}}},"SenderKycDetails":{"type":"object","properties":{"kyc_status":{"type":"string","enum":["VERIFIED","PENDING","REJECTED"]},"kyc_source":{"type":"string","enum":["TENANT","EXTERNAL"]},"kyc_details":{"type":"object","properties":{"kyc_reference_id":{"type":"string"},"kyc_docs":{"type":"array","items":{"type":"object","properties":{"doc_type":{"type":"string","enum":["PASSPORT","ID_CARD","DRIVER_LICENSE"]},"doc_number":{"type":"string"}}}}}}}}}},"paths":{"/senders/{senderId}":{"get":{"tags":["Senders"],"summary":"Get sender details","description":"Retrieve sender details by ID","operationId":"getSenderDetails","parameters":[{"name":"senderId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successfully retrieved sender details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SenderDetails"}}}},"404":{"description":"Not found - Sender does not exist or has been deleted","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"statusCode":{"type":"number"},"message":{"type":"string"},"errorCode":{"type":"string"},"info":{"type":"object"}}}}}}}}}}}}}
```

## Update sender

> Update sender by ID

```json
{"openapi":"3.1.0","info":{"title":"Minit Money Enterprise API","version":"1.12.8"},"tags":[{"name":"Senders","description":"Sender management and KYC"}],"servers":[{"url":"/api/v1","description":"API v1"},{"url":"/","description":"API v0 (Legacy)"}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"x-api-key","description":"API key for tenant authentication"}},"schemas":{"UpdateSenderDto":{"type":"object","required":["first_name","last_name","country","phone_number","daily_limit","monthly_limit"],"properties":{"first_name":{"type":"string","minLength":1},"middle_name":{"type":["string","null"]},"last_name":{"type":"string","minLength":1},"country":{"type":"string","minLength":1},"phone_number":{"type":"string","description":"International phone number in E.164 format"},"daily_limit":{"type":"number","minimum":1},"monthly_limit":{"type":"number","minimum":1}}},"SenderDetails":{"type":"object","properties":{"sender_id":{"type":"string"},"first_name":{"type":"string"},"middle_name":{"type":["string","null"]},"last_name":{"type":"string"},"country":{"type":"string"},"phone_number":{"type":"string"},"daily_limit":{"type":"number"},"monthly_limit":{"type":"number"},"daily_limit_remaining":{"type":["number","null"]},"monthly_limit_usage":{"type":["number","null"]},"kyc":{"anyOf":[{"$ref":"#/components/schemas/SenderKycDetails"},{"type":"null"}]}}},"SenderKycDetails":{"type":"object","properties":{"kyc_status":{"type":"string","enum":["VERIFIED","PENDING","REJECTED"]},"kyc_source":{"type":"string","enum":["TENANT","EXTERNAL"]},"kyc_details":{"type":"object","properties":{"kyc_reference_id":{"type":"string"},"kyc_docs":{"type":"array","items":{"type":"object","properties":{"doc_type":{"type":"string","enum":["PASSPORT","ID_CARD","DRIVER_LICENSE"]},"doc_number":{"type":"string"}}}}}}}}}},"paths":{"/senders/{senderId}":{"put":{"tags":["Senders"],"summary":"Update sender","description":"Update sender by ID","operationId":"updateSender","parameters":[{"name":"senderId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateSenderDto"}}}},"responses":{"200":{"description":"Sender updated successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SenderDetails"}}}},"400":{"description":"Bad request - Invalid input data"},"401":{"description":"Unauthorized - Invalid or missing API key"},"404":{"description":"Not found - Sender does not exist","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"statusCode":{"type":"number"},"message":{"type":"string"},"errorCode":{"type":"string"},"info":{"type":"object"}}}}}}}},"500":{"description":"Internal server error"}}}}}}
```

## Delete sender

> Delete sender by ID

```json
{"openapi":"3.1.0","info":{"title":"Minit Money Enterprise API","version":"1.12.8"},"tags":[{"name":"Senders","description":"Sender management and KYC"}],"servers":[{"url":"/api/v1","description":"API v1"},{"url":"/","description":"API v0 (Legacy)"}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"x-api-key","description":"API key for tenant authentication"}}},"paths":{"/senders/{senderId}":{"delete":{"tags":["Senders"],"summary":"Delete sender","description":"Delete sender by ID","operationId":"deleteSender","parameters":[{"name":"senderId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sender deleted successfully","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"}}}}}},"401":{"description":"Unauthorized - Invalid or missing API key"},"404":{"description":"Not found - Sender does not exist","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"statusCode":{"type":"number"},"message":{"type":"string"},"errorCode":{"type":"string"},"info":{"type":"object"}}}}}}}},"500":{"description":"Internal server error"}}}}}}
```

## Get sender KYC details

> Retrieve KYC status and details for a sender

```json
{"openapi":"3.1.0","info":{"title":"Minit Money Enterprise API","version":"1.12.8"},"tags":[{"name":"Senders","description":"Sender management and KYC"}],"servers":[{"url":"/api/v1","description":"API v1"},{"url":"/","description":"API v0 (Legacy)"}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"x-api-key","description":"API key for tenant authentication"}},"schemas":{"SenderKycDetails":{"type":"object","properties":{"kyc_status":{"type":"string","enum":["VERIFIED","PENDING","REJECTED"]},"kyc_source":{"type":"string","enum":["TENANT","EXTERNAL"]},"kyc_details":{"type":"object","properties":{"kyc_reference_id":{"type":"string"},"kyc_docs":{"type":"array","items":{"type":"object","properties":{"doc_type":{"type":"string","enum":["PASSPORT","ID_CARD","DRIVER_LICENSE"]},"doc_number":{"type":"string"}}}}}}}}}},"paths":{"/senders/{senderId}/kyc":{"get":{"tags":["Senders"],"summary":"Get sender KYC details","description":"Retrieve KYC status and details for a sender","operationId":"getSenderKyc","parameters":[{"name":"senderId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successfully retrieved sender KYC details and status","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SenderKycDetails"}}}},"404":{"description":"Not found - Sender or KYC details do not exist","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"statusCode":{"type":"number"},"message":{"type":"string"},"errorCode":{"type":"string"},"info":{"type":"object"}}}}}}}}}}}}}
```

## Upload KYC documents

> Upload KYC documents for senders who are not verified by a marketplace

```json
{"openapi":"3.1.0","info":{"title":"Minit Money Enterprise API","version":"1.12.8"},"tags":[{"name":"Senders","description":"Sender management and KYC"}],"servers":[{"url":"/api/v1","description":"API v1"},{"url":"/","description":"API v0 (Legacy)"}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"x-api-key","description":"API key for tenant authentication"}},"schemas":{"SenderKycDetails":{"type":"object","properties":{"kyc_status":{"type":"string","enum":["VERIFIED","PENDING","REJECTED"]},"kyc_source":{"type":"string","enum":["TENANT","EXTERNAL"]},"kyc_details":{"type":"object","properties":{"kyc_reference_id":{"type":"string"},"kyc_docs":{"type":"array","items":{"type":"object","properties":{"doc_type":{"type":"string","enum":["PASSPORT","ID_CARD","DRIVER_LICENSE"]},"doc_number":{"type":"string"}}}}}}}}}},"paths":{"/senders/{senderId}/kyc":{"post":{"tags":["Senders"],"summary":"Upload KYC documents","description":"Upload KYC documents for senders who are not verified by a marketplace","operationId":"uploadSenderKyc","parameters":[{"name":"senderId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"documents":{"type":"array","items":{"type":"string","format":"binary"}}}}}}},"responses":{"200":{"description":"KYC documents uploaded successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SenderKycDetails"}}}},"400":{"description":"Bad request - Invalid or missing documents"},"401":{"description":"Unauthorized - Invalid or missing API key"},"404":{"description":"Not found - Sender does not exist"},"500":{"description":"Internal server error"}}}}}}
```

## Update KYC status

> Update KYC status after verification

```json
{"openapi":"3.1.0","info":{"title":"Minit Money Enterprise API","version":"1.12.8"},"tags":[{"name":"Senders","description":"Sender management and KYC"}],"servers":[{"url":"/api/v1","description":"API v1"},{"url":"/","description":"API v0 (Legacy)"}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"x-api-key","description":"API key for tenant authentication"}},"schemas":{"UpdateKycStatusDto":{"type":"object","required":["kyc_status","rejection_reason"],"properties":{"kyc_status":{"type":"string","enum":["VERIFIED","PENDING","REJECTED"]},"rejection_reason":{"type":"string","minLength":1}}},"SenderKycDetails":{"type":"object","properties":{"kyc_status":{"type":"string","enum":["VERIFIED","PENDING","REJECTED"]},"kyc_source":{"type":"string","enum":["TENANT","EXTERNAL"]},"kyc_details":{"type":"object","properties":{"kyc_reference_id":{"type":"string"},"kyc_docs":{"type":"array","items":{"type":"object","properties":{"doc_type":{"type":"string","enum":["PASSPORT","ID_CARD","DRIVER_LICENSE"]},"doc_number":{"type":"string"}}}}}}}}}},"paths":{"/senders/{senderId}/kyc":{"put":{"tags":["Senders"],"summary":"Update KYC status","description":"Update KYC status after verification","operationId":"updateSenderKycStatus","parameters":[{"name":"senderId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateKycStatusDto"}}}},"responses":{"200":{"description":"KYC status updated successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SenderKycDetails"}}}},"400":{"description":"Bad request - Invalid status or input data"},"401":{"description":"Unauthorized - Invalid or missing API key"},"404":{"description":"Not found - Sender does not exist","content":{"application/json":{}}},"500":{"description":"Internal server error"}}}}}}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.minitmoney.enterprises/raas-api/senders.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
