Skip to main content

Swagger API - Guide

This guide is the API Reference and contains steps to execute every action within the Swagger API testing suite.

P
Written by Phil McKay
Updated this week

Authentication is required before proceeding (See API - Getting Started).

The N3XT Swagger API testing suite is available on several environments listed below:

Wallets

  • GET /wallets

    • Function: This call is used to retrieve a list of all wallets associated with your business.

    • Steps:

      • “Try it out”

      • Execute

  • GET /wallets/{id}

    • Function: This call retrieves the details of a specific wallet. The {id} is a variable representing the wallet's unique identifier.

    • Steps:

      • “Try it out”

      • Enter a WalletID

      • Execute

    • Required Parameters: Wallet ID - this can be found in the previous step (GET /wallets), or from within the platform under “Settings>Wallets”


Users

  • GET /users/me

    • Function: This call retrieves the profile information for the authenticated user.

    • Steps:

      • “Try it out”

      • Execute
        ​​

  • GET /users/{id}

    • Function: This call is used to get the details of a specific user. The {id} is a variable for the user's ID.

    • Steps:

      • “Try it out”

      • Enter the UUID of the user to retrieve

      • Execute

    • Required Parameters: [The UUID of the user]


System

  • GET /status

    • Function: This call checks the basic status or health of the API system.

    • Steps:

      • “Try it out”

      • Execute

  • GET /status/full

    • Function: This call provides a comprehensive health report of the entire system, including all sub-services.

    • Steps:

      • “Try it out”

      • Execute


Programmable Payments

  • GET /payments/programmable/{id}

    • Function: This call retrieves a specific programmable payment. The {id} represents the payment's unique identifier.

    • Steps:

      • “Try it out”

      • Enter the Programmable Payment ID

      • Execute

    • Required Parameters:

      • Programmable Payment ID can be found in the “Smart Payments” section. If there are no smart payments, this will return null.​

  • GET /payments/programmable

    • Function: This call retrieves a list of all programmable payments from an authorized business.

    • Steps:

      • “Try it out”

      • Execute

  • POST /payments/programmable (RECIPIENT)

    • Function: This call is used to create a new programmable payment request, as the recipient of funds.

    • Steps:

      • “Try it out”

      • Specify who initiates the payment: select 'recipient' (of funds) or 'payer' (of funds)

      • Update the request body with counterPartyID, and recipientWalletID

      • Execute

    • Required Parameters:

      • Initiator: Specify if user is initiating the payment: “recipient” or “payer”

      • counterPartyID can be provided by the other party’s (payer in this case) account under Business ID

      • recipientWalletID can be found under your business’s listed wallets.

      • Amount value

      • Description

      • Request Body Example:

        { 
        "counterPartyId": "9cc15038-f06c-48b8-8991-1ac623ead0c4",
        "recipientWalletId": "af5da856-1b6c-4d40-b343-8c1e25394681", "amount": "500",
        "description": "invoice 234"
        }

  • POST /payments/programmable (PAYER)

    • Function: This call is used to create a new programmable payment request, as the recipient of funds.

    • Steps:

      • “Try it out”

      • Specify who initiates the payment: select 'recipient' (of funds) or 'payer' (of funds)

      • Update the request body with counterPartyID, and recipientWalletID (recipient) or senderWalletID (Payer)

      • Execute

    • Required Parameters:

      • Initiator: Specify if user is initiating the payment: “recipient” or “payer”

      • counterPartyID can be provided by the other party’s (payer in this case) account under Business ID

      • senderWalletID can be found under your business’s listed wallets.

      • Amount value

      • Description

Example:

{
"counterPartyId": "9cc15038-f06c-48b8-8991-1ac623ead0c4",
"senderWalletId": "af5da856-1b6c-4d40-b343-8c1e25394681",
"amount": "500",
"description": "invoice 234"
}
  • PATCH /payments/programmable/{id}/fulfillment

    • Function: This call is used to fulfill a specific programmable payment request. The {id} represents the request's unique identifier.

    • Steps:

      • “Try it out”

      • Enter the Programmable Payment ID

      • Execute

    • Required Parameters:

      • Programmable Payment ID

  • PATCH /payments/programmable/{id}/cancellation

    • Function: This call is used to fulfill a specific programmable payment request. The {id} represents the request's unique identifier.

    • Steps:

      • “Try it out”

      • Enter the Programmable Payment ID

      • Execute

  • Required Parameters:

    • Programmable Payment ID

  • PATCH /payments/programmable/request/{id}

    • Function: This call updates the status of a specific programmable payment. The {id} represents the payment's unique identifier.

    • Steps:

      • “Try it out”

      • Enter the Programmable Payment ID

      • Select requestType from the dropdown

      • Update senderWalletID

      • Execute

    • Required Parameters:

      • Programmable Payment ID

      • SenderWalletId

  • Example Request Body

