Quant Overledger API (2.0)

Download OpenAPI specification:Download

Quant’s Overledger API allows developers to create applications for multiple DLT’s using a single standard set of operations and data structures.In order to maintain the security of private keys, most operations have two steps – prepare and execute. The prepare step is the point at which all arguments are specified and standardised payloads are sent. Overledger converts this standard payload into a DLT-specific transaction object. In the execute step, the SDK signs the transaction object that Overledger created and submits it to Overledger to perform the operation

Authentication

OAuth2_Security_Scheme

This API uses OAuth 2 with the Client Credential grant flow.

Security Scheme Type OAuth2
clientCredentials OAuth Flow
Token URL: https://OVL 2.0
Scopes:
  • aws.cognito.signin.user.admin -

    Grants access to all the User Pool APIs that can be accessed using access tokens alone.

  • phone -

    Grants returning the phone claim, which contains the user's phone number, and phone_number_verified.

  • openid -

    Grants an application to use OIDC to verify the user's identity.

  • profile -

    Grants returning basic profile information.

  • overledger/read.scope -

    Grants read access to Overledger.

  • email -

    Grants returning the email claim, which contains the user's email address, and email_verified.

Create Transaction

Execute a transaction on the DLT

Takes a request ID and submits a signed transaction to the requested DLT.

Request
Security:
OAuth2_Security_Scheme (overledger/read.scope)
header Parameters
Authorization
required
string [ 0 .. 1024 ] characters ^Bearer [A-Za-z0-9\-_. ]{1,1024}$
Request Body schema: application/json
requestId
required
string [ 0 .. 36 ] characters ^[A-Za-z0-9-]{1,36}$

The ID assigned to a preparation request in Overledger

signed
required
string [ 0 .. 400 ] characters ^[A-Za-z0-9-]{1,400}$

The raw data after transaction signing

Responses
200

All good!

401

Unauthorised

404

Not Found

500

Something went wrong on our side

post/v2/execution/transaction
Request samples
application/json

Execute Transaction

{
  • "requestId": "79763168-a4f9-42bf-9f10-2e08491136a7",
  • "signed": "0xf8a9398501ef4f86e682a0c294f9cd6c86992fce1481dbc4bdb7e1b101c1e8cee280b844a9059cbb000000000000000000000000d8b31b65878a6b1a6caf9f4819c1a42d68a7a11600000000000000000000000000000000000000000000000000038d7ea4c6800029a088680bffd2eb74053e968ac8bcd1f76beaa61b353d8616a8cc559e57685080bea07a77b7591f09290fbb9cda5263471e8a9ca46f4c7b30d6a4885e583771d809f5"
}
Response samples
application/json

Bitcoin

{
  • "urgency": "normal",
  • "requestId": "5d4935ae-d395-4cc7-a7e6-3777127cfd09",
  • "overledgerTransactionId": "ac71c2f4-ab67-434f-b83a-4514ce10847a",
  • "location": {
    },
  • "type": "payment",
  • "transactionId": "320034aa1ea43541fcdcfa65ef7e127c19935b532bc59f92ad227370011d9cef",
  • "status": {
    }
}

Prepare a DLT transaction for signing

Transforms a transaction request into a payload ready for signing for the requested DLT and returns a request ID for executing. Supported transaction types in this release are “Payment” (to send payments) and “Smart Contract Invoke” (to invoke arbitrary smart contract functions)

Request
Security:
OAuth2_Security_Scheme (overledger/read.scope)
header Parameters
Authorization
required
string [ 0 .. 1024 ] characters ^Bearer [A-Za-z0-9\-_. ]{1,1024}$
Request Body schema: application/json
One of:
urgency
string [ 0 .. 30 ] characters ^[A-Za-z ]{1,30}
object (PaymentRequestDetailsSchema)
object (Location)

Unique reference to the ledger on a particular ledger network (optionally accessed from a particular node)

type
string [ 0 .. 30 ] characters ^[A-Za-z ]{1,30}
Responses
200

All good!

400

Bad Request

401

Unauthorised

500

Something went wrong on our side

post/v2/preparation/transaction
Request samples
application/json

ERC20 Payment

{
  • "urgency": "normal",
  • "requestDetails": {
    },
  • "location": {
    },
  • "type": "PAYMENT"
}
Response samples
application/json

Prepare Response

{
  • "gatewayFee": {
    },
  • "requestId": "e566fab4-141d-445e-8c3c-e936c553cc99",
  • "dltFee": {
    },
  • "nativeData": {
    }
}

Prepare a DLT native transaction

Allows advanced developers to submit their own DLT native transactions via Overledger. Returns a request ID for executing a DLT native transaction on the requested DLT

Request
Security:
OAuth2_Security_Scheme (overledger/read.scope)
header Parameters
Authorization
required
string [ 0 .. 1024 ] characters ^Bearer [A-Za-z0-9\-_. ]{1,1024}$
Request Body schema: application/json
object (Location)

Unique reference to the ledger on a particular ledger network (optionally accessed from a particular node)

type
string [ 0 .. 30 ] characters ^[A-Za-z ]{1,30}

