bash javascript php python

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 }

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&currency=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.

Campaign

APIs for managing campaigns

Campaign Index

Use this endpoint to get all available platform Campaigns.

Example request:

curl -X GET \
    -G "https://appapi-public.cryptocoin.pro/api/v1/campaigns?id=4e390f9e-47a4-4def-a780-70ed47c70ad7&name=Some+new+campaign&status=active&start_at=2023-01-01" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -H "Authorization: Bearer {token}"
const url = new URL(
    "https://appapi-public.cryptocoin.pro/api/v1/campaigns"
);

let params = {
    "id": "4e390f9e-47a4-4def-a780-70ed47c70ad7",
    "name": "Some new campaign",
    "status": "active",
    "start_at": "2023-01-01",
};
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/campaigns',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Authorization' => 'Bearer {token}',
        ],
        'query' => [
            'id'=> '4e390f9e-47a4-4def-a780-70ed47c70ad7',
            'name'=> 'Some new campaign',
            'status'=> 'active',
            'start_at'=> '2023-01-01',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://appapi-public.cryptocoin.pro/api/v1/campaigns'
params = {
  'id': '4e390f9e-47a4-4def-a780-70ed47c70ad7',
  'name': 'Some new campaign',
  'status': 'active',
  'start_at': '2023-01-01',
}
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": "4e390f9e-47a4-4def-a780-70ed47c70ad7",
            "status": "active",
            "name": "Some new campaign",
            "description": null,
            "image": "http:\/\/dev-app-admin.cryptocoin-app.test\/campaigns\/3.jpg",
            "type": "public",
            "startAt": 1685318400,
            "endAt": 1688083200,
            "createdAt": 1685347146,
            "incentives": [
                {
                    "id": "0594b1b6-bd03-4a22-b7ee-faa150f5b49a",
                    "status": "active",
                    "operationType": "register",
                    "operationService": null,
                    "rewardAmount": "0.01",
                    "info": "Some info details",
                    "createdAt": 1684839401,
                    "operationAsset": null,
                    "rewardAsset": {
                        "name": "Bitcoin",
                        "symbol": "BTC",
                        "alias": "XBT",
                        "type": "coin",
                        "precision": "6",
                        "quantity": -1,
                        "memo": false,
                        "description": {
                            "en": "Bitcoin is the first successful internet money based on peer-to-peer technology; whereby no central bank or authority is involved in the transaction and production of the Bitcoin currency. It was created by an anonymous individual\/group under the name, Satoshi Nakamoto. The source code is available publicly as an open source project, anybody can look at it and be part of the developmental process.\r\n\r\nBitcoin is changing the way we see money as we speak. The idea was to produce a means of exchange, independent of any central authority, that could be transferred electronically in a secure, verifiable and immutable way. It is a decentralized peer-to-peer internet currency making mobile payment easy, very low transaction fees, protects your identity, and it works anywhere all the time with no central authority and banks.\r\n\r\nBitcoin is designed to have only 21 million BTC ever created, thus making it a deflationary currency. Bitcoin uses the SHA-256 hashing algorithm with an average transaction confirmation time of 10 minutes. Miners today are mining Bitcoin using ASIC chip dedicated to only mining Bitcoin, and the hash rate has shot up to peta hashes.\r\n\r\nBeing the first successful online cryptography currency, Bitcoin has inspired other alternative currencies such as Litecoin, Peercoin, Primecoin, and so on.\r\n\r\nThe cryptocurrency then took off with the innovation of the turing-complete smart contract by Ethereum which led to the development of other amazing projects such as EOS, Tron, and even crypto-collectibles such as CryptoKitties."
                        },
                        "properties": null,
                        "meta": {
                            "genesis_date": "2009-01-03",
                            "links": {
                                "website": "http:\/\/www.bitcoin.org",
                                "github": "https:\/\/github.com\/bitcoin\/bitcoin",
                                "facebook": "https:\/\/www.facebook.com\/bitcoins",
                                "twitter": "https:\/\/www.twitter.com\/bitcoin"
                            },
                            "total_supply": 21000000
                        }
                    },
                    "user": {
                        "id": "4bd38bbd-9fc0-4570-a7df-bb9b39e143de",
                        "isActive": true,
                        "status": "active",
                        "tradeStatus": true,
                        "email": "al***@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
                    },
                    "company": null
                },
                {
                    "id": "0ed22ba5-1d97-4741-8ceb-80bdc152f07d",
                    "status": "inactive",
                    "operationType": "buy_with_fiat",
                    "operationService": null,
                    "rewardAmount": "1",
                    "info": null,
                    "createdAt": 1685339681,
                    "operationAsset": {
                        "name": "Cardano",
                        "symbol": "ADA",
                        "alias": null,
                        "type": "coin",
                        "precision": "8",
                        "quantity": -1,
                        "memo": false,
                        "description": {
                            "en": "Cardano is a decentralised platform that will allow complex programmable transfers of value in a secure and scalable fashion. It is one of the first blockchains to be built in the highly secure Haskell programming language. Cardano is developing a smart contract platform which seeks to deliver more advanced features than any protocol previously developed. It is the first blockchain platform to evolve out of a scientific philosophy and a research-first driven approach. The development team consists of a large global collective of expert engineers and researchers.\r\n\r\nThe Cardano project is different from other blockchain projects as it openly addresses the need for regulatory oversight whilst maintaining consumer privacy and protections through an innovative software architecture. The protocol features a layered blockchain software stack that is flexible, scalable, and is being developed with the most rigorous academic and commercial software standards in the industry. \r\n\r\nCardano will use a democratic governance system that allows the project to evolve over time, and fund itself sustainably through a visionary treasury system.\r\n\r\nTechnological Innovation\r\nCardano is the first protocol to incorporate Ouroboros, the ground breaking proof of stake algorithm. The IOHK team employed a “first-principles” approach, driven by peer-reviewed academic research to build Cardano from the ground up.\r\n\r\nThe result of this collaborative effort is the first cryptocurrency to be based in Haskell code, which focuses on industrial strength product that delivers the resilience necessary for mission-critical systems, in this case, securing investment.\r\n\r\nCardano’s multi-layer protocol performs advanced functions, and has a settlement layer that is elegantly linked to a control layer. The settlement layer will have a unit of account, while the control layer will run smart contracts and will be programmed to recognize identity, assisting compliance (and allowing blacklisting, for instance).\r\n\r\nThe protocol is geared towards protecting privacy rights of users, while also taking into account the needs of regulators. In doing so, Cardano is the first protocol to balance these requirements in a nuanced and effective way, pioneering a new approach for cryptocurrencies.\r\n\r\nThe system is also designed to allow upgrade through soft forks, enabling it to adapt to changing needs and evolve quickly, when required. A treasury system is also being installed that will ensure the sustainability of the protocol.\r\n\r\nCardano is built in the spirit of collaboration by being completely open source and patent-free. Engineered for efficiency and scalability, the Cardano ecosystem will develop into the most complete cryptocurrency ever constructed.\r\n\r\nConceptual Innovation\r\n\r\ni. Privacy and regulation\r\nThe original Bitcoin blockchain was meant to be a way for individuals to transact directly and anonymously with each other outside the control of banks and governments. This guarantees privacy in financial dealings, a fundamental individual right, but full anonymity can be counterproductive. Today most blockchain projects look to further either the aims of privacy or of regulation. To be effective globally, we think our blockchain must ‘square the circle’ by finding the right mix of individual privacy protection and provision for regulatory control.\r\n\r\nii. Governance\r\nPublic, decentralized blockchain projects rely on crowd-based governance models. This allows for democratic control of the network by its participants, which is essential to building truly decentralised economies. However, if they are not carefully designed, such governance can go awry. Both the Bitcoin and Ethereum communities have experienced devastating schisms on the question of how to upgrade their networks – in Ethereum's case already causing a split. The Cardano blockchain has an airtight governance model that allow the community to democratically take clear and binding decisions.\r\n\r\niii. Funding\r\nThe Cardano blockchain has sophisticated maintenance and development needs and is able to adequately fund itself, both in terms of running costs and new investment.\r\n\r\nThe Token: ADA Voucher\r\nEvery blockchain project has a token of value commonly referred to as a cryptocurrency. Ada is the cryptocurrency on the Cardano blockchain. With Ada, holders can send value between friends, pay for a good or service, deposit funds on an exchange, or enter an application. To perform a transfer on the settlement layer requires you own Ada, or acquire Ada through an exchange. It will also be the native token to be used in applications built on the computation layer.\r\n\r\nThe Wallet: Daedalus\r\nEach cryptocurrency requires a “wallet” to store Ada. Typically this wallet is a software application that can be installed on any computer or smartphone. Daedalus is a highly-engineered wallet with advanced security features that was developed by IOHK specifically for the Cardano blockchain and protects your assets with the most advanced cryptography. In the future, Daedalus will not only support Ada, but other cryptocurrencies such as Bitcoin, Ethereum Classic and many more.\r\n\r\nThe Cardano Foundation\r\nThe Cardano Foundation’s core mission is to standardise, protect and promote the Cardano Protocol technology. The Cardano Foundation acts as a supervisory and educational body for Cardano. Our mission is to:\r\n\r\n1. Standardise, protect and promote the Cardano Protocol and its applications\r\n2. Be a community hub offering authoritative, timely information about the technology and Cardano’s wide-ranging potential\r\n3. Liaise and influence government and regulatory bodies, form strategic partnerships with businesses, enterprises and other open source projects and aid the creation of formal software standards for Cardano, a crucial feature for its long term success and critical in adoption and government engagement\r\n\r\nAreas of Focus:\r\n1. Cardano Protocol - We function as an objective standards body for the Cardano protocol as it evolves over time.\r\n2. Cardano community - We support, grow and help educate the Cardano blockchain community.\r\n3. Cardano ecosystem - We work to expand and protect the Cardano ecosystem. This includes promoting Cardano as a platform for commercial entities and serving as an objective organization for enterprises interested in joining Cardano.\r\n4. Serving the wider blockchain community - We aim to influence and progress the emerging commercial and legislative landscape for blockchain technology and cryptocurrencies in general. We proactively approach government and regulatory bodies and form strategic partnerships with businesses, enterprises and other open-source projects.\r\n\r\nIOHK\r\nFounded in 2015 by Charles Hoskinson and Jeremy Wood, IOHK is a world-class engineering and technology company committed to using peer-to-peer innovations to provide financial services to three billion people that don’t have them. The group is contracted to design, build, and maintain Cardano through to 2020.\r\n\r\nEmurgo\r\nEmurgo is the venture building entity in the Cardano ecosystem, its goal is to aid, integrate, and foster Cardano blockchain applications.\r\n\r\nEmurgo captures the transformative power that blockchain technology brings to the developing world. Decentralized applications built on Cardano technology, funded and supported by Emurgo, will have the potential to build groundbreaking applications.\r\n\r\nProject Road Map\r\nIOHK has now released the settlement layer. This means you can transact, trade, and purchase Ada tokens fully independently of the computation layer. The goal for the computation layer is to have a beta released by the first quarter of 2018. Once both settlement and computation layers are live, users will be able to setup a custom environment to build decentralised applications on the Cardano stack.\r\nIn 2019, IOHK intends to work on Cardano’s long-term scalability and augment its capabilities. As developers, IOHK has been contracted through 2020 to make sure Cardano is being adequately maintained. The goal is to create a sustainable ecosystem that is capable of funding and supporting itself."
                        },
                        "properties": [],
                        "meta": {
                            "links": {
                                "website": "https:\/\/www.cardano.org\/en\/home\/",
                                "github": "https:\/\/github.com\/input-output-hk\/cardano-sl",
                                "twitter": "https:\/\/www.twitter.com\/CardanoStiftung"
                            },
                            "total_supply": 45000000000
                        }
                    },
                    "rewardAsset": {
                        "name": "Monero",
                        "symbol": "XMR",
                        "alias": null,
                        "type": "coin",
                        "precision": "8",
                        "quantity": -1,
                        "memo": false,
                        "description": [],
                        "properties": [],
                        "meta": {
                            "genesis_date": "2014-04-18",
                            "links": {
                                "website": "https:\/\/getmonero.org",
                                "github": "https:\/\/github.com\/monero-project\/monero",
                                "facebook": "https:\/\/www.facebook.com\/monerocurrency",
                                "twitter": "https:\/\/www.twitter.com\/monero"
                            }
                        }
                    },
                    "user": {
                        "id": "afac23b0-9feb-4534-98f4-99017fbd688d",
                        "isActive": true,
                        "status": "active",
                        "tradeStatus": true,
                        "email": "an***@boostit.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": 1591788034,
                        "deletedAt": null
                    },
                    "company": null
                }
            ]
        }
    ],
    "meta": {
        "total": 1,
        "current_page": 1,
        "per_page": 20,
        "last_page": 1
    }
}

HTTP Request

GET /api/v1/campaigns

Query Parameters

Parameter Status Description
id optional Filter by ID.
name optional Filter by User Name.
status optional Filter by Status.
start_at optional Filter by Start Date.

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:6).

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/&quot;accept&quot;" \
    -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/&quot;accept&quot;"
);

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/&quot;accept&quot;',
    [
        '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/&quot;accept&quot;'
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.

Invoice

APIs for managing user invoices

Invoice Index

Requires authentication Use this endpoint to get all user invoices.

Example request:

curl -X GET \
    -G "https://appapi-public.cryptocoin.pro/api/v1/user/ebf8e81e-fdfd-4da9-84e4-b5172b6f14f3/invoice" \
    -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/invoice"
);

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/invoice',
    [
        '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/invoice'
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": "9690942d-a5af-47b9-8398-e47d82d20a6c",
            "code": "CCP-11",
            "content": {
                "ro": "",
                "en": "",
                "de": ""
            },
            "status": "pending",
            "createdAt": 1691584955,
            "company": null,
            "order": {
                "id": "ed9db4a4-a635-44ff-a27f-2eb3a67ed75a",
                "publicId": "B3WSDUBP",
                "status": "APPROVED",
                "statusReason": null,
                "type": "coin",
                "typeOperation": "out",
                "typeOperationName": "sell_to_fiat",
                "fromSymbol": "ETH",
                "fromAmount": "0.1000000000000000000000000",
                "rate": "1502.4725000000000000000000000",
                "toSymbol": "EUR",
                "toAmount": "150.2472500000000000000000000",
                "fromAsset": {
                    "name": "Ethereum",
                    "symbol": "ETH",
                    "alias": null,
                    "type": "coin",
                    "precision": "8",
                    "quantity": -1,
                    "memo": false,
                    "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": {
                        "en": "Tag",
                        "ro": "ROTag",
                        "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
                    }
                },
                "toAsset": {
                    "name": "Euro",
                    "symbol": "EUR",
                    "alias": null,
                    "type": "fiat",
                    "precision": "2",
                    "quantity": -1,
                    "memo": false,
                    "description": [],
                    "properties": null,
                    "meta": []
                },
                "txId": null,
                "wallet": null,
                "walletAddress": null,
                "parentOrder": {
                    "id": null,
                    "publicId": null,
                    "status": null,
                    "statusReason": null,
                    "quote": {
                        "id": null,
                        "publicId": null,
                        "status": null,
                        "checkout": {
                            "id": null,
                            "publicId": null,
                            "requestId": null,
                            "status": null,
                            "createdAt": null
                        }
                    }
                },
                "childOrder": {
                    "id": null,
                    "publicId": null,
                    "status": null,
                    "statusReason": null,
                    "quote": {
                        "id": null,
                        "publicId": null,
                        "status": null,
                        "createdAt": null,
                        "checkout": {
                            "id": null,
                            "publicId": null,
                            "requestId": null,
                            "status": null,
                            "createdAt": null
                        }
                    }
                },
                "payment": {
                    "method": "balance",
                    "id": null,
                    "meta": null,
                    "url": null,
                    "lifeSeconds": 7200,
                    "lifeUntilAt": 1667555115,
                    "currency": null,
                    "amount": null,
                    "feePercent": "0",
                    "feeAmount": "0",
                    "feeOnTop": true,
                    "showFee": false,
                    "proofUploaded": null
                },
                "commissions": {
                    "percent": "5.0000000000000000000000000",
                    "amount": "7.5123625000000000000000000"
                },
                "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": "6ad8e029-d172-48f2-b9d8-9d0ea5247e79",
                    "publicId": "MATTLQZH",
                    "status": "completed",
                    "createdAt": 1667547895,
                    "checkout": {
                        "id": null,
                        "publicId": null,
                        "requestId": null,
                        "status": null,
                        "createdAt": null
                    }
                },
                "transfer": null,
                "createdAt": 1667547915
            }
        }
    ]
}

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}/invoice

URL Parameters

Parameter Status Description
user required The user ID.

Invoice Show

Requires authentication Use this endpoint to get a user invoice.

Example request:

curl -X GET \
    -G "https://appapi-public.cryptocoin.pro/api/v1/user/ebf8e81e-fdfd-4da9-84e4-b5172b6f14f3/invoice/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/invoice/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/invoice/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/invoice/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": "9690942d-a5af-47b9-8398-e47d82d20a6c",
        "code": "CCP-11",
        "content": {
            "ro": "",
            "en": "",
            "de": ""
        },
        "status": "pending",
        "createdAt": 1691584955,
        "company": null,
        "order": {
            "id": "ed9db4a4-a635-44ff-a27f-2eb3a67ed75a",
            "publicId": "B3WSDUBP",
            "status": "APPROVED",
            "statusReason": null,
            "type": "coin",
            "typeOperation": "out",
            "typeOperationName": "sell_to_fiat",
            "fromSymbol": "ETH",
            "fromAmount": "0.1000000000000000000000000",
            "rate": "1502.4725000000000000000000000",
            "toSymbol": "EUR",
            "toAmount": "150.2472500000000000000000000",
            "fromAsset": {
                "name": "Ethereum",
                "symbol": "ETH",
                "alias": null,
                "type": "coin",
                "precision": "8",
                "quantity": -1,
                "memo": false,
                "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": {
                    "en": "Tag",
                    "ro": "ROTag",
                    "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
                }
            },
            "toAsset": {
                "name": "Euro",
                "symbol": "EUR",
                "alias": null,
                "type": "fiat",
                "precision": "2",
                "quantity": -1,
                "memo": false,
                "description": [],
                "properties": null,
                "meta": []
            },
            "txId": null,
            "wallet": null,
            "walletAddress": null,
            "parentOrder": {
                "id": null,
                "publicId": null,
                "status": null,
                "statusReason": null,
                "quote": {
                    "id": null,
                    "publicId": null,
                    "status": null,
                    "checkout": {
                        "id": null,
                        "publicId": null,
                        "requestId": null,
                        "status": null,
                        "createdAt": null
                    }
                }
            },
            "childOrder": {
                "id": null,
                "publicId": null,
                "status": null,
                "statusReason": null,
                "quote": {
                    "id": null,
                    "publicId": null,
                    "status": null,
                    "createdAt": null,
                    "checkout": {
                        "id": null,
                        "publicId": null,
                        "requestId": null,
                        "status": null,
                        "createdAt": null
                    }
                }
            },
            "payment": {
                "method": "balance",
                "id": null,
                "meta": null,
                "url": null,
                "lifeSeconds": 7200,
                "lifeUntilAt": 1667555115,
                "currency": null,
                "amount": null,
                "feePercent": "0",
                "feeAmount": "0",
                "feeOnTop": true,
                "showFee": false,
                "proofUploaded": null
            },
            "commissions": {
                "percent": "5.0000000000000000000000000",
                "amount": "7.5123625000000000000000000"
            },
            "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": "6ad8e029-d172-48f2-b9d8-9d0ea5247e79",
                "publicId": "MATTLQZH",
                "status": "completed",
                "createdAt": 1667547895,
                "checkout": {
                    "id": null,
                    "publicId": null,
                    "requestId": null,
                    "status": null,
                    "createdAt": null
                }
            },
            "transfer": null,
            "createdAt": 1667547915
        }
    }
}

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}/invoice/{invoice}

