The Modulr Developer Hub

Welcome to the Modulr developer hub. You'll find comprehensive guides and documentation to help you start working with Modulr as quickly as possible.

Suggest Edits

Notifications

 
Suggest Edits

Get all Notifications for a Customer

Retrieve details of all notifications set up for a customer using the customer's ID as a reference

 

Header Auth

 Authentication is required for this endpoint.
gethttps://api-sandbox.modulrfinance.com/api-sandbox-token/customers/cid/notifications
curl --request GET \
  --url https://api-sandbox.modulrfinance.com/api-sandbox-token/customers/cid/notifications
var request = require("request");

var options = { method: 'GET',
  url: 'https://api-sandbox.modulrfinance.com/api-sandbox-token/customers/cid/notifications' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api-sandbox.modulrfinance.com/api-sandbox-token/customers/cid/notifications")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api-sandbox.modulrfinance.com/api-sandbox-token/customers/cid/notifications");

xhr.send(data);
import requests

url = "https://api-sandbox.modulrfinance.com/api-sandbox-token/customers/cid/notifications"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

cid
string
required

cid

Response

OK

Unauthorized

Forbidden

Not found

Suggest Edits

Set up a Notification for a Customer

Sets up a new notification for a customer using the customer's ID as a reference. Returns a notification ID that should be saved if the notification needs to be amended in the future

 

Header Auth

 Authentication is required for this endpoint.
posthttps://api-sandbox.modulrfinance.com/api-sandbox-token/customers/cid/notifications
curl --request POST \
  --url https://api-sandbox.modulrfinance.com/api-sandbox-token/customers/cid/notifications
var request = require("request");

var options = { method: 'POST',
  url: 'https://api-sandbox.modulrfinance.com/api-sandbox-token/customers/cid/notifications' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api-sandbox.modulrfinance.com/api-sandbox-token/customers/cid/notifications")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api-sandbox.modulrfinance.com/api-sandbox-token/customers/cid/notifications");

xhr.send(data);
import requests

url = "https://api-sandbox.modulrfinance.com/api-sandbox-token/customers/cid/notifications"

