NAV Navigation
Shell Node.js Java Go PHP

Likid v1 v1.0.0

Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.

Likid API provides infrastructure APIs to financial services. Likid is backed by services rendered by a network of financial institutions.

Base URLs:

Credit

A fully AI enabled credit system for term loans, securitisation, credit scoring etc

CreditRequest

Code samples

# You can also use wget
curl -X POST https://api.huntrecht.com/v1/credit/request \
  -H 'Content-Type: application/json'

const fetch = require('node-fetch');
const inputBody = '{
  "properties": {
    "annualIncome": {
      "type": "number",
      "description": "Your current annual income",
      "format": "double"
    },
    "homeOwnership": {
      "type": "boolean",
      "description": "Do you have a home"
    },
    "empLength": {
      "type": "string",
      "description": "Number of years in current employment"
    },
    "loanAmt": {
      "type": "integer",
      "description": "The credit amount",
      "format": "int32"
    },
    "purpose": {
      "type": "string",
      "description": "The purpose for the credit"
    },
    "desc": {
      "type": "string",
      "description": "Credit description"
    }
  },
  "additionalProperties": false,
  "required": [
    "annualIncome",
    "homeOwnership",
    "empLength",
    "loanAmt",
    "purpose",
    "desc"
  ]
}';
const headers = {
  'Content-Type':'application/json'

};

fetch('https://api.huntrecht.com/v1/credit/request',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

URL obj = new URL("https://api.huntrecht.com/v1/credit/request");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://api.huntrecht.com/v1/credit/request", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'application/json',
    
    );

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.huntrecht.com/v1/credit/request', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST /credit/request

Request for Credit

Body parameter

{
  "properties": {
    "annualIncome": {
      "type": "number",
      "description": "Your current annual income",
      "format": "double"
    },
    "homeOwnership": {
      "type": "boolean",
      "description": "Do you have a home"
    },
    "empLength": {
      "type": "string",
      "description": "Number of years in current employment"
    },
    "loanAmt": {
      "type": "integer",
      "description": "The credit amount",
      "format": "int32"
    },
    "purpose": {
      "type": "string",
      "description": "The purpose for the credit"
    },
    "desc": {
      "type": "string",
      "description": "Credit description"
    }
  },
  "additionalProperties": false,
  "required": [
    "annualIncome",
    "homeOwnership",
    "empLength",
    "loanAmt",
    "purpose",
    "desc"
  ]
}

Responses

Status Meaning Description Schema
200 OK 200 OK None

CreditScoreCard

Code samples

# You can also use wget
curl -X GET https://api.huntrecht.com/v1/credit/profile/{profileId}

const fetch = require('node-fetch');

fetch('https://api.huntrecht.com/v1/credit/profile/{profileId}',
{
  method: 'GET'

})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