URL Parameters

Parameter Status Description
user required The user ID.
invoice required The invoice ID.

Invoice Download

Requires authentication Use this endpoint to get a user invoice PDF stream.

Example request:

curl -X GET \
    -G "https://appapi-public.cryptocoin.pro/api/v1/user/ebf8e81e-fdfd-4da9-84e4-b5172b6f14f3/invoice/098ac499-18fa-46f4-b065-a034341a3c44/download" \
    -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/invoice/098ac499-18fa-46f4-b065-a034341a3c44/download"
);

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/invoice/098ac499-18fa-46f4-b065-a034341a3c44/download',
    [
        '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/invoice/098ac499-18fa-46f4-b065-a034341a3c44/download'
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'Bearer {token}'
}
response = requests.request('GET', url, headers=headers)
response.json()

Example response (200):

{}

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}/invoice/{invoice}/download

URL Parameters

Parameter Status Description
user required The user ID.
invoice required The invoice 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 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 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 Services Action

Requires authentication Use this endpoint to change services state 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 POST \
    "https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/service/1/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/service/1/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/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/service/1/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/service/1/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": "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

POST /api/v1/platform/{platform}/service/{service}/{action}

URL Parameters

Parameter Status Description
platform required The platform ID.

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|in: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 Invoices

Requires authentication Use this endpoint to get all owned invoices 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/invoices?id=2af5f5eb-8619-478f-97fd-36edbeb7be04&user=jon%40winterfell.got&order=BO4PL7YB&code=CCPRO-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/invoices"
);

let params = {
    "id": "2af5f5eb-8619-478f-97fd-36edbeb7be04",
    "user": "jon@winterfell.got",
    "order": "BO4PL7YB",
    "code": "CCPRO-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/invoices',
    [
        'headers' => [
            'Token' => '{jwt-token}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'id'=> '2af5f5eb-8619-478f-97fd-36edbeb7be04',
            'user'=> 'jon@winterfell.got',
            'order'=> 'BO4PL7YB',
            'code'=> 'CCPRO-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/invoices'
params = {
  'id': '2af5f5eb-8619-478f-97fd-36edbeb7be04',
  'user': 'jon@winterfell.got',
  'order': 'BO4PL7YB',
  'code': 'CCPRO-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": "2af5f5eb-8619-478f-97fd-36edbeb7be04",
        "code": "CCP-1",
        "content": {
            "ro": "",
            "en": "",
            "de": ""
        },
        "createdAt": 1691584955,
        "company": null,
        "order": {
            "id": "ed9db4a4-a635-44ff-a27f-2eb3a67ed75a",
            "publicId": "B3WSDUBP",
            "status": "APPROVED",
            "statusReason": null,
            "type": "coin",
            "typeOperation": "out",
            "typeOperationName": "sell_to_fiat",
            "fromSymbol": "ETH",
            "fromAmount": "0.1000000000000000000000000",
            "rate": "1502.4725000000000000000000000",
            "toSymbol": "EUR",
            "toAmount": "150.2472500000000000000000000",
            "fromAsset": {
                "name": "Ethereum",
                "symbol": "ETH",
                "alias": null,
                "type": "coin",
                "precision": "8",
                "quantity": -1,
                "memo": false,
                "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": {
                    "en": "Tag",
                    "ro": "ROTag",
                    "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
                }
            },
            "toAsset": {
                "name": "Euro",
                "symbol": "EUR",
                "alias": null,
                "type": "fiat",
                "precision": "2",
                "quantity": -1,
                "memo": false,
                "description": [],
                "properties": null,
                "meta": []
            },
            "txId": null,
            "wallet": null,
            "walletAddress": null,
            "parentOrder": {
                "id": null,
                "publicId": null,
                "status": null,
                "statusReason": null,
                "quote": {
                    "id": null,
                    "publicId": null,
                    "status": null,
                    "checkout": {
                        "id": null,
                        "publicId": null,
                        "requestId": null,
                        "status": null,
                        "createdAt": null
                    }
                }
            },
            "childOrder": {
                "id": null,
                "publicId": null,
                "status": null,
                "statusReason": null,
                "quote": {
                    "id": null,
                    "publicId": null,
                    "status": null,
                    "createdAt": null,
                    "checkout": {
                        "id": null,
                        "publicId": null,
                        "requestId": null,
                        "status": null,
                        "createdAt": null
                    }
                }
            },
            "payment": {
                "method": "balance",
                "id": null,
                "meta": null,
                "url": null,
                "lifeSeconds": 7200,
                "lifeUntilAt": 1667555115,
                "currency": null,
                "amount": null,
                "feePercent": "0",
                "feeAmount": "0",
                "feeOnTop": true,
                "showFee": false,
                "proofUploaded": null
            },
            "commissions": {
                "percent": "5.0000000000000000000000000",
                "amount": "7.5123625000000000000000000"
            },
            "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": "6ad8e029-d172-48f2-b9d8-9d0ea5247e79",
                "publicId": "MATTLQZH",
                "status": "completed",
                "createdAt": 1667547895,
                "checkout": {
                    "id": null,
                    "publicId": null,
                    "requestId": null,
                    "status": null,
                    "createdAt": null
                }
            },
            "transfer": null,
            "createdAt": 1667547915
        }
    }
}

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}/invoices

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.
code optional Filter by Code.

Platform Invoice Download

Requires authentication Use this endpoint to download owned invoice 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/invoices/2af5f5eb-8619-478f-97fd-36edbeb7be04/download" \
    -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/invoices/2af5f5eb-8619-478f-97fd-36edbeb7be04/download"
);

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/invoices/2af5f5eb-8619-478f-97fd-36edbeb7be04/download',
    [
        '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/invoices/2af5f5eb-8619-478f-97fd-36edbeb7be04/download'
headers = {
  'Token': '{jwt-token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers)
response.json()

Example response (200):

{}

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}/invoices/{invoice}/download

URL Parameters

Parameter Status Description
platform required The platform ID.
invoice required The invoice ID.

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

Example request:

curl -X GET \
    -G "https://appapi-public.cryptocoin.pro/api/v1/platform/1/price/borrow/IPSX/IPSX" \
    -H "Token: {jwt-token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"service":"93a17ced-e069-4c6d-82c1-a4a05d5fbbd8"}'
const url = new URL(
    "https://appapi-public.cryptocoin.pro/api/v1/platform/1/price/borrow/IPSX/IPSX"
);

let headers = {
    "Token": "{jwt-token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "service": "93a17ced-e069-4c6d-82c1-a4a05d5fbbd8"
}

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/platform/1/price/borrow/IPSX/IPSX',
    [
        'headers' => [
            'Token' => '{jwt-token}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'service' => '93a17ced-e069-4c6d-82c1-a4a05d5fbbd8',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://appapi-public.cryptocoin.pro/api/v1/platform/1/price/borrow/IPSX/IPSX'
payload = {
    "service": "93a17ced-e069-4c6d-82c1-a4a05d5fbbd8"
}
headers = {
  'Token': '{jwt-token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, json=payload)
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": "borrow"
    }
}

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/borrow/{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.

Body Parameters

Parameter Type Status Description
service uuid required The borrow service id.

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": "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": "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": "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": "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": "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": "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": "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": "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.

Platform Campaign Index

Requires authentication Use this endpoint to get all platform campaigns.

Example request:

curl -X GET \
    -G "https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/campaigns?id=03dacaf0-1117-44b1-ace4-6fe762bad3a4&status=active&name=My+Campaign&description=Campaign+description&type=public&start_at=2020-01-17&end_at=2020-08-28&created_at=2020-08-28" \
    -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/campaigns"
);

let params = {
    "id": "03dacaf0-1117-44b1-ace4-6fe762bad3a4",
    "status": "active",
    "name": "My Campaign",
    "description": "Campaign description",
    "type": "public",
    "start_at": "2020-01-17",
    "end_at": "2020-08-28",
    "created_at": "2020-08-28",
};
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/campaigns',
    [
        'headers' => [
            'Token' => '{jwt-token}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'id'=> '03dacaf0-1117-44b1-ace4-6fe762bad3a4',
            'status'=> 'active',
            'name'=> 'My Campaign',
            'description'=> 'Campaign description',
            'type'=> 'public',
            'start_at'=> '2020-01-17',
            'end_at'=> '2020-08-28',
            'created_at'=> '2020-08-28',
        ],
    ]
);
$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/campaigns'
params = {
  'id': '03dacaf0-1117-44b1-ace4-6fe762bad3a4',
  'status': 'active',
  'name': 'My Campaign',
  'description': 'Campaign description',
  'type': 'public',
  'start_at': '2020-01-17',
  'end_at': '2020-08-28',
  'created_at': '2020-08-28',
}
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": "30af54af-ad5c-4e8c-a348-bca9d52495d4",
            "name": "Campaign 1",
            "description": "Description for campaign 1",
            "image": "https:\/\/app.cryptocoin.pro\/img\/facelift\/ccpro\/logo-white.svg",
            "type": "public",
            "status": "active",
            "startAt": 1684195200,
            "endAt": 1684540800,
            "createdAt": 1684245423,
            "incentives": []
        }
    ]
}

Example response (401):

{
    "error": "Unauthenticated."
}

Example response (403):

{
    "message": "Unable to process your request."
}

Example response (409):

{
    "message": "This action is unauthorized."
}

HTTP Request

GET /api/v1/platform/{platform}/campaigns

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.
name optional Filter by Name.
description optional Filter by Description.
type optional Filter by Type.
start_at optional Filter by Start date.
end_at optional Filter by End date.
created_at optional Filter by Created date.

Platform Campaign Store

Requires authentication Use this endpoint to store platform campaign.

Example request:

curl -X POST \
    "https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/campaigns" \
    -H "Token: {jwt-token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"name":"Awesome Campaign","description":"Lorem ipsum dolor sit amet","type":"public","image":"https:\/\/my.image\/foo.png","start_date":"2020-10-26","end_date":"2021-10-26"}'
const url = new URL(
    "https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/campaigns"
);

let headers = {
    "Token": "{jwt-token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "Awesome Campaign",
    "description": "Lorem ipsum dolor sit amet",
    "type": "public",
    "image": "https:\/\/my.image\/foo.png",
    "start_date": "2020-10-26",
    "end_date": "2021-10-26"
}

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/campaigns',
    [
        'headers' => [
            'Token' => '{jwt-token}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'name' => 'Awesome Campaign',
            'description' => 'Lorem ipsum dolor sit amet',
            'type' => 'public',
            'image' => 'https://my.image/foo.png',
            'start_date' => '2020-10-26',
            'end_date' => '2021-10-26',
        ],
    ]
);
$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/campaigns'
payload = {
    "name": "Awesome Campaign",
    "description": "Lorem ipsum dolor sit amet",
    "type": "public",
    "image": "https:\/\/my.image\/foo.png",
    "start_date": "2020-10-26",
    "end_date": "2021-10-26"
}
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": "30af54af-ad5c-4e8c-a348-bca9d52495d4",
        "name": "Campaign 1",
        "description": "Description for campaign 1",
        "image": "https:\/\/app.cryptocoin.pro\/img\/facelift\/ccpro\/logo-white.svg",
        "type": "public",
        "status": "active",
        "startAt": 1684195200,
        "endAt": 1684540800,
        "createdAt": 1684245423,
        "incentives": []
    }
}

Example response (401):

{
    "error": "Unauthenticated."
}

Example response (403):

{
    "message": "Unable to process your request."
}

Example response (409):

{
    "message": "This action is unauthorized."
}

HTTP Request

POST /api/v1/platform/{platform}/campaigns

URL Parameters

Parameter Status Description
platform required The platform ID.

Body Parameters

Parameter Type Status Description
name string required The platform campaign name - (string|max:191).
description string optional The platform campaign description - (string|max:10000).
type string required The platform campaign type - (string|in:public,private).
image url optional The platform campaign image - (string|url|image).
start_date date optional The platform campaign start date - (string|date|after:today).
end_date date optional The platform campaign end date - (string|date|after:start_date).

Platform Campaign Show

Requires authentication Use this endpoint to get specific platform campaign.

Example request:

curl -X GET \
    -G "https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/campaigns/30af54af-ad5c-4e8c-a348-bca9d52495d4" \
    -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/campaigns/30af54af-ad5c-4e8c-a348-bca9d52495d4"
);

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/campaigns/30af54af-ad5c-4e8c-a348-bca9d52495d4',
    [
        '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/campaigns/30af54af-ad5c-4e8c-a348-bca9d52495d4'
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": "30af54af-ad5c-4e8c-a348-bca9d52495d4",
        "name": "Campaign 1",
        "description": "Description for campaign 1",
        "image": "https:\/\/app.cryptocoin.pro\/img\/facelift\/ccpro\/logo-white.svg",
        "type": "public",
        "status": "active",
        "startAt": 1684195200,
        "endAt": 1684540800,
        "createdAt": 1684245423,
        "incentives": []
    }
}

Example response (401):

{
    "error": "Unauthenticated."
}

Example response (403):

{
    "message": "Unable to process your request."
}

Example response (409):

{
    "message": "This action is unauthorized."
}

HTTP Request

GET /api/v1/platform/{platform}/campaigns/{campaign}

URL Parameters

Parameter Status Description
platform required The platform ID.
campaign required The campaign ID.

Platform Campaign Update

Requires authentication Use this endpoint to update specific platform campaign.

Example request:

curl -X POST \
    "https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/campaigns/30af54af-ad5c-4e8c-a348-bca9d52495d4" \
    -H "Token: {jwt-token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"name":"Awesome Campaign","description":"Lorem ipsum dolor sit amet","type":"public","status":"paused","image":"https:\/\/my.image\/foo.png","start_date":"2020-10-26","end_date":"2021-10-26"}'
const url = new URL(
    "https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/campaigns/30af54af-ad5c-4e8c-a348-bca9d52495d4"
);

let headers = {
    "Token": "{jwt-token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "Awesome Campaign",
    "description": "Lorem ipsum dolor sit amet",
    "type": "public",
    "status": "paused",
    "image": "https:\/\/my.image\/foo.png",
    "start_date": "2020-10-26",
    "end_date": "2021-10-26"
}

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/campaigns/30af54af-ad5c-4e8c-a348-bca9d52495d4',
    [
        'headers' => [
            'Token' => '{jwt-token}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'name' => 'Awesome Campaign',
            'description' => 'Lorem ipsum dolor sit amet',
            'type' => 'public',
            'status' => 'paused',
            'image' => 'https://my.image/foo.png',
            'start_date' => '2020-10-26',
            'end_date' => '2021-10-26',
        ],
    ]
);
$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/campaigns/30af54af-ad5c-4e8c-a348-bca9d52495d4'
payload = {
    "name": "Awesome Campaign",
    "description": "Lorem ipsum dolor sit amet",
    "type": "public",
    "status": "paused",
    "image": "https:\/\/my.image\/foo.png",
    "start_date": "2020-10-26",
    "end_date": "2021-10-26"
}
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": "30af54af-ad5c-4e8c-a348-bca9d52495d4",
        "name": "Campaign 1",
        "description": "Description for campaign 1",
        "image": "https:\/\/app.cryptocoin.pro\/img\/facelift\/ccpro\/logo-white.svg",
        "type": "public",
        "status": "active",
        "startAt": 1684195200,
        "endAt": 1684540800,
        "createdAt": 1684245423,
        "incentives": []
    }
}

Example response (401):

{
    "error": "Unauthenticated."
}

Example response (403):

{
    "message": "Unable to process your request."
}

Example response (409):

{
    "message": "This action is unauthorized."
}

HTTP Request

POST /api/v1/platform/{platform}/campaigns/{campaign}

URL Parameters

Parameter Status Description
platform required The platform ID.
campaign required The campaign ID.

Body Parameters

Parameter Type Status Description
name string required The platform campaign name - (string|max:191).
description string optional The platform campaign description - (string|max:10000).
type string required The platform campaign type - (string|in:public,private).
status string required The platform campaign status - (string|in:active,inactive,paused).
image url optional The platform campaign image - (string|url|image).
start_date date optional The platform campaign start date - (string|date|after:today).
end_date date optional The platform campaign end date - (string|date|after:start_date).

Platform Campaign Incentive Store

Requires authentication Use this endpoint to store platform campaign incentive.

Example request:

curl -X POST \
    "https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/campaigns/30af54af-ad5c-4e8c-a348-bca9d52495d4/incentives" \
    -H "Token: {jwt-token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"user":"66de494e-6791-4290-996c-32f42041fbf4","company":"f32da867-a90a-491a-8be2-e3d91f384cf8","operation_type":"buy_with_fiat","operation_asset":"ETH","operation_service":"donation","reward_asset":"BTC","reward_amount":"0.1","info":"Lorem ipsum dolor sit amet"}'
const url = new URL(
    "https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/campaigns/30af54af-ad5c-4e8c-a348-bca9d52495d4/incentives"
);