The type of the object

Responses
200

All good!

401

Unauthorised

500

Something went wrong on our side

post/v2/preparation/nativetransaction
Request samples
application/json

Native Transaction

{
  • "location": {
    },
  • "type": "Native Transaction"
}
Response samples
application/json

Prepare Response

{
  • "gatewayFee": {
    },
  • "requestId": "13765b06-eaf3-4f02-acb4-b7e9da8b0380"
}

Execute a native transaction on the DLT

Takes a request ID and submits a signed native transaction to the requested DLT

Request
Security:
OAuth2_Security_Scheme (overledger/read.scope)
header Parameters
Authorization
required
string [ 0 .. 1024 ] characters ^Bearer [A-Za-z0-9\-_. ]{1,1024}$
Request Body schema: application/json
requestId
required
string [ 0 .. 36 ] characters ^[A-Za-z0-9-]{1,36}$

The ID assigned to a preparation request in Overledger

signed
required
string [ 0 .. 400 ] characters ^[A-Za-z0-9-]{1,400}$

The raw data after transaction signing

Responses
200

All good!

401

Unauthorised

404

Not Found

500

Something went wrong on our side

post/v2/execution/nativetransaction
Request samples
application/json

Execute Native Transaction

{
  • "requestId": "79763168-a4f9-42bf-9f10-2e08491136a7",
  • "signed": "0xf8a9398501ef4f86e682a0c294f9cd6c86992fce1481dbc4bdb7e1b101c1e8cee280b844a9059cbb000000000000000000000000d8b31b65878a6b1a6caf9f4819c1a42d68a7a11600000000000000000000000000000000000000000000000000038d7ea4c6800029a088680bffd2eb74053e968ac8bcd1f76beaa61b353d8616a8cc559e57685080bea07a77b7591f09290fbb9cda5263471e8a9ca46f4c7b30d6a4885e583771d809f5"
}
Response samples
application/json

Execute Response

{
  • "requestId": "242284e2-e53e-4c28-b74c-e5b2c5fa7399",
  • "overledgerTransactionId": "dded55c2-a0fb-4e7b-8f95-771332c32507",
  • "location": {
    },
  • "type": "Native Transaction",
  • "transactionId": "0x05b4b5cf07013acfed5a2ffbfc51c4d16e920cfbcc86d68ed71a3a418b9a110e",
  • "status": {
    }
}

Execute a search for a transaction on a DLT

Takes a request ID and searches for the transaction on the requested DLT

Request
Security:
OAuth2_Security_Scheme (overledger/read.scope)
query Parameters
requestId
required
string [ 0 .. 36 ] characters ^[A-Za-z0-9-]{1,36}$
header Parameters
Authorization
required
string [ 0 .. 1024 ] characters ^Bearer [A-Za-z0-9\-_. ]{1,1024}$
Responses
200

All good!

400

Bad Request

401

Unauthorised

404

Not Found

500

Something went wrong on our side

post/v2/execution/search/transaction
Request samples
const fetch = require('node-fetch');

const query = new URLSearchParams({requestId: 'string'}).toString();

const resp = await fetch(
  `https://ovl/%202.0/v2/execution/search/transaction?${query}`,
  {
    method: 'POST',
    headers: {
      Authorization: 'Bearer <YOUR_TOKEN_HERE>'
    }
  }
);

const data = await resp.text();
console.log(data);
Response samples
application/json

Execute Response

{
  • "location": {
    },
  • "type": "PAYMENT",
  • "transaction": {
    },
  • "timestamp": {
    },
  • "status": {
    }
}

Prepare a search for a transaction on a DLT

Searches for and returns data on transactions on a particular DLT. Returns a request ID for executing a transaction search on the requested DLT

Request
Security:
OAuth2_Security_Scheme (overledger/read.scope)
query Parameters
transactionId
required
string [ 0 .. 100 ] characters ^[a-zA-Z0-9]{1,100}$
header Parameters
Authorization
required
string [ 0 .. 1024 ] characters ^Bearer [A-Za-z0-9\-_. ]{1,1024}$
Request Body schema: application/json
object (Location)

Unique reference to the ledger on a particular ledger network (optionally accessed from a particular node)

Responses
200

All good!

401

Unauthorised

500

Something went wrong on our side

post/v2/preparation/search/transaction
Request samples
application/json

Transaction Search

{
  • "location": {
    }
}
Response samples
application/json

Prepare Response

{
  • "gatewayFee": {
    },
  • "requestId": "13765b06-eaf3-4f02-acb4-b7e9da8b0380"
}

mDapp Transaction Query

Retrieve a list of transactions created by your application in Overledger

Returns a list of transactions and the corresponding Overledger Transaction ID your application has created in Overledger. Does not require a Prepare step, as this data is held within Overledger, rather than on the DLT

Request
Security:
OAuth2_Security_Scheme (overledger/read.scope)
query Parameters
offset
integer <int32>
Default: 0
length
integer <int32>
Default: 25
header Parameters
Authorization
required
string [ 0 .. 1024 ] characters ^Bearer [A-Za-z0-9\-_. ]{1,1024}$
Responses
200

