Home
Welcome to our main self generated API documentation. For easy start, get Postman Collection
To view all our ecosystem documentation, please visit https://docs.cryptocoin.pro
Authentication
User Authenticate via Platform
Use this endpoint to authenticate an user with a Platform
JWT Payload { email|id: string, expire: required|timestamp|after_or_equal:now }
- email: the user email
- id: the user id
- expire: timestamp in future
Encription RS512
Example request:
curl -X POST \
"https://appapi-public.cryptocoin.pro/api/v1/authenticate-jwt/1" \
-H "Token: {jwt-token}" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/authenticate-jwt/1"
);
let headers = {
"Token": "{jwt-token}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://appapi-public.cryptocoin.pro/api/v1/authenticate-jwt/1',
[
'headers' => [
'Token' => '{jwt-token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/authenticate-jwt/1'
headers = {
'Token': '{jwt-token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers)
response.json()
Example response (200):
{
"data": {
"id": "164671|GbQm7ZZrGd9zbH0PsUnZezdXUzgVWnfnzH2H5Xmk",
"userId": "66de494e-6791-4290-996c-32f42041fbf4",
"ttl": 1209600,
"until": "2020-12-08T09:43:40.289719Z",
"created": "2020-11-24T09:43:40.289746Z"
}
}
Example response (401):
{
"error": "The account is inactive."
}
Example response (403):
{
"error": "The provided credentials are incorrect."
}
Example response (423):
{
"error": "The account is locked."
}
Example response (425):
{
"error": "The account login is restricted for the moment due brute force detected."
}
Example response (412):
{
"message": "JWT payload invalid."
}
Example response (416):
{
"message": "JWT is expired."
}
HTTP Request
POST /api/v1/authenticate-jwt/{platform}
URL Parameters
Parameter | Status | Description |
---|---|---|
platformId |
required | The platform ID. |
User Authenticate
Use this endpoint to authenticate as an user
Example request:
curl -X POST \
"https://appapi-public.cryptocoin.pro/api/v1/authenticate" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"email":"email@gmail.com","password":"12345678","2fa":"123456"}'
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/authenticate"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"email": "email@gmail.com",
"password": "12345678",
"2fa": "123456"
}
fetch(url, {
method: "POST",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://appapi-public.cryptocoin.pro/api/v1/authenticate',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'email' => 'email@gmail.com',
'password' => '12345678',
'2fa' => '123456',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/authenticate'
payload = {
"email": "email@gmail.com",
"password": "12345678",
"2fa": "123456"
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Example response (200):
{
"data": {
"id": "164671|GbQm7ZZrGd9zbH0PsUnZezdXUzgVWnfnzH2H5Xmk",
"userId": "66de494e-6791-4290-996c-32f42041fbf4",
"ttl": 1209600,
"until": "2020-12-08T09:43:40.289719Z",
"created": "2020-11-24T09:43:40.289746Z"
}
}
Example response (401):
{
"error": "The account is inactive."
}
Example response (403):
{
"error": "The provided credentials are incorrect."
}
Example response (423):
{
"error": "The account is locked."
}
Example response (425):
{
"error": "The account login is restricted for the moment due brute force detected."
}
HTTP Request
POST /api/v1/authenticate
Body Parameters
Parameter | Type | Status | Description |
---|---|---|---|
email |
string | required | The user email - (email|max:191). |
password |
string | required | The user password - (min:8|max:191). |
2fa |
string | optional | The user 2FA code - (digits:6). |
User Forgot Password
Use this endpoint to trigger password reset for a user when he forgets his password.
Example request:
curl -X POST \
"https://appapi-public.cryptocoin.pro/api/v1/user/forgot-password" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}" \
-d '{"email":"john@doe.com","type":"link"}'
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/forgot-password"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
let body = {
"email": "john@doe.com",
"type": "link"
}
fetch(url, {
method: "POST",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://appapi-public.cryptocoin.pro/api/v1/user/forgot-password',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
'json' => [
'email' => 'john@doe.com',
'type' => 'link',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/forgot-password'
payload = {
"email": "john@doe.com",
"type": "link"
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Example response (200):
{
"data": {
"message": "The password reset process has started."
}
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"email": [
"The email was not found."
]
}
}
HTTP Request
POST /api/v1/user/forgot-password
Body Parameters
Parameter | Type | Status | Description |
---|---|---|---|
email |
string | required | The user's email (email|max:255). |
type |
string | optional | How to display the token in the email (nullable|in:text,link). |
User Reset Password
Use this endpoint to change the user's password by passing the reset token, email and password.
Example request:
curl -X POST \
"https://appapi-public.cryptocoin.pro/api/v1/user/reset-password" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}" \
-d '{"email":"john@doe.com","token":"123456789","password":"newPassword"}'
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/reset-password"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
let body = {
"email": "john@doe.com",
"token": "123456789",
"password": "newPassword"
}
fetch(url, {
method: "POST",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://appapi-public.cryptocoin.pro/api/v1/user/reset-password',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
'json' => [
'email' => 'john@doe.com',
'token' => '123456789',
'password' => 'newPassword',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/reset-password'
payload = {
"email": "john@doe.com",
"token": "123456789",
"password": "newPassword"
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Example response (200):
{
"data": {
"message": "The password has been successfully changed."
}
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"token": [
"The token is invalid."
]
}
}
HTTP Request
POST /api/v1/user/reset-password
Body Parameters
Parameter | Type | Status | Description |
---|---|---|---|
email |
string | required | The user's email (email|max:255). |
token |
string | required | The token received by the user in his email (max:255). |
password |
string | required | The new password (min:8|max:191). |
User Logout
Requires authentication Use this endpoint to logout an user. It is used to destroy tokens for both types of authentication.
Example request:
curl -X POST \
"https://appapi-public.cryptocoin.pro/api/v1/user/logout" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/logout"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
fetch(url, {
method: "POST",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://appapi-public.cryptocoin.pro/api/v1/user/logout',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/logout'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('POST', url, headers=headers)
response.json()
Example response (200):
{
"status": "Success"
}
Example response (401):
{
"error": "Unauthenticated"
}
HTTP Request
POST /api/v1/user/logout
Balance
APIs for managing balances
Balances NFT Index
Requires authentication Use this endpoint to get NFTs balances.
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4s/balances/nft?assets[]=NFT1" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4s/balances/nft"
);
let params = {
"assets[]": "NFT1",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4s/balances/nft',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
'query' => [
'assets[]'=> 'NFT1',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4s/balances/nft'
params = {
'assets[]': 'NFT1',
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()
Example response (200):
{
"data": [
{
"name": "NFT Token",
"symbol": "CCPRO_NFT1",
"alias": null,
"type": "nft",
"precision": 0,
"quantity": 1,
"memo": false,
"chain": {
"name": "Ethereum",
"symbol": "ETH"
},
"description": {
"en": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
},
"properties": [
{
"type": "Rarity",
"value": "Rare"
},
{
"type": "Shine",
"value": "Stone"
},
{
"type": "Health",
"value": "95"
},
{
"type": "Soul",
"value": "20"
},
{
"type": "Class",
"value": "Defense"
}
],
"meta": {
"image": "https:\/\/i.picsum.photos\/id\/683\/600\/600.jpg?hmac=fNyVqsPjbH5vdOjD8xbFljAVSEHZ9km4kNzU39Va4-U",
"url": "https:\/\/www.youtube.com",
"owner": "Anonymous",
"creator": "0x1ec94be5c72cf0e0524d6ecb6e7bd0ba1700bf72"
},
"favorite": false,
"amounts": {
"crypto": {
"available": "8.0000000000000000000000000",
"vesting": "0.0000000000000000000000000",
"staking": "0.0000000000000000000000000",
"pending": "4.0000000000000000000000000",
"payment": "0.0000000000000000000000000",
"reserve": "0.0000000000000000000000000"
},
"fiat": {
"available": "10.8214400000000000000000000",
"vesting": "0",
"staking": "0",
"pending": "5.4107200000000000000000000",
"payment": "0",
"reserve": "0"
}
}
}
]
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "This action is unauthorized."
}
Example response (409):
{
"message": "This action is unauthorized."
}
HTTP Request
GET /api/v1/user/{user}/balances/nft
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
Query Parameters
Parameter | Status | Description |
---|---|---|
assets[] |
optional | The assets symbol for multiple returns. |
Balances NFT Show
Requires authentication Use this endpoint to get crypto balance of specific NFT.
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/balances/nft/NFT1" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/balances/nft/NFT1"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/balances/nft/NFT1',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/balances/nft/NFT1'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('GET', url, headers=headers)
response.json()
Example response (200):
{
"data": {
"name": "NFT Token",
"symbol": "CCPRO_NFT1",
"alias": null,
"type": "nft",
"precision": 0,
"quantity": 1,
"memo": false,
"chain": {
"name": "Ethereum",
"symbol": "ETH"
},
"description": {
"en": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
},
"properties": [
{
"type": "Rarity",
"value": "Rare"
},
{
"type": "Shine",
"value": "Stone"
},
{
"type": "Health",
"value": "95"
},
{
"type": "Soul",
"value": "20"
},
{
"type": "Class",
"value": "Defense"
}
],
"meta": {
"image": "https:\/\/i.picsum.photos\/id\/683\/600\/600.jpg?hmac=fNyVqsPjbH5vdOjD8xbFljAVSEHZ9km4kNzU39Va4-U",
"url": "https:\/\/www.youtube.com",
"owner": "Anonymous",
"creator": "0x1ec94be5c72cf0e0524d6ecb6e7bd0ba1700bf72"
},
"favorite": false,
"amounts": {
"crypto": {
"available": "8.0000000000000000000000000",
"vesting": "0.0000000000000000000000000",
"staking": "0.0000000000000000000000000",
"pending": "4.0000000000000000000000000",
"payment": "0.0000000000000000000000000",
"reserve": "0.0000000000000000000000000"
},
"fiat": {
"available": "10.8214400000000000000000000",
"vesting": "0",
"staking": "0",
"pending": "5.4107200000000000000000000",
"payment": "0",
"reserve": "0"
}
}
}
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "This action is unauthorized."
}
Example response (409):
{
"message": "This action is unauthorized."
}
HTTP Request
GET /api/v1/user/{user}/balances/nft/{asset}
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
asset |
required | The asset Symbol. |
Balances Crypto Index
Requires authentication Use this endpoint to get crypto balances.
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4s/balances?assets[]=ETH" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4s/balances"
);
let params = {
"assets[]": "ETH",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4s/balances',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
'query' => [
'assets[]'=> 'ETH',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4s/balances'
params = {
'assets[]': 'ETH',
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()
Example response (200):
{
"data": {
"coins": [
{
"name": "Ethereum",
"symbol": "ETH",
"alias": null,
"type": "coin",
"precision": "5",
"quantity": -1,
"memo": false,
"chain": {
"name": null,
"symbol": null
},
"description": {},
"properties": [],
"meta": {},
"favorite": true,
"amounts": {
"crypto": {
"available": "26.9486900595761330185619308",
"vesting": "2.6000000000000000000000000",
"staking": "0.9000000000000000000000000",
"pending": "16.0992852907643554284205211",
"payment": "0.0000000000000000000000000",
"reserve": "0.0000000000000000000000000"
},
"fiat": {
"available": "36138.1933698915943778915492028",
"vesting": "3486.6000000000000000000000000",
"staking": "1206.9000000000000000000000000",
"pending": "21589.1415749150006295119187951",
"payment": "0",
"reserve": "0"
}
}
}
]
}
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "This action is unauthorized."
}
Example response (409):
{
"message": "This action is unauthorized."
}
HTTP Request
GET /api/v1/user/{user}/balances
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
Query Parameters
Parameter | Status | Description |
---|---|---|
assets[] |
optional | The assets symbol for multiple returns. |
Balances Crypto Show
Requires authentication Use this endpoint to get crypto balance of specific crypto.
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/balances/ETH" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/balances/ETH"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/balances/ETH',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/balances/ETH'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('GET', url, headers=headers)
response.json()
Example response (200):
{
"data": {
"name": "Ethereum",
"symbol": "ETH",
"alias": null,
"type": "coin",
"precision": "5",
"quantity": -1,
"memo": false,
"chain": {
"name": null,
"symbol": null
},
"description": {
"en": "Ethereum is a smart contract platform that enables developers to build tokens and decentralized applications (dapps). ETH is the *native currency for the Ethereum platform and also works as the transaction fees to miners on the Ethereum network.\r\n\r\nEthereum is the *pioneer for blockchain based smart contracts. Smart contract is essentially a computer code that runs exactly as programmed without any *possibility of downtime, censorship, fraud or third-party interference. It can facilitate the exchange of money, content, property, shares, *or anything of value. When running on the blockchain a smart contract becomes like a self-operating computer program that automatically *executes when specific conditions are met.\r\n\r\nEthereum allows programmers to run complete-turing smart contracts that is capable of any *customizations. Rather than giving a set of limited operations, Ethereum allows developers to have complete control over customization of *their smart contract, giving developers the power to build unique and innovative applications.\r\n\r\nEthereum being the first blockchain *based smart contract platform, they have gained much popularity, resulting in new competitors fighting for market share. The competitors *includes: Ethereum Classic which is the oldchain of Ethereum, Qtum, EOS, Neo, Icon, Tron and Cardano.\r\n\r\nEthereum wallets are fairly *simple to set up with multiple popular choices such as myetherwallet, metamask, and Trezor. Read here for more guide on using ethereum *wallet: How to Use an Ethereum Wallet"
},
"properties": [],
"meta": {
"image": "https:\/\/i.picsum.photos\/id\/683\/600\/600.jpg?hmac=fNyVqsPjbH5vdOjD8xbFljAVSEHZ9km4kNzU39Va4-U",
"url": "https:\/\/www.youtube.com",
"owner": "Anonymous",
"creator": "0x1ec94be5c72cf0e0524d6ecb6e7bd0ba1700bf72",
"genesis_date": "2015-07-30",
"links": {
"website": "https:\/\/www.ethereum.org\/",
"github": "https:\/\/github.com\/ethereum\/go-ethereum",
"facebook": "https:\/\/www.facebook.com\/ethereumproject",
"twitter": "https:\/\/www.twitter.com\/ethereum"
},
"total_supply": 120437974.049406
},
"favorite": true,
"amounts": {
"crypto": {
"available": "26.9486900595761330185619308",
"vesting": "2.6000000000000000000000000",
"staking": "0.9000000000000000000000000",
"pending": "16.0992852907643554284205211",
"payment": "0.0000000000000000000000000",
"reserve": "0.0000000000000000000000000"
},
"fiat": {
"available": "36138.1933698915943778915492028",
"vesting": "3486.6000000000000000000000000",
"staking": "1206.9000000000000000000000000",
"pending": "21589.1415749150006295119187951",
"payment": "0",
"reserve": "0"
}
}
}
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "This action is unauthorized."
}
Example response (409):
{
"message": "This action is unauthorized."
}
HTTP Request
GET /api/v1/user/{user}/balances/{asset}
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
asset |
required | The asset Symbol. |
Bank
APIs for managing user banks
Bank Create
Requires authentication Use this endpoint to create user bank.
Example request:
curl -X POST \
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/bank" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}" \
-d '{"bankName":"ING Bank","iban":"RO020NGB00009999002858000","swift":"123456","currency":"EUR"}'
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/bank"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
let body = {
"bankName": "ING Bank",
"iban": "RO020NGB00009999002858000",
"swift": "123456",
"currency": "EUR"
}
fetch(url, {
method: "POST",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/bank',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
'json' => [
'bankName' => 'ING Bank',
'iban' => 'RO020NGB00009999002858000',
'swift' => '123456',
'currency' => 'EUR',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/bank'
payload = {
"bankName": "ING Bank",
"iban": "RO020NGB00009999002858000",
"swift": "123456",
"currency": "EUR"
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Example response (201):
{
"data": {
"id": "aa7a66a2-fbb5-422e-bc52-7912fa2c96f9",
"status": "CONFIRMED",
"bankName": "bank name",
"iban": "RO020NGB00009999002858000",
"swift": "123456",
"currency": "RON",
"externalPlatform": {
"code": "CCPRO",
"name": "CryptoCoin",
"url": "https:\/\/app.cryptocoin.pro"
},
"createdAt": 1557411215
}
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"currency": [
"The selected currency is invalid."
]
}
}
HTTP Request
POST /api/v1/user/{user}/bank
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
Body Parameters
Parameter | Type | Status | Description |
---|---|---|---|
bankName |
string | required | The bank name - (max:191). |
iban |
string | required | The bank IBAN - (max:191|alpha_num|unique). |
swift |
string | required | The bank Swift code - (alpha_num|between:8,11). |
currency |
string | required | The bank ISO currency code - (alpha_num|isoCurrencyCode). |
Bank Index
Requires authentication Use this endpoint to get user banks.
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/bank?status=confirmed¤cy=EUR&company=BoostIT&platform=CCPRO" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/bank"
);
let params = {
"status": "confirmed",
"currency": "EUR",
"company": "BoostIT",
"platform": "CCPRO",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/bank',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
'query' => [
'status'=> 'confirmed',
'currency'=> 'EUR',
'company'=> 'BoostIT',
'platform'=> 'CCPRO',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/bank'
params = {
'status': 'confirmed',
'currency': 'EUR',
'company': 'BoostIT',
'platform': 'CCPRO',
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()
Example response (200):
{
"data": [
{
"id": "aa7a66a2-fbb5-422e-bc52-7912fa2c96f9",
"status": "CONFIRMED",
"bankName": "bank name",
"iban": "RO020NGB00009999002858000",
"swift": "123456",
"currency": "RON",
"externalPlatform": {
"code": "CCPRO",
"name": "CryptoCoin",
"url": "https:\/\/app.cryptocoin.pro"
},
"createdAt": 1557411215
}
]
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (409):
{
"message": "This action is unauthorized."
}
HTTP Request
GET /api/v1/user/{user}/bank
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
Query Parameters
Parameter | Status | Description |
---|---|---|
status |
optional | Filter by Status. |
currency |
optional | Filter by Currency. |
company |
optional | Filter by Company. |
platform |
optional | Filter by Platform. |
Bank Show
Requires authentication Use this endpoint to get user specific bank.
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/bank/aa7a66a2-fbb5-422e-bc52-7912fa2c96f9" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/bank/aa7a66a2-fbb5-422e-bc52-7912fa2c96f9"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/bank/aa7a66a2-fbb5-422e-bc52-7912fa2c96f9',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/bank/aa7a66a2-fbb5-422e-bc52-7912fa2c96f9'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('GET', url, headers=headers)
response.json()
Example response (200):
{
"data": {
"id": "aa7a66a2-fbb5-422e-bc52-7912fa2c96f9",
"status": "CONFIRMED",
"bankName": "bank name",
"iban": "RO020NGB00009999002858000",
"swift": "123456",
"currency": "RON",
"externalPlatform": {
"code": "CCPRO",
"name": "CryptoCoin",
"url": "https:\/\/app.cryptocoin.pro"
},
"createdAt": 1557411215
}
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (404):
{
"message": "No query results."
}
Example response (409):
{
"message": "This action is unauthorized."
}
HTTP Request
GET /api/v1/user/{user}/bank/{bank}
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
bank |
required | The bank ID. |
Bank Destroy
Requires authentication Use this endpoint to destroy user bank.
Example request:
curl -X DELETE \
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/bank/aa7a66a2-fbb5-422e-bc52-7912fa2c96f9" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/bank/aa7a66a2-fbb5-422e-bc52-7912fa2c96f9"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
fetch(url, {
method: "DELETE",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->delete(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/bank/aa7a66a2-fbb5-422e-bc52-7912fa2c96f9',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/bank/aa7a66a2-fbb5-422e-bc52-7912fa2c96f9'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('DELETE', url, headers=headers)
response.json()
Example response (200):
{
"message": "This bank has been successfully deleted."
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "This action is unauthorized."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (403):
{
"message": "This bank has been already used in previous actions."
}
Example response (409):
{
"message": "This action is unauthorized."
}
HTTP Request
DELETE /api/v1/user/{user}/bank/{bank}
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
bank |
required | The bank ID. |
Bonus
APIs for managing user bonuses
Bonuses Assets
Requires authentication Use this endpoint to get user bonuses Assets.
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/bonus/assets/ETH" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/bonus/assets/ETH"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/bonus/assets/ETH',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/bonus/assets/ETH'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('GET', url, headers=headers)
response.json()
Example response (200):
{
"data": [
{
"asset": {
"name": "Ethereum",
"symbol": "ETH",
"alias": null,
"type": "coin",
"precision": "8"
},
"orders": 3,
"distributed": {
"bonuses": 2,
"amount": 12.00280112
},
"pending": {
"bonuses": 2,
"amount": 9.66853408
},
"canceled": {
"bonuses": 2,
"amount": 9.66853408
}
}
]
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
HTTP Request
GET /api/v1/user/{user}/bonus/assets/{asset?}
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
asset |
optional | The asset symbol. |
Bonus Index
Requires authentication Use this endpoint to get user bonuses.
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/bonus?status=distributed&platform=CCPRO" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/bonus"
);
let params = {
"status": "distributed",
"platform": "CCPRO",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/bonus',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
'query' => [
'status'=> 'distributed',
'platform'=> 'CCPRO',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/bonus'
params = {
'status': 'distributed',
'platform': 'CCPRO',
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()
Example response (200):
{
"data": [
{
"id": "51841783-42c6-4426-b180-20e1239fca51",
"amount": "5",
"type": "amount",
"value": "5",
"status": "canceled",
"user": {
"id": "66de494e-6791-4290-996c-32f42041fbf4",
"isActive": true,
"status": "active",
"tradeStatus": true,
"email": "al***@gmail.com",
"options": {
"language": "en",
"theme": "light",
"layout": "expanded",
"guard": {
"antiPhishing": "te***",
"actions": {
"login": {
"2fa": true,
"password": true
},
"operations": {
"2fa": true,
"password": true
}
}
}
},
"meta": {
"source": "web"
},
"selfDeleted": {
"status": null,
"dates": {
"initiated": null,
"confirmed": null,
"deleted": null
}
},
"createdAt": 1554204615,
"deletedAt": null
},
"asset": {
"name": "Ethereum",
"symbol": "ETH",
"alias": null,
"type": "coin",
"precision": "8"
},
"order": {
"id": "dee03f54-5a31-41af-964b-68fb4fbe2652",
"publicId": "2RBYMNQO",
"status": "REJECTED",
"statusReason": null,
"type": "coin",
"typeOperation": "in",
"typeOperationName": "buy_with_fiat",
"fromSymbol": "EUR",
"fromAmount": "99.9999999936000000000000000",
"rate": "2.1420000000000000000000000",
"toSymbol": "ETH",
"toAmount": "46.6853408000000000000000000",
"fromAsset": {
"name": "Euro",
"symbol": "EUR",
"alias": null,
"type": "fiat",
"precision": "2"
},
"toAsset": {
"name": "Ethereum",
"symbol": "ETH",
"alias": null,
"type": "coin",
"precision": "8"
},
"txId": null,
"wallet": null,
"walletAddress": null,
"parentOrder": {
"id": null,
"publicId": null
},
"childOrder": {
"id": null,
"publicId": null
},
"payment": {
"method": "bank",
"id": null,
"meta": null,
"url": null,
"lifeSeconds": 7200,
"lifeUntilAt": 1656499971,
"currency": null,
"amount": null,
"feePercent": "2",
"feeAmount": "1.9599999936000000000000000",
"feeOnTop": false,
"showFee": true,
"proofUploaded": null
},
"commissions": {
"percent": "0.0000000000000000000000000",
"amount": "0.0000000000000000000000000"
},
"mode": {
"type": "normal",
"status": null,
"amount": null,
"rate": null,
"total": null,
"commission": null,
"additional": null,
"observation": null,
"expireAt": null,
"url": null
},
"meta": {
"main": []
},
"updates": {
"wallet": {
"status": null,
"address": null,
"url": null
}
},
"quote": {
"id": "e5696e15-cda2-45a2-8b9b-94e9a2f5c874",
"publicId": "J2F9LIKA"
},
"transfer": null,
"externalPlatform": {
"id": "b5a06762-0af5-4e18-89fd-1eb5b0f4e6e6",
"code": "ETH",
"name": "CryptoCoin",
"color_code": "#13CD89",
"urls": {
"website": "https:\/\/app.cryptocoin.pro\/",
"widget": "http:\/\/dev-checkout.cryptocoin-app.test\/order\/ETH"
}
},
"createdAt": 1656492771
},
"bonusedAt": 1656493131,
"createdAt": 1656492771
}
]
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (409):
{
"message": "This action is unauthorized."
}
HTTP Request
GET /api/v1/user/{user}/bonus
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
Query Parameters
Parameter | Status | Description |
---|---|---|
status |
optional | Filter by Status. Available values: distributed,pending,canceled. |
platform |
optional | Filter by Platform. |
Bonus Show
Requires authentication Use this endpoint to get a user bonuses.
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/bonus/5d482936-d7b4-4ef2-bef7-a230ca712a4b" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/bonus/5d482936-d7b4-4ef2-bef7-a230ca712a4b"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/bonus/5d482936-d7b4-4ef2-bef7-a230ca712a4b',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/bonus/5d482936-d7b4-4ef2-bef7-a230ca712a4b'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('GET', url, headers=headers)
response.json()
Example response (200):
{
"data": {
"id": "51841783-42c6-4426-b180-20e1239fca51",
"amount": "5",
"type": "amount",
"value": "5",
"status": "canceled",
"user": {
"id": "66de494e-6791-4290-996c-32f42041fbf4",
"isActive": true,
"status": "active",
"tradeStatus": true,
"email": "al***@gmail.com",
"options": {
"language": "en",
"theme": "light",
"layout": "expanded",
"guard": {
"antiPhishing": "te***",
"actions": {
"login": {
"2fa": true,
"password": true
},
"operations": {
"2fa": true,
"password": true
}
}
}
},
"meta": {
"source": "web"
},
"selfDeleted": {
"status": null,
"dates": {
"initiated": null,
"confirmed": null,
"deleted": null
}
},
"createdAt": 1554204615,
"deletedAt": null
},
"asset": {
"name": "Ethereum",
"symbol": "ETH",
"alias": null,
"type": "coin",
"precision": "8"
},
"order": {
"id": "dee03f54-5a31-41af-964b-68fb4fbe2652",
"publicId": "2RBYMNQO",
"status": "REJECTED",
"statusReason": null,
"type": "coin",
"typeOperation": "in",
"typeOperationName": "buy_with_fiat",
"fromSymbol": "EUR",
"fromAmount": "99.9999999936000000000000000",
"rate": "2.1420000000000000000000000",
"toSymbol": "ETH",
"toAmount": "46.6853408000000000000000000",
"fromAsset": {
"name": "Euro",
"symbol": "EUR",
"alias": null,
"type": "fiat",
"precision": "2"
},
"toAsset": {
"name": "Ethereum",
"symbol": "ETH",
"alias": null,
"type": "coin",
"precision": "8"
},
"txId": null,
"wallet": null,
"walletAddress": null,
"parentOrder": {
"id": null,
"publicId": null
},
"childOrder": {
"id": null,
"publicId": null
},
"payment": {
"method": "bank",
"id": null,
"meta": null,
"url": null,
"lifeSeconds": 7200,
"lifeUntilAt": 1656499971,
"currency": null,
"amount": null,
"feePercent": "2",
"feeAmount": "1.9599999936000000000000000",
"feeOnTop": false,
"showFee": true,
"proofUploaded": null
},
"commissions": {
"percent": "0.0000000000000000000000000",
"amount": "0.0000000000000000000000000"
},
"mode": {
"type": "normal",
"status": null,
"amount": null,
"rate": null,
"total": null,
"commission": null,
"additional": null,
"observation": null,
"expireAt": null,
"url": null
},
"meta": {
"main": []
},
"updates": {
"wallet": {
"status": null,
"address": null,
"url": null
}
},
"quote": {
"id": "e5696e15-cda2-45a2-8b9b-94e9a2f5c874",
"publicId": "J2F9LIKA"
},
"transfer": null,
"externalPlatform": {
"id": "b5a06762-0af5-4e18-89fd-1eb5b0f4e6e6",
"code": "ETH",
"name": "CryptoCoin",
"color_code": "#13CD89",
"urls": {
"website": "https:\/\/app.cryptocoin.pro\/",
"widget": "http:\/\/dev-checkout.cryptocoin-app.test\/order\/ETH"
}
},
"createdAt": 1656492771
},
"bonusedAt": 1656493131,
"createdAt": 1656492771
}
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (404):
{
"message": "No query results."
}
Example response (409):
{
"message": "This action is unauthorized."
}
HTTP Request
GET /api/v1/user/{user}/bonus/{bonus}
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
bonus |
required | The bonus ID. |
Card
APIs for managing user cards
Card Create
Requires authentication Use this endpoint to create a user card.
Example request:
curl -X POST \
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/card" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}" \
-d '{"cardImage1":"File","cardImage2":"File","holderName":"Alin Ionut","expirationDate":"10\/19","expirationMonth":"10","expirationYear":"19","lastFourDigits":"1234","alias":"MyFavoriteCard"}'
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/card"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
let body = {
"cardImage1": "File",
"cardImage2": "File",
"holderName": "Alin Ionut",
"expirationDate": "10\/19",
"expirationMonth": "10",
"expirationYear": "19",
"lastFourDigits": "1234",
"alias": "MyFavoriteCard"
}
fetch(url, {
method: "POST",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/card',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
'json' => [
'cardImage1' => 'File',
'cardImage2' => 'File',
'holderName' => 'Alin Ionut',
'expirationDate' => '10/19',
'expirationMonth' => '10',
'expirationYear' => '19',
'lastFourDigits' => '1234',
'alias' => 'MyFavoriteCard',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/card'
payload = {
"cardImage1": "File",
"cardImage2": "File",
"holderName": "Alin Ionut",
"expirationDate": "10\/19",
"expirationMonth": "10",
"expirationYear": "19",
"lastFourDigits": "1234",
"alias": "MyFavoriteCard"
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Example response (201):
{
"data": {
"id": "5d482936-d7b4-4ef2-bef7-a230ca712a4b",
"status": "CONFIRMED",
"alias": "test",
"holderName": "Alin",
"expirationDate": "06\/19",
"lastFourDigits": "2453",
"cardImage1": "1945",
"cardImage2": "1946",
"externalPlatform": {
"code": "CCPRO",
"name": "CryptoCoin",
"url": "https:\/\/app.cryptocoin.pro"
},
"createdAt": 1557411204
}
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"lastFourDigits": [
"The last four digits field is required."
]
}
}
HTTP Request
POST /api/v1/user/{user}/card
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
Body Parameters
Parameter | Type | Status | Description | |||
---|---|---|---|---|---|---|
cardImage1 |
file | required | The card image - (image|mimes:jpg,jpeg,bmp,png|max:10240kb). | |||
cardImage2 |
file | required | The card image with user holding it - (image|mimes:jpg,jpeg,bmp,png|max:10240kb). | |||
holderName |
string | required | The card user name - (max:191). | |||
expirationDate |
string | required | The card Expiration date - (required_without_all:expirationMonth,expirationYear|date_format:m/y|after_or_equal:today). | |||
expirationMonth |
string | optional | The card Expiration month - (required_without:expirationDate|required_with:expirationYear|date_format:m). | |||
expirationYear |
string | optional | The card Expiration year - (required_without:expirationDate | required_with:expirationMonth | date_format:y | after_or_equal:today). |
lastFourDigits |
string | required | The card last 4 digits - (numeric|digits:4). | |||
alias |
string | required | The card custom alias - (string|max:191). |
Card Index
Requires authentication Use this endpoint to get user cards.
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/card?status=confirmed&company=BoostIT&platform=CCPRO" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/card"
);
let params = {
"status": "confirmed",
"company": "BoostIT",
"platform": "CCPRO",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/card',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
'query' => [
'status'=> 'confirmed',
'company'=> 'BoostIT',
'platform'=> 'CCPRO',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/card'
params = {
'status': 'confirmed',
'company': 'BoostIT',
'platform': 'CCPRO',
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()
Example response (200):
{
"data": [
{
"id": "5d482936-d7b4-4ef2-bef7-a230ca712a4b",
"status": "CONFIRMED",
"alias": "test",
"holderName": "Alin",
"expirationDate": "06\/19",
"lastFourDigits": "2453",
"cardImage1": "1945",
"cardImage2": "1946",
"externalPlatform": {
"code": "CCPRO",
"name": "CryptoCoin",
"url": "https:\/\/app.cryptocoin.pro"
},
"createdAt": 1557411204
}
]
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (409):
{
"message": "This action is unauthorized."
}
HTTP Request
GET /api/v1/user/{user}/card
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
Query Parameters
Parameter | Status | Description |
---|---|---|
status |
optional | Filter by Status. |
company |
optional | Filter by Company. |
platform |
optional | Filter by Platform. |
Card Show
Requires authentication Use this endpoint to get a user card.
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/card/5d482936-d7b4-4ef2-bef7-a230ca712a4b" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/card/5d482936-d7b4-4ef2-bef7-a230ca712a4b"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/card/5d482936-d7b4-4ef2-bef7-a230ca712a4b',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/card/5d482936-d7b4-4ef2-bef7-a230ca712a4b'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('GET', url, headers=headers)
response.json()
Example response (200):
{
"data": {
"id": "5d482936-d7b4-4ef2-bef7-a230ca712a4b",
"status": "CONFIRMED",
"alias": "test",
"holderName": "Alin",
"expirationDate": "06\/19",
"lastFourDigits": "2453",
"cardImage1": "1945",
"cardImage2": "1946",
"externalPlatform": {
"code": "CCPRO",
"name": "CryptoCoin",
"url": "https:\/\/app.cryptocoin.pro"
},
"createdAt": 1557411204
}
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (404):
{
"message": "No query results."
}
Example response (409):
{
"message": "This action is unauthorized."
}
HTTP Request
GET /api/v1/user/{user}/card/{card}
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
card |
required | The card ID. |
Card Update
Requires authentication Use this endpoint to update a user card.
Example request:
curl -X POST \
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/card/5d482936-d7b4-4ef2-bef7-a230ca712a4b" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}" \
-d '{"cardImage1":"File","cardImage2":"File","holderName":"Alin Ionut","expirationDate":"10\/19","expirationMonth":"10","expirationYear":"19","lastFourDigits":"1234","alias":"MyFavoriteCard"}'
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/card/5d482936-d7b4-4ef2-bef7-a230ca712a4b"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
let body = {
"cardImage1": "File",
"cardImage2": "File",
"holderName": "Alin Ionut",
"expirationDate": "10\/19",
"expirationMonth": "10",
"expirationYear": "19",
"lastFourDigits": "1234",
"alias": "MyFavoriteCard"
}
fetch(url, {
method: "POST",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/card/5d482936-d7b4-4ef2-bef7-a230ca712a4b',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
'json' => [
'cardImage1' => 'File',
'cardImage2' => 'File',
'holderName' => 'Alin Ionut',
'expirationDate' => '10/19',
'expirationMonth' => '10',
'expirationYear' => '19',
'lastFourDigits' => '1234',
'alias' => 'MyFavoriteCard',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/card/5d482936-d7b4-4ef2-bef7-a230ca712a4b'
payload = {
"cardImage1": "File",
"cardImage2": "File",
"holderName": "Alin Ionut",
"expirationDate": "10\/19",
"expirationMonth": "10",
"expirationYear": "19",
"lastFourDigits": "1234",
"alias": "MyFavoriteCard"
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Example response (200):
{
"data": {
"id": "5d482936-d7b4-4ef2-bef7-a230ca712a4b",
"status": "CONFIRMED",
"alias": "test",
"holderName": "Alin",
"expirationDate": "06\/19",
"lastFourDigits": "2453",
"cardImage1": "1945",
"cardImage2": "1946",
"externalPlatform": {
"code": "CCPRO",
"name": "CryptoCoin",
"url": "https:\/\/app.cryptocoin.pro"
},
"createdAt": 1557411204
}
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (404):
{
"message": "No query results."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"alias": [
"The alias field is required."
]
}
}
HTTP Request
POST /api/v1/user/{user}/card/{card}
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
card |
required | The card ID. |
Body Parameters
Parameter | Type | Status | Description | |||
---|---|---|---|---|---|---|
cardImage1 |
file | required | The card image - (image|mimes:jpg,jpeg,bmp,png|max:10240kb). | |||
cardImage2 |
file | required | The card image with user holding it - (image|mimes:jpg,jpeg,bmp,png|max:10240kb). | |||
holderName |
string | required | The card user name - (max:191). | |||
expirationDate |
string | required | The card Expiration date - (required_without_all:expirationMonth,expirationYear|date_format:m/y|after_or_equal:today). | |||
expirationMonth |
string | optional | The card Expiration month - (required_without:expirationDate|required_with:expirationYear|date_format:m). | |||
expirationYear |
string | optional | The card Expiration year - (required_without:expirationDate | required_with:expirationMonth | date_format:y | after_or_equal:today). |
lastFourDigits |
string | required | The card last 4 digits - (numeric|digits:4). | |||
alias |
string | required | The card custom alias - (string|max:191). |
Card Destroy
Requires authentication Use this endpoint to destroy user bank.
Example request:
curl -X DELETE \
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/card/5d482936-d7b4-4ef2-bef7-a230ca712a4b" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/card/5d482936-d7b4-4ef2-bef7-a230ca712a4b"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
fetch(url, {
method: "DELETE",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->delete(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/card/5d482936-d7b4-4ef2-bef7-a230ca712a4b',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/card/5d482936-d7b4-4ef2-bef7-a230ca712a4b'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('DELETE', url, headers=headers)
response.json()
Example response (200):
{
"message": "This card has been successfully deleted."
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "This action is unauthorized."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (403):
{
"message": "This card has been already used in previous actions."
}
Example response (409):
{
"message": "This action is unauthorized."
}
HTTP Request
DELETE /api/v1/user/{user}/card/{card}
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
card |
required | The card ID. |
Checkout
APIs for managing checkout
Checkout Index
Requires authentication Use this endpoint to get user checkouts.
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/checkout?id=iZE9qxz6&user=jon%40winterfell.got&step=payment&status=finished&type=buy_with_fiat&payment_method=card&service_type=subscription&service_id=ea69d0c9-8370-4aca-942d-ebcc50d2adaa&platform=app" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/checkout"
);
let params = {
"id": "iZE9qxz6",
"user": "jon@winterfell.got",
"step": "payment",
"status": "finished",
"type": "buy_with_fiat",
"payment_method": "card",
"service_type": "subscription",
"service_id": "ea69d0c9-8370-4aca-942d-ebcc50d2adaa",
"platform": "app",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/checkout',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
'query' => [
'id'=> 'iZE9qxz6',
'user'=> 'jon@winterfell.got',
'step'=> 'payment',
'status'=> 'finished',
'type'=> 'buy_with_fiat',
'payment_method'=> 'card',
'service_type'=> 'subscription',
'service_id'=> 'ea69d0c9-8370-4aca-942d-ebcc50d2adaa',
'platform'=> 'app',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/checkout'
params = {
'id': 'iZE9qxz6',
'user': 'jon@winterfell.got',
'step': 'payment',
'status': 'finished',
'type': 'buy_with_fiat',
'payment_method': 'card',
'service_type': 'subscription',
'service_id': 'ea69d0c9-8370-4aca-942d-ebcc50d2adaa',
'platform': 'app',
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()
Example response (200):
{
"data": [
{
"id": "a8b89dcf-fc7a-4593-8c8b-6a235f0e62b3",
"publicId": "Z8URCDUS",
"status": "processing",
"step": "kyc",
"attemptsQuote": {
"count": 1,
"limit": 3
},
"requestId": "626b4396-4090-4bcd-9388-59da1b9363d4",
"paymentType": "bank",
"ip": null,
"url": null,
"redirectUrl": "https:\/\/app.cryptocoin.pro\/",
"pingUrl": "https:\/\/dev-app.infra.cryptocoin.pro?ping=order-ccpro",
"user": {
"id": "66de494e-6791-4290-996c-32f42041fbf4",
"isActive": true,
"tradeStatus": true,
"email": "al**@gmail.com",
"options": {
"language": "en",
"theme": "dark"
},
"meta": {
"source": "web"
},
"selfDeletedAt": null,
"createdAt": 1554204615
},
"externalPlatform": {
"code": "CCPRO",
"name": "CryptoCoin",
"url": "https:\/\/app.cryptocoin.pro\/"
},
"verifyType": "checkout",
"emailVerifiedAt": 1679898371,
"phoneVerifiedAt": 1679899431,
"expiredAt": 1594114356,
"createdAt": 1593509574
}
]
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (409):
{
"message": "This action is unauthorized."
}
HTTP Request
GET /api/v1/user/{user}/checkout
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
Query Parameters
Parameter | Status | Description |
---|---|---|
id |
optional | Filter by Public ID. |
user |
optional | Filter by User Email/ID. |
step |
optional | Filter by Step. |
status |
optional | Filter by Status. |
type |
optional | Filter by Type. |
payment_method |
optional | Filter by Payment method. |
service_type |
optional | Filter by Service type. |
service_id |
optional | Filter by Service id. |
platform |
optional | Filter by Platform code. |
Checkout Show
Requires authentication Use this endpoint to get a user checkout.
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/checkout/fc0388dc-63c5-4fbe-bc53-c11ba3bdb94e" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/checkout/fc0388dc-63c5-4fbe-bc53-c11ba3bdb94e"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/checkout/fc0388dc-63c5-4fbe-bc53-c11ba3bdb94e',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/checkout/fc0388dc-63c5-4fbe-bc53-c11ba3bdb94e'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('GET', url, headers=headers)
response.json()
Example response (200):
{
"data": {
"id": "fc0388dc-63c5-4fbe-bc53-c11ba3bdb94e",
"publicId": "Z8URCDUS",
"status": "processing",
"step": "kyc",
"attemptsQuote": {
"count": 1,
"limit": 3
},
"requestId": "626b4396-4090-4bcd-9388-59da1b9363d4",
"paymentType": "bank",
"ip": null,
"url": null,
"user": {
"id": "66de494e-6791-4290-996c-32f42041fbf4",
"isActive": true,
"tradeStatus": true,
"email": "al**@gmail.com",
"options": {
"language": "en",
"theme": "dark"
},
"meta": {
"source": "web"
},
"selfDeletedAt": null,
"createdAt": 1554204615
},
"externalPlatform": {
"code": "CCPRO",
"name": "CryptoCoin",
"url": "https:\/\/app.cryptocoin.pro\/"
},
"verifyType": "checkout",
"emailVerifiedAt": 1679898371,
"phoneVerifiedAt": 1679899431,
"expiredAt": 1594114356,
"createdAt": 1593509574
}
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (404):
{
"message": "No query results."
}
Example response (409):
{
"message": "This action is unauthorized."
}
HTTP Request
GET /api/v1/user/{user}/checkout/{checkout}
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
checkout |
required | The checkout ID. |
Checkout Validate Email
Requires authentication Use this endpoint to verify email on a user checkout.
Example request:
curl -X POST \
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/checkout/fc0388dc-63c5-4fbe-bc53-c11ba3bdb94e/verify/email" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}" \
-d '{"code":"1234567890"}'
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/checkout/fc0388dc-63c5-4fbe-bc53-c11ba3bdb94e/verify/email"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
let body = {
"code": "1234567890"
}
fetch(url, {
method: "POST",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/checkout/fc0388dc-63c5-4fbe-bc53-c11ba3bdb94e/verify/email',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
'json' => [
'code' => '1234567890',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/checkout/fc0388dc-63c5-4fbe-bc53-c11ba3bdb94e/verify/email'
payload = {
"code": "1234567890"
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Example response (200):
{
"data": [
{
"id": "fc0388dc-63c5-4fbe-bc53-c11ba3bdb94e",
"publicId": "UFMSS9AS",
"status": "expired",
"step": "account-details",
"attemptsQuote": {
"count": 0,
"limit": 3
},
"requestId": "957c0c28-99a1-49ce-85f7-9be9f4cc4f40",
"paymentType": "bank",
"ip": null,
"url": "http:\/\/dev-checkout.cryptocoin-app.test?lang=ro&display=light&platform_id=dc9dbd8c-b57a-4b55-bf0c-17c6095d1a6c&resume=false&token=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzUxMiJ9.eyJ1c2VyIjp7ImlkIjoiYmIxNzc2MmEtOGQyYS00YTRhLTkxYzUtMmRmOWNkMDcyNDg1IiwiZW1haWwiOiJwYWl6YW4uYWxleGFuZHJ1OTNAZ21haWwuY29tIiwiZmlyc3RfbmFtZSI6IkFsZXgiLCJsYXN0X25hbWUiOiJQYWl6YW4iLCJkb2IiOiIxOTkzLTA2LTE4IiwicGhvbmUiOiIrNDA3NjAzODY1NzEiLCJ3YWxsZXQiOiIweDIxOTgzNzIxMjF4enNhZHNhMjE0MjFzYSJ9LCJwYXltZW50Ijp7Im9wZXJhdGlvbiI6ImJ1eSIsInR5cGUiOiJjb2luIiwic3ltYm9sIjoiRVRIIiwiYW1vdW50IjoiMSIsInJhdGUiOiIyMjcuNjIwMDAiLCJmaWF0IjoiRVVSIiwicmVxdWVzdF9pZCI6Ijk1N2MwYzI4LTk5YTEtNDljZS04NWY3LTliZTlmNGNjNGY0MCIsIm1ldGhvZCI6ImJhbmsiLCJhdHRlbXB0cyI6Mywic2Vjb25kX29yZGVyX3R5cGUiOiJ3aXRoZHJhdyJ9LCJwaW5nX3VybCI6Imh0dHBzOlwvXC9kZXYtYXBwLmluZnJhLmNyeXB0b2NvaW4ucHJvP3Bpbmc9b3JkZXItbmFzaCIsInJlZGlyZWN0X3VybCI6Imh0dHBzOlwvXC9uYXNoLmlvXC8iLCJleHBpcmUiOjE1ODI1NDE2NjB9.MNyQe5FdBiAxzm4y_I4JWxpwWLl3eMOvKeN_rKGK3AGFKuDqmKvh59zK463F_2sEc-G0iIATPu59VUz2TRfaXFAQ2MYdTWCeDbFtGUfd51F7-qytLErw1UV--DLeRlNd0KGTJG1EjTHBu_BaT4LjDgGUEAcrkQ2b_45BjDKXqSQUfDkH6PU4Los06cykUEPgzrU37xA_2KFrdcQTKzmIsqvCwsssK88F-8Jm3MIds-Uhqnzm7QqTvI91rC0Egz81mlLUJX9mwAal9u8YC718a7Y8IqlJLNHXjFogMHw_gtb2ats4yfAJi6sPPU0cy0H1m-QwKq2_8Sg1fhBeiFRsdg",
"redirectUrl": "https:\/\/nash.io\/",
"pingUrl": "https:\/\/dev-app.infra.cryptocoin.pro?ping=order-nash",
"user": {
"id": "c73d7aec-de24-4e19-8476-0326bfc0e42d",
"isActive": true,
"tradeStatus": true,
"email": "al**@gmail.com",
"options": {
"language": "en",
"theme": "light"
},
"meta": {
"source": "api"
},
"selfDeletedAt": null,
"createdAt": 1579702412
},
"verifyType": "checkout",
"emailVerifiedAt": 1679898371,
"phoneVerifiedAt": 1679899431,
"expiredAt": 1582541660,
"createdAt": 1581936860
}
]
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (412):
{
"message": "JWT payload invalid."
}
Example response (416):
{
"message": "JWT is expired."
}
HTTP Request
POST /api/v1/user/{user}/checkout/{checkout}/verify/email
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
checkout |
required | The checkout ID. |
Body Parameters
Parameter | Type | Status | Description |
---|---|---|---|
code |
string | required | The checkout email code - (digits:10). |
Checkout Validate Phone
Requires authentication Use this endpoint to verify phone on a user checkout.
Example request:
curl -X POST \
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/checkout/fc0388dc-63c5-4fbe-bc53-c11ba3bdb94e/verify/phone" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}" \
-d '{"code":"123456"}'
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/checkout/fc0388dc-63c5-4fbe-bc53-c11ba3bdb94e/verify/phone"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
let body = {
"code": "123456"
}
fetch(url, {
method: "POST",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/checkout/fc0388dc-63c5-4fbe-bc53-c11ba3bdb94e/verify/phone',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
'json' => [
'code' => '123456',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/checkout/fc0388dc-63c5-4fbe-bc53-c11ba3bdb94e/verify/phone'
payload = {
"code": "123456"
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Example response (200):
{
"data": [
{
"id": "fc0388dc-63c5-4fbe-bc53-c11ba3bdb94e",
"publicId": "UFMSS9AS",
"status": "expired",
"step": "account-details",
"attemptsQuote": {
"count": 0,
"limit": 3
},
"requestId": "957c0c28-99a1-49ce-85f7-9be9f4cc4f40",
"paymentType": "bank",
"ip": null,
"url": "http:\/\/dev-checkout.cryptocoin-app.test?lang=ro&display=light&platform_id=dc9dbd8c-b57a-4b55-bf0c-17c6095d1a6c&resume=false&token=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzUxMiJ9.eyJ1c2VyIjp7ImlkIjoiYmIxNzc2MmEtOGQyYS00YTRhLTkxYzUtMmRmOWNkMDcyNDg1IiwiZW1haWwiOiJwYWl6YW4uYWxleGFuZHJ1OTNAZ21haWwuY29tIiwiZmlyc3RfbmFtZSI6IkFsZXgiLCJsYXN0X25hbWUiOiJQYWl6YW4iLCJkb2IiOiIxOTkzLTA2LTE4IiwicGhvbmUiOiIrNDA3NjAzODY1NzEiLCJ3YWxsZXQiOiIweDIxOTgzNzIxMjF4enNhZHNhMjE0MjFzYSJ9LCJwYXltZW50Ijp7Im9wZXJhdGlvbiI6ImJ1eSIsInR5cGUiOiJjb2luIiwic3ltYm9sIjoiRVRIIiwiYW1vdW50IjoiMSIsInJhdGUiOiIyMjcuNjIwMDAiLCJmaWF0IjoiRVVSIiwicmVxdWVzdF9pZCI6Ijk1N2MwYzI4LTk5YTEtNDljZS04NWY3LTliZTlmNGNjNGY0MCIsIm1ldGhvZCI6ImJhbmsiLCJhdHRlbXB0cyI6Mywic2Vjb25kX29yZGVyX3R5cGUiOiJ3aXRoZHJhdyJ9LCJwaW5nX3VybCI6Imh0dHBzOlwvXC9kZXYtYXBwLmluZnJhLmNyeXB0b2NvaW4ucHJvP3Bpbmc9b3JkZXItbmFzaCIsInJlZGlyZWN0X3VybCI6Imh0dHBzOlwvXC9uYXNoLmlvXC8iLCJleHBpcmUiOjE1ODI1NDE2NjB9.MNyQe5FdBiAxzm4y_I4JWxpwWLl3eMOvKeN_rKGK3AGFKuDqmKvh59zK463F_2sEc-G0iIATPu59VUz2TRfaXFAQ2MYdTWCeDbFtGUfd51F7-qytLErw1UV--DLeRlNd0KGTJG1EjTHBu_BaT4LjDgGUEAcrkQ2b_45BjDKXqSQUfDkH6PU4Los06cykUEPgzrU37xA_2KFrdcQTKzmIsqvCwsssK88F-8Jm3MIds-Uhqnzm7QqTvI91rC0Egz81mlLUJX9mwAal9u8YC718a7Y8IqlJLNHXjFogMHw_gtb2ats4yfAJi6sPPU0cy0H1m-QwKq2_8Sg1fhBeiFRsdg",
"redirectUrl": "https:\/\/nash.io\/",
"pingUrl": "https:\/\/dev-app.infra.cryptocoin.pro?ping=order-nash",
"user": {
"id": "c73d7aec-de24-4e19-8476-0326bfc0e42d",
"isActive": true,
"tradeStatus": true,
"email": "al**@gmail.com",
"options": {
"language": "en",
"theme": "light"
},
"meta": {
"source": "api"
},
"selfDeletedAt": null,
"createdAt": 1579702412
},
"verifyType": "checkout",
"emailVerifiedAt": 1679898371,
"phoneVerifiedAt": 1679899431,
"expiredAt": 1582541660,
"createdAt": 1581936860
}
]
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (412):
{
"message": "JWT payload invalid."
}
Example response (416):
{
"message": "JWT is expired."
}
HTTP Request
POST /api/v1/user/{user}/checkout/{checkout}/verify/phone
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
checkout |
required | The checkout ID. |
Body Parameters
Parameter | Type | Status | Description |
---|---|---|---|
code |
string | required | The checkout phone code - (digits:6). |
Checkout Resend Email Code
Requires authentication Use this endpoint to resend Email verification code for a user checkout.
Example request:
curl -X POST \
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/checkout/fc0388dc-63c5-4fbe-bc53-c11ba3bdb94e/resend/email" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/checkout/fc0388dc-63c5-4fbe-bc53-c11ba3bdb94e/resend/email"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
fetch(url, {
method: "POST",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/checkout/fc0388dc-63c5-4fbe-bc53-c11ba3bdb94e/resend/email',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/checkout/fc0388dc-63c5-4fbe-bc53-c11ba3bdb94e/resend/email'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('POST', url, headers=headers)
response.json()
Example response (200):
{
"message": "Checkout Email Resent"
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (404):
{
"message": "No query results."
}
Example response (409):
{
"message": "This action is unauthorized."
}
HTTP Request
POST /api/v1/user/{user}/checkout/{checkout}/resend/email
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
checkout |
required | The checkout ID. |
Checkout Resend Phone Code
Requires authentication Use this endpoint to resend Phone verification code for a user checkout.
Example request:
curl -X POST \
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/checkout/fc0388dc-63c5-4fbe-bc53-c11ba3bdb94e/resend/phone" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/checkout/fc0388dc-63c5-4fbe-bc53-c11ba3bdb94e/resend/phone"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
fetch(url, {
method: "POST",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/checkout/fc0388dc-63c5-4fbe-bc53-c11ba3bdb94e/resend/phone',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/checkout/fc0388dc-63c5-4fbe-bc53-c11ba3bdb94e/resend/phone'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('POST', url, headers=headers)
response.json()
Example response (200):
{
"message": "Checkout SMS Resent"
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (404):
{
"message": "No query results."
}
Example response (409):
{
"message": "This action is unauthorized."
}
HTTP Request
POST /api/v1/user/{user}/checkout/{checkout}/resend/phone
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
checkout |
required | The checkout ID. |
Company
APIs for managing user companies
Company Create
Requires authentication Use this endpoint to create a user company.
Example request:
curl -X POST \
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/company" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}" \
-d '{"name":"Google","corporateRegistrationNumber":"123456","operatingLicenseNumber":"123456","incorporationDate":"2005-10-25","website":"https:\/\/google.com","country":"RO","state":"Romania","city":"Pitesti","address":"Some Street name Nr. 1","phone":"40700000000","zip":"112233","postalAddress":"Pitesti, Some Street name Nr. 1","vatNr":"123456","tinNr":"123456","lei":"123456","purposeAndScope":{"applyingPurpose":{"ownFundsTrading":true,"behalfClientsTrading":true,"retailCustomersPayment":true,"corporateCustomersPayment":true,"fundraisingSell":true,"other":true},"applyingPurposeOther":"Other info","essence":"Essence info","monthTransaction":"5000","turnover":"5000","foundSource":{"providedToCustomers":true,"credits":true,"dividends":true,"equityInjections":true,"other":true},"foundSourceOther":"Other info"}}'
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/company"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
let body = {
"name": "Google",
"corporateRegistrationNumber": "123456",
"operatingLicenseNumber": "123456",
"incorporationDate": "2005-10-25",
"website": "https:\/\/google.com",
"country": "RO",
"state": "Romania",
"city": "Pitesti",
"address": "Some Street name Nr. 1",
"phone": "40700000000",
"zip": "112233",
"postalAddress": "Pitesti, Some Street name Nr. 1",
"vatNr": "123456",
"tinNr": "123456",
"lei": "123456",
"purposeAndScope": {
"applyingPurpose": {
"ownFundsTrading": true,
"behalfClientsTrading": true,
"retailCustomersPayment": true,
"corporateCustomersPayment": true,
"fundraisingSell": true,
"other": true
},
"applyingPurposeOther": "Other info",
"essence": "Essence info",
"monthTransaction": "5000",
"turnover": "5000",
"foundSource": {
"providedToCustomers": true,
"credits": true,
"dividends": true,
"equityInjections": true,
"other": true
},
"foundSourceOther": "Other info"
}
}
fetch(url, {
method: "POST",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/company',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
'json' => [
'name' => 'Google',
'corporateRegistrationNumber' => '123456',
'operatingLicenseNumber' => '123456',
'incorporationDate' => '2005-10-25',
'website' => 'https://google.com',
'country' => 'RO',
'state' => 'Romania',
'city' => 'Pitesti',
'address' => 'Some Street name Nr. 1',
'phone' => '40700000000',
'zip' => '112233',
'postalAddress' => 'Pitesti, Some Street name Nr. 1',
'vatNr' => '123456',
'tinNr' => '123456',
'lei' => '123456',
'purposeAndScope' => [
'applyingPurpose' => [
'ownFundsTrading' => true,
'behalfClientsTrading' => true,
'retailCustomersPayment' => true,
'corporateCustomersPayment' => true,
'fundraisingSell' => true,
'other' => true,
],
'applyingPurposeOther' => 'Other info',
'essence' => 'Essence info',
'monthTransaction' => '5000',
'turnover' => '5000',
'foundSource' => [
'providedToCustomers' => true,
'credits' => true,
'dividends' => true,
'equityInjections' => true,
'other' => true,
],
'foundSourceOther' => 'Other info',
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/company'
payload = {
"name": "Google",
"corporateRegistrationNumber": "123456",
"operatingLicenseNumber": "123456",
"incorporationDate": "2005-10-25",
"website": "https:\/\/google.com",
"country": "RO",
"state": "Romania",
"city": "Pitesti",
"address": "Some Street name Nr. 1",
"phone": "40700000000",
"zip": "112233",
"postalAddress": "Pitesti, Some Street name Nr. 1",
"vatNr": "123456",
"tinNr": "123456",
"lei": "123456",
"purposeAndScope": {
"applyingPurpose": {
"ownFundsTrading": true,
"behalfClientsTrading": true,
"retailCustomersPayment": true,
"corporateCustomersPayment": true,
"fundraisingSell": true,
"other": true
},
"applyingPurposeOther": "Other info",
"essence": "Essence info",
"monthTransaction": "5000",
"turnover": "5000",
"foundSource": {
"providedToCustomers": true,
"credits": true,
"dividends": true,
"equityInjections": true,
"other": true
},
"foundSourceOther": "Other info"
}
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Example response (201):
{
"data": [
{
"id": "057e622c-3ca9-4e67-a968-e5f9985303e5",
"name": "Company",
"corporateRegistrationNumber": "123456",
"incorporationDate": "2021-04-01",
"operatingLicenseNumber": 123456789,
"website": "http:\/\/www.company.com",
"lei": "529900T8BM49AURSDO55",
"vatNr": "BG999999999",
"tinNr": "9999999999",
"state": "England",
"city": "Liverpool",
"address": "22 Eden Street",
"zip": "123456",
"postalAddress": null,
"phone": "+40700000000",
"default": false,
"status": "processing",
"createdAt": 1607350633
}
]
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (409):
{
"message": "This action is unauthorized."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"corporateRegistrationNumber": [
"The corporate registration number field is required."
]
}
}
Example response (423):
{
"message": "This type of operation is not allowed."
}
Example response (424):
{
"message": "The kyc minimum level accepted for creating a company is 3. Please upgrade the kyc level and try again later."
}
HTTP Request
POST /api/v1/user/{user}/company
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
Body Parameters
Parameter | Type | Status | Description |
---|---|---|---|
name |
string | required | The company name - (max:191). |
corporateRegistrationNumber |
string | required | The company corporate registration number - (max:191). |
operatingLicenseNumber |
string | optional | The company corporate operation license number number - (max:191). |
incorporationDate |
string | required | The company incorporation date number - (date_format:Y-m-d|before_or_equal:now()->format('Y-m-d')). |
website |
string | required | The company website - (max:191) . |
country |
string | required | The company country ISO code or name - (countryISOcode). |
state |
string | required | The company state - (max:191). |
city |
string | required | The company city - (max:191). |
address |
string | required | The company street - (max:191). |
phone |
string | required | The company phone number - (numeric|digits_between:7,15). |
zip |
numeric | required | The company zip - (alpha_num|between:4,10). |
postalAddress |
string | optional | The company postal address - (max:191). |
vatNr |
string | optional | The company vat number - (max:191). |
tinNr |
string | required | The company tin number - (max:191). |
lei |
string | optional | The company lei number - (max:191). |
purposeAndScope.applyingPurpose |
- | required | |
purposeAndScope.applyingPurpose.ownFundsTrading |
boolean | optional | |
purposeAndScope.applyingPurpose.behalfClientsTrading |
boolean | optional | |
purposeAndScope.applyingPurpose.retailCustomersPayment |
boolean | optional | |
purposeAndScope.applyingPurpose.corporateCustomersPayment |
boolean | optional | |
purposeAndScope.applyingPurpose.fundraisingSell |
boolean | optional | |
purposeAndScope.applyingPurpose.other |
boolean | optional | |
purposeAndScope.applyingPurposeOther |
string | optional | (Required if applyingPurpose is other) The company applying purpose other information - (max:191). |
purposeAndScope.essence |
string | required | The company purpose essence - (max:191). |
purposeAndScope.monthTransaction |
numeric | required | The company month transaction - (numeric|in:5000,50000,500000,1500000, 5000000,10000000). |
purposeAndScope.turnover |
numeric | required | The company turnover - (numeric|in:5000,50000,500000,1500000, 5000000,10000000). |
purposeAndScope.foundSource |
- | required | |
purposeAndScope.foundSource.providedToCustomers |
boolean | optional | |
purposeAndScope.foundSource.credits |
boolean | optional | |
purposeAndScope.foundSource.dividends |
boolean | optional | |
purposeAndScope.foundSource.equityInjections |
boolean | optional | |
purposeAndScope.foundSource.other |
boolean | optional | |
purposeAndScope.foundSourceOther |
string | optional | (Required if foundSource is other) The company found source other information - (max:191). |
Company Index
Requires authentication Use this endpoint to get user companies.
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/company?status=confirmed" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/company"
);
let params = {
"status": "confirmed",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/company',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
'query' => [
'status'=> 'confirmed',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/company'
params = {
'status': 'confirmed',
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()
Example response (200):
{
"data": [
{
"id": "057e622c-3ca9-4e67-a968-e5f9985303e5",
"name": "Company",
"corporateRegistrationNumber": "123456",
"incorporationDate": "2021-04-01",
"operatingLicenseNumber": 123456789,
"website": "http:\/\/www.company.com",
"lei": "529900T8BM49AURSDO55",
"vatNr": "BG999999999",
"tinNr": "9999999999",
"state": "England",
"city": "Liverpool",
"address": "22 Eden Street",
"zip": "123456",
"postalAddress": null,
"default": false,
"status": "processing",
"user": {
"id": "667a5eed-46a9-49d3-91ec-f6af57255fc6",
"isActive": true,
"status": "active",
"tradeStatus": true,
"email": "john@doe.com",
"options": {
"language": "en",
"theme": "light"
},
"meta": {
"source": "api"
},
"selfDeleted": {
"status": null,
"dates": {
"initiated": null,
"confirmed": null,
"deleted": null
}
},
"createdAt": 1605006067,
"deletedAt": null
},
"shareholderUser": [],
"shareholderCompany": [],
"directorUser": [],
"directorCompany": [],
"externalPlatform": [],
"createdAt": 1607350633
}
]
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (409):
{
"message": "This action is unauthorized."
}
HTTP Request
GET /api/v1/user/{user}/company
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
Query Parameters
Parameter | Status | Description |
---|---|---|
status |
optional | Filter by Status. Available values: confirmed,rejected,pending. |
Company Search
Requires authentication Use this endpoint to get companies with a specific name or corporate registration number.
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/user/ebf8e81e-fdfd-4da9-84e4-b5172b6f14f3/company/search?search=Company" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/ebf8e81e-fdfd-4da9-84e4-b5172b6f14f3/company/search"
);
let params = {
"search": "Company",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/user/ebf8e81e-fdfd-4da9-84e4-b5172b6f14f3/company/search',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
'query' => [
'search'=> 'Company',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/ebf8e81e-fdfd-4da9-84e4-b5172b6f14f3/company/search'
params = {
'search': 'Company',
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()
Example response (200):
{
"data": [
{
"id": "057e622c-3ca9-4e67-a968-e5f9985303e5",
"name": "Company",
"corporateRegistrationNumber": "123456",
"incorporationDate": "2021-04-01",
"operatingLicenseNumber": 123456789,
"website": "http:\/\/www.company.com",
"lei": "529900T8BM49AURSDO55",
"vatNr": "BG999999999",
"tinNr": "9999999999",
"state": "England",
"city": "Liverpool",
"address": "22 Eden Street",
"zip": "123456",
"postalAddress": null,
"default": false,
"status": "processing",
"user": {
"id": "667a5eed-46a9-49d3-91ec-f6af57255fc6",
"isActive": true,
"status": "active",
"tradeStatus": true,
"email": "john@doe.com",
"options": {
"language": "en",
"theme": "light"
},
"meta": {
"source": "api"
},
"selfDeleted": {
"status": null,
"dates": {
"initiated": null,
"confirmed": null,
"deleted": null
}
},
"createdAt": 1605006067,
"deletedAt": null
},
"shareholderUser": [],
"shareholderCompany": [],
"directorUser": [],
"directorCompany": [],
"externalPlatform": [],
"createdAt": 1607350633
}
]
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (409):
{
"message": "This action is unauthorized."
}
HTTP Request
GET /api/v1/user/{user}/company/search
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
Query Parameters
Parameter | Status | Description |
---|---|---|
search |
optional | Field to search by name or corporate registration number. |
Company Show
Requires authentication Use this endpoint to get a user company.
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/company/5d482936-d7b4-4ef2-bef7-a230ca712a4b" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/company/5d482936-d7b4-4ef2-bef7-a230ca712a4b"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/company/5d482936-d7b4-4ef2-bef7-a230ca712a4b',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/company/5d482936-d7b4-4ef2-bef7-a230ca712a4b'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('GET', url, headers=headers)
response.json()
Example response (200):
{
"data": [
{
"id": "057e622c-3ca9-4e67-a968-e5f9985303e5",
"name": "Company",
"corporateRegistrationNumber": "123456",
"incorporationDate": "2021-04-01",
"operatingLicenseNumber": 123456789,
"website": "http:\/\/www.company.com",
"lei": "529900T8BM49AURSDO55",
"vatNr": "BG999999999",
"tinNr": "9999999999",
"state": "England",
"city": "Liverpool",
"address": "22 Eden Street",
"zip": "123456",
"postalAddress": null,
"default": false,
"status": "processing",
"user": {
"id": "667a5eed-46a9-49d3-91ec-f6af57255fc6",
"isActive": true,
"status": "active",
"tradeStatus": true,
"email": "john@doe.com",
"options": {
"language": "en",
"theme": "light"
},
"meta": {
"source": "api"
},
"selfDeleted": {
"status": null,
"dates": {
"initiated": null,
"confirmed": null,
"deleted": null
}
},
"createdAt": 1605006067,
"deletedAt": null
},
"shareholderUser": [],
"shareholderCompany": [],
"directorUser": [],
"directorCompany": [],
"externalPlatform": [],
"createdAt": 1607350633
}
]
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (404):
{
"message": "No query results."
}
Example response (409):
{
"message": "This action is unauthorized."
}
HTTP Request
GET /api/v1/user/{user}/company/{company}
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
company |
required | The company ID. |
Company Update
Requires authentication Use this endpoint to update a company that has been rejected.
Example request:
curl -X POST \
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/company/5d482936-d7b4-4ef2-bef7-a230ca712a4b" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}" \
-d '{"name":"Google - (required_if:reject\\|max:191).","corporateRegistrationNumber":"123456","operatingLicenseNumber":"123456","incorporationDate":"2005-10-25","website":"https:\/\/google.com","country":"RO","state":"Romania","city":"Pitesti","address":"Some Street name Nr. 1","phone":"40700000000","zip":"112233","postalAddress":"Pitesti, Some Street name Nr. 1","vatNr":"123456","tinNr":"123456","lei":"123456","purposeAndScope":{"applyingPurpose":"ownFundsTrading","applyingPurposeOther":"Other info","essence":"Essence info","monthTransaction":"5000","turnover":"5000","foundSource":"credits","foundSourceOther":"Other info"}}'
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/company/5d482936-d7b4-4ef2-bef7-a230ca712a4b"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
let body = {
"name": "Google - (required_if:reject\\|max:191).",
"corporateRegistrationNumber": "123456",
"operatingLicenseNumber": "123456",
"incorporationDate": "2005-10-25",
"website": "https:\/\/google.com",
"country": "RO",
"state": "Romania",
"city": "Pitesti",
"address": "Some Street name Nr. 1",
"phone": "40700000000",
"zip": "112233",
"postalAddress": "Pitesti, Some Street name Nr. 1",
"vatNr": "123456",
"tinNr": "123456",
"lei": "123456",
"purposeAndScope": {
"applyingPurpose": "ownFundsTrading",
"applyingPurposeOther": "Other info",
"essence": "Essence info",
"monthTransaction": "5000",
"turnover": "5000",
"foundSource": "credits",
"foundSourceOther": "Other info"
}
}
fetch(url, {
method: "POST",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/company/5d482936-d7b4-4ef2-bef7-a230ca712a4b',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
'json' => [
'name' => 'Google - (required_if:reject\\|max:191).',
'corporateRegistrationNumber' => '123456',
'operatingLicenseNumber' => '123456',
'incorporationDate' => '2005-10-25',
'website' => 'https://google.com',
'country' => 'RO',
'state' => 'Romania',
'city' => 'Pitesti',
'address' => 'Some Street name Nr. 1',
'phone' => '40700000000',
'zip' => '112233',
'postalAddress' => 'Pitesti, Some Street name Nr. 1',
'vatNr' => '123456',
'tinNr' => '123456',
'lei' => '123456',
'purposeAndScope' => [
'applyingPurpose' => 'ownFundsTrading',
'applyingPurposeOther' => 'Other info',
'essence' => 'Essence info',
'monthTransaction' => '5000',
'turnover' => '5000',
'foundSource' => 'credits',
'foundSourceOther' => 'Other info',
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/company/5d482936-d7b4-4ef2-bef7-a230ca712a4b'
payload = {
"name": "Google - (required_if:reject\\|max:191).",
"corporateRegistrationNumber": "123456",
"operatingLicenseNumber": "123456",
"incorporationDate": "2005-10-25",
"website": "https:\/\/google.com",
"country": "RO",
"state": "Romania",
"city": "Pitesti",
"address": "Some Street name Nr. 1",
"phone": "40700000000",
"zip": "112233",
"postalAddress": "Pitesti, Some Street name Nr. 1",
"vatNr": "123456",
"tinNr": "123456",
"lei": "123456",
"purposeAndScope": {
"applyingPurpose": "ownFundsTrading",
"applyingPurposeOther": "Other info",
"essence": "Essence info",
"monthTransaction": "5000",
"turnover": "5000",
"foundSource": "credits",
"foundSourceOther": "Other info"
}
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Example response (200):
{
"data": [
{
"id": "057e622c-3ca9-4e67-a968-e5f9985303e5",
"name": "Company",
"corporateRegistrationNumber": "123456",
"incorporationDate": "2021-04-01",
"operatingLicenseNumber": 123456789,
"website": "http:\/\/www.company.com",
"lei": "529900T8BM49AURSDO55",
"vatNr": "BG999999999",
"tinNr": "9999999999",
"state": "England",
"city": "Liverpool",
"address": "22 Eden Street",
"zip": "123456",
"postalAddress": null,
"phone": "+40700000000",
"default": false,
"status": "processing",
"createdAt": 1607350633
}
]
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (404):
{
"message": "No query results."
}
Example response (409):
{
"message": "This action is unauthorized."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"corporateRegistrationNumber": [
"The corporate registration number field is required."
]
}
}
HTTP Request
POST /api/v1/user/{user}/company/{company}
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
company |
required | The company ID. |
Body Parameters
Parameter | Type | Status | Description |
---|---|---|---|
name |
string | optional | (Required if is reject) The company name. |
corporateRegistrationNumber |
string | optional | (Required if is reject) The company corporate registration number. |
operatingLicenseNumber |
string | optional | (Required if is reject) The company corporate operation license number number. |
incorporationDate |
string | optional | (Required if is reject) The company incorporation date number - (date_format:Y-m-d|before_or_equal:now()->format('Y-m-d')). |
website |
string | optional | (Required if is reject) The company website . |
country |
string | optional | (Required if is reject) The company country ISO code or name - (countryISOcode). |
state |
string | optional | (Required if is reject) The company state - (max:191). |
city |
string | optional | The company city - (max:191). |
address |
string | optional | (Required if is reject) The company street - (max:191). |
phone |
string | optional | (Required if is reject) The company phone number - (numeric|digits_between:7,15). |
zip |
numeric | optional | (Required if is reject) The company zip - (alpha_num|between:4,10). |
postalAddress |
string | optional | (Required if is reject) The company postal address - (max:191). |
vatNr |
string | optional | (Required if is reject) The company vat number. |
tinNr |
string | optional | (Required if is reject) The company tin number. |
lei |
string | optional | (Required if is reject) The company lei number. |
purposeAndScope.applyingPurpose |
string | optional | (Required if is reject) The company applying purpose - (string|in:ownFundsTrading,behalfClientsTrading,retailCustomersPayment,corporateCustomersPayment,fundraisingSell,other). |
purposeAndScope.applyingPurposeOther |
string | optional | (Required if is reject) The company applying purpose other information - (max:191). |
purposeAndScope.essence |
string | optional | (Required if is reject) The company purpose essence - (max:191). |
purposeAndScope.monthTransaction |
string | optional | (Required if is reject) The company month transaction - (numeric|in:5000,50000,500000,1500000, 5000000,10000000). |
purposeAndScope.turnover |
string | optional | (Required if is reject) The company turnover - (numeric|in:5000,50000,500000,1500000, 5000000,10000000). |
purposeAndScope.foundSource |
string | optional | (Required if is reject) The company found source - (string|in:providedToCustomers,credits,dividends,equityInjections,other). |
purposeAndScope.foundSourceOther |
string | optional | (Required if is reject) The company found source other information - (max:191). |
Company Upload Document
Requires authentication Use this endpoint to upload company documents.
Example request:
curl -X POST \
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/company/5d482936-d7b4-4ef2-bef7-a230ca712a4b/document" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}" \
-d '{"type":"companyIncorporationCertificate","file":"File"}'
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/company/5d482936-d7b4-4ef2-bef7-a230ca712a4b/document"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
let body = {
"type": "companyIncorporationCertificate",
"file": "File"
}
fetch(url, {
method: "POST",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/company/5d482936-d7b4-4ef2-bef7-a230ca712a4b/document',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
'json' => [
'type' => 'companyIncorporationCertificate',
'file' => 'File',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/company/5d482936-d7b4-4ef2-bef7-a230ca712a4b/document'
payload = {
"type": "companyIncorporationCertificate",
"file": "File"
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Example response (200):
{
"data": [
{
"id": "057e622c-3ca9-4e67-a968-e5f9985303e5",
"name": "Company",
"corporateRegistrationNumber": "123456",
"incorporationDate": "2021-04-01",
"operatingLicenseNumber": 123456789,
"website": "http:\/\/www.company.com",
"lei": "529900T8BM49AURSDO55",
"vatNr": "BG999999999",
"tinNr": "9999999999",
"state": "England",
"city": "Liverpool",
"address": "22 Eden Street",
"zip": "123456",
"postalAddress": null,
"phone": "+40700000000",
"default": false,
"status": "processing",
"shareholderUser": [],
"shareholderCompany": [],
"directorUser": [],
"directorCompany": [],
"documents": [
{
"id": "15b125ed-edfb-44f6-9e63-4159afd140eb",
"url": "http:\/\/dev-api-checkout.cryptocoin-app.test\/api\/v1\/user\/66de494e-6791-4290-996c-32f42041fbf4\/download\/15b125ed-edfb-44f6-9e63-4159afd140eb?expires=1636122244&signature=c59dfcb13b625467ca16a9b914f41712dcdfdcccea845c4412323cfa77ee0288",
"createdAt": 1636120444,
"validUntil": null
}
],
"createdAt": 1607350633
}
]
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (409):
{
"message": "This action is unauthorized."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"type": [
"The selected Type is invalid."
]
}
}
HTTP Request
POST /api/v1/user/{user}/company/{company}/document
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
company |
required | The company ID. |
Body Parameters
Parameter | Type | Status | Description |
---|---|---|---|
type |
string | required | The file type - (in:companyIncorporationCertificate,companyAssociationArticles,companyAssociationMemorandum,companyIncumbencyCertificate,companyGoodStandingCertificate,companyBussinesLicense,companyBankStatement,companyOperationalBussinesProofAddress). |
file |
file | required | The file type - (file|mimes:jpg,jpeg,bmp,png,pdf|max:10240kb). |
Company Set Default
Requires authentication Use this endpoint to set default a company.
Example request:
curl -X POST \
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/company/5d482936-d7b4-4ef2-bef7-a230ca712a4b/set-default" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/company/5d482936-d7b4-4ef2-bef7-a230ca712a4b/set-default"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
fetch(url, {
method: "POST",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/company/5d482936-d7b4-4ef2-bef7-a230ca712a4b/set-default',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/company/5d482936-d7b4-4ef2-bef7-a230ca712a4b/set-default'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('POST', url, headers=headers)
response.json()
Example response (200):
{
"data": [
{
"id": "057e622c-3ca9-4e67-a968-e5f9985303e5",
"name": "Company",
"corporateRegistrationNumber": "123456",
"incorporationDate": "2021-04-01",
"operatingLicenseNumber": 123456789,
"website": "http:\/\/www.company.com",
"lei": "529900T8BM49AURSDO55",
"vatNr": "BG999999999",
"tinNr": "9999999999",
"state": "England",
"city": "Liverpool",
"address": "22 Eden Street",
"zip": "123456",
"postalAddress": null,
"phone": "+40700000000",
"default": true,
"status": "processing",
"shareholderUser": [],
"shareholderCompany": [],
"directorUser": [],
"directorCompany": [],
"createdAt": 1607350633
}
]
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (409):
{
"message": "This action is unauthorized."
}
Example response (412):
{
"message": "User already detached"
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"user": [
"The selected User is invalid."
]
}
}
HTTP Request
POST /api/v1/user/{user}/company/{company}/set-default
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
company |
required | The company ID. |
Company Attach Director
Requires authentication Use this endpoint to attach company director.
Example request:
curl -X POST \
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/company/5d482936-d7b4-4ef2-bef7-a230ca712a4b/director/invite" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}" \
-d '{"type":"corporate","id":"64b4f8d1-c2bd-4bba-8b1b-332a58176734","user":"64b4f8d1-c2bd-2345-8b1b-332a58176734","pep":true,"pepConnected":true}'
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/company/5d482936-d7b4-4ef2-bef7-a230ca712a4b/director/invite"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
let body = {
"type": "corporate",
"id": "64b4f8d1-c2bd-4bba-8b1b-332a58176734",
"user": "64b4f8d1-c2bd-2345-8b1b-332a58176734",
"pep": true,
"pepConnected": true
}
fetch(url, {
method: "POST",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/company/5d482936-d7b4-4ef2-bef7-a230ca712a4b/director/invite',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
'json' => [
'type' => 'corporate',
'id' => '64b4f8d1-c2bd-4bba-8b1b-332a58176734',
'user' => '64b4f8d1-c2bd-2345-8b1b-332a58176734',
'pep' => true,
'pepConnected' => true,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/company/5d482936-d7b4-4ef2-bef7-a230ca712a4b/director/invite'
payload = {
"type": "corporate",
"id": "64b4f8d1-c2bd-4bba-8b1b-332a58176734",
"user": "64b4f8d1-c2bd-2345-8b1b-332a58176734",
"pep": true,
"pepConnected": true
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Example response (200):
{
"data": [
{
"id": "057e622c-3ca9-4e67-a968-e5f9985303e5",
"name": "Company",
"corporateRegistrationNumber": "123456",
"incorporationDate": "2021-04-01",
"operatingLicenseNumber": 123456789,
"website": "http:\/\/www.company.com",
"lei": "529900T8BM49AURSDO55",
"vatNr": "BG999999999",
"tinNr": "9999999999",
"state": "England",
"city": "Liverpool",
"address": "22 Eden Street",
"zip": "123456",
"postalAddress": null,
"phone": "+40700000000",
"default": false,
"status": "processing",
"shareholderUser": [],
"shareholderCompany": [],
"directorUser": [
{
"id": "983d74ef-c2b7-4704-a5bd-988d65156806",
"shares": 1,
"pep": 1,
"pepConnected": 1,
"user": {
"id": "9da1ca16-687d-4ebb-a375-fcee12109326",
"isActive": true,
"status": "active",
"tradeStatus": true,
"email": "user@gmail.com",
"options": {
"language": "en",
"theme": "light"
},
"meta": {
"source": "api"
},
"selfDeleted": {
"status": null,
"dates": {
"initiated": null,
"confirmed": null,
"deleted": null
}
},
"createdAt": 1597821627,
"deletedAt": null
},
"createdAt": 1619083079
}
],
"directorCompany": [],
"createdAt": 1607350633
}
]
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (404):
{
"message": "No query results."
}
Example response (412):
{
"message": "User already attached"
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"user": [
"The selected User is invalid."
]
}
}
HTTP Request
POST /api/v1/user/{user}/company/{company}/director/invite
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
company |
required | The company ID. |
Body Parameters
Parameter | Type | Status | Description |
---|---|---|---|
type |
string | required | The company director type - (string|in:individual,corporate). |
id |
string | optional | The company director company uuid - (required_if:type,corporate|in:companies->uuid). |
user |
string | optional | The company director user uuid/email - (required_if:type,individual|in:users->uuid,email). |
pep |
boolean | optional | The company shareholder pep - (required_if:type,individual). |
pepConnected |
boolean | optional | The company shareholder pep connected - (required_if:type,individual). |
Company Detach Director
Requires authentication Use this endpoint to detach company director.
Example request:
curl -X POST \
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/company/5d482936-d7b4-4ef2-bef7-a230ca712a4b/director/detach" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}" \
-d '{"id":"64b4f8d1-c2bd-4bba-8b1b-332a58176734","user":"64b4f8d1-3747-4bba-8b1b-332a58176734"}'
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/company/5d482936-d7b4-4ef2-bef7-a230ca712a4b/director/detach"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
let body = {
"id": "64b4f8d1-c2bd-4bba-8b1b-332a58176734",
"user": "64b4f8d1-3747-4bba-8b1b-332a58176734"
}
fetch(url, {
method: "POST",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/company/5d482936-d7b4-4ef2-bef7-a230ca712a4b/director/detach',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
'json' => [
'id' => '64b4f8d1-c2bd-4bba-8b1b-332a58176734',
'user' => '64b4f8d1-3747-4bba-8b1b-332a58176734',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/company/5d482936-d7b4-4ef2-bef7-a230ca712a4b/director/detach'
payload = {
"id": "64b4f8d1-c2bd-4bba-8b1b-332a58176734",
"user": "64b4f8d1-3747-4bba-8b1b-332a58176734"
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Example response (200):
{
"data": [
{
"id": "057e622c-3ca9-4e67-a968-e5f9985303e5",
"name": "Company",
"corporateRegistrationNumber": "123456",
"incorporationDate": "2021-04-01",
"operatingLicenseNumber": 123456789,
"website": "http:\/\/www.company.com",
"lei": "529900T8BM49AURSDO55",
"vatNr": "BG999999999",
"tinNr": "9999999999",
"state": "England",
"city": "Liverpool",
"address": "22 Eden Street",
"zip": "123456",
"postalAddress": null,
"phone": "+40700000000",
"default": false,
"status": "processing",
"shareholderUser": [],
"shareholderCompany": [],
"directorUser": [],
"directorCompany": [],
"createdAt": 1607350633
}
]
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (409):
{
"message": "This action is unauthorized."
}
Example response (412):
{
"message": "User already detached"
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"user": [
"The selected User is invalid."
]
}
}
HTTP Request
POST /api/v1/user/{user}/company/{company}/director/detach
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
company |
required | The company ID. |
Body Parameters
Parameter | Type | Status | Description |
---|---|---|---|
id |
string | optional | The company director company uuid - (required_without:user|in:companies->uuid). |
user |
string | optional | The company director user uuid/email - (required_without:id|in:users->uuid,email). |
Company Attach Shareholder
Requires authentication Use this endpoint to attach company shareholders.
Example request:
curl -X POST \
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/company/5d482936-d7b4-4ef2-bef7-a230ca712a4b/shareholder/invite" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}" \
-d '{"type":"corporate","id":"64b4f8d1-c2bd-4bba-8b1b-332a58176734","user":"64b4f8d1-c2bd-2345-8b1b-332a58176734","shares":20,"pep":true,"pepConnected":true}'
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/company/5d482936-d7b4-4ef2-bef7-a230ca712a4b/shareholder/invite"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
let body = {
"type": "corporate",
"id": "64b4f8d1-c2bd-4bba-8b1b-332a58176734",
"user": "64b4f8d1-c2bd-2345-8b1b-332a58176734",
"shares": 20,
"pep": true,
"pepConnected": true
}
fetch(url, {
method: "POST",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/company/5d482936-d7b4-4ef2-bef7-a230ca712a4b/shareholder/invite',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
'json' => [
'type' => 'corporate',
'id' => '64b4f8d1-c2bd-4bba-8b1b-332a58176734',
'user' => '64b4f8d1-c2bd-2345-8b1b-332a58176734',
'shares' => 20,
'pep' => true,
'pepConnected' => true,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/company/5d482936-d7b4-4ef2-bef7-a230ca712a4b/shareholder/invite'
payload = {
"type": "corporate",
"id": "64b4f8d1-c2bd-4bba-8b1b-332a58176734",
"user": "64b4f8d1-c2bd-2345-8b1b-332a58176734",
"shares": 20,
"pep": true,
"pepConnected": true
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Example response (200):
{
"data": [
{
"id": "057e622c-3ca9-4e67-a968-e5f9985303e5",
"name": "Company",
"corporateRegistrationNumber": "123456",
"incorporationDate": "2021-04-01",
"operatingLicenseNumber": 123456789,
"website": "http:\/\/www.company.com",
"lei": "529900T8BM49AURSDO55",
"vatNr": "BG999999999",
"tinNr": "9999999999",
"state": "England",
"city": "Liverpool",
"address": "22 Eden Street",
"zip": "123456",
"postalAddress": null,
"phone": "+40700000000",
"default": false,
"status": "processing",
"shareholderUser": [
{
"id": "983d74ef-c2b7-4704-a5bd-988d65156806",
"shares": 1,
"pep": 1,
"pepConnected": 1,
"user": {
"id": "9da1ca16-687d-4ebb-a375-fcee12109326",
"isActive": true,
"status": "active",
"tradeStatus": true,
"email": "user@gmail.com",
"options": {
"language": "en",
"theme": "light"
},
"meta": {
"source": "api"
},
"selfDeleted": {
"status": null,
"dates": {
"initiated": null,
"confirmed": null,
"deleted": null
}
},
"createdAt": 1597821627,
"deletedAt": null
},
"createdAt": 1619083079
}
],
"shareholderCompany": [],
"directorUser": [],
"directorCompany": [],
"createdAt": 1607350633
}
]
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (404):
{
"message": "No query results."
}
Example response (409):
{
"message": "Shares cannot exceed 100%"
}
Example response (412):
{
"message": "User already attached"
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"user": [
"The selected User is invalid."
]
}
}
HTTP Request
POST /api/v1/user/{user}/company/{company}/shareholder/invite
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
company |
required | The company ID. |
Body Parameters
Parameter | Type | Status | Description |
---|---|---|---|
type |
string | required | The company shareholder type - (string|in:individual,corporate). |
id |
string | optional | The company director company uuid - (required_if:type,corporate|in:companies->uuid). |
user |
string | optional | The company director user uuid/email - (required_if:type,individual|in:users->uuid,email). |
shares |
integer | optional | The company shareholder shares - (max:100). |
pep |
boolean | optional | The company shareholder pep - (required_if:type,individual). |
pepConnected |
boolean | optional | The company shareholder pep connected - (required_if:type,individual). |
Company Detach Shareholder
Requires authentication Use this endpoint to detach company shareholders.
Example request:
curl -X POST \
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/company/5d482936-d7b4-4ef2-bef7-a230ca712a4b/shareholder/detach" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}" \
-d '{"id":"64b4f8d1-c2bd-4bba-8b1b-332a58176734","user":"64b4f8d1-3747-4bba-8b1b-332a58176734"}'
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/company/5d482936-d7b4-4ef2-bef7-a230ca712a4b/shareholder/detach"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
let body = {
"id": "64b4f8d1-c2bd-4bba-8b1b-332a58176734",
"user": "64b4f8d1-3747-4bba-8b1b-332a58176734"
}
fetch(url, {
method: "POST",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/company/5d482936-d7b4-4ef2-bef7-a230ca712a4b/shareholder/detach',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
'json' => [
'id' => '64b4f8d1-c2bd-4bba-8b1b-332a58176734',
'user' => '64b4f8d1-3747-4bba-8b1b-332a58176734',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/company/5d482936-d7b4-4ef2-bef7-a230ca712a4b/shareholder/detach'
payload = {
"id": "64b4f8d1-c2bd-4bba-8b1b-332a58176734",
"user": "64b4f8d1-3747-4bba-8b1b-332a58176734"
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Example response (200):
{
"data": [
{
"id": "057e622c-3ca9-4e67-a968-e5f9985303e5",
"name": "Company",
"corporateRegistrationNumber": "123456",
"incorporationDate": "2021-04-01",
"operatingLicenseNumber": 123456789,
"website": "http:\/\/www.company.com",
"lei": "529900T8BM49AURSDO55",
"vatNr": "BG999999999",
"tinNr": "9999999999",
"state": "England",
"city": "Liverpool",
"address": "22 Eden Street",
"zip": "123456",
"postalAddress": null,
"phone": "+40700000000",
"default": false,
"status": "processing",
"shareholderUser": [],
"shareholderCompany": [],
"directorUser": [],
"directorCompany": [],
"createdAt": 1607350633
}
]
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (409):
{
"message": "This action is unauthorized."
}
Example response (412):
{
"message": "User already detached"
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"user": [
"The selected User is invalid."
]
}
}
HTTP Request
POST /api/v1/user/{user}/company/{company}/shareholder/detach
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
company |
required | The company ID. |
Body Parameters
Parameter | Type | Status | Description |
---|---|---|---|
id |
string | optional | The company shareholder company uuid - (required_without:user|in:companies->uuid). |
user |
string | optional | The company shareholder user uuid/email - (required_without:id|in:users->uuid,email). |
Company Attach Authorized Person
Requires authentication Use this endpoint to attach company authorized persons
Example request:
curl -X POST \
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/company/5d482936-d7b4-4ef2-bef7-a230ca712a4b/authorized-person/invite" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}" \
-d '{"user":"64b4f8d1-c2bd-2345-8b1b-332a58176734"}'
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/company/5d482936-d7b4-4ef2-bef7-a230ca712a4b/authorized-person/invite"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
let body = {
"user": "64b4f8d1-c2bd-2345-8b1b-332a58176734"
}
fetch(url, {
method: "POST",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/company/5d482936-d7b4-4ef2-bef7-a230ca712a4b/authorized-person/invite',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
'json' => [
'user' => '64b4f8d1-c2bd-2345-8b1b-332a58176734',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/company/5d482936-d7b4-4ef2-bef7-a230ca712a4b/authorized-person/invite'
payload = {
"user": "64b4f8d1-c2bd-2345-8b1b-332a58176734"
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Example response (200):
{
"data": [
{
"id": "057e622c-3ca9-4e67-a968-e5f9985303e5",
"name": "Company",
"corporateRegistrationNumber": "123456",
"incorporationDate": "2021-04-01",
"operatingLicenseNumber": 123456789,
"website": "http:\/\/www.company.com",
"lei": "529900T8BM49AURSDO55",
"vatNr": "BG999999999",
"tinNr": "9999999999",
"state": "England",
"city": "Liverpool",
"address": "22 Eden Street",
"zip": "123456",
"postalAddress": null,
"phone": "+40700000000",
"default": false,
"status": "processing",
"shareholderUser": [],
"shareholderCompany": [],
"directorUser": [
{
"id": "983d74ef-c2b7-4704-a5bd-988d65156806",
"shares": 1,
"pep": 1,
"pepConnected": 1,
"user": {
"id": "9da1ca16-687d-4ebb-a375-fcee12109326",
"isActive": true,
"status": "active",
"tradeStatus": true,
"email": "user@gmail.com",
"options": {
"language": "en",
"theme": "light"
},
"meta": {
"source": "api"
},
"selfDeleted": {
"status": null,
"dates": {
"initiated": null,
"confirmed": null,
"deleted": null
}
},
"createdAt": 1597821627,
"deletedAt": null
},
"createdAt": 1619083079
}
],
"directorCompany": [],
"createdAt": 1607350633
}
]
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (404):
{
"message": "No query results."
}
Example response (412):
{
"message": "User already attached"
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"user": [
"The selected User is invalid."
]
}
}
HTTP Request
POST /api/v1/user/{user}/company/{company}/authorized-person/invite
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
company |
required | The company ID. |
Body Parameters
Parameter | Type | Status | Description |
---|---|---|---|
user |
string | required | The company user user uuid/email - (in:users->uuid,email). |
Company Detach Authorized Person
Requires authentication Use this endpoint to detach company users authorized persons.
Example request:
curl -X POST \
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/company/5d482936-d7b4-4ef2-bef7-a230ca712a4b/authorized-person/detach" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}" \
-d '{"user":"64b4f8d1-c2bd-2345-8b1b-332a58176734"}'
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/company/5d482936-d7b4-4ef2-bef7-a230ca712a4b/authorized-person/detach"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
let body = {
"user": "64b4f8d1-c2bd-2345-8b1b-332a58176734"
}
fetch(url, {
method: "POST",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/company/5d482936-d7b4-4ef2-bef7-a230ca712a4b/authorized-person/detach',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
'json' => [
'user' => '64b4f8d1-c2bd-2345-8b1b-332a58176734',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/company/5d482936-d7b4-4ef2-bef7-a230ca712a4b/authorized-person/detach'
payload = {
"user": "64b4f8d1-c2bd-2345-8b1b-332a58176734"
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Example response (200):
{
"data": [
{
"id": "057e622c-3ca9-4e67-a968-e5f9985303e5",
"name": "Company",
"corporateRegistrationNumber": "123456",
"incorporationDate": "2021-04-01",
"operatingLicenseNumber": 123456789,
"website": "http:\/\/www.company.com",
"lei": "529900T8BM49AURSDO55",
"vatNr": "BG999999999",
"tinNr": "9999999999",
"state": "England",
"city": "Liverpool",
"address": "22 Eden Street",
"zip": "123456",
"postalAddress": null,
"phone": "+40700000000",
"default": false,
"status": "processing",
"shareholderUser": [],
"shareholderCompany": [],
"directorUser": [],
"directorCompany": [],
"createdAt": 1607350633
}
]
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (409):
{
"message": "This action is unauthorized."
}
Example response (412):
{
"message": "User already detached"
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"user": [
"The selected User is invalid."
]
}
}
HTTP Request
POST /api/v1/user/{user}/company/{company}/authorized-person/detach
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
company |
required | The company ID. |
Body Parameters
Parameter | Type | Status | Description |
---|---|---|---|
user |
string | required | The company user user uuid/email - (in:users->uuid,email). |
Country
APIs for managing countries
Country Index
Use this endpoint to get all available platform Countries.
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/countries" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/countries"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/countries',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/countries'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers)
response.json()
Example response (200):
{
"data": [
{
"code": "AF",
"name": "Afghanistan",
"phoneCode": 93,
"continent": "Asia"
},
{
"code": "AL",
"name": "Albania",
"phoneCode": 355,
"continent": "Europe"
},
{
"code": "AS",
"name": "American Samoa",
"phoneCode": 1684,
"continent": "Oceania"
},
{
"code": "AD",
"name": "Andorra",
"phoneCode": 376,
"continent": "Europe"
},
{
"code": "AO",
"name": "Angola",
"phoneCode": 244,
"continent": "Africa"
},
{
"code": "AI",
"name": "Anguilla",
"phoneCode": 1264,
"continent": "North America"
},
{
"code": "AQ",
"name": "Antarctica",
"phoneCode": 672,
"continent": "Antarctica"
},
{
"code": "AG",
"name": "Antigua And Barbuda",
"phoneCode": 1268,
"continent": "North America"
},
{
"code": "AR",
"name": "Argentina",
"phoneCode": 54,
"continent": "South America"
},
{
"code": "AM",
"name": "Armenia",
"phoneCode": 374,
"continent": "Asia"
},
{
"code": "AW",
"name": "Aruba",
"phoneCode": 297,
"continent": "North America"
},
{
"code": "AU",
"name": "Australia",
"phoneCode": 61,
"continent": "Oceania"
},
{
"code": "AT",
"name": "Austria",
"phoneCode": 43,
"continent": "Europe"
},
{
"code": "AZ",
"name": "Azerbaijan",
"phoneCode": 994,
"continent": "Asia"
},
{
"code": "BS",
"name": "Bahamas The",
"phoneCode": 1242,
"continent": "North America"
},
{
"code": "BH",
"name": "Bahrain",
"phoneCode": 973,
"continent": "Asia"
},
{
"code": "BB",
"name": "Barbados",
"phoneCode": 1246,
"continent": "North America"
},
{
"code": "BY",
"name": "Belarus",
"phoneCode": 375,
"continent": "Europe"
},
{
"code": "BE",
"name": "Belgium",
"phoneCode": 32,
"continent": "Europe"
},
{
"code": "BZ",
"name": "Belize",
"phoneCode": 501,
"continent": "North America"
},
{
"code": "BJ",
"name": "Benin",
"phoneCode": 229,
"continent": "Africa"
},
{
"code": "BM",
"name": "Bermuda",
"phoneCode": 1441,
"continent": "North America"
},
{
"code": "BT",
"name": "Bhutan",
"phoneCode": 975,
"continent": "Asia"
},
{
"code": "BA",
"name": "Bosnia and Herzegovina",
"phoneCode": 387,
"continent": "Europe"
},
{
"code": "BW",
"name": "Botswana",
"phoneCode": 267,
"continent": "Africa"
},
{
"code": "BV",
"name": "Bouvet Island",
"phoneCode": 47,
"continent": "Antarctica"
},
{
"code": "BR",
"name": "Brazil",
"phoneCode": 55,
"continent": "South America"
},
{
"code": "IO",
"name": "British Indian Ocean Territory",
"phoneCode": 246,
"continent": "Asia"
},
{
"code": "BN",
"name": "Brunei",
"phoneCode": 673,
"continent": "Asia"
},
{
"code": "BG",
"name": "Bulgaria",
"phoneCode": 359,
"continent": "Europe"
},
{
"code": "BF",
"name": "Burkina Faso",
"phoneCode": 226,
"continent": "Africa"
},
{
"code": "BI",
"name": "Burundi",
"phoneCode": 257,
"continent": "Africa"
},
{
"code": "CM",
"name": "Cameroon",
"phoneCode": 237,
"continent": "Africa"
},
{
"code": "CA",
"name": "Canada",
"phoneCode": 1,
"continent": "North America"
},
{
"code": "CV",
"name": "Cape Verde",
"phoneCode": 238,
"continent": "Africa"
},
{
"code": "KY",
"name": "Cayman Islands",
"phoneCode": 1345,
"continent": "North America"
},
{
"code": "CF",
"name": "Central African Republic",
"phoneCode": 236,
"continent": "Africa"
},
{
"code": "TD",
"name": "Chad",
"phoneCode": 235,
"continent": "Africa"
},
{
"code": "CL",
"name": "Chile",
"phoneCode": 56,
"continent": "South America"
},
{
"code": "CX",
"name": "Christmas Island",
"phoneCode": 61,
"continent": "Asia"
},
{
"code": "CC",
"name": "Cocos (Keeling) Islands",
"phoneCode": 672,
"continent": "Asia"
},
{
"code": "KM",
"name": "Comoros",
"phoneCode": 269,
"continent": "Africa"
},
{
"code": "CG",
"name": "Congo",
"phoneCode": 242,
"continent": "Africa"
},
{
"code": "CD",
"name": "Congo The Democratic Republic Of The",
"phoneCode": 243,
"continent": "Africa"
},
{
"code": "CK",
"name": "Cook Islands",
"phoneCode": 682,
"continent": "Oceania"
},
{
"code": "CR",
"name": "Costa Rica",
"phoneCode": 506,
"continent": "North America"
},
{
"code": "CI",
"name": "Cote D Ivoire (Ivory Coast)",
"phoneCode": 225,
"continent": "Africa"
},
{
"code": "HR",
"name": "Croatia (Hrvatska)",
"phoneCode": 385,
"continent": "Europe"
},
{
"code": "CU",
"name": "Cuba",
"phoneCode": 53,
"continent": "North America"
},
{
"code": "CY",
"name": "Cyprus",
"phoneCode": 357,
"continent": "Asia"
},
{
"code": "CZ",
"name": "Czech Republic",
"phoneCode": 420,
"continent": "Europe"
},
{
"code": "DK",
"name": "Denmark",
"phoneCode": 45,
"continent": "Europe"
},
{
"code": "DJ",
"name": "Djibouti",
"phoneCode": 253,
"continent": "Africa"
},
{
"code": "DM",
"name": "Dominica",
"phoneCode": 1767,
"continent": "North America"
},
{
"code": "DO",
"name": "Dominican Republic",
"phoneCode": 1,
"continent": "North America"
},
{
"code": "TL",
"name": "East Timor",
"phoneCode": 670,
"continent": "Asia"
},
{
"code": "EG",
"name": "Egypt",
"phoneCode": 20,
"continent": "Africa"
},
{
"code": "SV",
"name": "El Salvador",
"phoneCode": 503,
"continent": "North America"
},
{
"code": "GQ",
"name": "Equatorial Guinea",
"phoneCode": 240,
"continent": "Africa"
},
{
"code": "ER",
"name": "Eritrea",
"phoneCode": 291,
"continent": "Africa"
},
{
"code": "EE",
"name": "Estonia",
"phoneCode": 372,
"continent": "Europe"
},
{
"code": "ET",
"name": "Ethiopia",
"phoneCode": 251,
"continent": "Africa"
},
{
"code": "XA",
"name": "External Territories of Australia",
"phoneCode": 61,
"continent": null
},
{
"code": "FK",
"name": "Falkland Islands",
"phoneCode": 500,
"continent": "South America"
},
{
"code": "FO",
"name": "Faroe Islands",
"phoneCode": 298,
"continent": "Europe"
},
{
"code": "FJ",
"name": "Fiji Islands",
"phoneCode": 679,
"continent": "Oceania"
},
{
"code": "FI",
"name": "Finland",
"phoneCode": 358,
"continent": "Europe"
},
{
"code": "FR",
"name": "France",
"phoneCode": 33,
"continent": "Europe"
},
{
"code": "GF",
"name": "French Guiana",
"phoneCode": 594,
"continent": "South America"
},
{
"code": "PF",
"name": "French Polynesia",
"phoneCode": 689,
"continent": "Oceania"
},
{
"code": "TF",
"name": "French Southern Territories",
"phoneCode": 262,
"continent": "Antarctica"
},
{
"code": "GA",
"name": "Gabon",
"phoneCode": 241,
"continent": "Africa"
},
{
"code": "GM",
"name": "Gambia The",
"phoneCode": 220,
"continent": "Africa"
},
{
"code": "GE",
"name": "Georgia",
"phoneCode": 995,
"continent": "Asia"
},
{
"code": "DE",
"name": "Germany",
"phoneCode": 49,
"continent": "Europe"
},
{
"code": "GH",
"name": "Ghana",
"phoneCode": 233,
"continent": "Africa"
},
{
"code": "GI",
"name": "Gibraltar",
"phoneCode": 350,
"continent": "Europe"
},
{
"code": "GR",
"name": "Greece",
"phoneCode": 30,
"continent": "Europe"
},
{
"code": "GL",
"name": "Greenland",
"phoneCode": 299,
"continent": "North America"
},
{
"code": "GD",
"name": "Grenada",
"phoneCode": 1473,
"continent": "North America"
},
{
"code": "GP",
"name": "Guadeloupe",
"phoneCode": 590,
"continent": "North America"
},
{
"code": "GU",
"name": "Guam",
"phoneCode": 1671,
"continent": "Oceania"
},
{
"code": "GT",
"name": "Guatemala",
"phoneCode": 502,
"continent": "North America"
},
{
"code": "XU",
"name": "Guernsey and Alderney",
"phoneCode": 44,
"continent": null
},
{
"code": "GN",
"name": "Guinea",
"phoneCode": 224,
"continent": "Africa"
},
{
"code": "GW",
"name": "Guinea-Bissau",
"phoneCode": 245,
"continent": "Africa"
},
{
"code": "GY",
"name": "Guyana",
"phoneCode": 592,
"continent": "South America"
},
{
"code": "HT",
"name": "Haiti",
"phoneCode": 509,
"continent": "North America"
},
{
"code": "HM",
"name": "Heard and McDonald Islands",
"phoneCode": 61,
"continent": "Antarctica"
},
{
"code": "HN",
"name": "Honduras",
"phoneCode": 504,
"continent": "North America"
},
{
"code": "HK",
"name": "Hong Kong S.A.R.",
"phoneCode": 852,
"continent": "Asia"
},
{
"code": "HU",
"name": "Hungary",
"phoneCode": 36,
"continent": "Europe"
},
{
"code": "IS",
"name": "Iceland",
"phoneCode": 354,
"continent": "Europe"
},
{
"code": "IN",
"name": "India",
"phoneCode": 91,
"continent": "Asia"
},
{
"code": "IQ",
"name": "Iraq",
"phoneCode": 964,
"continent": "Asia"
},
{
"code": "IE",
"name": "Ireland",
"phoneCode": 353,
"continent": "Europe"
},
{
"code": "IL",
"name": "Israel",
"phoneCode": 972,
"continent": "Asia"
},
{
"code": "IT",
"name": "Italy",
"phoneCode": 39,
"continent": "Europe"
},
{
"code": "JM",
"name": "Jamaica",
"phoneCode": 1876,
"continent": "North America"
},
{
"code": "JP",
"name": "Japan",
"phoneCode": 81,
"continent": "Asia"
},
{
"code": "JE",
"name": "Jersey",
"phoneCode": 44,
"continent": "Europe"
},
{
"code": "KZ",
"name": "Kazakhstan",
"phoneCode": 7,
"continent": "Asia"
},
{
"code": "KE",
"name": "Kenya",
"phoneCode": 254,
"continent": "Africa"
},
{
"code": "KI",
"name": "Kiribati",
"phoneCode": 686,
"continent": "Oceania"
},
{
"code": "KR",
"name": "Korea South",
"phoneCode": 82,
"continent": "Asia"
},
{
"code": "KW",
"name": "Kuwait",
"phoneCode": 965,
"continent": "Asia"
},
{
"code": "LA",
"name": "Laos",
"phoneCode": 856,
"continent": "Asia"
},
{
"code": "LV",
"name": "Latvia",
"phoneCode": 371,
"continent": "Europe"
},
{
"code": "LB",
"name": "Lebanon",
"phoneCode": 961,
"continent": "Asia"
},
{
"code": "LS",
"name": "Lesotho",
"phoneCode": 266,
"continent": "Africa"
},
{
"code": "LR",
"name": "Liberia",
"phoneCode": 231,
"continent": "Africa"
},
{
"code": "LY",
"name": "Libya",
"phoneCode": 218,
"continent": "Africa"
},
{
"code": "LI",
"name": "Liechtenstein",
"phoneCode": 423,
"continent": "Europe"
},
{
"code": "LT",
"name": "Lithuania",
"phoneCode": 370,
"continent": "Europe"
},
{
"code": "LU",
"name": "Luxembourg",
"phoneCode": 352,
"continent": "Europe"
},
{
"code": "MO",
"name": "Macau S.A.R.",
"phoneCode": 853,
"continent": "Asia"
},
{
"code": "MK",
"name": "Macedonia",
"phoneCode": 389,
"continent": "Europe"
},
{
"code": "MG",
"name": "Madagascar",
"phoneCode": 261,
"continent": "Africa"
},
{
"code": "MW",
"name": "Malawi",
"phoneCode": 265,
"continent": "Africa"
},
{
"code": "MY",
"name": "Malaysia",
"phoneCode": 60,
"continent": "Asia"
},
{
"code": "MV",
"name": "Maldives",
"phoneCode": 960,
"continent": "Asia"
},
{
"code": "ML",
"name": "Mali",
"phoneCode": 223,
"continent": "Africa"
},
{
"code": "MT",
"name": "Malta",
"phoneCode": 356,
"continent": "Europe"
},
{
"code": "IM",
"name": "Man (Isle of)",
"phoneCode": 44,
"continent": "Europe"
},
{
"code": "MH",
"name": "Marshall Islands",
"phoneCode": 692,
"continent": "Oceania"
},
{
"code": "MQ",
"name": "Martinique",
"phoneCode": 596,
"continent": "North America"
},
{
"code": "MR",
"name": "Mauritania",
"phoneCode": 222,
"continent": "Africa"
},
{
"code": "MU",
"name": "Mauritius",
"phoneCode": 230,
"continent": "Africa"
},
{
"code": "YT",
"name": "Mayotte",
"phoneCode": 262,
"continent": "Africa"
},
{
"code": "MX",
"name": "Mexico",
"phoneCode": 52,
"continent": "North America"
},
{
"code": "FM",
"name": "Micronesia",
"phoneCode": 691,
"continent": "Oceania"
},
{
"code": "MD",
"name": "Moldova",
"phoneCode": 373,
"continent": "Europe"
},
{
"code": "MC",
"name": "Monaco",
"phoneCode": 377,
"continent": "Europe"
},
{
"code": "MN",
"name": "Mongolia",
"phoneCode": 976,
"continent": "Asia"
},
{
"code": "MS",
"name": "Montserrat",
"phoneCode": 1664,
"continent": "North America"
},
{
"code": "MZ",
"name": "Mozambique",
"phoneCode": 258,
"continent": "Africa"
},
{
"code": "MM",
"name": "Myanmar",
"phoneCode": 95,
"continent": "Asia"
},
{
"code": "NA",
"name": "Namibia",
"phoneCode": 264,
"continent": "Africa"
},
{
"code": "NR",
"name": "Nauru",
"phoneCode": 674,
"continent": "Oceania"
},
{
"code": "BQ",
"name": "Caribbean Netherlands",
"phoneCode": 599,
"continent": null
},
{
"code": "NL",
"name": "Netherlands The",
"phoneCode": 31,
"continent": "Europe"
},
{
"code": "NC",
"name": "New Caledonia",
"phoneCode": 687,
"continent": "Oceania"
},
{
"code": "NZ",
"name": "New Zealand",
"phoneCode": 64,
"continent": "Oceania"
},
{
"code": "NI",
"name": "Nicaragua",
"phoneCode": 505,
"continent": "North America"
},
{
"code": "NE",
"name": "Niger",
"phoneCode": 227,
"continent": "Africa"
},
{
"code": "NG",
"name": "Nigeria",
"phoneCode": 234,
"continent": "Africa"
},
{
"code": "NU",
"name": "Niue",
"phoneCode": 683,
"continent": "Oceania"
},
{
"code": "NF",
"name": "Norfolk Island",
"phoneCode": 672,
"continent": "Oceania"
},
{
"code": "MP",
"name": "Northern Mariana Islands",
"phoneCode": 1670,
"continent": "Oceania"
},
{
"code": "NO",
"name": "Norway",
"phoneCode": 47,
"continent": "Europe"
},
{
"code": "OM",
"name": "Oman",
"phoneCode": 968,
"continent": "Asia"
},
{
"code": "PW",
"name": "Palau",
"phoneCode": 680,
"continent": "Oceania"
},
{
"code": "PS",
"name": "Palestinian Territory Occupied",
"phoneCode": 970,
"continent": "Asia"
},
{
"code": "PA",
"name": "Panama",
"phoneCode": 507,
"continent": "North America"
},
{
"code": "PG",
"name": "Papua new Guinea",
"phoneCode": 675,
"continent": "Oceania"
},
{
"code": "PY",
"name": "Paraguay",
"phoneCode": 595,
"continent": "South America"
},
{
"code": "PE",
"name": "Peru",
"phoneCode": 51,
"continent": "South America"
},
{
"code": "PH",
"name": "Philippines",
"phoneCode": 63,
"continent": "Asia"
},
{
"code": "PN",
"name": "Pitcairn Island",
"phoneCode": 64,
"continent": "Oceania"
},
{
"code": "PL",
"name": "Poland",
"phoneCode": 48,
"continent": "Europe"
},
{
"code": "PT",
"name": "Portugal",
"phoneCode": 351,
"continent": "Europe"
},
{
"code": "PR",
"name": "Puerto Rico",
"phoneCode": 1787,
"continent": "North America"
},
{
"code": "QA",
"name": "Qatar",
"phoneCode": 974,
"continent": "Asia"
},
{
"code": "RE",
"name": "Reunion",
"phoneCode": 262,
"continent": "Africa"
},
{
"code": "RO",
"name": "Romania",
"phoneCode": 40,
"continent": "Europe"
},
{
"code": "RU",
"name": "Russia",
"phoneCode": 7,
"continent": "Europe"
},
{
"code": "RW",
"name": "Rwanda",
"phoneCode": 250,
"continent": "Africa"
},
{
"code": "SH",
"name": "Saint Helena",
"phoneCode": 290,
"continent": "Africa"
},
{
"code": "KN",
"name": "Saint Kitts And Nevis",
"phoneCode": 1869,
"continent": "North America"
},
{
"code": "LC",
"name": "Saint Lucia",
"phoneCode": 1758,
"continent": "North America"
},
{
"code": "PM",
"name": "Saint Pierre and Miquelon",
"phoneCode": 508,
"continent": "North America"
},
{
"code": "VC",
"name": "Saint Vincent And The Grenadines",
"phoneCode": 1784,
"continent": "North America"
},
{
"code": "WS",
"name": "Samoa",
"phoneCode": 685,
"continent": "Oceania"
},
{
"code": "SM",
"name": "San Marino",
"phoneCode": 378,
"continent": "Europe"
},
{
"code": "ST",
"name": "Sao Tome and Principe",
"phoneCode": 239,
"continent": "Africa"
},
{
"code": "SN",
"name": "Senegal",
"phoneCode": 221,
"continent": "Africa"
},
{
"code": "RS",
"name": "Serbia",
"phoneCode": 381,
"continent": "Europe"
},
{
"code": "SC",
"name": "Seychelles",
"phoneCode": 248,
"continent": "Africa"
},
{
"code": "SL",
"name": "Sierra Leone",
"phoneCode": 232,
"continent": "Africa"
},
{
"code": "SG",
"name": "Singapore",
"phoneCode": 65,
"continent": "Asia"
},
{
"code": "SK",
"name": "Slovakia",
"phoneCode": 421,
"continent": "Europe"
},
{
"code": "SI",
"name": "Slovenia",
"phoneCode": 386,
"continent": "Europe"
},
{
"code": "XG",
"name": "Smaller Territories of the UK",
"phoneCode": 44,
"continent": null
},
{
"code": "SB",
"name": "Solomon Islands",
"phoneCode": 677,
"continent": "Oceania"
},
{
"code": "SO",
"name": "Somalia",
"phoneCode": 252,
"continent": "Africa"
},
{
"code": "ZA",
"name": "South Africa",
"phoneCode": 27,
"continent": "Africa"
},
{
"code": "GS",
"name": "South Georgia",
"phoneCode": 500,
"continent": "Antarctica"
},
{
"code": "SS",
"name": "South Sudan",
"phoneCode": 211,
"continent": null
},
{
"code": "ES",
"name": "Spain",
"phoneCode": 34,
"continent": "Europe"
},
{
"code": "LK",
"name": "Sri Lanka",
"phoneCode": 94,
"continent": "Asia"
},
{
"code": "SD",
"name": "Sudan",
"phoneCode": 249,
"continent": "Africa"
},
{
"code": "SR",
"name": "Suriname",
"phoneCode": 597,
"continent": "South America"
},
{
"code": "SJ",
"name": "Svalbard And Jan Mayen Islands",
"phoneCode": 47,
"continent": "Europe"
},
{
"code": "SZ",
"name": "Swaziland",
"phoneCode": 268,
"continent": "Africa"
},
{
"code": "SE",
"name": "Sweden",
"phoneCode": 46,
"continent": "Europe"
},
{
"code": "CH",
"name": "Switzerland",
"phoneCode": 41,
"continent": "Europe"
},
{
"code": "SY",
"name": "Syria",
"phoneCode": 963,
"continent": "Asia"
},
{
"code": "TJ",
"name": "Tajikistan",
"phoneCode": 992,
"continent": "Asia"
},
{
"code": "TZ",
"name": "Tanzania",
"phoneCode": 255,
"continent": "Africa"
},
{
"code": "TH",
"name": "Thailand",
"phoneCode": 66,
"continent": "Asia"
},
{
"code": "TG",
"name": "Togo",
"phoneCode": 228,
"continent": "Africa"
},
{
"code": "TK",
"name": "Tokelau",
"phoneCode": 690,
"continent": "Oceania"
},
{
"code": "TO",
"name": "Tonga",
"phoneCode": 676,
"continent": "Oceania"
},
{
"code": "TT",
"name": "Trinidad And Tobago",
"phoneCode": 1868,
"continent": "North America"
},
{
"code": "TN",
"name": "Tunisia",
"phoneCode": 216,
"continent": "Africa"
},
{
"code": "TR",
"name": "Turkey",
"phoneCode": 90,
"continent": "Asia"
},
{
"code": "TM",
"name": "Turkmenistan",
"phoneCode": 993,
"continent": "Asia"
},
{
"code": "TC",
"name": "Turks And Caicos Islands",
"phoneCode": 1649,
"continent": "North America"
},
{
"code": "TV",
"name": "Tuvalu",
"phoneCode": 688,
"continent": "Oceania"
},
{
"code": "UG",
"name": "Uganda",
"phoneCode": 256,
"continent": "Africa"
},
{
"code": "UA",
"name": "Ukraine",
"phoneCode": 380,
"continent": "Europe"
},
{
"code": "AE",
"name": "United Arab Emirates",
"phoneCode": 971,
"continent": "Asia"
},
{
"code": "GB",
"name": "United Kingdom",
"phoneCode": 44,
"continent": "Europe"
},
{
"code": "UM",
"name": "United States Minor Outlying Islands",
"phoneCode": 1,
"continent": "Oceania"
},
{
"code": "UY",
"name": "Uruguay",
"phoneCode": 598,
"continent": "South America"
},
{
"code": "UZ",
"name": "Uzbekistan",
"phoneCode": 998,
"continent": "Asia"
},
{
"code": "VU",
"name": "Vanuatu",
"phoneCode": 678,
"continent": "Oceania"
},
{
"code": "VA",
"name": "Vatican City State (Holy See)",
"phoneCode": 39,
"continent": "Europe"
},
{
"code": "VE",
"name": "Venezuela",
"phoneCode": 58,
"continent": "South America"
},
{
"code": "VG",
"name": "Virgin Islands (British)",
"phoneCode": 1284,
"continent": "North America"
},
{
"code": "VI",
"name": "Virgin Islands (US)",
"phoneCode": 1340,
"continent": "North America"
},
{
"code": "WF",
"name": "Wallis And Futuna Islands",
"phoneCode": 681,
"continent": "Oceania"
},
{
"code": "EH",
"name": "Western Sahara",
"phoneCode": 212,
"continent": "Africa"
},
{
"code": "YE",
"name": "Yemen",
"phoneCode": 967,
"continent": "Asia"
},
{
"code": "YU",
"name": "Yugoslavia",
"phoneCode": 38,
"continent": null
},
{
"code": "ZM",
"name": "Zambia",
"phoneCode": 260,
"continent": "Africa"
},
{
"code": "ZW",
"name": "Zimbabwe",
"phoneCode": 263,
"continent": "Africa"
},
{
"code": "CW",
"name": "Curacao",
"phoneCode": 599,
"continent": null
},
{
"code": "GG",
"name": "Guernsey",
"phoneCode": 44,
"continent": "Europe"
},
{
"code": "XK",
"name": "Kosovo",
"phoneCode": 383,
"continent": null
},
{
"code": "ME",
"name": "Montenegro",
"phoneCode": 382,
"continent": "Europe"
},
{
"code": "BL",
"name": "Saint Barthelemy",
"phoneCode": 590,
"continent": null
},
{
"code": "MF",
"name": "Saint Martin",
"phoneCode": 590,
"continent": null
},
{
"code": "SX",
"name": "Sint Maarten",
"phoneCode": 1721,
"continent": null
},
{
"code": "AX",
"name": "Aland Islands",
"phoneCode": 358,
"continent": "Europe"
},
{
"code": "TP",
"name": "East Timor",
"phoneCode": 670,
"continent": null
},
{
"code": "XJ",
"name": "Jersey",
"phoneCode": 44,
"continent": null
},
{
"code": "XM",
"name": "Man (Isle of)",
"phoneCode": 44,
"continent": null
},
{
"code": "AN",
"name": "Netherlands Antilles",
"phoneCode": 599,
"continent": "North America"
}
]
}
HTTP Request
GET /api/v1/countries
Currency
APIs for managing currencies
Currency Index
Requires authentication Use this endpoint to get all available platform Currencies.
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/currencies?assets[]=ETH" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/currencies"
);
let params = {
"assets[]": "ETH",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/currencies',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
'query' => [
'assets[]'=> 'ETH',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/currencies'
params = {
'assets[]': 'ETH',
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()
Example response (200):
{
"data": {
"coins": [
{
"name": "Ethereum",
"symbol": "ETH",
"type": "coin",
"chain": {
"name": "Ethereum",
"symbol": "ETH"
},
"balance": {
"favorite": true,
"crypto": {
"available": "26.9486900595761330185619308",
"vesting": "2.6000000000000000000000000",
"staking": "0.9000000000000000000000000",
"pending": "16.0992852907643554284205211",
"payment": "0.0000000000000000000000000",
"reserve": "0.0000000000000000000000000"
},
"fiat": {
"available": "36138.1933698915943778915492028",
"vesting": "3486.6000000000000000000000000",
"staking": "1206.9000000000000000000000000",
"payment": "0",
"reserve": "0"
}
},
"rates": {
"raw": {
"now": "128.55000",
"day": "125.00000",
"week": "105.46000",
"month": "240.78000",
"quarter": "113.60000",
"semester": "154.55000",
"year": "119.96000",
"history": {
"day": [
{
"rate": "125.93000",
"createdAt": 1585033255
}
]
}
}
},
"operations": {
"General": [
{
"deposit": {
"status": true,
"limits": {
"main": {
"min": null,
"max": null
},
"second": {
"min": null,
"max": null
}
},
"secondOperations": [],
"networks": [
{
"active": true,
"default": true,
"min": "0.01",
"max": "10000000000",
"fee": "0.005",
"confirms": "12",
"regexAddress": "^(0x)[0-9A-Fa-f]{40}$",
"regexMemo": null,
"network": {
"name": "Ethereum",
"code": "ETH",
"type": "ERC20",
"explorer": {
"address": "https:\/\/etherscan.io\/address\/{placeholder}",
"transaction": "https:\/\/etherscan.io\/tx\/{placeholder}",
"contract": "https:\/\/etherscan.io\/address\/{placeholder}"
}
}
}
]
}
},
{
"withdraw": {
"status": true,
"limits": {
"main": {
"min": null,
"max": null
},
"second": {
"min": null,
"max": null
}
},
"secondOperations": [],
"networks": [
{
"active": true,
"default": true,
"min": "0.01",
"max": "10000000000",
"fee": "0.005",
"confirms": "12",
"regexAddress": "^(0x)[0-9A-Fa-f]{40}$",
"regexMemo": null,
"network": {
"name": "Ethereum",
"code": "ETH",
"type": "ERC20",
"explorer": {
"address": "https:\/\/etherscan.io\/address\/{placeholder}",
"transaction": "https:\/\/etherscan.io\/tx\/{placeholder}",
"contract": "https:\/\/etherscan.io\/address\/{placeholder}"
}
}
}
]
}
}
],
"Particular": {
"EUR": [
{
"buy_with_fiat": {
"status": true,
"limits": {
"main": {
"min": null,
"max": null
},
"second": {
"min": null,
"max": null
}
},
"secondOperations": [
{
"withdraw": {
"mandatory": false
}
}
]
}
},
{
"sell_to_fiat": {
"status": true,
"limits": {
"main": {
"min": null,
"max": null
},
"second": {
"min": null,
"max": null
}
},
"secondOperations": []
}
}
]
}
}
}
]
}
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (403):
{
"message": "Unable to process your request."
}
Example response (409):
{
"message": "This action is unauthorized."
}
HTTP Request
GET /api/v1/user/{user}/currencies
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
Query Parameters
Parameter | Status | Description |
---|---|---|
assets[] |
optional | The assets symbol for multiple returns. |
Currency Show
Requires authentication Use this endpoint to get specific available platform Currency.
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/currencies/ETH" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/currencies/ETH"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/currencies/ETH',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/currencies/ETH'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('GET', url, headers=headers)
response.json()
Example response (200):
{
"data": {
"name": "Ethereum",
"symbol": "ETH",
"type": "coin",
"chain": {
"name": "Ethereum",
"symbol": "ETH"
},
"balance": {
"favorite": true,
"crypto": {
"available": "26.9486900595761330185619308",
"vesting": "2.6000000000000000000000000",
"staking": "0.9000000000000000000000000",
"pending": "16.0992852907643554284205211",
"payment": "0.0000000000000000000000000",
"reserve": "0.0000000000000000000000000"
},
"fiat": {
"available": "36138.1933698915943778915492028",
"vesting": "3486.6000000000000000000000000",
"staking": "1206.9000000000000000000000000",
"payment": "0",
"reserve": "0"
}
},
"rates": {
"raw": {
"now": "128.55000",
"day": "125.00000",
"week": "105.46000",
"month": "240.78000",
"quarter": "113.60000",
"semester": "154.55000",
"year": "119.96000",
"history": {
"day": [
{
"rate": "125.93000",
"createdAt": 1585033255
}
]
}
}
},
"operations": {
"General": [
{
"deposit": {
"status": true,
"limits": {
"main": {
"min": null,
"max": null
},
"second": {
"min": null,
"max": null
}
},
"secondOperations": [],
"networks": [
{
"active": true,
"default": true,
"min": "0.01",
"max": "10000000000",
"fee": "0.005",
"confirms": "12",
"regexAddress": "^(0x)[0-9A-Fa-f]{40}$",
"regexMemo": null,
"network": {
"name": "Ethereum",
"code": "ETH",
"type": "ERC20",
"explorer": {
"address": "https:\/\/etherscan.io\/address\/{placeholder}",
"transaction": "https:\/\/etherscan.io\/tx\/{placeholder}",
"contract": "https:\/\/etherscan.io\/address\/{placeholder}"
}
}
}
]
}
},
{
"withdraw": {
"status": true,
"limits": {
"main": {
"min": null,
"max": null
},
"second": {
"min": null,
"max": null
}
},
"secondOperations": [],
"networks": [
{
"active": true,
"default": true,
"min": "0.01",
"max": "10000000000",
"fee": "0.005",
"confirms": "12",
"regexAddress": "^(0x)[0-9A-Fa-f]{40}$",
"regexMemo": null,
"network": {
"name": "Ethereum",
"code": "ETH",
"type": "ERC20",
"explorer": {
"address": "https:\/\/etherscan.io\/address\/{placeholder}",
"transaction": "https:\/\/etherscan.io\/tx\/{placeholder}",
"contract": "https:\/\/etherscan.io\/address\/{placeholder}"
}
}
}
]
}
}
],
"Particular": {
"EUR": [
{
"buy_with_fiat": {
"status": true,
"limits": {
"main": {
"min": null,
"max": null
},
"second": {
"min": null,
"max": null
}
},
"secondOperations": [
{
"withdraw": {
"mandatory": false
}
}
]
}
},
{
"sell_to_fiat": {
"status": true,
"limits": {
"main": {
"min": null,
"max": null
},
"second": {
"min": null,
"max": null
}
},
"secondOperations": []
}
}
]
}
}
}
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (403):
{
"message": "Unable to process your request."
}
Example response (409):
{
"message": "This action is unauthorized."
}
HTTP Request
GET /api/v1/user/{user}/currencies/{asset}
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
asset |
optional | The asset Symbol. |
Currency Favorite
Requires authentication Use this endpoint to set/unset currency favorite.
Example request:
curl -X POST \
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/currencies/ETH/favorite" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/currencies/ETH/favorite"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
fetch(url, {
method: "POST",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/currencies/ETH/favorite',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/currencies/ETH/favorite'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('POST', url, headers=headers)
response.json()
Example response (200):
{
"data": {
"favorite": true
}
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (403):
{
"message": "Unable to process your request."
}
Example response (409):
{
"message": "This action is unauthorized."
}
HTTP Request
POST /api/v1/user/{user}/currencies/{asset}/favorite
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
asset |
optional | The asset Symbol. |
Currency History
Requires authentication Use this endpoint to get all available platform Currencies Histories.
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/currencies/ETH/history/day" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/currencies/ETH/history/day"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/currencies/ETH/history/day',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/currencies/ETH/history/day'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('GET', url, headers=headers)
response.json()
Example response (200):
{
"data": [
{
"rate": "127.98000",
"createdAt": 1550534431
}
]
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (403):
{
"message": "Unable to process your request."
}
Example response (409):
{
"message": "This action is unauthorized."
}
HTTP Request
GET /api/v1/user/{user}/currencies/{asset}/history/{period}
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
asset |
optional | The asset Symbol. |
period |
optional | The history period value (in: day|week|month|quarter). |
Deposit
APIs for managing deposits
Deposit Store
Requires authentication Use this endpoint to store a user deposit order.
Example request:
curl -X POST \
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/deposit" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}" \
-d '{"symbol":"ETH","amount":"100","wallet":"0x500cab8a5706bf41352534a4754baab87b24a45e","network":"ETH","txID":"0xccb5d3e14b73a10708839f9d4fb9a733696b0bd10a84782cd52fc70d13595a25","proofOfPayment":"File"}'
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/deposit"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
let body = {
"symbol": "ETH",
"amount": "100",
"wallet": "0x500cab8a5706bf41352534a4754baab87b24a45e",
"network": "ETH",
"txID": "0xccb5d3e14b73a10708839f9d4fb9a733696b0bd10a84782cd52fc70d13595a25",
"proofOfPayment": "File"
}
fetch(url, {
method: "POST",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/deposit',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
'json' => [
'symbol' => 'ETH',
'amount' => '100',
'wallet' => '0x500cab8a5706bf41352534a4754baab87b24a45e',
'network' => 'ETH',
'txID' => '0xccb5d3e14b73a10708839f9d4fb9a733696b0bd10a84782cd52fc70d13595a25',
'proofOfPayment' => 'File',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/deposit'
payload = {
"symbol": "ETH",
"amount": "100",
"wallet": "0x500cab8a5706bf41352534a4754baab87b24a45e",
"network": "ETH",
"txID": "0xccb5d3e14b73a10708839f9d4fb9a733696b0bd10a84782cd52fc70d13595a25",
"proofOfPayment": "File"
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Example response (201):
{
"data": {
"id": "f7cd7280-b75c-45ac-ac26-193162e74fc1",
"status": "PROCESSING_PAYMENT",
"type": "token",
"typeOperation": "in",
"typeOperationName": "deposit",
"fromSymbol": null,
"fromAmount": "0",
"rate": "0",
"toSymbol": "IPSX",
"toAmount": "100.0000000000000000000000000",
"wallet": "0x2f203264a671832b543acfd5558ae684cd1c5a5a",
"txId": "0xccb5d3e14b73a10708839f9d4fb9a733696b0bd10a84782cd52fc70d13595a25",
"payment": {
"method": null,
"id": null,
"url": null,
"feePercent": 0,
"proofUploaded": null
},
"commissions": {
"percent": "0.0000000000000000000000000",
"amount": "0.0000000000000000000000000"
},
"quote": null,
"externalPlatform": null,
"kycLevelRequired": 3,
"createdAt": 1556095674
}
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (406):
{
"message": "This type of operation is not allowed."
}
Example response (409):
{
"message": "This action is unauthorized."
}
HTTP Request
POST /api/v1/user/{user}/deposit
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
Body Parameters
Parameter | Type | Status | Description |
---|---|---|---|
symbol |
string | required | The order coin/token/fiat symbol - (in:{coin|token|fiat}->symbol). |
amount |
string | required | The order amount - (numeric). |
wallet |
string | optional | The order wallet - (max:191). |
network |
string | optional | The wallet network code - (in:coins->networks->code). |
txID |
string | required | The order transaction ID - (max:191). |
proofOfPayment |
file | required | The proof of payment - (file|required_if:symbol - (in:{fiat}->symbol)|mimes:jpg,jpeg,bmp,png,pdf|max:10240kb). |
Deposit Address
Requires authentication Use this endpoint to get a user deposit address.
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/deposit/address" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}" \
-d '{"asset":"ETH","network":"ETH"}'
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/deposit/address"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
let body = {
"asset": "ETH",
"network": "ETH"
}
fetch(url, {
method: "GET",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/deposit/address',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
'json' => [
'asset' => 'ETH',
'network' => 'ETH',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/deposit/address'
payload = {
"asset": "ETH",
"network": "ETH"
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('GET', url, headers=headers, json=payload)
response.json()
Example response (200):
{
"data": {
"id": "2080fbfd-b6db-400a-afdd-73bf9c5dc8cc",
"address": "0x123456789012345678901234567890",
"memo": null,
"type": "cold",
"status": "enabled",
"chain": "ETH",
"asset": {
"name": "Ethereum",
"symbol": "ETH",
"alias": null
},
"network": {
"name": "Ethereum",
"code": "ETH",
"type": "ERC20",
"explorer": {
"address": "https:\/\/etherscan.io\/address\/{placeholder}",
"transaction": "https:\/\/etherscan.io\/tx\/{placeholder}",
"contract": "https:\/\/etherscan.io\/address\/{placeholder}"
}
},
"createdAt": 1567002753
}
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (403):
{
"message": "Unable to process your request."
}
Example response (409):
{
"message": "This action is unauthorized."
}
Example response (415):
{
"message": "No available deposit address for your request."
}
HTTP Request
GET /api/v1/user/{user}/deposit/address POST /api/v1/user/{user}/deposit/address
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
Body Parameters
Parameter | Type | Status | Description |
---|---|---|---|
asset |
string | required | The asset symbol - (in:assets->symbol). |
network |
string | optional | The asset network code - (in:assets->networks->code). |
Documentation
APIs for managing documentation
Categories Index
Use this endpoint to get all Categories.
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/documentation/categories" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/documentation/categories"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/documentation/categories',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/documentation/categories'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers)
response.json()
Example response (200):
{
"data": [
{
"uuid": "b60ea1c9-263d-4533-b5e5-ed25a48e8aa4",
"name": "Lorem Ipsum",
"slug": "lorem-ipsum",
"order": "1",
"child": [
{
"uuid": "c509e3ad-9ecf-444d-b2bc-eeb656f78b96",
"name": "Lorem Ipsum 1",
"slug": "lorem-ipsum-1",
"order": 1,
"documentations": [
{
"uuid": "b60ea1c9-263d-4533-b5e5-ed25a48e8aa4",
"title": "Lorem Ipsum 2",
"slug": "lorem-ipsum-2",
"feature": "true",
"order": "1",
"createdAt": 1600773844,
"updatedAt": 1600777819
}
],
"createdAt": 1600773883
}
],
"createdAt": 1600773844
}
]
}
HTTP Request
GET /api/v1/documentation/categories
Categories show
Use this endpoint to get specific Category.
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/documentation/categories/lorem-ipsum" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/documentation/categories/lorem-ipsum"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/documentation/categories/lorem-ipsum',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/documentation/categories/lorem-ipsum'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers)
response.json()
Example response (200):
{
"data": {
"uuid": "b60ea1c9-263d-4533-b5e5-ed25a48e8aa4",
"name": "Lorem Ipsum",
"slug": "lorem-ipsum",
"order": "1",
"createdAt": 1600773844,
"updatedAt": 1600777819,
"child": [
{
"uuid": "c509e3ad-9ecf-444d-b2bc-eeb656f78b96",
"name": "Lorem Ipsum 1",
"slug": "lorem-ipsum-1",
"order": 1,
"documentations": [
{
"uuid": "b60ea1c9-263d-4533-b5e5-ed25a48e8aa4",
"title": "Lorem Ipsum 2",
"slug": "lorem-ipsum-2",
"feature": "true",
"order": "1",
"createdAt": 1600773844,
"updatedAt": 1600777819
}
],
"createdAt": 1600773883
}
]
}
}
Example response (404):
{
"message": "No query results."
}
HTTP Request
GET /api/v1/documentation/categories/{slug}
URL Parameters
Parameter | Status | Description |
---|---|---|
slug |
required | The slug of category. |
Documentation Index
Use this endpoint to get all documentation.
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/documentation" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/documentation"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/documentation',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/documentation'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers)
response.json()
Example response (200):
{
"data": [
{
"uuid": "b60ea1c9-263d-4533-b5e5-ed25a48e8aa4",
"title": "Lorem Ipsum",
"slug": "lorem-ipsum",
"feature": "false",
"order": "1",
"content": "<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.<\/p>\n",
"user": {
"name": "Andreea Nicoleta Creanga",
"avatar": "8dc68ae5a33ec9c5606216bfa88bf6b7"
},
"category": {
"uuid": "c509e3ad-9ecf-444d-b2bc-eeb656f78b96",
"name": "Lorem Ipsum 1",
"slug": "lorem-ipsum-1",
"order": 1,
"createdAt": 1600773883
},
"createdAt": 1600773844,
"updatedAt": 1600777819
}
]
}
HTTP Request
GET /api/v1/documentation
Documentation Show
Use this endpoint to get documentation with specific slug.
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/documentation/lorem-ipsum?type=html" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/documentation/lorem-ipsum"
);
let params = {
"type": "html",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/documentation/lorem-ipsum',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'type'=> 'html',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/documentation/lorem-ipsum'
params = {
'type': 'html',
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()
Example response (200):
{
"data": {
"uuid": "b60ea1c9-263d-4533-b5e5-ed25a48e8aa4",
"title": "Lorem Ipsum",
"slug": "lorem-ipsum",
"feature": "true",
"order": "1",
"content": "<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.<\/p>\n",
"user": {
"name": "Andreea Nicoleta Creanga",
"avatar": "8dc68ae5a33ec9c5606216bfa88bf6b7"
},
"category": {
"uuid": "c509e3ad-9ecf-444d-b2bc-eeb656f78b96",
"name": "Lorem Ipsum 1",
"slug": "lorem-ipsum-1",
"order": 1,
"createdAt": 1600773883
},
"createdAt": 1600773844,
"updatedAt": 1600777819
}
}
Example response (404):
{
"message": "No query results."
}
HTTP Request
GET /api/v1/documentation/{slug}
URL Parameters
Parameter | Status | Description |
---|---|---|
slug |
required | The slug of document. |
Query Parameters
Parameter | Status | Description |
---|---|---|
type |
optional | string How to display the content (nullable|in:html,markdown). |
Email History
APIs for managing emails
Email Log Index
Requires authentication Use this endpoint to get user emails history logs.
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/email-history?status=delivery" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/email-history"
);
let params = {
"status": "delivery",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/email-history',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
'query' => [
'status'=> 'delivery',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/email-history'
params = {
'status': 'delivery',
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()
Example response (200):
{
"data": [
{
"id": "7fc0b351-5789-4e7d-8ba4-23f527b1f096",
"subject": "Confirm Quote Request",
"status": "sending",
"context": {
"type": "Quote",
"id": "dcd44088-f44b-434f-ab0a-e018c3dfbc77",
"publicId": "KIGTRITO"
},
"externalPlatform": {
"code": "CCPRO",
"name": "CryptoCoin",
"color_code": "#13CD89",
"urls": {
"website": "https:\/\/app.cryptocoin.pro\/",
"widget": "http:\/\/dev-checkout.cryptocoin-app.test\/order\/ccpro"
}
},
"createdAt": 1605000603
}
]
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (409):
{
"message": "This action is unauthorized."
}
HTTP Request
GET /api/v1/user/{user}/email-history
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
Query Parameters
Parameter | Status | Description |
---|---|---|
status |
optional | Filter by Status. |
Email Log Show
Requires authentication Use this endpoint to get a user email history.
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/email-history/5d482936-d7b4-4ef2-bef7-a230ca712a4b" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/email-history/5d482936-d7b4-4ef2-bef7-a230ca712a4b"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/email-history/5d482936-d7b4-4ef2-bef7-a230ca712a4b',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/email-history/5d482936-d7b4-4ef2-bef7-a230ca712a4b'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('GET', url, headers=headers)
response.json()
Example response (200):
{
"data": {
"id": "8c6de398-8fdb-47fb-8fda-e2452d8d41b1",
"subject": "Confirm register",
"status": "delivery",
"context": {
"type": "User",
"id": "667a5eed-46a9-49d3-91ec-f6af57255fc6",
"publicId": null
},
"externalPlatform": {
"code": "CCPRO",
"name": "CryptoCoin",
"color_code": "#13CD88",
"urls": {
"website": "https:\/\/app.cryptocoin.pro\/",
"widget": "http:\/\/dev-checkout.cryptocoin-app.test\/order\/ccpro"
}
},
"createdAt": 1605006068
}
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (404):
{
"message": "No query results."
}
Example response (409):
{
"message": "This action is unauthorized."
}
HTTP Request
GET /api/v1/user/{user}/email-history/{email}
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
email |
required | The email ID. |
Guard
APIs for managing guard
User Guard Anti-Phishing Code
Use this endpoint to set or remove your account Anti-Phishing Code.
Example request:
curl -X POST \
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/guard/anti-phishing" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}" \
-d '{"password":"12345678","code":"mycode"}'
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/guard/anti-phishing"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
let body = {
"password": "12345678",
"code": "mycode"
}
fetch(url, {
method: "POST",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/guard/anti-phishing',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
'json' => [
'password' => '12345678',
'code' => 'mycode',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/guard/anti-phishing'
payload = {
"password": "12345678",
"code": "mycode"
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Example response (200):
{
"data": {
"message": "Guard Anti-Phishing successfully enabled."
}
}
Example response (403):
{
"data": {
"message": "This type of operation is not allowed."
}
}
Example response (404):
{
"data": {
"message": "No query results."
}
}
Example response (412):
{
"data": {
"message": "Account has no password setted."
}
}
Example response (415):
{
"data": {
"message": "Incorrect password."
}
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"password": [
"The password field is required."
]
}
}
HTTP Request
POST /api/v1/user/{user}/guard/anti-phishing
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
Body Parameters
Parameter | Type | Status | Description |
---|---|---|---|
password |
string | required | The user password - (min:8|max:191). |
code |
string | optional | The user anti-phishing code - (min:4|max:30). |
User Guard 2FA Initiate Process
Use this endpoint to initiate your 2FA account guard.
Example request:
curl -X POST \
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/guard/2fa/initiate" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}" \
-d '{"password":"12345678"}'
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/guard/2fa/initiate"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
let body = {
"password": "12345678"
}
fetch(url, {
method: "POST",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/guard/2fa/initiate',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
'json' => [
'password' => '12345678',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/guard/2fa/initiate'
payload = {
"password": "12345678"
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Example response (200):
{
"data": {
"message": "Guard 2FA successfully initiated."
}
}
Example response (403):
{
"data": {
"message": "This type of operation is not allowed."
}
}
Example response (404):
{
"data": {
"message": "No query results."
}
}
Example response (409):
{
"data": {
"message": "Guard 2FA already enabled."
}
}
Example response (412):
{
"data": {
"message": "Account has no password setted."
}
}
Example response (415):
{
"data": {
"message": "Incorrect password."
}
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"password": [
"The password field is required."
]
}
}
HTTP Request
POST /api/v1/user/{user}/guard/2fa/initiate
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
Body Parameters
Parameter | Type | Status | Description |
---|---|---|---|
password |
string | required | The user password - (min:8|max:191). |
User Guard 2FA Confirm Process
Use this endpoint to confirm your 2FA account guard.
Example request:
curl -X POST \
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/guard/2fa/confirm" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}" \
-d '{"code":"123456"}'
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/guard/2fa/confirm"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
let body = {
"code": "123456"
}
fetch(url, {
method: "POST",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/guard/2fa/confirm',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
'json' => [
'code' => '123456',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/guard/2fa/confirm'
payload = {
"code": "123456"
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Example response (200):
{
"data": {
"message": "Guard 2FA successfully confirmed."
}
}
Example response (403):
{
"data": {
"message": "This type of operation is not allowed."
}
}
Example response (404):
{
"data": {
"message": "No query results."
}
}
Example response (409):
{
"data": {
"message": "Guard 2FA already enabled."
}
}
Example response (412):
{
"data": {
"message": "Guard 2FA not initiated."
}
}
Example response (415):
{
"data": {
"message": "Incorrect password."
}
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"password": [
"The password field is required."
]
}
}
HTTP Request
POST /api/v1/user/{user}/guard/2fa/confirm
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
Body Parameters
Parameter | Type | Status | Description |
---|---|---|---|
code |
digits | required | The user 2FA code - (digits:6). |
User Guard 2FA Disable
Use this endpoint to disable your 2FA account guard.
Example request:
curl -X POST \
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/guard/2fa/disable" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}" \
-d '{"code":"123456","password":"12345678"}'
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/guard/2fa/disable"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
let body = {
"code": "123456",
"password": "12345678"
}
fetch(url, {
method: "POST",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/guard/2fa/disable',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
'json' => [
'code' => '123456',
'password' => '12345678',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/guard/2fa/disable'
payload = {
"code": "123456",
"password": "12345678"
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Example response (200):
{
"data": {
"message": "Guard 2FA successfully disabled."
}
}
Example response (403):
{
"data": {
"message": "This type of operation is not allowed."
}
}
Example response (404):
{
"data": {
"message": "No query results."
}
}
Example response (409):
{
"data": {
"message": "Guard 2FA already disabled."
}
}
Example response (412):
{
"data": {
"message": "Guard 2FA not initiated."
}
}
Example response (415):
{
"data": {
"message": "Incorrect password."
}
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"password": [
"The password field is required."
]
}
}
HTTP Request
POST /api/v1/user/{user}/guard/2fa/disable
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
Body Parameters
Parameter | Type | Status | Description |
---|---|---|---|
code |
digits | required | The user 2FA code - (digits:6). |
password |
string | required | The user password - (min:8|max:191). |
User Guard 2FA Check
Use this endpoint to check your 2FA account guard.
Example request:
curl -X POST \
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/guard/2fa/check" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}" \
-d '{"code":"123456"}'
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/guard/2fa/check"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
let body = {
"code": "123456"
}
fetch(url, {
method: "POST",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/guard/2fa/check',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
'json' => [
'code' => '123456',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/guard/2fa/check'
payload = {
"code": "123456"
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Example response (200):
{
"data": {
"message": "Guard 2FA successfully confirmed."
}
}
Example response (403):
{
"data": {
"message": "This type of operation is not allowed."
}
}
Example response (404):
{
"data": {
"message": "No query results."
}
}
Example response (412):
{
"data": {
"message": "Guard 2FA not initiated."
}
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"2fa": [
"The 2fa field is required."
]
}
}
HTTP Request
POST /api/v1/user/{user}/guard/2fa/check
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
Body Parameters
Parameter | Type | Status | Description |
---|---|---|---|
code |
digits | required | The user 2FA code - (digits:6). |
User Guard Password Withdraw
Use this endpoint to enable/disable password protection for different actions.
Example request:
curl -X POST \
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/guard/password/operation/enable" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}" \
-d '{"password":"12345678"}'
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/guard/password/operation/enable"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
let body = {
"password": "12345678"
}
fetch(url, {
method: "POST",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/guard/password/operation/enable',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
'json' => [
'password' => '12345678',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/guard/password/operation/enable'
payload = {
"password": "12345678"
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Example response (200):
{
"data": {
"message": "Guard withdraw with password successfully enabled."
}
}
Example response (403):
{
"data": {
"message": "This type of operation is not allowed."
}
}
Example response (404):
{
"data": {
"message": "No query results."
}
}
Example response (412):
{
"data": {
"message": "Account has no password setted."
}
}
Example response (415):
{
"data": {
"message": "Incorrect password."
}
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"password": [
"The password field is required."
]
}
}
HTTP Request
POST /api/v1/user/{user}/guard/password/operation/{action}
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
action |
required | The action (enable|disable). |
Body Parameters
Parameter | Type | Status | Description |
---|---|---|---|
password |
string | required | The user password - (min:8|max:191). |
User Guard Password Check
Use this endpoint to check your Password account guard.
Example request:
curl -X POST \
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/guard/password/check" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}" \
-d '{"password":"12345678"}'
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/guard/password/check"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
let body = {
"password": "12345678"
}
fetch(url, {
method: "POST",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/guard/password/check',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
'json' => [
'password' => '12345678',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/guard/password/check'
payload = {
"password": "12345678"
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Example response (200):
{
"data": {
"message": "Guard Password successfully confirmed."
}
}
Example response (403):
{
"data": {
"message": "This type of operation is not allowed."
}
}
Example response (404):
{
"data": {
"message": "No query results."
}
}
Example response (412):
{
"data": {
"message": "Account has no password setted."
}
}
Example response (415):
{
"data": {
"message": "Incorrect password."
}
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"password": [
"The password field is required."
]
}
}
HTTP Request
POST /api/v1/user/{user}/guard/password/check
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
Body Parameters
Parameter | Type | Status | Description |
---|---|---|---|
password |
string | required | The user password - (min:8|max:191). |
User Guard Password Set
Requires authentication Use this endpoint to set user password.
Example request:
curl -X POST \
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/guard/password/set" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}" \
-d '{"password":"12345678"}'
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/guard/password/set"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
let body = {
"password": "12345678"
}
fetch(url, {
method: "POST",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/guard/password/set',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
'json' => [
'password' => '12345678',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/guard/password/set'
payload = {
"password": "12345678"
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Example response (200):
{
"message": "Password successfully changed."
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (403):
{
"message": "Unable to process your request."
}
Example response (412):
{
"message": "Password cannot be changed."
}
HTTP Request
POST /api/v1/user/{user}/guard/password/set
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
Body Parameters
Parameter | Type | Status | Description |
---|---|---|---|
password |
string | required | The user password - (min:8|max:191). |
Invite
APIs for managing user invites
Invite Create
Requires authentication Use this endpoint to create a user invite.
Example request:
curl -X POST \
"https://appapi-public.cryptocoin.pro/api/v1/user/ebf8e81e-fdfd-4da9-84e4-b5172b6f14f3/invite" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}" \
-d '{"contextAction":"company_join_director","contextType":"company","contextId":"4b45540b-dd62-4554-8788-a883dcb6cfd2","to":"john@doe.com"}'
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/ebf8e81e-fdfd-4da9-84e4-b5172b6f14f3/invite"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
let body = {
"contextAction": "company_join_director",
"contextType": "company",
"contextId": "4b45540b-dd62-4554-8788-a883dcb6cfd2",
"to": "john@doe.com"
}
fetch(url, {
method: "POST",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://appapi-public.cryptocoin.pro/api/v1/user/ebf8e81e-fdfd-4da9-84e4-b5172b6f14f3/invite',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
'json' => [
'contextAction' => 'company_join_director',
'contextType' => 'company',
'contextId' => '4b45540b-dd62-4554-8788-a883dcb6cfd2',
'to' => 'john@doe.com',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/ebf8e81e-fdfd-4da9-84e4-b5172b6f14f3/invite'
payload = {
"contextAction": "company_join_director",
"contextType": "company",
"contextId": "4b45540b-dd62-4554-8788-a883dcb6cfd2",
"to": "john@doe.com"
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Example response (201):
{
"data": {
"id": "098ac499-18fa-46f4-b065-a034341a3c44",
"from": {
"id": "4b45540b-dd62-4554-8788-a883dcb6cfd2",
"isActive": true,
"status": "active",
"tradeStatus": true,
"email": "an***@gmail.com",
"options": {
"language": "en",
"theme": "light",
"layout": "compact",
"guard": {
"antiPhishing": null,
"actions": {
"login": {
"2fa": false,
"password": true
},
"operations": {
"2fa": false,
"password": false
}
}
}
},
"meta": {
"source": "web"
},
"selfDeleted": {
"status": null,
"dates": {
"initiated": null,
"confirmed": null,
"deleted": null
}
},
"createdAt": 1647243783,
"deletedAt": null
},
"context": "company_join_director",
"part": {
"id": "057e622c-3ca9-4e67-a968-e5f9985303e5",
"name": "Company",
"corporateRegistrationNumber": "123456",
"incorporationDate": "2021-04-01",
"operatingLicenseNumber": 123456789,
"website": "http:\/\/www.company.com",
"lei": "529900T8BM49AURSDO55",
"vatNr": "BG999999999",
"tinNr": "9999999999",
"state": "England",
"city": "Liverpool",
"address": "22 Eden Street",
"zip": "123456",
"phone": "+40767111111",
"postalAddress": null,
"default": false,
"status": "processing",
"color_code": "#18a66a",
"createdAt": 1607350633
},
"to": {
"id": "1e3e69b6-b046-418e-98b6-51887c310bc6",
"isActive": true,
"status": "active",
"tradeStatus": true,
"email": "an***@gmail.com",
"options": {
"language": "en",
"theme": "light",
"layout": "compact",
"guard": {
"antiPhishing": null,
"actions": {
"login": {
"2fa": false,
"password": false
},
"operations": {
"2fa": false,
"password": false
}
}
}
},
"meta": {
"source": "web"
},
"selfDeleted": {
"status": "initiated",
"dates": {
"initiated": 1652710277,
"confirmed": null,
"deleted": null
}
},
"createdAt": 1646224878,
"deletedAt": null
},
"toEmail": null,
"status": "invited",
"createdAt": 1653916117
}
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (409):
{
"message": "This action is unauthorized."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"corporateRegistrationNumber": [
"The corporate registration number field is required."
]
}
}
Example response (423):
{
"message": "This type of operation is not allowed."
}
HTTP Request
POST /api/v1/user/{user}/invite
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
Body Parameters
Parameter | Type | Status | Description |
---|---|---|---|
contextAction |
string | required | The invite context - (in:company_join_director,company_join_beneficial_owner,company_join_authorized_person,company_create). |
contextType |
string | required | The invite involved entity. |
contextId |
string | required | The invite involved entity id. |
to |
string | required | The invite involved user - (email|max:255). |
Invite Index
Requires authentication Use this endpoint to get all user invites.
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/user/ebf8e81e-fdfd-4da9-84e4-b5172b6f14f3/invite" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/ebf8e81e-fdfd-4da9-84e4-b5172b6f14f3/invite"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/user/ebf8e81e-fdfd-4da9-84e4-b5172b6f14f3/invite',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/ebf8e81e-fdfd-4da9-84e4-b5172b6f14f3/invite'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('GET', url, headers=headers)
response.json()
Example response (200):
{
"data": [
{
"id": "098ac499-18fa-46f4-b065-a034341a3c44",
"from": {
"id": "4b45540b-dd62-4554-8788-a883dcb6cfd2",
"isActive": true,
"status": "active",
"tradeStatus": true,
"email": "an***@gmail.com",
"options": {
"language": "en",
"theme": "light",
"layout": "compact",
"guard": {
"antiPhishing": null,
"actions": {
"login": {
"2fa": false,
"password": true
},
"operations": {
"2fa": false,
"password": false
}
}
}
},
"meta": {
"source": "web"
},
"selfDeleted": {
"status": null,
"dates": {
"initiated": null,
"confirmed": null,
"deleted": null
}
},
"createdAt": 1647243783,
"deletedAt": null
},
"context": "company_join_director",
"part": {
"id": "057e622c-3ca9-4e67-a968-e5f9985303e5",
"name": "Company",
"corporateRegistrationNumber": "123456",
"incorporationDate": "2021-04-01",
"operatingLicenseNumber": 123456789,
"website": "http:\/\/www.company.com",
"lei": "529900T8BM49AURSDO55",
"vatNr": "BG999999999",
"tinNr": "9999999999",
"state": "England",
"city": "Liverpool",
"address": "22 Eden Street",
"zip": "123456",
"phone": "+40767111111",
"postalAddress": null,
"default": false,
"status": "processing",
"color_code": "#18a66a",
"createdAt": 1607350633
},
"to": {
"id": "1e3e69b6-b046-418e-98b6-51887c310bc6",
"isActive": true,
"status": "active",
"tradeStatus": true,
"email": "an***@gmail.com",
"options": {
"language": "en",
"theme": "light",
"layout": "compact",
"guard": {
"antiPhishing": null,
"actions": {
"login": {
"2fa": false,
"password": false
},
"operations": {
"2fa": false,
"password": false
}
}
}
},
"meta": {
"source": "web"
},
"selfDeleted": {
"status": "initiated",
"dates": {
"initiated": 1652710277,
"confirmed": null,
"deleted": null
}
},
"createdAt": 1646224878,
"deletedAt": null
},
"toEmail": null,
"status": "invited",
"createdAt": 1653916117
}
]
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (409):
{
"message": "This action is unauthorized."
}
HTTP Request
GET /api/v1/user/{user}/invite
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
Invite From
Requires authentication Use this endpoint to get all user invites from him.
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/user/ebf8e81e-fdfd-4da9-84e4-b5172b6f14f3/invite/from" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/ebf8e81e-fdfd-4da9-84e4-b5172b6f14f3/invite/from"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/user/ebf8e81e-fdfd-4da9-84e4-b5172b6f14f3/invite/from',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/ebf8e81e-fdfd-4da9-84e4-b5172b6f14f3/invite/from'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('GET', url, headers=headers)
response.json()
Example response (200):
{
"data": [
{
"id": "098ac499-18fa-46f4-b065-a034341a3c44",
"from": {
"id": "ebf8e81e-fdfd-4da9-84e4-b5172b6f14f3",
"isActive": true,
"status": "active",
"tradeStatus": true,
"email": "an***@gmail.com",
"options": {
"language": "en",
"theme": "light",
"layout": "compact",
"guard": {
"antiPhishing": null,
"actions": {
"login": {
"2fa": false,
"password": true
},
"operations": {
"2fa": false,
"password": false
}
}
}
},
"meta": {
"source": "web"
},
"selfDeleted": {
"status": null,
"dates": {
"initiated": null,
"confirmed": null,
"deleted": null
}
},
"createdAt": 1647243783,
"deletedAt": null
},
"context": "company_join_director",
"part": {
"id": "057e622c-3ca9-4e67-a968-e5f9985303e5",
"name": "Company",
"corporateRegistrationNumber": "123456",
"incorporationDate": "2021-04-01",
"operatingLicenseNumber": 123456789,
"website": "http:\/\/www.company.com",
"lei": "529900T8BM49AURSDO55",
"vatNr": "BG999999999",
"tinNr": "9999999999",
"state": "England",
"city": "Liverpool",
"address": "22 Eden Street",
"zip": "123456",
"phone": "+40767111111",
"postalAddress": null,
"default": false,
"status": "processing",
"color_code": "#18a66a",
"createdAt": 1607350633
},
"to": {
"id": "1e3e69b6-b046-418e-98b6-51887c310bc6",
"isActive": true,
"status": "active",
"tradeStatus": true,
"email": "an***@gmail.com",
"options": {
"language": "en",
"theme": "light",
"layout": "compact",
"guard": {
"antiPhishing": null,
"actions": {
"login": {
"2fa": false,
"password": false
},
"operations": {
"2fa": false,
"password": false
}
}
}
},
"meta": {
"source": "web"
},
"selfDeleted": {
"status": "initiated",
"dates": {
"initiated": 1652710277,
"confirmed": null,
"deleted": null
}
},
"createdAt": 1646224878,
"deletedAt": null
},
"toEmail": null,
"status": "invited",
"createdAt": 1653916117
}
]
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (409):
{
"message": "This action is unauthorized."
}
HTTP Request
GET /api/v1/user/{user}/invite/from
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
Invite To
Requires authentication Use this endpoint to get all user invites to him.
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/user/ebf8e81e-fdfd-4da9-84e4-b5172b6f14f3/invite/to" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/ebf8e81e-fdfd-4da9-84e4-b5172b6f14f3/invite/to"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/user/ebf8e81e-fdfd-4da9-84e4-b5172b6f14f3/invite/to',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/ebf8e81e-fdfd-4da9-84e4-b5172b6f14f3/invite/to'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('GET', url, headers=headers)
response.json()
Example response (200):
{
"data": [
{
"id": "098ac499-18fa-46f4-b065-a034341a3c44",
"from": {
"id": "4b45540b-dd62-4554-8788-a883dcb6cfd2",
"isActive": true,
"status": "active",
"tradeStatus": true,
"email": "an***@gmail.com",
"options": {
"language": "en",
"theme": "light",
"layout": "compact",
"guard": {
"antiPhishing": null,
"actions": {
"login": {
"2fa": false,
"password": true
},
"operations": {
"2fa": false,
"password": false
}
}
}
},
"meta": {
"source": "web"
},
"selfDeleted": {
"status": null,
"dates": {
"initiated": null,
"confirmed": null,
"deleted": null
}
},
"createdAt": 1647243783,
"deletedAt": null
},
"context": "company_join_director",
"part": {
"id": "057e622c-3ca9-4e67-a968-e5f9985303e5",
"name": "Company",
"corporateRegistrationNumber": "123456",
"incorporationDate": "2021-04-01",
"operatingLicenseNumber": 123456789,
"website": "http:\/\/www.company.com",
"lei": "529900T8BM49AURSDO55",
"vatNr": "BG999999999",
"tinNr": "9999999999",
"state": "England",
"city": "Liverpool",
"address": "22 Eden Street",
"zip": "123456",
"phone": "+40767111111",
"postalAddress": null,
"default": false,
"status": "processing",
"color_code": "#18a66a",
"createdAt": 1607350633
},
"to": {
"id": "ebf8e81e-fdfd-4da9-84e4-b5172b6f14f3",
"isActive": true,
"status": "active",
"tradeStatus": true,
"email": "an***@gmail.com",
"options": {
"language": "en",
"theme": "light",
"layout": "compact",
"guard": {
"antiPhishing": null,
"actions": {
"login": {
"2fa": false,
"password": false
},
"operations": {
"2fa": false,
"password": false
}
}
}
},
"meta": {
"source": "web"
},
"selfDeleted": {
"status": "initiated",
"dates": {
"initiated": 1652710277,
"confirmed": null,
"deleted": null
}
},
"createdAt": 1646224878,
"deletedAt": null
},
"toEmail": null,
"status": "invited",
"createdAt": 1653916117
}
]
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (409):
{
"message": "This action is unauthorized."
}
HTTP Request
GET /api/v1/user/{user}/invite/to
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
Invite Show
Requires authentication Use this endpoint to get a user invite.
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/user/ebf8e81e-fdfd-4da9-84e4-b5172b6f14f3/invite/098ac499-18fa-46f4-b065-a034341a3c44" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/ebf8e81e-fdfd-4da9-84e4-b5172b6f14f3/invite/098ac499-18fa-46f4-b065-a034341a3c44"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/user/ebf8e81e-fdfd-4da9-84e4-b5172b6f14f3/invite/098ac499-18fa-46f4-b065-a034341a3c44',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/ebf8e81e-fdfd-4da9-84e4-b5172b6f14f3/invite/098ac499-18fa-46f4-b065-a034341a3c44'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('GET', url, headers=headers)
response.json()
Example response (200):
{
"data": {
"id": "098ac499-18fa-46f4-b065-a034341a3c44",
"from": {
"id": "4b45540b-dd62-4554-8788-a883dcb6cfd2",
"isActive": true,
"status": "active",
"tradeStatus": true,
"email": "an***@gmail.com",
"options": {
"language": "en",
"theme": "light",
"layout": "compact",
"guard": {
"antiPhishing": null,
"actions": {
"login": {
"2fa": false,
"password": true
},
"operations": {
"2fa": false,
"password": false
}
}
}
},
"meta": {
"source": "web"
},
"selfDeleted": {
"status": null,
"dates": {
"initiated": null,
"confirmed": null,
"deleted": null
}
},
"createdAt": 1647243783,
"deletedAt": null
},
"context": "company_join_director",
"part": {
"id": "057e622c-3ca9-4e67-a968-e5f9985303e5",
"name": "Company",
"corporateRegistrationNumber": "123456",
"incorporationDate": "2021-04-01",
"operatingLicenseNumber": 123456789,
"website": "http:\/\/www.company.com",
"lei": "529900T8BM49AURSDO55",
"vatNr": "BG999999999",
"tinNr": "9999999999",
"state": "England",
"city": "Liverpool",
"address": "22 Eden Street",
"zip": "123456",
"phone": "+40767111111",
"postalAddress": null,
"default": false,
"status": "processing",
"color_code": "#18a66a",
"createdAt": 1607350633
},
"to": {
"id": "1e3e69b6-b046-418e-98b6-51887c310bc6",
"isActive": true,
"status": "active",
"tradeStatus": true,
"email": "an***@gmail.com",
"options": {
"language": "en",
"theme": "light",
"layout": "compact",
"guard": {
"antiPhishing": null,
"actions": {
"login": {
"2fa": false,
"password": false
},
"operations": {
"2fa": false,
"password": false
}
}
}
},
"meta": {
"source": "web"
},
"selfDeleted": {
"status": "initiated",
"dates": {
"initiated": 1652710277,
"confirmed": null,
"deleted": null
}
},
"createdAt": 1646224878,
"deletedAt": null
},
"toEmail": null,
"status": "invited",
"createdAt": 1653916117
}
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (409):
{
"message": "This action is unauthorized."
}
HTTP Request
GET /api/v1/user/{user}/invite/{invite}
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
invite |
required | The invite ID. |
Invite Accept/Reject
Requires authentication Use this endpoint to accept or reject an invite.
Example request:
curl -X POST \
"https://appapi-public.cryptocoin.pro/api/v1/user/ebf8e81e-fdfd-4da9-84e4-b5172b6f14f3/invite/098ac499-18fa-46f4-b065-a034341a3c44/"accept"" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/ebf8e81e-fdfd-4da9-84e4-b5172b6f14f3/invite/098ac499-18fa-46f4-b065-a034341a3c44/"accept""
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
fetch(url, {
method: "POST",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://appapi-public.cryptocoin.pro/api/v1/user/ebf8e81e-fdfd-4da9-84e4-b5172b6f14f3/invite/098ac499-18fa-46f4-b065-a034341a3c44/"accept"',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/ebf8e81e-fdfd-4da9-84e4-b5172b6f14f3/invite/098ac499-18fa-46f4-b065-a034341a3c44/"accept"'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('POST', url, headers=headers)
response.json()
Example response (200):
{
"data": {
"id": "098ac499-18fa-46f4-b065-a034341a3c44",
"from": {
"id": "4b45540b-dd62-4554-8788-a883dcb6cfd2",
"isActive": true,
"status": "active",
"tradeStatus": true,
"email": "an***@gmail.com",
"options": {
"language": "en",
"theme": "light",
"layout": "compact",
"guard": {
"antiPhishing": null,
"actions": {
"login": {
"2fa": false,
"password": true
},
"operations": {
"2fa": false,
"password": false
}
}
}
},
"meta": {
"source": "web"
},
"selfDeleted": {
"status": null,
"dates": {
"initiated": null,
"confirmed": null,
"deleted": null
}
},
"createdAt": 1647243783,
"deletedAt": null
},
"context": "company_join_director",
"part": {
"id": "057e622c-3ca9-4e67-a968-e5f9985303e5",
"name": "Company",
"corporateRegistrationNumber": "123456",
"incorporationDate": "2021-04-01",
"operatingLicenseNumber": 123456789,
"website": "http:\/\/www.company.com",
"lei": "529900T8BM49AURSDO55",
"vatNr": "BG999999999",
"tinNr": "9999999999",
"state": "England",
"city": "Liverpool",
"address": "22 Eden Street",
"zip": "123456",
"phone": "+40767111111",
"postalAddress": null,
"default": false,
"status": "processing",
"color_code": "#18a66a",
"createdAt": 1607350633
},
"to": {
"id": "1e3e69b6-b046-418e-98b6-51887c310bc6",
"isActive": true,
"status": "active",
"tradeStatus": true,
"email": "an***@gmail.com",
"options": {
"language": "en",
"theme": "light",
"layout": "compact",
"guard": {
"antiPhishing": null,
"actions": {
"login": {
"2fa": false,
"password": false
},
"operations": {
"2fa": false,
"password": false
}
}
}
},
"meta": {
"source": "web"
},
"selfDeleted": {
"status": "initiated",
"dates": {
"initiated": 1652710277,
"confirmed": null,
"deleted": null
}
},
"createdAt": 1646224878,
"deletedAt": null
},
"toEmail": null,
"status": "accepted",
"createdAt": 1653916117
}
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (409):
{
"message": "This action is unauthorized."
}
HTTP Request
POST /api/v1/user/{user}/invite/{invite}/{action}
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
invite |
required | The invite ID. |
action |
required | The action {in:accept,reject}. |
Invite Destroy
Requires authentication Use this endpoint to destroy user invite
Example request:
curl -X DELETE \
"https://appapi-public.cryptocoin.pro/api/v1/user/ebf8e81e-fdfd-4da9-84e4-b5172b6f14f3/invite/098ac499-18fa-46f4-b065-a034341a3c44" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/ebf8e81e-fdfd-4da9-84e4-b5172b6f14f3/invite/098ac499-18fa-46f4-b065-a034341a3c44"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
fetch(url, {
method: "DELETE",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->delete(
'https://appapi-public.cryptocoin.pro/api/v1/user/ebf8e81e-fdfd-4da9-84e4-b5172b6f14f3/invite/098ac499-18fa-46f4-b065-a034341a3c44',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/ebf8e81e-fdfd-4da9-84e4-b5172b6f14f3/invite/098ac499-18fa-46f4-b065-a034341a3c44'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('DELETE', url, headers=headers)
response.json()
Example response (200):
{
"data": {
"id": "098ac499-18fa-46f4-b065-a034341a3c44",
"from": {
"id": "4b45540b-dd62-4554-8788-a883dcb6cfd2",
"isActive": true,
"status": "active",
"tradeStatus": true,
"email": "an***@gmail.com",
"options": {
"language": "en",
"theme": "light",
"layout": "compact",
"guard": {
"antiPhishing": null,
"actions": {
"login": {
"2fa": false,
"password": true
},
"operations": {
"2fa": false,
"password": false
}
}
}
},
"meta": {
"source": "web"
},
"selfDeleted": {
"status": null,
"dates": {
"initiated": null,
"confirmed": null,
"deleted": null
}
},
"createdAt": 1647243783,
"deletedAt": null
},
"context": "company_join_director",
"part": {
"id": "057e622c-3ca9-4e67-a968-e5f9985303e5",
"name": "Company",
"corporateRegistrationNumber": "123456",
"incorporationDate": "2021-04-01",
"operatingLicenseNumber": 123456789,
"website": "http:\/\/www.company.com",
"lei": "529900T8BM49AURSDO55",
"vatNr": "BG999999999",
"tinNr": "9999999999",
"state": "England",
"city": "Liverpool",
"address": "22 Eden Street",
"zip": "123456",
"phone": "+40767111111",
"postalAddress": null,
"default": false,
"status": "processing",
"color_code": "#18a66a",
"createdAt": 1607350633
},
"to": {
"id": "1e3e69b6-b046-418e-98b6-51887c310bc6",
"isActive": true,
"status": "active",
"tradeStatus": true,
"email": "an***@gmail.com",
"options": {
"language": "en",
"theme": "light",
"layout": "compact",
"guard": {
"antiPhishing": null,
"actions": {
"login": {
"2fa": false,
"password": false
},
"operations": {
"2fa": false,
"password": false
}
}
}
},
"meta": {
"source": "web"
},
"selfDeleted": {
"status": "initiated",
"dates": {
"initiated": 1652710277,
"confirmed": null,
"deleted": null
}
},
"createdAt": 1646224878,
"deletedAt": 1646224878
},
"toEmail": null,
"status": "accepted",
"createdAt": 1653916117
}
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (409):
{
"message": "This action is unauthorized."
}
HTTP Request
DELETE /api/v1/user/{user}/invite/{invite}
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
invite |
required | The invite ID. |
KYC
APIs for managing user KYC
KYC Show
Requires authentication Use this endpoint to get user KYC.
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/kyc" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/kyc"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/kyc',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/kyc'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('GET', url, headers=headers)
response.json()
Example response (200):
{
"data": {
"required": "phone",
"status": "ACCEPTED",
"level": 2,
"amounts": {
"buy": "149.75",
"buy_nft": "512",
"buy_payment": "99.99",
"sell": "0",
"sell_nft": "333",
"deposit": "123.45",
"withdraw": "100"
},
"amountsNextLevel": {
"buy": "5000",
"buy_nft": "5000",
"buy_payment": "5000",
"sell": "5000",
"sell_nft": "5000",
"deposit": "10000",
"withdraw": "5000"
},
"links": {
"address": "",
"documents": "http:\/\/dev-checkout.localhost\/kyc\/documents\/*eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzUxMiJ9.eyJ1c2VyIjoiMGU2Y2JjMmUtZWUzYi00MTQ0LTgxMTQtMGM2YjM1NDVjODg5IiwiY*WNjZXNzIjoiYjRBMXlUWUcxWHZMOTZ6OFV4ZWdoQTI1ME1DRVhURkRpMkNtaUhJSVdkTmVRd01veDJBQUpWMlp4QzVDN1d1MCIsImV*4cGlyZSI6MTU2NDY1MDU4N30.*MGROnVdsRxU5onYO-f92T3Et9TAGnzzLlkOdf3Vrt898XPu8CO6Cqk9diSKx2zdJc4Jvfja5BCYNsomBF3ZiIxgUu-34B9fqnKcOEb*78rEuzNCqo4ARwD-BwMH0zaJaEDEqXZn2JUATzbNouJbPS33jQ5XVyWZuxfiFH5f9LP3Tp36uMzQT5YgbF4I1wgpkGwvOAF_UZsSA9*fT2MtWS_cde_ZmgohTh-2LlZkeWtEGkTEcIOSCPf76JuCdp1kxDj_3A_zf07GyheJO_-QrthCvmtG-wVX7LKgaHE55eSrnRbGI72jd*ktHh-87ACrQRaXf5xQO7lgtiExv0i00pHWeg?expires=1564650587&lang=en&*signature=1acc6e0e47e4256a75f60605d173ab45d0adad62982e7cd509706ff2a37ede3f",
"video": "",
"enhancedDueDiligence": ""
},
"phone": {
"required": true,
"number": "+40700000000",
"isVerified": false
},
"personal": {
"required": true,
"status": "NOT COMPLETED",
"rejectReason": {
"firstName": {
"code": "incorrect_data",
"message": "Incorrect data (it does not correspond to the document data)."
},
"lastName": {
"code": "incomplete_data",
"message": "Incomplete data."
}
},
"firstName": "Alin",
"lastName": "Ionut",
"dateOfBirth": 951004800
},
"address": {
"required": true,
"status": "NOT COMPLETED",
"rejectReason": {
"street": {
"code": "incorrect_or_incomplete_data",
"message": "Incorrect or incomplete data."
}
},
"country": "RO",
"city": "Pitesti",
"zip": "111111",
"street": "Street details"
},
"documents": {
"required": true,
"governmentIdFront": {
"status": "NOT COMPLETED",
"rejectReason": {
"code": "color_photo",
"message": "We only accept color photos. The black and white types will not be accepted."
},
"url": "https:"
},
"governmentIdBack": {
"status": "ACCEPTED",
"url": "https:"
},
"passport": {
"status": "ACCEPTED",
"url": "https:"
},
"driversLicense": {
"status": "ACCEPTED",
"url": "https:"
},
"residencePermit": {
"status": "ACCEPTED",
"url": "https:"
},
"utilityBill": {
"status": "ACCEPTED",
"url": "https:"
},
"selfieWithId": {
"status": "ACCEPTED",
"url": "https:"
},
"extendedProofOfFunds": []
},
"video": {
"required": false,
"status": "APPROVED",
"videoFile": null,
"scheduleDate": null,
"scheduleDateTimezone": null,
"cancelScheduleUrl": null,
"rescheduleUrl": null
},
"enhancedDueDiligence": {
"required": false,
"status": "PENDING",
"transactionsPurpose": "investments",
"transactionsPurposeOther": "",
"transactionsNatureValueField": "1 - 1000",
"transactionsNatureFrequencyField": "6 - 10",
"fundsSource": "credit_debit_card",
"fundsSourceOther": "",
"fundsSourceFile": "https:",
"fundsOrigin": "payroll_funds",
"fundsOriginOther": "",
"fundsOriginFile": "https:",
"createdAt": 1558632442
},
"createdAt": 1554204616
}
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (409):
{
"message": "This action is unauthorized."
}
HTTP Request
GET /api/v1/user/{user}/kyc
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
KYC Create
Requires authentication Use this endpoint to create user full KYC.
Example request:
curl -X POST \
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/kyc" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}" \
-d '{"country":"RO","city":"Pitesti","zip":"123456","street":"Street name Nr. 1","countryOfBirth":"RO","cityOfBirth":"Pitesti","nationality":"RO","usCitizen":false,"documents":{"governmentIdFront":"image","governmentIdBack":"image","passport":"image","driversLicense":"image","residencePermit":"image","utilityBill":"image","selfieWithId":"image"},"edd":{"transactionsPurpose":"investments","transactionsPurposeOther":"any desired purpose here","transactionsNatureValue":1,"transactionsNatureFrequency":1,"fundsSource":"1","fundsSourceOther":"any source of funds here","fundsSourceFile":"image","fundsOrigin":"personal_savings","fundsOriginOther":"any origin of funds here","fundsOriginFile":"image"}}'
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/kyc"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
let body = {
"country": "RO",
"city": "Pitesti",
"zip": "123456",
"street": "Street name Nr. 1",
"countryOfBirth": "RO",
"cityOfBirth": "Pitesti",
"nationality": "RO",
"usCitizen": false,
"documents": {
"governmentIdFront": "image",
"governmentIdBack": "image",
"passport": "image",
"driversLicense": "image",
"residencePermit": "image",
"utilityBill": "image",
"selfieWithId": "image"
},
"edd": {
"transactionsPurpose": "investments",
"transactionsPurposeOther": "any desired purpose here",
"transactionsNatureValue": 1,
"transactionsNatureFrequency": 1,
"fundsSource": "1",
"fundsSourceOther": "any source of funds here",
"fundsSourceFile": "image",
"fundsOrigin": "personal_savings",
"fundsOriginOther": "any origin of funds here",
"fundsOriginFile": "image"
}
}
fetch(url, {
method: "POST",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/kyc',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
'json' => [
'country' => 'RO',
'city' => 'Pitesti',
'zip' => '123456',
'street' => 'Street name Nr. 1',
'countryOfBirth' => 'RO',
'cityOfBirth' => 'Pitesti',
'nationality' => 'RO',
'usCitizen' => false,
'documents' => [
'governmentIdFront' => 'image',
'governmentIdBack' => 'image',
'passport' => 'image',
'driversLicense' => 'image',
'residencePermit' => 'image',
'utilityBill' => 'image',
'selfieWithId' => 'image',
],
'edd' => [
'transactionsPurpose' => 'investments',
'transactionsPurposeOther' => 'any desired purpose here',
'transactionsNatureValue' => 1,
'transactionsNatureFrequency' => 1,
'fundsSource' => '1',
'fundsSourceOther' => 'any source of funds here',
'fundsSourceFile' => 'image',
'fundsOrigin' => 'personal_savings',
'fundsOriginOther' => 'any origin of funds here',
'fundsOriginFile' => 'image',
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/kyc'
payload = {
"country": "RO",
"city": "Pitesti",
"zip": "123456",
"street": "Street name Nr. 1",
"countryOfBirth": "RO",
"cityOfBirth": "Pitesti",
"nationality": "RO",
"usCitizen": false,
"documents": {
"governmentIdFront": "image",
"governmentIdBack": "image",
"passport": "image",
"driversLicense": "image",
"residencePermit": "image",
"utilityBill": "image",
"selfieWithId": "image"
},
"edd": {
"transactionsPurpose": "investments",
"transactionsPurposeOther": "any desired purpose here",
"transactionsNatureValue": 1,
"transactionsNatureFrequency": 1,
"fundsSource": "1",
"fundsSourceOther": "any source of funds here",
"fundsSourceFile": "image",
"fundsOrigin": "personal_savings",
"fundsOriginOther": "any origin of funds here",
"fundsOriginFile": "image"
}
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Example response (201):
{
"data": {
"required": "phone",
"status": "ACCEPTED",
"level": 2,
"amounts": {
"buy": "149.75",
"buy_nft": "512",
"buy_payment": "99.99",
"sell": "0",
"sell_nft": "333",
"deposit": "123.45",
"withdraw": "100"
},
"amountsNextLevel": {
"buy": "5000",
"buy_nft": "5000",
"buy_payment": "5000",
"sell": "5000",
"sell_nft": "5000",
"deposit": "10000",
"withdraw": "5000"
},
"links": {
"personal": "",
"address": "",
"documents": "http:\/\/dev-checkout.localhost\/kyc\/documents\/*eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzUxMiJ9.eyJ1c2VyIjoiMGU2Y2JjMmUtZWUzYi00MTQ0LTgxMTQtMGM2YjM1NDVjODg5IiwiY*WNjZXNzIjoiYjRBMXlUWUcxWHZMOTZ6OFV4ZWdoQTI1ME1DRVhURkRpMkNtaUhJSVdkTmVRd01veDJBQUpWMlp4QzVDN1d1MCIsImV*4cGlyZSI6MTU2NDY1MDU4N30.*MGROnVdsRxU5onYO-f92T3Et9TAGnzzLlkOdf3Vrt898XPu8CO6Cqk9diSKx2zdJc4Jvfja5BCYNsomBF3ZiIxgUu-34B9fqnKcOEb*78rEuzNCqo4ARwD-BwMH0zaJaEDEqXZn2JUATzbNouJbPS33jQ5XVyWZuxfiFH5f9LP3Tp36uMzQT5YgbF4I1wgpkGwvOAF_UZsSA9*fT2MtWS_cde_ZmgohTh-2LlZkeWtEGkTEcIOSCPf76JuCdp1kxDj_3A_zf07GyheJO_-QrthCvmtG-wVX7LKgaHE55eSrnRbGI72jd*ktHh-87ACrQRaXf5xQO7lgtiExv0i00pHWeg?expires=1564650587&lang=en&*signature=1acc6e0e47e4256a75f60605d173ab45d0adad62982e7cd509706ff2a37ede3f",
"video": "",
"enhancedDueDiligence": ""
},
"phone": {
"required": true,
"number": "+40700000000",
"isVerified": false
},
"personal": {
"required": true,
"status": "NOT COMPLETED",
"rejectReason": {
"firstName": {
"code": "incorrect_data",
"message": "Incorrect data (it does not correspond to the document data)."
},
"lastName": {
"code": "incomplete_data",
"message": "Incomplete data."
}
},
"firstName": "Alin",
"lastName": "Ionut",
"dateOfBirth": 951004800
},
"address": {
"required": true,
"status": "NOT COMPLETED",
"rejectReason": {
"street": {
"code": "incorrect_or_incomplete_data",
"message": "Incorrect or incomplete data."
}
},
"country": "RO",
"city": "Pitesti",
"zip": "111111",
"street": "Street details"
},
"documents": {
"required": true,
"governmentIdFront": {
"status": "NOT COMPLETED",
"rejectReason": {
"code": "color_photo",
"message": "We only accept color photos. The black and white types will not be accepted."
},
"url": "https:"
},
"governmentIdBack": {
"status": "ACCEPTED",
"url": "https:"
},
"passport": {
"status": "ACCEPTED",
"url": "https:"
},
"driversLicense": {
"status": "ACCEPTED",
"url": "https:"
},
"residencePermit": {
"status": "ACCEPTED",
"url": "https:"
},
"utilityBill": {
"status": "ACCEPTED",
"url": "https:"
},
"selfieWithId": {
"status": "ACCEPTED",
"url": "https:"
},
"extendedProofOfFunds": []
},
"video": {
"required": false,
"status": "APPROVED",
"videoFile": null,
"scheduleDate": null,
"scheduleDateTimezone": null,
"cancelScheduleUrl": null,
"rescheduleUrl": null
},
"enhancedDueDiligence": {
"required": false,
"status": "PENDING",
"transactionsPurpose": "investments",
"transactionsPurposeOther": "",
"transactionsNatureValueField": "1 - 1000",
"transactionsNatureFrequencyField": "6 - 10",
"fundsSource": "credit_debit_card",
"fundsSourceOther": "",
"fundsSourceFile": "https:",
"fundsOrigin": "payroll_funds",
"fundsOriginOther": "",
"fundsOriginFile": "https:",
"createdAt": 1558632442
},
"createdAt": 1554204616
}
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"country": [
"The country field is required."
]
}
}
Example response (423):
{
"message": "The KYC is not required at this point for current user."
}
HTTP Request
POST /api/v1/user/{user}/kyc
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
Body Parameters
Parameter | Type | Status | Description | |
---|---|---|---|---|
country |
string | required | The user country ISO code - (countryISOCode). | |
city |
string | required | The user city - (max:191). | |
zip |
string | required | The user zip code - (alpha_num|between:4,10). | |
street |
string | required | The user street - (max:191). | |
countryOfBirth |
string | optional | The user country of birth - (in:countries->code). | |
cityOfBirth |
string | optional | The user city of birth - (max:191). | |
nationality |
string | optional | The user nationality - (in:countries->code). | |
usCitizen |
boolean | optional | Is user usCitizen - (in:true|false). | |
documents.governmentIdFront |
file | required | The user government ID front - (required_without_all:documents.passport,documents.driversLicense,documents.residencePermit|image|mimes:jpg,jpeg,bmp,png|max:10240kb). | |
documents.governmentIdBack |
file | required | The user government ID back - (required_without_all:documents.passport,documents.driversLicense,documents.residencePermit|image|mimes:jpg,jpeg,bmp,png|max:10240). | |
documents.passport |
file | optional | The user passport - (required_without_all:documents.governmentIdFront,documents.governmentIdBack,documents.driversLicense,documents.residencePermit|image|mimes:jpg,jpeg,bmp,png|max:10240). | |
documents.driversLicense |
file | optional | The user driving license - (required_without_all:documents.governmentIdFront,documents.governmentIdBack,documents.passport,documents.residencePermit|image|mimes:jpg,jpeg,bmp,png|max:10240). | |
documents.residencePermit |
file | optional | The user residence permit - (required_without_all:documents.governmentIdFront,documents.governmentIdBack,documents.passport,documents,driversLicense|image|mimes:jpg,jpeg,bmp,png|max:10240). | |
documents.utilityBill |
file | optional | The user utilityBill - (image|mimes:jpg,jpeg,bmp,png|max:10240). | |
documents.selfieWithId |
file | optional | The user selfieWithId - (image|mimes:jpg,jpeg,bmp,png|max:10240). | |
edd.transactionsPurpose |
string | optional | The user edd purpose - (in:remittances,payments,investments,savings,other). | |
edd.transactionsPurposeOther |
string | optional | The user edd other transaction pruspose - (required_if:transactionsPurpose,other|max:191). | |
edd.transactionsNatureValue |
integer | optional | The user edd transaction nature value - (in:1,2,3,4,5). | |
edd.transactionsNatureFrequency |
integer | optional | The user edd transaction nature frequency - (in:1,2,3,4,5). | |
edd.fundsSource |
string | optional | The user edd source of funds - (in:credit_debit_card,e_wallet,bank_account,mining_wallet,other). | |
edd.fundsSourceOther |
string | optional | The user edd other source of funds - (required_if:fundsSource,other | max:191). |
edd.fundsSourceFile |
file | optional | The user edd funds source file - (image|mimes:jpg,jpeg,bmp,png|max:10240). | |
edd.fundsOrigin |
string | optional | The user edd funds origin - (in:payroll_funds,dividends_of_business,personal_savings,proceeds_of_investments,proceeds_of_mining,other). | |
edd.fundsOriginOther |
string | optional | The user edd other funds origin - (required_if:fundsOrigin,other|max:191). | |
edd.fundsOriginFile |
file | optional | The user edd funds origin file - (image|mimes:jpg,jpeg,bmp,png|max:10240). |
KYC Create Personal Data
Requires authentication Use this endpoint to update an existing User model.
Example request:
curl -X POST \
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/kyc/personal-data" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}" \
-d '{"firstName":"Alin","lastName":"Ionut","dateOfBirth":"1900-12-31","countryOfBirth":"RO","cityOfBirth":"Pitesti","nationality":"RO","usCitizen":false}'
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/kyc/personal-data"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
let body = {
"firstName": "Alin",
"lastName": "Ionut",
"dateOfBirth": "1900-12-31",
"countryOfBirth": "RO",
"cityOfBirth": "Pitesti",
"nationality": "RO",
"usCitizen": false
}
fetch(url, {
method: "POST",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/kyc/personal-data',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
'json' => [
'firstName' => 'Alin',
'lastName' => 'Ionut',
'dateOfBirth' => '1900-12-31',
'countryOfBirth' => 'RO',
'cityOfBirth' => 'Pitesti',
'nationality' => 'RO',
'usCitizen' => false,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/kyc/personal-data'
payload = {
"firstName": "Alin",
"lastName": "Ionut",
"dateOfBirth": "1900-12-31",
"countryOfBirth": "RO",
"cityOfBirth": "Pitesti",
"nationality": "RO",
"usCitizen": false
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Example response (200):
{
"data": {
"required": "phone",
"status": "ACCEPTED",
"level": 2,
"amounts": {
"buy": "149.75",
"buy_nft": "512",
"buy_payment": "99.99",
"sell": "0",
"sell_nft": "333",
"deposit": "123.45",
"withdraw": "100"
},
"amountsNextLevel": {
"buy": "5000",
"buy_nft": "5000",
"buy_payment": "5000",
"sell": "5000",
"sell_nft": "5000",
"deposit": "10000",
"withdraw": "5000"
},
"links": {
"personal": "",
"address": "",
"documents": "http:\/\/dev-checkout.localhost\/kyc\/documents\/*eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzUxMiJ9.eyJ1c2VyIjoiMGU2Y2JjMmUtZWUzYi00MTQ0LTgxMTQtMGM2YjM1NDVjODg5IiwiY*WNjZXNzIjoiYjRBMXlUWUcxWHZMOTZ6OFV4ZWdoQTI1ME1DRVhURkRpMkNtaUhJSVdkTmVRd01veDJBQUpWMlp4QzVDN1d1MCIsImV*4cGlyZSI6MTU2NDY1MDU4N30.*MGROnVdsRxU5onYO-f92T3Et9TAGnzzLlkOdf3Vrt898XPu8CO6Cqk9diSKx2zdJc4Jvfja5BCYNsomBF3ZiIxgUu-34B9fqnKcOEb*78rEuzNCqo4ARwD-BwMH0zaJaEDEqXZn2JUATzbNouJbPS33jQ5XVyWZuxfiFH5f9LP3Tp36uMzQT5YgbF4I1wgpkGwvOAF_UZsSA9*fT2MtWS_cde_ZmgohTh-2LlZkeWtEGkTEcIOSCPf76JuCdp1kxDj_3A_zf07GyheJO_-QrthCvmtG-wVX7LKgaHE55eSrnRbGI72jd*ktHh-87ACrQRaXf5xQO7lgtiExv0i00pHWeg?expires=1564650587&lang=en&*signature=1acc6e0e47e4256a75f60605d173ab45d0adad62982e7cd509706ff2a37ede3f",
"video": "",
"enhancedDueDiligence": ""
},
"phone": {
"required": true,
"number": "+40700000000",
"isVerified": false
},
"personal": {
"required": true,
"status": "NOT COMPLETED",
"rejectReason": {
"firstName": {
"code": "incorrect_data",
"message": "Incorrect data (it does not correspond to the document data)."
},
"lastName": {
"code": "incomplete_data",
"message": "Incomplete data."
}
},
"firstName": "Alin",
"lastName": "Ionut",
"dateOfBirth": 951004800
},
"address": {
"required": true,
"status": "NOT COMPLETED",
"rejectReason": {
"street": {
"code": "incorrect_or_incomplete_data",
"message": "Incorrect or incomplete data."
}
},
"country": "RO",
"city": "Pitesti",
"zip": "111111",
"street": "Street details"
},
"documents": {
"required": true,
"governmentIdFront": {
"status": "NOT COMPLETED",
"rejectReason": {
"code": "color_photo",
"message": "We only accept color photos. The black and white types will not be accepted."
},
"url": "https:"
},
"governmentIdBack": {
"status": "ACCEPTED",
"url": "https:"
},
"passport": {
"status": "ACCEPTED",
"url": "https:"
},
"driversLicense": {
"status": "ACCEPTED",
"url": "https:"
},
"residencePermit": {
"status": "ACCEPTED",
"url": "https:"
},
"utilityBill": {
"status": "ACCEPTED",
"url": "https:"
},
"selfieWithId": {
"status": "ACCEPTED",
"url": "https:"
},
"extendedProofOfFunds": []
},
"video": {
"required": false,
"status": "APPROVED",
"videoFile": null,
"scheduleDate": null,
"scheduleDateTimezone": null,
"cancelScheduleUrl": null,
"rescheduleUrl": null
},
"enhancedDueDiligence": {
"required": false,
"status": "PENDING",
"transactionsPurpose": "investments",
"transactionsPurposeOther": "",
"transactionsNatureValueField": "1 - 1000",
"transactionsNatureFrequencyField": "6 - 10",
"fundsSource": "credit_debit_card",
"fundsSourceOther": "",
"fundsSourceFile": "https:",
"fundsOrigin": "payroll_funds",
"fundsOriginOther": "",
"fundsOriginFile": "https:",
"createdAt": 1558632442
},
"createdAt": 1554204616
}
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"email": [
"The email has already been taken."
]
}
}
Example response (401):
{
"error": "Unauthenticated."
}
HTTP Request
POST /api/v1/user/{user}/kyc/personal-data
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
Body Parameters
Parameter | Type | Status | Description |
---|---|---|---|
firstName |
string | required | The user first name - (alpha_space|max:191). |
lastName |
string | required | The user last name - (alpha_space|max:191). |
dateOfBirth |
dateTime | required | The user date of birth, must be minimum 18 years - (date_format:Y-m-d|before_or_equal:now()->subYears(18)->format('Y-m-d')). |
countryOfBirth |
string | optional | The user country of birth - (in:countries->code). |
cityOfBirth |
string | optional | The user city of birth - (max:191). |
nationality |
string | optional | The user nationality - (in:countries->code). |
usCitizen |
boolean | optional | Is user usCitizen - (in:true|false). |
KYC Create Address
Requires authentication Use this endpoint to create user KYC Address.
Example request:
curl -X POST \
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/kyc/address" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}" \
-d '{"country":"RO","city":"Pitesti","zip":"123456","street":"Street name Nr. 1","utilityBill":"image"}'
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/kyc/address"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
let body = {
"country": "RO",
"city": "Pitesti",
"zip": "123456",
"street": "Street name Nr. 1",
"utilityBill": "image"
}
fetch(url, {
method: "POST",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/kyc/address',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
'json' => [
'country' => 'RO',
'city' => 'Pitesti',
'zip' => '123456',
'street' => 'Street name Nr. 1',
'utilityBill' => 'image',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/kyc/address'
payload = {
"country": "RO",
"city": "Pitesti",
"zip": "123456",
"street": "Street name Nr. 1",
"utilityBill": "image"
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Example response (200):
{
"data": {
"required": "phone",
"status": "ACCEPTED",
"level": 2,
"amounts": {
"buy": "149.75",
"buy_nft": "512",
"buy_payment": "99.99",
"sell": "0",
"sell_nft": "333",
"deposit": "123.45",
"withdraw": "100"
},
"amountsNextLevel": {
"buy": "5000",
"buy_nft": "5000",
"buy_payment": "5000",
"sell": "5000",
"sell_nft": "5000",
"deposit": "10000",
"withdraw": "5000"
},
"links": {
"personal": "",
"address": "",
"documents": "http:\/\/dev-checkout.localhost\/kyc\/documents\/*eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzUxMiJ9.eyJ1c2VyIjoiMGU2Y2JjMmUtZWUzYi00MTQ0LTgxMTQtMGM2YjM1NDVjODg5IiwiY*WNjZXNzIjoiYjRBMXlUWUcxWHZMOTZ6OFV4ZWdoQTI1ME1DRVhURkRpMkNtaUhJSVdkTmVRd01veDJBQUpWMlp4QzVDN1d1MCIsImV*4cGlyZSI6MTU2NDY1MDU4N30.*MGROnVdsRxU5onYO-f92T3Et9TAGnzzLlkOdf3Vrt898XPu8CO6Cqk9diSKx2zdJc4Jvfja5BCYNsomBF3ZiIxgUu-34B9fqnKcOEb*78rEuzNCqo4ARwD-BwMH0zaJaEDEqXZn2JUATzbNouJbPS33jQ5XVyWZuxfiFH5f9LP3Tp36uMzQT5YgbF4I1wgpkGwvOAF_UZsSA9*fT2MtWS_cde_ZmgohTh-2LlZkeWtEGkTEcIOSCPf76JuCdp1kxDj_3A_zf07GyheJO_-QrthCvmtG-wVX7LKgaHE55eSrnRbGI72jd*ktHh-87ACrQRaXf5xQO7lgtiExv0i00pHWeg?expires=1564650587&lang=en&*signature=1acc6e0e47e4256a75f60605d173ab45d0adad62982e7cd509706ff2a37ede3f",
"video": "",
"enhancedDueDiligence": ""
},
"phone": {
"required": true,
"number": "+40700000000",
"isVerified": false
},
"personal": {
"required": true,
"status": "NOT COMPLETED",
"rejectReason": {
"firstName": {
"code": "incorrect_data",
"message": "Incorrect data (it does not correspond to the document data)."
},
"lastName": {
"code": "incomplete_data",
"message": "Incomplete data."
}
},
"firstName": "Alin",
"lastName": "Ionut",
"dateOfBirth": 951004800
},
"address": {
"required": true,
"status": "NOT COMPLETED",
"rejectReason": {
"street": {
"code": "incorrect_or_incomplete_data",
"message": "Incorrect or incomplete data."
}
},
"country": "RO",
"city": "Pitesti",
"zip": "111111",
"street": "Street details"
},
"documents": {
"required": true,
"governmentIdFront": {
"status": "NOT COMPLETED",
"rejectReason": {
"code": "color_photo",
"message": "We only accept color photos. The black and white types will not be accepted."
},
"url": "https:"
},
"governmentIdBack": {
"status": "ACCEPTED",
"url": "https:"
},
"passport": {
"status": "ACCEPTED",
"url": "https:"
},
"driversLicense": {
"status": "ACCEPTED",
"url": "https:"
},
"residencePermit": {
"status": "ACCEPTED",
"url": "https:"
},
"utilityBill": {
"status": "ACCEPTED",
"url": "https:"
},
"selfieWithId": {
"status": "ACCEPTED",
"url": "https:"
},
"extendedProofOfFunds": []
},
"video": {
"required": false,
"status": "APPROVED",
"videoFile": null,
"scheduleDate": null,
"scheduleDateTimezone": null,
"cancelScheduleUrl": null,
"rescheduleUrl": null
},
"enhancedDueDiligence": {
"required": false,
"status": "PENDING",
"transactionsPurpose": "investments",
"transactionsPurposeOther": "",
"transactionsNatureValueField": "1 - 1000",
"transactionsNatureFrequencyField": "6 - 10",
"fundsSource": "credit_debit_card",
"fundsSourceOther": "",
"fundsSourceFile": "https:",
"fundsOrigin": "payroll_funds",
"fundsOriginOther": "",
"fundsOriginFile": "https:",
"createdAt": 1558632442
},
"createdAt": 1554204616
}
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"country": [
"The country field is required."
]
}
}
Example response (423):
{
"message": "The KYC Address is not required at this point for current user."
}
HTTP Request
POST /api/v1/user/{user}/kyc/address
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
Body Parameters
Parameter | Type | Status | Description | |
---|---|---|---|---|
country |
string | required | The user country ISO code - (countryISOCode). | |
city |
string | required | The user city - (alpha_dash|max:191). | |
zip |
string | required | The user zip code - (alpha_num | between:4,10). |
street |
string | required | The user street - (max:191). | |
utilityBill |
file | optional | The utilityBill file - (file|max:10240|mimes:jpg,jpeg,bmp,png,pdf). |
KYC Create Document
Requires authentication Use this endpoint to create user KYC document.
Example request:
curl -X POST \
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/kyc/document" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}" \
-d '{"type":"governmentIdFront","file":"File"}'
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/kyc/document"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
let body = {
"type": "governmentIdFront",
"file": "File"
}
fetch(url, {
method: "POST",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/kyc/document',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
'json' => [
'type' => 'governmentIdFront',
'file' => 'File',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/kyc/document'
payload = {
"type": "governmentIdFront",
"file": "File"
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Example response (200):
{
"data": {
"required": "phone",
"status": "ACCEPTED",
"level": 2,
"amounts": {
"buy": "149.75",
"buy_nft": "512",
"buy_payment": "99.99",
"sell": "0",
"sell_nft": "333",
"deposit": "123.45",
"withdraw": "100"
},
"amountsNextLevel": {
"buy": "5000",
"buy_nft": "5000",
"buy_payment": "5000",
"sell": "5000",
"sell_nft": "5000",
"deposit": "10000",
"withdraw": "5000"
},
"links": {
"personal": "",
"address": "",
"documents": "http:\/\/dev-checkout.localhost\/kyc\/documents\/*eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzUxMiJ9.eyJ1c2VyIjoiMGU2Y2JjMmUtZWUzYi00MTQ0LTgxMTQtMGM2YjM1NDVjODg5IiwiY*WNjZXNzIjoiYjRBMXlUWUcxWHZMOTZ6OFV4ZWdoQTI1ME1DRVhURkRpMkNtaUhJSVdkTmVRd01veDJBQUpWMlp4QzVDN1d1MCIsImV*4cGlyZSI6MTU2NDY1MDU4N30.*MGROnVdsRxU5onYO-f92T3Et9TAGnzzLlkOdf3Vrt898XPu8CO6Cqk9diSKx2zdJc4Jvfja5BCYNsomBF3ZiIxgUu-34B9fqnKcOEb*78rEuzNCqo4ARwD-BwMH0zaJaEDEqXZn2JUATzbNouJbPS33jQ5XVyWZuxfiFH5f9LP3Tp36uMzQT5YgbF4I1wgpkGwvOAF_UZsSA9*fT2MtWS_cde_ZmgohTh-2LlZkeWtEGkTEcIOSCPf76JuCdp1kxDj_3A_zf07GyheJO_-QrthCvmtG-wVX7LKgaHE55eSrnRbGI72jd*ktHh-87ACrQRaXf5xQO7lgtiExv0i00pHWeg?expires=1564650587&lang=en&*signature=1acc6e0e47e4256a75f60605d173ab45d0adad62982e7cd509706ff2a37ede3f",
"video": "",
"enhancedDueDiligence": ""
},
"phone": {
"required": true,
"number": "+40700000000",
"isVerified": false
},
"personal": {
"required": true,
"status": "NOT COMPLETED",
"rejectReason": {
"firstName": {
"code": "incorrect_data",
"message": "Incorrect data (it does not correspond to the document data)."
},
"lastName": {
"code": "incomplete_data",
"message": "Incomplete data."
}
},
"firstName": "Alin",
"lastName": "Ionut",
"dateOfBirth": 951004800
},
"address": {
"required": true,
"status": "NOT COMPLETED",
"rejectReason": {
"street": {
"code": "incorrect_or_incomplete_data",
"message": "Incorrect or incomplete data."
}
},
"country": "RO",
"city": "Pitesti",
"zip": "111111",
"street": "Street details"
},
"documents": {
"required": true,
"governmentIdFront": {
"status": "NOT COMPLETED",
"rejectReason": {
"code": "color_photo",
"message": "We only accept color photos. The black and white types will not be accepted."
},
"url": "https:"
},
"governmentIdBack": {
"status": "ACCEPTED",
"url": "https:"
},
"passport": {
"status": "ACCEPTED",
"url": "https:"
},
"driversLicense": {
"status": "ACCEPTED",
"url": "https:"
},
"residencePermit": {
"status": "ACCEPTED",
"url": "https:"
},
"utilityBill": {
"status": "ACCEPTED",
"url": "https:"
},
"selfieWithId": {
"status": "ACCEPTED",
"url": "https:"
},
"extendedProofOfFunds": []
},
"video": {
"required": false,
"status": "APPROVED",
"videoFile": null,
"scheduleDate": null,
"scheduleDateTimezone": null,
"cancelScheduleUrl": null,
"rescheduleUrl": null
},
"enhancedDueDiligence": {
"required": false,
"status": "PENDING",
"transactionsPurpose": "investments",
"transactionsPurposeOther": "",
"transactionsNatureValueField": "1 - 1000",
"transactionsNatureFrequencyField": "6 - 10",
"fundsSource": "credit_debit_card",
"fundsSourceOther": "",
"fundsSourceFile": "https:",
"fundsOrigin": "payroll_funds",
"fundsOriginOther": "",
"fundsOriginFile": "https:",
"createdAt": 1558632442
},
"createdAt": 1554204616
}
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (403):
{
"message": "You have reach the maximum number of files uploaded\/day."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"type": [
"The selected type is invalid."
]
}
}
Example response (423):
{
"message": "The KYC Docs are not required at this point for current user."
}
HTTP Request
POST /api/v1/user/{user}/kyc/document
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
Body Parameters
Parameter | Type | Status | Description |
---|---|---|---|
type |
string | optional | The file type - (in:governmentIdFront,governmentIdBack,passport,driversLicense,residencePermit,selfieWithId,utilityBill). |
file |
file | required | The file type - (file|mimes:jpg,jpeg,bmp,png,pdf|max:10240kb). |
KYC Create Video
Requires authentication Use this endpoint to create user KYC Video.
Example request:
curl -X POST \
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/kyc/video" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}" \
-d '{"date":"2020-12-30 12:00:00"}'
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/kyc/video"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
let body = {
"date": "2020-12-30 12:00:00"
}
fetch(url, {
method: "POST",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/kyc/video',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
'json' => [
'date' => '2020-12-30 12:00:00',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/kyc/video'
payload = {
"date": "2020-12-30 12:00:00"
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Example response (200):
{
"data": {
"required": "phone",
"status": "ACCEPTED",
"level": 2,
"amounts": {
"buy": "149.75",
"buy_nft": "512",
"buy_payment": "99.99",
"sell": "0",
"sell_nft": "333",
"deposit": "123.45",
"withdraw": "100"
},
"amountsNextLevel": {
"buy": "5000",
"buy_nft": "5000",
"buy_payment": "5000",
"sell": "5000",
"sell_nft": "5000",
"deposit": "10000",
"withdraw": "5000"
},
"links": {
"personal": "",
"address": "",
"documents": "http:\/\/dev-checkout.localhost\/kyc\/documents\/*eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzUxMiJ9.eyJ1c2VyIjoiMGU2Y2JjMmUtZWUzYi00MTQ0LTgxMTQtMGM2YjM1NDVjODg5IiwiY*WNjZXNzIjoiYjRBMXlUWUcxWHZMOTZ6OFV4ZWdoQTI1ME1DRVhURkRpMkNtaUhJSVdkTmVRd01veDJBQUpWMlp4QzVDN1d1MCIsImV*4cGlyZSI6MTU2NDY1MDU4N30.*MGROnVdsRxU5onYO-f92T3Et9TAGnzzLlkOdf3Vrt898XPu8CO6Cqk9diSKx2zdJc4Jvfja5BCYNsomBF3ZiIxgUu-34B9fqnKcOEb*78rEuzNCqo4ARwD-BwMH0zaJaEDEqXZn2JUATzbNouJbPS33jQ5XVyWZuxfiFH5f9LP3Tp36uMzQT5YgbF4I1wgpkGwvOAF_UZsSA9*fT2MtWS_cde_ZmgohTh-2LlZkeWtEGkTEcIOSCPf76JuCdp1kxDj_3A_zf07GyheJO_-QrthCvmtG-wVX7LKgaHE55eSrnRbGI72jd*ktHh-87ACrQRaXf5xQO7lgtiExv0i00pHWeg?expires=1564650587&lang=en&*signature=1acc6e0e47e4256a75f60605d173ab45d0adad62982e7cd509706ff2a37ede3f",
"video": "",
"enhancedDueDiligence": ""
},
"phone": {
"required": true,
"number": "+40700000000",
"isVerified": false
},
"personal": {
"required": true,
"status": "NOT COMPLETED",
"rejectReason": {
"firstName": {
"code": "incorrect_data",
"message": "Incorrect data (it does not correspond to the document data)."
},
"lastName": {
"code": "incomplete_data",
"message": "Incomplete data."
}
},
"firstName": "Alin",
"lastName": "Ionut",
"dateOfBirth": 951004800
},
"address": {
"required": true,
"status": "NOT COMPLETED",
"rejectReason": {
"street": {
"code": "incorrect_or_incomplete_data",
"message": "Incorrect or incomplete data."
}
},
"country": "RO",
"city": "Pitesti",
"zip": "111111",
"street": "Street details"
},
"documents": {
"required": true,
"governmentIdFront": {
"status": "NOT COMPLETED",
"rejectReason": {
"code": "color_photo",
"message": "We only accept color photos. The black and white types will not be accepted."
},
"url": "https:"
},
"governmentIdBack": {
"status": "ACCEPTED",
"url": "https:"
},
"passport": {
"status": "ACCEPTED",
"url": "https:"
},
"driversLicense": {
"status": "ACCEPTED",
"url": "https:"
},
"residencePermit": {
"status": "ACCEPTED",
"url": "https:"
},
"utilityBill": {
"status": "ACCEPTED",
"url": "https:"
},
"selfieWithId": {
"status": "ACCEPTED",
"url": "https:"
},
"extendedProofOfFunds": []
},
"video": {
"required": false,
"status": "APPROVED",
"videoFile": null,
"scheduleDate": null,
"scheduleDateTimezone": null,
"cancelScheduleUrl": null,
"rescheduleUrl": null
},
"enhancedDueDiligence": {
"required": false,
"status": "PENDING",
"transactionsPurpose": "investments",
"transactionsPurposeOther": "",
"transactionsNatureValueField": "1 - 1000",
"transactionsNatureFrequencyField": "6 - 10",
"fundsSource": "credit_debit_card",
"fundsSourceOther": "",
"fundsSourceFile": "https:",
"fundsOrigin": "payroll_funds",
"fundsOriginOther": "",
"fundsOriginFile": "https:",
"createdAt": 1558632442
},
"createdAt": 1554204616
}
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (421):
{
"message": "Selected date is invalid due admins unavailability."
}
Example response (423):
{
"message": "The KYC Video is not required at this point for current user."
}
HTTP Request
POST /api/v1/user/{user}/kyc/video
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
Body Parameters
Parameter | Type | Status | Description |
---|---|---|---|
date |
dateTime | required | The scheduled KYC Video date - (date_format:Y-m-d H:i:s|after_or_equal:now). |
KYC Create EDD
Requires authentication Use this endpoint to create user KYC EDD.
Example request:
curl -X POST \
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/kyc/edd" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}" \
-d '{"transactionsPurpose":"investments","transactionsPurposeOther":"any desired purpose here","transactionsNatureValue":1,"transactionsNatureFrequency":1,"fundsSource":"1","fundsSourceOther":"any source of funds here","fundsSourceFile":"image","fundsOrigin":"personal_savings","fundsOriginOther":"any origin of funds here","fundsOriginFile":"image"}'
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/kyc/edd"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
let body = {
"transactionsPurpose": "investments",
"transactionsPurposeOther": "any desired purpose here",
"transactionsNatureValue": 1,
"transactionsNatureFrequency": 1,
"fundsSource": "1",
"fundsSourceOther": "any source of funds here",
"fundsSourceFile": "image",
"fundsOrigin": "personal_savings",
"fundsOriginOther": "any origin of funds here",
"fundsOriginFile": "image"
}
fetch(url, {
method: "POST",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/kyc/edd',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
'json' => [
'transactionsPurpose' => 'investments',
'transactionsPurposeOther' => 'any desired purpose here',
'transactionsNatureValue' => 1,
'transactionsNatureFrequency' => 1,
'fundsSource' => '1',
'fundsSourceOther' => 'any source of funds here',
'fundsSourceFile' => 'image',
'fundsOrigin' => 'personal_savings',
'fundsOriginOther' => 'any origin of funds here',
'fundsOriginFile' => 'image',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/kyc/edd'
payload = {
"transactionsPurpose": "investments",
"transactionsPurposeOther": "any desired purpose here",
"transactionsNatureValue": 1,
"transactionsNatureFrequency": 1,
"fundsSource": "1",
"fundsSourceOther": "any source of funds here",
"fundsSourceFile": "image",
"fundsOrigin": "personal_savings",
"fundsOriginOther": "any origin of funds here",
"fundsOriginFile": "image"
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Example response (200):
{
"data": {
"required": "phone",
"status": "ACCEPTED",
"level": 2,
"amounts": {
"buy": "149.75",
"buy_nft": "512",
"buy_payment": "99.99",
"sell": "0",
"sell_nft": "333",
"deposit": "123.45",
"withdraw": "100"
},
"amountsNextLevel": {
"buy": "5000",
"buy_nft": "5000",
"buy_payment": "5000",
"sell": "5000",
"sell_nft": "5000",
"deposit": "10000",
"withdraw": "5000"
},
"links": {
"personal": "",
"address": "",
"documents": "http:\/\/dev-checkout.localhost\/kyc\/documents\/*eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzUxMiJ9.eyJ1c2VyIjoiMGU2Y2JjMmUtZWUzYi00MTQ0LTgxMTQtMGM2YjM1NDVjODg5IiwiY*WNjZXNzIjoiYjRBMXlUWUcxWHZMOTZ6OFV4ZWdoQTI1ME1DRVhURkRpMkNtaUhJSVdkTmVRd01veDJBQUpWMlp4QzVDN1d1MCIsImV*4cGlyZSI6MTU2NDY1MDU4N30.*MGROnVdsRxU5onYO-f92T3Et9TAGnzzLlkOdf3Vrt898XPu8CO6Cqk9diSKx2zdJc4Jvfja5BCYNsomBF3ZiIxgUu-34B9fqnKcOEb*78rEuzNCqo4ARwD-BwMH0zaJaEDEqXZn2JUATzbNouJbPS33jQ5XVyWZuxfiFH5f9LP3Tp36uMzQT5YgbF4I1wgpkGwvOAF_UZsSA9*fT2MtWS_cde_ZmgohTh-2LlZkeWtEGkTEcIOSCPf76JuCdp1kxDj_3A_zf07GyheJO_-QrthCvmtG-wVX7LKgaHE55eSrnRbGI72jd*ktHh-87ACrQRaXf5xQO7lgtiExv0i00pHWeg?expires=1564650587&lang=en&*signature=1acc6e0e47e4256a75f60605d173ab45d0adad62982e7cd509706ff2a37ede3f",
"video": "",
"enhancedDueDiligence": ""
},
"phone": {
"required": true,
"number": "+40700000000",
"isVerified": false
},
"personal": {
"required": true,
"status": "NOT COMPLETED",
"rejectReason": {
"firstName": {
"code": "incorrect_data",
"message": "Incorrect data (it does not correspond to the document data)."
},
"lastName": {
"code": "incomplete_data",
"message": "Incomplete data."
}
},
"firstName": "Alin",
"lastName": "Ionut",
"dateOfBirth": 951004800
},
"address": {
"required": true,
"status": "NOT COMPLETED",
"rejectReason": {
"street": {
"code": "incorrect_or_incomplete_data",
"message": "Incorrect or incomplete data."
}
},
"country": "RO",
"city": "Pitesti",
"zip": "111111",
"street": "Street details"
},
"documents": {
"required": true,
"governmentIdFront": {
"status": "NOT COMPLETED",
"rejectReason": {
"code": "color_photo",
"message": "We only accept color photos. The black and white types will not be accepted."
},
"url": "https:"
},
"governmentIdBack": {
"status": "ACCEPTED",
"url": "https:"
},
"passport": {
"status": "ACCEPTED",
"url": "https:"
},
"driversLicense": {
"status": "ACCEPTED",
"url": "https:"
},
"residencePermit": {
"status": "ACCEPTED",
"url": "https:"
},
"utilityBill": {
"status": "ACCEPTED",
"url": "https:"
},
"selfieWithId": {
"status": "ACCEPTED",
"url": "https:"
},
"extendedProofOfFunds": []
},
"video": {
"required": false,
"status": "APPROVED",
"videoFile": null,
"scheduleDate": null,
"scheduleDateTimezone": null,
"cancelScheduleUrl": null,
"rescheduleUrl": null
},
"enhancedDueDiligence": {
"required": false,
"status": "PENDING",
"transactionsPurpose": "investments",
"transactionsPurposeOther": "",
"transactionsNatureValueField": "1 - 1000",
"transactionsNatureFrequencyField": "6 - 10",
"fundsSource": "credit_debit_card",
"fundsSourceOther": "",
"fundsSourceFile": "https:",
"fundsOrigin": "payroll_funds",
"fundsOriginOther": "",
"fundsOriginFile": "https:",
"createdAt": 1558632442
},
"createdAt": 1554204616
}
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"transactionsPurpose": [
"The transactionsPurpose field is required."
]
}
}
Example response (423):
{
"message": "The KYC EDD is not required at this point for current user."
}
HTTP Request
POST /api/v1/user/{user}/kyc/edd
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
Body Parameters
Parameter | Type | Status | Description | |
---|---|---|---|---|
transactionsPurpose |
string | required | The user edd purpose - (in:remittances,payments,investments,savings,other). | |
transactionsPurposeOther |
string | required | The user edd other transaction pruspose - (required_if:transactionsPurpose,other|max:191). | |
transactionsNatureValue |
integer | required | The user edd transaction nature value - (in:1,2,3,4,5). | |
transactionsNatureFrequency |
integer | required | The user edd transaction nature frequency - (in:1,2,3,4,5). | |
fundsSource |
string | required | The user edd source of funds - (in:credit_debit_card,e_wallet,bank_account,mining_wallet,other). | |
fundsSourceOther |
string | optional | The user edd other source of funds - (required_if:fundsSource,other | max:191). |
fundsSourceFile |
file | required | The user edd funds source file - (image|mimes:jpg,jpeg,bmp,png|max:10240). | |
fundsOrigin |
string | required | The user edd funds origin - (in:payroll_funds,dividends_of_business,personal_savings,proceeds_of_investments,proceeds_of_mining,other). | |
fundsOriginOther |
string | optional | The user edd other funds origin - (required_if:fundsOrigin,other|max:191). | |
fundsOriginFile |
file | required | The user edd funds origin file - (image|mimes:jpg,jpeg,bmp,png|max:10240). |
NFT
APIs for managing NFTs
NFTs Products Index
Requires authentication Use this endpoint to get all available platform NFTs.
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/nfts/products" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/nfts/products"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/nfts/products',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/nfts/products'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('GET', url, headers=headers)
response.json()
Example response (200):
{
"data": [
{
"name": "NFT Token",
"symbol": "NFT1",
"alias": null,
"type": "nft",
"precision": "8",
"chain": {
"name": "NFT Token",
"symbol": "NFT1"
},
"description": {
"en": "Lorem ipsum dolor sit amet, consectetur adipiscing elit"
},
"properties": [
{
"type": "Rarity",
"value": "Rare"
},
{
"type": "Shine",
"value": "Stone"
},
{
"type": "Health",
"value": "95"
},
{
"type": "Soul",
"value": "20"
},
{
"type": "Class",
"value": "Defense"
}
],
"meta": {
"image": "https:\/\/i.picsum.photos\/id\/683\/600\/600.jpg?hmac=fNyVqsPjbH5vdOjD8xbFljAVSEHZ9km4kNzU39Va4-U",
"url": "https:\/\/www.youtube.com",
"owner": "0x1ec94be5c72cf0e0524d6ecb6e7bd0ba1700bf71",
"creator": "0x1ec94be5c72cf0e0524d6ecb6e7bd0ba1700bf72"
},
"collection": {
"id": "26a979fd-021c-4025-a7c9-a28e46fd10ea",
"name": "CCPRO",
"symbol": "CCPRO_1",
"standard": "ERC721",
"description": {
"en": "Lorem ipsum dolor sit amet, consectetur adipiscing elit"
},
"meta": {
"image": "https:\/\/website\/static\/nft\/res\/123456789.jpeg"
},
"info": {
"items": 1
},
"creator": {
"id": "66de494e-6791-4290-996c-32f42041fbf4",
"email": "al***@gmail.com"
},
"network": {
"name": "Ethereum",
"code": "ETH",
"type": "ERC20",
"chainId": "1",
"explorer": {
"address": "https:\/\/etherscan.io\/address\/{placeholder}",
"transaction": "https:\/\/etherscan.io\/tx\/{placeholder}",
"contract": "https:\/\/etherscan.io\/address\/{placeholder}"
}
}
},
"tags": [
{
"id": "e6cf6653-06ae-41e8-83c8-12d234ec3fe0",
"name": "Collectibles & NFTs",
"type": "category",
"createdAt": 1659418468
},
{
"id": "cd5e2a3f-7a0c-44b1-b37f-029c80bd6173",
"name": "Gaming",
"type": "industry",
"createdAt": 1659418470
}
],
"creator": {
"id": "3a13ec56-6ab4-4ca8-9924-abeead959f7d",
"email": "io***@gmail.com"
},
"owner": {
"id": "66de494e-6791-4290-996c-32f42041fbf4",
"email": "al***@gmail.com"
},
"balance": {
"favorite": false,
"crypto": {
"available": "1.0000000000000000000000000",
"vesting": "0",
"staking": "0",
"pending": "5.0000000000000000000000000"
},
"fiat": {
"available": "1.7435800000000000000000000",
"vesting": "0",
"staking": "0",
"pending": "8.7179000000000000000000000"
}
},
"operations": {
"General": [
{
"send_crypto": {
"status": true,
"rate": "1.74358",
"commission": "0",
"secondCommission": "0",
"info": null,
"limits": {
"main": {
"min": null,
"max": null
},
"second": {
"min": null,
"max": null
}
},
"secondOperations": [],
"networks": []
}
},
{
"withdraw": {
"status": true,
"rate": "1.74358",
"commission": "0",
"secondCommission": "0",
"info": null,
"limits": {
"main": {
"min": null,
"max": null
},
"second": {
"min": null,
"max": null
}
},
"secondOperations": [],
"networks": [
{
"active": true,
"default": true,
"smartContract": null,
"min": null,
"max": null,
"fee": "0.005",
"confirms": null,
"regexAddress": null,
"regexMemo": null,
"network": {
"name": "Ethereum",
"code": "ETH",
"type": "ERC20",
"chainId": "1",
"explorer": {
"address": "https:\/\/etherscan.io\/address\/{placeholder}",
"transaction": "https:\/\/etherscan.io\/tx\/{placeholder}",
"contract": "https:\/\/etherscan.io\/address\/{placeholder}"
}
}
}
]
}
}
],
"Particular": {
"EUR": [
{
"buy_with_fiat": {
"status": true,
"rate": "1.74358",
"commission": "0",
"secondCommission": "0",
"info": null,
"limits": {
"main": {
"min": "1",
"max": "1"
},
"second": {
"min": null,
"max": null
}
},
"secondOperations": [
{
"withdraw": {
"mandatory": false
}
}
],
"networks": []
}
}
]
}
},
"rates": {
"raw": {
"now": "1.7435800000000000000000000",
"day": "1.7435800000000000000000000",
"week": "1.7435800000000000000000000",
"month": "1.7435800000000000000000000",
"quarter": "1.7435800000000000000000000",
"history": {
"day": [
{
"rate": "0.9998000000000000000000000",
"createdAt": 1660122059
}
],
"week": [
{
"rate": "0.9997000000000000000000000",
"createdAt": 1659603659
}
],
"month": [
{
"rate": "1.0007000000000000000000000",
"createdAt": 1657530084
}
],
"quarter": [
{
"rate": "1.0043000000000000000000000",
"createdAt": 1652320866
}
]
}
}
}
}
],
"meta": {
"total": 1,
"current_page": 1,
"per_page": 25,
"last_page": 1
}
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (403):
{
"message": "Unable to process your request."
}
Example response (409):
{
"message": "This action is unauthorized."
}
HTTP Request
GET /api/v1/user/{user}/nfts/products
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
NFTs Products Show
Requires authentication Use this endpoint to get specific available platform NFT.
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/nfts/products/NFT1" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/nfts/products/NFT1"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/nfts/products/NFT1',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/nfts/products/NFT1'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('GET', url, headers=headers)
response.json()
Example response (200):
{
"data": {
"name": "NFT Token",
"symbol": "NFT1",
"alias": null,
"type": "nft",
"precision": "8",
"chain": {
"name": "NFT Token",
"symbol": "NFT1"
},
"description": {
"en": "Lorem ipsum dolor sit amet, consectetur adipiscing elit"
},
"properties": [
{
"type": "Rarity",
"value": "Rare"
},
{
"type": "Shine",
"value": "Stone"
},
{
"type": "Health",
"value": "95"
},
{
"type": "Soul",
"value": "20"
},
{
"type": "Class",
"value": "Defense"
}
],
"meta": {
"image": "https:\/\/i.picsum.photos\/id\/683\/600\/600.jpg?hmac=fNyVqsPjbH5vdOjD8xbFljAVSEHZ9km4kNzU39Va4-U",
"url": "https:\/\/www.youtube.com",
"owner": "0x1ec94be5c72cf0e0524d6ecb6e7bd0ba1700bf71",
"creator": "0x1ec94be5c72cf0e0524d6ecb6e7bd0ba1700bf72"
},
"collection": {
"id": "26a979fd-021c-4025-a7c9-a28e46fd10ea",
"name": "CCPRO",
"symbol": "CCPRO_1",
"standard": "ERC721",
"description": {
"en": "Lorem ipsum dolor sit amet, consectetur adipiscing elit"
},
"meta": {
"image": "https:\/\/website\/static\/nft\/res\/123456789.jpeg"
},
"info": {
"items": 1
},
"creator": {
"id": "66de494e-6791-4290-996c-32f42041fbf4",
"email": "al***@gmail.com"
},
"network": {
"name": "Ethereum",
"code": "ETH",
"type": "ERC20",
"chainId": "1",
"explorer": {
"address": "https:\/\/etherscan.io\/address\/{placeholder}",
"transaction": "https:\/\/etherscan.io\/tx\/{placeholder}",
"contract": "https:\/\/etherscan.io\/address\/{placeholder}"
}
}
},
"tags": [
{
"id": "e6cf6653-06ae-41e8-83c8-12d234ec3fe0",
"name": "Collectibles & NFTs",
"type": "category",
"createdAt": 1659418468
},
{
"id": "cd5e2a3f-7a0c-44b1-b37f-029c80bd6173",
"name": "Gaming",
"type": "industry",
"createdAt": 1659418470
}
],
"creator": {
"id": "3a13ec56-6ab4-4ca8-9924-abeead959f7d",
"email": "io***@gmail.com"
},
"owner": {
"id": "66de494e-6791-4290-996c-32f42041fbf4",
"email": "al***@gmail.com"
},
"balance": {
"favorite": false,
"crypto": {
"available": "1.0000000000000000000000000",
"vesting": "0",
"staking": "0",
"pending": "5.0000000000000000000000000"
},
"fiat": {
"available": "1.7435800000000000000000000",
"vesting": "0",
"staking": "0",
"pending": "8.7179000000000000000000000"
}
},
"operations": {
"General": [
{
"send_crypto": {
"status": true,
"rate": "1.74358",
"commission": "0",
"secondCommission": "0",
"info": null,
"limits": {
"main": {
"min": null,
"max": null
},
"second": {
"min": null,
"max": null
}
},
"secondOperations": [],
"networks": []
}
},
{
"withdraw": {
"status": true,
"rate": "1.74358",
"commission": "0",
"secondCommission": "0",
"info": null,
"limits": {
"main": {
"min": null,
"max": null
},
"second": {
"min": null,
"max": null
}
},
"secondOperations": [],
"networks": [
{
"active": true,
"default": true,
"smartContract": null,
"min": null,
"max": null,
"fee": "0.005",
"confirms": null,
"regexAddress": null,
"regexMemo": null,
"network": {
"name": "Ethereum",
"code": "ETH",
"type": "ERC20",
"chainId": "1",
"explorer": {
"address": "https:\/\/etherscan.io\/address\/{placeholder}",
"transaction": "https:\/\/etherscan.io\/tx\/{placeholder}",
"contract": "https:\/\/etherscan.io\/address\/{placeholder}"
}
}
}
]
}
}
],
"Particular": {
"EUR": [
{
"buy_with_fiat": {
"status": true,
"rate": "1.74358",
"commission": "0",
"secondCommission": "0",
"info": null,
"limits": {
"main": {
"min": "1",
"max": "1"
},
"second": {
"min": null,
"max": null
}
},
"secondOperations": [
{
"withdraw": {
"mandatory": false
}
}
],
"networks": []
}
}
]
}
},
"rates": {
"raw": {
"now": "1.7435800000000000000000000",
"day": "1.7435800000000000000000000",
"week": "1.7435800000000000000000000",
"month": "1.7435800000000000000000000",
"quarter": "1.7435800000000000000000000",
"history": {
"day": [
{
"rate": "0.9998000000000000000000000",
"createdAt": 1660122059
}
],
"week": [
{
"rate": "0.9997000000000000000000000",
"createdAt": 1659603659
}
],
"month": [
{
"rate": "1.0007000000000000000000000",
"createdAt": 1657530084
}
],
"quarter": [
{
"rate": "1.0043000000000000000000000",
"createdAt": 1652320866
}
]
}
}
}
}
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (403):
{
"message": "Unable to process your request."
}
Example response (409):
{
"message": "This action is unauthorized."
}
HTTP Request
GET /api/v1/user/{user}/nfts/products/{asset}
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
asset |
required | The asset Symbol. |
NFTs Collection Index
Requires authentication Use this endpoint to get all available platform NFTs collections.
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/nfts/collections" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/nfts/collections"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/nfts/collections',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/nfts/collections'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('GET', url, headers=headers)
response.json()
Example response (200):
{
"data": [
{
"id": "26a979fd-021c-4025-a7c9-a28e46fd10ea",
"name": "CCPRO",
"symbol": "CCPRO_1",
"standard": "ERC721",
"description": {
"en": "Lorem ipsum dolor sit amet, consectetur adipiscing elit"
},
"meta": {
"image": "https:\/\/website\/static\/nft\/res\/123456789.jpeg"
},
"info": {
"items": 1
},
"creator": {
"id": "66de494e-6791-4290-996c-32f42041fbf4",
"email": "al***@gmail.com"
},
"network": {
"name": "Ethereum",
"code": "ETH",
"type": "ERC20",
"chainId": "1",
"explorer": {
"address": "https:\/\/etherscan.io\/address\/{placeholder}",
"transaction": "https:\/\/etherscan.io\/tx\/{placeholder}",
"contract": "https:\/\/etherscan.io\/address\/{placeholder}"
}
}
}
],
"meta": {
"total": 1,
"current_page": 1,
"per_page": 25,
"last_page": 1
}
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (403):
{
"message": "Unable to process your request."
}
Example response (409):
{
"message": "This action is unauthorized."
}
HTTP Request
GET /api/v1/user/{user}/nfts/collections
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
NFTs Collection Show
Requires authentication Use this endpoint to get specific platform NFTs collection.
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/nfts/collections/26a979fd-021c-4025-a7c9-a28e46fd10ea" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/nfts/collections/26a979fd-021c-4025-a7c9-a28e46fd10ea"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/nfts/collections/26a979fd-021c-4025-a7c9-a28e46fd10ea',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/nfts/collections/26a979fd-021c-4025-a7c9-a28e46fd10ea'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('GET', url, headers=headers)
response.json()
Example response (200):
{
"data": {
"id": "26a979fd-021c-4025-a7c9-a28e46fd10ea",
"name": "CCPRO",
"symbol": "CCPRO_1",
"standard": "ERC721",
"description": {
"en": "Lorem ipsum dolor sit amet, consectetur adipiscing elit"
},
"meta": {
"image": "https:\/\/website\/static\/nft\/res\/123456789.jpeg"
},
"info": {
"items": 1
},
"creator": {
"id": "66de494e-6791-4290-996c-32f42041fbf4",
"email": "al***@gmail.com"
},
"network": {
"name": "Ethereum",
"code": "ETH",
"type": "ERC20",
"chainId": "1",
"explorer": {
"address": "https:\/\/etherscan.io\/address\/{placeholder}",
"transaction": "https:\/\/etherscan.io\/tx\/{placeholder}",
"contract": "https:\/\/etherscan.io\/address\/{placeholder}"
}
}
}
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (403):
{
"message": "Unable to process your request."
}
Example response (409):
{
"message": "This action is unauthorized."
}
HTTP Request
GET /api/v1/user/{user}/nfts/collections/{collection}
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
collection |
required | The collection ID. |
NFTs My Products
Requires authentication Use this endpoint to get all user NFTs products.
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/nfts/my/products?nft=creator" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/nfts/my/products"
);
let params = {
"nft": "creator",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/nfts/my/products',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
'query' => [
'nft'=> 'creator',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/nfts/my/products'
params = {
'nft': 'creator',
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()
Example response (200):
{
"data": [
{
"name": "NFT Token",
"symbol": "NFT1",
"alias": null,
"type": "nft",
"precision": "8",
"chain": {
"name": "NFT Token",
"symbol": "NFT1"
},
"description": {
"en": "Lorem ipsum dolor sit amet, consectetur adipiscing elit"
},
"properties": [
{
"type": "Rarity",
"value": "Rare"
},
{
"type": "Shine",
"value": "Stone"
},
{
"type": "Health",
"value": "95"
},
{
"type": "Soul",
"value": "20"
},
{
"type": "Class",
"value": "Defense"
}
],
"meta": {
"image": "https:\/\/i.picsum.photos\/id\/683\/600\/600.jpg?hmac=fNyVqsPjbH5vdOjD8xbFljAVSEHZ9km4kNzU39Va4-U",
"url": "https:\/\/www.youtube.com",
"owner": "0x1ec94be5c72cf0e0524d6ecb6e7bd0ba1700bf71",
"creator": "0x1ec94be5c72cf0e0524d6ecb6e7bd0ba1700bf72"
},
"collection": {
"id": "26a979fd-021c-4025-a7c9-a28e46fd10ea",
"name": "CCPRO",
"symbol": "CCPRO_1",
"standard": "ERC721",
"description": {
"en": "Lorem ipsum dolor sit amet, consectetur adipiscing elit"
},
"meta": {
"image": "https:\/\/website\/static\/nft\/res\/123456789.jpeg"
},
"info": {
"items": 1
},
"creator": {
"id": "66de494e-6791-4290-996c-32f42041fbf4",
"email": "al***@gmail.com"
},
"network": {
"name": "Ethereum",
"code": "ETH",
"type": "ERC20",
"chainId": "1",
"explorer": {
"address": "https:\/\/etherscan.io\/address\/{placeholder}",
"transaction": "https:\/\/etherscan.io\/tx\/{placeholder}",
"contract": "https:\/\/etherscan.io\/address\/{placeholder}"
}
}
},
"tags": [
{
"id": "e6cf6653-06ae-41e8-83c8-12d234ec3fe0",
"name": "Collectibles & NFTs",
"type": "category",
"createdAt": 1659418468
},
{
"id": "cd5e2a3f-7a0c-44b1-b37f-029c80bd6173",
"name": "Gaming",
"type": "industry",
"createdAt": 1659418470
}
],
"creator": {
"id": "3a13ec56-6ab4-4ca8-9924-abeead959f7d",
"email": "io***@gmail.com"
},
"owner": {
"id": "66de494e-6791-4290-996c-32f42041fbf4",
"email": "al***@gmail.com"
},
"balance": {
"favorite": false,
"crypto": {
"available": "1.0000000000000000000000000",
"vesting": "0",
"staking": "0",
"pending": "5.0000000000000000000000000"
},
"fiat": {
"available": "1.7435800000000000000000000",
"vesting": "0",
"staking": "0",
"pending": "8.7179000000000000000000000"
}
},
"operations": {
"General": [
{
"send_crypto": {
"status": true,
"rate": "1.74358",
"commission": "0",
"secondCommission": "0",
"info": null,
"limits": {
"main": {
"min": null,
"max": null
},
"second": {
"min": null,
"max": null
}
},
"secondOperations": [],
"networks": []
}
},
{
"withdraw": {
"status": true,
"rate": "1.74358",
"commission": "0",
"secondCommission": "0",
"info": null,
"limits": {
"main": {
"min": null,
"max": null
},
"second": {
"min": null,
"max": null
}
},
"secondOperations": [],
"networks": [
{
"active": true,
"default": true,
"smartContract": null,
"min": null,
"max": null,
"fee": "0.005",
"confirms": null,
"regexAddress": null,
"regexMemo": null,
"network": {
"name": "Ethereum",
"code": "ETH",
"type": "ERC20",
"chainId": "1",
"explorer": {
"address": "https:\/\/etherscan.io\/address\/{placeholder}",
"transaction": "https:\/\/etherscan.io\/tx\/{placeholder}",
"contract": "https:\/\/etherscan.io\/address\/{placeholder}"
}
}
}
]
}
}
],
"Particular": {
"EUR": [
{
"buy_with_fiat": {
"status": true,
"rate": "1.74358",
"commission": "0",
"secondCommission": "0",
"info": null,
"limits": {
"main": {
"min": "1",
"max": "1"
},
"second": {
"min": null,
"max": null
}
},
"secondOperations": [
{
"withdraw": {
"mandatory": false
}
}
],
"networks": []
}
}
]
}
},
"rates": {
"raw": {
"now": "1.7435800000000000000000000",
"day": "1.7435800000000000000000000",
"week": "1.7435800000000000000000000",
"month": "1.7435800000000000000000000",
"quarter": "1.7435800000000000000000000",
"history": {
"day": [
{
"rate": "0.9998000000000000000000000",
"createdAt": 1660122059
}
],
"week": [
{
"rate": "0.9997000000000000000000000",
"createdAt": 1659603659
}
],
"month": [
{
"rate": "1.0007000000000000000000000",
"createdAt": 1657530084
}
],
"quarter": [
{
"rate": "1.0043000000000000000000000",
"createdAt": 1652320866
}
]
}
}
}
}
],
"meta": {
"total": 1,
"current_page": 1,
"per_page": 25,
"last_page": 1
}
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (403):
{
"message": "Unable to process your request."
}
Example response (409):
{
"message": "This action is unauthorized."
}
HTTP Request
GET /api/v1/user/{user}/nfts/my/products
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
Query Parameters
Parameter | Status | Description |
---|---|---|
nft |
optional | Filter by NFT type creator/owner. |
NFTs My Collections
Requires authentication Use this endpoint to get all user NFTs collections.
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/nfts/my/collections" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/nfts/my/collections"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/nfts/my/collections',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/nfts/my/collections'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('GET', url, headers=headers)
response.json()
Example response (200):
{
"data": [
{
"id": "26a979fd-021c-4025-a7c9-a28e46fd10ea",
"name": "CCPRO",
"symbol": "CCPRO_1",
"standard": "ERC721",
"description": {
"en": "Lorem ipsum dolor sit amet, consectetur adipiscing elit"
},
"meta": {
"image": "https:\/\/website\/static\/nft\/res\/123456789.jpeg"
},
"info": {
"items": 1
},
"creator": {
"id": "66de494e-6791-4290-996c-32f42041fbf4",
"email": "al***@gmail.com"
},
"network": {
"name": "Ethereum",
"code": "ETH",
"type": "ERC20",
"chainId": "1",
"explorer": {
"address": "https:\/\/etherscan.io\/address\/{placeholder}",
"transaction": "https:\/\/etherscan.io\/tx\/{placeholder}",
"contract": "https:\/\/etherscan.io\/address\/{placeholder}"
}
}
}
],
"meta": {
"total": 1,
"current_page": 1,
"per_page": 25,
"last_page": 1
}
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (403):
{
"message": "Unable to process your request."
}
Example response (409):
{
"message": "This action is unauthorized."
}
HTTP Request
GET /api/v1/user/{user}/nfts/my/collections
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
Network
APIs for managing networks
Network Index
Use this endpoint to get network index.
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/network?name=Ethereum&code=ETH&type=ERC20&has=coin" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/network"
);
let params = {
"name": "Ethereum",
"code": "ETH",
"type": "ERC20",
"has": "coin",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/network',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
'query' => [
'name'=> 'Ethereum',
'code'=> 'ETH',
'type'=> 'ERC20',
'has'=> 'coin',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/network'
params = {
'name': 'Ethereum',
'code': 'ETH',
'type': 'ERC20',
'has': 'coin',
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()
Example response (200):
{
"data": [
{
"name": "Ethereum",
"code": "ETH",
"type": "ERC20",
"explorer": {
"address": "https:\/\/etherscan.io\/address\/{placeholder}",
"transaction": "https:\/\/etherscan.io\/tx\/{placeholder}",
"contract": "https:\/\/etherscan.io\/address\/{placeholder}"
},
"count": {
"coin": 2,
"nft": 1
},
"assets": [
{
"active": true,
"default": true,
"min": "0.01",
"max": "10000000000",
"fee": "0.005",
"confirms": "12",
"regexAddress": "^(0x)[0-9A-Fa-f]{40}$",
"regexMemo": null,
"asset": {
"name": "Ethereum",
"symbol": "ETH",
"alias": null
}
}
]
}
]
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (409):
{
"message": "This action is unauthorized."
}
HTTP Request
GET /api/v1/network
Query Parameters
Parameter | Status | Description |
---|---|---|
name |
optional | Filter by Name. |
code |
optional | Filter by Code. |
type |
optional | Filter by Type. |
has |
optional | Filter by asset type (coin|nft). |
Network Shows
Use this endpoint to get a network.
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/network/ERC20" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/network/ERC20"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/network/ERC20',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/network/ERC20'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('GET', url, headers=headers)
response.json()
Example response (200):
{
"data": {
"name": "Ethereum",
"code": "ETH",
"type": "ERC20",
"explorer": {
"address": "https:\/\/etherscan.io\/address\/{placeholder}",
"transaction": "https:\/\/etherscan.io\/tx\/{placeholder}",
"contract": "https:\/\/etherscan.io\/address\/{placeholder}"
},
"count": {
"coin": 2,
"nft": 1
},
"assets": [
{
"active": true,
"default": true,
"min": "0.01",
"max": "10000000000",
"fee": "0.005",
"confirms": "12",
"regexAddress": "^(0x)[0-9A-Fa-f]{40}$",
"regexMemo": null,
"asset": {
"name": "Ethereum",
"symbol": "ETH",
"alias": null
}
}
]
}
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (404):
{
"message": "No query results."
}
Example response (409):
{
"message": "This action is unauthorized."
}
HTTP Request
GET /api/v1/network/{network}
URL Parameters
Parameter | Status | Description |
---|---|---|
network |
required | The network type. |
Notification
APIs for managing notifications
Notification Permanently
Requires authentication Use this endpoint to get all user permanently Notifications.
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/notifications/permanently" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/notifications/permanently"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/notifications/permanently',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/notifications/permanently'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('GET', url, headers=headers)
response.json()
Example response (200):
{
"data": [
{
"type": "permanently",
"category": "notification",
"code": "notifications_unread",
"message": "You have 2 unread notifications."
},
{
"type": "permanently",
"category": "user",
"code": "self_deleted_at",
"message": "Your account is in pending self deleting."
},
{
"type": "permanently",
"category": "kyc",
"code": "phone_unverified",
"message": "Your phone number is not verified."
},
{
"type": "permanently",
"category": "quote",
"code": "quote_available",
"message": "You have available quotes."
},
{
"type": "permanently",
"category": "order",
"code": "order_payment_waiting",
"message": "You have orders with pending payment waiting."
},
{
"type": "permanently",
"category": "wallet",
"code": "wallet_unavailable",
"message": "No crypto wallet available for use."
},
{
"type": "permanently",
"category": "card",
"code": "card_unavailable",
"message": "No credit card available for use."
},
{
"type": "permanently",
"category": "bank",
"code": "bank_unavailable",
"message": "No bank account available for use."
}
],
"meta": {
"total": 2
}
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (403):
{
"message": "Unable to process your request."
}
Example response (409):
{
"message": "This action is unauthorized."
}
HTTP Request
GET /api/v1/user/{user}/notifications/permanently
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
Notification Temporary
Requires authentication Use this endpoint to get all user temporary Notifications.
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/notifications/temporary/7b10e453-4629-4ca6-b0a2-53a6adf36bef?type=unread" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/notifications/temporary/7b10e453-4629-4ca6-b0a2-53a6adf36bef"
);
let params = {
"type": "unread",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/notifications/temporary/7b10e453-4629-4ca6-b0a2-53a6adf36bef',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
'query' => [
'type'=> 'unread',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/notifications/temporary/7b10e453-4629-4ca6-b0a2-53a6adf36bef'
params = {
'type': 'unread',
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()
Example response (200):
{
"data": [
{
"id": "7b10e453-4629-4ca6-b0a2-53a6adf36bef",
"title": "Order Approved",
"message": "Your order YN3DIS2F has been approved",
"category": "order",
"code": "order_approved",
"meta": {
"id": "e8dfeb1f-b69f-441c-bcee-027ed11f417a",
"publicId": "YN3DIS2F"
},
"createdAt": 1582878001,
"readAt": null
}
],
"meta": {
"total": 1,
"currentPage": 1,
"perPage": 25,
"lastPage": 1
}
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (403):
{
"message": "Unable to process your request."
}
Example response (409):
{
"message": "This action is unauthorized."
}
HTTP Request
GET /api/v1/user/{user}/notifications/temporary/{notification_id?}
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
notification_id |
optional | The notification ID. |
Query Parameters
Parameter | Status | Description |
---|---|---|
type |
optional | Filter by unread on read notifications. |
Notification Temporary Mark As Read
Requires authentication Use this endpoint to mark as read all temporary notifications
Example request:
curl -X POST \
"https://appapi-public.cryptocoin.pro/api/v1/user/1/notifications/temporary/mark-as-read" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/1/notifications/temporary/mark-as-read"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
fetch(url, {
method: "POST",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://appapi-public.cryptocoin.pro/api/v1/user/1/notifications/temporary/mark-as-read',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/1/notifications/temporary/mark-as-read'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('POST', url, headers=headers)
response.json()
Example response (200):
{
"data": [
{
"id": "7b10e453-4629-4ca6-b0a2-53a6adf36bef",
"title": "Order Approved",
"message": "Your order YN3DIS2F has been approved",
"category": "order",
"code": "order_approved",
"meta": {
"id": "e8dfeb1f-b69f-441c-bcee-027ed11f417a",
"publicId": "YN3DIS2F"
},
"createdAt": 1582878001,
"readAt": 1582958238
}
],
"meta": {
"total": 1,
"currentPage": 1,
"perPage": 25,
"lastPage": 1
}
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (403):
{
"message": "Unable to process your request."
}
Example response (409):
{
"message": "This action is unauthorized."
}
HTTP Request
POST /api/v1/user/{user}/notifications/temporary/mark-as-read
Order
APIs for managing orders.
Order Index
Requires authentication Use this endpoint to get user order history.
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/order?id=ftCVHqME&user=jon%40winterfell.got&status=APPROVED&typeOperationName=buy_with_fiat&asset=ETH&asset_type=coin&service_type=subscription&service_id=ea69d0c9-8370-4aca-942d-ebcc50d2adaa&wallet=0x2f203264a671832b543acfd5558ae684cd1c5a5a&txid=0x6357114dd04c8ace9d2c53bace18d7c864d0f686626ff9b18489c64e39edfa7f&payment_method=card&platform=app" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/order"
);
let params = {
"id": "ftCVHqME",
"user": "jon@winterfell.got",
"status": "APPROVED",
"typeOperationName": "buy_with_fiat",
"asset": "ETH",
"asset_type": "coin",
"service_type": "subscription",
"service_id": "ea69d0c9-8370-4aca-942d-ebcc50d2adaa",
"wallet": "0x2f203264a671832b543acfd5558ae684cd1c5a5a",
"txid": "0x6357114dd04c8ace9d2c53bace18d7c864d0f686626ff9b18489c64e39edfa7f",
"payment_method": "card",
"platform": "app",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/order',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
'query' => [
'id'=> 'ftCVHqME',
'user'=> 'jon@winterfell.got',
'status'=> 'APPROVED',
'typeOperationName'=> 'buy_with_fiat',
'asset'=> 'ETH',
'asset_type'=> 'coin',
'service_type'=> 'subscription',
'service_id'=> 'ea69d0c9-8370-4aca-942d-ebcc50d2adaa',
'wallet'=> '0x2f203264a671832b543acfd5558ae684cd1c5a5a',
'txid'=> '0x6357114dd04c8ace9d2c53bace18d7c864d0f686626ff9b18489c64e39edfa7f',
'payment_method'=> 'card',
'platform'=> 'app',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/order'
params = {
'id': 'ftCVHqME',
'user': 'jon@winterfell.got',
'status': 'APPROVED',
'typeOperationName': 'buy_with_fiat',
'asset': 'ETH',
'asset_type': 'coin',
'service_type': 'subscription',
'service_id': 'ea69d0c9-8370-4aca-942d-ebcc50d2adaa',
'wallet': '0x2f203264a671832b543acfd5558ae684cd1c5a5a',
'txid': '0x6357114dd04c8ace9d2c53bace18d7c864d0f686626ff9b18489c64e39edfa7f',
'payment_method': 'card',
'platform': 'app',
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()
Example response (200):
{
"data": [
{
"id": "2a52fd10-9d33-4d46-9970-4a3963e93df5",
"publicId": "NUOTFXT6",
"status": "PAYMENT_WAITING",
"statusReason": null,
"type": "coin",
"typeOperation": "in",
"typeOperationName": "buy_with_fiat",
"fromSymbol": "EUR",
"fromAmount": "4514.0152530000000000000000000",
"rate": "4514.0153000000000000000000000",
"toSymbol": "ETH",
"toAmount": "1.0000000000000000000000000",
"fromAsset": {
"name": "Euro",
"symbol": "EUR",
"alias": null,
"precision": "2"
},
"toAsset": {
"name": "Bitcoin",
"symbol": "BTC",
"alias": "XBT",
"precision": "6"
},
"txId": null,
"walletAddress": {
"id": "81767547-9f66-4c75-a6e3-a21351b7ccef",
"status": "CONFIRMED",
"alias": "Quote Request Wallet",
"address": "0xf6d26f97739658512d80df7b1f0ddcb062c45207",
"memo": null,
"coin": "ETH",
"asset": {
"name": "Ethereum",
"symbol": "ETH",
"alias": null
},
"createdAt": 1639046581
},
"parentOrder": {
"id": null,
"publicId": null
},
"childOrder": {
"id": null,
"publicId": null
},
"payment": {
"method": "bank",
"id": null,
"meta": [
{
"companyName": "Asset Tokenization Services OÜ",
"companyCountry": "Estonia",
"companyAddressStreet": "Harju maakond, Tallinn, Mustamäe linnaosa, Mäealuse tn 3a",
"companyAddressZip": "12618",
"bankName": "Bank EUR 1",
"bankAccount": "ROEUR1",
"bankSwift": "12345678",
"bankAddress": "Street address Bank Eur 1",
"bankCountry": "Romania"
}
],
"url": null,
"lifeSeconds": 7200,
"lifeUntilAt": 1639068629,
"currency": null,
"amount": null,
"feePercent": "2",
"feeAmount": "88.5052530000000000000000000",
"feeOnTop": false,
"showFee": true,
"proofUploaded": null
},
"commissions": {
"percent": "14.5000000000000000000000000",
"amount": "654.5322116850000000000000000"
},
"mode": {
"type": "normal",
"status": null,
"amount": null,
"rate": null,
"total": null,
"commission": null,
"additional": null,
"observation": null,
"expireAt": null,
"url": null
},
"updates": {
"wallet": {
"status": null,
"address": null,
"url": null
}
},
"user": {
"id": "66de494e-6791-4290-996c-32f42041fbf4",
"isActive": true,
"status": "active",
"tradeStatus": true,
"email": "al**@gmail.com",
"options": {
"language": "ro",
"theme": "light"
},
"meta": {
"source": "web"
},
"selfDeleted": {
"status": null,
"dates": {
"initiated": null,
"confirmed": null,
"deleted": null
}
},
"createdAt": 1554204615,
"deletedAt": null
},
"quote": {
"id": "38e9e138-34dc-4076-9ad6-5edd37fd75d9",
"publicId": "QEJBQF3C"
},
"transfer": {
"id": null,
"publicId": null
},
"externalPlatform": {
"code": "CCPRO",
"name": "CryptoCoin",
"color_code": "#13CD89",
"urls": {
"website": "https:\/\/app.cryptocoin.pro\/",
"widget": "http:\/\/dev-checkout.cryptocoin-app.test\/order\/ccpro"
}
},
"createdAt": 1639061429
}
]
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (409):
{
"message": "This action is unauthorized."
}
HTTP Request
GET /api/v1/user/{user}/order
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
Query Parameters
Parameter | Status | Description |
---|---|---|
id |
optional | Filter by Public ID. |
user |
optional | Filter by User Email/ID. |
status |
optional | Filter by Status. |
typeOperationName |
optional | Filter by TypeOperationName. |
asset |
optional | Filter by Asset symbol. |
asset_type |
optional | Filter by Asset type. |
service_type |
optional | Filter by Service type. |
service_id |
optional | Filter by Service id. |
wallet |
optional | Filter by Wallet address. |
txid |
optional | Filter by Blockchain Transaction ID. |
payment_method |
optional | Filter by Payment method. |
platform |
optional | Filter by Platform code. |
Order Show
Requires authentication Use this endpoint to get a user order coin.
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/order/f7cd7280-b75c-45ac-ac26-193162e74fc1" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/order/f7cd7280-b75c-45ac-ac26-193162e74fc1"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/order/f7cd7280-b75c-45ac-ac26-193162e74fc1',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/order/f7cd7280-b75c-45ac-ac26-193162e74fc1'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('GET', url, headers=headers)
response.json()
Example response (200):
{
"data": {
"id": "2a52fd10-9d33-4d46-9970-4a3963e93df5",
"publicId": "NUOTFXT6",
"status": "PAYMENT_WAITING",
"statusReason": null,
"type": "coin",
"typeOperation": "in",
"typeOperationName": "buy_with_fiat",
"fromSymbol": "EUR",
"fromAmount": "4514.0152530000000000000000000",
"rate": "4514.0153000000000000000000000",
"toSymbol": "ETH",
"toAmount": "1.0000000000000000000000000",
"fromAsset": {
"name": "Euro",
"symbol": "EUR",
"alias": null,
"precision": "2"
},
"toAsset": {
"name": "Bitcoin",
"symbol": "BTC",
"alias": "XBT",
"precision": "6"
},
"txId": null,
"wallet": "0xf6d26f97739658512d80df7b1f0ddcb062c45207",
"walletAddress": {
"id": "81767547-9f66-4c75-a6e3-a21351b7ccef",
"status": "CONFIRMED",
"alias": "Quote Request Wallet",
"address": "0xf6d26f97739658512d80df7b1f0ddcb062c45207",
"memo": null,
"coin": "ETH",
"asset": {
"name": "Ethereum",
"symbol": "ETH",
"alias": null
},
"createdAt": 1639046581
},
"parentOrder": {
"id": null,
"publicId": null
},
"childOrder": {
"id": null,
"publicId": null
},
"payment": {
"method": "bank",
"id": null,
"meta": [
{
"companyName": "Asset Tokenization Services OÜ",
"companyCountry": "Estonia",
"companyAddressStreet": "Harju maakond, Tallinn, Mustamäe linnaosa, Mäealuse tn 3a",
"companyAddressZip": "12618",
"bankName": "Bank EUR 1",
"bankAccount": "ROEUR1",
"bankSwift": "12345678",
"bankAddress": "Street address Bank Eur 1",
"bankCountry": "Romania"
},
{
"companyName": "Asset Tokenization Services OÜ",
"companyCountry": "Estonia",
"companyAddressStreet": "Harju maakond, Tallinn, Mustamäe linnaosa, Mäealuse tn 3a",
"companyAddressZip": "12618",
"bankName": "Bank EUR 2",
"bankAccount": "ROEUR2",
"bankSwift": "87654321",
"bankAddress": "Street address Bank Eur 2",
"bankCountry": "France"
}
],
"url": null,
"lifeSeconds": 7200,
"lifeUntilAt": 1639068629,
"currency": null,
"amount": null,
"feePercent": "2",
"feeAmount": "88.5052530000000000000000000",
"feeOnTop": false,
"showFee": true,
"proofUploaded": null
},
"commissions": {
"percent": "14.5000000000000000000000000",
"amount": "654.5322116850000000000000000"
},
"mode": {
"type": "normal",
"status": null,
"amount": null,
"rate": null,
"total": null,
"commission": null,
"additional": null,
"observation": null,
"expireAt": null,
"url": null
},
"updates": {
"wallet": {
"status": null,
"address": null,
"url": null
}
},
"quote": {
"id": "38e9e138-34dc-4076-9ad6-5edd37fd75d9",
"publicId": "QEJBQF3C",
"status": "completed",
"type": "coin",
"typeOperationName": "buy_with_fiat",
"hasProvider": false,
"payment": {
"type": "bank",
"id": null,
"mandatory": false,
"feeAmount": "88.52",
"feeOnTop": false,
"showFee": true
},
"from": "EUR",
"to": "ETH",
"amount": "1.0000000000000000000000000",
"rate": "4514.0152530000000000000000000",
"chain": {
"name": "Ethereum",
"symbol": "ETH"
},
"commission": {
"fromAmount": "654.5322116850000000000000000",
"fromTotal": "0.1450000000000000000000000",
"discountPercent": "0",
"percent": "14.5"
},
"total": "4514.0152530000000000000000000",
"parentOrder": {
"id": null,
"publicId": null
},
"wallet": "0xf6d26f97739658512d80df7b1f0ddcb062c45207",
"walletPolicy": "relax",
"walletAddress": {
"id": "81767547-9f66-4c75-a6e3-a21351b7ccef",
"status": "CONFIRMED",
"alias": "Quote Request Wallet",
"address": "0xf6d26f97739658512d80df7b1f0ddcb062c45207",
"memo": null,
"coin": "ETH",
"asset": {
"name": "Ethereum",
"symbol": "ETH",
"alias": null
},
"createdAt": 1639046581
},
"checkout": {
"id": "9d5ca102-67c2-4cb4-b6cb-cb52ccfa950c",
"publicId": "29EHY67J",
"status": "processing",
"step": "payment",
"attemptsQuote": {
"count": 1,
"limit": 3
},
"requestId": "3af380dd-68c7-4711-b815-04584194595d",
"paymentType": "bank",
"ip": null,
"url": "http:\/\/dev-checkout.cryptocoin-app.test?lang=ro&display=light&platform=CCPRO&resume=false& *token=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzUxMiJ9. *eyJ1c2VyIjp7ImlkIjoiNWUzNmNkYzgtNjBkYy00ZThlLThjYTEtOTNkYTUzNmUwOTA4IiwiZW1haWwiOiJhbGluaW9udXRtdXNhdCs0QGdtYWlsLmNvbSIsImZpcnN0X25hbWUiO *iJBbGluIiwibGFzdF9uYW1lIjoiQWxpbiIsImRvYiI6IjE5OTEtMTAtMTYiLCJwaG9uZSI6Iis0MDczMDAzNjgyMyIsIndhbGxldCI6IjB4ZjZkMjZmOTc3Mzk2NTg1MTJkODBkZj *diMWYwZGRjYjA2MmM0NTIwNyIsIm5ldHdvcmsiOiJFUkMyMCJ9LCJwYXltZW50Ijp7Im9wZXJhdGlvbiI6ImJ1eSIsInR5cGUiOiJjb2luIiwic3ltYm9sIjoiRVRIIiwiYW1vdW5 *0IjoiMSIsImZpYXQiOiJFVVIiLCJyZXF1ZXN0X2lkIjoiM2FmMzgwZGQtNjhjNy00NzExLWI4MTUtMDQ1ODQxOTQ1OTVkIiwibWV0aG9kIjoiYmFuayIsImF0dGVtcHRzIjozLCJz *ZWNvbmRfb3JkZXJfdHlwZSI6IndpdGhkcmF3In0sInBpbmdfdXJsIjoiaHR0cHM6XC9cL2Rldi1hcGktcHVibGljLmluZnJhLmNyeXB0b2NvaW4ucHJvXC9hcGlcL2luc3RhbnQtZ *W50aXR5LW5vdGlmaWNhdGlvbnMiLCJyZWRpcmVjdF91cmwiOiJodHRwczpcL1wvYXBwLmNyeXB0b2NvaW4ucHJvXC8iLCJleHBpcmUiOjE2Mzk2NjYxNzd9. *fmzyjk-RcFM79f4Am6uCTsver_XCk084ME-F1t3aQwJWuq2718B19npiBZlBxgBqBGsEBjVITDDUibNJBp87aURjkV513md9cq6iaTpydpvz3WYfu-JUF14e15CWWJNYPMrv465qI *9FluxQ82vlm_hrUawQbRXC0SvOYzoOW40MX_MrRhLiixqGynhYxpe_e_ZweHm4BtNKiDJsl6iGArBnziyTZAZZiJ-FBoOgMLhQQw5hgXJatsLQK6YoubV46BLdmm0sBGdZmrWuUvX *9gpR8VyQXcWNYJdUTCZGh36jWDewOL5DroZgsqA3FObzuYZFBc0IMVUz4YMvMZ61bILg",
"redirectUrl": "https:\/\/app.cryptocoin.pro\/",
"pingUrl": "https:\/\/dev-api-public.infra.cryptocoin.pro\/api\/instant-entity-notifications",
"user": {
"id": "66de494e-6791-4290-996c-32f42041fbf4",
"isActive": true,
"status": "active",
"tradeStatus": true,
"email": "al**@gmail.com",
"options": {
"language": "ro",
"theme": "light"
},
"meta": {
"source": "web"
},
"selfDeleted": {
"status": null,
"dates": {
"initiated": null,
"confirmed": null,
"deleted": null
}
},
"createdAt": 1554204615,
"deletedAt": null
},
"externalPlatform": {
"code": "CCPRO",
"name": "CryptoCoin",
"color_code": "#13CD89",
"urls": {
"website": "https:\/\/app.cryptocoin.pro\/",
"widget": "http:\/\/dev-checkout.cryptocoin-app.test\/order\/ccpro"
}
},
"expiredAt": 1639666177,
"createdAt": 1639061380
},
"order": {
"id": "2a52fd10-9d33-4d46-9970-4a3963e93df5",
"publicId": "NUOTFXT6"
},
"externalPlatform": {
"code": "CCPRO",
"name": "CryptoCoin",
"color_code": "#13CD89",
"urls": {
"website": "https:\/\/app.cryptocoin.pro\/",
"widget": "http:\/\/dev-checkout.cryptocoin-app.test\/order\/ccpro"
}
},
"lifeSeconds": 3600,
"lifeUntilAt": 1639064995,
"confirmBlockedByKyc": false,
"confirmUrl": null,
"createdAt": 1639061395
},
"transfer": null,
"kycLevelRequired": 5,
"externalPlatform": {
"code": "CCPRO",
"name": "CryptoCoin",
"color_code": "#13CD89",
"urls": {
"website": "https:\/\/app.cryptocoin.pro\/",
"widget": "http:\/\/dev-checkout.cryptocoin-app.test\/order\/ccpro"
}
},
"createdAt": 1639061429
}
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (404):
{
"message": "No query results."
}
Example response (409):
{
"message": "This action is unauthorized."
}
HTTP Request
GET /api/v1/user/{user}/order/{order}
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
order |
required | The order ID. |
Order Upload Proof Of Payment
Requires authentication Use this endpoint to upload proof of payment for a order.
Example request:
curl -X POST \
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/order/f7cd7280-b75c-45ac-ac26-193162e74fc1/payment-confirmation" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}" \
-d '{"file":"image"}'
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/order/f7cd7280-b75c-45ac-ac26-193162e74fc1/payment-confirmation"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
let body = {
"file": "image"
}
fetch(url, {
method: "POST",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/order/f7cd7280-b75c-45ac-ac26-193162e74fc1/payment-confirmation',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
'json' => [
'file' => 'image',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/order/f7cd7280-b75c-45ac-ac26-193162e74fc1/payment-confirmation'
payload = {
"file": "image"
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Example response (200):
{
"message": "Proof of payment successfully uploaded."
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (403):
{
"message": "This order payment is already confirmed."
}
Example response (403):
{
"message": "This order do not require payment proof confirmation."
}
Example response (404):
{
"message": "No query results."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"file": [
"The file field is required."
]
}
}
HTTP Request
POST /api/v1/user/{user}/order/{order}/payment-confirmation
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
order |
required | The order ID. |
Body Parameters
Parameter | Type | Status | Description |
---|---|---|---|
file |
file | required | The order payment proof file - (file|mimes:jpg,jpeg,bmp,png,pdf|max:10240). |
Order OTC Confirmation
Requires authentication Use this endpoint to responde a OTC offer.
Example request:
curl -X POST \
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/order/f7cd7280-b75c-45ac-ac26-193162e74fc1/otc-confirmation" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}" \
-d '{"action":"accept","observation":"I like this offer, thanks."}'
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/order/f7cd7280-b75c-45ac-ac26-193162e74fc1/otc-confirmation"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
let body = {
"action": "accept",
"observation": "I like this offer, thanks."
}
fetch(url, {
method: "POST",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/order/f7cd7280-b75c-45ac-ac26-193162e74fc1/otc-confirmation',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
'json' => [
'action' => 'accept',
'observation' => 'I like this offer, thanks.',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/order/f7cd7280-b75c-45ac-ac26-193162e74fc1/otc-confirmation'
payload = {
"action": "accept",
"observation": "I like this offer, thanks."
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Example response (200):
{
"message": "This order OTC has been successfully confirmed."
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (404):
{
"message": "No query results."
}
Example response (412):
{
"message": "This order do not require OTC confirmation."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"action": [
"The selected action is invalid."
]
}
}
HTTP Request
POST /api/v1/user/{user}/order/{order}/otc-confirmation
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
order |
required | The order ID. |
Body Parameters
Parameter | Type | Status | Description |
---|---|---|---|
action |
string | required | The order OTC response - (string|in:accept,reject). |
observation |
string | optional | The order OTC observation if any - (string|max:191). |
Order Wallet Confirmation
Requires authentication Use this endpoint to responde a Wallet change.
Example request:
curl -X POST \
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/order/f7cd7280-b75c-45ac-ac26-193162e74fc1/wallet-confirmation" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}" \
-d '{"action":"accept"}'
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/order/f7cd7280-b75c-45ac-ac26-193162e74fc1/wallet-confirmation"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
let body = {
"action": "accept"
}
fetch(url, {
method: "POST",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/order/f7cd7280-b75c-45ac-ac26-193162e74fc1/wallet-confirmation',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
'json' => [
'action' => 'accept',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/order/f7cd7280-b75c-45ac-ac26-193162e74fc1/wallet-confirmation'
payload = {
"action": "accept"
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Example response (200):
{
"message": "This order Wallet has been successfully confirmed."
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (404):
{
"message": "No query results."
}
Example response (412):
{
"message": "This order do not require Wallet confirmation."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"action": [
"The selected action is invalid."
]
}
}
HTTP Request
POST /api/v1/user/{user}/order/{order}/wallet-confirmation
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
order |
required | The order ID. |
Body Parameters
Parameter | Type | Status | Description |
---|---|---|---|
action |
string | required | The order Wallet response - (string|in:accept,reject). |
Order Metas Update
Requires authentication Use this endpoint to update required meta for a order.
Example request:
curl -X POST \
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/order/f7cd7280-b75c-45ac-ac26-193162e74fc1/meta" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/order/f7cd7280-b75c-45ac-ac26-193162e74fc1/meta"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
fetch(url, {
method: "POST",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/order/f7cd7280-b75c-45ac-ac26-193162e74fc1/meta',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/order/f7cd7280-b75c-45ac-ac26-193162e74fc1/meta'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('POST', url, headers=headers)
response.json()
Example response (200):
{
"message": "Meta data successfully saved."
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (404):
{
"message": "No query results."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"wallet": [
"The file field is required."
]
}
}
HTTP Request
POST /api/v1/user/{user}/order/{order}/meta
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
order |
required | The order ID. |
Phone
APIs for managing phones
Phone Create
Requires authentication Use this endpoint to add user Phones.
Example request:
curl -X POST \
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/phone" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}" \
-d '{"phone":"40700000000"}'
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/phone"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
let body = {
"phone": "40700000000"
}
fetch(url, {
method: "POST",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/phone',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
'json' => [
'phone' => '40700000000',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/phone'
payload = {
"phone": "40700000000"
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Example response (201):
{
"data": {
"id": "a1cc7497-e773-4ca0-900f-9e175faf7f6d",
"phone": "+380661122321",
"status": 1,
"default": 0,
"createdAt": 1597756420
}
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"type": [
"The selected type is invalid."
]
}
}
Example response (423):
{
"message": "You already submit your phone number."
}
Example response (423):
{
"message": "The phone number is already verified."
}
HTTP Request
POST /api/v1/user/{user}/phone
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
Body Parameters
Parameter | Type | Status | Description |
---|---|---|---|
phone |
string | required | The user phone number - (numeric|digits_between:7,15). |
Phone Index
Requires authentication Use this endpoint to get user phones.
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/phone?status=true&default=true&platform=CCPRO" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/phone"
);
let params = {
"status": "true",
"default": "true",
"platform": "CCPRO",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/phone',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
'query' => [
'status'=> 'true',
'default'=> 'true',
'platform'=> 'CCPRO',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/phone'
params = {
'status': 'true',
'default': 'true',
'platform': 'CCPRO',
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()
Example response (200):
{
"data": [
{
"id": "a1cc7497-e773-4ca0-900f-9e175faf7f6d",
"phone": "+380661122321",
"status": 1,
"default": 0,
"externalPlatform": {
"code": "CCPRO",
"name": "CryptoCoin",
"url": "https:\/\/app.cryptocoin.pro"
},
"createdAt": 1597756420
}
]
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (409):
{
"message": "This action is unauthorized."
}
HTTP Request
GET /api/v1/user/{user}/phone
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
Query Parameters
Parameter | Status | Description |
---|---|---|
status |
optional | Filter by Status. |
default |
optional | Filter by Default. |
platform |
optional | Filter by Platform. |
Phone History Logs
Requires authentication Use this endpoint to get user phone history logs.
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/phone/history?status=sent" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/phone/history"
);
let params = {
"status": "sent",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/phone/history',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
'query' => [
'status'=> 'sent',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/phone/history'
params = {
'status': 'sent',
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()
Example response (200):
{
"data": [
{
"id": "ebc241b8-ebb2-4226-916b-e43add650972",
"status": "sent",
"context": {
"type": "Phone",
"id": "f2003834-bf58-41c0-8784-d2c08431de78",
"publicId": null
},
"phone": {
"id": "f2003834-bf58-41c0-8784-d2c08431de78",
"phone": "+407***6823",
"status": 1,
"default": 1,
"createdAt": 1656336427
},
"externalPlatform": null,
"company": null,
"createdAt": 1617196996
}
]
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (409):
{
"message": "This action is unauthorized."
}
HTTP Request
GET /api/v1/user/{user}/phone/history
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
Query Parameters
Parameter | Status | Description |
---|---|---|
status |
optional | Filter by Status. |
Phone Show
Requires authentication Use this endpoint to get user specific phone.
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/phone/aa7a66a2-fbb5-422e-bc52-7912fa2c96f9" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/phone/aa7a66a2-fbb5-422e-bc52-7912fa2c96f9"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/phone/aa7a66a2-fbb5-422e-bc52-7912fa2c96f9',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/phone/aa7a66a2-fbb5-422e-bc52-7912fa2c96f9'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('GET', url, headers=headers)
response.json()
Example response (200):
{
"data": {
"id": "a1cc7497-e773-4ca0-900f-9e175faf7f6d",
"phone": "+380661122321",
"status": 1,
"default": 0,
"externalPlatform": {
"code": "CCPRO",
"name": "CryptoCoin",
"url": "https:\/\/app.cryptocoin.pro"
},
"createdAt": 1597756420
}
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (404):
{
"message": "No query results."
}
Example response (409):
{
"message": "This action is unauthorized."
}
HTTP Request
GET /api/v1/user/{user}/phone/{phone}
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
phone |
required | The phone ID. |
Phone Set Default
Requires authentication Use this endpoint to set a phone as default.
Example request:
curl -X POST \
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/phone/e1f151a5-a45f-4936-8feb-f5e8fad15056/set-default" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/phone/e1f151a5-a45f-4936-8feb-f5e8fad15056/set-default"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
fetch(url, {
method: "POST",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/phone/e1f151a5-a45f-4936-8feb-f5e8fad15056/set-default',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/phone/e1f151a5-a45f-4936-8feb-f5e8fad15056/set-default'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('POST', url, headers=headers)
response.json()
Example response (200):
{
"data": {
"id": "a1cc7497-e773-4ca0-900f-9e175faf7f6d",
"phone": "+380661122321",
"status": 1,
"default": 1,
"externalPlatform": {
"code": "CCPRO",
"name": "CryptoCoin",
"url": "https:\/\/app.cryptocoin.pro"
},
"createdAt": 1597756420
}
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (422):
{
"message": "The given data was invalid."
}
Example response (412):
{
"message": "The phone number is not verified."
}
HTTP Request
POST /api/v1/user/{user}/phone/{phone}/set-default
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
phone |
required | The phone ID. |
Phone Verify
Requires authentication Use this endpoint to verify SMS code.
Example request:
curl -X POST \
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/phone/a245ab42-d655-4ae6-b80e-adbfbb35a4a0/verify" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}" \
-d '{"code":"111111"}'
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/phone/a245ab42-d655-4ae6-b80e-adbfbb35a4a0/verify"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
let body = {
"code": "111111"
}
fetch(url, {
method: "POST",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/phone/a245ab42-d655-4ae6-b80e-adbfbb35a4a0/verify',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
'json' => [
'code' => '111111',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/phone/a245ab42-d655-4ae6-b80e-adbfbb35a4a0/verify'
payload = {
"code": "111111"
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Example response (200):
{
"data": {
"id": "a1cc7497-e773-4ca0-900f-9e175faf7f6d",
"phone": "+380661122321",
"status": 1,
"default": 0,
"createdAt": 1597756420
}
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"code": [
"The selected Code is invalid."
]
}
}
Example response (423):
{
"message": "The phone number is already verified."
}
HTTP Request
POST /api/v1/user/{user}/phone/{phone}/verify
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
phone |
required | The phone ID. |
Body Parameters
Parameter | Type | Status | Description |
---|---|---|---|
code |
string | required | The user phone SMS code - (in:user->codeSms). |
Phone Reverify
Requires authentication Use this endpoint to reverify Phone number with SMS code.
Example request:
curl -X POST \
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/phone/a245ab42-d655-4ae6-b80e-adbfbb35a4a0/reverify" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/phone/a245ab42-d655-4ae6-b80e-adbfbb35a4a0/reverify"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
fetch(url, {
method: "POST",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/phone/a245ab42-d655-4ae6-b80e-adbfbb35a4a0/reverify',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/phone/a245ab42-d655-4ae6-b80e-adbfbb35a4a0/reverify'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('POST', url, headers=headers)
response.json()
Example response (200):
{
"data": {
"id": "a1cc7497-e773-4ca0-900f-9e175faf7f6d",
"phone": "+380661122321",
"status": 1,
"default": 0,
"createdAt": 1597756420
}
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "You exceed your phone verification quote."
}
Example response (423):
{
"message": "The phone number is already verified."
}
HTTP Request
POST /api/v1/user/{user}/phone/{phone}/reverify
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
phone |
required | The phone ID. |
Phone Destroy
Requires authentication Use this endpoint to destroy user phone.
Example request:
curl -X DELETE \
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/phone/5d482936-d7b4-4ef2-bef7-a230ca712a4b" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/phone/5d482936-d7b4-4ef2-bef7-a230ca712a4b"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
fetch(url, {
method: "DELETE",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->delete(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/phone/5d482936-d7b4-4ef2-bef7-a230ca712a4b',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/phone/5d482936-d7b4-4ef2-bef7-a230ca712a4b'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('DELETE', url, headers=headers)
response.json()
Example response (200):
{
"message": "This phone has been successfully deleted."
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (409):
{
"message": "This action is unauthorized."
}
Example response (412):
{
"message": "This phone has been already used in previous actions."
}
HTTP Request
DELETE /api/v1/user/{user}/phone/{phone}
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
phone |
required | The phone ID. |
Platform
APIs for managing platform
Platform Show
Requires authentication Use this endpoint to get platform details.
Headers
Required header { "Token": "jwt-token" }
jwt-token = RS512 encoded jwt with payload { platform: required|string|in:{platformUUId}, expire: required|timestamp|after_or_equal:now }
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963" \
-H "Token: {jwt-token}" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963"
);
let headers = {
"Token": "{jwt-token}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963',
[
'headers' => [
'Token' => '{jwt-token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963'
headers = {
'Token': '{jwt-token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers)
response.json()
Example response (200):
{
"data": {
"id": "5f374d03-be0d-4dd2-b6ef-112a2bec5963",
"name": "Google",
"code": "GOGL",
"website": "http:\/\/www.google.com",
"ien": {
"url": "http:\/\/www.google.com",
"type": "jwt",
"version": "1",
"algorithm": "RS512"
},
"colorCode": "#333246",
"emails": {
"template": "default"
},
"contact": {
"email": "contact@email.io",
"phone": "+40730303030"
},
"wallet": {
"policy": "relax"
},
"quote": {
"confirmMinKycLevel": 1
},
"integrations": {
"api": {
"status": "active"
},
"partner": {
"status": "active",
"url": "http:\/\/dev-partner.cryptocoin-app.test\/login\/nash"
},
"checkout": {
"status": "active"
},
"widget": {
"status": "active",
"url": "http:\/\/dev-checkout.cryptocoin-app.test\/order\/nash"
}
},
"reference": {
"fiat": "EUR",
"periodType": "MONTHS",
"periodValue": "1"
},
"levels": [
{
"level": "1",
"name": "crevete",
"required": [
"email",
"phone"
],
"max": {
"buy": 2500,
"buy_nft": 2500,
"buy_payment": 2500,
"sell": 2500,
"sell_nft": 2500,
"deposit": 2500,
"withdraw": 2500
}
},
{
"level": "2",
"name": "peste tigru",
"required": [
"email",
"phone",
"governmentIdFront",
"governmentIdBack",
"passport",
"utilityBill"
],
"max": {
"buy": 20000,
"buy_nft": 20000,
"buy_payment": 20000,
"sell": 20000,
"sell_nft": 20000,
"deposit": 20000,
"withdraw": 20000
}
},
{
"level": "3",
"name": "delfin",
"required": [
"email",
"phone",
"governmentIdFront",
"governmentIdBack",
"passport",
"utilityBill",
"selfieWithId",
"video"
],
"max": {
"buy": 30000,
"buy_nft": 30000,
"buy_payment": 30000,
"sell": 30000,
"sell_nft": 30000,
"deposit": 30000,
"withdraw": 30000
}
},
{
"level": "4",
"name": "rechin",
"required": [
"email",
"phone",
"governmentIdFront",
"governmentIdBack",
"passport",
"utilityBill",
"selfieWithId",
"video",
"enhancedDueDiligence"
],
"max": {
"buy": 50000,
"buy_nft": 50000,
"buy_payment": 50000,
"sell": 50000,
"sell_nft": 50000,
"deposit": 50000,
"withdraw": 50000
}
},
{
"level": "5",
"name": "balena rechin",
"required": [
"email",
"phone",
"governmentIdFront",
"governmentIdBack",
"passport",
"utilityBill",
"selfieWithId",
"video",
"enhancedDueDiligence",
"extendedProofOfFunds"
],
"max": {
"buy": 100000,
"buy_nft": 100000,
"buy_payment": 100000,
"sell": 100000,
"sell_nft": 100000,
"deposit": 100000,
"withdraw": 100000
}
}
],
"paymentMethods": {
"bank": [
{
"status": false,
"name": "EUR",
"limits": {
"firstMaxOrderValue": 1000,
"lower": {
"status": true,
"value": 50
},
"upper": {
"status": false,
"value": null
}
},
"fee": {
"percent": 0,
"minFiatFee": 0,
"onTop": true,
"show": false
},
"meta": [
[
{
"bankName": "Banca 1",
"bankAccount": "ROxxxxxxxxxxxxxx",
"bankSwift": "xxxxxxxxxxxx",
"bankAddress": "Earth",
"bankCountry": "Westworld"
}
]
]
}
],
"card": [
{
"status": true,
"name": "EUR",
"limits": {
"firstMaxOrderValue": 0,
"lower": {
"status": false,
"value": 0
},
"upper": {
"status": false,
"value": 0
}
},
"fee": {
"percent": 3.9,
"minFiatFee": 0,
"onTop": true,
"show": false
},
"meta": null
}
]
},
"currencies": {
"coins": [
{
"name": "Ethereum",
"symbol": "ETH",
"type": "coin",
"chain": {
"name": "Ethereum",
"symbol": "ETH"
},
"rates": {
"raw": {
"now": "130.52000",
"day": "116.31000",
"week": "107.14000",
"month": "247.29000",
"quarter": "115.25000",
"semester": "181.16000",
"year": "119.98000"
}
},
"operations": {
"General": [
{
"withdraw": {
"status": true,
"limits": {
"crypto": {
"min": "",
"max": ""
},
"fiat": {
"min": "",
"max": ""
}
},
"secondOperations": []
}
},
{
"deposit": {
"status": true,
"limits": {
"crypto": {
"min": "",
"max": ""
},
"fiat": {
"min": "",
"max": ""
}
},
"secondOperations": []
}
}
],
"Particular": {
"EUR": [
{
"buy_with_fiat": {
"status": true,
"limits": {
"crypto": {
"min": "",
"max": ""
},
"fiat": {
"min": "",
"max": ""
}
},
"secondOperations": [
{
"withdraw": {
"mandatory": false
}
}
]
}
},
{
"sell_to_fiat": {
"status": true,
"limits": {
"crypto": {
"min": "",
"max": ""
},
"fiat": {
"min": "",
"max": ""
}
},
"secondOperations": []
}
}
]
}
}
}
],
"tokens": [],
"fiats": [
{
"name": "Usd",
"symbol": "USD",
"operations": []
},
{
"name": "Euro",
"symbol": "EUR",
"operations": []
},
{
"name": "Ron",
"symbol": "RON",
"operations": []
},
{
"name": "Chf",
"symbol": "CHF",
"operations": []
}
]
},
"staff": [],
"createdAt": 1575728564
}
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (412):
{
"message": "JWT payload invalid."
}
Example response (416):
{
"message": "JWT is expired."
}
HTTP Request
GET /api/v1/platform/{platform}
URL Parameters
Parameter | Status | Description |
---|---|---|
platform |
required | The platform ID. |
Platform Update
Requires authentication Use this endpoint to update platform details.
Headers
Required header { "Token": "jwt-token" }
jwt-token = RS512 encoded jwt with payload { platform: required|string|in:{platformUUId}, expire: required|timestamp|after_or_equal:now }
Example request:
curl -X POST \
"https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963" \
-H "Token: {jwt-token}" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"name":"Google","website":"https:\/\/google.com\/","email":"contact@email.io","phone":"+40730303030","ienUrl":"https:\/\/google.com\/","ienType":"jwt","ienVersion":"2","algorithm":"RS512","colorCode":"#ffffff","walletPolicy":"relax"}'
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963"
);
let headers = {
"Token": "{jwt-token}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "Google",
"website": "https:\/\/google.com\/",
"email": "contact@email.io",
"phone": "+40730303030",
"ienUrl": "https:\/\/google.com\/",
"ienType": "jwt",
"ienVersion": "2",
"algorithm": "RS512",
"colorCode": "#ffffff",
"walletPolicy": "relax"
}
fetch(url, {
method: "POST",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963',
[
'headers' => [
'Token' => '{jwt-token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'name' => 'Google',
'website' => 'https://google.com/',
'email' => 'contact@email.io',
'phone' => '+40730303030',
'ienUrl' => 'https://google.com/',
'ienType' => 'jwt',
'ienVersion' => '2',
'algorithm' => 'RS512',
'colorCode' => '#ffffff',
'walletPolicy' => 'relax',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963'
payload = {
"name": "Google",
"website": "https:\/\/google.com\/",
"email": "contact@email.io",
"phone": "+40730303030",
"ienUrl": "https:\/\/google.com\/",
"ienType": "jwt",
"ienVersion": "2",
"algorithm": "RS512",
"colorCode": "#ffffff",
"walletPolicy": "relax"
}
headers = {
'Token': '{jwt-token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Example response (200):
{
"data": {
"id": "5f374d03-be0d-4dd2-b6ef-112a2bec5963",
"name": "Google",
"code": "GOGL",
"website": "http:\/\/www.google.com",
"ien": {
"url": "http:\/\/www.google.com",
"type": "jwt",
"version": "1",
"algorithm": "RS512"
},
"colorCode": "#333246",
"emails": {
"template": "default"
},
"contact": {
"email": "contact@email.io",
"phone": "+40730303030"
},
"wallet": {
"policy": "relax"
},
"quote": {
"confirmMinKycLevel": 1
},
"integrations": {
"api": {
"status": "active"
},
"partner": {
"status": "active",
"url": "http:\/\/dev-partner.cryptocoin-app.test\/login\/nash"
},
"checkout": {
"status": "active"
},
"widget": {
"status": "active",
"url": "http:\/\/dev-checkout.cryptocoin-app.test\/order\/nash"
}
},
"reference": {
"fiat": "EUR",
"periodType": "MONTHS",
"periodValue": "1"
},
"levels": [
{
"level": "1",
"name": "crevete",
"required": [
"email",
"phone"
],
"max": {
"buy": 2500,
"buy_nft": 2500,
"buy_payment": 2500,
"sell": 2500,
"sell_nft": 2500,
"deposit": 2500,
"withdraw": 2500
}
},
{
"level": "2",
"name": "peste tigru",
"required": [
"email",
"phone",
"governmentIdFront",
"governmentIdBack",
"passport",
"utilityBill"
],
"max": {
"buy": 20000,
"buy_nft": 20000,
"buy_payment": 20000,
"sell": 20000,
"sell_nft": 20000,
"deposit": 20000,
"withdraw": 20000
}
},
{
"level": "3",
"name": "delfin",
"required": [
"email",
"phone",
"governmentIdFront",
"governmentIdBack",
"passport",
"utilityBill",
"selfieWithId",
"video"
],
"max": {
"buy": 30000,
"buy_nft": 30000,
"buy_payment": 30000,
"sell": 30000,
"sell_nft": 30000,
"deposit": 30000,
"withdraw": 30000
}
},
{
"level": "4",
"name": "rechin",
"required": [
"email",
"phone",
"governmentIdFront",
"governmentIdBack",
"passport",
"utilityBill",
"selfieWithId",
"video",
"enhancedDueDiligence"
],
"max": {
"buy": 50000,
"buy_nft": 50000,
"buy_payment": 50000,
"sell": 50000,
"sell_nft": 50000,
"deposit": 50000,
"withdraw": 50000
}
},
{
"level": "5",
"name": "balena rechin",
"required": [
"email",
"phone",
"governmentIdFront",
"governmentIdBack",
"passport",
"utilityBill",
"selfieWithId",
"video",
"enhancedDueDiligence",
"extendedProofOfFunds"
],
"max": {
"buy": 100000,
"buy_nft": 100000,
"buy_payment": 100000,
"sell": 100000,
"sell_nft": 100000,
"deposit": 100000,
"withdraw": 100000
}
}
],
"paymentMethods": {
"bank": [
{
"status": false,
"name": "EUR",
"limits": {
"firstMaxOrderValue": 1000,
"lower": {
"status": true,
"value": 50
},
"upper": {
"status": false,
"value": null
}
},
"fee": {
"percent": 0,
"minFiatFee": 0,
"onTop": true,
"show": false
},
"meta": [
[
{
"bankName": "Banca 1",
"bankAccount": "ROxxxxxxxxxxxxxx",
"bankSwift": "xxxxxxxxxxxx",
"bankAddress": "Earth",
"bankCountry": "Westworld"
}
]
]
}
],
"card": [
{
"status": true,
"name": "EUR",
"limits": {
"firstMaxOrderValue": 0,
"lower": {
"status": false,
"value": 0
},
"upper": {
"status": false,
"value": 0
}
},
"fee": {
"percent": 3.9,
"minFiatFee": 0,
"onTop": true,
"show": false
},
"meta": null
}
]
},
"currencies": {
"coins": [
{
"name": "Ethereum",
"symbol": "ETH",
"type": "coin",
"chain": {
"name": "Ethereum",
"symbol": "ETH"
},
"rates": {
"raw": {
"now": "130.52000",
"day": "116.31000",
"week": "107.14000",
"month": "247.29000",
"quarter": "115.25000",
"semester": "181.16000",
"year": "119.98000"
}
},
"operations": {
"General": [
{
"withdraw": {
"status": true,
"limits": {
"crypto": {
"min": "",
"max": ""
},
"fiat": {
"min": "",
"max": ""
}
},
"secondOperations": []
}
},
{
"deposit": {
"status": true,
"limits": {
"crypto": {
"min": "",
"max": ""
},
"fiat": {
"min": "",
"max": ""
}
},
"secondOperations": []
}
}
],
"Particular": {
"EUR": [
{
"buy_with_fiat": {
"status": true,
"limits": {
"crypto": {
"min": "",
"max": ""
},
"fiat": {
"min": "",
"max": ""
}
},
"secondOperations": [
{
"withdraw": {
"mandatory": false
}
}
]
}
},
{
"sell_to_fiat": {
"status": true,
"limits": {
"crypto": {
"min": "",
"max": ""
},
"fiat": {
"min": "",
"max": ""
}
},
"secondOperations": []
}
}
]
}
}
}
],
"tokens": [],
"fiats": [
{
"name": "Usd",
"symbol": "USD",
"operations": []
},
{
"name": "Euro",
"symbol": "EUR",
"operations": []
},
{
"name": "Ron",
"symbol": "RON",
"operations": []
},
{
"name": "Chf",
"symbol": "CHF",
"operations": []
}
]
},
"staff": [],
"createdAt": 1575728564
}
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (412):
{
"message": "JWT payload invalid."
}
Example response (416):
{
"message": "JWT is expired."
}
HTTP Request
POST /api/v1/platform/{platform}
URL Parameters
Parameter | Status | Description |
---|---|---|
platform |
required | The platform ID. |
Body Parameters
Parameter | Type | Status | Description |
---|---|---|---|
name |
string | required | The platform name - (max:191). |
website |
string | required | The platform website URL - (url|max:191). |
email |
string | optional | The platform contact email - (email|max:191). |
phone |
string | optional | The platform contact phone - (string|max:191). |
ienUrl |
string | optional | The platform IEN URL - (url|max:191). |
ienType |
string | required | The platform IEN type - (in:jwt,hmac). |
ienVersion |
string | required | The platform IEN version - (in:1,2). |
algorithm |
string | required | The platform encoding algorithm - (in:HS256,HS384,HS512,RS256,RS384,RS512). |
colorCode |
string | required | The platform color code - (regex:/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/). |
walletPolicy |
string | required | The platform Wallet policy - (in:relax,strict). |
Platform Lock
Requires authentication Use this endpoint to lock platform.
Headers
Required header { "Token": "jwt-token" }
jwt-token = RS512 encoded jwt with payload { platform: required|string|in:{platformUUId}, expire: required|timestamp|after_or_equal:now }
Example request:
curl -X POST \
"https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/lock" \
-H "Token: {jwt-token}" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/lock"
);
let headers = {
"Token": "{jwt-token}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/lock',
[
'headers' => [
'Token' => '{jwt-token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/lock'
headers = {
'Token': '{jwt-token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers)
response.json()
Example response (200):
{
"data": {
"id": "5f374d03-be0d-4dd2-b6ef-112a2bec5963",
"name": "Google",
"code": "GOGL",
"website": "http:\/\/www.google.com",
"ien": {
"url": "http:\/\/www.google.com",
"type": "jwt",
"version": "1",
"algorithm": "RS512"
},
"integrations": {
"api": {
"status": "locked"
},
"partner": {
"status": "active",
"url": "http:\/\/dev-partner.cryptocoin-app.test\/login\/nash"
},
"checkout": {
"status": "active"
},
"widget": {
"status": "active",
"url": "http:\/\/dev-checkout.cryptocoin-app.test\/order\/nash"
}
},
"colorCode": "#333246",
"reference": {
"fiat": "EUR",
"periodType": "MONTHS",
"periodValue": "1"
},
"levels": [
{
"level": "1",
"name": "crevete",
"required": [
"email",
"phone"
],
"max": {
"buy": 2500,
"buy_nft": 2500,
"buy_payment": 2500,
"sell": 2500,
"sell_nft": 2500,
"deposit": 2500,
"withdraw": 2500
}
},
{
"level": "2",
"name": "peste tigru",
"required": [
"email",
"phone",
"governmentIdFront",
"governmentIdBack",
"passport",
"utilityBill"
],
"max": {
"buy": 20000,
"buy_nft": 20000,
"buy_payment": 20000,
"sell": 20000,
"sell_nft": 20000,
"deposit": 20000,
"withdraw": 20000
}
},
{
"level": "3",
"name": "delfin",
"required": [
"email",
"phone",
"governmentIdFront",
"governmentIdBack",
"passport",
"utilityBill",
"selfieWithId",
"video"
],
"max": {
"buy": 30000,
"buy_nft": 30000,
"buy_payment": 30000,
"sell": 30000,
"sell_nft": 30000,
"deposit": 30000,
"withdraw": 30000
}
},
{
"level": "4",
"name": "rechin",
"required": [
"email",
"phone",
"governmentIdFront",
"governmentIdBack",
"passport",
"utilityBill",
"selfieWithId",
"video",
"enhancedDueDiligence"
],
"max": {
"buy": 50000,
"buy_nft": 50000,
"buy_payment": 50000,
"sell": 50000,
"sell_nft": 50000,
"deposit": 50000,
"withdraw": 50000
}
},
{
"level": "5",
"name": "balena rechin",
"required": [
"email",
"phone",
"governmentIdFront",
"governmentIdBack",
"passport",
"utilityBill",
"selfieWithId",
"video",
"enhancedDueDiligence",
"extendedProofOfFunds"
],
"max": {
"buy": 100000,
"buy_nft": 100000,
"buy_payment": 100000,
"sell": 100000,
"sell_nft": 100000,
"deposit": 100000,
"withdraw": 100000
}
}
],
"paymentMethods": {
"bank": [
{
"status": false,
"name": "EUR",
"limits": {
"firstMaxOrderValue": 1000,
"lower": {
"status": true,
"value": 50
},
"upper": {
"status": false,
"value": null
}
},
"fee": {
"percent": 0,
"minFiatFee": 0,
"onTop": true,
"show": false
},
"meta": [
[
{
"bankName": "Banca 1",
"bankAccount": "ROxxxxxxxxxxxxxx",
"bankSwift": "xxxxxxxxxxxx",
"bankAddress": "Earth",
"bankCountry": "Westworld"
}
]
]
}
],
"card": [
{
"status": true,
"name": "EUR",
"limits": {
"firstMaxOrderValue": 0,
"lower": {
"status": false,
"value": 0
},
"upper": {
"status": false,
"value": 0
}
},
"fee": {
"percent": 3.9,
"minFiatFee": 0,
"onTop": true,
"show": false
},
"meta": null
}
]
},
"currencies": {
"coins": [
{
"name": "Ethereum",
"symbol": "ETH",
"type": "coin",
"chain": {
"name": "Ethereum",
"symbol": "ETH"
},
"rates": {
"raw": {
"now": "130.52000",
"day": "116.31000",
"week": "107.14000",
"month": "247.29000",
"quarter": "115.25000",
"semester": "181.16000",
"year": "119.98000"
}
},
"operations": {
"General": [
{
"withdraw": {
"status": true,
"limits": {
"crypto": {
"min": "",
"max": ""
},
"fiat": {
"min": "",
"max": ""
}
},
"secondOperations": []
}
},
{
"deposit": {
"status": true,
"limits": {
"crypto": {
"min": "",
"max": ""
},
"fiat": {
"min": "",
"max": ""
}
},
"secondOperations": []
}
}
],
"Particular": {
"EUR": [
{
"buy_with_fiat": {
"status": true,
"limits": {
"crypto": {
"min": "",
"max": ""
},
"fiat": {
"min": "",
"max": ""
}
},
"secondOperations": [
{
"withdraw": {
"mandatory": false
}
}
]
}
},
{
"sell_to_fiat": {
"status": true,
"limits": {
"crypto": {
"min": "",
"max": ""
},
"fiat": {
"min": "",
"max": ""
}
},
"secondOperations": []
}
}
]
}
}
}
],
"tokens": [],
"fiats": [
{
"name": "Usd",
"symbol": "USD",
"operations": []
},
{
"name": "Euro",
"symbol": "EUR",
"operations": []
},
{
"name": "Ron",
"symbol": "RON",
"operations": []
},
{
"name": "Chf",
"symbol": "CHF",
"operations": []
}
]
},
"createdAt": null
}
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (412):
{
"message": "JWT payload invalid."
}
Example response (416):
{
"message": "JWT is expired."
}
HTTP Request
POST /api/v1/platform/{platform}/lock
URL Parameters
Parameter | Status | Description |
---|---|---|
platform |
required | The platform ID. |
Platform Staff Index
Requires authentication Use this endpoint to get all platform's staff members.
Headers
Required header { "Token": "jwt-token" }
jwt-token = RS512 encoded jwt with payload { platform: required|string|in:{platformUUId}, expire: required|timestamp|after_or_equal:now }
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/staff" \
-H "Token: {jwt-token}" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/staff"
);
let headers = {
"Token": "{jwt-token}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/staff',
[
'headers' => [
'Token' => '{jwt-token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/staff'
headers = {
'Token': '{jwt-token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers)
response.json()
Example response (200):
{
"data": [
{
"id": "430e40b8-51d3-4f1e-8749-82deaabe3baa",
"isActive": true,
"role": "merchant",
"lastLoginAt": 1606412506,
"createdAt": 1606412501,
"user": {
"id": "f13da4df-8873-4b59-a44f-b5319f95c34e",
"isActive": true,
"status": "active",
"tradeStatus": true,
"email": "merchant@ccpro.com",
"options": {
"language": "en",
"theme": "light"
},
"meta": {
"source": "app"
},
"selfDeleted": {
"status": null,
"dates": {
"initiated": null,
"confirmed": null,
"deleted": null
}
},
"createdAt": 1606412438,
"deletedAt": null
}
}
],
"meta": {
"total": 1,
"current_page": 1,
"per_page": 25,
"last_page": 1
}
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (412):
{
"message": "JWT payload invalid."
}
Example response (416):
{
"message": "JWT is expired."
}
HTTP Request
GET /api/v1/platform/{platform}/staff
URL Parameters
Parameter | Status | Description |
---|---|---|
platform |
required | The platform ID. |
Platform Staff Store
Requires authentication Use this endpoint to create new platform staff member.
Headers
Required header { "Token": "jwt-token" }
jwt-token = RS512 encoded jwt with payload { platform: required|string|in:{platformUUId}, expire: required|timestamp|after_or_equal:now }
Example request:
curl -X POST \
"https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/staff" \
-H "Token: {jwt-token}" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"email":"member@email.io","role":"admin","alias":"my alias"}'
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/staff"
);
let headers = {
"Token": "{jwt-token}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"email": "member@email.io",
"role": "admin",
"alias": "my alias"
}
fetch(url, {
method: "POST",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/staff',
[
'headers' => [
'Token' => '{jwt-token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'email' => 'member@email.io',
'role' => 'admin',
'alias' => 'my alias',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/staff'
payload = {
"email": "member@email.io",
"role": "admin",
"alias": "my alias"
}
headers = {
'Token': '{jwt-token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Example response (201):
{
"data": [
{
"id": "430e40b8-51d3-4f1e-8749-82deaabe3baa",
"isActive": true,
"role": "admin",
"lastLoginAt": 1606412506,
"createdAt": 1606412501,
"user": {
"id": "f13da4df-8873-4b59-a44f-b5319f95c34e",
"isActive": true,
"status": "active",
"tradeStatus": true,
"email": "checkout_browser_test_account@ccpro.com",
"options": {
"language": "en",
"theme": "light"
},
"meta": {
"source": "checkout"
},
"selfDeleted": {
"status": null,
"dates": {
"initiated": null,
"confirmed": null,
"deleted": null
}
},
"createdAt": 1606412438,
"deletedAt": null
}
}
],
"meta": {
"total": 1,
"current_page": 1,
"per_page": 25,
"last_page": 1
}
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (412):
{
"message": "JWT payload invalid."
}
Example response (416):
{
"message": "JWT is expired."
}
HTTP Request
POST /api/v1/platform/{platform}/staff
URL Parameters
Parameter | Status | Description |
---|---|---|
platform |
required | The platform ID. |
Body Parameters
Parameter | Type | Status | Description |
---|---|---|---|
email |
string | required | The platform staff email - (email|max:191). |
role |
string | required | The platform staff role - (string|max:191|in:superadmin,admin,merchant). |
alias |
string | optional | The platform staff alias - (string|max:191|). |
Platform Staff Update
Requires authentication Use this endpoint to update platform staff member.
Headers
Required header { "Token": "jwt-token" }
jwt-token = RS512 encoded jwt with payload { platform: required|string|in:{platformUUId}, expire: required|timestamp|after_or_equal:now }
Example request:
curl -X POST \
"https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/staff/1" \
-H "Token: {jwt-token}" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"role":"admin"}'
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/staff/1"
);
let headers = {
"Token": "{jwt-token}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"role": "admin"
}
fetch(url, {
method: "POST",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/staff/1',
[
'headers' => [
'Token' => '{jwt-token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'role' => 'admin',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/staff/1'
payload = {
"role": "admin"
}
headers = {
'Token': '{jwt-token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Example response (200):
{
"data": [
{
"id": "430e40b8-51d3-4f1e-8749-82deaabe3baa",
"isActive": true,
"role": "admin",
"lastLoginAt": 1606412506,
"createdAt": 1606412501,
"user": {
"id": "f13da4df-8873-4b59-a44f-b5319f95c34e",
"isActive": true,
"status": "active",
"tradeStatus": true,
"email": "checkout_browser_test_account@ccpro.com",
"options": {
"language": "en",
"theme": "light"
},
"meta": {
"source": "checkout"
},
"selfDeleted": {
"status": null,
"dates": {
"initiated": null,
"confirmed": null,
"deleted": null
}
},
"createdAt": 1606412438,
"deletedAt": null
}
}
],
"meta": {
"total": 1,
"current_page": 1,
"per_page": 25,
"last_page": 1
}
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (412):
{
"message": "JWT payload invalid."
}
Example response (416):
{
"message": "JWT is expired."
}
HTTP Request
POST /api/v1/platform/{platform}/staff/{staff}
URL Parameters
Parameter | Status | Description |
---|---|---|
platform |
required | The platform ID. |
Body Parameters
Parameter | Type | Status | Description |
---|---|---|---|
role |
string | optional | The platform staff role - (email|max:191|in:superadmin,admin,merchant). |
Platform Staff Destroy
Requires authentication Use this endpoint to delete platform staff member.
Headers
Required header { "Token": "jwt-token" }
jwt-token = RS512 encoded jwt with payload { platform: required|string|in:{platformUUId}, expire: required|timestamp|after_or_equal:now }
Example request:
curl -X DELETE \
"https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/staff/1" \
-H "Token: {jwt-token}" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/staff/1"
);
let headers = {
"Token": "{jwt-token}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->delete(
'https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/staff/1',
[
'headers' => [
'Token' => '{jwt-token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/staff/1'
headers = {
'Token': '{jwt-token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('DELETE', url, headers=headers)
response.json()
Example response (200):
{
"message": "Staff member successfully deleted"
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (412):
{
"message": "JWT payload invalid."
}
Example response (416):
{
"message": "JWT is expired."
}
HTTP Request
DELETE /api/v1/platform/{platform}/staff/{staff}
URL Parameters
Parameter | Status | Description |
---|---|---|
platform |
required | The platform ID. |
Platform Users
Requires authentication Use this endpoint to get all users attached to platform.
Headers
Required header { "Token": "jwt-token" }
jwt-token = RS512 encoded jwt with payload { platform: required|string|in:{platformUUId}, expire: required|timestamp|after_or_equal:now }
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/user?id=03dacaf0-1117-44b1-ace4-6fe762bad3a4&email=jon%40winterfell.got&status=active&platform_status=1&platform_type=employe&kyc_status=accepted" \
-H "Token: {jwt-token}" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/user"
);
let params = {
"id": "03dacaf0-1117-44b1-ace4-6fe762bad3a4",
"email": "jon@winterfell.got",
"status": "active",
"platform_status": "1",
"platform_type": "employe",
"kyc_status": "accepted",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
let headers = {
"Token": "{jwt-token}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/user',
[
'headers' => [
'Token' => '{jwt-token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'id'=> '03dacaf0-1117-44b1-ace4-6fe762bad3a4',
'email'=> 'jon@winterfell.got',
'status'=> 'active',
'platform_status'=> '1',
'platform_type'=> 'employe',
'kyc_status'=> 'accepted',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/user'
params = {
'id': '03dacaf0-1117-44b1-ace4-6fe762bad3a4',
'email': 'jon@winterfell.got',
'status': 'active',
'platform_status': '1',
'platform_type': 'employe',
'kyc_status': 'accepted',
}
headers = {
'Token': '{jwt-token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()
Example response (200):
{
"data": [
{
"id": "f13da4df-8873-4b59-a44f-b5319f95c34e",
"isActive": true,
"status": "active",
"tradeStatus": true,
"email": "checkout_browser_test_account@ccpro.com",
"options": {
"language": "en",
"theme": "light"
},
"meta": {
"source": "checkout"
},
"kyc": {
"status": "WAITING ADMIN APPROVAL"
},
"selfDeleted": {
"status": null,
"dates": {
"initiated": null,
"confirmed": null,
"deleted": null
}
},
"count": {
"orders": 1,
"transfers": 0,
"quotes": 1,
"checkouts": 1,
"securities": 9
},
"linkDetails": {
"active": true,
"status": "active",
"lastLoginAt": 1606412448,
"createdAt": 1606412438
},
"createdAt": 1606412438,
"deletedAt": null
}
]
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (412):
{
"message": "JWT payload invalid."
}
Example response (416):
{
"message": "JWT is expired."
}
HTTP Request
GET /api/v1/platform/{platform}/user
URL Parameters
Parameter | Status | Description |
---|---|---|
platform |
required | The platform ID. |
Query Parameters
Parameter | Status | Description |
---|---|---|
id |
optional | Filter by ID. |
email |
optional | Filter by Email. |
status |
optional | Filter by User Status. |
platform_status |
optional | Filter by Platform Status. |
platform_type |
optional | Filter by Platform Type. |
kyc_status |
optional | Filter by KYC Status. |
Platform User Link
Requires authentication Use this endpoint to link new platform user.
Headers
Required header { "Token": "jwt-token" }
jwt-token = RS512 encoded jwt with payload { platform: required|string|in:{platformUUId}, expire: required|timestamp|after_or_equal:now }
Example request:
curl -X POST \
"https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/user/link" \
-H "Token: {jwt-token}" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"email":"employe@email.io","type":"employe"}'
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/user/link"
);
let headers = {
"Token": "{jwt-token}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"email": "employe@email.io",
"type": "employe"
}
fetch(url, {
method: "POST",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/user/link',
[
'headers' => [
'Token' => '{jwt-token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'email' => 'employe@email.io',
'type' => 'employe',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/user/link'
payload = {
"email": "employe@email.io",
"type": "employe"
}
headers = {
'Token': '{jwt-token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Example response (200):
{
"data": [
{
"id": "430e40b8-51d3-4f1e-8749-82deaabe3baa",
"isActive": true,
"role": "admin",
"lastLoginAt": 1606412506,
"createdAt": 1606412501,
"user": {
"id": "f13da4df-8873-4b59-a44f-b5319f95c34e",
"isActive": true,
"status": "active",
"tradeStatus": true,
"email": "checkout_browser_test_account@ccpro.com",
"options": {
"language": "en",
"theme": "light"
},
"meta": {
"source": "checkout"
},
"selfDeleted": {
"status": null,
"dates": {
"initiated": null,
"confirmed": null,
"deleted": null
}
},
"createdAt": 1606412438,
"deletedAt": null
}
}
],
"meta": {
"total": 1,
"current_page": 1,
"per_page": 25,
"last_page": 1
}
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (412):
{
"message": "JWT payload invalid."
}
Example response (416):
{
"message": "JWT is expired."
}
HTTP Request
POST /api/v1/platform/{platform}/user/link
URL Parameters
Parameter | Status | Description |
---|---|---|
platform |
required | The platform ID. |
Body Parameters
Parameter | Type | Status | Description |
---|---|---|---|
email |
string | required | The platform user email - (email|max:191). |
type |
string | optional | The platform user type - (string|max:191|in:customer,employe). |
Platform Users Lock
Requires authentication Use this endpoint to lock an user on your Platform
Headers
Required header { "Token": "jwt-token" }
jwt-token = RS512 encoded jwt with payload { platform: required|string|in:{platformUUId}, expire: required|timestamp|after_or_equal:now}
Example request:
curl -X POST \
"https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/user/67374h03-34ft-4dd2-b6ef-112a2bec5963/lock" \
-H "Token: {jwt-token}" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/user/67374h03-34ft-4dd2-b6ef-112a2bec5963/lock"
);
let headers = {
"Token": "{jwt-token}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/user/67374h03-34ft-4dd2-b6ef-112a2bec5963/lock',
[
'headers' => [
'Token' => '{jwt-token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/user/67374h03-34ft-4dd2-b6ef-112a2bec5963/lock'
headers = {
'Token': '{jwt-token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers)
response.json()
Example response (200):
{
"message": "The user has been successfully locked."
}
Example response (403):
{
"message": "User already locked."
}
Example response (404):
{
"message": "No query results"
}
HTTP Request
POST /api/v1/platform/{platform}/user/{user}/lock
URL Parameters
Parameter | Status | Description |
---|---|---|
platform |
required | The platform ID. |
user |
required | The user ID. |
Platform Users Unlock
Requires authentication Use this endpoint to unlock an user on your Platform
Headers
Required header { "Token": "jwt-token" }
jwt-token = RS512 encoded jwt with payload { platform: required|string|in:{platformUUId}, expire: required|timestamp|after_or_equal:now}
Example request:
curl -X POST \
"https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/user/67374h03-34ft-4dd2-b6ef-112a2bec5963/unlock" \
-H "Token: {jwt-token}" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/user/67374h03-34ft-4dd2-b6ef-112a2bec5963/unlock"
);
let headers = {
"Token": "{jwt-token}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/user/67374h03-34ft-4dd2-b6ef-112a2bec5963/unlock',
[
'headers' => [
'Token' => '{jwt-token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/user/67374h03-34ft-4dd2-b6ef-112a2bec5963/unlock'
headers = {
'Token': '{jwt-token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers)
response.json()
Example response (200):
{
"message": "The user has been successfully unlocked."
}
Example response (404):
{
"message": "No query results"
}
HTTP Request
POST /api/v1/platform/{platform}/user/{user}/unlock
URL Parameters
Parameter | Status | Description |
---|---|---|
platform |
required | The platform ID. |
user |
required | The user ID. |
Platform Users request KYC access
Requires authentication Use this endpoint to request KYC access from user on your Platform
Headers
Required header { "Token": "jwt-token" }
jwt-token = RS512 encoded jwt with payload { platform: required|string|in:{platformUUId}, expire: required|timestamp|after_or_equal:now}
Example request:
curl -X POST \
"https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/user/67374h03-34ft-4dd2-b6ef-112a2bec5963/kyc-access" \
-H "Token: {jwt-token}" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/user/67374h03-34ft-4dd2-b6ef-112a2bec5963/kyc-access"
);
let headers = {
"Token": "{jwt-token}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/user/67374h03-34ft-4dd2-b6ef-112a2bec5963/kyc-access',
[
'headers' => [
'Token' => '{jwt-token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/user/67374h03-34ft-4dd2-b6ef-112a2bec5963/kyc-access'
headers = {
'Token': '{jwt-token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers)
response.json()
Example response (200):
{
"message": "KYC access request successfully sent"
}
Example response (403):
{
"message": "KYC access request already sent."
}
Example response (404):
{
"message": "No query results"
}
HTTP Request
POST /api/v1/platform/{platform}/user/{user}/kyc-access
URL Parameters
Parameter | Status | Description |
---|---|---|
platform |
required | The platform ID. |
user |
required | The user ID. |
Platform Balances
Requires authentication Use this endpoint to get all proprietary assets balances of users.
Headers
Required header { "Token": "jwt-token" }
jwt-token = RS512 encoded jwt with payload { platform: required|string|in:{platformUUId}, expire: required|timestamp|after_or_equal:now }
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/balance?id=03dacaf0-1117-44b1-ace4-6fe762bad3a4&email=jon%40winterfell.got&status=active&platform_status=1&kyc_status=accepted" \
-H "Token: {jwt-token}" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/balance"
);
let params = {
"id": "03dacaf0-1117-44b1-ace4-6fe762bad3a4",
"email": "jon@winterfell.got",
"status": "active",
"platform_status": "1",
"kyc_status": "accepted",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
let headers = {
"Token": "{jwt-token}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/balance',
[
'headers' => [
'Token' => '{jwt-token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'id'=> '03dacaf0-1117-44b1-ace4-6fe762bad3a4',
'email'=> 'jon@winterfell.got',
'status'=> 'active',
'platform_status'=> '1',
'kyc_status'=> 'accepted',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/balance'
params = {
'id': '03dacaf0-1117-44b1-ace4-6fe762bad3a4',
'email': 'jon@winterfell.got',
'status': 'active',
'platform_status': '1',
'kyc_status': 'accepted',
}
headers = {
'Token': '{jwt-token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()
Example response (200):
{
"data": [
{
"id": "f13da4df-8873-4b59-a44f-b5319f95c34e",
"isActive": true,
"status": "active",
"tradeStatus": true,
"email": "checkout_browser_test_account@ccpro.com",
"options": {
"language": "en",
"theme": "light"
},
"meta": {
"source": "checkout"
},
"kyc": {
"status": "WAITING ADMIN APPROVAL"
},
"selfDeleted": {
"status": null,
"dates": {
"initiated": null,
"confirmed": null,
"deleted": null
}
},
"count": {
"orders": 1,
"transfers": 0,
"quotes": 1,
"checkouts": 1,
"securities": 9
},
"linkDetails": {
"active": true,
"status": "active",
"lastLoginAt": 1606412448,
"createdAt": 1606412438
},
"createdAt": 1606412438,
"deletedAt": null
}
]
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (412):
{
"message": "JWT payload invalid."
}
Example response (416):
{
"message": "JWT is expired."
}
HTTP Request
GET /api/v1/platform/{platform}/balance
URL Parameters
Parameter | Status | Description |
---|---|---|
platform |
required | The platform ID. |
Query Parameters
Parameter | Status | Description |
---|---|---|
id |
optional | Filter by ID. |
email |
optional | Filter by Email. |
status |
optional | Filter by User Status. |
platform_status |
optional | Filter by Platform Status. |
kyc_status |
optional | Filter by KYC Status. |
Platform Orders
Requires authentication Use this endpoint to get all orders made by platform users.
Headers
Required header { "Token": "jwt-token" }
jwt-token = RS512 encoded jwt with payload { platform: required|string|in:{platformUUId}, expire: required|timestamp|after_or_equal:now }
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/order?id=ftCVHqME&user=jon%40winterfell.got&status=APPROVED&typeOperationName=buy_with_fiat&asset=ETH&wallet=0x2f203264a671832b543acfd5558ae684cd1c5a5a&txid=0x6357114dd04c8ace9d2c53bace18d7c864d0f686626ff9b18489c64e39edfa7f&payment_method=card" \
-H "Token: {jwt-token}" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/order"
);
let params = {
"id": "ftCVHqME",
"user": "jon@winterfell.got",
"status": "APPROVED",
"typeOperationName": "buy_with_fiat",
"asset": "ETH",
"wallet": "0x2f203264a671832b543acfd5558ae684cd1c5a5a",
"txid": "0x6357114dd04c8ace9d2c53bace18d7c864d0f686626ff9b18489c64e39edfa7f",
"payment_method": "card",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
let headers = {
"Token": "{jwt-token}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/order',
[
'headers' => [
'Token' => '{jwt-token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'id'=> 'ftCVHqME',
'user'=> 'jon@winterfell.got',
'status'=> 'APPROVED',
'typeOperationName'=> 'buy_with_fiat',
'asset'=> 'ETH',
'wallet'=> '0x2f203264a671832b543acfd5558ae684cd1c5a5a',
'txid'=> '0x6357114dd04c8ace9d2c53bace18d7c864d0f686626ff9b18489c64e39edfa7f',
'payment_method'=> 'card',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/order'
params = {
'id': 'ftCVHqME',
'user': 'jon@winterfell.got',
'status': 'APPROVED',
'typeOperationName': 'buy_with_fiat',
'asset': 'ETH',
'wallet': '0x2f203264a671832b543acfd5558ae684cd1c5a5a',
'txid': '0x6357114dd04c8ace9d2c53bace18d7c864d0f686626ff9b18489c64e39edfa7f',
'payment_method': 'card',
}
headers = {
'Token': '{jwt-token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()
Example response (200):
{
"data": [
{
"id": "f7cd7280-b75c-45ac-ac26-193162e74fc1",
"publicId": "ftCVHqME",
"status": "PROCESSING_PAYMENT",
"type": "token",
"typeOperation": "out",
"typeOperationName": "sell_to_fiat",
"fromSymbol": "IPSX",
"fromAmount": "500.0000000000000000000000000",
"rate": "0",
"toSymbol": "ETH",
"toAmount": "1.0000000000000000000000000",
"wallet": "0x2f203264a671832b543acfd5558ae684cd1c5a5a",
"txId": null,
"parentOrder": {
"id": "b87fcf41-c6a7-4ebb-9547-3f826a8420cd",
"publicId": "g0h0HsmE"
},
"childOrder": {
"id": null,
"publicId": null
},
"payment": {
"method": "bank",
"id": "e887c2e5-82cd-4d25-897f-198d93241425",
"url": "https:\/\/dev-checkout.infra.cryptocoin.pro\/payment\/bank-confirm? order=3fc9bc08-1e1a-4928-a8dc-29674042d639& signature=89bac803dc4d3a24a21ff1b72d871f34ea4ab3ccc61a6b26f5e1acf3b1148a0a",
"feePercent": "0",
"proofUploaded": null
},
"commissions": {
"percent": "0.0000000000000000000000000",
"amount": "0.0000000000000000000000000"
},
"user": {
"id": "c73d7aec-de24-4e19-8476-0326bfc0e42d",
"isActive": true,
"tradeStatus": true,
"email": "al**@gmail.com",
"options": {
"language": "en",
"theme": "light"
},
"meta": {
"source": "api"
},
"selfDeletedAt": null,
"createdAt": 1579702412
},
"quote": {
"id": "6265b373-8606-4a4c-982e-99fd2adfea62",
"publicId": "HMFJBTBO"
},
"externalPlatform": {
"code": "PlatformName",
"name": "PlatformCode",
"url": "https:\/\/platform.io\/"
},
"createdAt": 1556095674
}
]
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (412):
{
"message": "JWT payload invalid."
}
Example response (416):
{
"message": "JWT is expired."
}
HTTP Request
GET /api/v1/platform/{platform}/order
URL Parameters
Parameter | Status | Description |
---|---|---|
platform |
required | The platform ID. |
Query Parameters
Parameter | Status | Description |
---|---|---|
id |
optional | Filter by Public ID. |
user |
optional | Filter by User Email/ID. |
status |
optional | Filter by Status. |
typeOperationName |
optional | Filter by TypeOperationName. |
asset |
optional | Filter by Asset. |
wallet |
optional | Filter by Wallet address. |
txid |
optional | Filter by Blockchain Transaction ID. |
payment_method |
optional | Filter by Payment method. |
Platform Order Metas Update
Requires authentication Use this endpoint to update required meta for a order.
Headers
Required header { "Token": "jwt-token" }
jwt-token = RS512 encoded jwt with payload { platform: required|string|in:{platformUUId}, expire: required|timestamp|after_or_equal:now}
Example request:
curl -X POST \
"https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/order/f7cd7280-b75c-45ac-ac26-193162e74fc1/meta" \
-H "Token: {jwt-token}" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/order/f7cd7280-b75c-45ac-ac26-193162e74fc1/meta"
);
let headers = {
"Token": "{jwt-token}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/order/f7cd7280-b75c-45ac-ac26-193162e74fc1/meta',
[
'headers' => [
'Token' => '{jwt-token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/order/f7cd7280-b75c-45ac-ac26-193162e74fc1/meta'
headers = {
'Token': '{jwt-token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers)
response.json()
Example response (200):
{
"message": "Meta data successfully saved."
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (404):
{
"message": "No query results."
}
Example response (412):
{
"message": "JWT payload invalid."
}
Example response (416):
{
"message": "JWT is expired."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"wallet": [
"The file field is required."
]
}
}
HTTP Request
POST /api/v1/platform/{platform}/order/{order}/meta
URL Parameters
Parameter | Status | Description |
---|---|---|
platform |
required | The platform ID. |
user |
required | The user ID. |
order |
required | The order ID. |
Platform Quotes
Requires authentication Use this endpoint to get all quotes made by platform users.
Headers
Required header { "Token": "jwt-token" }
jwt-token = RS512 encoded jwt with payload { platform: required|string|in:{platformUUId}, expire: required|timestamp|after_or_equal:now }
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/quote?id=iZE9qxz6&user=jon%40winterfell.got&status=available&type=buy_with_fiat&asset=ETH&wallet=0x2f203264a671832b543acfd5558ae684cd1c5a5a&payment_method=card" \
-H "Token: {jwt-token}" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/quote"
);
let params = {
"id": "iZE9qxz6",
"user": "jon@winterfell.got",
"status": "available",
"type": "buy_with_fiat",
"asset": "ETH",
"wallet": "0x2f203264a671832b543acfd5558ae684cd1c5a5a",
"payment_method": "card",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
let headers = {
"Token": "{jwt-token}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/quote',
[
'headers' => [
'Token' => '{jwt-token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'id'=> 'iZE9qxz6',
'user'=> 'jon@winterfell.got',
'status'=> 'available',
'type'=> 'buy_with_fiat',
'asset'=> 'ETH',
'wallet'=> '0x2f203264a671832b543acfd5558ae684cd1c5a5a',
'payment_method'=> 'card',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/quote'
params = {
'id': 'iZE9qxz6',
'user': 'jon@winterfell.got',
'status': 'available',
'type': 'buy_with_fiat',
'asset': 'ETH',
'wallet': '0x2f203264a671832b543acfd5558ae684cd1c5a5a',
'payment_method': 'card',
}
headers = {
'Token': '{jwt-token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()
Example response (200):
{
"data": [
{
"id": "fc0388dc-63c5-4fbe-bc53-c11ba3bdb94e",
"publicId": "iZE9qxz6",
"status": "completed",
"type": "coin",
"typeOperationName": "buy_with_fiat",
"payment": {
"type": "bank",
"id": null,
"mandatory": false
},
"from": "EUR",
"to": "ETH",
"amount": "0.2000000000000000000000000",
"rate": "172.2125000000000000000000000",
"commission": {
"fromAmount": "4.4925",
"fromTotal": "0.03",
"discountPercent": "0",
"percent": "15"
},
"total": "34.4425000000000000000000000",
"parentOrder": {
"id": null,
"publicId": null
},
"user": {
"id": "c73d7aec-de24-4e19-8476-0326bfc0e42d",
"isActive": true,
"tradeStatus": true,
"email": "al**@gmail.com",
"options": {
"language": "en",
"theme": "light"
},
"meta": {
"source": "api"
},
"selfDeletedAt": null,
"createdAt": 1579702412
},
"wallet": null,
"order": {
"id": "c6752d40-e902-43e8-b1af-437f775ce7c1",
"publicId": "JZ2OLJOL"
},
"externalPlatform": {
"code": "PlatformName",
"name": "PlatformCode",
"url": "https:\/\/platform.io\/"
},
"lifeSeconds": 3600,
"lifeUntilAt": 1572870237,
"confirmUrl": null,
"createdAt": 1572866637
}
]
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (412):
{
"message": "JWT payload invalid."
}
Example response (416):
{
"message": "JWT is expired."
}
HTTP Request
GET /api/v1/platform/{platform}/quote
URL Parameters
Parameter | Status | Description |
---|---|---|
platform |
required | The platform ID. |
Query Parameters
Parameter | Status | Description |
---|---|---|
id |
optional | Filter by Public ID. |
user |
optional | Filter by User Email/ID. |
status |
optional | Filter by Status. |
type |
optional | Filter by Type. |
asset |
optional | Filter by Asset. |
wallet |
optional | Filter by Wallet address. |
payment_method |
optional | Filter by Payment method. |
Platform Checkouts
Requires authentication Use this endpoint to get all checkouts made by platform users.
Headers
Required header { "Token": "jwt-token" }
jwt-token = RS512 encoded jwt with payload { platform: required|string|in:{platformUUId}, expire: required|timestamp|after_or_equal:now }
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/checkout?id=iZE9qxz6&user=jon%40winterfell.got&step=payment&status=finished&type=buy_with_fiat&payment_method=card" \
-H "Token: {jwt-token}" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/checkout"
);
let params = {
"id": "iZE9qxz6",
"user": "jon@winterfell.got",
"step": "payment",
"status": "finished",
"type": "buy_with_fiat",
"payment_method": "card",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
let headers = {
"Token": "{jwt-token}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/checkout',
[
'headers' => [
'Token' => '{jwt-token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'id'=> 'iZE9qxz6',
'user'=> 'jon@winterfell.got',
'step'=> 'payment',
'status'=> 'finished',
'type'=> 'buy_with_fiat',
'payment_method'=> 'card',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/checkout'
params = {
'id': 'iZE9qxz6',
'user': 'jon@winterfell.got',
'step': 'payment',
'status': 'finished',
'type': 'buy_with_fiat',
'payment_method': 'card',
}
headers = {
'Token': '{jwt-token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()
Example response (200):
{
"data": [
{
"id": "16f91b73-908e-4a74-b2e0-d7586e767584",
"publicId": "UFMSS9AS",
"status": "expired",
"step": "account-details",
"attemptsQuote": {
"count": 0,
"limit": 3
},
"requestId": "957c0c28-99a1-49ce-85f7-9be9f4cc4f40",
"paymentType": "bank",
"ip": null,
"url": "http:\/\/dev-checkout.cryptocoin-app.test?lang=ro&display=light&platform_id=dc9dbd8c-b57a-4b55-bf0c-17c6095d1a6c&resume=false&token=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzUxMiJ9.eyJ1c2VyIjp7ImlkIjoiYmIxNzc2MmEtOGQyYS00YTRhLTkxYzUtMmRmOWNkMDcyNDg1IiwiZW1haWwiOiJwYWl6YW4uYWxleGFuZHJ1OTNAZ21haWwuY29tIiwiZmlyc3RfbmFtZSI6IkFsZXgiLCJsYXN0X25hbWUiOiJQYWl6YW4iLCJkb2IiOiIxOTkzLTA2LTE4IiwicGhvbmUiOiIrNDA3NjAzODY1NzEiLCJ3YWxsZXQiOiIweDIxOTgzNzIxMjF4enNhZHNhMjE0MjFzYSJ9LCJwYXltZW50Ijp7Im9wZXJhdGlvbiI6ImJ1eSIsInR5cGUiOiJjb2luIiwic3ltYm9sIjoiRVRIIiwiYW1vdW50IjoiMSIsInJhdGUiOiIyMjcuNjIwMDAiLCJmaWF0IjoiRVVSIiwicmVxdWVzdF9pZCI6Ijk1N2MwYzI4LTk5YTEtNDljZS04NWY3LTliZTlmNGNjNGY0MCIsIm1ldGhvZCI6ImJhbmsiLCJhdHRlbXB0cyI6Mywic2Vjb25kX29yZGVyX3R5cGUiOiJ3aXRoZHJhdyJ9LCJwaW5nX3VybCI6Imh0dHBzOlwvXC9kZXYtYXBwLmluZnJhLmNyeXB0b2NvaW4ucHJvP3Bpbmc9b3JkZXItbmFzaCIsInJlZGlyZWN0X3VybCI6Imh0dHBzOlwvXC9uYXNoLmlvXC8iLCJleHBpcmUiOjE1ODI1NDE2NjB9.MNyQe5FdBiAxzm4y_I4JWxpwWLl3eMOvKeN_rKGK3AGFKuDqmKvh59zK463F_2sEc-G0iIATPu59VUz2TRfaXFAQ2MYdTWCeDbFtGUfd51F7-qytLErw1UV--DLeRlNd0KGTJG1EjTHBu_BaT4LjDgGUEAcrkQ2b_45BjDKXqSQUfDkH6PU4Los06cykUEPgzrU37xA_2KFrdcQTKzmIsqvCwsssK88F-8Jm3MIds-Uhqnzm7QqTvI91rC0Egz81mlLUJX9mwAal9u8YC718a7Y8IqlJLNHXjFogMHw_gtb2ats4yfAJi6sPPU0cy0H1m-QwKq2_8Sg1fhBeiFRsdg",
"redirectUrl": "https:\/\/nash.io\/",
"pingUrl": "https:\/\/dev-app.infra.cryptocoin.pro?ping=order-nash",
"user": {
"id": "c73d7aec-de24-4e19-8476-0326bfc0e42d",
"isActive": true,
"tradeStatus": true,
"email": "al**@gmail.com",
"options": {
"language": "en",
"theme": "light"
},
"meta": {
"source": "api"
},
"selfDeletedAt": null,
"createdAt": 1579702412
},
"emailVerifiedAt": 1679898371,
"phoneVerifiedAt": 1679899431,
"expiredAt": 1582541660,
"createdAt": 1581936860
}
]
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (412):
{
"message": "JWT payload invalid."
}
Example response (416):
{
"message": "JWT is expired."
}
HTTP Request
GET /api/v1/platform/{platform}/checkout
URL Parameters
Parameter | Status | Description |
---|---|---|
platform |
required | The platform ID. |
Query Parameters
Parameter | Status | Description |
---|---|---|
id |
optional | Filter by Public ID. |
user |
optional | Filter by User Email/ID. |
step |
optional | Filter by Step. |
status |
optional | Filter by Status. |
type |
optional | Filter by Type. |
payment_method |
optional | Filter by Payment method. |
Platform Transfers
Requires authentication Use this endpoint to get all transfers made by platform users.
Headers
Required header { "Token": "jwt-token" }
jwt-token = RS512 encoded jwt with payload { platform: required|string|in:{platformUUId}, expire: required|timestamp|after_or_equal:now }
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/transfer?id=iZE9qxz6&user=jon%40winterfell.got&from_user=jon%40winterfell.got&to_user=jon%40winterfell.got&status=completed&asset=ETH" \
-H "Token: {jwt-token}" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/transfer"
);
let params = {
"id": "iZE9qxz6",
"user": "jon@winterfell.got",
"from_user": "jon@winterfell.got",
"to_user": "jon@winterfell.got",
"status": "completed",
"asset": "ETH",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
let headers = {
"Token": "{jwt-token}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/transfer',
[
'headers' => [
'Token' => '{jwt-token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'id'=> 'iZE9qxz6',
'user'=> 'jon@winterfell.got',
'from_user'=> 'jon@winterfell.got',
'to_user'=> 'jon@winterfell.got',
'status'=> 'completed',
'asset'=> 'ETH',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/transfer'
params = {
'id': 'iZE9qxz6',
'user': 'jon@winterfell.got',
'from_user': 'jon@winterfell.got',
'to_user': 'jon@winterfell.got',
'status': 'completed',
'asset': 'ETH',
}
headers = {
'Token': '{jwt-token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()
Example response (200):
{
"data": [
{
"id": "eec0a695-4095-43a5-a372-5710d543b917",
"publicId": "984HwVsF",
"status": "pending",
"type": "coin",
"symbol": "ETH",
"amount": "1.0000000000000000000000000",
"total": "0.9500000000000000000000000",
"commission": {
"value": "0.0500000000000000000000000",
"percent": "5"
},
"byUser": {
"id": "66de494e-6791-4290-996c-32f42041fbf4",
"email": "al**@gmail.com"
},
"fromUser": {
"id": "66de494e-6791-4290-996c-32f42041fbf4",
"email": "al**@gmail.com"
},
"toUser": {
"id": "4a9d3d36-1d39-4fc8-b846-edd06a62b607",
"email": "al**@gmail.com"
},
"fromOrder": {
"id": null,
"publicId": null
},
"toOrder": {
"id": null,
"publicId": null
},
"externalPlatform": {
"code": "PlatformName",
"name": "PlatformCode",
"url": "https:\/\/platform.io\/"
},
"lifeSeconds": 180,
"lifeUntilAt": 1591363607,
"confirmUrl": null,
"createdAt": 1591363427
}
]
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (412):
{
"message": "JWT payload invalid."
}
Example response (416):
{
"message": "JWT is expired."
}
HTTP Request
GET /api/v1/platform/{platform}/transfer
URL Parameters
Parameter | Status | Description |
---|---|---|
platform |
required | The platform ID. |
Query Parameters
Parameter | Status | Description |
---|---|---|
id |
optional | Filter by Public ID. |
user |
optional | Filter by User Email/ID. |
from_user |
optional | Filter by From User Email/ID. |
to_user |
optional | Filter by To User Email/ID. |
status |
optional | Filter by Status. |
asset |
optional | Filter by Asset. |
Platform Vestings
Requires authentication Use this endpoint to get all vestings made by platform users.
Headers
Required header { "Token": "jwt-token" }
jwt-token = RS512 encoded jwt with payload { platform: required|string|in:{platformUUId}, expire: required|timestamp|after_or_equal:now }
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/vesting?id=iZE9qxz6&user=jon%40winterfell.got&order=BO4PL7YB&status=distributed&amount=1&percent=10&batch=1" \
-H "Token: {jwt-token}" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/vesting"
);
let params = {
"id": "iZE9qxz6",
"user": "jon@winterfell.got",
"order": "BO4PL7YB",
"status": "distributed",
"amount": "1",
"percent": "10",
"batch": "1",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
let headers = {
"Token": "{jwt-token}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/vesting',
[
'headers' => [
'Token' => '{jwt-token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'id'=> 'iZE9qxz6',
'user'=> 'jon@winterfell.got',
'order'=> 'BO4PL7YB',
'status'=> 'distributed',
'amount'=> '1',
'percent'=> '10',
'batch'=> '1',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/vesting'
params = {
'id': 'iZE9qxz6',
'user': 'jon@winterfell.got',
'order': 'BO4PL7YB',
'status': 'distributed',
'amount': '1',
'percent': '10',
'batch': '1',
}
headers = {
'Token': '{jwt-token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()
Example response (200):
{
"data": [
{
"id": "cc3a1c3d-1f56-477d-b5f2-a745db6c997b",
"batch": "initial",
"percent": "10",
"amount": "0.1",
"status": "distributed",
"user": {
"id": "66de494e-6791-4290-996c-32f42041fbf4",
"isActive": true,
"status": "active",
"tradeStatus": true,
"email": "al***@gmail.com",
"options": {
"language": "en",
"theme": "light",
"guard": {
"guard": {
"antiPhishing": "te***",
"actions": {
"login": {
"2fa": false,
"password": true
},
"operations": {
"2fa": false,
"password": true
}
}
}
}
},
"meta": {
"source": "web"
},
"selfDeleted": {
"status": null,
"dates": {
"initiated": null,
"confirmed": null,
"deleted": null
}
},
"createdAt": 1554204615,
"deletedAt": null
},
"asset": {
"name": "Ethereum",
"symbol": "ETH",
"alias": null,
"type": "coin",
"precision": "5"
},
"order": {
"id": "b3caba6b-84ea-4979-b975-2bedfa8f2dc0",
"publicId": "GFWGEDDV",
"status": "APPROVED",
"statusReason": null,
"type": "coin",
"typeOperation": "in",
"typeOperationName": "buy_with_fiat",
"fromSymbol": "EUR",
"fromAmount": "3639.8519500000000000000000000",
"rate": "3639.8519500000000000000000000",
"toSymbol": "ETH",
"toAmount": "1.0000000000000000000000000",
"fromAsset": {
"name": "Euro",
"symbol": "EUR",
"alias": null,
"type": "fiat",
"precision": "2"
},
"toAsset": {
"name": "Ethereum",
"symbol": "ETH",
"alias": null,
"type": "coin",
"precision": "5"
},
"txId": null,
"wallet": null,
"walletAddress": null,
"parentOrder": {
"id": null,
"publicId": null
},
"childOrder": {
"id": null,
"publicId": null
},
"payment": {
"method": "bank",
"id": null,
"meta": null,
"url": null,
"lifeSeconds": 7200,
"lifeUntilAt": 1649170414,
"currency": null,
"amount": null,
"feePercent": "0",
"feeAmount": "0",
"feeOnTop": true,
"showFee": false,
"proofUploaded": null
},
"commissions": {
"percent": "14.5000000000000000000000000",
"amount": "527.7785000000000000000000000"
},
"mode": {
"type": "normal",
"status": null,
"amount": null,
"rate": null,
"total": null,
"commission": null,
"additional": null,
"observation": null,
"expireAt": null,
"url": null
},
"meta": {
"main": []
},
"updates": {
"wallet": {
"status": null,
"address": null,
"url": null
}
},
"quote": {
"id": null,
"publicId": null
},
"transfer": {
"id": null,
"publicId": null
},
"createdAt": 1649163214
},
"vestedAt": 1649163266,
"createdAt": 1649163266
}
]
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (412):
{
"message": "JWT payload invalid."
}
Example response (416):
{
"message": "JWT is expired."
}
HTTP Request
GET /api/v1/platform/{platform}/vesting
URL Parameters
Parameter | Status | Description |
---|---|---|
platform |
required | The platform ID. |
Query Parameters
Parameter | Status | Description |
---|---|---|
id |
optional | Filter by ID. |
user |
optional | Filter by User Email/ID. |
order |
optional | Filter by Order ID. |
status |
optional | Filter by Status. |
amount |
optional | Filter by Amount. |
percent |
optional | Filter by Percent. |
batch |
optional | Filter by Asset. |
Platform Bonuses
Requires authentication Use this endpoint to get all bonuses made by platform users.
Headers
Required header { "Token": "jwt-token" }
jwt-token = RS512 encoded jwt with payload { platform: required|string|in:{platformUUId}, expire: required|timestamp|after_or_equal:now }
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/bonus?id=iZE9qxz6&user=jon%40winterfell.got&order=BO4PL7YB&status=distributed&amount=5" \
-H "Token: {jwt-token}" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/bonus"
);
let params = {
"id": "iZE9qxz6",
"user": "jon@winterfell.got",
"order": "BO4PL7YB",
"status": "distributed",
"amount": "5",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
let headers = {
"Token": "{jwt-token}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/bonus',
[
'headers' => [
'Token' => '{jwt-token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'id'=> 'iZE9qxz6',
'user'=> 'jon@winterfell.got',
'order'=> 'BO4PL7YB',
'status'=> 'distributed',
'amount'=> '5',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/bonus'
params = {
'id': 'iZE9qxz6',
'user': 'jon@winterfell.got',
'order': 'BO4PL7YB',
'status': 'distributed',
'amount': '5',
}
headers = {
'Token': '{jwt-token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()
Example response (200):
{
"data": [
{
"id": "51841783-42c6-4426-b180-20e1239fca51",
"amount": "5",
"status": "canceled",
"user": {
"id": "66de494e-6791-4290-996c-32f42041fbf4",
"isActive": true,
"status": "active",
"tradeStatus": true,
"email": "al***@gmail.com",
"options": {
"language": "en",
"theme": "light",
"layout": "expanded",
"guard": {
"antiPhishing": "te***",
"actions": {
"login": {
"2fa": true,
"password": true
},
"operations": {
"2fa": true,
"password": true
}
}
}
},
"meta": {
"source": "web"
},
"selfDeleted": {
"status": null,
"dates": {
"initiated": null,
"confirmed": null,
"deleted": null
}
},
"createdAt": 1554204615,
"deletedAt": null
},
"asset": {
"name": "Ethereum",
"symbol": "ETH",
"alias": null,
"type": "coin",
"precision": "8"
},
"order": {
"id": "dee03f54-5a31-41af-964b-68fb4fbe2652",
"publicId": "2RBYMNQO",
"status": "REJECTED",
"statusReason": null,
"type": "coin",
"typeOperation": "in",
"typeOperationName": "buy_with_fiat",
"fromSymbol": "EUR",
"fromAmount": "99.9999999936000000000000000",
"rate": "2.1420000000000000000000000",
"toSymbol": "ETH",
"toAmount": "46.6853408000000000000000000",
"fromAsset": {
"name": "Euro",
"symbol": "EUR",
"alias": null,
"type": "fiat",
"precision": "2"
},
"toAsset": {
"name": "Ethereum",
"symbol": "ETH",
"alias": null,
"type": "coin",
"precision": "8"
},
"txId": null,
"wallet": null,
"walletAddress": null,
"parentOrder": {
"id": null,
"publicId": null
},
"childOrder": {
"id": null,
"publicId": null
},
"payment": {
"method": "bank",
"id": null,
"meta": null,
"url": null,
"lifeSeconds": 7200,
"lifeUntilAt": 1656499971,
"currency": null,
"amount": null,
"feePercent": "2",
"feeAmount": "1.9599999936000000000000000",
"feeOnTop": false,
"showFee": true,
"proofUploaded": null
},
"commissions": {
"percent": "0.0000000000000000000000000",
"amount": "0.0000000000000000000000000"
},
"mode": {
"type": "normal",
"status": null,
"amount": null,
"rate": null,
"total": null,
"commission": null,
"additional": null,
"observation": null,
"expireAt": null,
"url": null
},
"meta": {
"main": []
},
"updates": {
"wallet": {
"status": null,
"address": null,
"url": null
}
},
"quote": {
"id": "e5696e15-cda2-45a2-8b9b-94e9a2f5c874",
"publicId": "J2F9LIKA"
},
"transfer": null,
"externalPlatform": {
"id": "b5a06762-0af5-4e18-89fd-1eb5b0f4e6e6",
"code": "ETH",
"name": "CryptoCoin",
"color_code": "#13CD89",
"urls": {
"website": "https:\/\/app.cryptocoin.pro\/",
"widget": "http:\/\/dev-checkout.cryptocoin-app.test\/order\/ETH"
}
},
"createdAt": 1656492771
},
"settledAt": 1656493131,
"createdAt": 1656492771
}
]
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (412):
{
"message": "JWT payload invalid."
}
Example response (416):
{
"message": "JWT is expired."
}
HTTP Request
GET /api/v1/platform/{platform}/bonus
URL Parameters
Parameter | Status | Description |
---|---|---|
platform |
required | The platform ID. |
Query Parameters
Parameter | Status | Description |
---|---|---|
id |
optional | Filter by ID. |
user |
optional | Filter by User Email/ID. |
order |
optional | Filter by Order ID. |
status |
optional | Filter by Status. |
amount |
optional | Filter by amount. |
Platform Services
Requires authentication Use this endpoint to get all services made by platform users.
Headers
Required header { "Token": "jwt-token" }
jwt-token = RS512 encoded jwt with payload { platform: required|string|in:{platformUUId}, expire: required|timestamp|after_or_equal:now }
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/service?id=883af487-69e3-4abf-bd51-4b1252764419&status=completed&service=3103d4c6-6280-44ac-8c9b-f33f545af7f0&service_name=Subscription+Name&service_type=subscription&order=3008ec8f-3aed-48c6-bead-347ecca427ab&beneficiary=merchant%40email.com" \
-H "Token: {jwt-token}" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/service"
);
let params = {
"id": "883af487-69e3-4abf-bd51-4b1252764419",
"status": "completed",
"service": "3103d4c6-6280-44ac-8c9b-f33f545af7f0",
"service_name": "Subscription Name",
"service_type": "subscription",
"order": "3008ec8f-3aed-48c6-bead-347ecca427ab",
"beneficiary": "merchant@email.com",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
let headers = {
"Token": "{jwt-token}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/service',
[
'headers' => [
'Token' => '{jwt-token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'id'=> '883af487-69e3-4abf-bd51-4b1252764419',
'status'=> 'completed',
'service'=> '3103d4c6-6280-44ac-8c9b-f33f545af7f0',
'service_name'=> 'Subscription Name',
'service_type'=> 'subscription',
'order'=> '3008ec8f-3aed-48c6-bead-347ecca427ab',
'beneficiary'=> 'merchant@email.com',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/service'
params = {
'id': '883af487-69e3-4abf-bd51-4b1252764419',
'status': 'completed',
'service': '3103d4c6-6280-44ac-8c9b-f33f545af7f0',
'service_name': 'Subscription Name',
'service_type': 'subscription',
'order': '3008ec8f-3aed-48c6-bead-347ecca427ab',
'beneficiary': 'merchant@email.com',
}
headers = {
'Token': '{jwt-token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()
Example response (200):
{
"data": [
{
"id": "883af487-69e3-4abf-bd51-4b1252764419",
"status": "completed",
"options": {
"permission": "all",
"recurrence_type": "months",
"recurrence_value": 1,
"recurrence_total": 2,
"recurrence_notify": 7,
"amount": 0.1,
"info": "Some info about this subscription service"
},
"user": {
"id": "66de494e-6791-4290-996c-32f42041fbf4",
"isActive": true,
"status": "active",
"tradeStatus": true,
"email": "al**@gmail.com",
"options": {
"language": "ro",
"theme": "light"
},
"meta": {
"source": "web"
},
"selfDeleted": {
"status": null,
"dates": {
"initiated": null,
"confirmed": null,
"deleted": null
}
},
"createdAt": 1554204615,
"deletedAt": null
},
"beneficiary": {
"id": "4bd38bbd-9fc0-4570-a7df-bb9b39e143de",
"email": "an**@boostit.com"
},
"service": {
"id": "ea69d0c9-8370-4aca-942d-ebcc50d2adaa",
"title": "Subscription Gaming 2 Months",
"type": "subscription",
"options": null
},
"orders": [],
"createdAt": 1671203509
}
]
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (412):
{
"message": "JWT payload invalid."
}
Example response (416):
{
"message": "JWT is expired."
}
HTTP Request
GET /api/v1/platform/{platform}/service
URL Parameters
Parameter | Status | Description |
---|---|---|
platform |
required | The platform ID. |
Query Parameters
Parameter | Status | Description |
---|---|---|
id |
optional | Filter by ID. |
status |
optional | Filter by Status. |
service |
optional | Filter by Service ID. |
service_name |
optional | Filter by Service Name. |
service_type |
optional | Filter by Service Type. |
order |
optional | Filter by Order. |
beneficiary |
optional | Filter by Beneficiary. |
Platform Owned Services Index
Requires authentication Use this endpoint to get all services owned by platform.
Headers
Required header { "Token": "jwt-token" }
jwt-token = RS512 encoded jwt with payload { platform: required|string|in:{platformUUId}, expire: required|timestamp|after_or_equal:now }
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/service/owned?id=883af487-69e3-4abf-bd51-4b1252764419&status=completed&service=3103d4c6-6280-44ac-8c9b-f33f545af7f0&service_name=Subscription+Name&service_type=subscription&order=3008ec8f-3aed-48c6-bead-347ecca427ab&beneficiary=merchant%40email.com" \
-H "Token: {jwt-token}" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/service/owned"
);
let params = {
"id": "883af487-69e3-4abf-bd51-4b1252764419",
"status": "completed",
"service": "3103d4c6-6280-44ac-8c9b-f33f545af7f0",
"service_name": "Subscription Name",
"service_type": "subscription",
"order": "3008ec8f-3aed-48c6-bead-347ecca427ab",
"beneficiary": "merchant@email.com",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
let headers = {
"Token": "{jwt-token}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/service/owned',
[
'headers' => [
'Token' => '{jwt-token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'id'=> '883af487-69e3-4abf-bd51-4b1252764419',
'status'=> 'completed',
'service'=> '3103d4c6-6280-44ac-8c9b-f33f545af7f0',
'service_name'=> 'Subscription Name',
'service_type'=> 'subscription',
'order'=> '3008ec8f-3aed-48c6-bead-347ecca427ab',
'beneficiary'=> 'merchant@email.com',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/service/owned'
params = {
'id': '883af487-69e3-4abf-bd51-4b1252764419',
'status': 'completed',
'service': '3103d4c6-6280-44ac-8c9b-f33f545af7f0',
'service_name': 'Subscription Name',
'service_type': 'subscription',
'order': '3008ec8f-3aed-48c6-bead-347ecca427ab',
'beneficiary': 'merchant@email.com',
}
headers = {
'Token': '{jwt-token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()
Example response (200):
{
"data": [
{
"id": "d5262d47-ae94-4749-a6a4-8933aefb9948",
"title": "My subscription testing service",
"type": "subscription",
"options": {
"info": "Some info about my service",
"amount": 1,
"recurrence_type": "days",
"recurrence_value": 7,
"recurrence_total": 2,
"recurrence_notify": 1
},
"user": null,
"externalPlatform": {
"id": "b5a06762-0af5-4e18-89fd-1eb5b0f4e6e6",
"code": "CCPRO",
"name": "CryptoCoin",
"color_code": "#13CD89",
"info": null,
"urls": {
"website": "https:\/\/app.cryptocoin.pro\/",
"widget": "http:\/\/dev-checkout.cryptocoin-app.test\/order\/ccpro"
}
}
}
],
"meta": {
"total": 1,
"current_page": 1,
"per_page": 20,
"last_page": 1
}
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (412):
{
"message": "JWT payload invalid."
}
Example response (416):
{
"message": "JWT is expired."
}
HTTP Request
GET /api/v1/platform/{platform}/service/owned
URL Parameters
Parameter | Status | Description |
---|---|---|
platform |
required | The platform ID. |
Query Parameters
Parameter | Status | Description |
---|---|---|
id |
optional | Filter by ID. |
status |
optional | Filter by Status. |
service |
optional | Filter by Service ID. |
service_name |
optional | Filter by Service Name. |
service_type |
optional | Filter by Service Type. |
order |
optional | Filter by Order. |
beneficiary |
optional | Filter by Beneficiary. |
Platform Owned Services Store
Requires authentication Use this endpoint to store new services owned by platform.
Headers
Required header { "Token": "jwt-token" }
jwt-token = RS512 encoded jwt with payload { platform: required|string|in:{platformUUId}, expire: required|timestamp|after_or_equal:now }
Example request:
curl -X POST \
"https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/service/owned" \
-H "Token: {jwt-token}" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"type":"donation","title":"My donation","options":{"info":"My donation information text","amount":"0.5"}}'
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/service/owned"
);
let headers = {
"Token": "{jwt-token}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"type": "donation",
"title": "My donation",
"options": {
"info": "My donation information text",
"amount": "0.5"
}
}
fetch(url, {
method: "POST",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/service/owned',
[
'headers' => [
'Token' => '{jwt-token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'type' => 'donation',
'title' => 'My donation',
'options' => [
'info' => 'My donation information text',
'amount' => '0.5',
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/service/owned'
payload = {
"type": "donation",
"title": "My donation",
"options": {
"info": "My donation information text",
"amount": "0.5"
}
}
headers = {
'Token': '{jwt-token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Example response (201):
{
"data": {
"id": "d5262d47-ae94-4749-a6a4-8933aefb9948",
"title": "My subscription testing service",
"type": "subscription",
"options": {
"info": "Some info about my service",
"amount": 1,
"recurrence_type": "days",
"recurrence_value": 7,
"recurrence_total": 2,
"recurrence_notify": 1
},
"user": null,
"externalPlatform": {
"id": "b5a06762-0af5-4e18-89fd-1eb5b0f4e6e6",
"code": "CCPRO",
"name": "CryptoCoin",
"color_code": "#13CD89",
"info": null,
"urls": {
"website": "https:\/\/app.cryptocoin.pro\/",
"widget": "http:\/\/dev-checkout.cryptocoin-app.test\/order\/ccpro"
}
}
}
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (412):
{
"message": "JWT payload invalid."
}
Example response (416):
{
"message": "JWT is expired."
}
HTTP Request
POST /api/v1/platform/{platform}/service/owned
URL Parameters
Parameter | Status | Description |
---|---|---|
platform |
required | The platform ID. |
Body Parameters
Parameter | Type | Status | Description |
---|---|---|---|
type |
string | required | The platform service type - (string|n:donation,subscription,payoff,invoice). |
title |
string | required | The platform service title - (string|max:191). |
options.info |
string | optional | The platform service options info - (string|max:191). |
options.amount |
string | optional | The platform service options amount - (string|max:191). |
Platform Settlements
Requires authentication Use this endpoint to get all settlements made by platform owner.
Headers
Required header { "Token": "jwt-token" }
jwt-token = RS512 encoded jwt with payload { platform: required|string|in:{platformUUId}, expire: required|timestamp|after_or_equal:now }
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/settlement?id=iZE9qxz6&user=jon%40winterfell.got&order=BO4PL7YB&status=distributed&amount=1&type=percent&value=5" \
-H "Token: {jwt-token}" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/settlement"
);
let params = {
"id": "iZE9qxz6",
"user": "jon@winterfell.got",
"order": "BO4PL7YB",
"status": "distributed",
"amount": "1",
"type": "percent",
"value": "5",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
let headers = {
"Token": "{jwt-token}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/settlement',
[
'headers' => [
'Token' => '{jwt-token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'id'=> 'iZE9qxz6',
'user'=> 'jon@winterfell.got',
'order'=> 'BO4PL7YB',
'status'=> 'distributed',
'amount'=> '1',
'type'=> 'percent',
'value'=> '5',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/settlement'
params = {
'id': 'iZE9qxz6',
'user': 'jon@winterfell.got',
'order': 'BO4PL7YB',
'status': 'distributed',
'amount': '1',
'type': 'percent',
'value': '5',
}
headers = {
'Token': '{jwt-token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()
Example response (200):
{
"data": [
{
"id": "51841783-42c6-4426-b180-20e1239fca51",
"amount": "5",
"type": "amount",
"value": "5",
"status": "canceled",
"user": {
"id": "66de494e-6791-4290-996c-32f42041fbf4",
"isActive": true,
"status": "active",
"tradeStatus": true,
"email": "al***@gmail.com",
"options": {
"language": "en",
"theme": "light",
"layout": "expanded",
"guard": {
"antiPhishing": "te***",
"actions": {
"login": {
"2fa": true,
"password": true
},
"operations": {
"2fa": true,
"password": true
}
}
}
},
"meta": {
"source": "web"
},
"selfDeleted": {
"status": null,
"dates": {
"initiated": null,
"confirmed": null,
"deleted": null
}
},
"createdAt": 1554204615,
"deletedAt": null
},
"asset": {
"name": "Ethereum",
"symbol": "ETH",
"alias": null,
"type": "coin",
"precision": "8"
},
"order": {
"id": "dee03f54-5a31-41af-964b-68fb4fbe2652",
"publicId": "2RBYMNQO",
"status": "REJECTED",
"statusReason": null,
"type": "coin",
"typeOperation": "in",
"typeOperationName": "buy_with_fiat",
"fromSymbol": "EUR",
"fromAmount": "99.9999999936000000000000000",
"rate": "2.1420000000000000000000000",
"toSymbol": "ETH",
"toAmount": "46.6853408000000000000000000",
"fromAsset": {
"name": "Euro",
"symbol": "EUR",
"alias": null,
"type": "fiat",
"precision": "2"
},
"toAsset": {
"name": "Ethereum",
"symbol": "ETH",
"alias": null,
"type": "coin",
"precision": "8"
},
"txId": null,
"wallet": null,
"walletAddress": null,
"parentOrder": {
"id": null,
"publicId": null
},
"childOrder": {
"id": null,
"publicId": null
},
"payment": {
"method": "bank",
"id": null,
"meta": null,
"url": null,
"lifeSeconds": 7200,
"lifeUntilAt": 1656499971,
"currency": null,
"amount": null,
"feePercent": "2",
"feeAmount": "1.9599999936000000000000000",
"feeOnTop": false,
"showFee": true,
"proofUploaded": null
},
"commissions": {
"percent": "0.0000000000000000000000000",
"amount": "0.0000000000000000000000000"
},
"mode": {
"type": "normal",
"status": null,
"amount": null,
"rate": null,
"total": null,
"commission": null,
"additional": null,
"observation": null,
"expireAt": null,
"url": null
},
"meta": {
"main": []
},
"updates": {
"wallet": {
"status": null,
"address": null,
"url": null
}
},
"quote": {
"id": "e5696e15-cda2-45a2-8b9b-94e9a2f5c874",
"publicId": "J2F9LIKA"
},
"transfer": null,
"externalPlatform": {
"id": "b5a06762-0af5-4e18-89fd-1eb5b0f4e6e6",
"code": "ETH",
"name": "CryptoCoin",
"color_code": "#13CD89",
"urls": {
"website": "https:\/\/app.cryptocoin.pro\/",
"widget": "http:\/\/dev-checkout.cryptocoin-app.test\/order\/ETH"
}
},
"createdAt": 1656492771
},
"bonusedAt": 1656493131,
"createdAt": 1656492771
}
]
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (412):
{
"message": "JWT payload invalid."
}
Example response (416):
{
"message": "JWT is expired."
}
HTTP Request
GET /api/v1/platform/{platform}/settlement
URL Parameters
Parameter | Status | Description |
---|---|---|
platform |
required | The platform ID. |
Query Parameters
Parameter | Status | Description |
---|---|---|
id |
optional | Filter by ID. |
user |
optional | Filter by User Email/ID. |
order |
optional | Filter by Order ID. |
status |
optional | Filter by Status. |
amount |
optional | Filter by Amount. |
type |
optional | Filter by Type. |
value |
optional | Filter by Value. |
Platform Securities
Requires authentication Use this endpoint to get all API securities made by platform.
Headers
Required header { "Token": "jwt-token" }
jwt-token = RS512 encoded jwt with payload { platform: required|string|in:{platformUUId}, expire: required|timestamp|after_or_equal:now }
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/securities?user=jon%40winterfell.got&name=logout&ip=127.0.0.1" \
-H "Token: {jwt-token}" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/securities"
);
let params = {
"user": "jon@winterfell.got",
"name": "logout",
"ip": "127.0.0.1",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
let headers = {
"Token": "{jwt-token}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/securities',
[
'headers' => [
'Token' => '{jwt-token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'user'=> 'jon@winterfell.got',
'name'=> 'logout',
'ip'=> '127.0.0.1',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/securities'
params = {
'user': 'jon@winterfell.got',
'name': 'logout',
'ip': '127.0.0.1',
}
headers = {
'Token': '{jwt-token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()
Example response (200):
{
"data": [
{
"code": "login_success",
"name": "Login Success",
"by": "CryptoCoin",
"ip": "127.0.0.1",
"user": {
"id": "a24aa5f4-928a-4c5d-bfb5-e6507f712d0b",
"isActive": true,
"tradeStatus": true,
"email": "andreea+20@gmail.com",
"options": {
"language": "en",
"theme": "light"
},
"meta": {
"source": "checkout"
},
"selfDeletedAt": null,
"createdAt": 1597148068
},
"createdAt": 1597149422
}
]
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (412):
{
"message": "JWT payload invalid."
}
Example response (416):
{
"message": "JWT is expired."
}
HTTP Request
GET /api/v1/platform/{platform}/securities
URL Parameters
Parameter | Status | Description |
---|---|---|
platform |
required | The platform ID. |
Query Parameters
Parameter | Status | Description |
---|---|---|
user |
optional | Filter by User Email/ID. |
name |
optional | Filter by Name. |
ip |
optional | Filter by IP. |
Platform IEN Requests
Requires authentication Use this endpoint to get all IEN Requests made by platform.
Headers
Required header { "Token": "jwt-token" }
jwt-token = RS512 encoded jwt with payload { platform: required|string|in:{platformUUId}, expire: required|timestamp|after_or_equal:now }
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/ien-requests?endpoint=winterfell.got&method=GET&status=200&algorithm=RS512&ien_version=2&attempts=1" \
-H "Token: {jwt-token}" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/ien-requests"
);
let params = {
"endpoint": "winterfell.got",
"method": "GET",
"status": "200",
"algorithm": "RS512",
"ien_version": "2",
"attempts": "1",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
let headers = {
"Token": "{jwt-token}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/ien-requests',
[
'headers' => [
'Token' => '{jwt-token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'endpoint'=> 'winterfell.got',
'method'=> 'GET',
'status'=> '200',
'algorithm'=> 'RS512',
'ien_version'=> '2',
'attempts'=> '1',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/ien-requests'
params = {
'endpoint': 'winterfell.got',
'method': 'GET',
'status': '200',
'algorithm': 'RS512',
'ien_version': '2',
'attempts': '1',
}
headers = {
'Token': '{jwt-token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()
Example response (200):
{
"data": [
{
"endpoint": "https:\/\/extPlatform.io",
"verb": "POST",
"request": "{\"some\":\"data\"}",
"status": "200",
"response": "{\"some\":\"data\"}",
"attempts": 1,
"algorithm": "RS512",
"ien_version": 2,
"createdAt": 1588081150
}
]
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (412):
{
"message": "JWT payload invalid."
}
Example response (416):
{
"message": "JWT is expired."
}
HTTP Request
GET /api/v1/platform/{platform}/ien-requests
URL Parameters
Parameter | Status | Description |
---|---|---|
platform |
required | The platform ID. |
Query Parameters
Parameter | Status | Description |
---|---|---|
endpoint |
optional | Filter by Endpoint. |
method |
optional | Filter by Method. |
status |
optional | Filter by Status. |
algorithm |
optional | Filter by Algorithm. |
ien_version |
optional | Filter by IEN version. |
attempts |
optional | Filter by Attempts. |
Platform API Requests
Requires authentication Use this endpoint to get all API Requests made by platform.
Headers
Required header { "Token": "jwt-token" }
jwt-token = RS512 encoded jwt with payload { platform: required|string|in:{platformUUId}, expire: required|timestamp|after_or_equal:now }
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/api-requests?user=jon%40winterfell.got&url=winterfell.got&method=get&status=200&ip=127.0.0.1" \
-H "Token: {jwt-token}" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/api-requests"
);
let params = {
"user": "jon@winterfell.got",
"url": "winterfell.got",
"method": "get",
"status": "200",
"ip": "127.0.0.1",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
let headers = {
"Token": "{jwt-token}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/api-requests',
[
'headers' => [
'Token' => '{jwt-token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'user'=> 'jon@winterfell.got',
'url'=> 'winterfell.got',
'method'=> 'get',
'status'=> '200',
'ip'=> '127.0.0.1',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/api-requests'
params = {
'user': 'jon@winterfell.got',
'url': 'winterfell.got',
'method': 'get',
'status': '200',
'ip': '127.0.0.1',
}
headers = {
'Token': '{jwt-token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()
Example response (200):
{
"data": [
{
"status": "200",
"method": "GET",
"ip": "127.0.0.1",
"source": "raw",
"uri": "api\/v1\/platform\/{platform}\/api-hits",
"user": {
"id": "66de494e-6791-4290-996c-32f42041fbf4",
"isActive": true,
"tradeStatus": true,
"email": "al**@gmail.com",
"options": {
"language": "en",
"theme": "dark"
},
"meta": {
"source": "web"
},
"selfDeletedAt": null,
"createdAt": 1554204615
},
"createdAt": 1598861053
}
]
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (412):
{
"message": "JWT payload invalid."
}
Example response (416):
{
"message": "JWT is expired."
}
HTTP Request
GET /api/v1/platform/{platform}/api-requests
URL Parameters
Parameter | Status | Description |
---|---|---|
platform |
required | The platform ID. |
Query Parameters
Parameter | Status | Description |
---|---|---|
user |
optional | Filter by User Email/ID. |
url |
optional | Filter by URL. |
method |
optional | Filter by Method. |
status |
optional | Filter by Status. |
ip |
optional | Filter by IP. |
Platform Emails Logs
Requires authentication Use this endpoint to get all emails history logs made by platform.
Headers
Required header { "Token": "jwt-token" }
jwt-token = RS512 encoded jwt with payload { platform: required|string|in:{platformUUId}, expire: required|timestamp|after_or_equal:now }
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/email-history?to=jon%40winterfell.got&subject=Change+email&context_type=Order&context_id=24jkl5j4&status=delivery" \
-H "Token: {jwt-token}" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/email-history"
);
let params = {
"to": "jon@winterfell.got",
"subject": "Change email",
"context_type": "Order",
"context_id": "24jkl5j4",
"status": "delivery",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
let headers = {
"Token": "{jwt-token}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/email-history',
[
'headers' => [
'Token' => '{jwt-token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'to'=> 'jon@winterfell.got',
'subject'=> 'Change email',
'context_type'=> 'Order',
'context_id'=> '24jkl5j4',
'status'=> 'delivery',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/email-history'
params = {
'to': 'jon@winterfell.got',
'subject': 'Change email',
'context_type': 'Order',
'context_id': '24jkl5j4',
'status': 'delivery',
}
headers = {
'Token': '{jwt-token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()
Example response (200):
{
"data": [
{
"id": "016da161-dd7a-4594-a45f-903118e13d0a",
"subject": "Checkout Order",
"status": "sending",
"context": {
"type": "Order",
"id": "03ea8b26-ce21-426e-9f29-275a9e3f7849",
"publicId": "7XZG3FWW"
},
"user": {
"id": "7e981c56-36fe-46fa-bfe5-7852e4c48e78",
"isActive": true,
"status": "active",
"tradeStatus": true,
"email": "andreeacreanga95+104@gmail.com",
"options": {
"language": "en",
"theme": "light"
},
"meta": {
"source": "checkout"
},
"selfDeleted": {
"status": null,
"dates": {
"initiated": null,
"confirmed": null,
"deleted": null
}
},
"createdAt": 1605011180,
"deletedAt": null
},
"createdAt": 1605011406
}
]
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (412):
{
"message": "JWT payload invalid."
}
Example response (416):
{
"message": "JWT is expired."
}
HTTP Request
GET /api/v1/platform/{platform}/email-history
URL Parameters
Parameter | Status | Description |
---|---|---|
platform |
required | The platform ID. |
Query Parameters
Parameter | Status | Description |
---|---|---|
to |
optional | Filter by User Email/ID. |
subject |
optional | Filter by Subject. |
context_type |
optional | Filter by Context Type. |
context_id |
optional | Filter by Context ID. |
status |
optional | Filter by Status. |
Platform Phones Logs
Requires authentication Use this endpoint to get all phones history logs made by platform.
Headers
Required header { "Token": "jwt-token" }
jwt-token = RS512 encoded jwt with payload { platform: required|string|in:{platformUUId}, expire: required|timestamp|after_or_equal:now }
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/phone-history?to=jon%40winterfell.got&subject=Change+email&context_type=Order&context_id=24jkl5j4&status=delivery" \
-H "Token: {jwt-token}" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/phone-history"
);
let params = {
"to": "jon@winterfell.got",
"subject": "Change email",
"context_type": "Order",
"context_id": "24jkl5j4",
"status": "delivery",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
let headers = {
"Token": "{jwt-token}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/phone-history',
[
'headers' => [
'Token' => '{jwt-token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'to'=> 'jon@winterfell.got',
'subject'=> 'Change email',
'context_type'=> 'Order',
'context_id'=> '24jkl5j4',
'status'=> 'delivery',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/phone-history'
params = {
'to': 'jon@winterfell.got',
'subject': 'Change email',
'context_type': 'Order',
'context_id': '24jkl5j4',
'status': 'delivery',
}
headers = {
'Token': '{jwt-token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()
Example response (200):
{
"data": [
{
"id": "ebc241b8-ebb2-4226-916b-e43add650972",
"status": "sent",
"context": {
"type": "Phone",
"id": "f2003834-bf58-41c0-8784-d2c08431de78",
"publicId": null
},
"phone": {
"id": "f2003834-bf58-41c0-8784-d2c08431de78",
"phone": "+407***6823",
"status": 1,
"default": 1,
"createdAt": 1656336427
},
"company": null,
"createdAt": 1617196996
}
]
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (412):
{
"message": "JWT payload invalid."
}
Example response (416):
{
"message": "JWT is expired."
}
HTTP Request
GET /api/v1/platform/{platform}/phone-history
URL Parameters
Parameter | Status | Description |
---|---|---|
platform |
required | The platform ID. |
Query Parameters
Parameter | Status | Description |
---|---|---|
to |
optional | Filter by User Email/ID. |
subject |
optional | Filter by Subject. |
context_type |
optional | Filter by Context Type. |
context_id |
optional | Filter by Context ID. |
status |
optional | Filter by Status. |
Platform Companies
Requires authentication Use this endpoint to get all companies made by platform.
Headers
Required header { "Token": "jwt-token" }
jwt-token = RS512 encoded jwt with payload { platform: required|string|in:{platformUUId}, expire: required|timestamp|after_or_equal:now }
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/company?id=5f374d03-be0d-4dd2-b6ef-112a2bec5963&to=jon%40winterfell.got&status=rejected" \
-H "Token: {jwt-token}" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/company"
);
let params = {
"id": "5f374d03-be0d-4dd2-b6ef-112a2bec5963",
"to": "jon@winterfell.got",
"status": "rejected",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
let headers = {
"Token": "{jwt-token}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/company',
[
'headers' => [
'Token' => '{jwt-token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'id'=> '5f374d03-be0d-4dd2-b6ef-112a2bec5963',
'to'=> 'jon@winterfell.got',
'status'=> 'rejected',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/company'
params = {
'id': '5f374d03-be0d-4dd2-b6ef-112a2bec5963',
'to': 'jon@winterfell.got',
'status': 'rejected',
}
headers = {
'Token': '{jwt-token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()
Example response (200):
{
"data": [
{
"id": "057e622c-3ca9-4e67-a968-e5f9985303e5",
"name": "Company",
"corporateRegistrationNumber": "123456",
"website": "http:\/\/www.company.com",
"naceCode": "J62.0",
"lei": "529900T8BM49AURSDO55",
"vatNr": "BG999999999",
"tinNr": "9999999999",
"state": "England",
"city": "Liverpool",
"address": "22 Eden Street",
"zip": "123456",
"postalAddress": null,
"phone": "+40788888888",
"fatca": {
"entityName": "Entity Name",
"securitiesMarketName": "Securities Market Name",
"isinNumber": "US-000402625-0"
},
"usTax": {
"companyName": "Company",
"country": "GB",
"other": "Other info"
},
"crs": {
"status": "pending",
"tin": "9999999999"
},
"status": "processing",
"shareholders": [
{
"id": "983d74ef-c2b7-4704-a5bd-988d65156806",
"role": "beneficial_owner",
"shares": 1,
"nationality": "romanian",
"pep": 1,
"pepConnected": 1,
"beneficialDetails": "test",
"user": {
"id": "9da1ca16-687d-4ebb-a375-fcee12109326",
"isActive": true,
"status": "active",
"tradeStatus": true,
"email": "user@gmail.com",
"options": {
"language": "en",
"theme": "light"
},
"meta": {
"source": "api"
},
"selfDeleted": {
"status": null,
"dates": {
"initiated": null,
"confirmed": null,
"deleted": null
}
},
"createdAt": 1597821627,
"deletedAt": null
},
"createdAt": 1619083079
}
],
"createdAt": 1607350633
}
]
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (412):
{
"message": "JWT payload invalid."
}
Example response (416):
{
"message": "JWT is expired."
}
HTTP Request
GET /api/v1/platform/{platform}/company
URL Parameters
Parameter | Status | Description |
---|---|---|
platform |
required | The platform ID. |
Query Parameters
Parameter | Status | Description |
---|---|---|
id |
optional | Filter by ID. |
to |
optional | Filter by User Email/ID. |
status |
optional | Filter by Status. |
Platform Rate Buy
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/platform/1/price/buy/EUR/ETH" \
-H "Token: {jwt-token}" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/platform/1/price/buy/EUR/ETH"
);
let headers = {
"Token": "{jwt-token}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/platform/1/price/buy/EUR/ETH',
[
'headers' => [
'Token' => '{jwt-token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/platform/1/price/buy/EUR/ETH'
headers = {
'Token': '{jwt-token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers)
response.json()
Example response (200):
{
"data": {
"rate": "6383.37700000000000000000000000000000000000000000000000",
"rateRaw": "6377",
"commission": {
"from": "0.09990009990009990009990036200000000000000000000000",
"to": "0.00001566568917988080603730600000000000000000000000",
"percent": 0.1,
"discount": 0
},
"amounts": {
"from": "100",
"to": "0.01566568917988080603730595889918455388111966440334"
},
"assets": {
"from": "EUR",
"to": "BTC"
},
"payment": {
"processor": null,
"fee": null,
"feeOnTop": null
},
"operation": "buy_with_fiat"
}
}
Example response (403):
{
"message": "ERROR: from_amount and to_amount cannot be both filled",
"errors": {}
}
Example response (405):
{
"message": "Operation not available!",
"errors": {}
}
HTTP Request
GET /api/v1/platform/{platform}/price/buy/{from}/{to}
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
from |
required | The asset symbol From. |
to |
required | The asset symbol To. |
from_amount |
optional | The asset amount From. |
to_amount |
optional | The asset amount To. |
Platform Rate Sell
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/platform/1/price/sell/ETH/EUR" \
-H "Token: {jwt-token}" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/platform/1/price/sell/ETH/EUR"
);
let headers = {
"Token": "{jwt-token}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/platform/1/price/sell/ETH/EUR',
[
'headers' => [
'Token' => '{jwt-token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/platform/1/price/sell/ETH/EUR'
headers = {
'Token': '{jwt-token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers)
response.json()
Example response (200):
{
"data": {
"rate": "6383.37700000000000000000000000000000000000000000000000",
"rateRaw": "6377",
"commission": {
"from": "0.09990009990009990009990036200000000000000000000000",
"to": "0.00001566568917988080603730600000000000000000000000",
"percent": 0.1,
"discount": 0
},
"amounts": {
"from": "100",
"to": "0.01566568917988080603730595889918455388111966440334"
},
"assets": {
"from": "EUR",
"to": "BTC"
},
"payment": {
"processor": null,
"fee": null,
"feeOnTop": null
},
"operation": "sell_to_fiat"
}
}
Example response (403):
{
"message": "ERROR: from_amount and to_amount cannot be both filled",
"errors": {}
}
Example response (405):
{
"message": "Operation not available!",
"errors": {}
}
HTTP Request
GET /api/v1/platform/{platform}/price/sell/{from}/{to}
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
from |
required | The asset symbol From. |
to |
required | The asset symbol To. |
from_amount |
optional | The asset amount From. |
to_amount |
optional | The asset amount To. |
Platform Rate Pay
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/platform/1/price/pay/ETH/EUR" \
-H "Token: {jwt-token}" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/platform/1/price/pay/ETH/EUR"
);
let headers = {
"Token": "{jwt-token}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/platform/1/price/pay/ETH/EUR',
[
'headers' => [
'Token' => '{jwt-token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/platform/1/price/pay/ETH/EUR'
headers = {
'Token': '{jwt-token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers)
response.json()
Example response (200):
{
"data": {
"rate": "6383.37700000000000000000000000000000000000000000000000",
"rateRaw": "6377",
"commission": {
"from": "0.09990009990009990009990036200000000000000000000000",
"to": "0.00001566568917988080603730600000000000000000000000",
"percent": 0.1,
"discount": 0
},
"amounts": {
"from": "100",
"to": "0.01566568917988080603730595889918455388111966440334"
},
"assets": {
"from": "EUR",
"to": "BTC"
},
"payment": {
"processor": null,
"fee": null,
"feeOnTop": null
},
"operation": "sell_to_fiat"
}
}
Example response (403):
{
"message": "ERROR: from_amount and to_amount cannot be both filled",
"errors": {}
}
Example response (405):
{
"message": "Operation not available!",
"errors": {}
}
HTTP Request
GET /api/v1/platform/{platform}/price/pay/{from}/{to}
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
from |
required | The asset symbol From. |
to |
required | The asset symbol To. |
from_amount |
optional | The asset amount From. |
to_amount |
optional | The asset amount To. |
Platform Rate Withdraw
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/platform/1/price/withdraw/ETH/ETH" \
-H "Token: {jwt-token}" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/platform/1/price/withdraw/ETH/ETH"
);
let headers = {
"Token": "{jwt-token}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/platform/1/price/withdraw/ETH/ETH',
[
'headers' => [
'Token' => '{jwt-token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/platform/1/price/withdraw/ETH/ETH'
headers = {
'Token': '{jwt-token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers)
response.json()
Example response (200):
{
"data": {
"rate": "6383.37700000000000000000000000000000000000000000000000",
"rateRaw": "6377",
"commission": {
"from": "0.09990009990009990009990036200000000000000000000000",
"to": "0.00001566568917988080603730600000000000000000000000",
"percent": 0.1,
"discount": 0
},
"amounts": {
"from": "100",
"to": "0.01566568917988080603730595889918455388111966440334"
},
"assets": {
"from": "EUR",
"to": "BTC"
},
"payment": {
"processor": null,
"fee": null,
"feeOnTop": null
},
"operation": "withdraw"
}
}
Example response (403):
{
"message": "ERROR: from_amount and to_amount cannot be both filled",
"errors": {}
}
Example response (405):
{
"message": "Operation not available!",
"errors": {}
}
HTTP Request
GET /api/v1/platform/{platform}/price/withdraw/{from}/{to}
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
from |
required | The asset symbol From. |
to |
required | The asset symbol To. |
from_amount |
optional | The asset amount From. |
to_amount |
optional | The asset amount To. |
Platform Rate WithdrawIco
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/platform/1/price/withdraw-ico/IPSX/IPSX" \
-H "Token: {jwt-token}" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/platform/1/price/withdraw-ico/IPSX/IPSX"
);
let headers = {
"Token": "{jwt-token}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/platform/1/price/withdraw-ico/IPSX/IPSX',
[
'headers' => [
'Token' => '{jwt-token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/platform/1/price/withdraw-ico/IPSX/IPSX'
headers = {
'Token': '{jwt-token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers)
response.json()
Example response (200):
{
"data": {
"rate": "6383.37700000000000000000000000000000000000000000000000",
"rateRaw": "6377",
"commission": {
"from": "0.09990009990009990009990036200000000000000000000000",
"to": "0.00001566568917988080603730600000000000000000000000",
"percent": 0.1,
"discount": 0
},
"amounts": {
"from": "100",
"to": "0.01566568917988080603730595889918455388111966440334"
},
"assets": {
"from": "EUR",
"to": "BTC"
},
"payment": {
"processor": null,
"fee": null,
"feeOnTop": null
},
"operation": "withdrawIco"
}
}
Example response (403):
{
"message": "ERROR: from_amount and to_amount cannot be both filled",
"errors": {}
}
Example response (405):
{
"message": "Operation not available!",
"errors": {}
}
HTTP Request
GET /api/v1/platform/{platform}/price/withdraw-ico/{from}/{to}
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
from |
required | The asset symbol From. |
to |
required | The asset symbol To. |
from_amount |
optional | The asset amount From. |
to_amount |
optional | The asset amount To. |
Platform Tickets
Requires authentication Use this endpoint to get all tickets made to platform.
Headers
Required header { "Token": "jwt-token" }
jwt-token = RS512 encoded jwt with payload { platform: required|string|in:{platformUUId}, expire: required|timestamp|after_or_equal:now }
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/ticket?status=open" \
-H "Token: {jwt-token}" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/ticket"
);
let params = {
"status": "open",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
let headers = {
"Token": "{jwt-token}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/ticket',
[
'headers' => [
'Token' => '{jwt-token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'status'=> 'open',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/ticket'
params = {
'status': 'open',
}
headers = {
'Token': '{jwt-token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()
Example response (200):
{
"data": [
{
"id": "dfa15005-e38a-4bc2-8459-6c2764be7eb6",
"title": "Ticket Title",
"description": "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.",
"status": "open",
"user": {
"id": "a24aa5f4-928a-4c5d-bfb5-e6507f712d0b",
"isActive": true,
"tradeStatus": true,
"email": "andreea+20@gmail.com",
"options": {
"language": "en",
"theme": "light",
"layout": "compact",
"guard": {
"antiPhishing": null,
"actions": {
"login": {
"2fa": false,
"password": false
},
"operations": {
"2fa": false,
"password": false
}
}
}
},
"meta": {
"source": "web"
},
"selfDeletedAt": null,
"createdAt": 1597148068
},
"externalPlatform": {
"code": "PlatformName",
"name": "PlatformCode",
"url": "https:\/\/platform.io\/"
},
"createdAt": 1597149422
}
]
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (412):
{
"message": "JWT payload invalid."
}
Example response (416):
{
"message": "JWT is expired."
}
HTTP Request
GET /api/v1/platform/{platform}/ticket
URL Parameters
Parameter | Status | Description |
---|---|---|
platform |
required | The platform ID. |
Query Parameters
Parameter | Status | Description |
---|---|---|
status |
optional | Filter by status. |
Platform Ticket Create
Requires authentication Use this endpoint to create ticket made to platform.
Headers
Required header { "Token": "jwt-token" }
jwt-token = RS512 encoded jwt with payload { platform: required|string|in:{platformUUId}, expire: required|timestamp|after_or_equal:now }
Example request:
curl -X POST \
"https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/ticket" \
-H "Token: {jwt-token}" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"modelType":"order","modelId":"4b45540b-dd62-4554-8788-a883dcb6cfd2","title":"order","description":"foo"}'
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/ticket"
);
let headers = {
"Token": "{jwt-token}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"modelType": "order",
"modelId": "4b45540b-dd62-4554-8788-a883dcb6cfd2",
"title": "order",
"description": "foo"
}
fetch(url, {
method: "POST",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/ticket',
[
'headers' => [
'Token' => '{jwt-token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'modelType' => 'order',
'modelId' => '4b45540b-dd62-4554-8788-a883dcb6cfd2',
'title' => 'order',
'description' => 'foo',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/ticket'
payload = {
"modelType": "order",
"modelId": "4b45540b-dd62-4554-8788-a883dcb6cfd2",
"title": "order",
"description": "foo"
}
headers = {
'Token': '{jwt-token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Example response (201):
{
"data": [
{
"id": "dfa15005-e38a-4bc2-8459-6c2764be7eb6",
"title": "Ticket Title",
"description": "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.",
"status": "open",
"user": {
"id": "a24aa5f4-928a-4c5d-bfb5-e6507f712d0b",
"isActive": true,
"tradeStatus": true,
"email": "andreea+20@gmail.com",
"options": {
"language": "en",
"theme": "light",
"layout": "compact",
"guard": {
"antiPhishing": null,
"actions": {
"login": {
"2fa": false,
"password": false
},
"operations": {
"2fa": false,
"password": false
}
}
}
},
"meta": {
"source": "web"
},
"selfDeletedAt": null,
"createdAt": 1597148068
},
"externalPlatform": {
"code": "PlatformName",
"name": "PlatformCode",
"url": "https:\/\/platform.io\/"
},
"createdAt": 1597149422
}
]
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (412):
{
"message": "JWT payload invalid."
}
Example response (416):
{
"message": "JWT is expired."
}
HTTP Request
POST /api/v1/platform/{platform}/ticket
URL Parameters
Parameter | Status | Description |
---|---|---|
platform |
required | The platform ID. |
ticket |
required | The ticket ID. |
Body Parameters
Parameter | Type | Status | Description |
---|---|---|---|
modelType |
string | optional | The ticket involved entity - (in:order,quote,checkout,transfer,vesting). |
modelId |
string | optional | The ticket involved entity id. |
title |
string | required | The ticket title. |
description |
string | required | The ticket description. (min:5|max:10000) |
Platform Ticket Show
Requires authentication Use this endpoint to get ticket made to platform.
Headers
Required header { "Token": "jwt-token" }
jwt-token = RS512 encoded jwt with payload { platform: required|string|in:{platformUUId}, expire: required|timestamp|after_or_equal:now }
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/ticket/dfa15005-e38a-4bc2-8459-6c2764be7eb6" \
-H "Token: {jwt-token}" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/ticket/dfa15005-e38a-4bc2-8459-6c2764be7eb6"
);
let headers = {
"Token": "{jwt-token}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/ticket/dfa15005-e38a-4bc2-8459-6c2764be7eb6',
[
'headers' => [
'Token' => '{jwt-token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/ticket/dfa15005-e38a-4bc2-8459-6c2764be7eb6'
headers = {
'Token': '{jwt-token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers)
response.json()
Example response (200):
{
"data": {
"id": "dfa15005-e38a-4bc2-8459-6c2764be7eb6",
"title": "Ticket Title",
"description": "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.",
"status": "open",
"user": {
"id": "a24aa5f4-928a-4c5d-bfb5-e6507f712d0b",
"isActive": true,
"tradeStatus": true,
"email": "andreea+20@gmail.com",
"options": {
"language": "en",
"theme": "light",
"layout": "compact",
"guard": {
"antiPhishing": null,
"actions": {
"login": {
"2fa": false,
"password": false
},
"operations": {
"2fa": false,
"password": false
}
}
}
},
"meta": {
"source": "web"
},
"selfDeletedAt": null,
"createdAt": 1597148068
},
"externalPlatform": {
"code": "PlatformName",
"name": "PlatformCode",
"url": "https:\/\/platform.io\/"
},
"createdAt": 1597149422
}
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (412):
{
"message": "JWT payload invalid."
}
Example response (416):
{
"message": "JWT is expired."
}
HTTP Request
GET /api/v1/platform/{platform}/ticket/{ticket}
URL Parameters
Parameter | Status | Description |
---|---|---|
platform |
required | The platform ID. |
ticket |
required | The ticket ID. |
Platform Ticket Reply
Requires authentication Use this endpoint to reply ticket made to platform.
Headers
Required header { "Token": "jwt-token" }
jwt-token = RS512 encoded jwt with payload { platform: required|string|in:{platformUUId}, expire: required|timestamp|after_or_equal:now }
Example request:
curl -X POST \
"https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/ticket/dfa15005-e38a-4bc2-8459-6c2764be7eb6/reply" \
-H "Token: {jwt-token}" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"description":"foo"}'
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/ticket/dfa15005-e38a-4bc2-8459-6c2764be7eb6/reply"
);
let headers = {
"Token": "{jwt-token}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"description": "foo"
}
fetch(url, {
method: "POST",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/ticket/dfa15005-e38a-4bc2-8459-6c2764be7eb6/reply',
[
'headers' => [
'Token' => '{jwt-token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'description' => 'foo',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/ticket/dfa15005-e38a-4bc2-8459-6c2764be7eb6/reply'
payload = {
"description": "foo"
}
headers = {
'Token': '{jwt-token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Example response (200):
{
"data": [
{
"id": "dfa15005-e38a-4bc2-8459-6c2764be7eb6",
"title": "Ticket Title",
"description": "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.",
"status": "open",
"user": {
"id": "a24aa5f4-928a-4c5d-bfb5-e6507f712d0b",
"isActive": true,
"tradeStatus": true,
"email": "andreea+20@gmail.com",
"options": {
"language": "en",
"theme": "light",
"layout": "compact",
"guard": {
"antiPhishing": null,
"actions": {
"login": {
"2fa": false,
"password": false
},
"operations": {
"2fa": false,
"password": false
}
}
}
},
"meta": {
"source": "web"
},
"selfDeletedAt": null,
"createdAt": 1597148068
},
"externalPlatform": {
"code": "PlatformName",
"name": "PlatformCode",
"url": "https:\/\/platform.io\/"
},
"createdAt": 1597149422
}
]
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (412):
{
"message": "JWT payload invalid."
}
Example response (416):
{
"message": "JWT is expired."
}
HTTP Request
POST /api/v1/platform/{platform}/ticket/{ticket}/reply
URL Parameters
Parameter | Status | Description |
---|---|---|
platform |
required | The platform ID. |
ticket |
required | The ticket ID. |
Body Parameters
Parameter | Type | Status | Description |
---|---|---|---|
description |
string | required | The ticket description. (min:5|max:10000) |
Platform Ticket Close
Requires authentication Use this endpoint to close ticket made to platform.
Headers
Required header { "Token": "jwt-token" }
jwt-token = RS512 encoded jwt with payload { platform: required|string|in:{platformUUId}, expire: required|timestamp|after_or_equal:now }
Example request:
curl -X POST \
"https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/ticket/dfa15005-e38a-4bc2-8459-6c2764be7eb6/close" \
-H "Token: {jwt-token}" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/ticket/dfa15005-e38a-4bc2-8459-6c2764be7eb6/close"
);
let headers = {
"Token": "{jwt-token}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/ticket/dfa15005-e38a-4bc2-8459-6c2764be7eb6/close',
[
'headers' => [
'Token' => '{jwt-token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/ticket/dfa15005-e38a-4bc2-8459-6c2764be7eb6/close'
headers = {
'Token': '{jwt-token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers)
response.json()
Example response (200):
{
"data": [
{
"id": "dfa15005-e38a-4bc2-8459-6c2764be7eb6",
"title": "Ticket Title",
"description": "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.",
"status": "open",
"user": {
"id": "a24aa5f4-928a-4c5d-bfb5-e6507f712d0b",
"isActive": true,
"tradeStatus": true,
"email": "andreea+20@gmail.com",
"options": {
"language": "en",
"theme": "light",
"layout": "compact",
"guard": {
"antiPhishing": null,
"actions": {
"login": {
"2fa": false,
"password": false
},
"operations": {
"2fa": false,
"password": false
}
}
}
},
"meta": {
"source": "web"
},
"selfDeletedAt": null,
"createdAt": 1597148068
},
"externalPlatform": {
"code": "PlatformName",
"name": "PlatformCode",
"url": "https:\/\/platform.io\/"
},
"createdAt": 1597149422
}
]
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (412):
{
"message": "JWT payload invalid."
}
Example response (416):
{
"message": "JWT is expired."
}
HTTP Request
POST /api/v1/platform/{platform}/ticket/{ticket}/close
URL Parameters
Parameter | Status | Description |
---|---|---|
platform |
required | The platform ID. |
ticket |
required | The ticket ID. |
Platform NFTs Products Index
Requires authentication Use this endpoint to get all available platform NFTs.
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/nfts/products" \
-H "Token: {jwt-token}" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/nfts/products"
);
let headers = {
"Token": "{jwt-token}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/nfts/products',
[
'headers' => [
'Token' => '{jwt-token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/nfts/products'
headers = {
'Token': '{jwt-token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers)
response.json()
Example response (200):
{
"data": [
{
"name": "NFT Token",
"symbol": "NFT1",
"alias": null,
"type": "nft",
"precision": "8",
"chain": {
"name": "NFT Token",
"symbol": "NFT1"
},
"description": {
"en": "Lorem ipsum dolor sit amet, consectetur adipiscing elit"
},
"properties": [
{
"type": "Rarity",
"value": "Rare"
},
{
"type": "Shine",
"value": "Stone"
},
{
"type": "Health",
"value": "95"
},
{
"type": "Soul",
"value": "20"
},
{
"type": "Class",
"value": "Defense"
}
],
"meta": {
"image": "https:\/\/i.picsum.photos\/id\/683\/600\/600.jpg?hmac=fNyVqsPjbH5vdOjD8xbFljAVSEHZ9km4kNzU39Va4-U",
"url": "https:\/\/www.youtube.com",
"owner": "0x1ec94be5c72cf0e0524d6ecb6e7bd0ba1700bf71",
"creator": "0x1ec94be5c72cf0e0524d6ecb6e7bd0ba1700bf72"
},
"collection": {
"id": "26a979fd-021c-4025-a7c9-a28e46fd10ea",
"name": "CCPRO",
"symbol": "CCPRO_1",
"description": {
"en": "Lorem ipsum dolor sit amet, consectetur adipiscing elit"
},
"meta": null
},
"tags": [
{
"id": "e6cf6653-06ae-41e8-83c8-12d234ec3fe0",
"name": "Collectibles & NFTs",
"type": "category",
"createdAt": 1659418468
},
{
"id": "cd5e2a3f-7a0c-44b1-b37f-029c80bd6173",
"name": "Gaming",
"type": "industry",
"createdAt": 1659418470
}
],
"creator": {
"id": "3a13ec56-6ab4-4ca8-9924-abeead959f7d",
"email": "io***@gmail.com"
},
"owner": {
"id": "66de494e-6791-4290-996c-32f42041fbf4",
"email": "al***@gmail.com"
},
"balance": {
"favorite": false,
"crypto": {
"available": "1.0000000000000000000000000",
"vesting": "0",
"staking": "0",
"pending": "5.0000000000000000000000000"
},
"fiat": {
"available": "1.7435800000000000000000000",
"vesting": "0",
"staking": "0",
"pending": "8.7179000000000000000000000"
}
},
"operations": {
"General": [
{
"send_crypto": {
"status": true,
"rate": "1.74358",
"commission": "0",
"secondCommission": "0",
"info": null,
"limits": {
"main": {
"min": null,
"max": null
},
"second": {
"min": null,
"max": null
}
},
"secondOperations": [],
"networks": []
}
},
{
"withdraw": {
"status": true,
"rate": "1.74358",
"commission": "0",
"secondCommission": "0",
"info": null,
"limits": {
"main": {
"min": null,
"max": null
},
"second": {
"min": null,
"max": null
}
},
"secondOperations": [],
"networks": [
{
"active": true,
"default": true,
"smartContract": null,
"min": null,
"max": null,
"fee": "0.005",
"confirms": null,
"regexAddress": null,
"regexMemo": null,
"network": {
"name": "Ethereum",
"code": "ETH",
"type": "ERC20",
"chainId": "1",
"explorer": {
"address": "https:\/\/etherscan.io\/address\/{placeholder}",
"transaction": "https:\/\/etherscan.io\/tx\/{placeholder}",
"contract": "https:\/\/etherscan.io\/address\/{placeholder}"
}
}
}
]
}
}
],
"Particular": {
"EUR": [
{
"buy_with_fiat": {
"status": true,
"rate": "1.74358",
"commission": "0",
"secondCommission": "0",
"info": null,
"limits": {
"main": {
"min": "1",
"max": "1"
},
"second": {
"min": null,
"max": null
}
},
"secondOperations": [
{
"withdraw": {
"mandatory": false
}
}
],
"networks": []
}
}
]
}
},
"rates": {
"raw": {
"now": "1.7435800000000000000000000",
"day": "1.7435800000000000000000000",
"week": "1.7435800000000000000000000",
"month": "1.7435800000000000000000000",
"quarter": "1.7435800000000000000000000",
"history": {
"day": [
{
"rate": "0.9998000000000000000000000",
"createdAt": 1660122059
}
],
"week": [
{
"rate": "0.9997000000000000000000000",
"createdAt": 1659603659
}
],
"month": [
{
"rate": "1.0007000000000000000000000",
"createdAt": 1657530084
}
],
"quarter": [
{
"rate": "1.0043000000000000000000000",
"createdAt": 1652320866
}
]
}
}
}
}
],
"meta": {
"total": 1,
"current_page": 1,
"per_page": 25,
"last_page": 1
}
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (403):
{
"message": "Unable to process your request."
}
Example response (409):
{
"message": "This action is unauthorized."
}
HTTP Request
GET /api/v1/platform/{platform}/nfts/products
URL Parameters
Parameter | Status | Description |
---|---|---|
platform |
required | The platform ID. |
Platform NFTs Products Show
Requires authentication Use this endpoint to get specific available platform NFT.
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/nfts/products/NFT1" \
-H "Token: {jwt-token}" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/nfts/products/NFT1"
);
let headers = {
"Token": "{jwt-token}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/nfts/products/NFT1',
[
'headers' => [
'Token' => '{jwt-token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/nfts/products/NFT1'
headers = {
'Token': '{jwt-token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers)
response.json()
Example response (200):
{
"data": {
"name": "NFT Token",
"symbol": "NFT1",
"alias": null,
"type": "nft",
"precision": "8",
"chain": {
"name": "NFT Token",
"symbol": "NFT1"
},
"description": {
"en": "Lorem ipsum dolor sit amet, consectetur adipiscing elit"
},
"properties": [
{
"type": "Rarity",
"value": "Rare"
},
{
"type": "Shine",
"value": "Stone"
},
{
"type": "Health",
"value": "95"
},
{
"type": "Soul",
"value": "20"
},
{
"type": "Class",
"value": "Defense"
}
],
"meta": {
"image": "https:\/\/i.picsum.photos\/id\/683\/600\/600.jpg?hmac=fNyVqsPjbH5vdOjD8xbFljAVSEHZ9km4kNzU39Va4-U",
"url": "https:\/\/www.youtube.com",
"owner": "0x1ec94be5c72cf0e0524d6ecb6e7bd0ba1700bf71",
"creator": "0x1ec94be5c72cf0e0524d6ecb6e7bd0ba1700bf72"
},
"collection": {
"id": "26a979fd-021c-4025-a7c9-a28e46fd10ea",
"name": "CCPRO",
"symbol": "CCPRO_1",
"description": {
"en": "Lorem ipsum dolor sit amet, consectetur adipiscing elit"
},
"meta": null
},
"tags": [
{
"id": "e6cf6653-06ae-41e8-83c8-12d234ec3fe0",
"name": "Collectibles & NFTs",
"type": "category",
"createdAt": 1659418468
},
{
"id": "cd5e2a3f-7a0c-44b1-b37f-029c80bd6173",
"name": "Gaming",
"type": "industry",
"createdAt": 1659418470
}
],
"creator": {
"id": "3a13ec56-6ab4-4ca8-9924-abeead959f7d",
"email": "io***@gmail.com"
},
"owner": {
"id": "66de494e-6791-4290-996c-32f42041fbf4",
"email": "al***@gmail.com"
},
"balance": {
"favorite": false,
"crypto": {
"available": "1.0000000000000000000000000",
"vesting": "0",
"staking": "0",
"pending": "5.0000000000000000000000000"
},
"fiat": {
"available": "1.7435800000000000000000000",
"vesting": "0",
"staking": "0",
"pending": "8.7179000000000000000000000"
}
},
"operations": {
"General": [
{
"send_crypto": {
"status": true,
"rate": "1.74358",
"commission": "0",
"secondCommission": "0",
"info": null,
"limits": {
"main": {
"min": null,
"max": null
},
"second": {
"min": null,
"max": null
}
},
"secondOperations": [],
"networks": []
}
},
{
"withdraw": {
"status": true,
"rate": "1.74358",
"commission": "0",
"secondCommission": "0",
"info": null,
"limits": {
"main": {
"min": null,
"max": null
},
"second": {
"min": null,
"max": null
}
},
"secondOperations": [],
"networks": [
{
"active": true,
"default": true,
"smartContract": null,
"min": null,
"max": null,
"fee": "0.005",
"confirms": null,
"regexAddress": null,
"regexMemo": null,
"network": {
"name": "Ethereum",
"code": "ETH",
"type": "ERC20",
"chainId": "1",
"explorer": {
"address": "https:\/\/etherscan.io\/address\/{placeholder}",
"transaction": "https:\/\/etherscan.io\/tx\/{placeholder}",
"contract": "https:\/\/etherscan.io\/address\/{placeholder}"
}
}
}
]
}
}
],
"Particular": {
"EUR": [
{
"buy_with_fiat": {
"status": true,
"rate": "1.74358",
"commission": "0",
"secondCommission": "0",
"info": null,
"limits": {
"main": {
"min": "1",
"max": "1"
},
"second": {
"min": null,
"max": null
}
},
"secondOperations": [
{
"withdraw": {
"mandatory": false
}
}
],
"networks": []
}
}
]
}
},
"rates": {
"raw": {
"now": "1.7435800000000000000000000",
"day": "1.7435800000000000000000000",
"week": "1.7435800000000000000000000",
"month": "1.7435800000000000000000000",
"quarter": "1.7435800000000000000000000",
"history": {
"day": [
{
"rate": "0.9998000000000000000000000",
"createdAt": 1660122059
}
],
"week": [
{
"rate": "0.9997000000000000000000000",
"createdAt": 1659603659
}
],
"month": [
{
"rate": "1.0007000000000000000000000",
"createdAt": 1657530084
}
],
"quarter": [
{
"rate": "1.0043000000000000000000000",
"createdAt": 1652320866
}
]
}
}
}
}
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (403):
{
"message": "Unable to process your request."
}
Example response (409):
{
"message": "This action is unauthorized."
}
HTTP Request
GET /api/v1/platform/{platform}/nfts/products/{asset}
URL Parameters
Parameter | Status | Description |
---|---|---|
platform |
required | The platform ID. |
asset |
required | The asset Symbol. |
Platform NFTs Products Generate NFT Tokens
Requires authentication Use this endpoint to generate NFT Tokens for platform NFT.
Example request:
curl -X POST \
"https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/nfts/products/NFT1/generate" \
-H "Token: {jwt-token}" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"count":"1"}'
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/nfts/products/NFT1/generate"
);
let headers = {
"Token": "{jwt-token}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"count": "1"
}
fetch(url, {
method: "POST",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/nfts/products/NFT1/generate',
[
'headers' => [
'Token' => '{jwt-token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'count' => '1',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/nfts/products/NFT1/generate'
payload = {
"count": "1"
}
headers = {
'Token': '{jwt-token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Example response (200):
{
"data": [
{
"id": "65ed6572-4669-47e4-8035-d367fbeed927",
"status": "unminted",
"symbol": null,
"mintedAt": 1678366955,
"createdAt": 1678366955
}
]
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (403):
{
"message": "Unable to process your request."
}
Example response (409):
{
"message": "This action is unauthorized."
}
HTTP Request
POST /api/v1/platform/{platform}/nfts/products/{asset}/generate
URL Parameters
Parameter | Status | Description |
---|---|---|
platform |
required | The platform ID. |
asset |
required | The asset Symbol. |
Body Parameters
Parameter | Type | Status | Description |
---|---|---|---|
count |
string | optional | The platform NFT counts to be generated - (nullable,integer). |
Platform NFTs Products Mint Token
Requires authentication Use this endpoint to mint specific Reference ID for platform NFT.
Example request:
curl -X POST \
"https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/nfts/products/NFT1/mint" \
-H "Token: {jwt-token}" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"nfts":[{"id":"65ed6572-4669-47e4-8035-d367fbeed927","symbol":"123456"}]}'
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/nfts/products/NFT1/mint"
);
let headers = {
"Token": "{jwt-token}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"nfts": [
{
"id": "65ed6572-4669-47e4-8035-d367fbeed927",
"symbol": "123456"
}
]
}
fetch(url, {
method: "POST",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/nfts/products/NFT1/mint',
[
'headers' => [
'Token' => '{jwt-token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'nfts' => [
[
'id' => '65ed6572-4669-47e4-8035-d367fbeed927',
'symbol' => '123456',
],
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/nfts/products/NFT1/mint'
payload = {
"nfts": [
{
"id": "65ed6572-4669-47e4-8035-d367fbeed927",
"symbol": "123456"
}
]
}
headers = {
'Token': '{jwt-token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Example response (200):
{
"data": [
{
"id": "65ed6572-4669-47e4-8035-d367fbeed927",
"status": "minted",
"symbol": "432123",
"mintedAt": 1678366955,
"createdAt": 1678366955
}
]
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (403):
{
"message": "Unable to process your request."
}
Example response (409):
{
"message": "This action is unauthorized."
}
HTTP Request
POST /api/v1/platform/{platform}/nfts/products/{asset}/mint
URL Parameters
Parameter | Status | Description |
---|---|---|
platform |
required | The platform ID. |
asset |
required | The asset Symbol. |
Body Parameters
Parameter | Type | Status | Description |
---|---|---|---|
nfts.*.id |
array | optional | The platform NFT tokens minted - (required,uuid,distinct,unique:nfts). |
nfts.*.symbol |
array | optional | The platform NFT tokens minted - (required,distinct,unique:nfts). |
Platform NFTs Collection Index
Requires authentication Use this endpoint to get all available platform NFTs collections.
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/nfts/collections" \
-H "Token: {jwt-token}" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/nfts/collections"
);
let headers = {
"Token": "{jwt-token}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/nfts/collections',
[
'headers' => [
'Token' => '{jwt-token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/nfts/collections'
headers = {
'Token': '{jwt-token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers)
response.json()
Example response (200):
{
"data": [
{
"id": "26a979fd-021c-4025-a7c9-a28e46fd10ea",
"name": "CCPRO",
"symbol": "CCPRO_1",
"description": {
"en": "Lorem ipsum dolor sit amet, consectetur adipiscing elit"
},
"meta": null,
"creator": {
"id": "66de494e-6791-4290-996c-32f42041fbf4",
"email": "al***@gmail.com"
},
"network": {
"name": "Ethereum",
"code": "ETH",
"type": "ERC20",
"chainId": "1",
"explorer": {
"address": "https:\/\/etherscan.io\/address\/{placeholder}",
"transaction": "https:\/\/etherscan.io\/tx\/{placeholder}",
"contract": "https:\/\/etherscan.io\/address\/{placeholder}"
}
},
"coins": [
{
"name": "NFT Token",
"symbol": "NFT1",
"alias": null,
"type": "nft",
"precision": "8",
"description": "Some description for this asset"
}
]
}
],
"meta": {
"total": 1,
"current_page": 1,
"per_page": 25,
"last_page": 1
}
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (403):
{
"message": "Unable to process your request."
}
Example response (409):
{
"message": "This action is unauthorized."
}
HTTP Request
GET /api/v1/platform/{platform}/nfts/collections
URL Parameters
Parameter | Status | Description |
---|---|---|
platform |
required | The platform ID. |
Platform NFTs Collection Show
Requires authentication Use this endpoint to get specific platform NFTs collection.
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/nfts/collections/26a979fd-021c-4025-a7c9-a28e46fd10ea" \
-H "Token: {jwt-token}" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/nfts/collections/26a979fd-021c-4025-a7c9-a28e46fd10ea"
);
let headers = {
"Token": "{jwt-token}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/nfts/collections/26a979fd-021c-4025-a7c9-a28e46fd10ea',
[
'headers' => [
'Token' => '{jwt-token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/nfts/collections/26a979fd-021c-4025-a7c9-a28e46fd10ea'
headers = {
'Token': '{jwt-token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers)
response.json()
Example response (200):
{
"data": {
"id": "26a979fd-021c-4025-a7c9-a28e46fd10ea",
"name": "CCPRO",
"symbol": "CCPRO_1",
"description": {
"en": "Lorem ipsum dolor sit amet, consectetur adipiscing elit"
},
"meta": null,
"creator": {
"id": "66de494e-6791-4290-996c-32f42041fbf4",
"email": "al***@gmail.com"
},
"network": {
"name": "Ethereum",
"code": "ETH",
"type": "ERC20",
"chainId": "1",
"explorer": {
"address": "https:\/\/etherscan.io\/address\/{placeholder}",
"transaction": "https:\/\/etherscan.io\/tx\/{placeholder}",
"contract": "https:\/\/etherscan.io\/address\/{placeholder}"
}
},
"coins": [
{
"name": "NFT Token",
"symbol": "NFT1",
"alias": null,
"type": "nft",
"precision": "8",
"description": "Some description for this asset"
}
]
}
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (403):
{
"message": "Unable to process your request."
}
Example response (409):
{
"message": "This action is unauthorized."
}
HTTP Request
GET /api/v1/platform/{platform}/nfts/collections/{collection}
URL Parameters
Parameter | Status | Description |
---|---|---|
platform |
required | The platform ID. |
collection |
required | The collection ID. |
Platform NFTs Import
Requires authentication Use this endpoint to import new updates for your NFTs.
Example request:
curl -X POST \
"https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/nfts/import" \
-H "Token: {jwt-token}" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/nfts/import"
);
let headers = {
"Token": "{jwt-token}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/nfts/import',
[
'headers' => [
'Token' => '{jwt-token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/nfts/import'
headers = {
'Token': '{jwt-token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers)
response.json()
Example response (200):
{
"message": "Importing NFTs..."
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (403):
{
"message": "Unable to process your request."
}
Example response (409):
{
"message": "This action is unauthorized."
}
HTTP Request
POST /api/v1/platform/{platform}/nfts/import
URL Parameters
Parameter | Status | Description |
---|---|---|
platform |
required | The platform ID. |
Platform NFTs Mints History
Requires authentication Use this endpoint to get all platform assets Mints.
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/mints" \
-H "Token: {jwt-token}" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/mints"
);
let headers = {
"Token": "{jwt-token}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/mints',
[
'headers' => [
'Token' => '{jwt-token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/mints'
headers = {
'Token': '{jwt-token}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers)
response.json()
Example response (200):
{
"data": [
{
"id": "ba5e40c1-dfb7-4c6b-906a-374b9e525701",
"status": "minted",
"tx_id": "8d9533a441ba5d83e111d6ef1adce2a48a6534706acddccb80fb556b61176c95",
"count": "1",
"tries": "2",
"mintedAt": 1680266942,
"createdAt": 1680266822,
"user": {
"id": "4bd38bbd-9fc0-4570-a7df-bb9b39e143de",
"isActive": true,
"status": "active",
"tradeStatus": true,
"email": "alin@boostit.com",
"options": {
"language": "en",
"theme": "dark",
"layout": "compact",
"guard": {
"antiPhishing": null,
"actions": {
"login": {
"2fa": true,
"password": true
},
"operations": {
"2fa": true,
"password": false
}
}
}
},
"meta": {
"source": "web"
},
"selfDeleted": {
"status": null,
"dates": {
"initiated": null,
"confirmed": null,
"deleted": null
}
},
"createdAt": 1550223733,
"deletedAt": null
},
"nfts": [
{
"id": "4e107118-85d1-43ca-ba88-7d4ea279248c",
"status": "minted",
"symbol": "CLP1000-0a3c6a-11",
"mintedAt": 1680266822,
"createdAt": 1680266822,
"asset": {
"name": "NFT Test 2 Impure",
"symbol": "CT_NFT2",
"alias": null,
"type": "nft",
"precision": 0,
"quantity": 100,
"memo": false,
"description": {
"en": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna *aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute *irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat *cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
},
"properties": [
{
"type": "Rarity",
"value": "Rare"
},
{
"type": "Shine",
"value": "Stone"
},
{
"type": "Health",
"value": "95"
},
{
"type": "Soul",
"value": "20"
},
{
"type": "Class",
"value": "Defense"
}
],
"meta": {
"url": "https:\/\/www.youtube.com\/",
"creator": "",
"owner": "",
"fallback": false
}
}
}
]
}
]
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (403):
{
"message": "Unable to process your request."
}
Example response (409):
{
"message": "This action is unauthorized."
}
HTTP Request
GET /api/v1/platform/{platform}/mints
URL Parameters
Parameter | Status | Description |
---|---|---|
platform |
required | The platform ID. |
Quote
APIs for managing quotes
Quote Create
Requires authentication Use this endpoint to create a user quote.
Example request:
curl -X POST \
"https://appapi-public.cryptocoin.pro/api/v1/user/ebf8e81e-fdfd-4da9-84e4-b5172b6f14f3s/quote" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}" \
-d '{"orderType":"buy_with_fiat","secondOrderType":"withdraw","orderAmount":"1.0010","orderAmountPayment":"1000","orderSymbol":"ETH","orderPaymentSymbol":"EUR","orderPaymentMethod":"11b73ec1-5b19-4844-a5c9-42bd177b64c3","orderPaymentType":"bank","wallet":"1ca2361d-ba5c-4d11-8640-0eca9f25e85f","network":"ERC20","service":"99521917-9f54-4fb1-b5ae-9a3e0431e8b8","serviceBeneficiary":"7205d2d2-a234-40eb-a557-6215f59a0c77","secondService":"99521917-9f54-4fb1-b5ae-9a3e0431e8b8","secondServiceBeneficiary":"7205d2d2-a234-40eb-a557-6215f59a0c77"}'
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/ebf8e81e-fdfd-4da9-84e4-b5172b6f14f3s/quote"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
let body = {
"orderType": "buy_with_fiat",
"secondOrderType": "withdraw",
"orderAmount": "1.0010",
"orderAmountPayment": "1000",
"orderSymbol": "ETH",
"orderPaymentSymbol": "EUR",
"orderPaymentMethod": "11b73ec1-5b19-4844-a5c9-42bd177b64c3",
"orderPaymentType": "bank",
"wallet": "1ca2361d-ba5c-4d11-8640-0eca9f25e85f",
"network": "ERC20",
"service": "99521917-9f54-4fb1-b5ae-9a3e0431e8b8",
"serviceBeneficiary": "7205d2d2-a234-40eb-a557-6215f59a0c77",
"secondService": "99521917-9f54-4fb1-b5ae-9a3e0431e8b8",
"secondServiceBeneficiary": "7205d2d2-a234-40eb-a557-6215f59a0c77"
}
fetch(url, {
method: "POST",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://appapi-public.cryptocoin.pro/api/v1/user/ebf8e81e-fdfd-4da9-84e4-b5172b6f14f3s/quote',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
'json' => [
'orderType' => 'buy_with_fiat',
'secondOrderType' => 'withdraw',
'orderAmount' => '1.0010',
'orderAmountPayment' => '1000',
'orderSymbol' => 'ETH',
'orderPaymentSymbol' => 'EUR',
'orderPaymentMethod' => '11b73ec1-5b19-4844-a5c9-42bd177b64c3',
'orderPaymentType' => 'bank',
'wallet' => '1ca2361d-ba5c-4d11-8640-0eca9f25e85f',
'network' => 'ERC20',
'service' => '99521917-9f54-4fb1-b5ae-9a3e0431e8b8',
'serviceBeneficiary' => '7205d2d2-a234-40eb-a557-6215f59a0c77',
'secondService' => '99521917-9f54-4fb1-b5ae-9a3e0431e8b8',
'secondServiceBeneficiary' => '7205d2d2-a234-40eb-a557-6215f59a0c77',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/ebf8e81e-fdfd-4da9-84e4-b5172b6f14f3s/quote'
payload = {
"orderType": "buy_with_fiat",
"secondOrderType": "withdraw",
"orderAmount": "1.0010",
"orderAmountPayment": "1000",
"orderSymbol": "ETH",
"orderPaymentSymbol": "EUR",
"orderPaymentMethod": "11b73ec1-5b19-4844-a5c9-42bd177b64c3",
"orderPaymentType": "bank",
"wallet": "1ca2361d-ba5c-4d11-8640-0eca9f25e85f",
"network": "ERC20",
"service": "99521917-9f54-4fb1-b5ae-9a3e0431e8b8",
"serviceBeneficiary": "7205d2d2-a234-40eb-a557-6215f59a0c77",
"secondService": "99521917-9f54-4fb1-b5ae-9a3e0431e8b8",
"secondServiceBeneficiary": "7205d2d2-a234-40eb-a557-6215f59a0c77"
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Example response (201):
{
"data": {
"id": "90de96dd-3309-4795-bd41-ebe09091e1f8",
"publicId": "EuzwU5Zv",
"status": "available",
"type": "coin",
"typeOperationName": "sell_to_fiat",
"payment": {
"type": "bank",
"id": null,
"mandatory": false
},
"from": "ETH",
"to": "EUR",
"fromAsset": {
"name": "Ethereum",
"symbol": "ETH",
"alias": null,
"precision": "5",
"chain": {
"name": null,
"symbol": null
}
},
"toAsset": {
"name": "Euro",
"symbol": "EUR",
"alias": null,
"precision": "2"
},
"amount": "0.2",
"rate": "142.2625",
"commission": {
"fromAmount": "0.01",
"fromTotal": "1.4975",
"discountPercent": "0",
"percent": "5"
},
"total": "28.4525",
"parentOrder": {
"id": null,
"publicId": null
},
"walletPolicy": "relax",
"walletAddress": null,
"order": {
"id": null,
"publicId": null
},
"externalPlatform": null,
"lifeSeconds": 3600,
"lifeUntilAt": 1573029327,
"confirmBlockedByKyc": false,
"confirmUrl": "http:\/\/dev-checkout.localhost\/confirm-quote\/eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzUxMiJ9.eyJxdW90ZSI6IjkwZGU5NmRkLTMzMDktNDc5NS1iZDQxLWViZTA5MDkxZTFmOCIsInVzZXI*iOiI2NmRlNDk0ZS02NzkxLTQyOTAtOTk2Yy0zMmY0MjA0MWZiZjQiLCJlbWFpbCI6ImFsaW5pb251dG11c2F0KzRAZ21haWwuY29tIiwiYWN*jZXNzIjoidHpyQjd6VFVUOHd6ekR3RndPZjk4dVhvVW9RQmdDQm9uQ21MeU1BTmVrYkFWckFBeHdRNWh3RVh3b0hLWFF6ciIsImV4cGlyZSI*6MTU3MzAyOTMyNywiZXh0cmEiOnsiZXh0ZXJuYWxQbGF0Zm9ybU5hbWUiOm51bGx9fQ.QGjLZeB7hlwoVhJsc8-Qumj23tqS3eIz1T1OZxxynAtEad5MpXfxCFW5gEq72NRXu3Ng_yp8x52WJ0iNFqf0y5V0byA5Via2oY9ujT34N1h4*R3QmTQO-kHHdurzhP67o_5YNh073-9I85UWfBUmPltfHSckO3gqBCMmOnsTpPYfBp09Vpj0U6XnniTpQpFvKeEfDITHsdkNUclz1DW97iWoS*kV-JgRGjx9nfo-Gm-c3RNB1q70xhz96UPIb3KA90ObIhEFVTow7wbeLCHQF5YV6BRihVKgGUOeBCHvT00fjxb1fcs68DIeFhPbGrXugVbOdK*TLU1yUW1OqO67lmWvQ?display=dark&expires=1573029327&lang=ro&signature=26b34f371c0d600959dbc2dba930bb576d70a5bea79272137c39082f2c2fb97f",
"createdAt": 1573025727
}
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"error": "Your account is inactive."
}
Example response (412):
{
"error": "This action is not available due Self Delete Account procedure."
}
HTTP Request
POST /api/v1/user/{user}/quote
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
Body Parameters
Parameter | Type | Status | Description |
---|---|---|---|
orderType |
string | required | The order operation type - (in:buy_with_crypto,buy_with_fiat,sell_to_crypto,sell_to_fiat,withdraw,withdrawIco,payment). |
secondOrderType |
string | optional | The order second operation type (only if type is buy_with_crypto or buy_with_fiat) - (in:withdraw,withdrawIco,payment). |
orderAmount |
numeric | required | The order amount - (required_without:orderAmountPayment|prohibits:orderAmountPayment|numeric|min:0|not_in:0). |
orderAmountPayment |
numeric | optional | The order amount in PaymentSymbol - (required_without:orderAmount|prohibits:orderAmount|numeric|min:0|not_in:0). |
orderSymbol |
string | required | The order symbol - (in:coin/token->symbol). |
orderPaymentSymbol |
string | required | The order payment symbol - (required_if:orderType,buy_with_crypto,buy_with_fiat,sell_to_crypto,sell_to_fiat|in:paymentType->symbol). |
orderPaymentMethod |
uuid | required | The order payment method UUID - (required_if:orderType,buy_with_fiat,sell_to_fiat|in:user->paymentMethodsArray) (or only if type is withdraw and order symbol (in:fiat->symbol)). |
orderPaymentType |
string | optional | The payment type is required only when you do not provide a orderPaymentMethod - (required_without_all:orderPaymentMethod|in:card,bank,balance). |
wallet |
string|uuid | optional | (Accepts raw wallet addresses or uuid) The wallet where to withdraw funds, if not provided, funds will be keept in CCPro account, also must match orderSymbol chain - (required_if:orderType,withdraw|in:user->wallets). |
network |
string | optional | The wallet network - (required_if:orderType,withdraw). |
service |
string | optional | The service id - (required_with:orderType,payment). |
serviceBeneficiary |
string | optional | The beneficiary id - (required_with:service). |
secondService |
string | optional | The service id for payment operation - (required_with:secondOrderType,payment). |
secondServiceBeneficiary |
string | optional | The beneficiary id for payment operation - (required_with:secondServiceBeneficiary). |
Quote Index
Requires authentication Use this endpoint to get user quotes.
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/quote?id=iZE9qxz6&user=jon%40winterfell.got&status=available&type=buy_with_fiat&asset=ETH&asset_type=coin&service_type=subscription&service_id=ea69d0c9-8370-4aca-942d-ebcc50d2adaa&wallet=0x2f203264a671832b543acfd5558ae684cd1c5a5a&payment_method=card&platform=app" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/quote"
);
let params = {
"id": "iZE9qxz6",
"user": "jon@winterfell.got",
"status": "available",
"type": "buy_with_fiat",
"asset": "ETH",
"asset_type": "coin",
"service_type": "subscription",
"service_id": "ea69d0c9-8370-4aca-942d-ebcc50d2adaa",
"wallet": "0x2f203264a671832b543acfd5558ae684cd1c5a5a",
"payment_method": "card",
"platform": "app",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/quote',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
'query' => [
'id'=> 'iZE9qxz6',
'user'=> 'jon@winterfell.got',
'status'=> 'available',
'type'=> 'buy_with_fiat',
'asset'=> 'ETH',
'asset_type'=> 'coin',
'service_type'=> 'subscription',
'service_id'=> 'ea69d0c9-8370-4aca-942d-ebcc50d2adaa',
'wallet'=> '0x2f203264a671832b543acfd5558ae684cd1c5a5a',
'payment_method'=> 'card',
'platform'=> 'app',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/quote'
params = {
'id': 'iZE9qxz6',
'user': 'jon@winterfell.got',
'status': 'available',
'type': 'buy_with_fiat',
'asset': 'ETH',
'asset_type': 'coin',
'service_type': 'subscription',
'service_id': 'ea69d0c9-8370-4aca-942d-ebcc50d2adaa',
'wallet': '0x2f203264a671832b543acfd5558ae684cd1c5a5a',
'payment_method': 'card',
'platform': 'app',
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()
Example response (200):
{
"data": [
{
"id": "fc0388dc-63c5-4fbe-bc53-c11ba3bdb94e",
"publicId": "iZE9qxz6",
"status": "completed",
"type": "coin",
"typeOperationName": "buy_with_fiat",
"payment": {
"type": "bank",
"id": null,
"mandatory": false
},
"from": "EUR",
"to": "ETH",
"fromAsset": {
"name": "Euro",
"symbol": "EUR",
"alias": null,
"precision": "2"
},
"toAsset": {
"name": "Ethereum",
"symbol": "ETH",
"alias": null,
"precision": "5",
"chain": {
"name": null,
"symbol": null
}
},
"amount": "0.2000000000000000000000000",
"rate": "172.2125000000000000000000000",
"commission": {
"fromAmount": "4.4925",
"fromTotal": "0.03",
"discountPercent": "0",
"percent": "15"
},
"total": "34.4425000000000000000000000",
"parentOrder": {
"id": null,
"publicId": null
},
"walletPolicy": "relax",
"walletAddress": null,
"order": {
"id": "c555a171-9c3e-4d9d-b121-3d74ba87e2ee",
"publicId": "llnnLjW8"
},
"externalPlatform": null,
"lifeSeconds": 3600,
"lifeUntilAt": 1572870237,
"confirmBlockedByKyc": false,
"confirmUrl": null,
"createdAt": 1572866637
}
]
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (409):
{
"message": "This action is unauthorized."
}
HTTP Request
GET /api/v1/user/{user}/quote
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
Query Parameters
Parameter | Status | Description |
---|---|---|
id |
optional | Filter by Public ID. |
user |
optional | Filter by User Email/ID. |
status |
optional | Filter by Status. |
type |
optional | Filter by Type. |
asset |
optional | Filter by Asset symbol. |
asset_type |
optional | Filter by Asset type. |
service_type |
optional | Filter by Service type. |
service_id |
optional | Filter by Service id. |
wallet |
optional | Filter by Wallet address. |
payment_method |
optional | Filter by Payment method. |
platform |
optional | Filter by Platform code. |
Quote Show
Requires authentication Use this endpoint to get a user quote.
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/quote/fc0388dc-63c5-4fbe-bc53-c11ba3bdb94e" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/quote/fc0388dc-63c5-4fbe-bc53-c11ba3bdb94e"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/quote/fc0388dc-63c5-4fbe-bc53-c11ba3bdb94e',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/quote/fc0388dc-63c5-4fbe-bc53-c11ba3bdb94e'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('GET', url, headers=headers)
response.json()
Example response (200):
{
"data": {
"id": "fc0388dc-63c5-4fbe-bc53-c11ba3bdb94e",
"publicId": "iZE9qxz6",
"status": "completed",
"type": "coin",
"typeOperationName": "buy_with_fiat",
"payment": {
"type": "bank",
"id": null,
"mandatory": false
},
"from": "EUR",
"to": "ETH",
"fromAsset": {
"name": "Euro",
"symbol": "EUR",
"alias": null,
"precision": "2"
},
"toAsset": {
"name": "Ethereum",
"symbol": "ETH",
"alias": null,
"precision": "5",
"chain": {
"name": null,
"symbol": null
}
},
"amount": "0.2000000000000000000000000",
"rate": "172.2125000000000000000000000",
"commission": {
"fromAmount": "4.4925",
"fromTotal": "0.03",
"discountPercent": "0",
"percent": "15"
},
"total": "34.4425000000000000000000000",
"parentOrder": {
"id": null,
"publicId": null
},
"walletPolicy": "relax",
"walletAddress": null,
"checkout": null,
"order": {
"id": "c555a171-9c3e-4d9d-b121-3d74ba87e2ee",
"publicId": "llnnLjW8",
"status": "REJECTED",
"type": "coin",
"typeOperation": "in",
"typeOperationName": "buy_with_fiat",
"fromSymbol": "EUR",
"fromAmount": "34.4425000000000000000000000",
"rate": "172.2125000000000000000000000",
"toSymbol": "ETH",
"toAmount": "0.2000000000000000000000000",
"wallet": null,
"txId": null,
"parentOrder": {
"id": null,
"publicId": null
},
"payment": {
"method": "bank",
"id": null,
"url": null,
"feePercent": "0",
"proofUploaded": null
},
"commissions": {
"percent": "15.0000000000000000000000000",
"amount": "4.4925000000000000000000000"
},
"quote": {
"id": "fc0388dc-63c5-4fbe-bc53-c11ba3bdb94e",
"publicId": "iZE9qxz6"
},
"externalPlatform": null,
"createdAt": 1572866814
},
"externalPlatform": null,
"lifeSeconds": 3600,
"lifeUntilAt": 1572870237,
"confirmBlockedByKyc": false,
"confirmUrl": null,
"createdAt": 1572866637
}
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (404):
{
"message": "No query results."
}
Example response (409):
{
"message": "This action is unauthorized."
}
HTTP Request
GET /api/v1/user/{user}/quote/{quote}
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
quote |
required | The quote ID. |
Quote Confirm
Requires authentication Use this endpoint to confirm a user quote as order.
Example request:
curl -X POST \
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/quote/e4c9dc01-5b65-4186-a149-cd31aaae3603/confirm" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}" \
-d '{"orderPaymentMethod":"f2b87ccc-0fc4-4d18-9a5d-dcf73f899016","wallet":"0x9c4f891c18b2be79f971f57a8237865dab240dd2","network":"ERC20"}'
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/quote/e4c9dc01-5b65-4186-a149-cd31aaae3603/confirm"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
let body = {
"orderPaymentMethod": "f2b87ccc-0fc4-4d18-9a5d-dcf73f899016",
"wallet": "0x9c4f891c18b2be79f971f57a8237865dab240dd2",
"network": "ERC20"
}
fetch(url, {
method: "POST",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/quote/e4c9dc01-5b65-4186-a149-cd31aaae3603/confirm',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
'json' => [
'orderPaymentMethod' => 'f2b87ccc-0fc4-4d18-9a5d-dcf73f899016',
'wallet' => '0x9c4f891c18b2be79f971f57a8237865dab240dd2',
'network' => 'ERC20',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/quote/e4c9dc01-5b65-4186-a149-cd31aaae3603/confirm'
payload = {
"orderPaymentMethod": "f2b87ccc-0fc4-4d18-9a5d-dcf73f899016",
"wallet": "0x9c4f891c18b2be79f971f57a8237865dab240dd2",
"network": "ERC20"
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Example response (201):
{
"data": {
"id": "e4c9dc01-5b65-4186-a149-cd31aaae3603",
"publicId": "5WpkSfyn",
"status": "PAYMENT_WAITING",
"type": "coin",
"typeOperation": "out",
"typeOperationName": "sell_to_fiat",
"fromSymbol": "ETH",
"fromAmount": "0.2000000000000000000000000",
"rate": "142.2625000000000000000000000",
"toSymbol": "EUR",
"toAmount": "28.4525000000000000000000000",
"fromAsset": {
"name": "Ethereum",
"symbol": "ETH",
"alias": null,
"precision": "6"
},
"toAsset": {
"name": "Euro",
"symbol": "EUR",
"alias": null,
"precision": "2"
},
"wallet": null,
"txId": null,
"walletAddress": null,
"parentOrder": {
"id": null,
"publicId": null
},
"payment": {
"method": "bank",
"id": "830b0a90-9f36-4f87-ba24-beb499b9c8b8",
"url": null,
"feePercent": "0",
"proofUploaded": null
},
"commissions": {
"percent": "5",
"amount": "1.4975"
},
"quote": {
"id": "90de96dd-3309-4795-bd41-ebe09091e1f8",
"publicId": "EuzwU5Zv",
"status": "completed",
"type": "coin",
"typeOperationName": "sell_to_fiat",
"payment": {
"type": "bank",
"id": "830b0a90-9f36-4f87-ba24-beb499b9c8b8",
"mandatory": false
},
"from": "ETH",
"to": "EUR",
"fromAsset": {
"name": "Ethereum",
"symbol": "ETH",
"alias": null,
"precision": "5",
"chain": {
"name": null,
"symbol": null
}
},
"toAsset": {
"name": "Euro",
"symbol": "EUR",
"alias": null,
"precision": "2"
},
"amount": "0.2000000000000000000000000",
"rate": "142.2625000000000000000000000",
"commission": {
"fromAmount": "0.01",
"fromTotal": "1.4975",
"discountPercent": "0",
"percent": "5"
},
"total": "28.4525000000000000000000000",
"parentOrder": {
"id": null,
"publicId": null
},
"walletPolicy": "relax",
"walletAddress": null,
"checkout": null,
"order": {
"id": "e4c9dc01-5b65-4186-a149-cd31aaae3603",
"publicId": "5WpkSfyn"
},
"externalPlatform": null,
"lifeSeconds": 3600,
"lifeUntilAt": 1573029327,
"confirmBlockedByKyc": false,
"confirmUrl": "http:\/\/dev-checkout.localhost\/confirm-quote\/eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzUxMiJ9.eyJxdW90ZSI6IjkwZGU5NmRkLTMzMDktNDc5NS1iZDQxLWViZTA5MDkxZTFmOCIsInVzZXIiOiI2NmRlNDk0ZS02NzkxLTQyOTAtOTk2Yy0zMmY0MjA0MWZiZjQiLCJlbWFpbCI6ImFsaW5pb251dG11c2F0KzRAZ21haWwuY29tIiwiYWNjZXNzIjoidHpyQjd6VFVUOHd6ekR3RndPZjk4dVhvVW9RQmdDQm9uQ21MeU1BTmVrYkFWckFBeHdRNWh3RVh3b0hLWFF6ciIsImV4cGlyZSI6MTU3MzAyOTMyNywiZXh0cmEiOnsiZXh0ZXJuYWxQbGF0Zm9ybU5hbWUiOm51bGx9fQ.QGjLZeB7hlwoVhJsc8-Qumj23tqS3eIz1T1OZxxynAtEad5MpXfxCFW5gEq72NRXu3Ng_yp8x52WJ0iNFqf0y5V0byA5Via2oY9ujT34N1h4R3QmTQO-kHHdurzhP67o_5YNh073-9I85UWfBUmPltfHSckO3gqBCMmOnsTpPYfBp09Vpj0U6XnniTpQpFvKeEfDITHsdkNUclz1DW97iWoSkV-JgRGjx9nfo-Gm-c3RNB1q70xhz96UPIb3KA90ObIhEFVTow7wbeLCHQF5YV6BRihVKgGUOeBCHvT00fjxb1fcs68DIeFhPbGrXugVbOdKTLU1yUW1OqO67lmWvQ?display=dark&expires=1573029327&lang=ro&signature=26b34f371c0d600959dbc2dba930bb576d70a5bea79272137c39082f2c2fb97f",
"createdAt": 1573025727
},
"kycLevelRequired": 5,
"externalPlatform": null,
"createdAt": 1573025826
}
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "This quote is already processed."
}
Example response (403):
{
"message": "This quote has expired."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (404):
{
"message": "No query results."
}
Example response (409):
{
"message": "This action is unauthorized."
}
HTTP Request
POST /api/v1/user/{user}/quote/{quote}/confirm
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
quote |
required | The quote ID. |
Body Parameters
Parameter | Type | Status | Description |
---|---|---|---|
orderPaymentMethod |
uuid | optional | The payment id, required only if no payment method provided at quote create - (in:$user->paymentMethods). |
wallet |
string|uuid | optional | If quote is Withdraw or has secondOrderType Withdraw, you can change desire wallet using this param. |
network |
string | optional | The wallet network - (required_if:orderType,withdraw). |
Quote Cancel
Requires authentication Use this endpoint to cancel a user quote.
Example request:
curl -X POST \
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/quote/fc0388dc-63c5-4fbe-bc53-c11ba3bdb94e/cancel" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/quote/fc0388dc-63c5-4fbe-bc53-c11ba3bdb94e/cancel"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
fetch(url, {
method: "POST",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/quote/fc0388dc-63c5-4fbe-bc53-c11ba3bdb94e/cancel',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/quote/fc0388dc-63c5-4fbe-bc53-c11ba3bdb94e/cancel'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('POST', url, headers=headers)
response.json()
Example response (200):
{
"data": {
"id": "fc0388dc-63c5-4fbe-bc53-c11ba3bdb94e",
"publicId": "iZE9qxz6",
"status": "expired",
"type": "coin",
"typeOperationName": "buy_with_fiat",
"payment": {
"type": "bank",
"id": null,
"mandatory": false
},
"from": "EUR",
"to": "ETH",
"fromAsset": {
"name": "Euro",
"symbol": "EUR",
"alias": null,
"precision": "2"
},
"toAsset": {
"name": "Ethereum",
"symbol": "ETH",
"alias": null,
"precision": "5",
"chain": {
"name": null,
"symbol": null
}
},
"amount": "0.2000000000000000000000000",
"rate": "172.2125000000000000000000000",
"commission": {
"fromAmount": "4.4925",
"fromTotal": "0.03",
"discountPercent": "0",
"percent": "15"
},
"total": "34.4425000000000000000000000",
"parentOrder": {
"id": null,
"publicId": null
},
"walletPolicy": "relax",
"walletAddress": null,
"checkout": null,
"order": {
"id": "c555a171-9c3e-4d9d-b121-3d74ba87e2ee",
"publicId": "llnnLjW8",
"status": "REJECTED",
"type": "coin",
"typeOperation": "in",
"typeOperationName": "buy_with_fiat",
"fromSymbol": "EUR",
"fromAmount": "34.4425000000000000000000000",
"rate": "172.2125000000000000000000000",
"toSymbol": "ETH",
"toAmount": "0.2000000000000000000000000",
"wallet": null,
"txId": null,
"parentOrder": {
"id": null,
"publicId": null
},
"payment": {
"method": "bank",
"id": null,
"url": null,
"feePercent": "0",
"proofUploaded": null
},
"commissions": {
"percent": "15.0000000000000000000000000",
"amount": "4.4925000000000000000000000"
},
"quote": {
"id": "fc0388dc-63c5-4fbe-bc53-c11ba3bdb94e",
"publicId": "iZE9qxz6"
},
"externalPlatform": null,
"createdAt": 1572866814
},
"externalPlatform": null,
"lifeSeconds": 3600,
"lifeUntilAt": 1572870237,
"confirmBlockedByKyc": false,
"confirmUrl": null,
"createdAt": 1572866637
}
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (404):
{
"message": "No query results."
}
Example response (409):
{
"message": "This action is unauthorized."
}
HTTP Request
POST /api/v1/user/{user}/quote/{quote}/cancel
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
quote |
required | The quote ID. |
Rates
APIs for retrieving rates
Rate Buy
Requires authentication Use this endpoint to get a buy price
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/price/buy/EUR/ETH" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/price/buy/EUR/ETH"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/price/buy/EUR/ETH',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/price/buy/EUR/ETH'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('GET', url, headers=headers)
response.json()
Example response (200):
{
"data": {
"rate": "6383.37700000000000000000000000000000000000000000000000",
"rateRaw": "6377",
"commission": {
"from": "0.09990009990009990009990036200000000000000000000000",
"to": "0.00001566568917988080603730600000000000000000000000",
"percent": 0.1,
"discount": 0
},
"amounts": {
"from": "100",
"to": "0.01566568917988080603730595889918455388111966440334"
},
"assets": {
"from": "EUR",
"to": "BTC"
},
"payment": {
"processor": null,
"fee": null,
"feeOnTop": null
},
"operation": "buy_with_fiat"
}
}
Example response (403):
{
"message": "ERROR: from_amount and to_amount cannot be both filled",
"errors": {}
}
Example response (405):
{
"message": "Operation not available!",
"errors": {}
}
HTTP Request
GET /api/v1/user/{user}/price/buy/{from}/{to}
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
from |
required | The asset symbol From. |
to |
required | The asset symbol To. |
from_amount |
optional | The asset amount From. |
to_amount |
optional | The asset amount To. |
Rate Sell
Requires authentication Use this endpoint to get a sell price
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/price/sell/ETH/EUR" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/price/sell/ETH/EUR"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/price/sell/ETH/EUR',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/price/sell/ETH/EUR'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('GET', url, headers=headers)
response.json()
Example response (200):
{
"data": {
"rate": "160.16",
"rateRaw": "160.16",
"commission": {
"from": "0",
"to": "0",
"percent": 0,
"discount": 0
},
"amounts": {
"from": "100",
"to": "16016.00000000000000000000000000000000000000000000000000"
},
"assets": {
"from": "ETH",
"to": "EUR"
},
"payment": {
"processor": null,
"fee": null,
"feeOnTop": null
},
"operation": "sell_to_fiat"
}
}
Example response (403):
{
"message": "ERROR: from_amount and to_amount cannot be both filled",
"errors": {}
}
Example response (405):
{
"message": "Operation not available!",
"errors": {}
}
HTTP Request
GET /api/v1/user/{user}/price/sell/{from}/{to}
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
from |
required | The asset symbol From. |
to |
required | The asset symbol To. |
from_amount |
optional | The asset amount From. |
to_amount |
optional | The asset amount To. |
Rate Payment
Requires authentication Use this endpoint to get a payment rate
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/price/pay/ETH/EUR" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/price/pay/ETH/EUR"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/price/pay/ETH/EUR',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/price/pay/ETH/EUR'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('GET', url, headers=headers)
response.json()
Example response (200):
{
"data": {
"rate": "160.16",
"rateRaw": "160.16",
"commission": {
"from": "0",
"to": "0",
"percent": 0,
"discount": 0
},
"amounts": {
"from": "100",
"to": "16016.00000000000000000000000000000000000000000000000000"
},
"assets": {
"from": "ETH",
"to": "EUR"
},
"payment": {
"processor": null,
"fee": null,
"feeOnTop": null
},
"operation": "payment"
}
}
Example response (403):
{
"message": "ERROR: from_amount and to_amount cannot be both filled",
"errors": {}
}
Example response (405):
{
"message": "Operation not available!",
"errors": {}
}
HTTP Request
GET /api/v1/user/{user}/price/pay/{from}/{to}
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
from |
required | The asset symbol From. |
to |
required | The asset symbol To. |
from_amount |
optional | The asset amount From. |
to_amount |
optional | The asset amount To. |
Rate Withdraw
Requires authentication
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/price/withdraw/ETH/ETH" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/price/withdraw/ETH/ETH"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/price/withdraw/ETH/ETH',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/price/withdraw/ETH/ETH'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('GET', url, headers=headers)
response.json()
Example response (200):
{
"data": {
"rate": "160.16",
"rateRaw": "160.16",
"commission": {
"from": "2.0000000000000000000000000000",
"to": "2.0000000000000000000000000000",
"percent": 2,
"discount": 0
},
"amounts": {
"from": "100",
"to": "98.0000000000000000000000000000"
},
"assets": {
"from": "ETH",
"to": "ETH"
},
"payment": {
"processor": null,
"fee": null,
"feeOnTop": null
},
"operation": "withdraw"
}
}
Example response (403):
{
"message": "ERROR: from_amount and to_amount cannot be both filled",
"errors": {}
}
Example response (405):
{
"message": "Operation not available!",
"errors": {}
}
HTTP Request
GET /api/v1/user/{user}/price/withdraw/{from}/{to}
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
from |
required | The asset symbol From. |
to |
required | The asset symbol To. |
from_amount |
optional | The asset amount From. |
to_amount |
optional | The asset amount To. |
Rate WithdrawIco
Requires authentication Use this endpoint to get a withdrawIco price
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/price/withdraw-ico/IPSX/IPSX" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/price/withdraw-ico/IPSX/IPSX"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/price/withdraw-ico/IPSX/IPSX',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/price/withdraw-ico/IPSX/IPSX'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('GET', url, headers=headers)
response.json()
Example response (200):
{
"data": {
"rate": "6.304E-5",
"rateRaw": "6.304E-5",
"commission": {
"from": "10.000000000000000000000000000",
"to": "10.000000000000000000000000000",
"percent": 10,
"discount": 0
},
"amounts": {
"from": "100",
"to": "90.000000000000000000000000000"
},
"assets": {
"from": "IPSX",
"to": "IPSX"
},
"payment": {
"processor": null,
"fee": null,
"feeOnTop": null
},
"operation": "withdrawIco"
}
}
Example response (403):
{
"message": "ERROR: from_amount and to_amount cannot be both filled",
"errors": {}
}
Example response (405):
{
"message": "Operation not available!",
"errors": {}
}
HTTP Request
GET /api/v1/user/{user}/price/withdraw-ico/{from}/{to}
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
from |
required | The asset symbol From. |
to |
required | The asset symbol To. |
from_amount |
optional | The asset amount From. |
to_amount |
optional | The asset amount To. |
Security
APIs for managing securities
Security Index
Requires authentication Use this endpoint to get all user Securities.
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/securities?user=jon%40winterfell.got&name=logout&ip=127.0.0.1" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/securities"
);
let params = {
"user": "jon@winterfell.got",
"name": "logout",
"ip": "127.0.0.1",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/securities',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
'query' => [
'user'=> 'jon@winterfell.got',
'name'=> 'logout',
'ip'=> '127.0.0.1',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/securities'
params = {
'user': 'jon@winterfell.got',
'name': 'logout',
'ip': '127.0.0.1',
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()
Example response (200):
{
"data": [
{
"code": "login_success",
"name": "Login Success",
"by": "User",
"ip": "127.0.0.1",
"externalPlatform": {
"code": "CCPRO",
"name": "CryptoCoin",
"url": "https:\/\/app.cryptocoin.pro"
},
"createdAt": 1569825416
}
]
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (403):
{
"message": "Unable to process your request."
}
Example response (409):
{
"message": "This action is unauthorized."
}
HTTP Request
GET /api/v1/user/{user}/securities
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
Query Parameters
Parameter | Status | Description |
---|---|---|
user |
optional | Filter by User Email/ID. |
name |
optional | Filter by Name. |
ip |
optional | Filter by IP. |
Security Access Tokens
Requires authentication Use this endpoint to get all user Acess Tokens.
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/securities/access" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/securities/access"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/securities/access',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/securities/access'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('GET', url, headers=headers)
response.json()
Example response (200):
{
"data": [
{
"type": "api",
"you": true,
"token": "236605634f6b59XXXXXXXXXXXXXXXXXXXXXXXX",
"lastUsedAt": 1591095132,
"createdAt": 1591088611
}
]
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (403):
{
"message": "Unable to process your request."
}
Example response (409):
{
"message": "This action is unauthorized."
}
HTTP Request
GET /api/v1/user/{user}/securities/access
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
Security API Requests
Requires authentication Use this endpoint to get all user API Requests.
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/securities/api-requests" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/securities/api-requests"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/securities/api-requests',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/securities/api-requests'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('GET', url, headers=headers)
response.json()
Example response (200):
{
"data": [
{
"status": "200",
"method": "GET",
"ip": "127.0.0.1",
"source": "raw",
"externalPlatform": {
"code": "CCPRO",
"name": "CryptoCoin",
"color_code": "#13CD88",
"urls": {
"website": "https:\/\/app.cryptocoin.pro\/",
"widget": "http:\/\/dev-checkout.cryptocoin-app.test\/order\/ccpro"
}
},
"createdAt": 1598861053
}
]
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (403):
{
"message": "Unable to process your request."
}
Example response (409):
{
"message": "This action is unauthorized."
}
HTTP Request
GET /api/v1/user/{user}/securities/api-requests
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
Security Change Password
Requires authentication Use this endpoint to change user password.
Example request:
curl -X POST \
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/securities/change-password" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}" \
-d '{"current_password":"password","new_password":"password"}'
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/securities/change-password"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
let body = {
"current_password": "password",
"new_password": "password"
}
fetch(url, {
method: "POST",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/securities/change-password',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
'json' => [
'current_password' => 'password',
'new_password' => 'password',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/securities/change-password'
payload = {
"current_password": "password",
"new_password": "password"
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Example response (200):
{
"message": "Password successfully changed."
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (403):
{
"message": "Unable to process your request."
}
Example response (412):
{
"message": "Password cannot be changed."
}
Example response (417):
{
"message": "The current password is incorrect."
}
HTTP Request
POST /api/v1/user/{user}/securities/change-password
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
Body Parameters
Parameter | Type | Status | Description |
---|---|---|---|
current_password |
string | required | The current user password - (string|min:8|max:191). |
new_password |
string | required | The user new password - (string|min:8|max:191). |
Security Access Token Invalidate
Requires authentication Use this endpoint to delete user access token.
Example request:
curl -X POST \
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/securities/invalidate/14bb7a50a5ede4XXXXXXXXXXXXXXXXXXXXXXXX" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/securities/invalidate/14bb7a50a5ede4XXXXXXXXXXXXXXXXXXXXXXXX"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
fetch(url, {
method: "POST",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/securities/invalidate/14bb7a50a5ede4XXXXXXXXXXXXXXXXXXXXXXXX',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/securities/invalidate/14bb7a50a5ede4XXXXXXXXXXXXXXXXXXXXXXXX'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('POST', url, headers=headers)
response.json()
Example response (200):
{
"message": "This token has been successfully invalidated."
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "This action is unauthorized."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (409):
{
"message": "This action is unauthorized."
}
HTTP Request
POST /api/v1/user/{user}/securities/invalidate/{token}
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
token |
required | The token. |
Service
APIs for managing services
Service Index
Requires authentication Use this endpoint to get user services.
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/service?id=883af487-69e3-4abf-bd51-4b1252764419&status=completed&service=subscription&order=3008ec8f-3aed-48c6-bead-347ecca427ab&beneficiary=merchant%40email.com&platform=CCPRO" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/service"
);
let params = {
"id": "883af487-69e3-4abf-bd51-4b1252764419",
"status": "completed",
"service": "subscription",
"order": "3008ec8f-3aed-48c6-bead-347ecca427ab",
"beneficiary": "merchant@email.com",
"platform": "CCPRO",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/service',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
'query' => [
'id'=> '883af487-69e3-4abf-bd51-4b1252764419',
'status'=> 'completed',
'service'=> 'subscription',
'order'=> '3008ec8f-3aed-48c6-bead-347ecca427ab',
'beneficiary'=> 'merchant@email.com',
'platform'=> 'CCPRO',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/service'
params = {
'id': '883af487-69e3-4abf-bd51-4b1252764419',
'status': 'completed',
'service': 'subscription',
'order': '3008ec8f-3aed-48c6-bead-347ecca427ab',
'beneficiary': 'merchant@email.com',
'platform': 'CCPRO',
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()
Example response (200):
{
"data": [
{
"id": "883af487-69e3-4abf-bd51-4b1252764419",
"status": "completed",
"options": {
"permission": "all",
"recurrence_type": "months",
"recurrence_value": 1,
"recurrence_total": 2,
"recurrence_notify": 7,
"amount": 0.1,
"info": "Some info about this subscription service"
},
"user": {
"id": "66de494e-6791-4290-996c-32f42041fbf4",
"isActive": true,
"status": "active",
"tradeStatus": true,
"email": "al**@gmail.com",
"options": {
"language": "ro",
"theme": "light"
},
"meta": {
"source": "web"
},
"selfDeleted": {
"status": null,
"dates": {
"initiated": null,
"confirmed": null,
"deleted": null
}
},
"createdAt": 1554204615,
"deletedAt": null
},
"beneficiary": {
"id": "4bd38bbd-9fc0-4570-a7df-bb9b39e143de",
"email": "an**@boostit.com"
},
"service": {
"id": "ea69d0c9-8370-4aca-942d-ebcc50d2adaa",
"title": "Subscription Gaming 2 Months",
"type": "subscription",
"options": null
},
"orders": [],
"createdAt": 1671203509
}
]
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (409):
{
"message": "This action is unauthorized."
}
HTTP Request
GET /api/v1/user/{user}/service
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
Query Parameters
Parameter | Status | Description |
---|---|---|
id |
optional | Filter by ID. |
status |
optional | Filter by Status. |
service |
optional | Filter by Service. |
order |
optional | Filter by Order. |
beneficiary |
optional | Filter by Beneficiary. |
platform |
optional | Filter by Platform. |
Service Store
Requires authentication Use this endpoint to create a user service.
Example request:
curl -X POST \
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/service" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}" \
-d '{"beneficiary":"c58a8ac1-452f-45e6-9e59-90ffc7478d37","service":"66de494e-6791-4290-996c-32f42041fbf4"}'
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/service"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
let body = {
"beneficiary": "c58a8ac1-452f-45e6-9e59-90ffc7478d37",
"service": "66de494e-6791-4290-996c-32f42041fbf4"
}
fetch(url, {
method: "POST",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/service',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
'json' => [
'beneficiary' => 'c58a8ac1-452f-45e6-9e59-90ffc7478d37',
'service' => '66de494e-6791-4290-996c-32f42041fbf4',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/service'
payload = {
"beneficiary": "c58a8ac1-452f-45e6-9e59-90ffc7478d37",
"service": "66de494e-6791-4290-996c-32f42041fbf4"
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Example response (201):
{
"data": {
"id": "883af487-69e3-4abf-bd51-4b1252764419",
"status": "payment",
"options": {
"permission": "all",
"recurrence_type": "months",
"recurrence_value": 1,
"recurrence_total": 2,
"recurrence_notify": 7,
"amount": 0.1,
"info": "Some info about this subscription service"
},
"user": {
"id": "66de494e-6791-4290-996c-32f42041fbf4",
"isActive": true,
"status": "active",
"tradeStatus": true,
"email": "al**@gmail.com",
"options": {
"language": "ro",
"theme": "light"
},
"meta": {
"source": "web"
},
"selfDeleted": {
"status": null,
"dates": {
"initiated": null,
"confirmed": null,
"deleted": null
}
},
"createdAt": 1554204615,
"deletedAt": null
},
"beneficiary": {
"id": "4bd38bbd-9fc0-4570-a7df-bb9b39e143de",
"email": "an**@boostit.com"
},
"service": {
"id": "ea69d0c9-8370-4aca-942d-ebcc50d2adaa",
"title": "Subscription Gaming 2 Months",
"type": "subscription",
"options": null
},
"orders": [],
"createdAt": 1671203509
}
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (404):
{
"message": "No query results."
}
Example response (409):
{
"message": "This action is unauthorized."
}
HTTP Request
POST /api/v1/user/{user}/service
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
Body Parameters
Parameter | Type | Status | Description |
---|---|---|---|
beneficiary |
string | optional | The beneficiary id - (uuid|in:merchants). |
service |
string | required | The service id - (uuid|in:services). |
Service Show
Requires authentication Use this endpoint to get a user service.
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/service/883af487-69e3-4abf-bd51-4b1252764419" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/service/883af487-69e3-4abf-bd51-4b1252764419"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/service/883af487-69e3-4abf-bd51-4b1252764419',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/service/883af487-69e3-4abf-bd51-4b1252764419'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('GET', url, headers=headers)
response.json()
Example response (200):
{
"data": {
"id": "883af487-69e3-4abf-bd51-4b1252764419",
"status": "completed",
"options": {
"permission": "all",
"recurrence_type": "months",
"recurrence_value": 1,
"recurrence_total": 2,
"recurrence_notify": 7,
"amount": 0.1,
"info": "Some info about this subscription service"
},
"user": {
"id": "66de494e-6791-4290-996c-32f42041fbf4",
"isActive": true,
"status": "active",
"tradeStatus": true,
"email": "al**@gmail.com",
"options": {
"language": "ro",
"theme": "light"
},
"meta": {
"source": "web"
},
"selfDeleted": {
"status": null,
"dates": {
"initiated": null,
"confirmed": null,
"deleted": null
}
},
"createdAt": 1554204615,
"deletedAt": null
},
"beneficiary": {
"id": "4bd38bbd-9fc0-4570-a7df-bb9b39e143de",
"email": "an**@boostit.com"
},
"service": {
"id": "ea69d0c9-8370-4aca-942d-ebcc50d2adaa",
"title": "Subscription Gaming 2 Months",
"type": "subscription",
"options": null
},
"orders": [],
"createdAt": 1671203509
}
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (404):
{
"message": "No query results."
}
Example response (409):
{
"message": "This action is unauthorized."
}
HTTP Request
GET /api/v1/user/{user}/service/{service}
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
service |
required | The service ID. |
Service Disable
Requires authentication Use this endpoint to disable an active user service.
Example request:
curl -X POST \
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/service/883af487-69e3-4abf-bd51-4b1252764419/disable" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/service/883af487-69e3-4abf-bd51-4b1252764419/disable"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
fetch(url, {
method: "POST",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/service/883af487-69e3-4abf-bd51-4b1252764419/disable',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/service/883af487-69e3-4abf-bd51-4b1252764419/disable'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('POST', url, headers=headers)
response.json()
Example response (200):
{
"data": {
"id": "883af487-69e3-4abf-bd51-4b1252764419",
"status": "completed",
"options": {
"permission": "all",
"recurrence_type": "months",
"recurrence_value": 1,
"recurrence_total": 2,
"recurrence_notify": 7,
"amount": 0.1,
"info": "Some info about this subscription service"
},
"user": {
"id": "66de494e-6791-4290-996c-32f42041fbf4",
"isActive": true,
"status": "active",
"tradeStatus": true,
"email": "al**@gmail.com",
"options": {
"language": "ro",
"theme": "light"
},
"meta": {
"source": "web"
},
"selfDeleted": {
"status": null,
"dates": {
"initiated": null,
"confirmed": null,
"deleted": null
}
},
"createdAt": 1554204615,
"deletedAt": null
},
"beneficiary": {
"id": "4bd38bbd-9fc0-4570-a7df-bb9b39e143de",
"email": "an**@boostit.com"
},
"service": {
"id": "ea69d0c9-8370-4aca-942d-ebcc50d2adaa",
"title": "Subscription Gaming 2 Months",
"type": "subscription",
"options": null
},
"orders": [],
"createdAt": 1671203509
}
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (404):
{
"message": "No query results."
}
Example response (409):
{
"message": "This action is unauthorized."
}
HTTP Request
POST /api/v1/user/{user}/service/{service}/disable
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
service |
required | The service ID. |
Signature
APIs for managing user signatures.
Signature Index
Requires authentication Use this endpoint to get user signatures.
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/signature" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/signature"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/signature',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/signature'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('GET', url, headers=headers)
response.json()
Example response (200):
{
"data": [
{
"id": "e5fceabe-7474-46c9-99e7-a51780593d1e",
"signature": null,
"status": "not_completed",
"signedAt": null,
"user": {
"id": "4b45540b-dd62-4554-8788-a883dcb6cfd2",
"isActive": true,
"status": "active",
"tradeStatus": true,
"email": "an***@gmail.com",
"options": {
"language": "en",
"theme": "light",
"guard": {
"guard": {
"antiPhishing": null,
"actions": {
"login": {
"2fa": false,
"password": true
},
"operations": {
"2fa": false,
"password": false
}
}
}
}
},
"meta": {
"source": "web"
},
"selfDeleted": {
"status": null,
"dates": {
"initiated": null,
"confirmed": null,
"deleted": null
}
},
"createdAt": 1647243783,
"deletedAt": null
},
"company": {
"id": "21a69aea-eb9b-4c95-9f3a-9e146b1813c4",
"name": "Company 1",
"corporateRegistrationNumber": "123456",
"incorporationDate": "2022-03-02 00:00:00",
"operatingLicenseNumber": "",
"website": null,
"lei": "1111",
"vatNr": "12345",
"tinNr": "12345",
"state": "Arges",
"city": "Pitesti",
"address": "Nr10",
"zip": "12345",
"postalAddress": null,
"default": true,
"reject": [],
"purposeAndScope": null,
"status": "approved",
"color_code": "#92f819",
"createdAt": 1647243936
},
"createdAt": 1649147097
}
]
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (409):
{
"message": "This action is unauthorized."
}
HTTP Request
GET /api/v1/user/{user}/signature
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
Signature Show
Requires authentication Use this endpoint to get user signature.
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/signature/ebf8e81e-fdfd-4da9-76e4-b5172b6f14b4" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/signature/ebf8e81e-fdfd-4da9-76e4-b5172b6f14b4"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/signature/ebf8e81e-fdfd-4da9-76e4-b5172b6f14b4',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/signature/ebf8e81e-fdfd-4da9-76e4-b5172b6f14b4'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('GET', url, headers=headers)
response.json()
Example response (200):
{
"data": {
"id": "e5fceabe-7474-46c9-99e7-a51780593d1e",
"signature": null,
"status": "not_completed",
"signedAt": null,
"user": {
"id": "4b45540b-dd62-4554-8788-a883dcb6cfd2",
"isActive": true,
"status": "active",
"tradeStatus": true,
"email": "an***@gmail.com",
"options": {
"language": "en",
"theme": "light",
"guard": {
"guard": {
"antiPhishing": null,
"actions": {
"login": {
"2fa": false,
"password": true
},
"operations": {
"2fa": false,
"password": false
}
}
}
}
},
"meta": {
"source": "web"
},
"selfDeleted": {
"status": null,
"dates": {
"initiated": null,
"confirmed": null,
"deleted": null
}
},
"createdAt": 1647243783,
"deletedAt": null
},
"company": {
"id": "21a69aea-eb9b-4c95-9f3a-9e146b1813c4",
"name": "Company 1",
"corporateRegistrationNumber": "123456",
"incorporationDate": "2022-03-02 00:00:00",
"operatingLicenseNumber": "",
"website": null,
"lei": "1111",
"vatNr": "12345",
"tinNr": "12345",
"state": "Arges",
"city": "Pitesti",
"address": "Nr10",
"zip": "12345",
"postalAddress": null,
"default": true,
"reject": [],
"purposeAndScope": null,
"status": "approved",
"color_code": "#92f819",
"createdAt": 1647243936
},
"createdAt": 1649147097
}
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (409):
{
"message": "This action is unauthorized."
}
HTTP Request
GET /api/v1/user/{user}/signature/{signature}
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
signature |
required | The signature ID. |
Signature Sign
Requires authentication Use this endpoint for signature sign
Example request:
curl -X POST \
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/signature/5d482936-d7b4-4ef2-bef7-a230ca712a4b/sign" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}" \
-d '{"signature":"foo"}'
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/signature/5d482936-d7b4-4ef2-bef7-a230ca712a4b/sign"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
let body = {
"signature": "foo"
}
fetch(url, {
method: "POST",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/signature/5d482936-d7b4-4ef2-bef7-a230ca712a4b/sign',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
'json' => [
'signature' => 'foo',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/signature/5d482936-d7b4-4ef2-bef7-a230ca712a4b/sign'
payload = {
"signature": "foo"
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Example response (200):
{
"data": {
"id": "e5fceabe-7474-46c9-99e7-a51780593d1e",
"signature": null,
"status": "not_completed",
"signedAt": null,
"user": {
"id": "4b45540b-dd62-4554-8788-a883dcb6cfd2",
"isActive": true,
"status": "active",
"tradeStatus": true,
"email": "an***@gmail.com",
"options": {
"language": "en",
"theme": "light",
"guard": {
"guard": {
"antiPhishing": null,
"actions": {
"login": {
"2fa": false,
"password": true
},
"operations": {
"2fa": false,
"password": false
}
}
}
}
},
"meta": {
"source": "web"
},
"selfDeleted": {
"status": null,
"dates": {
"initiated": null,
"confirmed": null,
"deleted": null
}
},
"createdAt": 1647243783,
"deletedAt": null
},
"company": {
"id": "21a69aea-eb9b-4c95-9f3a-9e146b1813c4",
"name": "Company 1",
"corporateRegistrationNumber": "123456",
"incorporationDate": "2022-03-02 00:00:00",
"operatingLicenseNumber": "",
"website": null,
"lei": "1111",
"vatNr": "12345",
"tinNr": "12345",
"state": "Arges",
"city": "Pitesti",
"address": "Nr10",
"zip": "12345",
"postalAddress": null,
"default": true,
"reject": [],
"purposeAndScope": null,
"status": "approved",
"color_code": "#92f819",
"createdAt": 1647243936
},
"createdAt": 1649147097
}
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (409):
{
"message": "This action is unauthorized."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"signature": [
"The selected signature is invalid."
]
}
}
HTTP Request
POST /api/v1/user/{user}/signature/{signature}/sign
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
signature |
required | The signature ID. |
Body Parameters
Parameter | Type | Status | Description |
---|---|---|---|
signature |
string | required | The user signature |
Staking
APIs for managing asset stakings.
Staking Offers Index
Requires authentication Use this endpoint to get all staking offers.
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/staking" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/staking"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/staking',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/staking'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {token}'
}
response = requests.request('GET', url, headers=headers)
response.json()
Example response (200):
{
"data": [
{
"id": "6dff7801-c918-4d1e-97fd-c9b7e1b9ce40",
"apy": 4.95,
"enroll": "accepted",
"amount": "0.8000000000000000000000000",
"asset": {
"name": "Ethereum",
"symbol": "ETH",
"alias": null,
"type": "coin",
"precision": "5"
},
"operations": {
"stake": {
"status": true,
"lockDays": 30,
"limits": {
"min": "0.1",
"max": "2"
}
},
"unstake": {
"status": true,
"lockDays": 15,
"limits": {
"min": "0.1",
"max": "0.5"
}
}
},
"createdAt": 1653652215
}
]
}
Example response (401):
{
"error": "Unauthenticated."
}
Example response (403):
{
"message": "Your account is inactive."
}
Example response (409):
{
"message": "This action is unauthorized."
}
HTTP Request
GET /api/v1/user/{user}/staking
URL Parameters
Parameter | Status | Description |
---|---|---|
user |
required | The user ID. |
Staking Offers Show
Requires authentication Use this endpoint to get all staking offers.
Example request:
curl -X GET \
-G "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/staking/6dff7801-c918-4d1e-97fd-c9b7e1b9ce40" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}"
const url = new URL(
"https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/staking/6dff7801-c918-4d1e-97fd-c9b7e1b9ce40"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {token}",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/staking/6dff7801-c918-4d1e-97fd-c9b7e1b9ce40',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/staking/6dff7801-c918-4d1e-97fd-c9b7e1b9c