Download OpenAPI specification:Download
APIs for TeraPay payment gateway operations.
The TeraPaymentGatewayAPI.Dtos.PortalUserLoginDto containing credentials.
| username required | string <email> non-empty Username (usually the user’s email address) for sign-in. |
| password required | string non-empty The user’s plaintext password. |
| rememberMe | boolean Whether to persist the login cookie across browser sessions. |
{- "username": "user@example.com",
- "password": "string",
- "rememberMe": true
}The TeraPaymentGatewayAPI.Dtos.ResetPasswordDto containing email, token, and new password.
string or null The portal user’s email address. | |
| token | string or null The password-reset token previously generated. |
| newPassword | string or null The desired new password. |
{- "email": "string",
- "token": "string",
- "newPassword": "string"
}| apiUserId required | string <uuid> |
object or null Map of PermissionID → IsAllowed (true=grant, false=revoke). |
{- "overrides": {
- "property1": true,
- "property2": true
}
}| developerName required | string non-empty |
| developerEmail required | string non-empty |
| developerPhoneNumber required | string non-empty |
| roleId required | string <uuid> |
{- "developerName": "string",
- "developerEmail": "string",
- "developerPhoneNumber": "string",
- "roleId": "7382d58e-652a-4905-b7c9-bcca1e0e5391"
}Batch submission DTO containing destination+amount items.
| batchName required | string non-empty A human-readable name for this batch. |
required | Array of objects (BatchItemDto) The individual items to disburse. |
{- "batchName": "string",
- "items": [
- {
- "destination": "string",
- "amount": 0.01
}
]
}| batchId required | string <uuid> The identifier of the batch to process. |
| batchId required | string <uuid> The batch identifier. |
DTO containing the list of ItemIds to retry.
| batchId required | string <uuid> The batch whose items are being retried. |
| itemIds required | Array of strings <uuid> The item IDs (from TeraPaymentGatewayAPI.Dtos.SubmitBatchResultDto.ItemIds) to retry. |
{- "batchId": "5579c111-9c50-47e2-af92-f16d52e63189",
- "itemIds": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
}| cardNumber required | string <credit-card> non-empty |
| expiryMonth | integer <int32> [ 1 .. 12 ] |
| expiryYear | integer <int32> [ 2021 .. 2100 ] |
| cvv required | string [ 3 .. 4 ] characters |
{- "cardNumber": "string",
- "expiryMonth": 1,
- "expiryYear": 2021,
- "cvv": "stri"
}The checkout session creation request.
| amount required | number <double> |
| currency required | string = 3 characters |
| returnUrl required | string <uri> non-empty |
{- "amount": 0,
- "currency": "str",
}The client registration DTO.
| clientType | string or null Type of client: "Individual" or "Company". |
| name | string or null Name of the client. |
| contactPerson | string or null Primary contact person for the client. |
| phoneNumber | string or null Phone number of the client. |
| emailAddress | string or null Email address of the client. |
| address | string or null Street address of the client. |
| city | string or null City of the client's address. |
| state | string or null State or province of the client's address. |
| country | string or null Country of the client's address. |
{- "clientType": "string",
- "name": "string",
- "contactPerson": "string",
- "phoneNumber": "string",
- "emailAddress": "string",
- "address": "string",
- "city": "string",
- "state": "string",
- "country": "string"
}| id required | string <uuid> The GUID of the client to approve. |
Registration data including email, password, and full name.
| email required | string <email> [ 1 .. 200 ] characters Customer’s email address (login). Must be unique. |
| password required | string >= 8 characters Plaintext password (minimum requirements enforced in controller). |
| fullName | string or null <= 200 characters Customer’s full name (optional). |
{- "email": "user@example.com",
- "password": "stringst",
- "fullName": "string"
}Login data including email and password.
| email required | string <email> [ 1 .. 200 ] characters The customer’s email address (login identifier). |
| password required | string >= 8 characters The customer’s plaintext password. Must satisfy any password policy (e.g. ≥ 8 characters). |
{- "email": "user@example.com",
- "password": "stringst"
}Top-up data including amount and description.
| amount required | number <double> >= 0.01 Amount to credit (must be positive). |
| description required | string [ 1 .. 200 ] characters Description for the ledger entry (max 200 chars). |
{- "amount": 0.01,
- "description": "string"
}Transfer details including recipient ID, amount, and description.
| recipientCustomerId required | string <uuid> The GUID of the recipient customer. |
| amount required | number <double> >= 0.01 Amount to transfer (must be positive). |
| description required | string [ 1 .. 200 ] characters Description for the ledger entries (max 200 chars). |
{- "recipientCustomerId": "8adbfb1f-b340-48e8-82df-6ed4bd37d070",
- "amount": 0.01,
- "description": "string"
}Payment information including amount, description, and external reference.
| amount required | number <double> >= 0.01 Amount to debit (must be positive). |
| description required | string [ 1 .. 200 ] characters Description for the ledger entry (max 200 chars). |
| externalReference required | string [ 1 .. 100 ] characters External reference (e.g. merchant invoice ID, max 100 chars). |
{- "amount": 0.01,
- "description": "string",
- "externalReference": "string"
}| startDate | string <date-time> Start date for the statement (format: yyyy-MM-dd). |
| endDate | string <date-time> End date for the statement (format: yyyy-MM-dd). |
| type | string Optional filter for transaction type. Use |
| format | string Default: "json" Output format. Use |
| accountNumber required | string [ 0 .. 34 ] characters Full BBAN account number of the recipient. |
| amount required | number <double> >= 0.01 Amount to be transferred. |
| narration | string or null Optional narration for the transaction. Defaults to "Transfer to {AccountNumber}" if not specified. |
{- "accountNumber": "string",
- "amount": 0.01,
- "narration": "string"
}| transactionId required | string <uuid> Identifier of the transaction for which the OTP should be resent. |
{- "transactionId": "75906707-8c31-479c-b354-aa805c4cefbc"
}required | Array of objects (MobilePaymentEntry) A collection of mobile‐money payment instructions. |
{- "payments": [
- {
- "phoneNumber": "string",
- "amount": 0.01
}
]
}| destinationClientId required | string <uuid> The GUID of the destination client (e.g. NASSIT) to which funds are being sent. |
| accountNumber required | string >= 3 characters The bank account number of the destination client. Used for all entries in this bulk transfer. Must be at least 3 digits so the bank-code can be derived. |
required | Array of objects (ClientTransferEntry) non-empty The list of individual transfers (one per beneficiary/employee). |
{- "destinationClientId": "4716f81e-b3da-45bc-9ba7-eb482a49850e",
- "accountNumber": "string",
- "entries": [
- {
- "amount": 0.01,
- "narration": "string"
}
]
}| destinationClientId required | string <uuid> The GUID of the destination client (e.g. NASSIT) to which funds are being sent. |
| phoneNumber required | string <tel> non-empty The beneficiary’s phone number (including country code). |
required | Array of objects (ClientMobileTransferEntry) non-empty The list of individual transfers (one per ledger entry). Each entry will credit the same PhoneNumber but with its own amount and narration. |
{- "destinationClientId": "4716f81e-b3da-45bc-9ba7-eb482a49850e",
- "phoneNumber": "string",
- "entries": [
- {
- "amount": 0.01,
- "narration": "string"
}
]
}Permission definition.
| name | string or null Unique name of the permission (e.g., "Banks.Read"). |
| httpMethod | string or null HTTP method this permission covers (e.g., "GET", "POST"). |
| routePattern | string or null The route pattern this permission applies to (e.g., "/api/banks"). |
{- "name": "string",
- "httpMethod": "string",
- "routePattern": "string"
}List of permissions to create.
| name | string or null Unique name of the permission (e.g., "Banks.Read"). |
| httpMethod | string or null HTTP method this permission covers (e.g., "GET", "POST"). |
| routePattern | string or null The route pattern this permission applies to (e.g., "/api/banks"). |
[- {
- "name": "string",
- "httpMethod": "string",
- "routePattern": "string"
}
]The user creation request.
| userName | string or null The desired username for the new portal user. |
string or null The email address for the new portal user. | |
| roles | Array of strings or null The roles to assign to the new portal user. |
| generateApiKey | boolean If true, also issue an API key/secret pair for programmatic access. |
{- "userName": "string",
- "email": "string",
- "roles": [
- "string"
], - "generateApiKey": true
}| clientId required | string <uuid> The client's unique identifier. |
| type | string If "bank", includes only those whose ReceiverBankCode matches a known bank code; if "mobile", only those whose ReceiverBankCode (with any leading zero stripped) matches a telco code; otherwise both. |
| clientId required | string <uuid> The client’s unique identifier. |
| roleId required | string <uuid> |
| permissionIds | Array of strings or null <uuid> List of PermissionIDs that this role should have. |
{- "permissionIds": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
}| name required | string non-empty |
| permissionIds required | Array of strings <uuid> List of PermissionIDs to assign. |
{- "name": "string",
- "permissionIds": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
}| description | string or null Optional descriptive name for this key (not stored, just for request clarity). |
{- "description": "string"
}{ "phoneNumber": "recipient", "message": "your text" }
| phoneNumber required | string <tel> non-empty Recipient phone number, including country code (e.g. "23277123456"). |
| message required | string [ 1 .. 320 ] characters The SMS message body (max ~160 chars, depending on gateway). |
{- "phoneNumber": "string",
- "message": "string"
}{ "phoneNumbers": ["+23276123456", "+23276543210"], "message": "Hello all!" }
| phoneNumbers | Array of strings or null List of phone numbers to send the message to. |
| message | string or null The SMS message content. |
{- "phoneNumbers": [
- "string"
], - "message": "string"
}{ "phoneNumber": "recipient", "message": "text", "senderId": "CustomSender" }
| phoneNumber required | string non-empty |
| message required | string non-empty |
| senderId required | string [ 1 .. 11 ] characters |
{- "phoneNumber": "string",
- "message": "string",
- "senderId": "string"
}