let headers = {
    "Token": "{jwt-token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "user": "66de494e-6791-4290-996c-32f42041fbf4",
    "company": "f32da867-a90a-491a-8be2-e3d91f384cf8",
    "operation_type": "buy_with_fiat",
    "operation_asset": "ETH",
    "operation_service": "donation",
    "reward_asset": "BTC",
    "reward_amount": "0.1",
    "info": "Lorem ipsum dolor sit amet"
}

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/campaigns/30af54af-ad5c-4e8c-a348-bca9d52495d4/incentives',
    [
        'headers' => [
            'Token' => '{jwt-token}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'user' => '66de494e-6791-4290-996c-32f42041fbf4',
            'company' => 'f32da867-a90a-491a-8be2-e3d91f384cf8',
            'operation_type' => 'buy_with_fiat',
            'operation_asset' => 'ETH',
            'operation_service' => 'donation',
            'reward_asset' => 'BTC',
            'reward_amount' => '0.1',
            'info' => 'Lorem ipsum dolor sit amet',
        ],
    ]
);
$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/campaigns/30af54af-ad5c-4e8c-a348-bca9d52495d4/incentives'
payload = {
    "user": "66de494e-6791-4290-996c-32f42041fbf4",
    "company": "f32da867-a90a-491a-8be2-e3d91f384cf8",
    "operation_type": "buy_with_fiat",
    "operation_asset": "ETH",
    "operation_service": "donation",
    "reward_asset": "BTC",
    "reward_amount": "0.1",
    "info": "Lorem ipsum dolor sit amet"
}
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": "30af54af-ad5c-4e8c-a348-bca9d52495d4",
        "name": "Campaign 1",
        "description": "Description for campaign 1",
        "image": "https:\/\/app.cryptocoin.pro\/img\/facelift\/ccpro\/logo-white.svg",
        "type": "public",
        "status": "active",
        "startAt": 1684195200,
        "endAt": 1684540800,
        "createdAt": 1684245423,
        "incentives": []
    }
}

Example response (401):

{
    "error": "Unauthenticated."
}

Example response (403):

{
    "message": "Unable to process your request."
}

Example response (409):

{
    "message": "This action is unauthorized."
}

HTTP Request

POST /api/v1/platform/{platform}/campaigns/{campaign}/incentives

URL Parameters

Parameter Status Description
platform required The platform ID.
campaign required The campaign ID.

Body Parameters

Parameter Type Status Description
user uuid optional The platform campaign incentive user owner - (uuid|in:owner,merchant).
company uuid optional The platform campaign incentive company owner - (uuid|in:companies).
operation_type string required The platform campaign incentive operation - (string|in:register,buy_with_fiat,buy_with_crypto,sell_to_fiat,sell_to_crypto,deposit,withdraw,payment).
operation_asset string optional The platform campaign incentive operation asset - (string|in:coins.symbol).
operation_service string optional The platform campaign incentive operation service - (string|required_if:operation:payment).
reward_asset string required The platform campaign incentive reward asset - (string|in:coins.symbol).
reward_amount numeric required The platform campaign incentive reward amount - (string|numeric min:0).
info string optional The platform campaign incentive info - (string|max:190).

Platform Incentives Index

Requires authentication Use this endpoint to get all platform incentives.

Example request:

curl -X GET \
    -G "https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/incentives?id=03dacaf0-1117-44b1-ace4-6fe762bad3a4&user=f32da867-a90a-491a-8be2-e3d91f384cf8&status=active&operation_type=buy_with_fiat&operation_asset=ETH&operation_service=donation&reward_asset=BTC&created_at=2020-08-28" \
    -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/incentives"
);

let params = {
    "id": "03dacaf0-1117-44b1-ace4-6fe762bad3a4",
    "user": "f32da867-a90a-491a-8be2-e3d91f384cf8",
    "status": "active",
    "operation_type": "buy_with_fiat",
    "operation_asset": "ETH",
    "operation_service": "donation",
    "reward_asset": "BTC",
    "created_at": "2020-08-28",
};
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/incentives',
    [
        'headers' => [
            'Token' => '{jwt-token}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'id'=> '03dacaf0-1117-44b1-ace4-6fe762bad3a4',
            'user'=> 'f32da867-a90a-491a-8be2-e3d91f384cf8',
            'status'=> 'active',
            'operation_type'=> 'buy_with_fiat',
            'operation_asset'=> 'ETH',
            'operation_service'=> 'donation',
            'reward_asset'=> 'BTC',
            'created_at'=> '2020-08-28',
        ],
    ]
);
$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/incentives'
params = {
  'id': '03dacaf0-1117-44b1-ace4-6fe762bad3a4',
  'user': 'f32da867-a90a-491a-8be2-e3d91f384cf8',
  'status': 'active',
  'operation_type': 'buy_with_fiat',
  'operation_asset': 'ETH',
  'operation_service': 'donation',
  'reward_asset': 'BTC',
  'created_at': '2020-08-28',
}
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": "d9c7e7aa-a087-4fca-bc1f-ce1f621223b8",
            "status": "active",
            "operationType": "register",
            "operationService": null,
            "rewardAmount": "0.01",
            "info": null,
            "createdAt": 1684845002,
            "operationAsset": null,
            "rewardAsset": {
                "name": "Bitcoin Cash",
                "symbol": "BCH",
                "alias": null,
                "type": "coin",
                "precision": "8",
                "quantity": -1,
                "memo": false,
                "description": {
                    "en": "Bitcoin Cash is a hard fork of Bitcoin with a protocol upgrade to fix on-chain capacity. Bitcoin Cash intends to be a Bitcoin without Segregated Witness (SegWit) as soft fork, where upgrades of the protocol are done mainly through hard forks and without changing the original economic rules of the Bitcoin.\r\n\r\nBitcoin Cash (BCH) is released on 1st August 2017 as an upgraded version of the original Bitcoin Core software. The main upgrade is the increase in the block size limit from 1MB to 8MB. This effectively allows miners on the BCH chain to process up to 8 times more payments per second in comparison to Bitcoin. This makes for faster, cheaper transactions and a much smoother user experience.\r\n\r\nWhy was Bitcoin Cash Created?\r\n\r\nThe main objective of Bitcoin Cash is to to bring back the essential qualities of money inherent in the original Bitcoin software. Over the years, these qualities were filtered out of Bitcoin Core and progress was stifled by various people, organizations, and companies involved in Bitcoin protocol development. The result is that Bitcoin Core is currently unusable as money due to increasingly high fees per transactions and transfer times taking hours to complete. This is all because of the 1MB limitation of Bitcoin Core’s block size, causing it unable to accommodate to large number of transactions.\r\n\r\nEssentially Bitcoin Cash is a community-activated upgrade (otherwise known as a hard fork) of Bitcoin that increased the block size to 8MB, solving the scaling issues that plague Bitcoin Core today.\r\n\r\nNov 16th 2018: A hashwar resulted in a split between Bitcoin SV and Bitcoin ABC"
                },
                "properties": [],
                "meta": {
                    "links": {
                        "website": "https:\/\/bch.info\/",
                        "github": "https:\/\/github.com\/gcash\/bchd"
                    },
                    "total_supply": 21000000
                }
            },
            "user": {
                "id": "66de494e-6791-4290-996c-32f42041fbf4",
                "isActive": true,
                "status": "active",
                "tradeStatus": true,
                "email": "alinionutmusat+4@gmail.com",
                "options": {
                    "language": "en",
                    "theme": "light",
                    "layout": "expanded",
                    "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
            },
            "company": null,
            "campaign": {
                "id": "30af54af-ad5c-4e8c-a348-bca9d52495d4",
                "status": "active",
                "name": "Campaign 1",
                "description": "Description for campaign 1",
                "image": "https:\/\/app.cryptocoin.pro\/img\/facelift\/ccpro\/logo-white.svg",
                "type": "public",
                "startAt": 1684195200,
                "endAt": 1687219200,
                "createdAt": 1684245423
            }
        }
    ]
}

Example response (401):

{
    "error": "Unauthenticated."
}

Example response (403):

{
    "message": "Unable to process your request."
}

Example response (409):

{
    "message": "This action is unauthorized."
}

HTTP Request

GET /api/v1/platform/{platform}/incentives

URL Parameters

Parameter Status Description
platform required The platform ID.

Query Parameters

Parameter Status Description
id optional Filter by ID.
user optional Filter by Company.
status optional Filter by Status.
operation_type optional Filter by Operation Type.
operation_asset optional Filter by Operation Asset.
operation_service optional Filter by Operation Service.
reward_asset optional Filter by Reward Asset.
created_at optional Filter by Created date.

Platform Incentives Show

Requires authentication Use this endpoint to get specific platform incentive.

Example request:

curl -X GET \
    -G "https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/incentives/0594b1b6-bd03-4a22-b7ee-faa150f5b49a" \
    -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/incentives/0594b1b6-bd03-4a22-b7ee-faa150f5b49a"
);

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/incentives/0594b1b6-bd03-4a22-b7ee-faa150f5b49a',
    [
        '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/incentives/0594b1b6-bd03-4a22-b7ee-faa150f5b49a'
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": "d9c7e7aa-a087-4fca-bc1f-ce1f621223b8",
        "status": "active",
        "operationType": "register",
        "operationService": null,
        "rewardAmount": "0.01",
        "info": null,
        "createdAt": 1684845002,
        "operationAsset": null,
        "rewardAsset": {
            "name": "Bitcoin Cash",
            "symbol": "BCH",
            "alias": null,
            "type": "coin",
            "precision": "8",
            "quantity": -1,
            "memo": false,
            "description": {
                "en": "Bitcoin Cash is a hard fork of Bitcoin with a protocol upgrade to fix on-chain capacity. Bitcoin Cash intends to be a Bitcoin without Segregated Witness (SegWit) as soft fork, where upgrades of the protocol are done mainly through hard forks and without changing the original economic rules of the Bitcoin.\r\n\r\nBitcoin Cash (BCH) is released on 1st August 2017 as an upgraded version of the original Bitcoin Core software. The main upgrade is the increase in the block size limit from 1MB to 8MB. This effectively allows miners on the BCH chain to process up to 8 times more payments per second in comparison to Bitcoin. This makes for faster, cheaper transactions and a much smoother user experience.\r\n\r\nWhy was Bitcoin Cash Created?\r\n\r\nThe main objective of Bitcoin Cash is to to bring back the essential qualities of money inherent in the original Bitcoin software. Over the years, these qualities were filtered out of Bitcoin Core and progress was stifled by various people, organizations, and companies involved in Bitcoin protocol development. The result is that Bitcoin Core is currently unusable as money due to increasingly high fees per transactions and transfer times taking hours to complete. This is all because of the 1MB limitation of Bitcoin Core’s block size, causing it unable to accommodate to large number of transactions.\r\n\r\nEssentially Bitcoin Cash is a community-activated upgrade (otherwise known as a hard fork) of Bitcoin that increased the block size to 8MB, solving the scaling issues that plague Bitcoin Core today.\r\n\r\nNov 16th 2018: A hashwar resulted in a split between Bitcoin SV and Bitcoin ABC"
            },
            "properties": [],
            "meta": {
                "links": {
                    "website": "https:\/\/bch.info\/",
                    "github": "https:\/\/github.com\/gcash\/bchd"
                },
                "total_supply": 21000000
            }
        },
        "user": {
            "id": "66de494e-6791-4290-996c-32f42041fbf4",
            "isActive": true,
            "status": "active",
            "tradeStatus": true,
            "email": "alinionutmusat+4@gmail.com",
            "options": {
                "language": "en",
                "theme": "light",
                "layout": "expanded",
                "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
        },
        "company": null,
        "campaign": {
            "id": "30af54af-ad5c-4e8c-a348-bca9d52495d4",
            "status": "active",
            "name": "Campaign 1",
            "description": "Description for campaign 1",
            "image": "https:\/\/app.cryptocoin.pro\/img\/facelift\/ccpro\/logo-white.svg",
            "type": "public",
            "startAt": 1684195200,
            "endAt": 1687219200,
            "createdAt": 1684245423
        }
    }
}

Example response (401):

{
    "error": "Unauthenticated."
}

Example response (403):

{
    "message": "Unable to process your request."
}

Example response (409):

{
    "message": "This action is unauthorized."
}

HTTP Request

GET /api/v1/platform/{platform}/incentives/{incentive}

URL Parameters

Parameter Status Description
platform required The platform ID.
incentive required The incentive ID.

Platform Incentives Update

Requires authentication Use this endpoint to update specific platform incentive.

Example request:

curl -X POST \
    "https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/incentives/1" \
    -H "Token: {jwt-token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"user":"66de494e-6791-4290-996c-32f42041fbf4","company":"f32da867-a90a-491a-8be2-e3d91f384cf8","operation_type":"buy_with_fiat","operation_asset":"ETH","operation_service":"donation","reward_asset":"BTC","reward_amount":"0.1","info":"Lorem ipsum dolor sit amet"}'
const url = new URL(
    "https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/incentives/1"
);

let headers = {
    "Token": "{jwt-token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "user": "66de494e-6791-4290-996c-32f42041fbf4",
    "company": "f32da867-a90a-491a-8be2-e3d91f384cf8",
    "operation_type": "buy_with_fiat",
    "operation_asset": "ETH",
    "operation_service": "donation",
    "reward_asset": "BTC",
    "reward_amount": "0.1",
    "info": "Lorem ipsum dolor sit amet"
}

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/incentives/1',
    [
        'headers' => [
            'Token' => '{jwt-token}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'user' => '66de494e-6791-4290-996c-32f42041fbf4',
            'company' => 'f32da867-a90a-491a-8be2-e3d91f384cf8',
            'operation_type' => 'buy_with_fiat',
            'operation_asset' => 'ETH',
            'operation_service' => 'donation',
            'reward_asset' => 'BTC',
            'reward_amount' => '0.1',
            'info' => 'Lorem ipsum dolor sit amet',
        ],
    ]
);
$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/incentives/1'
payload = {
    "user": "66de494e-6791-4290-996c-32f42041fbf4",
    "company": "f32da867-a90a-491a-8be2-e3d91f384cf8",
    "operation_type": "buy_with_fiat",
    "operation_asset": "ETH",
    "operation_service": "donation",
    "reward_asset": "BTC",
    "reward_amount": "0.1",
    "info": "Lorem ipsum dolor sit amet"
}
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": "d9c7e7aa-a087-4fca-bc1f-ce1f621223b8",
        "status": "active",
        "operationType": "register",
        "operationService": null,
        "rewardAmount": "0.01",
        "info": null,
        "createdAt": 1684845002,
        "operationAsset": null,
        "rewardAsset": {
            "name": "Bitcoin Cash",
            "symbol": "BCH",
            "alias": null,
            "type": "coin",
            "precision": "8",
            "quantity": -1,
            "memo": false,
            "description": {
                "en": "Bitcoin Cash is a hard fork of Bitcoin with a protocol upgrade to fix on-chain capacity. Bitcoin Cash intends to be a Bitcoin without Segregated Witness (SegWit) as soft fork, where upgrades of the protocol are done mainly through hard forks and without changing the original economic rules of the Bitcoin.\r\n\r\nBitcoin Cash (BCH) is released on 1st August 2017 as an upgraded version of the original Bitcoin Core software. The main upgrade is the increase in the block size limit from 1MB to 8MB. This effectively allows miners on the BCH chain to process up to 8 times more payments per second in comparison to Bitcoin. This makes for faster, cheaper transactions and a much smoother user experience.\r\n\r\nWhy was Bitcoin Cash Created?\r\n\r\nThe main objective of Bitcoin Cash is to to bring back the essential qualities of money inherent in the original Bitcoin software. Over the years, these qualities were filtered out of Bitcoin Core and progress was stifled by various people, organizations, and companies involved in Bitcoin protocol development. The result is that Bitcoin Core is currently unusable as money due to increasingly high fees per transactions and transfer times taking hours to complete. This is all because of the 1MB limitation of Bitcoin Core’s block size, causing it unable to accommodate to large number of transactions.\r\n\r\nEssentially Bitcoin Cash is a community-activated upgrade (otherwise known as a hard fork) of Bitcoin that increased the block size to 8MB, solving the scaling issues that plague Bitcoin Core today.\r\n\r\nNov 16th 2018: A hashwar resulted in a split between Bitcoin SV and Bitcoin ABC"
            },
            "properties": [],
            "meta": {
                "links": {
                    "website": "https:\/\/bch.info\/",
                    "github": "https:\/\/github.com\/gcash\/bchd"
                },
                "total_supply": 21000000
            }
        },
        "user": {
            "id": "66de494e-6791-4290-996c-32f42041fbf4",
            "isActive": true,
            "status": "active",
            "tradeStatus": true,
            "email": "alinionutmusat+4@gmail.com",
            "options": {
                "language": "en",
                "theme": "light",
                "layout": "expanded",
                "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
        },
        "company": null,
        "campaign": {
            "id": "30af54af-ad5c-4e8c-a348-bca9d52495d4",
            "status": "active",
            "name": "Campaign 1",
            "description": "Description for campaign 1",
            "image": "https:\/\/app.cryptocoin.pro\/img\/facelift\/ccpro\/logo-white.svg",
            "type": "public",
            "startAt": 1684195200,
            "endAt": 1687219200,
            "createdAt": 1684245423
        }
    }
}

Example response (401):

{
    "error": "Unauthenticated."
}

Example response (403):

{
    "message": "Unable to process your request."
}

Example response (409):

{
    "message": "This action is unauthorized."
}

HTTP Request

POST /api/v1/platform/{platform}/incentives/{incentive}

URL Parameters

Parameter Status Description
platform required The platform ID.

Body Parameters

Parameter Type Status Description
user uuid optional The platform campaign incentive user owner - (uuid|in:owner,merchant).
company uuid optional The platform campaign incentive company owner - (uuid|in:companies).
operation_type string required The platform campaign incentive operation - (string|in:register,buy_with_fiat,buy_with_crypto,sell_to_fiat,sell_to_crypto,deposit,withdraw,payment).
operation_asset string optional The platform campaign incentive operation asset - (string|in:coins.symbol).
operation_service string optional The platform campaign incentive operation service - (string|required_if:operation:payment).
reward_asset string required The platform campaign incentive reward asset - (string|in:coins.symbol).
reward_amount numeric required The platform campaign incentive reward amount - (string|numeric min:0).
info string optional The platform campaign incentive info - (string|max:190).

Platform Rewards Index

Requires authentication Use this endpoint to get all platform rewards.

Example request:

curl -X GET \
    -G "https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/rewards" \
    -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/rewards"
);

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/rewards',
    [
        '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/rewards'
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": "7083b809-20da-4694-9393-06530492cfc6",
            "status": "active",
            "operationType": "register",
            "operationService": null,
            "rewardAmount": "0.01",
            "info": null,
            "createdAt": 1684332533,
            "operationAsset": null,
            "rewardAsset": {
                "name": "Bitcoin",
                "symbol": "BTC",
                "alias": "XBT",
                "type": "coin",
                "precision": "6",
                "quantity": -1,
                "memo": false,
                "description": {
                    "en": "Bitcoin is the first successful internet money based on peer-to-peer technology; whereby no central bank or authority is      *  involved in the transaction and production of the Bitcoin currency. It was created by an anonymous individual\/group under the name,    *  Satoshi Nakamoto. The source code is available publicly as an open source project, anybody can look at it and be part of the      *  developmental process.\r\n\r\nBitcoin is changing the way we see money as we speak. The idea was to produce a means of exchange,    *  independent of any central authority, that could be transferred electronically in a secure, verifiable and immutable way. It is a     *  decentralized peer-to-peer internet currency making mobile payment easy, very low transaction fees, protects your identity, and it     *  works anywhere all the time with no central authority and banks.\r\n\r\nBitcoin is designed to have only 21 million BTC ever created,      *  thus making it a deflationary currency. Bitcoin uses the SHA-256 hashing algorithm with an average transaction confirmation time of     *  10 minutes. Miners today are mining Bitcoin using ASIC chip dedicated to only mining Bitcoin, and the hash rate has shot up to peta    *  hashes.\r\n\r\nBeing the first successful online cryptography currency, Bitcoin has inspired other alternative currencies such as     *  Litecoin, Peercoin, Primecoin, and so on.\r\n\r\nThe cryptocurrency then took off with the innovation of the turing-complete smart     *  contract by Ethereum which led to the development of other amazing projects such as EOS, Tron, and even crypto-collectibles such as    *  CryptoKitties."
                },
                "properties": null,
                "meta": {
                    "genesis_date": "2009-01-03",
                    "links": {
                        "website": "http:\/\/www.bitcoin.org",
                        "github": "https:\/\/github.com\/bitcoin\/bitcoin",
                        "facebook": "https:\/\/www.facebook.com\/bitcoins",
                        "twitter": "https:\/\/www.twitter.com\/bitcoin"
                    },
                    "total_supply": 21000000
                }
            },
            "user": {
                "id": "7205d2d2-a234-40eb-a557-6215f59a0c77",
                "email": "alex.paizan@boostit.com"
            },
            "campaign": {
                "id": "30af54af-ad5c-4e8c-a348-bca9d52495d4",
                "status": "active",
                "name": "Campaign 1",
                "description": "Description for campaign 1",
                "image": "https:\/\/app.cryptocoin.pro\/img\/facelift\/ccpro\/logo-white.svg",
                "type": "public",
                "startAt": 1684195200,
                "endAt": 1684540800,
                "createdAt": 1684245423
            }
        }
    ]
}

Example response (401):

{
    "error": "Unauthenticated."
}

Example response (403):

{
    "message": "Unable to process your request."
}

Example response (409):

{
    "message": "This action is unauthorized."
}

HTTP Request

GET /api/v1/platform/{platform}/rewards

URL Parameters

Parameter Status Description
platform required The platform ID.

Platform Rewards Index

Requires authentication Use this endpoint to get all platform rewards.

Example request:

curl -X GET \
    -G "https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/refunds" \
    -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/refunds"
);

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/refunds',
    [
        '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/refunds'
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": "7083b809-20da-4694-9393-06530492cfc6",
            "status": "active",
            "operationType": "register",
            "operationService": null,
            "rewardAmount": "0.01",
            "info": null,
            "createdAt": 1684332533,
            "operationAsset": null,
            "rewardAsset": {
                "name": "Bitcoin",
                "symbol": "BTC",
                "alias": "XBT",
                "type": "coin",
                "precision": "6",
                "quantity": -1,
                "memo": false,
                "description": {
                    "en": "Bitcoin is the first successful internet money based on peer-to-peer technology; whereby no central bank or authority is      *  involved in the transaction and production of the Bitcoin currency. It was created by an anonymous individual\/group under the name,    *  Satoshi Nakamoto. The source code is available publicly as an open source project, anybody can look at it and be part of the      *  developmental process.\r\n\r\nBitcoin is changing the way we see money as we speak. The idea was to produce a means of exchange,    *  independent of any central authority, that could be transferred electronically in a secure, verifiable and immutable way. It is a     *  decentralized peer-to-peer internet currency making mobile payment easy, very low transaction fees, protects your identity, and it     *  works anywhere all the time with no central authority and banks.\r\n\r\nBitcoin is designed to have only 21 million BTC ever created,      *  thus making it a deflationary currency. Bitcoin uses the SHA-256 hashing algorithm with an average transaction confirmation time of     *  10 minutes. Miners today are mining Bitcoin using ASIC chip dedicated to only mining Bitcoin, and the hash rate has shot up to peta    *  hashes.\r\n\r\nBeing the first successful online cryptography currency, Bitcoin has inspired other alternative currencies such as     *  Litecoin, Peercoin, Primecoin, and so on.\r\n\r\nThe cryptocurrency then took off with the innovation of the turing-complete smart     *  contract by Ethereum which led to the development of other amazing projects such as EOS, Tron, and even crypto-collectibles such as    *  CryptoKitties."
                },
                "properties": null,
                "meta": {
                    "genesis_date": "2009-01-03",
                    "links": {
                        "website": "http:\/\/www.bitcoin.org",
                        "github": "https:\/\/github.com\/bitcoin\/bitcoin",
                        "facebook": "https:\/\/www.facebook.com\/bitcoins",
                        "twitter": "https:\/\/www.twitter.com\/bitcoin"
                    },
                    "total_supply": 21000000
                }
            },
            "user": {
                "id": "7205d2d2-a234-40eb-a557-6215f59a0c77",
                "email": "alex.paizan@boostit.com"
            },
            "campaign": {
                "id": "30af54af-ad5c-4e8c-a348-bca9d52495d4",
                "status": "active",
                "name": "Campaign 1",
                "description": "Description for campaign 1",
                "image": "https:\/\/app.cryptocoin.pro\/img\/facelift\/ccpro\/logo-white.svg",
                "type": "public",
                "startAt": 1684195200,
                "endAt": 1684540800,
                "createdAt": 1684245423
            }
        }
    ]
}

Example response (401):

{
    "error": "Unauthenticated."
}

Example response (403):

{
    "message": "Unable to process your request."
}

Example response (409):

{
    "message": "This action is unauthorized."
}

HTTP Request

GET /api/v1/platform/{platform}/refunds

URL Parameters

Parameter Status Description
platform required The platform ID.

Platform Rewards Index

Requires authentication Use this endpoint to get all platform rewards.

Example request:

curl -X POST \
    "https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/refunds" \
    -H "Token: {jwt-token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"order":"d197f124-7d8e-49bb-9f4e-fd953f2d35e7"}'
const url = new URL(
    "https://appapi-public.cryptocoin.pro/api/v1/platform/5f374d03-be0d-4dd2-b6ef-112a2bec5963/refunds"
);

let headers = {
    "Token": "{jwt-token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "order": "d197f124-7d8e-49bb-9f4e-fd953f2d35e7"
}

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/refunds',
    [
        'headers' => [
            'Token' => '{jwt-token}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'order' => 'd197f124-7d8e-49bb-9f4e-fd953f2d35e7',
        ],
    ]
);
$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/refunds'
payload = {
    "order": "d197f124-7d8e-49bb-9f4e-fd953f2d35e7"
}
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": "7083b809-20da-4694-9393-06530492cfc6",
            "status": "active",
            "operationType": "register",
            "operationService": null,
            "rewardAmount": "0.01",
            "info": null,
            "createdAt": 1684332533,
            "operationAsset": null,
            "rewardAsset": {
                "name": "Bitcoin",
                "symbol": "BTC",
                "alias": "XBT",
                "type": "coin",
                "precision": "6",
                "quantity": -1,
                "memo": false,
                "description": {
                    "en": "Bitcoin is the first successful internet money based on peer-to-peer technology; whereby no central bank or authority is      *  involved in the transaction and production of the Bitcoin currency. It was created by an anonymous individual\/group under the name,    *  Satoshi Nakamoto. The source code is available publicly as an open source project, anybody can look at it and be part of the      *  developmental process.\r\n\r\nBitcoin is changing the way we see money as we speak. The idea was to produce a means of exchange,    *  independent of any central authority, that could be transferred electronically in a secure, verifiable and immutable way. It is a     *  decentralized peer-to-peer internet currency making mobile payment easy, very low transaction fees, protects your identity, and it     *  works anywhere all the time with no central authority and banks.\r\n\r\nBitcoin is designed to have only 21 million BTC ever created,      *  thus making it a deflationary currency. Bitcoin uses the SHA-256 hashing algorithm with an average transaction confirmation time of     *  10 minutes. Miners today are mining Bitcoin using ASIC chip dedicated to only mining Bitcoin, and the hash rate has shot up to peta    *  hashes.\r\n\r\nBeing the first successful online cryptography currency, Bitcoin has inspired other alternative currencies such as     *  Litecoin, Peercoin, Primecoin, and so on.\r\n\r\nThe cryptocurrency then took off with the innovation of the turing-complete smart     *  contract by Ethereum which led to the development of other amazing projects such as EOS, Tron, and even crypto-collectibles such as    *  CryptoKitties."
                },
                "properties": null,
                "meta": {
                    "genesis_date": "2009-01-03",
                    "links": {
                        "website": "http:\/\/www.bitcoin.org",
                        "github": "https:\/\/github.com\/bitcoin\/bitcoin",
                        "facebook": "https:\/\/www.facebook.com\/bitcoins",
                        "twitter": "https:\/\/www.twitter.com\/bitcoin"
                    },
                    "total_supply": 21000000
                }
            },
            "user": {
                "id": "7205d2d2-a234-40eb-a557-6215f59a0c77",
                "email": "alex.paizan@boostit.com"
            },
            "campaign": {
                "id": "30af54af-ad5c-4e8c-a348-bca9d52495d4",
                "status": "active",
                "name": "Campaign 1",
                "description": "Description for campaign 1",
                "image": "https:\/\/app.cryptocoin.pro\/img\/facelift\/ccpro\/logo-white.svg",
                "type": "public",
                "startAt": 1684195200,
                "endAt": 1684540800,
                "createdAt": 1684245423
            }
        }
    ]
}

Example response (401):

{
    "error": "Unauthenticated."
}

Example response (403):

{
    "message": "Unable to process your request."
}

Example response (409):

{
    "message": "This action is unauthorized."
}

HTTP Request

POST /api/v1/platform/{platform}/refunds

URL Parameters

Parameter Status Description
platform required The platform ID.

Body Parameters

Parameter Type Status Description
order string required The platform order id - (string|uuid).

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","ref":"66de494e-6791-4290-996c-32f42041fbf4"}'
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",
    "ref": "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/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',
            'ref' => '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/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",
    "ref": "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": "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).
ref string optional The order ref UID - (in:users,uid).

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.

Rate Borrow

Requires authentication Use this endpoint to get a borrow price

Example request:

curl -X GET \
    -G "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/price/borrow/EUR/ETH" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -H "Authorization: Bearer {token}" \
    -d '{"service":"93a17ced-e069-4c6d-82c1-a4a05d5fbbd8"}'
const url = new URL(
    "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/price/borrow/EUR/ETH"
);

let headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "Authorization": "Bearer {token}",
};

let body = {
    "service": "93a17ced-e069-4c6d-82c1-a4a05d5fbbd8"
}

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/price/borrow/EUR/ETH',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Authorization' => 'Bearer {token}',
        ],
        'json' => [
            'service' => '93a17ced-e069-4c6d-82c1-a4a05d5fbbd8',
        ],
    ]
);
$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/borrow/EUR/ETH'
payload = {
    "service": "93a17ced-e069-4c6d-82c1-a4a05d5fbbd8"
}
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": {
        "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": "borrow"
    }
}

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/borrow/{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.

Body Parameters

Parameter Type Status Description
service uuid required The borrow service id.

Refund

APIs for managing user refunds

Refund Index

Requires authentication Use this endpoint to get user refunds.

Example request:

curl -X GET \
    -G "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/refund?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/refund"
);

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/refund',
    [
        '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/refund'
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": "4be25a80-7356-4b88-8e44-f2316af82f1f",
            "amount": "0.01",
            "createdAt": 1684404996,
            "asset": {
                "name": "Bitcoin",
                "symbol": "BTC",
                "alias": "XBT",
                "type": "coin",
                "precision": "6",
                "quantity": -1,
                "memo": false,
                "description": {
                    "en": "Bitcoin is the first successful internet money based on peer-to-peer technology; whereby no central bank or authority is  *   involved in the transaction and production of the Bitcoin currency. It was created by an anonymous individual\/group under the name, *     Satoshi Nakamoto. The source code is available publicly as an open source project, anybody can look at it and be part of the *      developmental process.\r\n\r\nBitcoin is changing the way we see money as we speak. The idea was to produce a means of exchange,  *  independent of any central authority, that could be transferred electronically in a secure, verifiable and immutable way. It is a  *  decentralized peer-to-peer internet currency making mobile payment easy, very low transaction fees, protects your identity, and it *      works anywhere all the time with no central authority and banks.\r\n\r\nBitcoin is designed to have only 21 million BTC ever created, *      thus making it a deflationary currency. Bitcoin uses the SHA-256 hashing algorithm with an average transaction confirmation time of 10 *     minutes. Miners today are mining Bitcoin using ASIC chip dedicated to only mining Bitcoin, and the hash rate has shot up to peta *      hashes.\r\n\r\nBeing the first successful online cryptography currency, Bitcoin has inspired other alternative currencies such as *      Litecoin, Peercoin, Primecoin, and so on.\r\n\r\nThe cryptocurrency then took off with the innovation of the turing-complete smart *     contract by Ethereum which led to the development of other amazing projects such as EOS, Tron, and even crypto-collectibles such as  *  CryptoKitties."
                },
                "properties": null,
                "meta": {
                    "genesis_date": "2009-01-03",
                    "links": {
                        "website": "http:\/\/www.bitcoin.org",
                        "github": "https:\/\/github.com\/bitcoin\/bitcoin",
                        "facebook": "https:\/\/www.facebook.com\/bitcoins",
                        "twitter": "https:\/\/www.twitter.com\/bitcoin"
                    },
                    "total_supply": 21000000
                }
            },
            "incentive": {
                "id": "7083b809-20da-4694-9393-06530492cfc6",
                "status": "active",
                "operationType": "register",
                "operationService": null,
                "rewardAmount": "0.01",
                "info": null,
                "createdAt": 1684332533,
                "campaign": {
                    "id": "30af54af-ad5c-4e8c-a348-bca9d52495d4",
                    "status": "active",
                    "name": "Campaign 1",
                    "description": "Description for campaign 1",
                    "image": "https:\/\/app.cryptocoin.pro\/img\/facelift\/ccpro\/logo-white.svg",
                    "type": "public",
                    "startAt": 1684195200,
                    "endAt": 1684540800,
                    "createdAt": 1684245423
                }
            },
            "company": 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/user/{user}/refund

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.

Refund Show

Requires authentication Use this endpoint to get a user refund.

Example request:

curl -X GET \
    -G "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/refund/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/refund/1"
);

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/refund/1',
    [
        '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/refund/1'
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": "4be25a80-7356-4b88-8e44-f2316af82f1f",
        "amount": "0.01",
        "createdAt": 1684404996,
        "asset": {
            "name": "Bitcoin",
            "symbol": "BTC",
            "alias": "XBT",
            "type": "coin",
            "precision": "6",
            "quantity": -1,
            "memo": false,
            "description": {
                "en": "Bitcoin is the first successful internet money based on peer-to-peer technology; whereby no central bank or authority is  *   involved in the transaction and production of the Bitcoin currency. It was created by an anonymous individual\/group under the name, *     Satoshi Nakamoto. The source code is available publicly as an open source project, anybody can look at it and be part of the *      developmental process.\r\n\r\nBitcoin is changing the way we see money as we speak. The idea was to produce a means of exchange,  *  independent of any central authority, that could be transferred electronically in a secure, verifiable and immutable way. It is a  *  decentralized peer-to-peer internet currency making mobile payment easy, very low transaction fees, protects your identity, and it *      works anywhere all the time with no central authority and banks.\r\n\r\nBitcoin is designed to have only 21 million BTC ever created, *      thus making it a deflationary currency. Bitcoin uses the SHA-256 hashing algorithm with an average transaction confirmation time of 10 *     minutes. Miners today are mining Bitcoin using ASIC chip dedicated to only mining Bitcoin, and the hash rate has shot up to peta *      hashes.\r\n\r\nBeing the first successful online cryptography currency, Bitcoin has inspired other alternative currencies such as *      Litecoin, Peercoin, Primecoin, and so on.\r\n\r\nThe cryptocurrency then took off with the innovation of the turing-complete smart *     contract by Ethereum which led to the development of other amazing projects such as EOS, Tron, and even crypto-collectibles such as  *  CryptoKitties."
            },
            "properties": null,
            "meta": {
                "genesis_date": "2009-01-03",
                "links": {
                    "website": "http:\/\/www.bitcoin.org",
                    "github": "https:\/\/github.com\/bitcoin\/bitcoin",
                    "facebook": "https:\/\/www.facebook.com\/bitcoins",
                    "twitter": "https:\/\/www.twitter.com\/bitcoin"
                },
                "total_supply": 21000000
            }
        },
        "incentive": {
            "id": "7083b809-20da-4694-9393-06530492cfc6",
            "status": "active",
            "operationType": "register",
            "operationService": null,
            "rewardAmount": "0.01",
            "info": null,
            "createdAt": 1684332533,
            "campaign": {
                "id": "30af54af-ad5c-4e8c-a348-bca9d52495d4",
                "status": "active",
                "name": "Campaign 1",
                "description": "Description for campaign 1",
                "image": "https:\/\/app.cryptocoin.pro\/img\/facelift\/ccpro\/logo-white.svg",
                "type": "public",
                "startAt": 1684195200,
                "endAt": 1684540800,
                "createdAt": 1684245423
            }
        },
        "company": 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/user/{user}/refund/{reward}

URL Parameters

Parameter Status Description
user required The user ID.
refund required The refund ID.

Reward

APIs for managing user rewards

Reward Index

Requires authentication Use this endpoint to get user rewards.

Example request:

curl -X GET \
    -G "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/reward?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/reward"
);

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/reward',
    [
        '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/reward'
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": "4be25a80-7356-4b88-8e44-f2316af82f1f",
            "amount": "0.01",
            "createdAt": 1684404996,
            "asset": {
                "name": "Bitcoin",
                "symbol": "BTC",
                "alias": "XBT",
                "type": "coin",
                "precision": "6",
                "quantity": -1,
                "memo": false,
                "description": {
                    "en": "Bitcoin is the first successful internet money based on peer-to-peer technology; whereby no central bank or authority is  *   involved in the transaction and production of the Bitcoin currency. It was created by an anonymous individual\/group under the name, *     Satoshi Nakamoto. The source code is available publicly as an open source project, anybody can look at it and be part of the *      developmental process.\r\n\r\nBitcoin is changing the way we see money as we speak. The idea was to produce a means of exchange,  *  independent of any central authority, that could be transferred electronically in a secure, verifiable and immutable way. It is a  *  decentralized peer-to-peer internet currency making mobile payment easy, very low transaction fees, protects your identity, and it *      works anywhere all the time with no central authority and banks.\r\n\r\nBitcoin is designed to have only 21 million BTC ever created, *      thus making it a deflationary currency. Bitcoin uses the SHA-256 hashing algorithm with an average transaction confirmation time of 10 *     minutes. Miners today are mining Bitcoin using ASIC chip dedicated to only mining Bitcoin, and the hash rate has shot up to peta *      hashes.\r\n\r\nBeing the first successful online cryptography currency, Bitcoin has inspired other alternative currencies such as *      Litecoin, Peercoin, Primecoin, and so on.\r\n\r\nThe cryptocurrency then took off with the innovation of the turing-complete smart *     contract by Ethereum which led to the development of other amazing projects such as EOS, Tron, and even crypto-collectibles such as  *  CryptoKitties."
                },
                "properties": null,
                "meta": {
                    "genesis_date": "2009-01-03",
                    "links": {
                        "website": "http:\/\/www.bitcoin.org",
                        "github": "https:\/\/github.com\/bitcoin\/bitcoin",
                        "facebook": "https:\/\/www.facebook.com\/bitcoins",
                        "twitter": "https:\/\/www.twitter.com\/bitcoin"
                    },
                    "total_supply": 21000000
                }
            },
            "incentive": {
                "id": "7083b809-20da-4694-9393-06530492cfc6",
                "status": "active",
                "operationType": "register",
                "operationService": null,
                "rewardAmount": "0.01",
                "info": null,
                "createdAt": 1684332533,
                "campaign": {
                    "id": "30af54af-ad5c-4e8c-a348-bca9d52495d4",
                    "status": "active",
                    "name": "Campaign 1",
                    "description": "Description for campaign 1",
                    "image": "https:\/\/app.cryptocoin.pro\/img\/facelift\/ccpro\/logo-white.svg",
                    "type": "public",
                    "startAt": 1684195200,
                    "endAt": 1684540800,
                    "createdAt": 1684245423
                }
            },
            "company": 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/user/{user}/reward

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.

Reward Show

Requires authentication Use this endpoint to get a user reward.

Example request:

curl -X GET \
    -G "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/reward/4be25a80-7356-4b88-8e44-f2316af82f1f" \
    -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/reward/4be25a80-7356-4b88-8e44-f2316af82f1f"
);

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/reward/4be25a80-7356-4b88-8e44-f2316af82f1f',
    [
        '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/reward/4be25a80-7356-4b88-8e44-f2316af82f1f'
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": "4be25a80-7356-4b88-8e44-f2316af82f1f",
        "amount": "0.01",
        "createdAt": 1684404996,
        "asset": {
            "name": "Bitcoin",
            "symbol": "BTC",
            "alias": "XBT",
            "type": "coin",
            "precision": "6",
            "quantity": -1,
            "memo": false,
            "description": {
                "en": "Bitcoin is the first successful internet money based on peer-to-peer technology; whereby no central bank or authority is  *   involved in the transaction and production of the Bitcoin currency. It was created by an anonymous individual\/group under the name, *     Satoshi Nakamoto. The source code is available publicly as an open source project, anybody can look at it and be part of the *      developmental process.\r\n\r\nBitcoin is changing the way we see money as we speak. The idea was to produce a means of exchange,  *  independent of any central authority, that could be transferred electronically in a secure, verifiable and immutable way. It is a  *  decentralized peer-to-peer internet currency making mobile payment easy, very low transaction fees, protects your identity, and it *      works anywhere all the time with no central authority and banks.\r\n\r\nBitcoin is designed to have only 21 million BTC ever created, *      thus making it a deflationary currency. Bitcoin uses the SHA-256 hashing algorithm with an average transaction confirmation time of 10 *     minutes. Miners today are mining Bitcoin using ASIC chip dedicated to only mining Bitcoin, and the hash rate has shot up to peta *      hashes.\r\n\r\nBeing the first successful online cryptography currency, Bitcoin has inspired other alternative currencies such as *      Litecoin, Peercoin, Primecoin, and so on.\r\n\r\nThe cryptocurrency then took off with the innovation of the turing-complete smart *     contract by Ethereum which led to the development of other amazing projects such as EOS, Tron, and even crypto-collectibles such as  *  CryptoKitties."
            },
            "properties": null,
            "meta": {
                "genesis_date": "2009-01-03",
                "links": {
                    "website": "http:\/\/www.bitcoin.org",
                    "github": "https:\/\/github.com\/bitcoin\/bitcoin",
                    "facebook": "https:\/\/www.facebook.com\/bitcoins",
                    "twitter": "https:\/\/www.twitter.com\/bitcoin"
                },
                "total_supply": 21000000
            }
        },
        "incentive": {
            "id": "7083b809-20da-4694-9393-06530492cfc6",
            "status": "active",
            "operationType": "register",
            "operationService": null,
            "rewardAmount": "0.01",
            "info": null,
            "createdAt": 1684332533,
            "campaign": {
                "id": "30af54af-ad5c-4e8c-a348-bca9d52495d4",
                "status": "active",
                "name": "Campaign 1",
                "description": "Description for campaign 1",
                "image": "https:\/\/app.cryptocoin.pro\/img\/facelift\/ccpro\/logo-white.svg",
                "type": "public",
                "startAt": 1684195200,
                "endAt": 1684540800,
                "createdAt": 1684245423
            }
        },
        "company": 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/user/{user}/reward/{reward}

URL Parameters

Parameter Status Description
user required The user ID.
reward required The reward ID.

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-c9b7e1b9ce40'
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/{stake}

URL Parameters

Parameter Status Description
user required The user ID.
stake required The stake ID.

Staking Enrol

Requires authentication Use this endpoint to enrole in a stake.

Example request:

curl -X POST \
    "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/staking/6dff7801-c918-4d1e-97fd-c9b7e1b9ce40/enroll" \
    -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/enroll"
);

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/staking/6dff7801-c918-4d1e-97fd-c9b7e1b9ce40/enroll',
    [
        '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-c9b7e1b9ce40/enroll'
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": "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

POST /api/v1/user/{user}/staking/{stake}/enroll

URL Parameters

Parameter Status Description
user required The user ID.
stake required The stake ID.

Staking Stake

Requires authentication Use this endpoint to stake a specific offer.

Example request:

curl -X POST \
    "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/staking/6dff7801-c918-4d1e-97fd-c9b7e1b9ce40/stake" \
    -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/stake"
);

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/staking/6dff7801-c918-4d1e-97fd-c9b7e1b9ce40/stake',
    [
        '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-c9b7e1b9ce40/stake'
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'Bearer {token}'
}
response = requests.request('POST', url, headers=headers)
response.json()