URL obj = new URL("https://api.huntrecht.com/v1/credit/profile/{profileId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api.huntrecht.com/v1/credit/profile/{profileId}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

request('GET','https://api.huntrecht.com/v1/credit/profile/{profileId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET /credit/profile/{profileId}

Load a credit score card

Parameters

Name In Type Required Description
profileId path string true A valid user's credit profile id

Responses

Status Meaning Description Schema
200 OK 200 OK None

User

User management

AddUser

Code samples

# You can also use wget
curl -X POST https://api.huntrecht.com/v1/users \
  -H 'Content-Type: application/json'

const fetch = require('node-fetch');
const inputBody = '{
  "properties": {
    "email": {
      "type": "string"
    },
    "accountname": {
      "type": "string"
    },
    "password": {
      "type": "string"
    },
    "cellphone": {
      "type": "string"
    },
    "firstname": {
      "type": "string"
    },
    "lastname": {
      "type": "string"
    },
    "country": {
      "type": "string"
    },
    "language": {
      "type": "string"
    },
    "address": {
      "type": "string"
    },
    "profileurl": {
      "type": "string"
    },
    "appsprofile": {
      "type": "string"
    },
    "accesstoken": {
      "type": "string"
    }
  },
  "additionalProperties": false,
  "required": [
    "address",
    "country",
    "lastname",
    "firstname",
    "cellphone",
    "password",
    "email"
  ],
  "description": "User Management"
}';
const headers = {
  'Content-Type':'application/json'

};

fetch('https://api.huntrecht.com/v1/users',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

URL obj = new URL("https://api.huntrecht.com/v1/users");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://api.huntrecht.com/v1/users", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'application/json',
    
    );

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.huntrecht.com/v1/users', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST /users

Add a user

Body parameter

{
  "properties": {
    "email": {
      "type": "string"
    },
    "accountname": {
      "type": "string"
    },
    "password": {
      "type": "string"
    },
    "cellphone": {
      "type": "string"
    },
    "firstname": {
      "type": "string"
    },
    "lastname": {
      "type": "string"
    },
    "country": {
      "type": "string"
    },
    "language": {
      "type": "string"
    },
    "address": {
      "type": "string"
    },
    "profileurl": {
      "type": "string"
    },
    "appsprofile": {
      "type": "string"
    },
    "accesstoken": {
      "type": "string"
    }
  },
  "additionalProperties": false,
  "required": [
    "address",
    "country",
    "lastname",
    "firstname",
    "cellphone",
    "password",
    "email"
  ],
  "description": "User Management"
}

Responses

Status Meaning Description Schema
200 OK 200 OK None

VerifyUser

Code samples

# You can also use wget
curl -X PUT https://api.huntrecht.com/v1/users/verify/{userId}

const fetch = require('node-fetch');

fetch('https://api.huntrecht.com/v1/users/verify/{userId}',
{
  method: 'PUT'

})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

URL obj = new URL("https://api.huntrecht.com/v1/users/verify/{userId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PUT");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PUT", "https://api.huntrecht.com/v1/users/verify/{userId}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

request('PUT','https://api.huntrecht.com/v1/users/verify/{userId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

PUT /users/verify/{userId}

Verify a user

Parameters

Name In Type Required Description
userId path string true none

Responses

Status Meaning Description Schema
200 OK 200 OK None

Account

Create a new Likid Account

CreateAccount

Code samples

# You can also use wget
curl -X POST https://api.huntrecht.com/v1/account \
  -H 'Content-Type: application/json'

const fetch = require('node-fetch');
const inputBody = '{
  "properties": {
    "email": {
      "type": "string"
    },
    "accountName": {
      "type": "string"
    },
    "firstname": {
      "type": "string"
    },
    "lastname": {
      "type": "string"
    },
    "password": {
      "type": "string"
    },
    "country": {
      "type": "string"
    },
    "city": {
      "type": "string"
    },
    "address": {
      "type": "string"
    }
  },
  "additionalProperties": false,
  "description": "Join the Likid Network",
  "required": [
    "address",
    "city",
    "country",
    "password",
    "lastname",
    "firstname",
    "accountName",
    "email"
  ]
}';
const headers = {
  'Content-Type':'application/json'

};

fetch('https://api.huntrecht.com/v1/account',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

URL obj = new URL("https://api.huntrecht.com/v1/account");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://api.huntrecht.com/v1/account", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'application/json',
    
    );

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.huntrecht.com/v1/account', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST /account

Join Network by creating a new account

Body parameter

{
  "properties": {
    "email": {
      "type": "string"
    },
    "accountName": {
      "type": "string"
    },
    "firstname": {
      "type": "string"
    },
    "lastname": {
      "type": "string"
    },
    "password": {
      "type": "string"
    },
    "country": {
      "type": "string"
    },
    "city": {
      "type": "string"
    },
    "address": {
      "type": "string"
    }
  },
  "additionalProperties": false,
  "description": "Join the Likid Network",
  "required": [
    "address",
    "city",
    "country",
    "password",
    "lastname",
    "firstname",
    "accountName",
    "email"
  ]
}

Responses

Status Meaning Description Schema
200 OK 200 OK None

Product

APIs for Consumer product and Commodities

ListProducts

Code samples

# You can also use wget
curl -X GET https://api.huntrecht.com/v1/commerce/products

const fetch = require('node-fetch');

fetch('https://api.huntrecht.com/v1/commerce/products',
{
  method: 'GET'

})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

URL obj = new URL("https://api.huntrecht.com/v1/commerce/products");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api.huntrecht.com/v1/commerce/products", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

request('GET','https://api.huntrecht.com/v1/commerce/products', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET /commerce/products

List products

Responses

Status Meaning Description Schema
200 OK 200 OK None

AddProduct

Code samples

# You can also use wget
curl -X POST https://api.huntrecht.com/v1/commerce/products \
  -H 'Content-Type: application/json'

const fetch = require('node-fetch');
const inputBody = '{
  "properties": {
    "name": {
      "type": "string",
      "example": "Puppy Cat"
    },
    "price": {
      "type": "number",
      "format": "double",
      "example": 2
    },
    "description": {
      "type": "string"
    },
    "insurable": {
      "type": "boolean",
      "description": "Is the product insurable? Defaults to False"
    },
    "bidable": {
      "type": "boolean",
      "description": "Is the product bidable? Defaults to False"
    },
    "quantity": {
      "type": "string"
    },
    "iscontract": {
      "type": "boolean",
      "description": "opens to forward and futures. Defaults to False"
    },
    "type": {
      "type": "string",
      "example": "",
      "description": "Commodity or Consumer Product. Defaults to Consumer Product"
    }
  },
  "additionalProperties": false,
  "description": "A Consumer Product or Commodity",
  "required": [
    "name",
    "price",
    "description",
    "quantity"
  ]
}';
const headers = {
  'Content-Type':'application/json'

};

fetch('https://api.huntrecht.com/v1/commerce/products',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

URL obj = new URL("https://api.huntrecht.com/v1/commerce/products");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://api.huntrecht.com/v1/commerce/products", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'application/json',
    
    );

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.huntrecht.com/v1/commerce/products', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST /commerce/products

Create new Product

Body parameter

{
  "properties": {
    "name": {
      "type": "string",
      "example": "Puppy Cat"
    },
    "price": {
      "type": "number",
      "format": "double",
      "example": 2
    },
    "description": {
      "type": "string"
    },
    "insurable": {
      "type": "boolean",
      "description": "Is the product insurable? Defaults to False"
    },
    "bidable": {
      "type": "boolean",
      "description": "Is the product bidable? Defaults to False"
    },
    "quantity": {
      "type": "string"
    },
    "iscontract": {
      "type": "boolean",
      "description": "opens to forward and futures. Defaults to False"
    },
    "type": {
      "type": "string",
      "example": "",
      "description": "Commodity or Consumer Product. Defaults to Consumer Product"
    }
  },
  "additionalProperties": false,
  "description": "A Consumer Product or Commodity",
  "required": [
    "name",
    "price",
    "description",
    "quantity"
  ]
}

Responses

Status Meaning Description Schema
200 OK 200 OK None

GetProduct

Code samples

# You can also use wget
curl -X GET https://api.huntrecht.com/v1/commerce/products/{id}

const fetch = require('node-fetch');

fetch('https://api.huntrecht.com/v1/commerce/products/{id}',
{
  method: 'GET'

})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

URL obj = new URL("https://api.huntrecht.com/v1/commerce/products/{id}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api.huntrecht.com/v1/commerce/products/{id}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

request('GET','https://api.huntrecht.com/v1/commerce/products/{id}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET /commerce/products/{id}

Get a Product

Parameters

Name In Type Required Description
id path string true none

Responses

Status Meaning Description Schema
200 OK 200 OK None

UpdateProduct

Code samples

# You can also use wget
curl -X PUT https://api.huntrecht.com/v1/commerce/products/{id}

const fetch = require('node-fetch');

fetch('https://api.huntrecht.com/v1/commerce/products/{id}',
{
  method: 'PUT'

})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

URL obj = new URL("https://api.huntrecht.com/v1/commerce/products/{id}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PUT");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PUT", "https://api.huntrecht.com/v1/commerce/products/{id}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

request('PUT','https://api.huntrecht.com/v1/commerce/products/{id}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

PUT /commerce/products/{id}

Update a Product

Parameters

Name In Type Required Description
id path string true none

Responses

Status Meaning Description Schema
200 OK 200 OK None

Authorization

Authorise your client applications to begin to create amazing digital solutions

Authorize

Code samples

# You can also use wget
curl -X POST https://api.huntrecht.com/v1/authorize \
  -H 'Content-Type: application/json'

const fetch = require('node-fetch');
const inputBody = '{
  "properties": {
    "client_id": {
      "type": "string",
      "description": "The client's client_id obtained at registration"
    },
    "client_secret": {
      "type": "string",
      "description": "The client's client_secret obtained at registration"
    },
    "username": {
      "type": "string",
      "example": "joe@example.com",
      "description": "The logon username"
    },
    "password": {
      "type": "string",
      "description": "The logon password"
    }
  },
  "additionalProperties": false,
  "required": [
    "client_id",
    "client_secret",
    "username",
    "password"
  ]
}';
const headers = {
  'Content-Type':'application/json'

};

fetch('https://api.huntrecht.com/v1/authorize',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

URL obj = new URL("https://api.huntrecht.com/v1/authorize");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://api.huntrecht.com/v1/authorize", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'application/json',
    
    );

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.huntrecht.com/v1/authorize', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST /authorize

Obtain access token. You need an access token before you can start using the Likid APIs

Obtain access token. You need an access token before you can start using the Likid APIs

Body parameter

{
  "properties": {
    "client_id": {
      "type": "string",
      "description": "The client's client_id obtained at registration"
    },
    "client_secret": {
      "type": "string",
      "description": "The client's client_secret obtained at registration"
    },
    "username": {
      "type": "string",
      "example": "joe@example.com",
      "description": "The logon username"
    },
    "password": {
      "type": "string",
      "description": "The logon password"
    }
  },
  "additionalProperties": false,
  "required": [
    "client_id",
    "client_secret",
    "username",
    "password"
  ]
}

Responses

Status Meaning Description Schema
200 OK 200 OK None

Authenticate

Code samples

# You can also use wget
curl -X POST https://api.huntrecht.com/v1/authenticate \
  -H 'Content-Type: application/json'

const fetch = require('node-fetch');
const inputBody = '{
  "properties": {
    "email": {
      "type": "string"
    },
    "password": {
      "type": "string"
    }
  },
  "additionalProperties": false,
  "required": [
    "email",
    "password"
  ]
}';
const headers = {
  'Content-Type':'application/json'

};

fetch('https://api.huntrecht.com/v1/authenticate',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

URL obj = new URL("https://api.huntrecht.com/v1/authenticate");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://api.huntrecht.com/v1/authenticate", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'application/json',
    
    );

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.huntrecht.com/v1/authenticate', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST /authenticate

Authenticate a user

Body parameter

{
  "properties": {
    "email": {
      "type": "string"
    },
    "password": {
      "type": "string"
    }
  },
  "additionalProperties": false,
  "required": [
    "email",
    "password"
  ]
}

Responses

Status Meaning Description Schema
200 OK 200 OK None

Server Information

Likid provides several endpoints to describe the server as well as handle various financial services.

Server Info

Code samples

# You can also use wget
curl -X GET https://api.huntrecht.com/v1/info

const fetch = require('node-fetch');

fetch('https://api.huntrecht.com/v1/info',
{
  method: 'GET'

})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

URL obj = new URL("https://api.huntrecht.com/v1/info");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api.huntrecht.com/v1/info", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

request('GET','https://api.huntrecht.com/v1/info', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET /info

Server Info

Get basic information about the Likid API

Responses

Status Meaning Description Schema
200 OK 200 OK None

Withdraw

You can only withdraw what you own.

CreateNewWithdrawal

Code samples

# You can also use wget
curl -X POST https://api.huntrecht.com/v1/withdraw \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json'

const fetch = require('node-fetch');
const inputBody = '{
  "properties": {
    "quantity": {
      "type": "string",
      "description": "How many units"
    },
    "id": {
      "type": "string",
      "description": "Object id"
    }
  },
  "additionalProperties": false,
  "required": [
    "quantity"
  ]
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'

};

fetch('https://api.huntrecht.com/v1/withdraw',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

URL obj = new URL("https://api.huntrecht.com/v1/withdraw");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://api.huntrecht.com/v1/withdraw", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'application/json',
    'Accept' => 'application/json',
    
    );

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.huntrecht.com/v1/withdraw', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST /withdraw

Body parameter

{
  "properties": {
    "quantity": {
      "type": "string",
      "description": "How many units"
    },
    "id": {
      "type": "string",
      "description": "Object id"
    }
  },
  "additionalProperties": false,
  "required": [
    "quantity"
  ]
}

Example responses

200 Response

{
  "properties": {
    "quantity": {
      "type": "string",
      "description": "How many units"
    },
    "id": {
      "type": "string",
      "description": "Object id"
    }
  },
  "additionalProperties": false,
  "required": [
    "quantity"
  ]
}

Responses

Status Meaning Description Schema
200 OK 200 OK Inline

Response Schema

Status Code 200

Name Type Required Restrictions Description
» quantity string true none How many units
» id string false none Object id

Transfers

Transfer something you own to user A.

ListTransfers

Code samples

# You can also use wget
curl -X GET https://api.huntrecht.com/v1/transfers \
  -H 'Accept: application/json'

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json'

};

fetch('https://api.huntrecht.com/v1/transfers',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

URL obj = new URL("https://api.huntrecht.com/v1/transfers");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api.huntrecht.com/v1/transfers", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'application/json',
    
    );

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.huntrecht.com/v1/transfers', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET /transfers

List Transfers

List own transfers

Example responses

200 Response

{
  "properties": {
    "to": {
      "type": "string",
      "description": "New owner details"
    },
    "from": {
      "type": "string",
      "description": "Source owner of this asset"
    },
    "quantity": {
      "type": "string",
      "description": "Number of units to be transferred"
    },
    "id": {
      "type": "string",
      "description": "Object id"
    },
    "pair": {
      "type": "string",
      "description": "Currency pair"
    },
    "description": {
      "type": "string"
    },
    "country": {
      "type": "string",
      "description": "Originating country"
    },
    "fxQuote": {
      "type": "number",
      "description": "Exchange rate quote",
      "format": "double"
    },
    "mode": {
      "type": "string",
      "description": "local or international"
    },
    "createdDate": {
      "type": "integer",
      "format": "int32"
    }
  },
  "additionalProperties": false,
  "required": [
    "pair",
    "quantity",
    "from",
    "to",
    "country",
    "description",
    "createdDate"
  ]
}

Responses

Status Meaning Description Schema
200 OK 200 OK Transfer

CreateTransfer

Code samples

# You can also use wget
curl -X POST https://api.huntrecht.com/v1/transfers \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json'

const fetch = require('node-fetch');
const inputBody = '{
  "properties": {
    "to": {
      "type": "string",
      "description": "New owner details"
    },
    "from": {
      "type": "string",
      "description": "Source owner of this asset"
    },
    "quantity": {
      "type": "string",
      "description": "Number of units to be transferred"
    },
    "id": {
      "type": "string",
      "description": "Object id"
    },
    "pair": {
      "type": "string",
      "description": "Currency pair"
    },
    "description": {
      "type": "string"
    },
    "country": {
      "type": "string",
      "description": "Originating country"
    },
    "fxQuote": {
      "type": "number",
      "description": "Exchange rate quote",
      "format": "double"
    },
    "mode": {
      "type": "string",
      "description": "local or international"
    },
    "createdDate": {
      "type": "integer",
      "format": "int32"
    }
  },
  "additionalProperties": false,
  "required": [
    "pair",
    "quantity",
    "from",
    "to",
    "country",
    "description",
    "createdDate"
  ]
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'

};

