# Transactions

Transaction management

## Get all transactions

> Retrieve a list of all money transfer transactions across all statuses. Each transaction includes sender, beneficiary, quote, corridor, payout method details, current status, and transaction details.

```json
{"openapi":"3.1.0","info":{"title":"Minit Money Enterprise API","version":"1.12.8"},"tags":[{"name":"Transactions","description":"Transaction management"}],"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":{"TransactionListResponse":{"type":"array","items":{"$ref":"#/components/schemas/TransactionDetails"}},"TransactionDetails":{"type":"object","properties":{"transaction_id":{"type":"string"},"status":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":["string","null"],"format":"date-time"},"sender_id":{"type":"string"},"beneficiary_id":{"type":"string"},"quote_id":{"type":"string"},"corridor_id":{"type":"string"},"payout_method_id":{"type":"string"},"details":{"type":"object","additionalProperties":true}}}}},"paths":{"/transactions":{"get":{"tags":["Transactions"],"summary":"Get all transactions","description":"Retrieve a list of all money transfer transactions across all statuses. Each transaction includes sender, beneficiary, quote, corridor, payout method details, current status, and transaction details.","operationId":"getTransactions","responses":{"200":{"description":"Successfully retrieved list of transactions with sender, beneficiary, and status details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransactionListResponse"}}}}}}}}}
```

## Create transaction

> Create a new money transfer transaction. Validates that sender, beneficiary, and quote exist. The quote must belong to the specified sender. Transaction details array must include all required fields for the selected payout method (e.g., account\_number, bank\_code for bank transfers; mobile\_network, mobile\_number for mobile money). Required fields are determined by payout method requirements and rules based on the destination amount. Initial status is set, and the transaction must be committed separately.

```json
{"openapi":"3.1.0","info":{"title":"Minit Money Enterprise API","version":"1.12.8"},"tags":[{"name":"Transactions","description":"Transaction management"}],"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":{"CreateTransactionDto":{"type":"object","required":["sender_id","beneficiary_id","quote_id","corridor_id","payout_method_id","dst_amount","details"],"properties":{"sender_id":{"type":"string","minLength":1,"description":"Unique identifier of the sender initiating the transfer"},"beneficiary_id":{"type":"string","minLength":1,"description":"Unique identifier of the beneficiary receiving the transfer"},"quote_id":{"type":"string","minLength":1,"description":"Unique identifier of the quote. Must belong to the specified sender and not be expired"},"corridor_id":{"type":"string","minLength":1,"description":"Unique identifier of the corridor (source to destination country path)"},"payout_method_id":{"type":"string","minLength":1,"description":"Unique identifier of the payout method (e.g., bank transfer, mobile money)"},"dst_amount":{"type":"number","description":"Amount to be received in destination currency"},"details":{"type":"array","items":{"$ref":"#/components/schemas/FieldDetailDto"},"description":"Array of field-value pairs containing required payout information. Required fields vary by payout method (e.g., account_number and bank_code for bank transfers)"}}},"FieldDetailDto":{"type":"object","required":["field_name","value"],"properties":{"field_name":{"type":"string","minLength":1,"description":"Name of the required field (e.g., 'account_number', 'bank_code', 'mobile_number'). Must match a field from the payout method requirements"},"value":{"type":"string","minLength":1,"description":"Value for the field"}}},"TransactionDetails":{"type":"object","properties":{"transaction_id":{"type":"string"},"status":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":["string","null"],"format":"date-time"},"sender_id":{"type":"string"},"beneficiary_id":{"type":"string"},"quote_id":{"type":"string"},"corridor_id":{"type":"string"},"payout_method_id":{"type":"string"},"details":{"type":"object","additionalProperties":true}}}}},"paths":{"/transactions":{"post":{"tags":["Transactions"],"summary":"Create transaction","description":"Create a new money transfer transaction. Validates that sender, beneficiary, and quote exist. The quote must belong to the specified sender. Transaction details array must include all required fields for the selected payout method (e.g., account_number, bank_code for bank transfers; mobile_network, mobile_number for mobile money). Required fields are determined by payout method requirements and rules based on the destination amount. Initial status is set, and the transaction must be committed separately.","operationId":"createTransaction","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTransactionDto"}}}},"responses":{"201":{"description":"Transaction created successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransactionDetails"}}}},"400":{"description":"Bad request - Invalid input data or transaction details","content":{"application/json":{}}},"401":{"description":"Unauthorized - Invalid or missing API key"},"404":{"description":"Not found - Sender, beneficiary, or quote does not exist","content":{"application/json":{}}},"500":{"description":"Internal server error"}}}}}}
```