Example response (201):

{
    "data": {
        "id": "9f84bd56-e97a-43ab-9595-22dd2b7c157a",
        "publicId": "EWAX4TZQ",
        "status": "PAYMENT_WAITING",
        "statusReason": null,
        "type": "coin",
        "typeOperation": "out",
        "typeOperationName": "stake_crypto",
        "fromSymbol": "ETH",
        "fromAmount": "0.2000000000000000000000000",
        "rate": "",
        "toSymbol": null,
        "toAmount": "0",
        "fromAsset": {
            "name": "Ethereum",
            "symbol": "ETH",
            "alias": null,
            "type": "coin",
            "precision": "5"
        },
        "toAsset": null,
        "txId": null,
        "wallet": null,
        "walletAddress": null,
        "parentOrder": {
            "id": null,
            "publicId": null
        },
        "childOrder": {
            "id": null,
            "publicId": null
        },
        "payment": {
            "method": null,
            "id": null,
            "meta": null,
            "url": null,
            "lifeSeconds": 7200,
            "lifeUntilAt": 1654158626,
            "currency": null,
            "amount": null,
            "feePercent": "0",
            "feeAmount": "0",
            "feeOnTop": true,
            "showFee": false,
            "proofUploaded": null
        },
        "commissions": {
            "percent": "0",
            "amount": "0"
        },
        "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
            }
        },
        "user": {
            "id": "66de494e-6791-4290-996c-32f42041fbf4",
            "isActive": true,
            "status": "active",
            "tradeStatus": true,
            "email": "al***@gmail.com",
            "options": {
                "language": "en",
                "theme": "light",
                "layout": "compact",
                "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
        },
        "quote": {
            "id": null,
            "publicId": null
        },
        "transfer": {
            "id": null,
            "publicId": null
        },
        "externalPlatform": null,
        "createdAt": 1654151426
    }
}

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}/staking/{stake}/stake

URL Parameters

Parameter Status Description
user required The user ID.
stake required The stake ID.

Staking Unstake

Requires authentication Use this endpoint to unstake a specific offer.

Example request:

curl -X POST \
    "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/staking/6dff7801-c918-4d1e-97fd-c9b7e1b9ce40/unstake" \
    -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/unstake"
);

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/staking/6dff7801-c918-4d1e-97fd-c9b7e1b9ce40/unstake',
    [
        '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-c9b7e1b9ce40/unstake'
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'Bearer {token}'
}
response = requests.request('POST', url, headers=headers)
response.json()

Example response (201):

{
    "data": {
        "id": "dce0bd88-47f7-49a5-b0a1-61ddeb80e6c9",
        "publicId": "7G59BXYA",
        "status": "PAYMENT_WAITING",
        "statusReason": null,
        "type": "coin",
        "typeOperation": "in",
        "typeOperationName": "unstake_crypto",
        "fromSymbol": null,
        "fromAmount": "0",
        "rate": "",
        "toSymbol": "ETH",
        "toAmount": "0.1000000000000000000000000",
        "fromAsset": null,
        "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": null,
            "id": null,
            "meta": null,
            "url": null,
            "lifeSeconds": 7200,
            "lifeUntilAt": 1654158709,
            "currency": null,
            "amount": null,
            "feePercent": "0",
            "feeAmount": "0",
            "feeOnTop": true,
            "showFee": false,
            "proofUploaded": null
        },
        "commissions": {
            "percent": "0",
            "amount": "0"
        },
        "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
            }
        },
        "user": {
            "id": "66de494e-6791-4290-996c-32f42041fbf4",
            "isActive": true,
            "status": "active",
            "tradeStatus": true,
            "email": "al***@gmail.com",
            "options": {
                "language": "en",
                "theme": "light",
                "layout": "compact",
                "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
        },
        "quote": {
            "id": null,
            "publicId": null
        },
        "transfer": {
            "id": null,
            "publicId": null
        },
        "externalPlatform": null,
        "createdAt": 1654151509
    }
}

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}/staking/{stake}/unstake

URL Parameters

Parameter Status Description
user required The user ID.
stake required The stake ID.

Tag

APIs for managing tags

Tag Index

Use this endpoint to get tag index.

Example request:

curl -X GET \
    -G "https://appapi-public.cryptocoin.pro/api/v1/tag?name=Web3&type=industry&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/tag"
);

let params = {
    "name": "Web3",
    "type": "industry",
    "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/tag',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Authorization' => 'Bearer {token}',
        ],
        'query' => [
            'name'=> 'Web3',
            'type'=> 'industry',
            'has'=> 'coin',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://appapi-public.cryptocoin.pro/api/v1/tag'
params = {
  'name': 'Web3',
  'type': 'industry',
  '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": [
        {
            "id": "a157a157-7087-4013-9f53-97247d9e5d72",
            "name": "Web3",
            "type": "industry",
            "count": {
                "coin": 2,
                "nft": 1
            },
            "createdAt": 1659418470
        }
    ]
}

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

Query Parameters

Parameter Status Description
name optional Filter by Name.
type optional Filter by Type.
has optional Filter by asset type (coin|nft).

Tag Shows

Use this endpoint to get a tag.

Example request:

curl -X GET \
    -G "https://appapi-public.cryptocoin.pro/api/v1/tag/a157a157-7087-4013-9f53-97247d9e5d72" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -H "Authorization: Bearer {token}"
const url = new URL(
    "https://appapi-public.cryptocoin.pro/api/v1/tag/a157a157-7087-4013-9f53-97247d9e5d72"
);

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/tag/a157a157-7087-4013-9f53-97247d9e5d72',
    [
        '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/tag/a157a157-7087-4013-9f53-97247d9e5d72'
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": "a157a157-7087-4013-9f53-97247d9e5d72",
        "name": "Web3",
        "type": "industry",
        "count": {
            "coin": 2,
            "nft": 1
        },
        "createdAt": 1659418470
    }
}

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/tag/{tag}

URL Parameters

Parameter Status Description
tag required The tag ID.

Ticket

APIs for managing user tickets.

Ticket Create

Requires authentication Use this endpoint to create ticket.

Example request:

curl -X POST \
    "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/ticket" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -H "Authorization: Bearer {token}" \
    -d '{"modelType":"order","modelId":"4b45540b-dd62-4554-8788-a883dcb6cfd2","title":"order","description":"foo"}'
const url = new URL(
    "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/ticket"
);

let headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "Authorization": "Bearer {token}",
};

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/user/66de494e-6791-4290-996c-32f42041fbf4/ticket',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Authorization' => 'Bearer {token}',
        ],
        '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/user/66de494e-6791-4290-996c-32f42041fbf4/ticket'
payload = {
    "modelType": "order",
    "modelId": "4b45540b-dd62-4554-8788-a883dcb6cfd2",
    "title": "order",
    "description": "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 (201):

{
    "data": {
        "id": "44243e6d-8fa3-4a77-8051-2eae8778cf65",
        "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",
        "model": null,
        "user": {
            "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
        },
        "company": null,
        "externalPlatform": null,
        "replies": null,
        "createdAt": 1655720297
    }
}

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": {
        "title": [
            "The title field is required."
        ]
    }
}

Example response (423):

{
    "message": "This type of operation is not allowed."
}

HTTP Request

POST /api/v1/user/{user}/ticket

URL Parameters

Parameter Status Description
user required The user 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)

Ticket Index

Requires authentication Use this endpoint to get all tickets.

Example request:

curl -X GET \
    -G "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/ticket?status=close&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/ticket"
);

let params = {
    "status": "close",
    "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/ticket',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Authorization' => 'Bearer {token}',
        ],
        'query' => [
            'status'=> 'close',
            '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/ticket'
params = {
  'status': 'close',
  '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": "44243e6d-8fa3-4a77-8051-2eae8778cf65",
            "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",
            "model": null,
            "user": {
                "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
            },
            "company": null,
            "externalPlatform": null,
            "replies": null,
            "createdAt": 1655720297
        }
    ]
}

Example response (401):

{
    "error": "Unauthenticated."
}

Example response (403):

{
    "message": "Your account is inactive."
}

Example response (409):

{
    "message": "This action is unauthorized."
}

Example response (423):

{
    "message": "This type of operation is not allowed."
}

HTTP Request

GET /api/v1/user/{user}/ticket

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.

Ticket Show

Requires authentication Use this endpoint to get tickets.

Example request:

curl -X GET \
    -G "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/ticket/dfa15005-e38a-4bc2-8459-6c2764be7eb6" \
    -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/ticket/dfa15005-e38a-4bc2-8459-6c2764be7eb6"
);

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/ticket/dfa15005-e38a-4bc2-8459-6c2764be7eb6',
    [
        '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/ticket/dfa15005-e38a-4bc2-8459-6c2764be7eb6'
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": "44243e6d-8fa3-4a77-8051-2eae8778cf65",
        "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",
        "model": null,
        "user": {
            "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
        },
        "company": null,
        "externalPlatform": null,
        "replies": null,
        "createdAt": 1655720297
    }
}

Example response (401):

{
    "error": "Unauthenticated."
}

Example response (403):

{
    "message": "Your account is inactive."
}

Example response (409):

{
    "message": "This action is unauthorized."
}

Example response (423):

{
    "message": "This type of operation is not allowed."
}

HTTP Request

GET /api/v1/user/{user}/ticket/{ticket}

URL Parameters

Parameter Status Description
user required The user ID.
ticket required The ticket ID.

Ticket Reply

Requires authentication Use this endpoint to reply to a ticket.

Example request:

curl -X POST \
    "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/ticket/dfa15005-e38a-4bc2-8459-6c2764be7eb6/reply" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -H "Authorization: Bearer {token}" \
    -d '{"description":"foo"}'
const url = new URL(
    "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/ticket/dfa15005-e38a-4bc2-8459-6c2764be7eb6/reply"
);

let headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "Authorization": "Bearer {token}",
};

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/user/66de494e-6791-4290-996c-32f42041fbf4/ticket/dfa15005-e38a-4bc2-8459-6c2764be7eb6/reply',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Authorization' => 'Bearer {token}',
        ],
        'json' => [
            'description' => '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/ticket/dfa15005-e38a-4bc2-8459-6c2764be7eb6/reply'
payload = {
    "description": "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": "44243e6d-8fa3-4a77-8051-2eae8778cf65",
        "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",
        "model": null,
        "user": {
            "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
        },
        "company": null,
        "externalPlatform": null,
        "replies": null,
        "createdAt": 1655720297
    }
}

Example response (401):

{
    "error": "Unauthenticated."
}

Example response (403):

{
    "message": "Your account is inactive."
}

Example response (409):

{
    "message": "This action is unauthorized."
}

Example response (423):

{
    "message": "This type of operation is not allowed."
}

HTTP Request

POST /api/v1/user/{user}/ticket/{ticket}/reply

URL Parameters

Parameter Status Description
user required The user ID.
ticket required The ticket ID.

Body Parameters

Parameter Type Status Description
description string required The ticket description. (min:5|max:10000)

Transfer

APIs for managing asset transfers, from user A to user B.

Transfer Create

Requires authentication Use this endpoint to create a transfer.

Example request:

curl -X POST \
    "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/transfer" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -H "Authorization: Bearer {token}" \
    -d '{"action":"send","amount":"1.2345","symbol":"ETH","user":"alinionutmusat+1@gmail.com"}'
const url = new URL(
    "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/transfer"
);

let headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "Authorization": "Bearer {token}",
};

let body = {
    "action": "send",
    "amount": "1.2345",
    "symbol": "ETH",
    "user": "alinionutmusat+1@gmail.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/66de494e-6791-4290-996c-32f42041fbf4/transfer',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Authorization' => 'Bearer {token}',
        ],
        'json' => [
            'action' => 'send',
            'amount' => '1.2345',
            'symbol' => 'ETH',
            'user' => 'alinionutmusat+1@gmail.com',
        ],
    ]
);
$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/transfer'
payload = {
    "action": "send",
    "amount": "1.2345",
    "symbol": "ETH",
    "user": "alinionutmusat+1@gmail.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": "3290f292-d36d-45f8-a320-81c74e5d7ba8",
        "publicId": "FxpNoavw",
        "status": "pending",
        "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": "CCPRO",
            "name": "CryptoCoin",
            "url": "https:\/\/app.cryptocoin.pro"
        },
        "lifeSeconds": 180,
        "lifeUntilAt": 1591179248,
        "createdAt": 1591179068
    }
}

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}/transfer

URL Parameters

Parameter Status Description
user required The user ID.

Body Parameters

Parameter Type Status Description
action string required The transfer type - (in:send,receive).
amount string required The transfer amount - (numeric|min:0|not_in:0).
symbol string required The transfer asset symbol - (in:assets->symbol).
user string required The transfer involved user - (in:users->{email|id}).

