### Limit Profile Operations Source: https://developers.monnify.com/api/index APIs for creating and managing limit profiles for customers. ```APIDOC ## POST /api/v1/limit-profile/ ### Description Creates a new limit profile. ### Method POST ### Endpoint /api/v1/limit-profile/ ### Parameters #### Request Body - **profileName** (string) - Required - The name of the limit profile. - **transactionLimit** (number) - Required - The maximum transaction amount allowed. - **dailyLimit** (number) - Required - The maximum daily transaction amount. - **monthlyLimit** (number) - Required - The maximum monthly transaction amount. ### Request Example ```json { "profileName": "High Value Customer", "transactionLimit": 10000.00, "dailyLimit": 50000.00, "monthlyLimit": 200000.00 } ``` ### Response #### Success Response (201) - **profileId** (string) - The unique ID of the created limit profile. - **message** (string) - Success message. #### ``` -------------------------------- ### Customer Reserved Account Operations Source: https://developers.monnify.com/api/index APIs for creating and managing reserved accounts for customers. ```APIDOC ## POST /api/v2/bank-transfer/reserved-accounts ### Description Creates a new reserved account for a customer. ### Method POST ### Endpoint /api/v2/bank-transfer/reserved-accounts ### Parameters #### Request Body - **customerName** (string) - Required - The name of the customer. - **customerEmail** (string) - Required - The email of the customer. - **accountReference** (string) - Required - A unique reference for the account. ### Request Example ```json { "customerName": "John Doe", "customerEmail": "john.doe@example.com", "accountReference": "JD12345" } ``` ### Response #### Success Response (201) - **accountNumber** (string) - The newly created account number. - **accountName** (string) - The name associated with the account. - **reference** (string) - The reference of the reserved account. #### Response Example ```json { "accountNumber": "9876543210", "accountName": "MONNIFY/JD12345", "reference": "JD12345" } ``` ``` ```APIDOC ## POST /api/v1/bank-transfer/reserved-accounts ### Description Creates a new reserved account for a customer using v1 API. ### Method POST ### Endpoint /api/v1/bank-transfer/reserved-accounts ### Parameters #### Request Body - **customerName** (string) - Required - The name of the customer. - **customerEmail** (string) - Required - The email of the customer. - **accountReference** (string) - Required - A unique reference for the account. ### Request Example ```json { "customerName": "Jane Smith", "customerEmail": "jane.smith@example.com", "accountReference": "JS67890" } ``` ### Response #### Success Response (201) - **accountNumber** (string) - The newly created account number. - **accountName** (string) - The name associated with the account. - **reference** (string) - The reference of the reserved account. #### Response Example ```json { "accountNumber": "1234567890", "accountName": "MONNIFY/JS67890", "reference": "JS67890" } ``` ``` ```APIDOC ## GET /api/v2/bank-transfer/reserved-accounts/{accountReference} ### Description Retrieves details of a specific reserved account using its reference. ### Method GET ### Endpoint /api/v2/bank-transfer/reserved-accounts/{accountReference} ### Parameters #### Path Parameters - **accountReference** (string) - Required - The reference of the reserved account. ### Response #### Success Response (200) - **accountNumber** (string) - The account number. - **accountName** (string) - The name associated with the account. - **reference** (string) - The reference of the reserved account. - **customerEmail** (string) - The customer's email. - **status** (string) - The status of the account. #### Response Example ```json { "accountNumber": "9876543210", "accountName": "MONNIFY/JD12345", "reference": "JD12345", "customerEmail": "john.doe@example.com", "status": "ACTIVE" } ``` ``` ```APIDOC ## PUT /api/v1/bank-transfer/reserved-accounts/add-linked-accounts/{accountReference} ### Description Adds linked accounts to an existing reserved account. ### Method PUT ### Endpoint /api/v1/bank-transfer/reserved-accounts/add-linked-accounts/{accountReference} ### Parameters #### Path Parameters - **accountReference** (string) - Required - The reference of the reserved account. #### Request Body - **linkedAccountNumber** (string) - Required - The account number to link. - **linkedAccountBank** (string) - Required - The bank of the linked account. ### Request Example ```json { "linkedAccountNumber": "1122334455", "linkedAccountBank": "Monnify Bank" } ``` ### Response #### Success Response (200) - **message** (string) - Success message. #### Response Example ```json { "message": "Linked account added successfully." } ``` ``` ```APIDOC ## PUT /api/v1/bank-transfer/reserved-accounts/update-customer-bvn/{reservedAccountReference} ### Description Updates the BVN (Bank Verification Number) information for a customer associated with a reserved account. ### Method PUT ### Endpoint /api/v1/bank-transfer/reserved-accounts/update-customer-bvn/{reservedAccountReference} ### Parameters #### Path Parameters - **reservedAccountReference** (string) - Required - The reference of the reserved account. #### Request Body - **bvn** (string) - Required - The customer's BVN. ### Request Example ```json { "bvn": "12345678901" } ``` ### Response #### Success Response (200) - **message** (string) - Success message. #### Response Example ```json { "message": "BVN updated successfully." } ``` ``` ```APIDOC ## PUT /api/v1/bank-transfer/reserved-accounts/update-payment-source-filter/{accountReference} ### Description Updates the payment source filter for a reserved account. ### Method PUT ### Endpoint /api/v1/bank-transfer/reserved-accounts/update-payment-source-filter/{accountReference} ### Parameters #### Path Parameters - **accountReference** (string) - Required - The reference of the reserved account. #### Request Body - **filterType** (string) - Required - The type of filter (e.g., 'allowlist', 'blocklist'). - **filterValues** (array) - Required - A list of values for the filter. ### Request Example ```json { "filterType": "allowlist", "filterValues": ["account1", "account2"] } ``` ### Response #### Success Response (200) - **message** (string) - Success message. #### Response Example ```json { "message": "Payment source filter updated successfully." } ``` ``` ```APIDOC ## PUT /api/v1/bank-transfer/reserved-accounts/update-income-split-config/{accountReference} ### Description Updates the income split configuration for a reserved account. ### Method PUT ### Endpoint /api/v1/bank-transfer/reserved-accounts/update-income-split-config/{accountReference} ### Parameters #### Path Parameters - **accountReference** (string) - Required - The reference of the reserved account. #### Request Body - **splitConfig** (object) - Required - The income split configuration. - **destinationAccount** (string) - Required - The destination account for the split. - **percentage** (number) - Required - The percentage of income to split. ### Request Example ```json { "splitConfig": { "destinationAccount": "account3", "percentage": 50 } } ``` ### Response #### Success Response (200) - **message** (string) - Success message. #### Response Example ```json { "message": "Income split configuration updated successfully." } ``` ``` ```APIDOC ## DELETE /api/v1/bank-transfer/reserved-accounts/reference/{accountReference} ### Description Deletes a reserved account using its reference. ### Method DELETE ### Endpoint /api/v1/bank-transfer/reserved-accounts/reference/{accountReference} ### Parameters #### Path Parameters - **accountReference** (string) - Required - The reference of the reserved account to delete. ### Response #### Success Response (200) - **message** (string) - Success message indicating deletion. #### Response Example ```json { "message": "Reserved account deleted successfully." } ``` ``` ```APIDOC ## GET /api/v1/bank-transfer/reserved-accounts/transactions ### Description Retrieves transactions associated with reserved accounts. ### Method GET ### Endpoint /api/v1/bank-transfer/reserved-accounts/transactions ### Parameters #### Query Parameters - **accountReference** (string) - Optional - Filter transactions by account reference. - **startDate** (string) - Optional - Filter transactions starting from this date (YYYY-MM-DD). - **endDate** (string) - Optional - Filter transactions up to this date (YYYY-MM-DD). ### Response #### Success Response (200) - **transactions** (array) - A list of transaction objects. - **transactionId** (string) - The ID of the transaction. - **amount** (number) - The transaction amount. - **date** (string) - The transaction date. #### Response Example ```json { "transactions": [ { "transactionId": "txn_123", "amount": 100.50, "date": "2023-10-27" } ] } ``` ``` ```APIDOC ## PUT /api/v1/bank-transfer/reserved-accounts/{accountReference}/kyc-info ### Description Updates KYC (Know Your Customer) information for a reserved account. ### Method PUT ### Endpoint /api/v1/bank-transfer/reserved-accounts/{accountReference}/kyc-info ### Parameters #### Path Parameters - **accountReference** (string) - Required - The reference of the reserved account. #### Request Body - **kycStatus** (string) - Required - The KYC status (e.g., 'VERIFIED', 'PENDING'). - **kycDetails** (object) - Optional - Additional KYC details. ### Request Example ```json { "kycStatus": "VERIFIED", "kycDetails": { "idType": "National ID", "idNumber": "123456789" } } ``` ### Response #### Success Response (200) - **message** (string) - Success message. #### Response Example ```json { "message": "KYC information updated successfully." } ``` ``` -------------------------------- ### Transactions API Endpoints Source: https://developers.monnify.com/api/index Endpoints for initiating and managing transactions, including payment initialization and status queries. ```APIDOC ## Transactions Operations ### POST /api/v1/merchant/transactions/init-transaction Initiates a new transaction. ### POST /api/v1/merchant/bank-transfer/init-payment Initializes a payment via bank transfer. ### POST /api/v1/merchant/cards/charge Charges a customer using card details. ### POST /api/v1/merchant/cards/otp/authorize Authorizes a card transaction using OTP. ### POST /api/v1/sdk/cards/secure-3d/authorize Authorizes a 3D Secure card transaction using the SDK. ### GET /api/v1/transactions/search Searches for transactions based on specified criteria. ### GET /api/v2/transactions/{transactionReference} Retrieves details for a specific transaction using its reference. ### GET /api/v2/merchant/transactions/query Queries merchant transactions. ``` -------------------------------- ### Sub Accounts Operations Source: https://developers.monnify.com/api/index APIs for creating and managing sub-accounts on an integration. ```APIDOC ## POST /api/v1/sub-accounts ### Description Creates a new sub-account on the integration. ### Method POST ### Endpoint /api/v1/sub-accounts ### Parameters #### Request Body - **subAccountName** (string) - Required - The name of the sub-account. - **subAccountCode** (string) - Required - A unique code for the sub-account. - **billingInterval** (string) - Optional - The billing interval for the sub-account. ### Request Example ```json { "subAccountName": "Merchant Account A", "subAccountCode": "MA001", "billingInterval": "MONTHLY" } ``` ### Response #### Success Response (201) - **message** (string) - Success message indicating sub-account creation. - **subAccount** (object) - Details of the created sub-account. - **id** (string) - The ID of the sub-account. - **name** (string) - The name of the sub-account. - **code** (string) - The code of the sub-account. #### Response Example ```json { "message": "Sub-account created successfully.", "subAccount": { "id": "sub_12345", "name": "Merchant Account A", "code": "MA001" } } ``` ``` ```APIDOC ## GET /api/v1/sub-accounts ### Description Retrieves a list of all sub-accounts. ### Method GET ### Endpoint /api/v1/sub-accounts ### Response #### Success Response (200) - **subAccounts** (array) - A list of sub-account objects. - **id** (string) - The ID of the sub-account. - **name** (string) - The name of the sub-account. - **code** (string) - The code of the sub-account. - **createdAt** (string) - The date and time the sub-account was created. #### Response Example ```json { "subAccounts": [ { "id": "sub_12345", "name": "Merchant Account A", "code": "MA001", "createdAt": "2023-10-27T10:00:00Z" }, { "id": "sub_67890", "name": "Merchant Account B", "code": "MA002", "createdAt": "2023-10-26T15:30:00Z" } ] } ``` ``` ```APIDOC ## PUT /api/v1/sub-accounts ### Description Updates an existing sub-account. Requires at least one of `subAccountCode` or `subAccountId` to identify the sub-account to update. ### Method PUT ### Endpoint /api/v1/sub-accounts ### Parameters #### Request Body - **subAccountName** (string) - Optional - The new name for the sub-account. - **subAccountCode** (string) - Optional - The code of the sub-account to update. - **subAccountId** (string) - Optional - The ID of the sub-account to update. - **billingInterval** (string) - Optional - The new billing interval for the sub-account. ### Request Example ```json { "subAccountCode": "MA001", "subAccountName": "Updated Merchant Account A" } ``` ### Response #### Success Response (200) - **message** (string) - Success message indicating sub-account update. #### Response Example ```json { "message": "Sub-account updated successfully." } ``` ``` ```APIDOC ## DELETE /api/v1/sub-accounts/{subAccountCode} ### Description Deletes a sub-account using its code. ### Method DELETE ### Endpoint /api/v1/sub-accounts/{subAccountCode} ### Parameters #### Path Parameters - **subAccountCode** (string) - Required - The code of the sub-account to delete. ### Response #### Success Response (200) - **message** (string) - Success message indicating sub-account deletion. #### Response Example ```json { "message": "Sub-account deleted successfully." } ``` ``` -------------------------------- ### Direct Debit Operations Source: https://developers.monnify.com/api/index APIs for creating and managing direct debit mandates for customers. ```APIDOC ## POST /api/v1/direct-debit/mandate/create ### Description Creates a new direct debit mandate for a customer. ### Method POST ### Endpoint /api/v1/direct-debit/mandate/create ### Parameters #### Request Body - **customerDetails** (object) - Required - Details of the customer. - **name** (string) - Required - Customer's name. - **email** (string) - Required - Customer's email. - **mandateDetails** (object) - Required - Details of the mandate. - **amount** (number) - Required - The amount to be debited. - **frequency** (string) - Required - The frequency of the debit (e.g., 'MONTHLY', 'WEEKLY'). - **startDate** (string) - Required - The start date of the mandate (YYYY-MM-DD). - **endDate** (string) - Optional - The end date of the mandate (YYYY-MM-DD). ### Request Example ```json { "customerDetails": { "name": "Alice Wonderland", "email": "alice@example.com" }, "mandateDetails": { "amount": 50.00, "frequency": "MONTHLY", "startDate": "2023-11-01" } } ``` ### Response #### Success Response (201) - **mandateId** (string) - The unique ID of the created mandate. - **status** (string) - The status of the mandate. #### Response Example ```json { "mandateId": "mandate_abc123", "status": "PENDING_AUTHORIZATION" } ``` ``` ```APIDOC ## GET /api/v1/direct-debit/mandate/ ### Description Retrieves a list of direct debit mandates. ### Method GET ### Endpoint /api/v1/direct-debit/mandate/ ### Parameters #### Query Parameters - **status** (string) - Optional - Filter mandates by status. - **customerId** (string) - Optional - Filter mandates by customer ID. ### Response #### Success Response (200) - **mandates** (array) - A list of mandate objects. - **mandateId** (string) - The ID of the mandate. - **customerName** (string) - The name of the customer. - **amount** (number) - The mandate amount. - **frequency** (string) - The mandate frequency. - **status** (string) - The mandate status. #### Response Example ```json { "mandates": [ { "mandateId": "mandate_abc123", "customerName": "Alice Wonderland", "amount": 50.00, "frequency": "MONTHLY", "status": "ACTIVE" } ] } ``` ``` ```APIDOC ## POST /api/v1/direct-debit/mandate/debit ### Description Initiates a debit transaction against a direct debit mandate. ### Method POST ### Endpoint /api/v1/direct-debit/mandate/debit ### Parameters #### Request Body - **mandateId** (string) - Required - The ID of the mandate to debit. - **amount** (number) - Optional - The amount to debit. If not provided, the mandate's default amount will be used. ### Request Example ```json { "mandateId": "mandate_abc123", "amount": 55.00 } ``` ### Response #### Success Response (200) - **debitId** (string) - The ID of the debit transaction. - **status** (string) - The status of the debit transaction. #### Response Example ```json { "debitId": "debit_xyz789", "status": "PROCESSING" } ``` ``` ```APIDOC ## GET /api/v1/direct-debit/mandate/debit-status ### Description Retrieves the status of a direct debit transaction. ### Method GET ### Endpoint /api/v1/direct-debit/mandate/debit-status ### Parameters #### Query Parameters - **debitId** (string) - Required - The ID of the debit transaction. ### Response #### Success Response (200) - **status** (string) - The current status of the debit transaction. - **details** (string) - Additional details about the transaction status. #### Response Example ```json { "status": "COMPLETED", "details": "Debit successful." } ``` ``` ```APIDOC ## PATCH /api/v1/direct-debit/mandate/cancel-mandate/{mandateCode} ### Description Cancels a direct debit mandate. ### Method PATCH ### Endpoint /api/v1/direct-debit/mandate/cancel-mandate/{mandateCode} ### Parameters #### Path Parameters - **mandateCode** (string) - Required - The code of the mandate to cancel. ### Response #### Success Response (200) - **message** (string) - Confirmation message that the mandate has been cancelled. #### Response Example ```json { "message": "Mandate cancelled successfully." } ``` ``` -------------------------------- ### Recurring Payment Operation Source: https://developers.monnify.com/api/index API for initiating recurring card payments. ```APIDOC ## POST /api/v1/merchant/cards/charge-card-token ### Description Charges a customer's card using a stored token for recurring payments. ### Method POST ### Endpoint /api/v1/merchant/cards/charge-card-token ### Parameters #### Request Body - **cardToken** (string) - Required - The token representing the customer's card. - **amount** (number) - Required - The amount to charge. - **transactionReference** (string) - Required - A unique reference for the transaction. - **description** (string) - Optional - A description for the charge. ### Request Example ```json { "cardToken": "tok_abcdef12345", "amount": 75.00, "transactionReference": "REF789", "description": "Monthly subscription fee" } ``` ### Response #### Success Response (200) - **transactionId** (string) - The unique ID of the transaction. - **status** (string) - The status of the transaction. #### Response Example ```json { "transactionId": "txn_ghi789", "status": "SUCCESS" } ``` ``` -------------------------------- ### Invoice Operations Source: https://developers.monnify.com/api/index APIs for creating and managing invoices for customers. ```APIDOC ## POST /api/v1/invoice/create ### Description Creates a new invoice for a customer. ### Method POST ### Endpoint /api/v1/invoice/create ### Parameters #### Request Body - **customerDetails** (object) - Required - Details of the customer. - **name** (string) - Required - Customer's name. - **email** (string) - Required - Customer's email. - **invoiceDetails** (object) - Required - Details of the invoice. - **description** (string) - Required - Description of the invoice. - **amount** (number) - Required - The total amount of the invoice. - **dueDate** (string) - Required - The due date of the invoice (YYYY-MM-DD). ### Request Example ```json { "customerDetails": { "name": "Bob The Builder", "email": "bob@example.com" }, "invoiceDetails": { "description": "Consulting Services", "amount": 250.75, "dueDate": "2023-12-15" } } ``` ### Response #### Success Response (201) - **invoiceReference** (string) - The unique reference for the created invoice. - **invoiceUrl** (string) - A URL to view the invoice. #### Response Example ```json { "invoiceReference": "inv_def456", "invoiceUrl": "https://monnify.com/invoice/inv_def456" } ``` ``` ```APIDOC ## GET /api/v1/invoice/{invoiceReference}/details ### Description Retrieves the details of a specific invoice using its reference. ### Method GET ### Endpoint /api/v1/invoice/{invoiceReference}/details ### Parameters #### Path Parameters - **invoiceReference** (string) - Required - The reference of the invoice. ### Response #### Success Response (200) - **invoiceReference** (string) - The invoice reference. - **description** (string) - The invoice description. - **amount** (number) - The invoice amount. - **dueDate** (string) - The invoice due date. - **status** (string) - The status of the invoice (e.g., 'PENDING', 'PAID', 'CANCELLED'). #### Response Example ```json { "invoiceReference": "inv_def456", "description": "Consulting Services", "amount": 250.75, "dueDate": "2023-12-15", "status": "PENDING" } ``` ``` ```APIDOC ## GET /api/v1/invoice/all ### Description Retrieves a list of all invoices. ### Method GET ### Endpoint /api/v1/invoice/all ### Parameters #### Query Parameters - **status** (string) - Optional - Filter invoices by status. - **customerId** (string) - Optional - Filter invoices by customer ID. ### Response #### Success Response (200) - **invoices** (array) - A list of invoice objects. - **invoiceReference** (string) - The invoice reference. - **description** (string) - The invoice description. - **amount** (number) - The invoice amount. - **dueDate** (string) - The invoice due date. - **status** (string) - The invoice status. #### Response Example ```json { "invoices": [ { "invoiceReference": "inv_def456", "description": "Consulting Services", "amount": 250.75, "dueDate": "2023-12-15", "status": "PENDING" }, { "invoiceReference": "inv_ghi789", "description": "Support Services", "amount": 100.00, "dueDate": "2023-11-30", "status": "PAID" } ] } ``` ``` ```APIDOC ## DELETE /api/v1/invoice/{invoiceReference}/cancel ### Description Cancels a specific invoice using its reference. ### Method DELETE ### Endpoint /api/v1/invoice/{invoiceReference}/cancel ### Parameters #### Path Parameters - **invoiceReference** (string) - Required - The reference of the invoice to cancel. ### Response #### Success Response (200) - **message** (string) - Confirmation message that the invoice has been cancelled. #### Response Example ```json { "message": "Invoice cancelled successfully." } ``` ``` -------------------------------- ### Paycode API Operations Source: https://developers.monnify.com/api/index This section details the available operations for the Paycode API, including creating, retrieving, and deleting paycodes. ```APIDOC ## POST /api/v1/paycode ### Description Creates a new PayCode for a customer. ### Method POST ### Endpoint /api/v1/paycode ### Parameters #### Request Body - **amount** (number) - Required - The amount for the PayCode. - **customer_email** (string) - Required - The email address of the customer. - **customer_name** (string) - Required - The name of the customer. - **expiry_date** (string) - Optional - The expiry date for the PayCode in YYYY-MM-DD format. - **metadata** (object) - Optional - Additional data to associate with the PayCode. ### Request Example ```json { "amount": 10000, "customer_email": "customer@example.com", "customer_name": "John Doe", "expiry_date": "2024-12-31", "metadata": { "order_id": "ORD12345" } } ``` ### Response #### Success Response (201) - **paycode_reference** (string) - The unique reference for the created PayCode. - **paycode_hash** (string) - The hash of the PayCode. - **amount** (number) - The amount of the PayCode. - **status** (string) - The status of the PayCode (e.g., "ACTIVE"). #### Response Example ```json { "paycode_reference": "PC123456789", "paycode_hash": "a1b2c3d4e5f6g7h8i9j0", "amount": 10000, "status": "ACTIVE" } ``` ``` ```APIDOC ## GET /api/v1/paycode ### Description Retrieves a list of all active PayCodes. ### Method GET ### Endpoint /api/v1/paycode ### Parameters #### Query Parameters - **status** (string) - Optional - Filters PayCodes by status (e.g., "ACTIVE", "EXPIRED"). - **limit** (integer) - Optional - The maximum number of PayCodes to return. - **offset** (integer) - Optional - The number of PayCodes to skip. ### Response #### Success Response (200) - **paycodes** (array) - A list of PayCode objects. - **paycode_reference** (string) - The unique reference for the PayCode. - **paycode_hash** (string) - The hash of the PayCode. - **amount** (number) - The amount of the PayCode. - **status** (string) - The status of the PayCode. - **created_at** (string) - The timestamp when the PayCode was created. #### Response Example ```json { "paycodes": [ { "paycode_reference": "PC123456789", "paycode_hash": "a1b2c3d4e5f6g7h8i9j0", "amount": 10000, "status": "ACTIVE", "created_at": "2023-10-27T10:00:00Z" } ] } ``` ``` ```APIDOC ## GET /api/v1/paycode/{paycodeReference} ### Description Retrieves details for a specific PayCode using its reference. ### Method GET ### Endpoint /api/v1/paycode/{paycodeReference} ### Parameters #### Path Parameters - **paycodeReference** (string) - Required - The unique reference of the PayCode to retrieve. ### Response #### Success Response (200) - **paycode_reference** (string) - The unique reference for the PayCode. - **paycode_hash** (string) - The hash of the PayCode. - **amount** (number) - The amount of the PayCode. - **status** (string) - The status of the PayCode. - **customer_email** (string) - The email address of the customer. - **customer_name** (string) - The name of the customer. - **expiry_date** (string) - The expiry date of the PayCode. - **created_at** (string) - The timestamp when the PayCode was created. #### Response Example ```json { "paycode_reference": "PC123456789", "paycode_hash": "a1b2c3d4e5f6g7h8i9j0", "amount": 10000, "status": "ACTIVE", "customer_email": "customer@example.com", "customer_name": "John Doe", "expiry_date": "2024-12-31", "created_at": "2023-10-27T10:00:00Z" } ``` ``` ```APIDOC ## DELETE /api/v1/paycode/{paycodeReference} ### Description Deletes a specific PayCode using its reference. ### Method DELETE ### Endpoint /api/v1/paycode/{paycodeReference} ### Parameters #### Path Parameters - **paycodeReference** (string) - Required - The unique reference of the PayCode to delete. ### Response #### Success Response (204) No content is returned on successful deletion. #### Response Example (No content) ``` ```APIDOC ## GET /api/v1/paycode/{paycodeReference}/authorize ### Description Authorizes a PayCode, typically used for payment processing. ### Method GET ### Endpoint /api/v1/paycode/{paycodeReference}/authorize ### Parameters #### Path Parameters - **paycodeReference** (string) - Required - The unique reference of the PayCode to authorize. ### Response #### Success Response (200) - **transaction_id** (string) - The unique identifier for the transaction. - **status** (string) - The status of the authorization (e.g., "SUCCESSFUL"). #### Response Example ```json { "transaction_id": "TXN987654321", "status": "SUCCESSFUL" } ``` ``` -------------------------------- ### POST /api/v1/auth/login - Generate Access Token Source: https://developers.monnify.com/api/index This endpoint generates an access token that is required to authenticate all other requests to the Monnify API. It uses Basic Authentication with your API key and secret key. ```APIDOC ## POST /api/v1/auth/login ### Description Generates an access token for authenticating subsequent API requests. This endpoint requires Basic Authentication using your API key and secret key. ### Method POST ### Endpoint https://sandbox.monnify.com/api/v1/auth/login ### Parameters #### Headers - **Authorization** (string) - Required - Your API key and secret key encoded in Base64 format. Example: `Basic base64(apiKey:secretKey)` ### Request Example ```json { "apiKey": "MK_TEST_GC3B8XG2XX", "secretKey": "A663NRZA544DDPEM7KDN7Z8HRV6YXD8S" } ``` ### Response #### Success Response (200 - OK) - **requestSuccessful** (boolean) - Indicates if the request was successful. - **responseCode** (integer) - The response code. - **responseBody** (object) - Contains the access token and its expiration time. - **accessToken** (string) - The generated access token. - **expiresIn** (integer) - The time in seconds until the access token expires. #### Response Example ```json { "requestSuccessful": true, "responseCode": 0, "responseBody": { "accessToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTYyNzQwNjYwM30.7", "expiresIn": 3600 } } ``` #### Error Response (401 - Invalid Token) Failed response due to an invalid token. #### Error Response (401 - No header) Failed response due to no authorization header provided. ``` -------------------------------- ### Generate Access Token with Node.js Axios Source: https://developers.monnify.com/api/index This snippet demonstrates how to generate an access token for authenticating Monnify API requests. It uses Node.js with the Axios HTTP client and requires Basic Authentication with the API key and secret key. ```javascript const axios = require('axios').default; const options = { method: 'POST', url: 'https://sandbox.monnify.com/api/v1/auth/login', headers: { Authorization: 'Basic TUtfVEVTVF9HQzNCOFhHMlhYOkE2NjNOUlpBNTQ0RERQRU03S0RON1o4SFJWNllYRDhT' } }; try { const { data } = await axios.request(options); console.log(data); } catch (error) { console.error(error); } ``` -------------------------------- ### Transfers (Disbursement) API Endpoints Source: https://developers.monnify.com/api/index Endpoints for performing disbursement operations, including single and batch transfers, and managing transfer statuses. ```APIDOC ## Transfers (Disbursement) Operations *Note: Access to the TRANSFER API requires merchants to meet specific regulatory requirements. Please contact sales@monnify.com for access.* ### POST /api/v2/disbursements/single Initiates a single disbursement. ### POST /api/v2/disbursements/batch Initiates a batch disbursement. ### POST /api/v2/disbursements/single/validate-otp Validates the OTP for a single disbursement. ### POST /api/v2/disbursements/batch/validate-otp Validates the OTP for a batch disbursement. ### POST /api/v2/disbursements/single/resend-otp Resends the OTP for a single disbursement. ### GET /api/v2/disbursements/single/summary Retrieves a summary of single disbursement transactions. ### GET /api/v2/disbursements/single/transactions Retrieves a list of single disbursement transactions. ### GET /api/v2/disbursements/bulk/transactions Retrieves a list of bulk disbursement transactions. ### GET /api/v2/disbursements/bulk/batchreference--12934/transactions Retrieves transactions for a specific batch reference in bulk disbursements. ### GET /api/v2/disbursements/search-transactions Searches for disbursement transactions. ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.