## Get transaction details

> Retrieve transaction details by ID

```json
{"openapi":"3.1.0","info":{"title":"Minit Money Enterprise API","version":"1.12.8"},"tags":[{"name":"Transactions","description":"Transaction management"}],"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":{"TransactionDetails":{"type":"object","properties":{"transaction_id":{"type":"string"},"status":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":["string","null"],"format":"date-time"},"sender_id":{"type":"string"},"beneficiary_id":{"type":"string"},"quote_id":{"type":"string"},"corridor_id":{"type":"string"},"payout_method_id":{"type":"string"},"details":{"type":"object","additionalProperties":true}}}}},"paths":{"/transactions/{transactionId}":{"get":{"tags":["Transactions"],"summary":"Get transaction details","description":"Retrieve transaction details by ID","operationId":"getTransactionDetails","parameters":[{"name":"transactionId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successfully retrieved transaction details with complete sender, beneficiary, quote, and status information","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransactionDetails"}}}},"404":{"description":"Not found - Transaction does not exist","content":{"application/json":{}}}}}}}}
```

## Get transaction status

> Retrieve transaction status by ID

```json
{"openapi":"3.1.0","info":{"title":"Minit Money Enterprise API","version":"1.12.8"},"tags":[{"name":"Transactions","description":"Transaction management"}],"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":{"TransactionStatus":{"type":"object","properties":{"transaction_id":{"type":"string"},"status":{"type":"string"},"updated_at":{"type":["string","null"],"format":"date-time"}}}}},"paths":{"/transactions/{transactionId}/status":{"get":{"tags":["Transactions"],"summary":"Get transaction status","description":"Retrieve transaction status by ID","operationId":"getTransactionStatus","parameters":[{"name":"transactionId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successfully retrieved current transaction status and processing details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransactionStatus"}}}},"404":{"description":"Not found - Transaction does not exist","content":{"application/json":{}}}}}}}}
```

## Commit transaction

> Commit a transaction to process it for actual money transfer. This triggers the transaction to be submitted to the payment provider. Once committed, the transaction status will be updated and webhooks will be triggered as the status changes. Returns the current transaction status.

```json
{"openapi":"3.1.0","info":{"title":"Minit Money Enterprise API","version":"1.12.8"},"tags":[{"name":"Transactions","description":"Transaction management"}],"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":{"CommitTransactionDto":{"type":"object","properties":{}},"TransactionStatus":{"type":"object","properties":{"transaction_id":{"type":"string"},"status":{"type":"string"},"updated_at":{"type":["string","null"],"format":"date-time"}}}}},"paths":{"/transactions/{transactionId}/commit":{"post":{"tags":["Transactions"],"summary":"Commit transaction","description":"Commit a transaction to process it for actual money transfer. This triggers the transaction to be submitted to the payment provider. Once committed, the transaction status will be updated and webhooks will be triggered as the status changes. Returns the current transaction status.","operationId":"commitTransaction","parameters":[{"name":"transactionId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommitTransactionDto"}}}},"responses":{"200":{"description":"Transaction committed successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransactionStatus"}}}},"400":{"description":"Bad request - Transaction cannot be committed or invalid data"},"401":{"description":"Unauthorized - Invalid or missing API key"},"404":{"description":"Not found - Transaction 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/transactions.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.