Transfer Index

Requires authentication Use this endpoint to get all user transfer in with is involved.

Example request:

curl -X GET \
    -G "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/transfer?id=iZE9qxz6&user=jon%40winterfell.got&from_user=jon%40winterfell.got&to_user=jon%40winterfell.got&status=completed&asset=ETH&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/transfer"
);

let params = {
    "id": "iZE9qxz6",
    "user": "jon@winterfell.got",
    "from_user": "jon@winterfell.got",
    "to_user": "jon@winterfell.got",
    "status": "completed",
    "asset": "ETH",
    "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/transfer',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Authorization' => 'Bearer {token}',
        ],
        'query' => [
            'id'=> 'iZE9qxz6',
            'user'=> 'jon@winterfell.got',
            'from_user'=> 'jon@winterfell.got',
            'to_user'=> 'jon@winterfell.got',
            'status'=> 'completed',
            'asset'=> 'ETH',
            '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/transfer'
params = {
  'id': 'iZE9qxz6',
  'user': 'jon@winterfell.got',
  'from_user': 'jon@winterfell.got',
  'to_user': 'jon@winterfell.got',
  'status': 'completed',
  'asset': 'ETH',
  '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": "3290f292-d36d-45f8-a320-81c74e5d7ba8",
            "publicId": "FxpNoavw",
            "status": "completed",
            "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"
            },
            "externalPlatform": {
                "code": "CCPRO",
                "name": "CryptoCoin",
                "url": "https:\/\/app.cryptocoin.pro"
            },
            "fromOrder": {
                "id": "0015cfbd-3033-4818-96e5-6f15c09bb380",
                "publicId": "7SKTMR2Y"
            },
            "toOrder": {
                "id": "681bf5cb-5530-46d8-8f4d-0e279907f804",
                "publicId": "9N29OHTW"
            },
            "lifeSeconds": 180,
            "lifeUntilAt": 1591179248,
            "createdAt": 1591179068
        }
    ]
}

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}/transfer

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.
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 optional Filter by Platform code.

Transfer By

Requires authentication Use this endpoint to get all user transfer created by him.

Example request:

curl -X GET \
    -G "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/transfer/by?id=iZE9qxz6&user=jon%40winterfell.got&from_user=jon%40winterfell.got&to_user=jon%40winterfell.got&status=completed&asset=ETH&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/transfer/by"
);

let params = {
    "id": "iZE9qxz6",
    "user": "jon@winterfell.got",
    "from_user": "jon@winterfell.got",
    "to_user": "jon@winterfell.got",
    "status": "completed",
    "asset": "ETH",
    "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/transfer/by',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Authorization' => 'Bearer {token}',
        ],
        'query' => [
            'id'=> 'iZE9qxz6',
            'user'=> 'jon@winterfell.got',
            'from_user'=> 'jon@winterfell.got',
            'to_user'=> 'jon@winterfell.got',
            'status'=> 'completed',
            'asset'=> 'ETH',
            '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/transfer/by'
params = {
  'id': 'iZE9qxz6',
  'user': 'jon@winterfell.got',
  'from_user': 'jon@winterfell.got',
  'to_user': 'jon@winterfell.got',
  'status': 'completed',
  'asset': 'ETH',
  '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": "3290f292-d36d-45f8-a320-81c74e5d7ba8",
            "publicId": "FxpNoavw",
            "status": "completed",
            "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": "0015cfbd-3033-4818-96e5-6f15c09bb380",
                "publicId": "7SKTMR2Y"
            },
            "toOrder": {
                "id": "681bf5cb-5530-46d8-8f4d-0e279907f804",
                "publicId": "9N29OHTW"
            },
            "externalPlatform": {
                "code": "CCPRO",
                "name": "CryptoCoin",
                "url": "https:\/\/app.cryptocoin.pro"
            },
            "lifeSeconds": 180,
            "lifeUntilAt": 1591179248,
            "createdAt": 1591179068
        }
    ]
}

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}/transfer/by

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.
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 optional Filter by Platform code.

Transfer From

Requires authentication Use this endpoint to get all user transfer from him.

Example request:

curl -X GET \
    -G "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/transfer/from?id=iZE9qxz6&user=jon%40winterfell.got&from_user=jon%40winterfell.got&to_user=jon%40winterfell.got&status=completed&asset=ETH&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/transfer/from"
);

let params = {
    "id": "iZE9qxz6",
    "user": "jon@winterfell.got",
    "from_user": "jon@winterfell.got",
    "to_user": "jon@winterfell.got",
    "status": "completed",
    "asset": "ETH",
    "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/transfer/from',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Authorization' => 'Bearer {token}',
        ],
        'query' => [
            'id'=> 'iZE9qxz6',
            'user'=> 'jon@winterfell.got',
            'from_user'=> 'jon@winterfell.got',
            'to_user'=> 'jon@winterfell.got',
            'status'=> 'completed',
            'asset'=> 'ETH',
            '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/transfer/from'
params = {
  'id': 'iZE9qxz6',
  'user': 'jon@winterfell.got',
  'from_user': 'jon@winterfell.got',
  'to_user': 'jon@winterfell.got',
  'status': 'completed',
  'asset': 'ETH',
  '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": "3290f292-d36d-45f8-a320-81c74e5d7ba8",
            "publicId": "FxpNoavw",
            "status": "completed",
            "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": "0015cfbd-3033-4818-96e5-6f15c09bb380",
                "publicId": "7SKTMR2Y"
            },
            "toOrder": {
                "id": "681bf5cb-5530-46d8-8f4d-0e279907f804",
                "publicId": "9N29OHTW"
            },
            "externalPlatform": {
                "code": "CCPRO",
                "name": "CryptoCoin",
                "url": "https:\/\/app.cryptocoin.pro"
            },
            "lifeSeconds": 180,
            "lifeUntilAt": 1591179248,
            "createdAt": 1591179068
        }
    ]
}

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}/transfer/from

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.
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 optional Filter by Platform code.

Transfer To

Requires authentication Use this endpoint to get all user transfer to him.

Example request:

curl -X GET \
    -G "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/transfer/to?id=iZE9qxz6&user=jon%40winterfell.got&from_user=jon%40winterfell.got&to_user=jon%40winterfell.got&status=completed&asset=ETH&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/transfer/to"
);

let params = {
    "id": "iZE9qxz6",
    "user": "jon@winterfell.got",
    "from_user": "jon@winterfell.got",
    "to_user": "jon@winterfell.got",
    "status": "completed",
    "asset": "ETH",
    "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/transfer/to',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Authorization' => 'Bearer {token}',
        ],
        'query' => [
            'id'=> 'iZE9qxz6',
            'user'=> 'jon@winterfell.got',
            'from_user'=> 'jon@winterfell.got',
            'to_user'=> 'jon@winterfell.got',
            'status'=> 'completed',
            'asset'=> 'ETH',
            '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/transfer/to'
params = {
  'id': 'iZE9qxz6',
  'user': 'jon@winterfell.got',
  'from_user': 'jon@winterfell.got',
  'to_user': 'jon@winterfell.got',
  'status': 'completed',
  'asset': 'ETH',
  '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": "3290f292-d36d-45f8-a320-81c74e5d7ba8",
            "publicId": "FxpNoavw",
            "status": "completed",
            "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": "0015cfbd-3033-4818-96e5-6f15c09bb380",
                "publicId": "7SKTMR2Y"
            },
            "toOrder": {
                "id": "681bf5cb-5530-46d8-8f4d-0e279907f804",
                "publicId": "9N29OHTW"
            },
            "externalPlatform": {
                "code": "CCPRO",
                "name": "CryptoCoin",
                "url": "https:\/\/app.cryptocoin.pro"
            },
            "lifeSeconds": 180,
            "lifeUntilAt": 1591179248,
            "createdAt": 1591179068
        }
    ]
}

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}/transfer/to

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.
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 optional Filter by Platform code.

Transfer Show

Requires authentication Use this endpoint to get a user transfer in with is involved.

Example request:

curl -X GET \
    -G "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/transfer/3290f292-d36d-45f8-a320-81c74e5d7ba8" \
    -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/transfer/3290f292-d36d-45f8-a320-81c74e5d7ba8"
);

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/transfer/3290f292-d36d-45f8-a320-81c74e5d7ba8',
    [
        '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/transfer/3290f292-d36d-45f8-a320-81c74e5d7ba8'
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": "3290f292-d36d-45f8-a320-81c74e5d7ba8",
        "publicId": "FxpNoavw",
        "status": "completed",
        "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": "0015cfbd-3033-4818-96e5-6f15c09bb380",
            "publicId": "7SKTMR2Y"
        },
        "toOrder": {
            "id": "681bf5cb-5530-46d8-8f4d-0e279907f804",
            "publicId": "9N29OHTW"
        },
        "externalPlatform": {
            "code": "CCPRO",
            "name": "CryptoCoin",
            "url": "https:\/\/app.cryptocoin.pro"
        },
        "lifeSeconds": 180,
        "lifeUntilAt": 1591179248,
        "createdAt": 1591179068
    }
}

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}/transfer/{transfer}

URL Parameters

Parameter Status Description
user required The user ID.
transfer required The transfer ID.

Transfer Confirm

Requires authentication Use this endpoint to confirm a transfer.

Example request:

curl -X POST \
    "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/transfer/3290f292-d36d-45f8-a320-81c74e5d7ba8" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -H "Authorization: Bearer {token}" \
    -d '{"wallet":"0x01234567890123456789","network":"ERC20"}'
const url = new URL(
    "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/transfer/3290f292-d36d-45f8-a320-81c74e5d7ba8"
);

let headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "Authorization": "Bearer {token}",
};

let body = {
    "wallet": "0x01234567890123456789",
    "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/transfer/3290f292-d36d-45f8-a320-81c74e5d7ba8',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Authorization' => 'Bearer {token}',
        ],
        'json' => [
            'wallet' => '0x01234567890123456789',
            '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/transfer/3290f292-d36d-45f8-a320-81c74e5d7ba8'
payload = {
    "wallet": "0x01234567890123456789",
    "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 (200):

{
    "data": {
        "id": "3290f292-d36d-45f8-a320-81c74e5d7ba8",
        "publicId": "FxpNoavw",
        "status": "completed",
        "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": "0015cfbd-3033-4818-96e5-6f15c09bb380",
            "publicId": "7SKTMR2Y"
        },
        "toOrder": {
            "id": "681bf5cb-5530-46d8-8f4d-0e279907f804",
            "publicId": "9N29OHTW"
        },
        "externalPlatform": {
            "code": "CCPRO",
            "name": "CryptoCoin",
            "url": "https:\/\/app.cryptocoin.pro"
        },
        "lifeSeconds": 180,
        "lifeUntilAt": 1591179248,
        "createdAt": 1591179068
    }
}

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}/transfer/{transfer}

URL Parameters

Parameter Status Description
user required The user ID.
transfer required The transfer ID.

Body Parameters

Parameter Type Status Description
wallet string optional The wallet address/uuid, can be specify only if transfer in receive - (in:$user->wallets).
network string optional The wallet network - (required_with:wallet).

User

APIs for managing users

User Create

Use this endpoint to create a new User model.

Example request:

curl -X POST \
    "https://appapi-public.cryptocoin.pro/api/v1/user" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"email":"email@gmail.com","password":"12345678","platform":{"id":"64b4f8d1-c2bd-4bba-8b1b-332a58176734","userId":"123456","email":"email@gmail.com","username":"username","referralId":"123456"},"redirectTo":"http:\/\/www.platform.com\/user-activate\/123456789"}'
const url = new URL(
    "https://appapi-public.cryptocoin.pro/api/v1/user"
);

let headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "email": "email@gmail.com",
    "password": "12345678",
    "platform": {
        "id": "64b4f8d1-c2bd-4bba-8b1b-332a58176734",
        "userId": "123456",
        "email": "email@gmail.com",
        "username": "username",
        "referralId": "123456"
    },
    "redirectTo": "http:\/\/www.platform.com\/user-activate\/123456789"
}

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',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'email' => 'email@gmail.com',
            'password' => '12345678',
            'platform' => [
                'id' => '64b4f8d1-c2bd-4bba-8b1b-332a58176734',
                'userId' => '123456',
                'email' => 'email@gmail.com',
                'username' => 'username',
                'referralId' => '123456',
            ],
            'redirectTo' => 'http://www.platform.com/user-activate/123456789',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://appapi-public.cryptocoin.pro/api/v1/user'
payload = {
    "email": "email@gmail.com",
    "password": "12345678",
    "platform": {
        "id": "64b4f8d1-c2bd-4bba-8b1b-332a58176734",
        "userId": "123456",
        "email": "email@gmail.com",
        "username": "username",
        "referralId": "123456"
    },
    "redirectTo": "http:\/\/www.platform.com\/user-activate\/123456789"
}
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()

Example response (201):

{
    "data": {
        "uuid": "ebf8e81e-fdfd-4da9-84e4-b5172b6f1412",
        "isActive": false,
        "tradeStatus": true,
        "email": "al**@gmail.com",
        "options": {
            "language": "en",
            "theme": "light",
            "guard": {
                "antiPhishing": "co***",
                "actions": {
                    "login": {
                        "2fa": true,
                        "password": true
                    },
                    "operations": {
                        "2fa": true,
                        "password": true
                    }
                }
            }
        },
        "meta": {
            "source": "api"
        },
        "selfDeletedAt": null,
        "createdAt": 1577002591
    },
    "meta": {
        "redirectTo": "http:\/\/dev-api-checkout.localhost:8000\/api\/v1\/",
        "registerType": "linked"
    }
}

Example response (422):

{
    "message": "The given data was invalid.",
    "errors": {
        "email": [
            "The email has already been taken."
        ]
    }
}

HTTP Request

POST /api/v1/user

Body Parameters

Parameter Type Status Description
email string required The user email - (email|unique:users).
password string optional The user password - (required_without:platform.id|min:8|max:191).
platform.id string optional The platform uuid - (in:platform->uuid).
platform.userId string optional The platform user ID - (required_with:platform.id|string|max:191).
platform.email string optional The platform user email - (email).
platform.username string optional The platform user username - (alpha_dash|max:191).
platform.referralId string optional The platform user referral ID - (alpha_dash|max:191).
redirectTo string optional The redirect URL after activation email link clicked - (url|max:1024).

User Email Verify

Use this endpoint to verify email of a new User model.

Example request:

curl -X POST \
    "https://appapi-public.cryptocoin.pro/api/v1/user/verify" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -H "Authorization: Bearer {token}" \
    -d '{"id":"1e6d61cc-be30-4de8-9bbf-cbb097b4767b","email":"email@cryptocoin.pro","code":"123456"}'
const url = new URL(
    "https://appapi-public.cryptocoin.pro/api/v1/user/verify"
);

let headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "Authorization": "Bearer {token}",
};

let body = {
    "id": "1e6d61cc-be30-4de8-9bbf-cbb097b4767b",
    "email": "email@cryptocoin.pro",
    "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/verify',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Authorization' => 'Bearer {token}',
        ],
        'json' => [
            'id' => '1e6d61cc-be30-4de8-9bbf-cbb097b4767b',
            'email' => 'email@cryptocoin.pro',
            'code' => 'aplphanumrandom',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://appapi-public.cryptocoin.pro/api/v1/user/verify'
payload = {
    "id": "1e6d61cc-be30-4de8-9bbf-cbb097b4767b",
    "email": "email@cryptocoin.pro",
    "code": "aplphanumrandom"
}
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": "User account successfully verified."
}

Example response (422):

{
    "message": "The given data was invalid.",
    "errors": {
        "code": [
            "The selected Code is invalid."
        ]
    }
}

Example response (423):

{
    "error": "The user account is already active."
}

HTTP Request

POST /api/v1/user/verify

Body Parameters

Parameter Type Status Description
id string optional (Required if no email provided) The user id - (uuid).
email string optional (Required if no id provided) The user email - (email).
code string required The user email validation code - (alpha_num|in:user->codeEmail).

User Email Reverify

Use this endpoint to resubmit verification email of a new User.

Example request:

curl -X POST \
    "https://appapi-public.cryptocoin.pro/api/v1/user/reverify" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -H "Authorization: Bearer {token}" \
    -d '{"id":"1e6d61cc-be30-4de8-9bbf-cbb097b4767b","email":"email@cryptocoin.pro"}'
const url = new URL(
    "https://appapi-public.cryptocoin.pro/api/v1/user/reverify"
);

let headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "Authorization": "Bearer {token}",
};

let body = {
    "id": "1e6d61cc-be30-4de8-9bbf-cbb097b4767b",
    "email": "email@cryptocoin.pro"
}

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/reverify',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Authorization' => 'Bearer {token}',
        ],
        'json' => [
            'id' => '1e6d61cc-be30-4de8-9bbf-cbb097b4767b',
            'email' => 'email@cryptocoin.pro',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://appapi-public.cryptocoin.pro/api/v1/user/reverify'
payload = {
    "id": "1e6d61cc-be30-4de8-9bbf-cbb097b4767b",
    "email": "email@cryptocoin.pro"
}
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": "Email resended."
}

Example response (403):

{
    "message": "You exceed your email verification quote."
}

Example response (423):

{
    "error": "The user account is already active."
}

HTTP Request

POST /api/v1/user/reverify

Body Parameters

Parameter Type Status Description
id string optional (Required if no email provided) The user id - (uuid).
email string optional (Required if no id provided) The user email - (email).

User Profile

Requires authentication Use this endpoint to get an existing User model Profile data.

Example request:

curl -X GET \
    -G "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4" \
    -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"
);

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',
    [
        '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'
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'Bearer {token}'
}
response = requests.request('GET', url, headers=headers)
response.json()

Example response (200):