All good!

401

Unauthorised

500

Something went wrong on our side

get/v2/mdapptransactions
Request samples
const fetch = require('node-fetch');

const query = new URLSearchParams({
  offset: '0',
  length: '25'
}).toString();

const resp = await fetch(
  `https://ovl/%202.0/v2/mdapptransactions?${query}`,
  {
    method: 'GET',
    headers: {
      Authorization: 'Bearer <YOUR_TOKEN_HERE>'
    }
  }
);

const data = await resp.text();
console.log(data);
Response samples
application/json

List Overledger Transactions

[
  • {
    },
  • {
    }
]

Retrieve information about a specific transaction created by your application in Overledger

Returns information for a specific transaction based on a given Overledger Transaction ID. Does not require a Prepare step, as this data is held within Overledger, rather than on the DLT

Request
Security:
OAuth2_Security_Scheme (overledger/read.scope)
path Parameters
overledgertransactionid
required
string [ 0 .. 36 ] characters ^[a-zA-Z0-9\-]{1,36}$
header Parameters
Authorization
required
string [ 0 .. 1024 ] characters ^Bearer [A-Za-z0-9\-_. ]{1,1024}$
Responses
200

All good!

401

Unauthorised

404

Not Found

500

Something went wrong on our side

get/v2/mdapptransaction/{overledgertransactionid}
Request samples
const fetch = require('node-fetch');

const overledgertransactionid = 'YOUR_overledgertransactionid_PARAMETER';
const resp = await fetch(
  `https://ovl/%202.0/v2/mdapptransaction/${overledgertransactionid}`,
  {
    method: 'GET',
    headers: {
      Authorization: 'Bearer <YOUR_TOKEN_HERE>'
    }
  }
);

const data = await resp.text();
console.log(data);
Response samples
application/json

Overledger Transaction

{
  • "clientId": "66vioicl7k3kh99thp3g4vgsl7",
  • "requestId": "a3a091d3-6718-4e77-afb5-0cd3ffc266bf",
  • "overledgerTransactionId": "c849b101-dd64-4100-a809-7812cf64dbcb",
  • "location": {
    },
  • "transactionHistory": [
    ],
  • "type": "Contract Invoke",
  • "transactionId": "0x401ab7fafc12b97d63ec825de6557b8f13b077373e1bb4ded62b4b263c0a2e23",
  • "status": {
    }
}

Monitor a Resource

Monitor an address for incoming and outgoing transactions

Overledger creates a tracking record for the given address and records information each time the given address receives or sends transactions on the DLT

Request
Security:
OAuth2_Security_Scheme (overledger/read.scope)
header Parameters
Authorization
required
string [ 0 .. 1024 ] characters ^Bearer [A-Za-z0-9\-_. ]{1,1024}$
Request Body schema: application/json
callBackURL
string [ 0 .. 300 ] characters ^http[\S\s]{1,300}$
object (Location)

Unique reference to the ledger on a particular ledger network (optionally accessed from a particular node)

addressId
string [ 0 .. 200 ] characters ^[a-zA-Z0-9]{1,100}$
Responses
200

All good!

401

Unauthorised

500

Something went wrong on our side

post/v2/resourcemonitoring/address
Request samples
application/json

Monitor Address

{
  • "location": {
    },
  • "addressId": "0xd8b31B65878a6B1a6cAf9f4819C1A42d68a7A116"
}
Response samples
application/json

Create Resource Monitoring

{
  • "subscriptionDetails": {
    },
  • "resourceMonitoring": {
    },
  • "subscription": {}
}

Monitor a smart contract for an event

Overledger creates a tracking record for the given smart contract and records information each time a transaction on the DLT triggers a specific event

Request
Security:
OAuth2_Security_Scheme (overledger/read.scope)
header Parameters
Authorization
required
string [ 0 .. 1024 ] characters ^Bearer [A-Za-z0-9\-_. ]{1,1024}$
Request Body schema: application/json
callBackURL
string [ 0 .. 300 ] characters ^http[\S\s]{1,300}$
Array of objects (MonitorSmartContractEventParam)
eventName
string [ 0 .. 100 ] characters ^[a-zA-Z0-9 ]{1,100}$
object (Location)

Unique reference to the ledger on a particular ledger network (optionally accessed from a particular node)

smartContractId
string [ 0 .. 100 ] characters ^[a-zA-Z0-9,_ ]{1,100}$
Responses
200

All good!

401

Unauthorised

500

Something went wrong on our side

post/v2/resourcemonitoring/smartcontractevent
Request samples
application/json

Monitor Smart Contract

{
  • "eventParams": [
    ],
  • "eventName": "mul",
  • "location": {
    },
  • "smartContractId": "0x8781d54e454377451D9C6928538Db544Caa65CDf"
}
Response samples
application/json

Create Smart Contract Monitoring

{
  • "subscriptionDetails": {
    },
  • "resourceMonitoring": {
    },
  • "subscription": {}
}

Manage Monitored Resources

Retrieve a list of smart contracts being monitored