Body can be any of the following: “cancelled”, “accepted”(?), “complete(?)”

{
"status": "accepted",
"senderWalletId": "wallet456"
}


Payments

  • POST /payments/instant

    • Function: This call creates and processes an instant payment from your business wallet, to a recipient business. The recipient will select their receiving wallet when they accept the transaction.

    • Steps:

      • “Try it out”

      • Specify the payment senderWalletID, which can be found under your business’ “wallets”, or from GET wallets

      • Specify the payment recipientBusinessID, which can be acquired from the other party’s business under the recipient’s account, under their business name

      • Amount,

      • Description

      • Execute

    • Required Parameters:

      • SenderWalletId

      • recipientBusinessId

      • Payment Amount,

      • Description

      • Note: This transaction will be instant, no confirmation required, payment will be send immediately.

Example Request Body:

{
"amount": "1000",
"senderWalletId": "example-f7050a10-f6e3-4fa3-8a2b-5f0a73740e6a",
"recipientBusinessId": "example-9cc15038-f06c-48b8-8991-1ac623ead0c4",
"description": "Payment for services"
}
  • POST /payments/request

    • Function: This call is used to create a payment request from a business. You will send a request to the payment sender’s business, providing the walletID to receive the funds. This needs to be confirmed on the request recipient/payer’s end.

    • Steps:

      • “Try it out”

      • Specify the payer’s BusinessID, which can be found on their business account page

      • Specify the your WalletID as the recipient, which is the wallet in which you want to receive the funds

      • Amount

      • Description

      • Execute

    • Required Parameters:

      • SenderBusinessID

      • RecipientWalletId

      • Payment Amount

      • Description

      • Note: This transaction will require a confirmation from the payment sender, where they will also specify from which wallet to withdraw the funds

  • Example Request Body:

    { 
    "amount": "1000",
    "senderBusinessId": "example-3fa85f64-5717-4562-b3fc-2c96a6",
    "recipientWalletId": "example-41a735df-db06-4506-af98-dfa44552b4dc",
    "description": "Payment for services"}
    }

GET /payments/request (List)

  • Function: Allows the authenticated user to list payment requests from the business (incoming or outgoing)

  • Steps:

    • “Try it out”

    • Specify the request direction

    • Specify any optional parameters

    • Execute

  • Required Parameters:

    • Direction: Filters requests by direction. Use 'incoming' for requests sent to you or 'outgoing' for requests you have sent.

    • (Optional) SearchString: Filters payment requests with a search term.

    • (Optional) Limit: Sets the maximum number of payment requests to return.

    • (Optional) Offset: Used for pagination to get a specific set of results.

    • (Optional) Status: Filters payment requests by their status (e.g., 'pending').