{
    "data": {
        "uuid": "ebf8e81e-fdfd-4da9-84e4-b5172b6f1412",
        "isActive": true,
        "tradeStatus": true,
        "email": "al**@gmail.com",
        "selfDeletedAt": null,
        "createdAt": 1554211815,
        "options": {
            "language": "en",
            "theme": "light",
            "guard": {
                "antiPhishing": "co***",
                "actions": {
                    "login": {
                        "2fa": true,
                        "password": true
                    },
                    "operations": {
                        "2fa": true,
                        "password": true
                    }
                }
            }
        },
        "meta": {
            "source": "api"
        },
        "kyc": {
            "required": "address",
            "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": "http:\/\/dev-checkout.localhost\/kyc\/address\/*eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzUxMiJ9.eyJ1c2VyIjoiODAyODc1YTEtMDUwNy00MDljLWE0OTEtYTQyZmEwNTZlMTg4IiwiYW*NjZXNzIjoiMTAwMDAxOTU2MDhnVjFiQzFUYzI2WFEySDBvVXJLRzg4OWhvb0pRS0ozbjBhZHBhbmdFak9uTHhOT0N0Z1FmcSIsImV4c*GlyZSI6MTU3MjA3ODAyN30.*hDyuqPakpUVo1ltwP7fAT79SEYrsKoG0fV-kUZWHiafQef_-s7zfI8dAM1vlf7b2uw36MKZ5AededfMdI9KSCn6DfbtjT_abALvxL0j*qbjE88lIlD-hFoplcJRPvAgIwrxHq7wFBZgdB5fWpSPrUgckUpmTyiLsdwD-srx0wuujtjcxa5vD_eoUw2HUMnOWyly9jgAxpQELzV7*hJMjjQYXZoN5-YlJQRXaFJi653EUKxeIfjYSoI8meLx6AEnRgcrAehX_1K7UMa7sT5KO4FzdwK6G-RMbZJScP4QSC83BLOSwHRo0cd1*4btZTCAozzQbKh6zLHMoFca8WiSxiHkPA?display=light&expires=1572078027&lang=en&*signature=0308bd44a3640c13f47070d08290119f31dfa92603c4f9973a3ee73abfbffe24",
                "documents": "http:\/\/dev-checkout.localhost\/kyc\/documents\/*eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzUxMiJ9.eyJ1c2VyIjoiODAyODc1YTEtMDUwNy00MDljLWE0OTEtYTQyZmEwNTZlMTg4IiwiYW*NjZXNzIjoiMTAwMDAxOTU2VGJKMVR1MVZodU1BUEl6OVJFZElueG1lWjFRNkVwb1VzRjJCRkpJRmpVN0VFWXFzQjhZOWMzVyIsImV4c*GlyZSI6MTU3MjA3ODAyN30.*iqn32ILE_KjnE9TCXIv2KpQEMInl9LcTfgaHIsk_ogA3YQ-c7DjhsACPlyaLNTZpR0uchU5horYoouaRyBth0odca3IMVQ30Yqgxsdg*-KIha6SigUpxU7DQjKEd3PG_a_MNK6iERhNkPuZrmkivvS15dlmskCGh6LcGwEQ3o9mBuuCr2UKRE8j-2C2SUyjL6RInf0jczFx05Q8*g4obFbMokFPKOx9SXqdeyVKCRTwYyjdMe0TqZ_Ogb3IFZl93Yovy-pKlT2LzQ0hi7Qi2cEj7tcu_bbi1R3GzyiF8r_0LjJbTHvm7Rfz*BL87apa62Slxt1ljISJBRf5wI6iBkfRQQ?display=light&expires=1572078027&lang=en&*signature=83b460f391f4d9c1cfd5a646dbb34e4978f23a647e6a86f80e1deb195a162515",
                "video": "http:\/\/dev-checkout.localhost\/kyc\/video\/*eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzUxMiJ9.eyJ1c2VyIjoiODAyODc1YTEtMDUwNy00MDljLWE0OTEtYTQyZmEwNTZlMTg4IiwiYW*NjZXNzIjoiMTAwMDAxOTU2bGtWVlE4SFB3RW9IUHJ2Y1hsRU9NeFE0M2hhMlFSdnlubWhJSFBsTElNNE9XUktRTUZvaGdEdiIsImV4c*GlyZSI6MTU3MjA3ODAyN30.*J9wHORHgpUwyycjs4lzTtON8wzdHLFGHI7ktwBUFyQt2J5gum3ZSRZLY40dy_DrK7VdbnFODU6F2RjpFKAwFnAgAMMq8rnWKWDrLjyJ*w71NpqWLsd48YSEkCOzROx2qEDtBMBgj4QplBjmH44lZKc87nMaUmvtpIKECXWJYtA1CvyVlw2lX5I4OdbgZS4uOyKV3mV2rE4LfrAN*F7vYPAu8dVTtPETG2niIRdFSigHBW-fV1fp97KS2D-Sow7kUeyTXJseMsbKU6imPbdbz6pqJlr58Jngxcuh47nj1Fl5_uQ5EMgqAGkr*UoMn-7aolhTo334XAlsPFi66Gw5KDLYNg?display=light&expires=1572078027&lang=en&*signature=b22aa83642baf13d4662883130ad76937d14835b4aae291811d172eea8e6e0b8",
                "enhancedDueDiligence": "http:\/\/dev-checkout.localhost\/kyc\/edd\/*eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzUxMiJ9.*eyJ1c2VyIjoiODAyODc1YTEtMDUwNy00MDljLWE0OTEtYTQyZmEwNTZlMTg4IiwiYWNjZXNzIjoiMTAwMDAxOTU2eDZFcjhuQUlkSnp*GQmJKUFVEYXl4MHpWcVdtMnRINktWNHlzRHYzb3JOS0pHV2QwaHd5Z2RoRiIsImV4cGlyZSI6MTU3MjA3ODAyN30.*Q2BKMGyqN2SYmv96m2p_ooMULNbEtLyUFcBtBfW1vqXDGOq-V099gv7MS5ls_9OpiT-wfy9Pza_Du3BC3MZSwpNJkz9di0DYCD3FdrE*Py6FR_qvcExvEJzCqx6cYSBUofnea2956TJLLCr4n3O7bVuuQGtJUYKnfzxmxbTaBTZTngMs1SYoL2qsNMyWqs5-wRqAvNQ0MXXoVui*ICreK-mJpXXl4hL92go3vzAZDvKGnQ7yfk6YB4yd-XECcQPJ7pSVgjfXGSjkqN1zcfsbAnud-Xf1_qPPGgiB8AhYfjy89_oRoKELK6f*SFWBdQ69NwySK31zKoxyW6OshalFwU4eA?display=light&expires=1572078027&lang=en&*signature=ce89dd9b55ecbba9f4dfae67efbd277527d47aeb94273c17925aa856423d902e"
            },
            "phone": {
                "required": false,
                "number": "+0730036823",
                "isVerified": true
            },
            "personal": {
                "required": false,
                "status": "PENDING",
                "firstName": "Alin",
                "lastName": "Ionut",
                "dateOfBirth": 975974400
            },
            "address": {
                "required": true,
                "status": "NOT COMPLETED",
                "country": null,
                "city": "",
                "zip": null,
                "street": ""
            },
            "documents": {
                "required": true,
                "governmentIdFront": {
                    "status": "NOT COMPLETED",
                    "url": null
                },
                "governmentIdBack": {
                    "status": "NOT COMPLETED",
                    "url": null
                },
                "passport": {
                    "status": "NOT COMPLETED",
                    "url": null
                },
                "driversLicense": {
                    "status": "NOT COMPLETED",
                    "url": null
                },
                "residencePermit": {
                    "status": "NOT COMPLETED",
                    "url": null
                },
                "utilityBill": {
                    "status": "NOT COMPLETED",
                    "url": null
                },
                "selfieWithId": {
                    "status": "NOT COMPLETED",
                    "url": null
                },
                "extendedProofOfFunds": [],
                "tempFiles": []
            },
            "video": {
                "required": false,
                "status": null,
                "videoFile": null,
                "scheduleDate": null,
                "scheduleDateTimezone": null,
                "cancelScheduleUrl": null,
                "rescheduleUrl": null
            },
            "enhancedDueDiligence": {
                "required": false,
                "status": null,
                "eddData": {
                    "transactionsPurpose": [
                        "remittances",
                        "payments",
                        "investments",
                        "savings",
                        "other"
                    ],
                    "transactionsNatureValue": [
                        "1 - 1000",
                        "1000 - 5000",
                        "5000 - 10000",
                        "10000 - 50000",
                        "+50000"
                    ],
                    "transactionsNatureFrequency": [
                        "1 - 5",
                        "6 - 10",
                        "11 - 20",
                        "21 - 50",
                        "+50"
                    ],
                    "fundsSource": [
                        "credit_debit_card",
                        "e_wallet",
                        "bank_account",
                        "mining_wallet",
                        "other"
                    ],
                    "fundsOrigin": [
                        "payroll_funds",
                        "dividends_of_business",
                        "personal_savings",
                        "proceeds_of_investments",
                        "proceeds_of_mining",
                        "other"
                    ]
                },
                "transactionsPurpose": null,
                "transactionsPurposeOther": null,
                "transactionsNatureValue": null,
                "transactionsNatureFrequency": null,
                "fundsSource": null,
                "fundsSourceOther": null,
                "fundsSourceFile": null,
                "fundsOrigin": null,
                "fundsOriginOther": null,
                "fundsOriginFile": null,
                "createdAt": null
            },
            "createdAt": 1554204616
        },
        "phones": [
            {
                "id": "ffcff555-f86a-425b-aa22-400292416f53",
                "phone": "+0730036823",
                "status": 1,
                "default": 1,
                "createdAt": 1597821686
            }
        ],
        "wallets": [
            {
                "id": "95c77df0-c3ae-4742-93d2-8d75bedb279a",
                "status": "CONFIRMED",
                "alias": "some3",
                "address": "0xEfC0c85abd46941766E2Ae9a30c57DF75b164a08",
                "coin": "ETH",
                "createdAt": 1555335338
            }
        ],
        "cards": [
            {
                "id": "7285d42d-78c0-4d77-9641-1d5f8572afa6",
                "status": "CONFIRMED",
                "alias": "test",
                "holderName": "alin2",
                "expirationDate": "06\/19",
                "lastFourDigits": "2453",
                "cardImage1": "1945",
                "cardImage2": "1946",
                "createdAt": 1557411204
            }
        ],
        "banks": [
            {
                "id": "7ab8d78d-d6a5-452c-a8b7-8999459e7d27",
                "status": "CONFIRMED",
                "bankName": "bank name last",
                "iban": "RO02INGB00009999002858614",
                "swift": "3253453465",
                "currency": "RON",
                "createdAt": 1557411215
            }
        ],
        "externalPlatforms": [
            {
                "code": "CCPRO",
                "name": "CryptoCoin",
                "active": true,
                "url": "https:\/\/app.cryptocoin.pro\/",
                "createdAt": 1576742797
            }
        ],
        "companies": [
            {
                "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,
                "reject": null,
                "purposeAndScope": null,
                "status": "processing",
                "color_code": "#92f819",
                "createdAt": 1607347053
            }
        ]
    }
}

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}

URL Parameters

Parameter Status Description
user required The user ID.

api/v1/user/{user}/referrals

Example request:

curl -X GET \
    -G "https://appapi-public.cryptocoin.pro/api/v1/user/1/referrals" \
    -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/referrals"
);

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/1/referrals',
    [
        '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/referrals'
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'Bearer {token}'
}
response = requests.request('GET', url, headers=headers)
response.json()

Example response (404):

{
    "message": "The route api\/v1\/user\/1\/referrals could not be found."
}

HTTP Request

GET /api/v1/user/{user}/referrals

User Switch Account

Use this endpoint to use account as user or as company .

Example request:

curl -X POST \
    "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/account-as/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/account-as/1/"
);

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/account-as/1/',
    [
        '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/account-as/1/'
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'Bearer {token}'
}
response = requests.request('POST', url, headers=headers)
response.json()

Example response (200):

{
    "data": {
        "message": "The account has been successfully changed."
    }
}

Example response (403):

{
    "data": {
        "message": "Your account is inactive."
    }
}

Example response (404):

{
    "data": {
        "message": "No query results."
    }
}

Example response (412):

{
    "data": {
        "message": "This action is not allowed. Company is not approved."
    }
}

Example response (422):

{
    "message": "The given data was invalid.",
    "errors": {
        "company": [
            "The company field must be a valid uuid"
        ]
    }
}

Example response (423):

{
    "message": "This type of operation is not allowed."
}

HTTP Request

POST /api/v1/user/{user}/account-as/{type}/{company?}

URL Parameters

Parameter Status Description
user required The user ID.

User Change Email

Use this endpoint to trigger email change.

Example request:

curl -X POST \
    "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/account/change-email/initiate" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -H "Authorization: Bearer {token}" \
    -d '{"new_email":"john@doe.com","type":"link"}'
const url = new URL(
    "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/account/change-email/initiate"
);

let headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "Authorization": "Bearer {token}",
};

let body = {
    "new_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/66de494e-6791-4290-996c-32f42041fbf4/account/change-email/initiate',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Authorization' => 'Bearer {token}',
        ],
        'json' => [
            'new_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/66de494e-6791-4290-996c-32f42041fbf4/account/change-email/initiate'
payload = {
    "new_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 email change process has started."
    }
}

Example response (422):

{
    "message": "The given data was invalid.",
    "errors": {
        "new_email": [
            "The new email has already been taken."
        ]
    }
}

HTTP Request

POST /api/v1/user/{user}/account/change-email/initiate

URL Parameters

Parameter Status Description
user required The user ID.

Body Parameters

Parameter Type Status Description
new_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 Confirm Email Change

Use this endpoint to confirm email change by passing the old email code and new email code.

Example request:

curl -X POST \
    "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/account/change-email/confirm" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -H "Authorization: Bearer {token}" \
    -d '{"current_email_code":"d286KVZlfRJq4iEE4xDn","new_email_code":"8f8e8VZlfRJq4iEE4xDn"}'
const url = new URL(
    "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/account/change-email/confirm"
);

let headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "Authorization": "Bearer {token}",
};

let body = {
    "current_email_code": "d286KVZlfRJq4iEE4xDn",
    "new_email_code": "8f8e8VZlfRJq4iEE4xDn"
}

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/account/change-email/confirm',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Authorization' => 'Bearer {token}',
        ],
        'json' => [
            'current_email_code' => 'd286KVZlfRJq4iEE4xDn',
            'new_email_code' => '8f8e8VZlfRJq4iEE4xDn',
        ],
    ]
);
$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/account/change-email/confirm'
payload = {
    "current_email_code": "d286KVZlfRJq4iEE4xDn",
    "new_email_code": "8f8e8VZlfRJq4iEE4xDn"
}
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 email has been successfully changed."
    }
}

Example response (403):

{
    "data": {
        "message": "This type of operation is not allowed."
    }
}

Example response (404):

{
    "data": {
        "message": "No query results."
    }
}

Example response (422):

{
    "message": "The given data was invalid.",
    "errors": {
        "current_email_code": [
            "The current email code must be 20 characters."
        ]
    }
}

HTTP Request

POST /api/v1/user/{user}/account/change-email/confirm

URL Parameters

Parameter Status Description
user required The user ID.

Body Parameters

Parameter Type Status Description
current_email_code string required (size:20).
new_email_code string required (size:20).

User Self Delete Initiate

Use this endpoint to place in initiate Self Delete Queue for User.

Example request:

curl -X POST \
    "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/account/close/initiate" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -H "Authorization: Bearer {token}" \
    -d '{"password":"mystrongpass","type":"link"}'
const url = new URL(
    "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/account/close/initiate"
);

let headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "Authorization": "Bearer {token}",
};

let body = {
    "password": "mystrongpass",
    "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/66de494e-6791-4290-996c-32f42041fbf4/account/close/initiate',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Authorization' => 'Bearer {token}',
        ],
        'json' => [
            'password' => 'mystrongpass',
            'type' => 'link',
        ],
    ]
);
$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/account/close/initiate'
payload = {
    "password": "mystrongpass",
    "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):

{
    "message": "Self Delete Account procedure initiated. Please check your Email for confirmation."
}

Example response (422):

{
    "message": "The given data was invalid.",
    "errors": {
        "password": [
            "The password field is required."
        ]
    }
}

Example response (409):

{
    "message": "Platform not user owner."
}

Example response (410):

{
    "message": "Your account is already scheduled for Self Delete."
}

Example response (412):

{
    "message": "Self Delete Account procedure unavailable due available balance"
}

Example response (425):

{
    "message": "You can request Self Delete Account once per day."
}

HTTP Request

POST /api/v1/user/{user}/account/close/initiate

URL Parameters

Parameter Status Description
user required The user ID.

Body Parameters

Parameter Type Status Description
password string required The user password - (string).
type string optional How to display the token in the email (nullable|in:text,link).

User Self Delete Confirm

Use this endpoint to confirm soft delete by passing the email code.

Example request:

curl -X POST \
    "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/account/close/confirm" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -H "Authorization: Bearer {token}" \
    -d '{"code":"8f8e8VZlfRJq4iEE4xDn"}'
const url = new URL(
    "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/account/close/confirm"
);

let headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "Authorization": "Bearer {token}",
};

let body = {
    "code": "8f8e8VZlfRJq4iEE4xDn"
}

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/account/close/confirm',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Authorization' => 'Bearer {token}',
        ],
        'json' => [
            'code' => '8f8e8VZlfRJq4iEE4xDn',
        ],
    ]
);
$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/account/close/confirm'
payload = {
    "code": "8f8e8VZlfRJq4iEE4xDn"
}
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": "Account will be closed on 05 Sep 2020 00:00:00, 1 week from now.If you want, you could abort this action until above *  date from your account profile anytime, or just contact us"
    }
}

Example response (403):

{
    "data": {
        "message": "This type of operation is not allowed."
    }
}

Example response (404):

{
    "data": {
        "message": "No query results."
    }
}

Example response (409):

{
    "message": "Platform not user owner."
}

Example response (422):

{
    "message": "The given data was invalid.",
    "errors": {
        "code": [
            "The code must be 20 characters."
        ]
    }
}

HTTP Request

POST /api/v1/user/{user}/account/close/confirm

URL Parameters

Parameter Status Description
user required The user ID.

Body Parameters

Parameter Type Status Description
code string required (size:20).

User Self Delete Abort

Use this endpoint to abort Self Delete Queue for User if initiated.

Example request:

curl -X POST \
    "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/account/close/abort" \
    -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/account/close/abort"
);

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/account/close/abort',
    [
        '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/account/close/abort'
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'Bearer {token}'
}
response = requests.request('POST', url, headers=headers)
response.json()

Example response (200):

{
    "message": "Self Delete Account procedure aborted."
}

Example response (409):

{
    "message": "Platform not user owner."
}

Example response (410):

{
    "message": "Your account is not scheduled for Self Delete."
}

Example response (412):

{
    "message": "Self Delete Account procedure unavailable due available balance"
}

HTTP Request

POST /api/v1/user/{user}/account/close/abort

URL Parameters

Parameter Status Description
user required The user ID.

User Self Lock Confirm

Use this endpoint to confirm user lock account.

Example request:

curl -X POST \
    "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/account/lock/confirm" \
    -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/account/lock/confirm"
);

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/account/lock/confirm',
    [
        '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/account/lock/confirm'
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'Bearer {token}'
}
response = requests.request('POST', url, headers=headers)
response.json()

Example response (200):

{
    "message": "Self lock confirmed successfully"
}

Example response (409):

{
    "message": "Platform not user owner."
}

HTTP Request

POST /api/v1/user/{user}/account/lock/confirm

URL Parameters

Parameter Status Description
user required The user ID.

User Options

Use this endpoint to change account options.

Example request:

curl -X POST \
    "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/account/options" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -H "Authorization: Bearer {token}" \
    -d '{"language":"en","theme":"dark","layout":"expanded"}'