Returns a list of smart contracts being monitored for your application and the corresponding Resource Monitoring ID

Request
Security:
OAuth2_Security_Scheme (overledger/read.scope)
header Parameters
Authorization
required
string [ 0 .. 1024 ] characters ^Bearer [A-Za-z0-9\-_. ]{1,1024}$
Responses
200

All good!

401

Unauthorised

500

Something went wrong on our side

get/v2/resourcemonitoring/smartcontractevents
Request samples
const fetch = require('node-fetch');

const resp = await fetch(
  `https://ovl/%202.0/v2/resourcemonitoring/smartcontractevents`,
  {
    method: 'GET',
    headers: {
      Authorization: 'Bearer <YOUR_TOKEN_HERE>'
    }
  }
);

const data = await resp.text();
console.log(data);
Response samples
application/json

List Resource Monitoring

[
  • {
    }
]

Retrieve a list of all resources being monitored

Returns a list of all of the resources being monitored for your application and the corresponding Resource Monitoring ID

Request
Security:
OAuth2_Security_Scheme (overledger/read.scope)
header Parameters
Authorization
required
string [ 0 .. 1024 ] characters ^Bearer [A-Za-z0-9\-_. ]{1,1024}$
Responses
200

All good!

401

Unauthorised

500

Something went wrong on our side

get/v2/resourcemonitoring
Request samples
const fetch = require('node-fetch');

const resp = await fetch(
  `https://ovl/%202.0/v2/resourcemonitoring`,
  {
    method: 'GET',
    headers: {
      Authorization: 'Bearer <YOUR_TOKEN_HERE>'
    }
  }
);

const data = await resp.text();
console.log(data);
Response samples
application/json

List Resource Monitoring

[
  • {
    }
]

Update the monitoring status of a smart contract

Updates the resource monitoring status to be either active or inactive for the given Resource Monitoring ID. Updating the status to be inactive will pause Overledger recording updates for the requested smart contract

Request
Security:
OAuth2_Security_Scheme (overledger/read.scope)
path Parameters
resourceMonitoringId
required
string [ 0 .. 36 ] characters ^[a-zA-Z0-9-]{1,36}$
header Parameters
Authorization
required
string [ 0 .. 1024 ] characters ^Bearer [A-Za-z0-9\-_. ]{1,1024}$
Request Body schema: application/json
object (StatusUpdateSchema)
Responses
200

All good!

401

Unauthorised

500

Something went wrong on our side

patch/v2/resourcemonitoring/smartcontractevent/{resourceMonitoringId}
Request samples
application/json

Update Monitoring

{
  • "statusUpdate": {
    }
}
Response samples
application/json

Update Monitoring

{
  • "smartContractEventMonitoringDetails": {
    },
  • "resourceMonitoring": {
    }
}

Retrieve recorded updates for a specific monitored smart contract

Returns the update information recorded in Overledger for asmart contract being monitored by your application for a given Resource Monitoring ID

Request
Security:
OAuth2_Security_Scheme (overledger/read.scope)
path Parameters
resourceMonitoringId
required
string [ 0 .. 36 ] characters ^[a-zA-Z0-9-]{1,36}$
header Parameters
Authorization
required
string [ 0 .. 1024 ] characters ^Bearer [A-Za-z0-9\-_. ]{1,1024}$
Responses
200

All good!

401

Unauthorised

500

Something went wrong on our side

get/v2/resourcemonitoring/smartcontractevent/{resourceMonitoringId}
Request samples
const fetch = require('node-fetch');

const resourceMonitoringId = 'YOUR_resourceMonitoringId_PARAMETER';
const resp = await fetch(
  `https://ovl/%202.0/v2/resourcemonitoring/smartcontractevent/${resourceMonitoringId}`,
  {
    method: 'GET',
    headers: {
      Authorization: 'Bearer <YOUR_TOKEN_HERE>'
    }
  }
);

const data = await resp.text();
console.log(data);
Response samples
application/json

Get Resource Monitoring Details

{
  • "smartContractEventHistory": [ ],
  • "smartContractEventDetails": {
    },
  • "location": {
    },
  • "type": "Smart Contract Event",
  • "status": {
    },
  • "timestamp": "2021-09-22T12:46:19.810922Z"
}

Stop monitoring a smart contract

Deletes the tracking record in Overledger to stop Overledger from recording updates for a smart contract based on the given Resource Monitoring ID

Request
Security:
OAuth2_Security_Scheme (overledger/read.scope)
path Parameters
resourceMonitoringId
required
string [ 0 .. 36 ] characters ^[a-zA-Z0-9-]{1,36}$
header Parameters
Authorization
required
string [ 0 .. 1024 ] characters ^Bearer [A-Za-z0-9\-_. ]{1,1024}$
Responses
200

All good!

401

Unauthorised

500

Something went wrong on our side

delete/v2/resourcemonitoring/smartcontractevent/{resourceMonitoringId}
Request samples
const fetch = require('node-fetch');

