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 | 
| 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 | 
| 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 | 
|---|---|---|---|---|
| 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 | 
|---|---|---|---|---|
| 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 | 
| 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 | 
|---|---|---|---|---|
| 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 |