const url = new URL(
    "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/account/options"
);

let headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "Authorization": "Bearer {token}",
};

let body = {
    "language": "en",
    "theme": "dark",
    "layout": "expanded"
}

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/account/options',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Authorization' => 'Bearer {token}',
        ],
        'json' => [
            'language' => 'en',
            'theme' => 'dark',
            'layout' => 'expanded',
        ],
    ]
);
$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/account/options'
payload = {
    "language": "en",
    "theme": "dark",
    "layout": "expanded"
}
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": "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
    }
}

HTTP Request

POST /api/v1/user/{user}/account/options

URL Parameters

Parameter Status Description
user required The user ID.

Body Parameters

Parameter Type Status Description
language string optional The user language - (in:en,de,ro).
theme string optional The user theme - (in:light,dark,amoled).
layout string optional The user layout - (in:compact,expanded).

User Platform

APIs for managing user platforms

All Platform

Requires authentication Use this endpoint to get all platforms.

Example request:

curl -X GET \
    -G "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/platform/all" \
    -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/platform/all"
);

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/platform/all',
    [
        '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/platform/all'
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": "b5a06762-0af5-4e18-89fd-1eb5b0f4e6e6",
            "code": "CCPRO",
            "name": "CryptoCoin",
            "color_code": "#13CD88",
            "info": [],
            "urls": {
                "website": "https:\/\/app.cryptocoin.pro\/",
                "widget": "http:\/\/dev-checkout.cryptocoin-app.test\/order\/ccpro"
            },
            "tags": []
        }
    ]
}

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}/platform/all

URL Parameters

Parameter Status Description
user required The user ID.

User Platform Index

Requires authentication Use this endpoint to get user platforms.

Example request:

curl -X GET \
    -G "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/platform" \
    -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/platform"
);

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/platform',
    [
        '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/platform'
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'Bearer {token}'
}
response = requests.request('GET', url, headers=headers)
response.json()

Example response (200):

{
    "data": [
        {
            "active": true,
            "status": "active",
            "externalPlatform": {
                "id": "b5a06762-0af5-4e18-89fd-1eb5b0f4e6e6",
                "code": "CCPRO",
                "name": "CryptoCoin",
                "color_code": "#13CD88",
                "urls": {
                    "website": "https:\/\/app.cryptocoin.pro\/",
                    "widget": "http:\/\/dev-checkout.cryptocoin-app.test\/order\/ccpro"
                }
            },
            "lastLoginAt": 1648725969,
            "createdAt": 1647866644
        }
    ]
}

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}/platform

URL Parameters

Parameter Status Description
user required The user ID.

User Platform Show

Requires authentication Use this endpoint to get user platform.

Example request:

curl -X GET \
    -G "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/platform/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/platform/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/platform/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/platform/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": {
        "active": true,
        "status": "active",
        "externalPlatform": {
            "id": "b5a06762-0af5-4e18-89fd-1eb5b0f4e6e6",
            "code": "CCPRO",
            "name": "CryptoCoin",
            "color_code": "#13CD88",
            "urls": {
                "website": "https:\/\/app.cryptocoin.pro\/",
                "widget": "http:\/\/dev-checkout.cryptocoin-app.test\/order\/ccpro"
            }
        },
        "lastLoginAt": 1648725969,
        "createdAt": 1647866644
    }
}

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}/platform/{platform}

URL Parameters

Parameter Status Description
user required The user ID.
platform required The platform ID.

User Platform Account Link

Requires authentication Use this endpoint to link account with a platform.

Example request:

curl -X POST \
    "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/platform/aa7a66a2-fbb5-422e-bc52-7912fa2c96f9/link" \
    -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/platform/aa7a66a2-fbb5-422e-bc52-7912fa2c96f9/link"
);

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/platform/aa7a66a2-fbb5-422e-bc52-7912fa2c96f9/link',
    [
        '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/platform/aa7a66a2-fbb5-422e-bc52-7912fa2c96f9/link'
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'Bearer {token}'
}
response = requests.request('POST', url, headers=headers)
response.json()

Example response (200):

{
    "message": "Platform account successfully linked"
}

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}/platform/{platform}/link

URL Parameters

Parameter Status Description
user required The user ID.
platform required The platform ID.

User Platform Account Lock

Requires authentication Use this endpoint to lock account on a platform.

Example request:

curl -X POST \
    "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/platform/aa7a66a2-fbb5-422e-bc52-7912fa2c96f9/lock" \
    -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/platform/aa7a66a2-fbb5-422e-bc52-7912fa2c96f9/lock"
);

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/platform/aa7a66a2-fbb5-422e-bc52-7912fa2c96f9/lock',
    [
        '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/platform/aa7a66a2-fbb5-422e-bc52-7912fa2c96f9/lock'
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'Bearer {token}'
}
response = requests.request('POST', url, headers=headers)
response.json()

Example response (200):

{
    "message": "Platform account successfully locked"
}

Example response (401):

{
    "error": "Unauthenticated."
}

Example response (403):

{
    "message": "Your account is inactive."
}

Example response (403):

{
    "message": "Platform account already locked"
}

Example response (409):

{
    "message": "This action is unauthorized."
}

HTTP Request

POST /api/v1/user/{user}/platform/{platform}/lock

URL Parameters

Parameter Status Description
user required The user ID.
platform required The platform ID.

User Platform Account Unlink

Requires authentication Use this endpoint to unlink account from a platform.

Example request:

curl -X POST \
    "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/platform/aa7a66a2-fbb5-422e-bc52-7912fa2c96f9/unlink" \
    -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/platform/aa7a66a2-fbb5-422e-bc52-7912fa2c96f9/unlink"
);

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/platform/aa7a66a2-fbb5-422e-bc52-7912fa2c96f9/unlink',
    [
        '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/platform/aa7a66a2-fbb5-422e-bc52-7912fa2c96f9/unlink'
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'Bearer {token}'
}
response = requests.request('POST', url, headers=headers)
response.json()

Example response (200):

{
    "message": "Platform account successfully unlinked"
}

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}/platform/{platform}/unlink

URL Parameters

Parameter Status Description
user required The user ID.
platform required The platform ID.

User Platform Account Revoke KYC Access

Requires authentication Use this endpoint to revoke access to your KYC data from a platform.

Example request:

curl -X POST \
    "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/platform/aa7a66a2-fbb5-422e-bc52-7912fa2c96f9/kyc-access/revoke" \
    -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/platform/aa7a66a2-fbb5-422e-bc52-7912fa2c96f9/kyc-access/revoke"
);

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/platform/aa7a66a2-fbb5-422e-bc52-7912fa2c96f9/kyc-access/revoke',
    [
        '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/platform/aa7a66a2-fbb5-422e-bc52-7912fa2c96f9/kyc-access/revoke'
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'Bearer {token}'
}
response = requests.request('POST', url, headers=headers)
response.json()

Example response (200):

{
    "message": "KYC access successfully revoked"
}

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}/platform/{platform}/kyc-access/revoke

URL Parameters

Parameter Status Description
user required The user ID.
platform required The platform ID.

User Platform Account Accept/Reject KYC Access

Requires authentication Use this endpoint to accept or reject KYC access request

Example request:

curl -X POST \
    "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/platform/aa7a66a2-fbb5-422e-bc52-7912fa2c96f9/kyc-access/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/66de494e-6791-4290-996c-32f42041fbf4/platform/aa7a66a2-fbb5-422e-bc52-7912fa2c96f9/kyc-access/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/66de494e-6791-4290-996c-32f42041fbf4/platform/aa7a66a2-fbb5-422e-bc52-7912fa2c96f9/kyc-access/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/66de494e-6791-4290-996c-32f42041fbf4/platform/aa7a66a2-fbb5-422e-bc52-7912fa2c96f9/kyc-access/accept'
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'Bearer {token}'
}
response = requests.request('POST', url, headers=headers)
response.json()

Example response (200):

{
    "message": "KYC access successfully accepted"
}

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}/platform/{platform}/kyc-access/{action}

URL Parameters

Parameter Status Description
user required The user ID.
platform required The platform ID.
action required The action type (accept|reject).

Vesting

APIs for managing user vestings

Vesting Assets

Requires authentication Use this endpoint to get user vesting Assets.

Example request:

curl -X GET \
    -G "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/vesting/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/vesting/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/vesting/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/vesting/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": "5"
            },
            "orders": 3,
            "distributed": {
                "batches": 9,
                "amount": 1.132528071115472
            },
            "pending": [
                {
                    "id": "39d7de27-8675-4e2d-8ad7-69b2df5c749c",
                    "batch": "1",
                    "percent": "20",
                    "amount": "0.2",
                    "status": "pending",
                    "vestedAt": 1648893600,
                    "createdAt": 1650734233
                }
            ]
        }
    ]
}

Example response (401):

{
    "error": "Unauthenticated."
}

Example response (403):

{
    "message": "Your account is inactive."
}

HTTP Request

GET /api/v1/user/{user}/vesting/assets/{asset?}

URL Parameters

Parameter Status Description
user required The user ID.
asset optional The asset symbol.

Vesting Index

Requires authentication Use this endpoint to get user vestings.

Example request:

curl -X GET \
    -G "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/vesting?status=distributed&asset=ETH&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/vesting"
);

let params = {
    "status": "distributed",
    "asset": "ETH",
    "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/vesting',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Authorization' => 'Bearer {token}',
        ],
        'query' => [
            'status'=> 'distributed',
            'asset'=> 'ETH',
            '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/vesting'
params = {
  'status': 'distributed',
  'asset': 'ETH',
  '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": "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 (403):

{
    "message": "Your account is inactive."
}

Example response (409):

{
    "message": "This action is unauthorized."
}

HTTP Request

GET /api/v1/user/{user}/vesting

URL Parameters

Parameter Status Description
user required The user ID.

Query Parameters

Parameter Status Description
status optional Filter by Status.
asset optional Filter by Asset.
platform optional Filter by Platform.

Vesting Show

Requires authentication Use this endpoint to get a user vesting.

Example request:

curl -X GET \
    -G "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/vesting/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/vesting/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/vesting/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/vesting/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": "7d923569-f0da-49ad-aa80-a4f7f7ef3f5d",
        "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": "Bitcoin",
            "symbol": "BTC",
            "alias": "XBT",
            "type": "coin",
            "precision": "6"
        },
        "order": {
            "id": "f3112f3d-2ac8-4e9c-a170-2dc236402306",
            "publicId": "BO4PL7YB",
            "status": "APPROVED",
            "statusReason": null,
            "type": "coin",
            "typeOperation": "in",
            "typeOperationName": "buy_with_fiat",
            "fromSymbol": "EUR",
            "fromAmount": "55387.1712044280000000000000000",
            "rate": "55387.1712044280000000000000000",
            "toSymbol": "BTC",
            "toAmount": "1.0000000000000000000000000",
            "fromAsset": {
                "name": "Euro",
                "symbol": "EUR",
                "alias": null,
                "type": "fiat",
                "precision": "2"
            },
            "toAsset": {
                "name": "Bitcoin",
                "symbol": "BTC",
                "alias": "XBT",
                "type": "coin",
                "precision": "6"
            },
            "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": 1649239283,
                "currency": null,
                "amount": null,
                "feePercent": "0",
                "feeAmount": "0",
                "feeOnTop": true,
                "showFee": false,
                "proofUploaded": null
            },
            "commissions": {
                "percent": "20.0000000000000000000000000",
                "amount": "11077.4342000000000000000000000"
            },
            "mode": {
                "type": "otc",
                "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": 1649232083
        },
        "vestedAt": 1649232125,
        "createdAt": 1649232125
    }
}

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}/vesting/{vesting}

URL Parameters

Parameter Status Description
user required The user ID.
vesting required The vesting ID.

Wallet

APIs for managing user wallets

Wallet Create

Requires authentication Use this endpoint to create a wallet.

Example request:

curl -X POST \
    "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/wallet" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -H "Authorization: Bearer {token}" \
    -d '{"address":"0xEfC0c81abd46941766E2Ae9a30c57DF75b161111","memo":"123456","alias":"Thanos","coin":"ETH","network":"ETH"}'
const url = new URL(
    "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/wallet"
);

let headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "Authorization": "Bearer {token}",
};

let body = {
    "address": "0xEfC0c81abd46941766E2Ae9a30c57DF75b161111",
    "memo": "123456",
    "alias": "Thanos",
    "coin": "ETH",
    "network": "ETH"
}

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/wallet',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Authorization' => 'Bearer {token}',
        ],
        'json' => [
            'address' => '0xEfC0c81abd46941766E2Ae9a30c57DF75b161111',
            'memo' => '123456',
            'alias' => 'Thanos',
            'coin' => '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/wallet'
payload = {
    "address": "0xEfC0c81abd46941766E2Ae9a30c57DF75b161111",
    "memo": "123456",
    "alias": "Thanos",
    "coin": "ETH",
    "network": "ETH"
}
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": "0b5d1b5c-a84e-459d-86d1-df2c0619f4e6",
        "status": "CONFIRMED",
        "alias": "Thanos",
        "address": "0xEfC0c81abd46941766E2Ae9a30c57DF75b161111",
        "memo": null,
        "coin": "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}"
            }
        },
        "externalPlatform": {
            "code": "CCPRO",
            "name": "CryptoCoin",
            "url": "https:\/\/app.cryptocoin.pro"
        },
        "createdAt": 1555335338
    }
}

Example response (401):

{
    "error": "Unauthenticated."
}

Example response (403):

{
    "message": "Your account is inactive."
}

Example response (422):

{
    "message": "The given data was invalid.",
    "errors": {
        "address": [
            "The address has already been taken."
        ]
    }
}

HTTP Request

POST /api/v1/user/{user}/wallet

URL Parameters

Parameter Status Description
user required The user ID.

Body Parameters

Parameter Type Status Description
address string required The wallet address - (alpha_num|unique:wallets).
memo string optional The wallet memo if coin supports it - (alpha_num).
alias string required The wallet alias - (string|max:191|unique:user->wallets).
coin string required The wallet coin symbol - (in:coins->symbol).
network string optional The wallet network code - (in:coins->networks->code).

Wallet Index

Requires authentication Use this endpoint to get wallet index.

Example request:

curl -X GET \
    -G "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/wallet?status=confirmed&coin=ETH&network=ETH&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/wallet"
);

let params = {
    "status": "confirmed",
    "coin": "ETH",
    "network": "ETH",
    "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/wallet',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Authorization' => 'Bearer {token}',
        ],
        'query' => [
            'status'=> 'confirmed',
            'coin'=> 'ETH',
            'network'=> 'ETH',
            '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/wallet'
params = {
  'status': 'confirmed',
  'coin': 'ETH',
  'network': 'ETH',
  '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": "0b5d1b5c-a84e-459d-86d1-df2c0619f4e6",
            "status": "CONFIRMED",
            "alias": "Thanos",
            "address": "0xEfC0c81abd46941766E2Ae9a30c57DF75b161111",
            "memo": null,
            "coin": "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}"
                }
            },
            "externalPlatform": {
                "code": "CCPRO",
                "name": "CryptoCoin",
                "url": "https:\/\/app.cryptocoin.pro"
            },
            "createdAt": 1555335338
        }
    ]
}

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}/wallet

URL Parameters

Parameter Status Description
user required The user ID.

Query Parameters

Parameter Status Description
status optional Filter by Status.
coin optional Filter by Coin.
network optional Filter by Network.
company optional Filter by Company.
platform optional Filter by Platform.

Wallet Shows

Requires authentication Use this endpoint to get a wallet.

Example request:

curl -X GET \
    -G "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/wallet/0b5d1b5c-a84e-459d-86d1-df2c0619f4e6" \
    -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/wallet/0b5d1b5c-a84e-459d-86d1-df2c0619f4e6"
);

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/wallet/0b5d1b5c-a84e-459d-86d1-df2c0619f4e6',
    [
        '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/wallet/0b5d1b5c-a84e-459d-86d1-df2c0619f4e6'
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": "0b5d1b5c-a84e-459d-86d1-df2c0619f4e6",
        "status": "CONFIRMED",
        "alias": "Thanos",
        "address": "0xEfC0c81abd46941766E2Ae9a30c57DF75b161111",
        "memo": null,
        "coin": "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}"
            }
        },
        "externalPlatform": {
            "code": "CCPRO",
            "name": "CryptoCoin",
            "url": "https:\/\/app.cryptocoin.pro"
        },
        "createdAt": 1555335338
    }
}

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}/wallet/{wallet}

URL Parameters

Parameter Status Description
user required The user ID.
wallet required The wallet ID.

Wallet Update

Requires authentication Use this endpoint to update a wallet.

Example request:

curl -X POST \
    "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/wallet/0b5d1b5c-a84e-459d-86d1-df2c0619f4e6" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -H "Authorization: Bearer {token}" \
    -d '{"alias":"Thanos"}'
const url = new URL(
    "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/wallet/0b5d1b5c-a84e-459d-86d1-df2c0619f4e6"
);

let headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "Authorization": "Bearer {token}",
};

let body = {
    "alias": "Thanos"
}

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/wallet/0b5d1b5c-a84e-459d-86d1-df2c0619f4e6',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Authorization' => 'Bearer {token}',
        ],
        'json' => [
            'alias' => 'Thanos',
        ],
    ]
);
$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/wallet/0b5d1b5c-a84e-459d-86d1-df2c0619f4e6'
payload = {
    "alias": "Thanos"
}
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": "0b5d1b5c-a84e-459d-86d1-df2c0619f4e6",
        "status": "CONFIRMED",
        "alias": "Thanos",
        "address": "0xEfC0c81abd46941766E2Ae9a30c57DF75b161111",
        "memo": null,
        "coin": "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}"
            }
        },
        "externalPlatform": {
            "code": "CCPRO",
            "name": "CryptoCoin",
            "url": "https:\/\/app.cryptocoin.pro"
        },
        "createdAt": 1555335338
    }
}

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": {
        "address": [
            "The address has already been taken."
        ]
    }
}

HTTP Request

POST /api/v1/user/{user}/wallet/{wallet}

URL Parameters

Parameter Status Description
user required The user ID.
wallet required The wallet ID.

Body Parameters

Parameter Type Status Description
alias string required The wallet alias - (string|max:191|unique:user->wallets).

Wallet Destroy

Requires authentication Use this endpoint to destroy wallet.

Example request:

curl -X DELETE \
    "https://appapi-public.cryptocoin.pro/api/v1/user/66de494e-6791-4290-996c-32f42041fbf4/wallet/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/wallet/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/wallet/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/wallet/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 wallet 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 wallet has been already used in previous actions."
}

Example response (409):

{
    "message": "This action is unauthorized."
}

HTTP Request

DELETE /api/v1/user/{user}/wallet/{wallet}

URL Parameters

Parameter Status Description
user required The user ID.
wallet required The wallet ID.