const resourceMonitoringId = 'YOUR_resourceMonitoringId_PARAMETER';
const resp = await fetch(
  `https://ovl/%202.0/v2/resourcemonitoring/smartcontractevent/${resourceMonitoringId}`,
  {
    method: 'DELETE',
    headers: {
      Authorization: 'Bearer <YOUR_TOKEN_HERE>'
    }
  }
);

const data = await resp.text();
console.log(data);
Response samples
application/json

Update Monitoring

{
  • "smartContractEventMonitoringDetails": {
    },
  • "resourceMonitoring": {
    }
}

Update the monitoring status of an address

Updates the resource monitoring status to be either active or inactive for the given Resource Monitoring ID. Updating the status to beinactive will pause Overledger recording updates for the requested address

Request
Security:
OAuth2_Security_Scheme (overledger/read.scope)
path Parameters
resourceMonitoringId
required
string [ 0 .. 36 ] characters ^[a-zA-Z0-9-]{1,36}$
header Parameters
Authorization
required
string [ 0 .. 1024 ] characters ^Bearer [A-Za-z0-9\-_. ]{1,1024}$
Request Body schema: application/json
object (StatusUpdateSchema)
Responses
200

All good!

401

Unauthorised

500

Something went wrong on our side

patch/v2/resourcemonitoring/address/{resourceMonitoringId}
Request samples
application/json

Update Monitoring

{
  • "statusUpdate": {
    }
}
Response samples
application/json

Update Resource Monitoring

{
  • "addressMonitoringDetails": {
    },
  • "resourceMonitoring": {
    }
}

Retrieve recorded updates for a specific monitored address

Returns the update information recorded in Overledger for an address being monitored by your application for a given Resource Monitoring ID

Request
Security:
OAuth2_Security_Scheme (overledger/read.scope)
path Parameters
resourceMonitoringId
required
string [ 0 .. 36 ] characters ^[a-zA-Z0-9-]{1,36}$
header Parameters
Authorization
required
string [ 0 .. 1024 ] characters ^Bearer [A-Za-z0-9\-_. ]{1,1024}$
Responses
200

All good!

401

Unauthorised

500

Something went wrong on our side

get/v2/resourcemonitoring/address/{resourceMonitoringId}
Request samples
const fetch = require('node-fetch');

const resourceMonitoringId = 'YOUR_resourceMonitoringId_PARAMETER';
const resp = await fetch(
  `https://ovl/%202.0/v2/resourcemonitoring/address/${resourceMonitoringId}`,
  {
    method: 'GET',
    headers: {
      Authorization: 'Bearer <YOUR_TOKEN_HERE>'
    }
  }
);

const data = await resp.text();
console.log(data);
Response samples
application/json

Get Resource Monitoring

{
  • "location": {
    },
  • "addressDetails": {
    },
  • "type": "Address",
  • "timestamp": "2021-09-22T12:26:02.671Z",
  • "status": {
    }
}

Stop monitoring an address

Deletes the tracking record in Overledger to stop Overledger from recording updates for an address based on the given Resource Monitoring ID

Request
Security:
OAuth2_Security_Scheme (overledger/read.scope)
path Parameters
resourceMonitoringId
required
string [ 0 .. 36 ] characters ^[a-zA-Z0-9-]{1,36}$
header Parameters
Authorization
required
string [ 0 .. 1024 ] characters ^Bearer [A-Za-z0-9\-_. ]{1,1024}$
Responses
200

All good!

401

Unauthorised

500

Something went wrong on our side

delete/v2/resourcemonitoring/address/{resourceMonitoringId}
Request samples
const fetch = require('node-fetch');

const resourceMonitoringId = 'YOUR_resourceMonitoringId_PARAMETER';
const resp = await fetch(
  `https://ovl/%202.0/v2/resourcemonitoring/address/${resourceMonitoringId}`,
  {
    method: 'DELETE',
    headers: {
      Authorization: 'Bearer <YOUR_TOKEN_HERE>'
    }
  }
);

const data = await resp.text();
console.log(data);
Response samples
application/json

Delete Resource Monitoring

{
  • "addressMonitoringDetails": {
    },
  • "resourceMonitoring": {
    }
}

Retrieve a list of addresses being monitored

Returns a list of addresses being monitored for your application and the corresponding Resource Monitoring ID

Request
Security:
OAuth2_Security_Scheme (overledger/read.scope)
header Parameters
Authorization
required
string [ 0 .. 1024 ] characters ^Bearer [A-Za-z0-9\-_. ]{1,1024}$
Responses
200

All good!

401

Unauthorised

500

Something went wrong on our side

get/v2/resourcemonitoring/addresses
Request samples
const fetch = require('node-fetch');

const resp = await fetch(
  `https://ovl/%202.0/v2/resourcemonitoring/addresses`,
  {
    method: 'GET',
    headers: {
      Authorization: 'Bearer <YOUR_TOKEN_HERE>'
    }
  }
);

const data = await resp.text();
console.log(data);
Response samples
application/json

List Resource Monitoring

[
  • {
    }
]

Create Subscription

Create a subscription for a transaction or monitored resource