fetch('https://api.huntrecht.com/v1/transfers',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

URL obj = new URL("https://api.huntrecht.com/v1/transfers");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://api.huntrecht.com/v1/transfers", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'application/json',
    'Accept' => 'application/json',
    
    );

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.huntrecht.com/v1/transfers', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST /transfers

User1 must own something before it can be transferred to User2

Create new transfers

Body parameter

{
  "properties": {
    "to": {
      "type": "string",
      "description": "New owner details"
    },
    "from": {
      "type": "string",
      "description": "Source owner of this asset"
    },
    "quantity": {
      "type": "string",
      "description": "Number of units to be transferred"
    },
    "id": {
      "type": "string",
      "description": "Object id"
    },
    "pair": {
      "type": "string",
      "description": "Currency pair"
    },
    "description": {
      "type": "string"
    },
    "country": {
      "type": "string",
      "description": "Originating country"
    },
    "fxQuote": {
      "type": "number",
      "description": "Exchange rate quote",
      "format": "double"
    },
    "mode": {
      "type": "string",
      "description": "local or international"
    },
    "createdDate": {
      "type": "integer",
      "format": "int32"
    }
  },
  "additionalProperties": false,
  "required": [
    "pair",
    "quantity",
    "from",
    "to",
    "country",
    "description",
    "createdDate"
  ]
}