PATCH /payments/request/{id} UPDATE

  • Function: This call updates the status of a specific payment request to the business. The {id} is a variable for the request's unique identifier. In this example, a payment request has been sent to your business and the request is being accepted.

  • Steps:

    • “Try it out”

    • Specify the ID of the payment request (Can be retrieved from “Transactions” information, OR GET /payments/request function

    • Specify the status (see dropdown examples - “accepted” for this example)

    • Specify the your SenderWalletID - the wallet in which you will release funds to the requester

    • Execute

    • Note: A counterparty business must send a payment request prior to testing out this functionality.

  • Required Parameters:

    • Payment ID

    • Status (“Accepted”, “Cancelled”, “Declined”)

    • SenderWalletID

{
"status": "accepted",
"senderWalletId": "189914de-4f0d-4532-a25d-5096ae6fac46"
}

GET /payments/request/{id}

  • Function: This call retrieves the details of a specific payment request. The {id} is a variable for the request's unique identifier.

  • Steps:

    • “Try it out”

    • Specify the payment request ID - can be obtained from previous call “List Payment Requests”

    • Execute

  • Required Parameters:

    • Payment ID

GET /payments

  • Function: This call retrieves a list of all payments made by the authenticated user.

  • Steps:

    • “Try it out”

    • (optional) Specify a payment status

    • (optional) Available statuses: queued, requested, initiated, lockbox, released, partial, cancelled, declined, completed, failed.

    • (optional) Specify any other optional queries (walletID, StartDate, endDate)

    • Execute

  • Optional Parameters:

    • Status: A comma-separated list of payment statuses to filter by (optional).

    • WalletId: Filters payments by a specific Wallet ID (optional).

GET /payments/{id}

  • Function: This call retrieves the details of a specific payment. The {id} is a variable for the payment's unique identifier. It can be obtained in the previous call GET /payments

  • Steps:

    • “Try it out”

    • Specify a paymentID from the previous API function GET /payments

    • Execute

  • Required Parameters:

    • Payment ID


Internal Transfers

  • POST /transfers/internal

    • Function: This call creates and executes an internal transfer between accounts on the platform. Both walletID's can be obtained from your "Wallets" section

    • Steps:

      • “Try it out”

      • Specify amount

      • Enter SenderWalletID

      • Enter RecipientWalletID

      • Enter Description

      • Execute

    • Example Request Body:

{

"amount": "100.0",
"senderWalletId": "f7050a10-f6e3-4fa3-8a2b-5f0a73740e6a",
"recipientWalletId": "af5da856-1b6c-4d40-b343-8c1e25394681",
"description": "Internal transfer"
}

Contacts

  • GET /contacts

    • Function: Retrieve a list of contacts for the authenticated user, each containing details such as the contact ID, nickname, contact type, and timestamps. This endpoint allows searching for contacts by nickname or other attributes.The results can be paginated using the limit and offset parameters. Leaving the fields blank will return 10 contacts.

    • Steps:

      • “Try it out”

      • Enter any Optional Parameters

      • Execute

    • Required Parameters:

      • SearchString: An optional search string to filter contacts by nickname or other attributes.

      • Limit: An optional limit for the number of contacts to retrieve. (10)

      • Offset: 0

  • POST /contacts

    • Function: This call is used to create contact details, including nickname, description, and contact ID.

    • Steps:

      • “Try it out”

      • Enter any Contact Nickname

      • Description

      • ContactBusinessID - can be obtained from the counterparty's Business Account Page

      • Execute

    • Required Parameters:

      • Nickname

      • Description

      • ContactBusinessID

    • Request Body:

      {

      "nickname": "Phil Test",
      "description": "Business contact",
      "contactId": "9063d3f4-1fe0-458b-b99b-14f75ec45d99"

      }

  • DELETE /contacts/{id}

    • Function: This call deletes a specific contact. The {id} is a variable for the contact's unique identifier.

    • Steps:

      • “Try it out”

      • Enter a Contact ID

      • Execute

    • Required Parameters:

      • ContactID which can be obtained in the previous call (GET /contacts)


Businesses

  • GET /businesses

    • Function: This call retrieves a list of all businesses.

    • Steps:

      • “Try it out”

      • Enter Any Optional Parameters

      • Execute

    • Optional Parameters:

      • SearchString: An optional search string to filter contacts by nickname or other attributes.

      • Limit: An optional limit for the number of contacts to retrieve. (10)

      • Offset: 0

    • Required inputs:

      • SearchString: Business name you are searching for, can be blank

  • GET /businesses/{id}

    • Function: This call retrieves the details of a specific business by its ID, which can be found via the previous call (GET /businesses)

    • Steps:

      • “Try it out”

      • Enter a BusinessID

      • Execute

    • Required inputs:

      • Business ID


AuditTrail

  • GET /audit-trail

    • Function: This call retrieves the audit trail for all activities. M2M users require permissions to complete this step.

    • Steps:​

      • “Try it out”

      • Execute


Approvals

  • GET /approvals/{id}

    • Function: This call retrieves the details of a specific approval request by its ID. If you don’t know your approval ID, it can be retrieved from the GET/approvals function below, OR from the transaction URL

    • Steps:​

      • “Try it out”

      • Enter your approval request ID

      • Execute

    • Required inputs:

      • Approval request ID (from transaction URL)

  • PATCH /approvals/{id}

    • Function: This call updates the status of a specific approval request.

    • Steps:

      • “Try it out”

      • Enter your approval request ID

      • Choose a status (approved, declined)

      • Execute

    • Required inputs:

      • Approval request ID

      • Status: “approved”, “declined”

  • GET /approvals

    • Function: This call retrieves a list of all approval requests from a workflow type (contact, programmable payment, directpay)

    • Steps:

      • “Try it out”

      • Choose a workflow Type (ie: directPay)

      • Execute

    • Required inputs:

      • Workflow Type (Use Dropdown)

Did this answer your question?