Creates a subscription to receive status updates for a transaction created in Overledger, or to receive updates each time a transaction happens on the requested DLT for a resource (e.g. address) being monitored, to the requested callback URL. Subscriptions are created using an Overledger Transaction ID or Resource Monitoring ID

Request
Security:
OAuth2_Security_Scheme (overledger/read.scope)
header Parameters
Authorization
required
string [ 0 .. 1024 ] characters ^Bearer [A-Za-z0-9\-_. ]{1,1024}$
Request Body schema: application/json
ids
Array of strings [ 0 .. 36 ] items
callbackUrl
string [ 0 .. 300 ] characters ^http[\S\s]{1,300}$
type
string [ 0 .. 50 ] characters ^[a-zA-Z0-9-_ ]{1,50}$
Responses
200

All good!

400

Something went wrong on your side

401

Unauthorised

404

{id} does not exist

500

Something went wrong on our side

post/v2/webhook/subscription
Request samples
application/json

Create Subscription

{}
Response samples
application/json

Create Subscription

[
  • {
    }
]

Manage Subscription

Update a specific subscription created by your application

Updates the subscription callback URL and/or the subscription status to be either active or track only for the given Subscription ID. Updating the status to be track only will pause updates being sent to the requested callback URL

Request
Security:
OAuth2_Security_Scheme (overledger/read.scope)
path Parameters
subscriptionId
required
string [ 0 .. 24 ] characters ^[a-z0-9-]{1,24}$
header Parameters
Authorization
required
string [ 0 .. 1024 ] characters ^Bearer [A-Za-z0-9\-_. ]{1,1024}$
Request Body schema: application/json
object (StatusUpdateSchema)
callbackUrl
string [ 0 .. 300 ] characters ^http[\S\s]{1,300}$
Responses
200

All good!

401

Unauthorised

404

You do not currently have any subscriptions

405

Method is not allowed

500

Something went wrong on our side

patch/v2/webhook/subscription/{subscriptionId}
Request samples
application/json

Update Subscription

{}
Response samples
application/json

200 Update Success

{
  • "subscriptionDetails": {
    },
  • "subscriptionId": "61406222b65cf749ea893c1a",
  • "type": "resourceMonitoringId"
}

Remove a subscription created by your application

Deletes a subscription created by your application based onthe given Subscription ID. Deleting a subscription will stop updates being sent to the requested callback URL

Request
Security:
OAuth2_Security_Scheme (overledger/read.scope)
path Parameters
subscriptionId
required
string [ 0 .. 24 ] characters ^[a-z0-9-]{1,24}$
header Parameters
Authorization
required
string [ 0 .. 1024 ] characters ^Bearer [A-Za-z0-9\-_. ]{1,1024}$
Responses
200

All good!

401

Unauthorised

404

You do not currently have any subscriptions

500

Something went wrong on our side

delete/v2/webhook/subscription/{subscriptionId}
Request samples
const fetch = require('node-fetch');

const subscriptionId = 'YOUR_subscriptionId_PARAMETER';
const resp = await fetch(
  `https://ovl/%202.0/v2/webhook/subscription/${subscriptionId}`,
  {
    method: 'DELETE',
    headers: {
      Authorization: 'Bearer <YOUR_TOKEN_HERE>'
    }
  }
);

const data = await resp.text();
console.log(data);
Response samples
application/json

200 Delete Successful

{
  • "subscriptionDetails": {
    },
  • "subscriptionId": "6141b9bcb65cf749ea893c45",
  • "type": "resourceMonitoringId"
}

Retrieve a list of subscriptions created by your application

Returns a list of active or paused subscriptions and the corresponding Subscription IDs that were created by your application

Request
Security:
OAuth2_Security_Scheme (overledger/read.scope)
header Parameters
Authorization
required
string [ 0 .. 1024 ] characters ^Bearer [A-Za-z0-9\-_. ]{1,1024}$
Responses
200

All good!

204

You do not currently have any subscriptions

401

Unauthorised

500

Something went wrong on our side

get/v2/webhook/subscriptions
Request samples
const fetch = require('node-fetch');

const resp = await fetch(
  `https://ovl/%202.0/v2/webhook/subscriptions`,
  {
    method: 'GET',
    headers: {
      Authorization: 'Bearer <YOUR_TOKEN_HERE>'
    }
  }
);

const data = await resp.text();
console.log(data);
Response samples
application/json

200 List Subscriptions

[
  • {
    },
  • {
    }
]

Prepare a read of a smart contract on a DLT

Returns a request ID for executing a smart contract read on Ethereum.

Request
Security:
OAuth2_Security_Scheme (overledger/read.scope)
header Parameters
Authorization
required
string [ 0 .. 1024 ] characters ^Bearer [A-Za-z0-9\-_. ]{1,1024}$
Request Body schema: application/json
object (SmartContractSearchRequestDetails)
object (Location)

Unique reference to the ledger on a particular ledger network (optionally accessed from a particular node)

Responses
200

All good!

401

Unauthorised

500

Something went wrong on our side

post/v2/preparation/search/smartcontract
Request samples
application/json

Smart Contract Search