Parameters

Name In Type Required Description
body body Transfer true none

Example responses

200 Response

{
  "properties": {
    "to": {
      "type": "string",
      "description": "New owner details"
    },
    "from": {
      "type": "string",
      "description": "Source owner of this asset"
    },
    "quantity": {
      "type": "string",
      "description": "Number of units to be transferred"
    },
    "id": {
      "type": "string",
      "description": "Object id"
    }
  },
  "additionalProperties": false
}

Responses

Status Meaning Description Schema
200 OK 200 OK Inline

Response Schema

Status Code 200

Name Type Required Restrictions Description
» to string false none New owner details
» from string false none Source owner of this asset
» quantity string false none Number of units to be transferred
» id string false none Object id

GetTransferById

Code samples

# You can also use wget
curl -X GET https://api.huntrecht.com/v1/transfers/{id}

const fetch = require('node-fetch');

fetch('https://api.huntrecht.com/v1/transfers/{id}',
{
  method: 'GET'

})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

URL obj = new URL("https://api.huntrecht.com/v1/transfers/{id}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api.huntrecht.com/v1/transfers/{id}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

request('GET','https://api.huntrecht.com/v1/transfers/{id}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET /transfers/{id}

Parameters

Name In Type Required Description
id path string true none

Responses

Status Meaning Description Schema
200 OK 200 OK None

LoadBeneficiary

Code samples

# You can also use wget
curl -X POST https://api.huntrecht.com/v1/transfers/to \
  -H 'Content-Type: application/json'

const fetch = require('node-fetch');
const inputBody = '{
  "properties": {
    "accountName": {
      "type": "string",
      "description": "Bank account name"
    },
    "accountNumber": {
      "type": "string",
      "description": "Bank account number"
    },
    "country": {
      "type": "string"
    },
    "bankId": {
      "type": "string",
      "description": "Bank verifiable identity"
    }
  },
  "additionalProperties": false,
  "required": [
    "accountName",
    "accountNumber"
  ]
}';
const headers = {
  'Content-Type':'application/json'

};

fetch('https://api.huntrecht.com/v1/transfers/to',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

URL obj = new URL("https://api.huntrecht.com/v1/transfers/to");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://api.huntrecht.com/v1/transfers/to", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'application/json',
    
    );

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.huntrecht.com/v1/transfers/to', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST /transfers/to

Load the beneficiary

Body parameter

{
  "properties": {
    "accountName": {
      "type": "string",
      "description": "Bank account name"
    },
    "accountNumber": {
      "type": "string",
      "description": "Bank account number"
    },
    "country": {
      "type": "string"
    },
    "bankId": {
      "type": "string",
      "description": "Bank verifiable identity"
    }
  },
  "additionalProperties": false,
  "required": [
    "accountName",
    "accountNumber"
  ]
}

Parameters

Name In Type Required Description
body body BankAccount true none

Responses

Status Meaning Description Schema
200 OK 200 OK None

Funds

Funds is a representation of physical assets you own.

ListFunds

Code samples

# You can also use wget
curl -X GET https://api.huntrecht.com/v1/funds

const fetch = require('node-fetch');

fetch('https://api.huntrecht.com/v1/funds',
{
  method: 'GET'

})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

URL obj = new URL("https://api.huntrecht.com/v1/funds");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api.huntrecht.com/v1/funds", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

request('GET','https://api.huntrecht.com/v1/funds', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET /funds

List funds

Responses

Status Meaning Description Schema
200 OK 200 OK None

CreateFund

Code samples

# You can also use wget
curl -X POST https://api.huntrecht.com/v1/funds \
  -H 'Content-Type: application/json'

const fetch = require('node-fetch');
const inputBody = '{
  "properties": {
    "owner": {
      "type": "string",
      "description": "The userid that represents owner"
    },
    "type": {
      "type": "string",
      "description": "The symbol of the fund. E.g USD",
      "example": "USD"
    },
    "symbol": {
      "type": "string",
      "description": "The number of units",
      "example": "10000"
    },
    "id": {
      "type": "string",
      "description": "Object id"
    }
  },
  "additionalProperties": false,
  "required": [
    "owner",
    "type",
    "symbol"
  ]
}';
const headers = {
  'Content-Type':'application/json'

};

fetch('https://api.huntrecht.com/v1/funds',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

URL obj = new URL("https://api.huntrecht.com/v1/funds");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://api.huntrecht.com/v1/funds", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'application/json',
    
    );

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.huntrecht.com/v1/funds', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST /funds

Create new fund

Body parameter

{
  "properties": {
    "owner": {
      "type": "string",
      "description": "The userid that represents owner"
    },
    "type": {
      "type": "string",
      "description": "The symbol of the fund. E.g USD",
      "example": "USD"
    },
    "symbol": {
      "type": "string",
      "description": "The number of units",
      "example": "10000"
    },
    "id": {
      "type": "string",
      "description": "Object id"
    }
  },
  "additionalProperties": false,
  "required": [
    "owner",
    "type",
    "symbol"
  ]
}

Responses

Status Meaning Description Schema
200 OK 200 OK None

GetFundById

Code samples

# You can also use wget
curl -X GET https://api.huntrecht.com/v1/funds/{id}

const fetch = require('node-fetch');

fetch('https://api.huntrecht.com/v1/funds/{id}',
{
  method: 'GET'

})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

URL obj = new URL("https://api.huntrecht.com/v1/funds/{id}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api.huntrecht.com/v1/funds/{id}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

request('GET','https://api.huntrecht.com/v1/funds/{id}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET /funds/{id}

Parameters

Name In Type Required Description
id path string true The fund id

Responses

Status Meaning Description Schema
200 OK 200 OK None

Kyc

ListKyc

Code samples

# You can also use wget
curl -X GET https://api.huntrecht.com/v1/kyc

const fetch = require('node-fetch');

fetch('https://api.huntrecht.com/v1/kyc',
{
  method: 'GET'

})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

URL obj = new URL("https://api.huntrecht.com/v1/kyc");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api.huntrecht.com/v1/kyc", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

request('GET','https://api.huntrecht.com/v1/kyc', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET /kyc

List all Kyc

Responses

Status Meaning Description Schema
200 OK 200 OK None

CreateKyc

Code samples

# You can also use wget
curl -X POST https://api.huntrecht.com/v1/kyc \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json'

const fetch = require('node-fetch');
const inputBody = '{
  "properties": {
    "fullnames": {
      "type": "string",
      "description": "User fullnames"
    },
    "address": {
      "type": "string",
      "description": "User verifiable address"
    },
    "phoneNumber": {
      "type": "string",
      "description": "User phoneNumber"
    },
    "country": {
      "type": "string",
      "description": "User country"
    },
    "email": {
      "type": "string",
      "description": "User email"
    },
    "identityId": {
      "type": "string"
    },
    "id": {
      "type": "string",
      "description": "Object id"
    }
  },
  "additionalProperties": false,
  "required": [
    "fullnames",
    "address",
    "phoneNumber",
    "country",
    "email",
    "identityId"
  ]
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'

};

fetch('https://api.huntrecht.com/v1/kyc',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

URL obj = new URL("https://api.huntrecht.com/v1/kyc");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://api.huntrecht.com/v1/kyc", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'application/json',
    'Accept' => 'application/json',
    
    );

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.huntrecht.com/v1/kyc', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST /kyc

Body parameter

{
  "properties": {
    "fullnames": {
      "type": "string",
      "description": "User fullnames"
    },
    "address": {
      "type": "string",
      "description": "User verifiable address"
    },
    "phoneNumber": {
      "type": "string",
      "description": "User phoneNumber"
    },
    "country": {
      "type": "string",
      "description": "User country"
    },
    "email": {
      "type": "string",
      "description": "User email"
    },
    "identityId": {
      "type": "string"
    },
    "id": {
      "type": "string",
      "description": "Object id"
    }
  },
  "additionalProperties": false,
  "required": [
    "fullnames",
    "address",
    "phoneNumber",
    "country",
    "email",
    "identityId"
  ]
}

Example responses

200 Response

{
  "properties": {
    "fullnames": {
      "type": "string",
      "description": "User fullnames"
    },
    "address": {
      "type": "string",
      "description": "User verifiable address"
    },
    "phoneNumber": {
      "type": "string",
      "description": "User phoneNumber"
    },
    "country": {
      "type": "string",
      "description": "User country"
    },
    "email": {
      "type": "string",
      "description": "User email"
    },
    "identityId": {
      "type": "string"
    },
    "id": {
      "type": "string",
      "description": "Object id"
    }
  },
  "additionalProperties": false,
  "required": [
    "fullnames",
    "address",
    "phoneNumber",
    "country",
    "email",
    "identityId"
  ]
}

Responses

Status Meaning Description Schema
200 OK 200 OK Inline
401 Unauthorized Unauthorized Inline

Response Schema

Status Code 200

Name Type Required Restrictions Description
» fullnames string true none User fullnames
» address string true none User verifiable address
» phoneNumber string true none User phoneNumber
» country string true none User country
» email string true none User email
» identityId string true none none
» id string false none Object id

GetKycById

Code samples

# You can also use wget
curl -X GET https://api.huntrecht.com/v1/kyc/{id}

const fetch = require('node-fetch');

fetch('https://api.huntrecht.com/v1/kyc/{id}',
{
  method: 'GET'

})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

URL obj = new URL("https://api.huntrecht.com/v1/kyc/{id}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api.huntrecht.com/v1/kyc/{id}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

request('GET','https://api.huntrecht.com/v1/kyc/{id}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET /kyc/{id}

Get a KYC

Get a KYC

Parameters

Name In Type Required Description
id path string true none

Responses

Status Meaning Description Schema
200 OK 200 OK None

Schemas

Fund

{
  "properties": {
    "owner": {
      "type": "string",
      "description": "The userid that represents owner"
    },
    "type": {
      "type": "string",
      "description": "The symbol of the fund. E.g USD",
      "example": "USD"
    },
    "symbol": {
      "type": "string",
      "description": "The number of units",
      "example": "10000"
    },
    "id": {
      "type": "string",
      "description": "Object id"
    }
  },
  "additionalProperties": false,
  "required": [
    "owner",
    "type",
    "symbol"
  ]
}

Properties

Name Type Required Restrictions Description
owner string true none The userid that represents owner
type string true none The symbol of the fund. E.g USD
symbol string true none The number of units
id string false none Object id

Transfer

{
  "properties": {
    "to": {
      "type": "string",
      "description": "New owner details"
    },
    "from": {
      "type": "string",
      "description": "Source owner of this asset"
    },
    "quantity": {
      "type": "string",
      "description": "Number of units to be transferred"
    },
    "id": {
      "type": "string",
      "description": "Object id"
    },
    "pair": {
      "type": "string",
      "description": "Currency pair"
    },
    "description": {
      "type": "string"
    },
    "country": {
      "type": "string",
      "description": "Originating country"
    },
    "fxQuote": {
      "type": "number",
      "description": "Exchange rate quote",
      "format": "double"
    },
    "mode": {
      "type": "string",
      "description": "local or international"
    },
    "createdDate": {
      "type": "integer",
      "format": "int32"
    }
  },
  "additionalProperties": false,
  "required": [
    "pair",
    "quantity",
    "from",
    "to",
    "country",
    "description",
    "createdDate"
  ]
}

Properties

Name Type Required Restrictions Description
to string true none New owner details
from string true none Source owner of this asset
quantity string true none Number of units to be transferred
id string false none Object id
pair string true none Currency pair
description string true none none
country string true none Originating country
fxQuote number(double) false none Exchange rate quote
mode string false none local or international
createdDate integer(int32) true none none

Withdraw

{
  "properties": {
    "quantity": {
      "type": "string",
      "description": "How many units"
    },
    "id": {
      "type": "string",
      "description": "Object id"
    }
  },
  "additionalProperties": false,
  "required": [
    "quantity"
  ]
}

Properties

Name Type Required Restrictions Description
quantity string true none How many units
id string false none Object id

Kyc

{
  "properties": {
    "fullnames": {
      "type": "string",
      "description": "User fullnames"
    },
    "address": {
      "type": "string",
      "description": "User verifiable address"
    },
    "phoneNumber": {
      "type": "string",
      "description": "User phoneNumber"
    },
    "country": {
      "type": "string",
      "description": "User country"
    },
    "email": {
      "type": "string",
      "description": "User email"
    },
    "identityId": {
      "type": "string"
    },
    "id": {
      "type": "string",
      "description": "Object id"
    }
  },
  "additionalProperties": false,
  "required": [
    "fullnames",
    "address",
    "phoneNumber",
    "country",
    "email",
    "identityId"
  ]
}

Properties

Name Type Required Restrictions Description
fullnames string true none User fullnames
address string true none User verifiable address
phoneNumber string true none User phoneNumber
country string true none User country
email string true none User email
identityId string true none none
id string false none Object id

ResponseError

{
  "properties": {
    "message": {
      "type": "string"
    },
    "code": {
      "type": "string"
    }
  },
  "additionalProperties": false,
  "required": [
    "message",
    "code"
  ]
}

Properties

Name Type Required Restrictions Description
message string true none none
code string true none none

Client

{
  "properties": {
    "client_id": {
      "type": "string",
      "description": "The client's client_id obtained at registration"
    },
    "client_secret": {
      "type": "string",
      "description": "The client's client_secret obtained at registration"
    },
    "username": {
      "type": "string",
      "example": "joe@example.com",
      "description": "The logon username"
    },
    "password": {
      "type": "string",
      "description": "The logon password"
    }
  },
  "additionalProperties": false,
  "required": [
    "client_id",
    "client_secret",
    "username",
    "password"
  ]
}

Properties

Name Type Required Restrictions Description
client_id string true none The client's client_id obtained at registration
client_secret string true none The client's client_secret obtained at registration
username string true none The logon username
password string true none The logon password

Wallet

{
  "properties": {
    "name": {
      "type": "string",
      "description": "The name of the wallet"
    },
    "symbol": {
      "type": "string",
      "description": "The currency this wallet will hold",
      "example": "USD"
    },
    "userId": {
      "type": "string",
      "description": "The owner of the wallet"
    },
    "balance": {
      "type": "number",
      "format": "double",
      "description": "The wallet balance"
    }
  },
  "additionalProperties": false,
  "required": [
    "name",
    "symbol",
    "userId",
    "balance"
  ]
}

Properties

Name Type Required Restrictions Description
name string true none The name of the wallet
symbol string true none The currency this wallet will hold
userId string true none The owner of the wallet
balance number(double) true none The wallet balance

Product

{
  "properties": {
    "name": {
      "type": "string",
      "example": "Puppy Cat"
    },
    "price": {
      "type": "number",
      "format": "double",
      "example": 2
    },
    "description": {
      "type": "string"
    },
    "insurable": {
      "type": "boolean",
      "description": "Is the product insurable? Defaults to False"
    },
    "bidable": {
      "type": "boolean",
      "description": "Is the product bidable? Defaults to False"
    },
    "quantity": {
      "type": "string"
    },
    "iscontract": {
      "type": "boolean",
      "description": "opens to forward and futures. Defaults to False"
    },
    "type": {
      "type": "string",
      "example": "",
      "description": "Commodity or Consumer Product. Defaults to Consumer Product"
    }
  },
  "additionalProperties": false,
  "description": "A Consumer Product or Commodity",
  "required": [
    "name",
    "price",
    "description",
    "quantity"
  ]
}

A Consumer Product or Commodity

Properties

Name Type Required Restrictions Description
name string true none none
price number(double) true none none
description string true none none
insurable boolean false none Is the product insurable? Defaults to False
bidable boolean false none Is the product bidable? Defaults to False
quantity string true none none
iscontract boolean false none opens to forward and futures. Defaults to False
type string false none Commodity or Consumer Product. Defaults to Consumer Product

FX

{
  "properties": {
    "pair": {
      "type": "string",
      "example": "USD/NGN"
    },
    "trade": {
      "type": "string",
      "description": "Buy or Sell"
    },
    "quantity": {
      "type": "number",
      "format": "double"
    }
  },
  "additionalProperties": false,
  "description": "Buy/Sell FX. Backed by respectable financial institutions.",
  "required": [
    "pair",
    "trade",
    "quantity"
  ]
}

Buy/Sell FX. Backed by respectable financial institutions.

Properties

Name Type Required Restrictions Description
pair string true none none
trade string true none Buy or Sell
quantity number(double) true none none

Account

{
  "properties": {
    "email": {
      "type": "string"
    },
    "accountName": {
      "type": "string"
    },
    "firstname": {
      "type": "string"
    },
    "lastname": {
      "type": "string"
    },
    "password": {
      "type": "string"
    },
    "country": {
      "type": "string"
    },
    "city": {
      "type": "string"
    },
    "address": {
      "type": "string"
    }
  },
  "additionalProperties": false,
  "description": "Join the Likid Network",
  "required": [
    "address",
    "city",
    "country",
    "password",
    "lastname",
    "firstname",
    "accountName",
    "email"
  ]
}

Join the Likid Network

Properties

Name Type Required Restrictions Description
email string true none none
accountName string true none none
firstname string true none none
lastname string true none none
password string true none none
country string true none none
city string true none none
address string true none none

User

{
  "properties": {
    "email": {
      "type": "string"
    },
    "accountname": {
      "type": "string"
    },
    "password": {
      "type": "string"
    },
    "cellphone": {
      "type": "string"
    },
    "firstname": {
      "type": "string"
    },
    "lastname": {
      "type": "string"
    },
    "country": {
      "type": "string"
    },
    "language": {
      "type": "string"
    },
    "address": {
      "type": "string"
    },
    "profileurl": {
      "type": "string"
    },
    "appsprofile": {
      "type": "string"
    },
    "accesstoken": {
      "type": "string"
    }
  },
  "additionalProperties": false,
  "required": [
    "address",
    "country",
    "lastname",
    "firstname",
    "cellphone",
    "password",
    "email"
  ],
  "description": "User Management"
}

User Management

Properties

Name Type Required Restrictions Description
email string true none none
accountname string false none none
password string true none none
cellphone string true none none
firstname string true none none
lastname string true none none
country string true none none
language string false none none
address string true none none
profileurl string false none none
appsprofile string false none none
accesstoken string false none none

Profile

{
  "properties": {
    "id": {
      "type": "string"
    },
    "accountName": {
      "type": "string"
    },
    "email": {
      "type": "string"
    },
    "cellphone": {
      "type": "string"
    },
    "country": {
      "type": "string"
    },
    "address": {
      "type": "string"
    },
    "firstname": {
      "type": "string"
    },
    "lastname": {
      "type": "string"
    },
    "city": {
      "type": "string"
    },
    "accesstoken": {
      "type": "string"
    },
    "profileurl": {
      "type": "string"
    },
    "language": {
      "type": "string"
    },
    "nickname": {
      "type": "string"
    },
    "dob": {
      "type": "string"
    },
    "occupation": {
      "type": "string"
    },
    "iscorporate": {
      "type": "string"
    }
  },
  "additionalProperties": false,
  "description": "A user profile",
  "required": [
    "city",
    "lastname",
    "firstname",
    "address",
    "country",
    "cellphone",
    "email"
  ]
}

A user profile

Properties

Name Type Required Restrictions Description
id string false none none
accountName string false none none
email string true none none
cellphone string true none none
country string true none none
address string true none none
firstname string true none none
lastname string true none none
city string true none none
accesstoken string false none none
profileurl string false none none
language string false none none
nickname string false none none
dob string false none none
occupation string false none none
iscorporate string false none none

UsernamePasswordAuth

{
  "properties": {
    "email": {
      "type": "string"
    },
    "password": {
      "type": "string"
    }
  },
  "additionalProperties": false,
  "required": [
    "email",
    "password"
  ]
}

Properties

Name Type Required Restrictions Description
email string true none none
password string true none none

Credit

{
  "properties": {
    "annualIncome": {
      "type": "number",
      "description": "Your current annual income",
      "format": "double"
    },
    "homeOwnership": {
      "type": "boolean",
      "description": "Do you have a home"
    },
    "empLength": {
      "type": "string",
      "description": "Number of years in current employment"
    },
    "loanAmt": {
      "type": "integer",
      "description": "The credit amount",
      "format": "int32"
    },
    "purpose": {
      "type": "string",
      "description": "The purpose for the credit"
    },
    "desc": {
      "type": "string",
      "description": "Credit description"
    }
  },
  "additionalProperties": false,
  "required": [
    "annualIncome",
    "homeOwnership",
    "empLength",
    "loanAmt",
    "purpose",
    "desc"
  ]
}

Properties

Name Type Required Restrictions Description
annualIncome number(double) true none Your current annual income
homeOwnership boolean true none Do you have a home
empLength string true none Number of years in current employment
loanAmt integer(int32) true none The credit amount
purpose string true none The purpose for the credit
desc string true none Credit description

BankAccount

{
  "properties": {
    "accountName": {
      "type": "string",
      "description": "Bank account name"
    },
    "accountNumber": {
      "type": "string",
      "description": "Bank account number"
    },
    "country": {
      "type": "string"
    },
    "bankId": {
      "type": "string",
      "description": "Bank verifiable identity"
    }
  },
  "additionalProperties": false,
  "required": [
    "accountName",
    "accountNumber"
  ]
}

Properties

Name Type Required Restrictions Description
accountName string true none Bank account name
accountNumber string true none Bank account number
country string false none none
bankId string false none Bank verifiable identity