response = requests.request("POST", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

cid
string
required

cid

Body Params

channel
string
required

Channel used for sending the notification. Can be one of

config
object
required

Configuration information for this Notification entity.

 
config.daysToRun
array of strings

Days of the week when to trigger the notification. This attribute applies only to 'EMAIL' notifications channel, of type 'BALANCE'.

config.retry
boolean

Flag indicating whether failed webhooks should be retried. This attribute applies only to 'WEBHOOK' notifications channel.

config.secret
string

Mandatory for webhook. Secret that is used in HMAC calculation, for webhooks. This attribute applies only to 'WEBHOOK' notifications channel.

config.threshold
double

Amount threshold which triggers the notification. This attribute only applies to 'EMAIL' notifications channel, of type 'PAYIN', 'PAYOUT'.

config.timesToRun
array of strings

Times of the day when to trigger the notification. This attribute applies only to 'EMAIL' notifications channel, of type 'BALANCE'.

destinations
array of strings
required

The list of emails or url(webhook) used for sending the notification. For 'EMAIL' channel this can be a list of comma separated email addresses. For 'WEBHOOK' channel this should be a single URL.

type
string
required

Type of the notification. Can be one of

Response

Created

channelstring

Channel used to send the notification.

configobject

Configuration information for this Notification entity.

config.daysToRunarray

Days of the week when to trigger the notification. This attribute applies only to 'EMAIL' notifications channel, of type 'BALANCE'.

config.retryboolean

Flag indicating whether failed webhooks should be retried. This attribute applies only to 'WEBHOOK' notifications channel.

config.secretstring

Mandatory for webhook. Secret that is used in HMAC calculation, for webhooks. This attribute applies only to 'WEBHOOK' notifications channel.

config.thresholdnumber

Amount threshold which triggers the notification. This attribute only applies to 'EMAIL' notifications channel, of type 'PAYIN', 'PAYOUT'.

config.timesToRunarray

Times of the day when to trigger the notification. This attribute applies only to 'EMAIL' notifications channel, of type 'BALANCE'.

customerIdstring

Unique Identifier for the customer of this notification.

destinationsarray

A list of emails or webhooks used to send the notification.

idstring

Unique Identifier for the notification.

statusstring

Status of notification.

typestring

Type of notification. Can be one of

Bad request

Unauthorized

Forbidden

Not Found

Suggest Edits

Check if a particular webhook has failed

For some reason we decided to keep our old format for this endpoint and instead of using 'notifications' you need to use 'webhooks', request a specific webhook ID and specify you want to see failures. (Max 50)

 

Header Auth

 Authentication is required for this endpoint.
gethttps://api-sandbox.modulrfinance.com/api-sandbox-token/webhooks/id/failures
curl --request GET \
  --url 'https://api-sandbox.modulrfinance.com/api-sandbox-token/webhooks/id/failures?from=from'
var request = require("request");

var options = { method: 'GET',
  url: 'https://api-sandbox.modulrfinance.com/api-sandbox-token/webhooks/id/failures',
  qs: { from: 'from' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api-sandbox.modulrfinance.com/api-sandbox-token/webhooks/id/failures?from=from")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api-sandbox.modulrfinance.com/api-sandbox-token/webhooks/id/failures?from=from");

xhr.send(data);
import requests

url = "https://api-sandbox.modulrfinance.com/api-sandbox-token/webhooks/id/failures"

querystring = {"from":"from"}

response = requests.request("GET", url, params=querystring)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

Id of Webhook

Query Params

from
string
required

Failed since Date. Needs to be urlEncoded value

Response

OK

Unauthorized

Forbidden

Not Found

Suggest Edits

Retrieve a specific notification by unique reference for a specific customer

This allows you to see the settings for a particular notification that has been set up, for example if you want to check if it is active or the emails the notification is being sent to. It would be best practice to call this before updating a notification.

 

Header Auth

 Authentication is required for this endpoint.
gethttps://api-sandbox.modulrfinance.com/api-sandbox-token/customers/cid/notifications/id
curl --request GET \
  --url https://api-sandbox.modulrfinance.com/api-sandbox-token/customers/cid/notifications/id
var request = require("request");

var options = { method: 'GET',
  url: 'https://api-sandbox.modulrfinance.com/api-sandbox-token/customers/cid/notifications/id' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api-sandbox.modulrfinance.com/api-sandbox-token/customers/cid/notifications/id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api-sandbox.modulrfinance.com/api-sandbox-token/customers/cid/notifications/id");

xhr.send(data);
import requests

url = "https://api-sandbox.modulrfinance.com/api-sandbox-token/customers/cid/notifications/id"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

cid
string
required

cid

id
string
required

id

Response

OK

channelstring

Channel used to send the notification.

configobject

Configuration information for this Notification entity.

config.daysToRunarray

Days of the week when to trigger the notification. This attribute applies only to 'EMAIL' notifications channel, of type 'BALANCE'.

config.retryboolean

Flag indicating whether failed webhooks should be retried. This attribute applies only to 'WEBHOOK' notifications channel.

config.secretstring

Mandatory for webhook. Secret that is used in HMAC calculation, for webhooks. This attribute applies only to 'WEBHOOK' notifications channel.

config.thresholdnumber

Amount threshold which triggers the notification. This attribute only applies to 'EMAIL' notifications channel, of type 'PAYIN', 'PAYOUT'.

config.timesToRunarray

Times of the day when to trigger the notification. This attribute applies only to 'EMAIL' notifications channel, of type 'BALANCE'.

customerIdstring

Unique Identifier for the customer of this notification.

destinationsarray

A list of emails or webhooks used to send the notification.

idstring

Unique Identifier for the notification.

statusstring

Status of notification.

typestring

Type of notification. Can be one of

Unauthorized

Forbidden

Not found

Suggest Edits

Update a specific notification by unique reference for a specific customer

If you need to change anything about a particular notification, for example add an email address or make it inactive, then this is the endpoint to use. You need to put all of the information into this request for the notification even if it isn't changing, so either you will need to record this somewhere when you create the notification, or call the 'GET' request first.

 

Header Auth

 Authentication is required for this endpoint.
puthttps://api-sandbox.modulrfinance.com/api-sandbox-token/customers/cid/notifications/id
curl --request PUT \
  --url https://api-sandbox.modulrfinance.com/api-sandbox-token/customers/cid/notifications/id
var request = require("request");

var options = { method: 'PUT',
  url: 'https://api-sandbox.modulrfinance.com/api-sandbox-token/customers/cid/notifications/id' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api-sandbox.modulrfinance.com/api-sandbox-token/customers/cid/notifications/id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Put.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("PUT", "https://api-sandbox.modulrfinance.com/api-sandbox-token/customers/cid/notifications/id");

xhr.send(data);
import requests

url = "https://api-sandbox.modulrfinance.com/api-sandbox-token/customers/cid/notifications/id"

response = requests.request("PUT", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

cid
string
required

cid

id
string
required

id

Body Params

config
object
required

Configuration information for this Notification entity.

 
config.daysToRun
array of strings

Days of the week when to trigger the notification. This attribute applies only to 'EMAIL' notifications channel, of type 'BALANCE'.

config.retry
boolean

Flag indicating whether failed webhooks should be retried. This attribute applies only to 'WEBHOOK' notifications channel.

config.secret
string

Mandatory for webhook. Secret that is used in HMAC calculation, for webhooks. This attribute applies only to 'WEBHOOK' notifications channel.

config.threshold
double

Amount threshold which triggers the notification. This attribute only applies to 'EMAIL' notifications channel, of type 'PAYIN', 'PAYOUT'.

config.timesToRun
array of strings

Times of the day when to trigger the notification. This attribute applies only to 'EMAIL' notifications channel, of type 'BALANCE'.

destinations
array of strings
required

The list of emails or webhooks used for sending the notification.

status
string
required

Status of the notification. Can be one of

Response

OK

channelstring

Channel used to send the notification.

configobject

Configuration information for this Notification entity.

config.daysToRunarray

Days of the week when to trigger the notification. This attribute applies only to 'EMAIL' notifications channel, of type 'BALANCE'.

config.retryboolean

Flag indicating whether failed webhooks should be retried. This attribute applies only to 'WEBHOOK' notifications channel.

config.secretstring

Mandatory for webhook. Secret that is used in HMAC calculation, for webhooks. This attribute applies only to 'WEBHOOK' notifications channel.

config.thresholdnumber

Amount threshold which triggers the notification. This attribute only applies to 'EMAIL' notifications channel, of type 'PAYIN', 'PAYOUT'.

config.timesToRunarray

Times of the day when to trigger the notification. This attribute applies only to 'EMAIL' notifications channel, of type 'BALANCE'.

customerIdstring

Unique Identifier for the customer of this notification.

destinationsarray

A list of emails or webhooks used to send the notification.

idstring

Unique Identifier for the notification.

statusstring

Status of notification.

typestring

Type of notification. Can be one of

Created

Unauthorized

Forbidden

Not found

Suggest Edits

Inbound payments

 
Suggest Edits

Inbound payments - mock (Sandbox only)

Endpoint to mock the credit of an account

 

Header Auth

 Authentication is required for this endpoint.
posthttps://api-sandbox.modulrfinance.com/api-sandbox-token/credit
curl --request POST \
  --url https://api-sandbox.modulrfinance.com/api-sandbox-token/credit
var request = require("request");

var options = { method: 'POST',
  url: 'https://api-sandbox.modulrfinance.com/api-sandbox-token/credit' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api-sandbox.modulrfinance.com/api-sandbox-token/credit")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api-sandbox.modulrfinance.com/api-sandbox-token/credit");

xhr.send(data);
import requests

url = "https://api-sandbox.modulrfinance.com/api-sandbox-token/credit"

response = requests.request("POST", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Body Params

accountId
string
required

The account to be credited

amount
double
required

Amount of the payment in major current Units - '1' = 1.00 GBP

numberOfTransactions
int32

Number of credit transactions to create, defaults to 1

payerDetail
object

Payer details

 
payerDetail.address
object
 
payerDetail.address.addressLine1
string
required
payerDetail.address.addressLine2
string
payerDetail.address.country
string
required
payerDetail.address.postCode
string
required
payerDetail.address.postTown
string
required
payerDetail.identifier
object
 
payerDetail.identifier.accountNumber
string
payerDetail.identifier.bic
string
payerDetail.identifier.iban
string
payerDetail.identifier.sortCode
string
payerDetail.identifier.type
string
payerDetail.name
string
transactionDate
string

Date of credit in yyyy-MM-ddTHH:mm:ssZ format

type
string
required

Type of credit, values:

description
string
required

Description of the credit

Response

OK

Created

Unauthorized

Forbidden

Not Found

Suggest Edits

Get all Rules for a specific Account

The ability to get the details of all rules associated with the specified account using the Account ID as a reference. Can filter by a specific type using the type parameter.

 

Header Auth

 Authentication is required for this endpoint.
gethttps://api-sandbox.modulrfinance.com/api-sandbox-token/accounts/aid/rules
curl --request GET \
  --url https://api-sandbox.modulrfinance.com/api-sandbox-token/accounts/aid/rules
var request = require("request");

var options = { method: 'GET',
  url: 'https://api-sandbox.modulrfinance.com/api-sandbox-token/accounts/aid/rules' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api-sandbox.modulrfinance.com/api-sandbox-token/accounts/aid/rules")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api-sandbox.modulrfinance.com/api-sandbox-token/accounts/aid/rules");

xhr.send(data);
import requests

url = "https://api-sandbox.modulrfinance.com/api-sandbox-token/accounts/aid/rules"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

aid
string
required

Id of Account to get Rules of

Query Params

page
int32

Page to fetch (0 indexed)

size
int32

Size of Page to fetch

rtype
string

Filter to a specific RuleType

Response

OK

contentarray

List of responses on the current page

pageinteger

Current page number. Its 0 based. i.e firstpage =0, secondpage=1

sizeinteger

Page size

totalPagesinteger

Total pages

totalSizeinteger

Total count

Unauthorized

Forbidden

Not Found

Suggest Edits

Create a Rule

When you want a new rule on an account you can create one with this endpoint. Note that Rules are linked to an Account and each Account can only have one instance of a Rule type

 

Header Auth

 Authentication is required for this endpoint.
posthttps://api-sandbox.modulrfinance.com/api-sandbox-token/rules
curl --request POST \
  --url https://api-sandbox.modulrfinance.com/api-sandbox-token/rules
var request = require("request");

var options = { method: 'POST',
  url: 'https://api-sandbox.modulrfinance.com/api-sandbox-token/rules' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api-sandbox.modulrfinance.com/api-sandbox-token/rules")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api-sandbox.modulrfinance.com/api-sandbox-token/rules");

xhr.send(data);
import requests

url = "https://api-sandbox.modulrfinance.com/api-sandbox-token/rules"

response = requests.request("POST", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Body Params

accountId
string
required

The Account which the Rule is created on.

customerId
string

The Customer which the Rule is created on.

data
object
required

Complex object that describes the Rule. For Split Type, this is an array of splits, with each split having percent & destinationId. Sweep Type, this needs frequency & destinationId.

 
name
string
required

Rule's name

type
string
required

The type of Rule.Can be one of

Response

Created

accountIdstring

The Account which the Rule is created on.

customerIdstring

The Customer which the Rule is created on.

dataobject

Complex object that describes the Rule. For Split Type, this is an array of splits, with each split having percent & destinationId. Sweep Type, this needs frequency & destinationId.

idstring

Unique identifier for a Rule

namestring

Rule's name

typestring

The type of Rule.Can be one of

Validation errors

Unauthorized

Forbidden

Not Found

Suggest Edits

Delete a Rule

When you no longer want a rule on an account you can do it with this endpoint. You can delete more than one rule in the same request.

 

Header Auth

 Authentication is required for this endpoint.
deletehttps://api-sandbox.modulrfinance.com/api-sandbox-token/rules
curl --request DELETE \
  --url 'https://api-sandbox.modulrfinance.com/api-sandbox-token/rules?rIds=rIds'
var request = require("request");

var options = { method: 'DELETE',
  url: 'https://api-sandbox.modulrfinance.com/api-sandbox-token/rules',
  qs: { rIds: 'rIds' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api-sandbox.modulrfinance.com/api-sandbox-token/rules?rIds=rIds")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Delete.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("DELETE", "https://api-sandbox.modulrfinance.com/api-sandbox-token/rules?rIds=rIds");

xhr.send(data);
import requests

url = "https://api-sandbox.modulrfinance.com/api-sandbox-token/rules"

querystring = {"rIds":"rIds"}

response = requests.request("DELETE", url, params=querystring)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Query Params

rIds
array of strings
required

Id(s) of Rules to delete

Response

Successfully deleted single resource

No Content

Map of multiple responses for multi-request

argsarray
codestring
fieldstring
messagestring

Unauthorized

Forbidden

Suggest Edits

Retrieve a Rule by rule type on a specific account

You need to know the unique reference of the account and the rule type you want to get to information on

 

Header Auth

 Authentication is required for this endpoint.
gethttps://api-sandbox.modulrfinance.com/api-sandbox-token/accounts/aid/rules/rtype
curl --request GET \
  --url https://api-sandbox.modulrfinance.com/api-sandbox-token/accounts/aid/rules/rtype
var request = require("request");

var options = { method: 'GET',
  url: 'https://api-sandbox.modulrfinance.com/api-sandbox-token/accounts/aid/rules/rtype' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api-sandbox.modulrfinance.com/api-sandbox-token/accounts/aid/rules/rtype")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api-sandbox.modulrfinance.com/api-sandbox-token/accounts/aid/rules/rtype");

xhr.send(data);
import requests

url = "https://api-sandbox.modulrfinance.com/api-sandbox-token/accounts/aid/rules/rtype"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

aid
string
required

Id of Account to get Rule of

rtype
string
required

rtype

Response

OK

accountIdstring

The Account which the Rule is created on.

customerIdstring

The Customer which the Rule is created on.

dataobject

Complex object that describes the Rule. For Split Type, this is an array of splits, with each split having percent & destinationId. Sweep Type, this needs frequency & destinationId.

idstring

Unique identifier for a Rule

namestring

Rule's name

typestring

The type of Rule.Can be one of

Unauthorized

Forbidden

Not Found

Suggest Edits

Edit a specific Rule

The ability to modify the details of a specific rule based on the rule's unique reference.

 

Header Auth

 Authentication is required for this endpoint.
puthttps://api-sandbox.modulrfinance.com/api-sandbox-token/rules/rid
curl --request PUT \
  --url https://api-sandbox.modulrfinance.com/api-sandbox-token/rules/rid
var request = require("request");

var options = { method: 'PUT',
  url: 'https://api-sandbox.modulrfinance.com/api-sandbox-token/rules/rid' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api-sandbox.modulrfinance.com/api-sandbox-token/rules/rid")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Put.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("PUT", "https://api-sandbox.modulrfinance.com/api-sandbox-token/rules/rid");

xhr.send(data);
import requests

url = "https://api-sandbox.modulrfinance.com/api-sandbox-token/rules/rid"

response = requests.request("PUT", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

rid
string
required

Id of Rule to be edited

Body Params

accountId
string
required

The Account which the Rule is created on.

customerId
string

The Customer which the Rule is created on.

data
object
required

Complex object that describes the Rule. For Split Type, this is an array of splits, with each split having percent & destinationId. Sweep Type, this needs frequency & destinationId.

 
name
string
required

Rule's name

type
string
required

The type of Rule.Can be one of

Response

OK

accountIdstring

The Account which the Rule is created on.

customerIdstring

The Customer which the Rule is created on.

dataobject

Complex object that describes the Rule. For Split Type, this is an array of splits, with each split having percent & destinationId. Sweep Type, this needs frequency & destinationId.

idstring

Unique identifier for a Rule

namestring

Rule's name

typestring

The type of Rule.Can be one of

Created

Validation errors

Unauthorized

Forbidden

Not Found

Suggest Edits

Direct Debits

 
Suggest Edits

Get Mandates based on search criteria.

If trying to find one or several particular mandates, then you can narrow down your search by using the filters available here. These include the mandate id, either the submitted or created date range, the account name on the mandate, etc...

 

Header Auth

 Authentication is required for this endpoint.
gethttps://api-sandbox.modulrfinance.com/api-sandbox-token/mandates
curl --request GET \
  --url https://api-sandbox.modulrfinance.com/api-sandbox-token/mandates
var request = require("request");

var options = { method: 'GET',
  url: 'https://api-sandbox.modulrfinance.com/api-sandbox-token/mandates' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api-sandbox.modulrfinance.com/api-sandbox-token/mandates")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api-sandbox.modulrfinance.com/api-sandbox-token/mandates");

xhr.send(data);
import requests

url = "https://api-sandbox.modulrfinance.com/api-sandbox-token/mandates"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Query Params

id
array of strings

Id(s) of Mandate(s) to fetch.

accountId
array of strings

Id(s) of account to fetch Mandates for.

q
string

Mandate Id or Name or reference to search for

fromCreatedDate
string

Mandates created on or after this date.

toCreatedDate
string

Mandates created on or before this date.

fromSubmittedDate
string

Mandates submitted on or after this date.

toSubmittedDate
string

Mandates submitted on or before this date.

status
array of strings

Status of the Mandate

name
string

Account Name on the Mandate

reference
string

reference of the Mandate

externalReference
string

externalReference of the Mandate

sortField
string

Sort by field

sortOrder
string

Sort order

page
int32

Page to fetch (zero-indexed)

size
int32

Size of page to fetch.

Response

OK

contentarray

List of responses on the current page

pageinteger

Current page number. Its 0 based. i.e firstpage =0, secondpage=1

sizeinteger

Page size

totalPagesinteger

Total pages

totalSizeinteger

Total count

Unauthorized

Forbidden

Not Found

Suggest Edits

Get all collectionschedules for a mandate

By supplying the mandate id you can view all information regarding the collection schedules linked to that mandate.

 

Header Auth

 Authentication is required for this endpoint.
gethttps://api-sandbox.modulrfinance.com/api-sandbox-token/collectionschedules
curl --request GET \
  --url https://api-sandbox.modulrfinance.com/api-sandbox-token/collectionschedules
var request = require("request");

var options = { method: 'GET',
  url: 'https://api-sandbox.modulrfinance.com/api-sandbox-token/collectionschedules' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api-sandbox.modulrfinance.com/api-sandbox-token/collectionschedules")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api-sandbox.modulrfinance.com/api-sandbox-token/collectionschedules");

xhr.send(data);
import requests

url = "https://api-sandbox.modulrfinance.com/api-sandbox-token/collectionschedules"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Query Params

mandateId
string

Mandate Id to fetch collections for.

sortField
string

Sort by field

sortOrder
string

Sort order

page
int32

Page to fetch (zero-indexed)

size
int32

Size of page to fetch.

Response

OK

contentarray

List of responses on the current page

pageinteger

Current page number. Its 0 based. i.e firstpage =0, secondpage=1

sizeinteger

Page size

totalPagesinteger

Total pages

totalSizeinteger

Total count

Unauthorized

Forbidden

Not Found

Suggest Edits

Create a Direct Debit mandate for the given account-id.

Setting up a Mandate is the first step in creating a Direct Debit. You can only set up scheduled payments ('collections') after there is a Mandate created with the details of the payee.

 

Header Auth

 Authentication is required for this endpoint.
posthttps://api-sandbox.modulrfinance.com/api-sandbox-token/accounts/id/mandates
curl --request POST \
  --url https://api-sandbox.modulrfinance.com/api-sandbox-token/accounts/id/mandates
var request = require("request");

var options = { method: 'POST',
  url: 'https://api-sandbox.modulrfinance.com/api-sandbox-token/accounts/id/mandates' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api-sandbox.modulrfinance.com/api-sandbox-token/accounts/id/mandates")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api-sandbox.modulrfinance.com/api-sandbox-token/accounts/id/mandates");

xhr.send(data);
import requests

url = "https://api-sandbox.modulrfinance.com/api-sandbox-token/accounts/id/mandates"

response = requests.request("POST", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

Id of account to create Direct Debit for.

Body Params

accountName
string
required
accountNumber
string
required
address
object
 
address.addressLine1
string
required
address.addressLine2
string
address.country
string
required
address.postCode
string
required
address.postTown
string
required
email
string
externalReference
string
name
string
required
phone
string
required
reference
string
required
sortCode
string
required

Response

OK

accountIdstring

Unique id for account for this mandate.

accountNumberstring

Account Number for which direct-debit-mandate has been created.

addressobject
address.addressLine1string
address.addressLine2string
address.countrystring
address.postCodestring
address.postTownstring
createdDatestring

Datetime when direct-debit-mandate was created.Format is 'yyyy-MM-dd'T'HH:mm:ssZ' where Z is UTC offset. e.g 2017-01-28T01:01:01+0000

externalReferencestring

External reference that was used during creation (appears on the bank statement).

idstring

Unique id for direct-debit-mandate.

namestring
nextValidCollectionDatestring

The earliest date a collection can be created. Format is yyyy-MM-dd.

referencestring

DDI reference that was used during creation.

sortCodestring

Sort Code of the account for which direct-debit-mandate has been created.

statusstring

Status of the direct-debit-mandate. mandates must be 'ACTIVE' to make collections. Can be one of

Created

Validation errors

Unauthorized

Forbidden

Not Found

Suggest Edits

Cancel a Direct Debit collection schedule for the given collection-id.

 

Header Auth

 Authentication is required for this endpoint.
posthttps://api-sandbox.modulrfinance.com/api-sandbox-token/collectionschedules/id/cancel
curl --request POST \
  --url https://api-sandbox.modulrfinance.com/api-sandbox-token/collectionschedules/id/cancel
var request = require("request");

var options = { method: 'POST',
  url: 'https://api-sandbox.modulrfinance.com/api-sandbox-token/collectionschedules/id/cancel' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api-sandbox.modulrfinance.com/api-sandbox-token/collectionschedules/id/cancel")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api-sandbox.modulrfinance.com/api-sandbox-token/collectionschedules/id/cancel");

xhr.send(data);
import requests

url = "https://api-sandbox.modulrfinance.com/api-sandbox-token/collectionschedules/id/cancel"

response = requests.request("POST", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

Id of the collectionSchedule to cancel

Response

CollectionSchedule cancelled

Created

Validation errors

Unauthorized

Forbidden

Not Found

Suggest Edits

Get all collection activities of an account

Once a collection schedule has been set up any collections that have happened (successful or not) can be viewed. There is no pagination (although the enclosing response structure indicates pagination); 'page' value will always be zero.

 

Header Auth

 Authentication is required for this endpoint.
gethttps://api-sandbox.modulrfinance.com/api-sandbox-token/collections
curl --request GET \
  --url https://api-sandbox.modulrfinance.com/api-sandbox-token/collections
var request = require("request");

var options = { method: 'GET',
  url: 'https://api-sandbox.modulrfinance.com/api-sandbox-token/collections' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api-sandbox.modulrfinance.com/api-sandbox-token/collections")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api-sandbox.modulrfinance.com/api-sandbox-token/collections");

xhr.send(data);
import requests

url = "https://api-sandbox.modulrfinance.com/api-sandbox-token/collections"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Query Params

accountId
string

Account Id to fetch collections items for.

mandateId
string

Id of mandate whose the collection to fetch.

type
string

type of collection to fetch

startDate
string

Collection activities happened on or after this date

endDate
string

Collection item activities happened on or before this date

Response

OK

contentarray

List of responses on the current page

pageinteger

Current page number. Its 0 based. i.e firstpage =0, secondpage=1

sizeinteger

Page size

totalPagesinteger

Total pages

totalSizeinteger

Total count

Unauthorized

Forbidden

Not Found

Suggest Edits

Suspend Mandate for given mandate-id.

You can suspend a mandate, which means nothing can be done to it (added or amended). There is also the option to cancel all scheduled payments at the same time. There is a call to re-instate the mandate if needed.

 

Header Auth

 Authentication is required for this endpoint.
posthttps://api-sandbox.modulrfinance.com/api-sandbox-token/mandates/id/suspend
curl --request POST \
  --url https://api-sandbox.modulrfinance.com/api-sandbox-token/mandates/id/suspend
var request = require("request");

var options = { method: 'POST',
  url: 'https://api-sandbox.modulrfinance.com/api-sandbox-token/mandates/id/suspend' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api-sandbox.modulrfinance.com/api-sandbox-token/mandates/id/suspend")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api-sandbox.modulrfinance.com/api-sandbox-token/mandates/id/suspend");

xhr.send(data);
import requests

url = "https://api-sandbox.modulrfinance.com/api-sandbox-token/mandates/id/suspend"

response = requests.request("POST", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

Id of Mandate to suspend.

Body Params

cancelAllScheduledPayments
boolean
reason
string
required

Response

Mandate suspended.

Created

Validation errors.

Unauthorized

Forbidden

Not Found

Suggest Edits

Create the collection schedule for the given mandate-id.

Creates a Direct Debit collection schedule; the agreed to framework for the collections for the given mandate-id. This could be a single collection or multiple and includes the frequency and amounts of the planned payments.

 

Header Auth

 Authentication is required for this endpoint.
posthttps://api-sandbox.modulrfinance.com/api-sandbox-token/mandates/id/collectionschedules
curl --request POST \
  --url https://api-sandbox.modulrfinance.com/api-sandbox-token/mandates/id/collectionschedules
var request = require("request");

var options = { method: 'POST',
  url: 'https://api-sandbox.modulrfinance.com/api-sandbox-token/mandates/id/collectionschedules' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api-sandbox.modulrfinance.com/api-sandbox-token/mandates/id/collectionschedules")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api-sandbox.modulrfinance.com/api-sandbox-token/mandates/id/collectionschedules");

xhr.send(data);
import requests

url = "https://api-sandbox.modulrfinance.com/api-sandbox-token/mandates/id/collectionschedules"

response = requests.request("POST", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

Id of mandate to create collection for.

Body Params

currency
string
required
externalReference
string
firstPaymentAmount
double
firstPaymentDate
string
frequency
string
required
numberOfPayments
int32
required
regularPaymentAmount
double
regularPaymentStartDate
string

Response

OK

createdDatestring

Datetime when direct-debit collection was created.Format is 'yyyy-MM-dd'T'HH:mm:ssZ' where Z is UTC offset. e.g 2017-01-28T01:01:01+0000

externalReferencestring
firstPaymentAmountnumber

Amount of the first collection payment

firstPaymentDatestring

Date of the first collection payment. Format is yyyy-MM-dd.

frequencystring

Frequency for direct-debit collection

idstring

Unique id for direct-debit collection.

numberOfPaymentsinteger

Number of payments for direct-debit collection

regularPaymentAmountnumber

Amount of the regular collection payments

regularPaymentStartDatestring

Start date of the regular collection payment. Format is yyyy-MM-dd.

statusstring

Status of the direct-debit collection. Can be one of

Created

Validation errors

Unauthorized

Forbidden

Not Found

Suggest Edits

Reinstate Mandate for given mandate-id.

Reinstate Mandate for given mandate-id.

 

Header Auth

 Authentication is required for this endpoint.
posthttps://api-sandbox.modulrfinance.com/api-sandbox-token/mandates/id/reinstate
curl --request POST \
  --url https://api-sandbox.modulrfinance.com/api-sandbox-token/mandates/id/reinstate
var request = require("request");

var options = { method: 'POST',
  url: 'https://api-sandbox.modulrfinance.com/api-sandbox-token/mandates/id/reinstate' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api-sandbox.modulrfinance.com/api-sandbox-token/mandates/id/reinstate")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api-sandbox.modulrfinance.com/api-sandbox-token/mandates/id/reinstate");

xhr.send(data);
import requests

url = "https://api-sandbox.modulrfinance.com/api-sandbox-token/mandates/id/reinstate"

response = requests.request("POST", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

Id of Mandate to reinstate.

Body Params

reason
string
required

Response

Mandate reinstated.

Created

Validation errors.

Unauthorized

Forbidden

Not Found

Suggest Edits

Customers

 
Suggest Edits

Retrieve Customers using filters

Either using unique references, such as Customer ID, or filter parameters, such as verification status, get details of any Customers found.

 

Header Auth

 Authentication is required for this endpoint.
gethttps://api-sandbox.modulrfinance.com/api-sandbox-token/customers
curl --request GET \
  --url https://api-sandbox.modulrfinance.com/api-sandbox-token/customers
var request = require("request");

var options = { method: 'GET',
  url: 'https://api-sandbox.modulrfinance.com/api-sandbox-token/customers' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api-sandbox.modulrfinance.com/api-sandbox-token/customers")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api-sandbox.modulrfinance.com/api-sandbox-token/customers");

xhr.send(data);
import requests

url = "https://api-sandbox.modulrfinance.com/api-sandbox-token/customers"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Query Params

id
array of strings

Id of Customer(s) to fetch

q
string

Id or name or external reference of customer to search for

type
string

Type to filter

verificationStatus
string

Verification Status to filter

fromCreatedDate
string

Customers created after and on this date. Format is 'yyyy-MM-dd'T'HH:mm:ssZ' where Z is UTC offset. e.g 2017-01-28T01:01:01+0000

toCreatedDate
string

Customers created before and on this date. Format is 'yyyy-MM-dd'T'HH:mm:ssZ' where Z is UTC offset. e.g 2017-01-28T01:01:01+0000

page
int32

Page to fetch (0 indexed)

size
int32

Size of Page to fetch

sortField
string

Sort by field

sortOrder
string

Sorting order

Response

OK

contentarray

List of responses on the current page

pageinteger

Current page number. Its 0 based. i.e firstpage =0, secondpage=1

sizeinteger

Page size

totalPagesinteger

Total pages

totalSizeinteger

Total count

Unauthorized

Forbidden

Not Found

Suggest Edits

Create a new Customer

This endpoint allows you to create a new customer. The Customer object is quite large as a lot of information is needed to create one, including any people assosiated with the Customer such as directors (this changes depending on the type of legal entity the company is). Although the object is named 'Company' an individual can also be created.

 

Header Auth

 Authentication is required for this endpoint.
posthttps://api-sandbox.modulrfinance.com/api-sandbox-token/customers
curl --request POST \
  --url https://api-sandbox.modulrfinance.com/api-sandbox-token/customers
var request = require("request");

var options = { method: 'POST',
  url: 'https://api-sandbox.modulrfinance.com/api-sandbox-token/customers' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api-sandbox.modulrfinance.com/api-sandbox-token/customers")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api-sandbox.modulrfinance.com/api-sandbox-token/customers");

xhr.send(data);
import requests

url = "https://api-sandbox.modulrfinance.com/api-sandbox-token/customers"

response = requests.request("POST", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Body Params

associates
array of objects

List of associates

applicant
dateOfBirth
documentInfo
email
firstName
homeAddress 
lastName
middleName
ownership
phone
type
documentInfo
array of objects

information on uploaded documents

fileName
path
uploadedDate
expectedMonthlySpend
int32
required
externalReference
string
industryCode
string

Mandatory for all types except for 'INDIVIDUAL'

registeredAddress
object

Registered address

 
registeredAddress.addressLine1
string
registeredAddress.addressLine2
string
registeredAddress.country
string
registeredAddress.postCode
string
registeredAddress.postTown
string
tcsVersion
int32
required
tradingAddress
object

Trading address. Mandatory for all types except for 'INDIVIDUAL'

 
tradingAddress.addressLine1
string
tradingAddress.addressLine2
string
tradingAddress.country
string
tradingAddress.postCode
string
tradingAddress.postTown
string
type
string
required
name
string

AlphaNumeric characters plus [ _ ' @ , & £ $ € ¥ = # % ‘ ’ : ; \ / < > « » ! ‘ “ ” . ? - *{ } + % ( )]. Mandatory for all types except 'INDIVIDUAL'

companyRegNumber
string

Company registration number

Response

Created

associatesarray

Array of associate objects that link to the Customer. For example, this could contain the details of the company directors for a Limited company, or or the partners for a partnership.

companyRegNumberstring

The company registration / incorporation number of the company. Only applicable for companies registered with Companies House

createdDatestring

Datetime when the customer was created.Format is 'yyyy-MM-dd'T'HH:mm:ssZ' where Z is UTC offset. e.g 2017-01-28T01:01:01+0000

documentInfoarray

Array of document objects that relate to the Customer being created. Examples of Documents could be proof of a Company Director's identity or address, Articles of Association or a Partnership Agreement.

expectedMonthlySpendinteger

Indication of the monthly spend of the customer.

externalReferencestring
idstring

Unique identifier for a Customer. Begins with 'C'

industryCodestring
namestring

Customer's company name - must be unique across the Modulr platform.

registeredAddressobject

The address of the company's registered office.

registeredAddress.addressLine1string
registeredAddress.addressLine2string
registeredAddress.countrystring
registeredAddress.postCodestring
registeredAddress.postTownstring
statusstring

Status of the Customer. Customers must be 'Active' for Accounts to be created for them. Can be:

tcsVersioninteger

Version of the Modulr Account Terms and Conditions the Customer has agreed to.

tradingAddressobject

The address of the company's day-to-day trading activities.

tradingAddress.addressLine1string
tradingAddress.addressLine2string
tradingAddress.countrystring
tradingAddress.postCodestring
tradingAddress.postTownstring
typestring

The type of Customer - accepted values are:

verificationStatusstring

How the identity of the Customer has been verified. Can be:

Validation errors

Unauthorized

Forbidden

Not Found

Suggest Edits

Retrieve a specific Customer using a unique Customer reference

Either using unique references, such as Customer ID, or filter parameters, such as verification status, get details of any Customers found.

 

Header Auth

 Authentication is required for this endpoint.
gethttps://api-sandbox.modulrfinance.com/api-sandbox-token/customers/cid
curl --request GET \
  --url https://api-sandbox.modulrfinance.com/api-sandbox-token/customers/cid
var request = require("request");

var options = { method: 'GET',
  url: 'https://api-sandbox.modulrfinance.com/api-sandbox-token/customers/cid' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api-sandbox.modulrfinance.com/api-sandbox-token/customers/cid")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api-sandbox.modulrfinance.com/api-sandbox-token/customers/cid");

xhr.send(data);
import requests

url = "https://api-sandbox.modulrfinance.com/api-sandbox-token/customers/cid"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

cid
string
required

cid

Response

OK

associatesarray

Array of associate objects that link to the Customer. For example, this could contain the details of the company directors for a Limited company, or or the partners for a partnership.

companyRegNumberstring

The company registration / incorporation number of the company. Only applicable for companies registered with Companies House

createdDatestring

Datetime when the customer was created.Format is 'yyyy-MM-dd'T'HH:mm:ssZ' where Z is UTC offset. e.g 2017-01-28T01:01:01+0000

documentInfoarray

Array of document objects that relate to the Customer being created. Examples of Documents could be proof of a Company Director's identity or address, Articles of Association or a Partnership Agreement.

expectedMonthlySpendinteger

Indication of the monthly spend of the customer.

externalReferencestring
idstring

Unique identifier for a Customer. Begins with 'C'

industryCodestring
namestring

Customer's company name - must be unique across the Modulr platform.

registeredAddressobject

The address of the company's registered office.

registeredAddress.addressLine1string
registeredAddress.addressLine2string
registeredAddress.countrystring
registeredAddress.postCodestring
registeredAddress.postTownstring
statusstring

Status of the Customer. Customers must be 'Active' for Accounts to be created for them. Can be:

tcsVersioninteger

Version of the Modulr Account Terms and Conditions the Customer has agreed to.

tradingAddressobject

The address of the company's day-to-day trading activities.

tradingAddress.addressLine1string
tradingAddress.addressLine2string
tradingAddress.countrystring
tradingAddress.postCodestring
tradingAddress.postTownstring
typestring

The type of Customer - accepted values are:

verificationStatusstring

How the identity of the Customer has been verified. Can be:

Unauthorized

Forbidden

Not Found

Suggest Edits

Edit a specific Customer using a unique Customer reference

Using the unique references (Customer ID), you are able to change the alias of the Customer.

 

Header Auth

 Authentication is required for this endpoint.
puthttps://api-sandbox.modulrfinance.com/api-sandbox-token/customers/cid
curl --request PUT \
  --url https://api-sandbox.modulrfinance.com/api-sandbox-token/customers/cid
var request = require("request");

var options = { method: 'PUT',
  url: 'https://api-sandbox.modulrfinance.com/api-sandbox-token/customers/cid' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api-sandbox.modulrfinance.com/api-sandbox-token/customers/cid")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Put.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("PUT", "https://api-sandbox.modulrfinance.com/api-sandbox-token/customers/cid");

xhr.send(data);
import requests

url = "https://api-sandbox.modulrfinance.com/api-sandbox-token/customers/cid"

response = requests.request("PUT", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

cid
string
required

Id of Customer to be edited

Body Params

externalReference
string

Response

OK

associatesarray

Array of associate objects that link to the Customer. For example, this could contain the details of the company directors for a Limited company, or or the partners for a partnership.

companyRegNumberstring

The company registration / incorporation number of the company. Only applicable for companies registered with Companies House

createdDatestring

Datetime when the customer was created.Format is 'yyyy-MM-dd'T'HH:mm:ssZ' where Z is UTC offset. e.g 2017-01-28T01:01:01+0000

documentInfoarray

Array of document objects that relate to the Customer being created. Examples of Documents could be proof of a Company Director's identity or address, Articles of Association or a Partnership Agreement.

expectedMonthlySpendinteger

Indication of the monthly spend of the customer.

externalReferencestring
idstring

Unique identifier for a Customer. Begins with 'C'

industryCodestring
namestring

Customer's company name - must be unique across the Modulr platform.

registeredAddressobject

The address of the company's registered office.

registeredAddress.addressLine1string
registeredAddress.addressLine2string
registeredAddress.countrystring
registeredAddress.postCodestring
registeredAddress.postTownstring
statusstring

Status of the Customer. Customers must be 'Active' for Accounts to be created for them. Can be:

tcsVersioninteger

Version of the Modulr Account Terms and Conditions the Customer has agreed to.

tradingAddressobject

The address of the company's day-to-day trading activities.

tradingAddress.addressLine1string
tradingAddress.addressLine2string
tradingAddress.countrystring
tradingAddress.postCodestring
tradingAddress.postTownstring
typestring

The type of Customer - accepted values are:

verificationStatusstring

How the identity of the Customer has been verified. Can be:

Created

Unauthorized

Forbidden

Not Found

 
Suggest Edits

Retrieve details of a Batch Payment

As well as supporting individual payment requests, the Modulr payment platform can also handle multiple payment objects in the same request. This endpoint is to get the details of a batch payment that has already been created, via the unique reference that was in the response to the original batch payment request.

 

Header Auth

 Authentication is required for this endpoint.
gethttps://api-sandbox.modulrfinance.com/api-sandbox-token/batchpayments/id
curl --request GET \
  --url https://api-sandbox.modulrfinance.com/api-sandbox-token/batchpayments/id
var request = require("request");

var options = { method: 'GET',
  url: 'https://api-sandbox.modulrfinance.com/api-sandbox-token/batchpayments/id' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api-sandbox.modulrfinance.com/api-sandbox-token/batchpayments/id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api-sandbox.modulrfinance.com/api-sandbox-token/batchpayments/id");

xhr.send(data);
import requests

url = "https://api-sandbox.modulrfinance.com/api-sandbox-token/batchpayments/id"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

id given when batch request was made

Response

OK

externalReferencestring

external reference if provided

idstring

Unique id for the Batch Payment. 10 characters long

paymentResponsesarray
statusstring

Current status of batch. Can be one of

summaryobject

Unauthorized

Forbidden

Not Found

Suggest Edits

Retrieve Payments

The ability to get the details of payments using various pieces of information, e.g. using Account ID, retrieve all payments in that account. Can get details of one particular payment based on the unique payment reference number.

 

Header Auth

 Authentication is required for this endpoint.
gethttps://api-sandbox.modulrfinance.com/api-sandbox-token/payments
curl --request GET \
  --url https://api-sandbox.modulrfinance.com/api-sandbox-token/payments
var request = require("request");

var options = { method: 'GET',
  url: 'https://api-sandbox.modulrfinance.com/api-sandbox-token/payments' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api-sandbox.modulrfinance.com/api-sandbox-token/payments")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api-sandbox.modulrfinance.com/api-sandbox-token/payments");

xhr.send(data);
import requests

url = "https://api-sandbox.modulrfinance.com/api-sandbox-token/payments"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Query Params

id
string

Payment id. If specified then all other parameters are ignored

fromCreatedDate
string

Payments created date equal or after to this date. Mandatory Parameter(except when 'id' or 'modifiedSince' parameter is used)

toCreatedDate
string

Payments created date equal or before to this date

modifiedSince
string

Payments modified date equal or before to this date

sourceAccountId
string

sourceAccountId

externalReference
string

externalReference

status
array of strings

Payment status, multiple statuses can be specified by repeating the parameter

page
int32

Page to fetch (0 indexed)

size
int32

Size of Page to fetch

Response

OK

contentarray

List of responses on the current page

pageinteger

Current page number. Its 0 based. i.e firstpage =0, secondpage=1

sizeinteger

Page size

totalPagesinteger

Total pages

totalSizeinteger

Total count

Unauthorized

Forbidden

Not Found

Suggest Edits

Create a Payment

Supports both Payments to external bank accounts via Faster Payments and transfers to other Modulr accounts. Requests to Payments are asynchronous.

 

Header Auth

 Authentication is required for this endpoint.
posthttps://api-sandbox.modulrfinance.com/api-sandbox-token/payments
curl --request POST \
  --url https://api-sandbox.modulrfinance.com/api-sandbox-token/payments
var request = require("request");

var options = { method: 'POST',
  url: 'https://api-sandbox.modulrfinance.com/api-sandbox-token/payments' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api-sandbox.modulrfinance.com/api-sandbox-token/payments")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api-sandbox.modulrfinance.com/api-sandbox-token/payments");

xhr.send(data);
import requests

url = "https://api-sandbox.modulrfinance.com/api-sandbox-token/payments"

response = requests.request("POST", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Body Params

amount
double
required

Amount of the payment in Major Current Units - '1' = 1.00 GBP

currency
string

Currency of the account in ISO 4217 format. Default is GBP

destination
object

Destination of the Payment

 
destination.accountNumber
string

Account Number of destination account if using SCAN type.

destination.iban
string
destination.id
string

Identifier for the Payment destination if using ACCOUNT or BENEFICIARY type. Can be either: a) Beneficiary id for an external Payment, b) Account id for a transfer to another Account

destination.name
string

Name for new destination beneficiary if one is created.

destination.sortCode
string

Sort Code of destination account if using SCAN type.

destination.type
string
required

Indicates the type of destination. Can be one of

externalReference
string

Your reference for this payment

reference
string

Reference to be used for the Payment. This will appear on the Account statement/the recipient's bank account. Min 6 to max 18 characters. Can contain alphanumeric, '-', '.', '&', '/' and space.

sourceAccountId
string
required

Identifier for the sending Account.

Response

PaymentReference

approvalStatusstring

Current approval status of payment. Can be one of

messagestring

Information about payment (if available)

schemeInfoobject

Information with regards to the payment scheme

schemeInfo.idstring
schemeInfo.messagestring
schemeInfo.namestring
schemeInfo.responseCodestring
idstring

Unique id for the Payment request. 10 characters long

statusstring

Current status of payment. Can be one of

createdDatestring

Datetime the request was created.Format is 'yyyy-MM-dd'T'HH:mm:ssZ' where Z is UTC offset. e.g '2017-01-28T01:01:01+0000'

externalReferencestring

external reference if provided

detailsobject

All the details of the payment from the original request

Validation errors

Unauthorized

Forbidden

Not Found

Suggest Edits

Make a Batch Payment

As well as supporting individual payment requests, the Modulr payment platform can also handle multiple payment objects in the same request. This endpoint allows you to make a new batch payment.

 

Header Auth

 Authentication is required for this endpoint.
posthttps://api-sandbox.modulrfinance.com/api-sandbox-token/batchpayments
curl --request POST \
  --url https://api-sandbox.modulrfinance.com/api-sandbox-token/batchpayments
var request = require("request");

var options = { method: 'POST',
  url: 'https://api-sandbox.modulrfinance.com/api-sandbox-token/batchpayments' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api-sandbox.modulrfinance.com/api-sandbox-token/batchpayments")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api-sandbox.modulrfinance.com/api-sandbox-token/batchpayments");

xhr.send(data);
import requests

url = "https://api-sandbox.modulrfinance.com/api-sandbox-token/batchpayments"

response = requests.request("POST", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Body Params

externalReference
string

Your reference for this Batch of payments

payments
array of objects
required

Lists of payments. Need atleast 1 and maximum of 1000

amount
currency
destination 
externalReference
reference
sourceAccountId
strictProcessing
boolean

Flag to control if the entire batch fails for any individual payment validation failure

Response

BatchPaymentReference

externalReferencestring

external reference if provided

idstring

Unique id for the Batch Payment. 10 characters long

paymentResponsesarray
statusstring

Current status of batch. Can be one of

summaryobject

Validation errors

Unauthorized

Forbidden

Not Found

 
Suggest Edits

Get an account

Retrieve details of a particular account using its ID as a reference

 

Header Auth

 Authentication is required for this endpoint.
gethttps://api-sandbox.modulrfinance.com/api-sandbox-token/accounts/id
curl --request GET \
  --url https://api-sandbox.modulrfinance.com/api-sandbox-token/accounts/id
var request = require("request");

var options = { method: 'GET',
  url: 'https://api-sandbox.modulrfinance.com/api-sandbox-token/accounts/id' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api-sandbox.modulrfinance.com/api-sandbox-token/accounts/id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api-sandbox.modulrfinance.com/api-sandbox-token/accounts/id");

xhr.send(data);
import requests

url = "https://api-sandbox.modulrfinance.com/api-sandbox-token/accounts/id"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

Id of Account to fetch

Response

OK

balancestring

Balance of the account in format 'NN.NN'

createdDatestring

Datetime when the account was created. Format is 'yyyy-MM-dd'T'HH:mm:ssZ' where Z is UTC offset. e.g 2017-01-28T01:01:01+0000

currencystring

Currency of the account in ISO 4217 format

customerIdstring

Unique id of the Customer

customerNamestring

Customer Name

externalReferencestring

Your reference for an account

idstring

Unique id for the account

identifiersarray
namestring

Name for the account

statusstring

Status of the account. Accounts must be 'ACTIVE' to make and receive payments. Can be one of

Unauthorized

Forbidden

Not Found

Suggest Edits

Edit an Account

Edit details of a particular account using its ID as a reference

 

Header Auth

 Authentication is required for this endpoint.
puthttps://api-sandbox.modulrfinance.com/api-sandbox-token/accounts/id
curl --request PUT \
  --url https://api-sandbox.modulrfinance.com/api-sandbox-token/accounts/id
var request = require("request");

var options = { method: 'PUT',
  url: 'https://api-sandbox.modulrfinance.com/api-sandbox-token/accounts/id' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api-sandbox.modulrfinance.com/api-sandbox-token/accounts/id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Put.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("PUT", "https://api-sandbox.modulrfinance.com/api-sandbox-token/accounts/id");

xhr.send(data);
import requests

url = "https://api-sandbox.modulrfinance.com/api-sandbox-token/accounts/id"

response = requests.request("PUT", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

Id of Account to be edited

Body Params

externalReference
string

Response

OK

balancestring

Balance of the account in format 'NN.NN'

createdDatestring

Datetime when the account was created. Format is 'yyyy-MM-dd'T'HH:mm:ssZ' where Z is UTC offset. e.g 2017-01-28T01:01:01+0000

currencystring

Currency of the account in ISO 4217 format

customerIdstring

Unique id of the Customer

customerNamestring

Customer Name

externalReferencestring

Your reference for an account

idstring

Unique id for the account

identifiersarray
namestring

Name for the account

statusstring

Status of the account. Accounts must be 'ACTIVE' to make and receive payments. Can be one of

Created

Validation errors

Unauthorized

Forbidden

Not Found

Suggest Edits

Unblock a specific account

Using a unique reference (account id) you can unblock an account

 

Header Auth

 Authentication is required for this endpoint.
posthttps://api-sandbox.modulrfinance.com/api-sandbox-token/accounts/id/unblock
curl --request POST \
  --url https://api-sandbox.modulrfinance.com/api-sandbox-token/accounts/id/unblock
var request = require("request");

var options = { method: 'POST',
  url: 'https://api-sandbox.modulrfinance.com/api-sandbox-token/accounts/id/unblock' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api-sandbox.modulrfinance.com/api-sandbox-token/accounts/id/unblock")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api-sandbox.modulrfinance.com/api-sandbox-token/accounts/id/unblock");

xhr.send(data);
import requests

url = "https://api-sandbox.modulrfinance.com/api-sandbox-token/accounts/id/unblock"

response = requests.request("POST", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

Id of Account to unblock

Response

OK

Created

Validation errors

Unauthorized

Forbidden

Not Found

Suggest Edits

Get Accounts by Customer

Get details of accounts belonging to a particular customer using the customer’s ID as a reference

 

Header Auth

 Authentication is required for this endpoint.
gethttps://api-sandbox.modulrfinance.com/api-sandbox-token/customers/cid/accounts
curl --request GET \
  --url https://api-sandbox.modulrfinance.com/api-sandbox-token/customers/cid/accounts
var request = require("request");

var options = { method: 'GET',
  url: 'https://api-sandbox.modulrfinance.com/api-sandbox-token/customers/cid/accounts' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api-sandbox.modulrfinance.com/api-sandbox-token/customers/cid/accounts")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api-sandbox.modulrfinance.com/api-sandbox-token/customers/cid/accounts");

xhr.send(data);
import requests

url = "https://api-sandbox.modulrfinance.com/api-sandbox-token/customers/cid/accounts"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

cid
string
required

Id of Customer to fetch Accounts for

Query Params

minBalance
double

Accounts with balance equal or more than this amount

maxBalance
double

Accounts with balance equal or less than this amount

fromCreatedDate
string

Accounts created after and on this date. Format is 'yyyy-MM-dd'T'HH:mm:ssZ' where Z is UTC offset. e.g 2017-01-28T01:01:01+0000

toCreatedDate
string

Accounts created before and on this date. Format is 'yyyy-MM-dd'T'HH:mm:ssZ' where Z is UTC offset. e.g 2017-01-28T01:01:01+0000

page
int32

Page to fetch (0 indexed)

size
int32

Size of Page to fetch

sortField
string

Sort by field

sortOrder
string

Sorting order

Response

OK

contentarray

List of responses on the current page

pageinteger

Current page number. Its 0 based. i.e firstpage =0, secondpage=1

sizeinteger

Page size

totalPagesinteger

Total pages

totalSizeinteger

Total count

Unauthorized

Forbidden

Not Found

Suggest Edits

Create Account by Customer

Creates an account for a particular customer using the customer’s ID as a reference

 

Header Auth

 Authentication is required for this endpoint.
posthttps://api-sandbox.modulrfinance.com/api-sandbox-token/customers/cid/accounts
curl --request POST \
  --url https://api-sandbox.modulrfinance.com/api-sandbox-token/customers/cid/accounts
var request = require("request");

var options = { method: 'POST',
  url: 'https://api-sandbox.modulrfinance.com/api-sandbox-token/customers/cid/accounts' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api-sandbox.modulrfinance.com/api-sandbox-token/customers/cid/accounts")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api-sandbox.modulrfinance.com/api-sandbox-token/customers/cid/accounts");

xhr.send(data);
import requests

url = "https://api-sandbox.modulrfinance.com/api-sandbox-token/customers/cid/accounts"

response = requests.request("POST", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

cid
string
required

Id of Customer to create account for

Body Params

currency
string
required
externalReference
string
productCode
string

Product associated with the account. Contact your account manager for correct code to use.

Response

Created

balancestring

Balance of the account in format 'NN.NN'

createdDatestring

Datetime when the account was created. Format is 'yyyy-MM-dd'T'HH:mm:ssZ' where Z is UTC offset. e.g 2017-01-28T01:01:01+0000

currencystring

Currency of the account in ISO 4217 format

customerIdstring

Unique id of the Customer

customerNamestring

Customer Name

externalReferencestring

Your reference for an account

idstring

Unique id for the account

identifiersarray
namestring

Name for the account

statusstring

Status of the account. Accounts must be 'ACTIVE' to make and receive payments. Can be one of

Validation errors

Unauthorized

Forbidden

Not Found

Suggest Edits

Close an Account

When you no longer want or need an account you are able to close using the Account ID as a unique reference.

 

Header Auth

 Authentication is required for this endpoint.
posthttps://api-sandbox.modulrfinance.com/api-sandbox-token/accounts/id/close
curl --request POST \
  --url https://api-sandbox.modulrfinance.com/api-sandbox-token/accounts/id/close
var request = require("request");

var options = { method: 'POST',
  url: 'https://api-sandbox.modulrfinance.com/api-sandbox-token/accounts/id/close' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api-sandbox.modulrfinance.com/api-sandbox-token/accounts/id/close")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api-sandbox.modulrfinance.com/api-sandbox-token/accounts/id/close");

xhr.send(data);
import requests

url = "https://api-sandbox.modulrfinance.com/api-sandbox-token/accounts/id/close"

response = requests.request("POST", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

Id of Account to close

Response

OK

Created

Unauthorized

Forbidden

Not Found

Suggest Edits

Get accounts using filters

Gives the ability to find accounts and get their details using filters

 

Header Auth

 Authentication is required for this endpoint.
gethttps://api-sandbox.modulrfinance.com/api-sandbox-token/accounts
curl --request GET \
  --url https://api-sandbox.modulrfinance.com/api-sandbox-token/accounts
var request = require("request");

var options = { method: 'GET',
  url: 'https://api-sandbox.modulrfinance.com/api-sandbox-token/accounts' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api-sandbox.modulrfinance.com/api-sandbox-token/accounts")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api-sandbox.modulrfinance.com/api-sandbox-token/accounts");

xhr.send(data);
import requests

url = "https://api-sandbox.modulrfinance.com/api-sandbox-token/accounts"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Query Params

id
array of strings

Id of Account(s) to fetch

q
string

Id or Name of Account to search for

minBalance
double

Accounts with balance equal or more than this amount

maxBalance
double

Accounts with balance equal or less than this amount

fromCreatedDate
string

Accounts created after and on this date. Format is 'yyyy-MM-dd'T'HH:mm:ssZ' where Z is UTC offset. e.g 2017-01-28T01:01:01+0000

toCreatedDate
string

Accounts created before and on this date. Format is 'yyyy-MM-dd'T'HH:mm:ssZ' where Z is UTC offset. e.g 2017-01-28T01:01:01+0000

identifierType
string

Accounts that contain this identifier type

page
int32

Page to fetch (0 indexed)

size
int32

Size of Page to fetch

sortField
string

Sort by field

sortOrder
string

Sorting order

Response

OK

contentarray

List of responses on the current page

pageinteger

Current page number. Its 0 based. i.e firstpage =0, secondpage=1

sizeinteger

Page size

totalPagesinteger

Total pages

totalSizeinteger

Total count

Unauthorized

Forbidden

Not Found

Suggest Edits

Block a specific account

Using a unique reference (account id) you can block an account

 

Header Auth

 Authentication is required for this endpoint.
posthttps://api-sandbox.modulrfinance.com/api-sandbox-token/accounts/id/block
curl --request POST \
  --url https://api-sandbox.modulrfinance.com/api-sandbox-token/accounts/id/block
var request = require("request");

var options = { method: 'POST',
  url: 'https://api-sandbox.modulrfinance.com/api-sandbox-token/accounts/id/block' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api-sandbox.modulrfinance.com/api-sandbox-token/accounts/id/block")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api-sandbox.modulrfinance.com/api-sandbox-token/accounts/id/block");

xhr.send(data);
import requests

url = "https://api-sandbox.modulrfinance.com/api-sandbox-token/accounts/id/block"

response = requests.request("POST", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

Id of Account to block

Response

OK

Created

Validation errors

Unauthorized

Forbidden

Not Found

Suggest Edits

Beneficiaries

 
Suggest Edits

Retrieve Beneficiaries

The ability to get the details of beneficiaries using various pieces of information, e.g. using Customer ID, retrieve all beneficiaries created by that customer. Can get details of one particular beneficiary based on the unique beneficiary reference number.

 

Header Auth

 Authentication is required for this endpoint.
gethttps://api-sandbox.modulrfinance.com/api-sandbox-token/beneficiaries
curl --request GET \
  --url https://api-sandbox.modulrfinance.com/api-sandbox-token/beneficiaries
var request = require("request");

var options = { method: 'GET',
  url: 'https://api-sandbox.modulrfinance.com/api-sandbox-token/beneficiaries' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api-sandbox.modulrfinance.com/api-sandbox-token/beneficiaries")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api-sandbox.modulrfinance.com/api-sandbox-token/beneficiaries");

xhr.send(data);
import requests

url = "https://api-sandbox.modulrfinance.com/api-sandbox-token/beneficiaries"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Query Params

id
array of strings

Id of Beneficiary(s) to fetch

customerId
string

Filter by Customer Id

page
int32

Page to fetch (0 indexed)

size
int32

Size of Page to fetch

createdDate
date-time

Created date

partialName
string

Partial name

sortCode
string

Sort code

accountNumber
string

Account number

modifiedSince
string

Beneficiaries modified after this date time

externalReference
string

External reference for beneficiary

Response

OK

contentarray

List of responses on the current page

pageinteger

Current page number. Its 0 based. i.e firstpage =0, secondpage=1

sizeinteger

Page size

totalPagesinteger

Total pages

totalSizeinteger

Total count

Unauthorized

Forbidden

Not Found

Suggest Edits

Create a new Beneficiary for a specified Customer

The ability to create a new beneficiary for a Customer, using their Customer ID as a reference.

 

Header Auth

 Authentication is required for this endpoint.
posthttps://api-sandbox.modulrfinance.com/api-sandbox-token/customers/cid/beneficiaries
curl --request POST \
  --url https://api-sandbox.modulrfinance.com/api-sandbox-token/customers/cid/beneficiaries
var request = require("request");

var options = { method: 'POST',
  url: 'https://api-sandbox.modulrfinance.com/api-sandbox-token/customers/cid/beneficiaries' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api-sandbox.modulrfinance.com/api-sandbox-token/customers/cid/beneficiaries")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api-sandbox.modulrfinance.com/api-sandbox-token/customers/cid/beneficiaries");

xhr.send(data);
import requests

url = "https://api-sandbox.modulrfinance.com/api-sandbox-token/customers/cid/beneficiaries"

response = requests.request("POST", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

cid
string
required

Id of Customer to create Beneficiary for

Body Params

address
object

Optional address. Mandatory if destinationIdentifier type is IBAN

 
address.addressLine1
string
address.addressLine2
string
address.country
string
address.postCode
string
address.postTown
string
defaultReference
string
required
destinationIdentifier
object
required
 
destinationIdentifier.accountNumber
string
destinationIdentifier.bic
string
destinationIdentifier.iban
string
destinationIdentifier.sortCode
string
destinationIdentifier.type
string
externalReference
string
idToReplace
string
name
string
required

Response

Created

accountIdstring

Id of the account if this beneficiary is a Modulr account, null otherwise

addressobject

address of the beneficiary

address.addressLine1string
address.addressLine2string
address.countrystring
address.postCodestring
address.postTownstring
approvalRequiredboolean

Indicates if the beneficiary creation is pending approval

createdstring

Datetime the Beneficiary was created.Format is 'yyyy-MM-dd'T'HH:mm:ssZ' where Z is UTC offset. e.g 2017-01-28T01:01:01+0000

customerIdstring

Id of the customer than owns this beneficiary

defaultReferencestring

Default reference used for payments to the Beneficiary.

destinationIdentifierobject
destinationIdentifier.accountNumberstring

Bank account Sort Code

destinationIdentifier.sortCodestring

Bank account Sort Code

externalReferencestring

External system reference for the Beneficiary

idstring

Unique reference for the Beneficiary.

namestring

Name for the Beneficiary

statusstring

Status of the Beneficiary. Can be:

updatedstring

Datetime the Beneficiary was last updated.Format is 'yyyy-MM-dd'T'HH:mm:ssZ' where Z is UTC offset. e.g 2017-01-28T01:01:01+0000

Validation errors

Unauthorized

Forbidden

Not Found

Suggest Edits

Delete Beneficiaries for a specified Customer

Deleting beneficiaries for a Customer, using their customer ID.

 

Header Auth

 Authentication is required for this endpoint.
deletehttps://api-sandbox.modulrfinance.com/api-sandbox-token/customers/cid/beneficiaries
curl --request DELETE \
  --url 'https://api-sandbox.modulrfinance.com/api-sandbox-token/customers/cid/beneficiaries?bid=bid'
var request = require("request");

var options = { method: 'DELETE',
  url: 'https://api-sandbox.modulrfinance.com/api-sandbox-token/customers/cid/beneficiaries',
  qs: { bid: 'bid' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api-sandbox.modulrfinance.com/api-sandbox-token/customers/cid/beneficiaries?bid=bid")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Delete.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("DELETE", "https://api-sandbox.modulrfinance.com/api-sandbox-token/customers/cid/beneficiaries?bid=bid");

xhr.send(data);
import requests

url = "https://api-sandbox.modulrfinance.com/api-sandbox-token/customers/cid/beneficiaries"

querystring = {"bid":"bid"}

response = requests.request("DELETE", url, params=querystring)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

cid
string
required

Id of Customer to delete Beneficiaries for

Query Params

bid
array of strings
required

Id(s) of Beneficiaries to delete, must owned by customer and active

Response

Successfully deleted single resource

argsarray
codestring
fieldstring
messagestring

No Content

Map of multiple responses for multi-request

argsarray
codestring
fieldstring
messagestring

Unauthorized

Forbidden

Suggest Edits

Transactions

 
Suggest Edits

Get Transactions for a specific Account

Retrieves the last 6 months of transactions (successful payments in & out) of an account, specified by a unique account reference.

 

Header Auth

 Authentication is required for this endpoint.
gethttps://api-sandbox.modulrfinance.com/api-sandbox-token/accounts/id/transactions
curl --request GET \
  --url https://api-sandbox.modulrfinance.com/api-sandbox-token/accounts/id/transactions
var request = require("request");

var options = { method: 'GET',
  url: 'https://api-sandbox.modulrfinance.com/api-sandbox-token/accounts/id/transactions' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api-sandbox.modulrfinance.com/api-sandbox-token/accounts/id/transactions")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api-sandbox.modulrfinance.com/api-sandbox-token/accounts/id/transactions");

xhr.send(data);
import requests

url = "https://api-sandbox.modulrfinance.com/api-sandbox-token/accounts/id/transactions"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

Id of Account to fetch Transactions for

Query Params

page
int32

Page to fetch (0 indexed)

size
int32

Size of Page to fetch

q
string

Partial description text to search for

minAmount
double

Transactions with amount equal or more than this amount

maxAmount
double

Transactions with amount equal or less than this amount

fromTransactionDate
string

Transactions with transaction date equal or after to this date. Format is 'yyyy-MM-dd'T'HH:mm:ssZ' where Z is UTC offset. e.g 2017-01-28T01:01:01+0000

toTransactionDate
string

Transactions with transaction date equal or before to this date. Format is 'yyyy-MM-dd'T'HH:mm:ssZ' where Z is UTC offset. e.g 2017-01-28T01:01:01+0000

fromPostedDate
string

Transactions with posted date equal or after to this date

toPostedDate
string

Transactions with posted date equal or before to this date. Format is 'yyyy-MM-dd'T'HH:mm:ssZ' where Z is UTC offset. e.g 2017-01-28T01:01:01+0000

type
array of strings

Transactions of this type, multiple types can be specified by repeating the parameter

credit
boolean

If true only credit transactions will be returned, if false, only debit transactions will be returned

sourceId
string

Transactions with this sourceId

Response

OK

contentarray

List of responses on the current page

pageinteger

Current page number. Its 0 based. i.e firstpage =0, secondpage=1

pageStartBalancenumber
sizeinteger

Page size

totalPagesinteger

Total pages

totalSizeinteger

Total count

Unauthorized

Forbidden

Not Found