{
  • "requestDetails": {
    },
  • "location": {
    }
}
Response samples
application/json

Prepare Response

{
  • "gatewayFee": {
    },
  • "requestId": "13765b06-eaf3-4f02-acb4-b7e9da8b0380"
}

Execute a read of a smart contract on a DLT

Takes a request ID and reads the smart contract on Ethereum based on the parameters specified in the prepare request.

Request
Security:
OAuth2_Security_Scheme (overledger/read.scope)
query Parameters
requestId
required
string [ 0 .. 36 ] characters ^[A-Za-z0-9-]{1,36}$
header Parameters
Authorization
required
string [ 0 .. 1024 ] characters ^Bearer [A-Za-z0-9\-_. ]{1,1024}$
Responses
200

All good!

401

Unauthorised

404

Not Found

500

Something went wrong on our side

post/v2/execution/search/smartcontract
Request samples
const fetch = require('node-fetch');

const query = new URLSearchParams({requestId: 'string'}).toString();

const resp = await fetch(
  `https://ovl/%202.0/v2/execution/search/smartcontract?${query}`,
  {
    method: 'POST',
    headers: {
      Authorization: 'Bearer <YOUR_TOKEN_HERE>'
    }
  }
);

const data = await resp.text();
console.log(data);
Response samples
application/json

Execute Response

{
  • "smartContract": {
    },
  • "location": {
    }
}

Execute a search for an address balance on a DLT

Takes a request ID, searches for the address and retrieves the balance on the requested DLT. This API is only applicable for account based DLTs

Request
Security:
OAuth2_Security_Scheme (overledger/read.scope)
query Parameters
requestId
required
string [ 0 .. 36 ] characters ^[A-Za-z0-9-]{1,36}$
header Parameters
Authorization
required
string [ 0 .. 1024 ] characters ^Bearer [A-Za-z0-9\-_. ]{1,1024}$
Responses
200

All good!

401

Unauthorised

404

Not Found

500

Something went wrong on our side

post/v2/execution/search/address/balance
Request samples
const fetch = require('node-fetch');

const query = new URLSearchParams({requestId: 'string'}).toString();

const resp = await fetch(
  `https://ovl/%202.0/v2/execution/search/address/balance?${query}`,
  {
    method: 'POST',
    headers: {
      Authorization: 'Bearer <YOUR_TOKEN_HERE>'
    }
  }
);

const data = await resp.text();
console.log(data);
Response samples
application/json

Execute Response

{
  • "balances": [
    ],
  • "location": {
    }
}

Execute a search for an address sequence on a DLT

Takes a request ID, searches for the address and retrieves the sequence on the requested DLT. This API is only applicable for account based DLT’s

Request
Security:
OAuth2_Security_Scheme (overledger/read.scope)
query Parameters
requestId
required
string [ 0 .. 36 ] characters ^[A-Za-z0-9-]{1,36}$
header Parameters
Authorization
required
string [ 0 .. 1024 ] characters ^Bearer [A-Za-z0-9\-_. ]{1,1024}$
Responses
200

All good!

401

Unauthorised

404

Not Found

500

Something went wrong on our side

post/v2/execution/search/address/sequence
Request samples
const fetch = require('node-fetch');

const query = new URLSearchParams({requestId: 'string'}).toString();

const resp = await fetch(
  `https://ovl/%202.0/v2/execution/search/address/sequence?${query}`,
  {
    method: 'POST',
    headers: {
      Authorization: 'Bearer <YOUR_TOKEN_HERE>'
    }
  }
);

const data = await resp.text();
console.log(data);
Response samples
application/json

Execute Response

{
  • "sequence": "1848",
  • "location": {
    },
  • "addressId": "0x650A87cfB9165C9F4Ccc7B971D971f50f753e761"
}

Prepare Search for an Address Sequence.

Perform an address sequence search on the requested DLT.Returns a request ID to execute

Request
Security:
OAuth2_Security_Scheme (overledger/read.scope)
path Parameters
addressId
required
string [ 0 .. 100 ] characters ^[a-zA-Z0-9]{1,100}$
header Parameters
Authorization
required
string [ 0 .. 1024 ] characters ^Bearer [A-Za-z0-9\-_. ]{1,1024}$
Request Body schema: application/json
object (Location)

Unique reference to the ledger on a particular ledger network (optionally accessed from a particular node)

Responses
200

All good!

401

Unauthorised

500

Something went wrong on our side

post/v2/preparation/search/address/sequence/{addressId}
Request samples
application/json

Address Sequence Search

{
  • "location": {
    }
}
Response samples
application/json

Prepare Response

{
  • "gatewayFee": {
    },
  • "requestId": "13765b06-eaf3-4f02-acb4-b7e9da8b0380"
}

Prepare Search for an Address Balance.

Perform an address balance search on the requested DLT. Returns a request ID to execute

Request
Security:
OAuth2_Security_Scheme (overledger/read.scope)
path Parameters
addressId
required
string [ 0 .. 100 ] characters ^[a-zA-Z0-9]{1,100}$
header Parameters
Authorization
required
string [ 0 .. 1024 ] characters ^Bearer [A-Za-z0-9\-_. ]{1,1024}$
Request Body schema: application/json
object (Location)

