Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.nuvion.co/llms.txt

Use this file to discover all available pages before exploring further.

Nuvion supports the ability to transfer funds globally, with a simple API that abstracts away the complexities of cross-border payments. To initiate a transfer, you first need to register a counterparty and attach their payment details. Once the counterparty is registered, you can easily initiate transfers to them.

Register a Counterparty

To register a counterparty, you need to provide their details such as name, email, and payment information. This can be done through the Nuvion API by sending a POST request to the /counterparties endpoint with the required information. To create a counterparty, follow these steps here: Create Counterparty.

Create a payment details for a counterparty

POST /payment-details After registering a counterparty, you need to attach their payment details by creating one. This can be done by sending a POST request to the /payment-details endpoint with the counterparty’s information.

Request Parameters

payment_method
string
required
The payment method to be used for the transfer. For example, “bank-transfer”.
currency
string
required
The currency in which the transfer will be made. For example, “USD”.
country
string
required
The country where the counterparty is located. For example, “USA”.
account_holder_name
string
required
The name of the account holder.
entity_id
string
required
The ID of the entity to which the counterparty belongs.
counterparty_id
string
required
The ID of the counterparty for whom to create payment details.
bank_name
string
required
The name of the bank.
swift_bic
string
required
The SWIFT/BIC code of the bank.
account_number
string
required
The account number for the payment details.

Example Request

curl -X POST https://api.nuvion.dev/payment-details \
-H "Authorization: Bearer $NUVION_API_KEY" \
-H "Content-Type: application/json" \   
-d '{
    "payment_method": "bank-transfer",
    "currency": "USD",
    "country": "USA",
    "account_holder_name": "Frank Jo",
    "entity_id": "01KCKRJJH6A3SJMAXBB737K5NP",
    "counterparty_id": "01KQESEEKSRKEKMACFX5HN0Q58",
    "bank_name": "Lead",
    "swift_bic": "ABNGNGLA",
    "account_number": "8139207668"
}'

Response

A successful response will return a 201 Created status code along with the details of the created payment details in the response body.
{
    "message": "Payment detail created successfully",
    "status": "success",
    "data": {
        "id": "01KQHBQQW1GR5PBH16BY0T56PP",
        "payment_method": "bank-transfer",
        "currency": "USD",
        "account_holder_name": "Frank Jo",
        "counterparty_id": "01KQESEEKSRKEKMACFX5HN0Q58",
        "entity_id": "01KCKRJJH6A3SJMAXBB737K5NP",
        "scheme": "swift",
        "country": "USA",
        "swift_bic": "ABNGNGLA",
        "account_number": "8139207668",
        "bank_name": "Lead"
    }
}

Initiate a Transfer

POST /transfers Once you have registered a counterparty and attached their payment details, you can initiate a transfer by sending a POST request to the /transfers endpoint with the required information such as the amount, currency, and the counterparty’s payment details.

Request Parameters

currency
string
required
The currency in which the transfer will be made. For example, “USD”.
amount
number
required
The amount to be transferred.
account_id
string
required
The ID of the account from which the transfer will be made.
narration
string
required
A description or note for the transfer.
payment_detail_id
string
required
The ID of the payment details associated with the transfer.
payment_type
string
required
The type of payment to be used for the transfer. For example, “bank-transfer”.
counterparty_id
string
required
The ID of the counterparty for whom the transfer is being made.
unique_reference
string
required
A unique reference for the transfer.

Example Request

curl -X POST https://api.nuvion.dev/transfers \
-H "Authorization: Bearer $NUVION_API_KEY" \
-H "Content-Type: application/json" \   
-d '{
    "currency": "USD",
    "amount": 1000,
    "account_id": "01KCKRJJH6A3SJMAXBB737K5NP",
    "narration": "Payment for services rendered",
    "payment_detail_id": "01KQHBQQW1GR5PBH16BY0T56PP",
    "payment_type": "bank-transfer",
    "counterparty_id": "01KQESEEKSRKEKMACFX5HN0Q58",
    "unique_reference": "INV-12345"
}'

Response

A successful response will return a 201 Created status code along with the details of the initiated.
{
    "message": "Transfer created successfully",
    "status": "success",
    "data": {
        "id": "01KQHCHQZE8WNCPVKFXNBAZ8WH",
        "amount": 1000,
        "currency": "USD",
        "unique_reference": "TRANS-REF-246810",
        "counterparty_id": "01KQESEEKSRKEKMACFX5HN0Q58",
        "account_id": "01KQHCFYKNWC48TMKE3QZ64BQT",
        "entity_id": "01KCKRJJH6A3SJMAXBB737K5NP",
        "status": "pending",
        "status_reason": "awaiting_processing",
        "narration": "Payment made",
        "type": "outflow",
        "payment_type": "bank-transfer",
        "applicable_fee": 50000,
        "meta": {
            "payment_order_id": "01KQHCHRH7QET8CPBTC5827J50",
            "provider_reference": null
        },
        "created": 1777626308590,
        "updated": 1777626309359
    }
}