Unique reference to the ledger on a particular ledger network (optionally accessed from a particular node)

Responses
200

All good!

401

Unauthorised

500

Something went wrong on our side

post/v2/preparation/search/address/balance/{addressId}
Request samples
application/json

Address Balance Search

{
  • "location": {
    }
}
Response samples
application/json

Prepare Response

{
  • "gatewayFee": {
    },
  • "requestId": "13765b06-eaf3-4f02-acb4-b7e9da8b0380"
}

Prepare Search for a UTXO State.

Returns a request ID for executing a search for the status ofa UTXO on UTXO based DLT’s

Request
Security:
OAuth2_Security_Scheme (overledger/read.scope)
path Parameters
utxoId
required
string [ 0 .. 100 ] characters ^[a-zA-Z0-9-: ]{1,100}$
header Parameters
Authorization
required
string [ 0 .. 1024 ] characters ^Bearer [A-Za-z0-9\-_. ]{1,1024}$
Request Body schema: application/json
object (Location)

Unique reference to the ledger on a particular ledger network (optionally accessed from a particular node)

Responses
200

All good!

401

Unauthorised

500

Something went wrong on our side

post/v2/preparation/search/utxo/{utxoId}
Request samples
application/json

UTXO Transaction Search

{
  • "location": {
    }
}
Response samples
application/json

Prepare Response

{
  • "gatewayFee": {
    },
  • "requestId": "13765b06-eaf3-4f02-acb4-b7e9da8b0380"
}

Execute a search for UTXO state on a DLT

Takes a request ID, searches for the UTXO state and retrieves the details on the requested DLT. This API is only applicable for Bitcoin.

Request
Security:
OAuth2_Security_Scheme (overledger/read.scope)
query Parameters
requestId
required
string [ 0 .. 36 ] characters ^[A-Za-z0-9-]{1,36}$
header Parameters
Authorization
required
string [ 0 .. 1024 ] characters ^Bearer [A-Za-z0-9\-_. ]{1,1024}$
Responses
200

All good!

401

Unauthorised

404

Not Found

500

Something went wrong on our side

post/v2/execution/search/utxo
Request samples
const fetch = require('node-fetch');

const query = new URLSearchParams({requestId: 'string'}).toString();

const resp = await fetch(
  `https://ovl/%202.0/v2/execution/search/utxo?${query}`,
  {
    method: 'POST',
    headers: {
      Authorization: 'Bearer <YOUR_TOKEN_HERE>'
    }
  }
);

const data = await resp.text();
console.log(data);
Response samples
application/json

Execute Response

{
  • "destination": [
    ],
  • "location": {
    },
  • "timestamp": {
    },
  • "status": {
    },
  • "nativeData": {
    }
}

Execute a search for a block on a DLT

Takes a request ID and searches for the block on the requested DLT based on the parameters specified in the prepare request

Request
Security:
OAuth2_Security_Scheme (overledger/read.scope)
query Parameters
requestId
required
string [ 0 .. 36 ] characters ^[A-Za-z0-9-]{1,36}$
header Parameters
Authorization
required
string [ 0 .. 1024 ] characters ^Bearer [A-Za-z0-9\-_. ]{1,1024}$
Responses
200

All good!

401

Unauthorised

404

Not Found

500

Something went wrong on our side

post/v2/execution/search/block
Request samples
const fetch = require('node-fetch');

const query = new URLSearchParams({requestId: 'string'}).toString();

const resp = await fetch(
  `https://ovl/%202.0/v2/execution/search/block?${query}`,
  {
    method: 'POST',
    headers: {
      Authorization: 'Bearer <YOUR_TOKEN_HERE>'
    }
  }
);

const data = await resp.text();
console.log(data);
Response samples
application/json

Execute Response

{
  • "location": {
    },
  • "block": {
    },
  • "status": {
    }
}

Prepare Search Block by Block Id.

Returns a request ID for executing a block search on the requested DLT. Block searches can be prepared based on the Block ID, Block Number or for the latest block at the time

Request
Security:
OAuth2_Security_Scheme (overledger/read.scope)
path Parameters
blockId
required
string
Examples:
Search latest block
latest
Search block by Block ID
54678
Search block by Block Hash
0x1032d0f10fad4a5ada02960f552063e862e952d7d808ecf43b25a4f26d640a56
header Parameters
Authorization
required
string [ 0 .. 1024 ] characters ^Bearer [A-Za-z0-9\-_. ]{1,1024}$
Request Body schema: application/json
object (Location)

Unique reference to the ledger on a particular ledger network (optionally accessed from a particular node)

Responses
200

All good!

401

Unauthorised

500

Something went wrong on our side

post/v2/preparation/search/block/{blockId}
Request samples
application/json

Block Search

{
  • "location": {
    }
}
Response samples
application/json

Prepare Response

{
  • "gatewayFee": {
    },
  • "requestId": "13765b06-eaf3-4f02-acb4-b7e9da8b0380"
}