Introduction
Welcome to our API documentation!
Authenticating requests
This API is authenticated by sending an Authorization
header with the value "Bearer {your-token}"
.
You can retrieve your token by visiting your dashboard and clicking Create New Token.
Exchange
Create Exchange
Create an exchange and receive a bank or crypto address with / as reference code.
requires authentication
Example request:
curl -X POST \
"https://coinnexus.ch/api/exchangePost" \
-H "Authorization: Bearer {YOUR_AUTH_KEY}" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"customer":{"iban":"NL35ABNA9732254661","cryptoAddress":"1bSUZAzYR24i1jqkKaHg1JQzN5o6Kj1Vh","bic":"BNPABGSX","fullName":"Madeleine Kanz","address":"Brunnenstr. 3","zip":"8610","city":"Uster","country":"CH","email":"madeleine.kanz@example.com"},"lang":"en","type":"buy","crypto":"btc","cryptoAmount":"0.053","fiat":"chf","fiatAmount":"50.21"}'
const url = new URL(
"https://coinnexus.ch/api/exchangePost"
);
let headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"customer": {
"iban": "NL35ABNA9732254661",
"cryptoAddress": "1bSUZAzYR24i1jqkKaHg1JQzN5o6Kj1Vh",
"bic": "BNPABGSX",
"fullName": "Madeleine Kanz",
"address": "Brunnenstr. 3",
"zip": "8610",
"city": "Uster",
"country": "CH",
"email": "madeleine.kanz@example.com"
},
"lang": "en",
"type": "buy",
"crypto": "btc",
"cryptoAmount": "0.053",
"fiat": "chf",
"fiatAmount": "50.21"
}
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://coinnexus.ch/api/exchangePost',
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'customer' => [
'iban' => 'NL35ABNA9732254661',
'cryptoAddress' => '1bSUZAzYR24i1jqkKaHg1JQzN5o6Kj1Vh',
'bic' => 'BNPABGSX',
'fullName' => 'Madeleine Kanz',
'address' => 'Brunnenstr. 3',
'zip' => '8610',
'city' => 'Uster',
'country' => 'CH',
'email' => 'madeleine.kanz@example.com',
],
'lang' => 'en',
'type' => 'buy',
'crypto' => 'btc',
'cryptoAmount' => '0.053',
'fiat' => 'chf',
'fiatAmount' => '50.21',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://coinnexus.ch/api/exchangePost'
payload = {
"customer": {
"iban": "NL35ABNA9732254661",
"cryptoAddress": "1bSUZAzYR24i1jqkKaHg1JQzN5o6Kj1Vh",
"bic": "BNPABGSX",
"fullName": "Madeleine Kanz",
"address": "Brunnenstr. 3",
"zip": "8610",
"city": "Uster",
"country": "CH",
"email": "madeleine.kanz@example.com"
},
"lang": "en",
"type": "buy",
"crypto": "btc",
"cryptoAmount": "0.053",
"fiat": "chf",
"fiatAmount": "50.21"
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Example response (200):
{
"id": 142,
"p_accountHolder": "Coinnexus SA",
"p_bic": "BCNNCH22",
"p_bankName": "BCN, Switzerland",
"p_bankCountry": "CH",
"lang": "en",
"type": "buy",
"crypto": "BTC",
"cryptoAmount": null,
"fiat": "CHF",
"fiatAmount": "50.21",
"c_iban": "NL35ABNA9732254661",
"c_cryptoAddress": "1bSUZAzYR24i1jqkKaHg1JQzN5o6Kj1Vh",
"c_bic": "BNPABGSX",
"c_fullName": "Madeleine Kanz",
"c_address": "Brunnenstr. 3",
"c_zip": "8610",
"c_city": "Uster",
"c_country": "CH",
"c_email": "madeleine.kanz@example.com",
"refAmount": 50.21,
"p_iban": "CH44 0076 6000 1034 4164 1",
"p_reference": "KmWB",
"originalPaymentStatus": "new",
"updated_at": "2020-04-15T11:29:21.000000Z",
"created_at": "2020-04-15T11:29:20.000000Z"
}
Request
POST
api/exchangePost
Body Parameters
customer.iban
string
Customer
customer.cryptoAddress
string optional
Customer (required_if: type=buy)
customer.bic
string optional
Customer (required_if: type=sell)
customer.fullName
string optional
Customer (required_if: type=sell)
customer.address
string optional
Customer (required_if: type=sell)
customer.zip
string optional
Customer (required_if: type=sell)
customer.city
string optional
Customer (required_if: type=sell)
customer.country
string optional
Customer (required_if: type=sell)
customer.email
string
Customer
lang
string
The lang of your exchange.
type
string
The type (buy,sell) of your exchange.
crypto
string optional
The cryptocurrency (btc) of your exchange.
cryptoAmount
string optional
The amount in crypto of your exchange.
fiat
string optional
string The fiatcurrency (chf,eur,usd) of your exchange.
fiatAmount
string optional
The amount in crypto of your exchange.
Check Exchange Limit
Check exchange limit of 1000 CHF per year by bank or crypto address.
requires authentication
Example request:
curl -X POST \
"https://coinnexus.ch/api/checkLimit" \
-H "Authorization: Bearer {YOUR_AUTH_KEY}" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"iban":"NL35ABNA9732254661","cryptoAddress":"1bSUZAzYR24i1jqkKaHg1JQzN5o6Kj1Vh","crypto":"btc","cryptoAmount":"0.3456"}'
const url = new URL(
"https://coinnexus.ch/api/checkLimit"
);
let headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"iban": "NL35ABNA9732254661",
"cryptoAddress": "1bSUZAzYR24i1jqkKaHg1JQzN5o6Kj1Vh",
"crypto": "btc",
"cryptoAmount": "0.3456"
}
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://coinnexus.ch/api/checkLimit',
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'iban' => 'NL35ABNA9732254661',
'cryptoAddress' => '1bSUZAzYR24i1jqkKaHg1JQzN5o6Kj1Vh',
'crypto' => 'btc',
'cryptoAmount' => '0.3456',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://coinnexus.ch/api/checkLimit'
payload = {
"iban": "NL35ABNA9732254661",
"cryptoAddress": "1bSUZAzYR24i1jqkKaHg1JQzN5o6Kj1Vh",
"crypto": "btc",
"cryptoAmount": "0.3456"
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Example response (200):
{
"withinLimit": true
}
Request
POST
api/checkLimit
Body Parameters
iban
string optional
Iban to check limit.
cryptoAddress
string optional
Crypto address to check limit.
crypto
string optional
Cryptocurrency to check limit. (btc)
cryptoAmount
string optional
Crypto amount to check limit.
Show Exchange
Show an existing exchange. The 'originalPaymentStatus' can be 'new' (after invoice created), 'paidUnconfirmed' (outstanding confirmation), 'proceeding' (internal payment proceeding), 'paidIn' or 'paidOut'.
requires authentication
Example request:
curl -X GET \
-G "https://coinnexus.ch/api/exchange/{id}" \
-H "Authorization: Bearer {YOUR_AUTH_KEY}" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"id":"345"}'
const url = new URL(
"https://coinnexus.ch/api/exchange/{id}"
);
let headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"id": "345"
}
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://coinnexus.ch/api/exchange/{id}',
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'id' => '345',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://coinnexus.ch/api/exchange/{id}'
payload = {
"id": "345"
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, json=payload)
response.json()
Example response (200):
{
"id": 142,
"p_accountHolder": "Coinnexus SA",
"p_bic": "BCNNCH22",
"p_bankName": "BCN, Switzerland",
"p_bankCountry": "CH",
"lang": "en",
"type": "buy",
"crypto": "BTC",
"cryptoAmount": null,
"fiat": "CHF",
"fiatAmount": "50.21",
"c_iban": "NL35ABNA9732254661",
"c_cryptoAddress": "1bSUZAzYR24i1jqkKaHg1JQzN5o6Kj1Vh",
"c_bic": "BNPABGSX",
"c_fullName": "Madeleine Kanz",
"c_address": "Brunnenstr. 3",
"c_zip": "8610",
"c_city": "Uster",
"c_country": "CH",
"c_email": "madeleine.kanz@example.com",
"refAmount": 50.21,
"p_iban": "CH44 0076 6000 1034 4164 1",
"p_reference": "KmWB",
"originalPaymentStatus": "paidOut",
"updated_at": "2020-04-15T11:29:21.000000Z",
"created_at": "2020-04-15T11:29:20.000000Z"
}
Request
GET
api/exchange/{id}
Body Parameters
id
string
Exchange ID
Check Exchange Rate
Check exchange rate by crypto and fiat pair.
Example request:
curl -X GET \
-G "https://coinnexus.ch/api/rate/{currency_pair}" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"currency_pair":"chf_btc, btc_chf, btc_eur, ..."}'
const url = new URL(
"https://coinnexus.ch/api/rate/{currency_pair}"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"currency_pair": "chf_btc, btc_chf, btc_eur, ..."
}
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://coinnexus.ch/api/rate/{currency_pair}',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'currency_pair' => 'chf_btc, btc_chf, btc_eur, ...',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://coinnexus.ch/api/rate/{currency_pair}'
payload = {
"currency_pair": "chf_btc, btc_chf, btc_eur, ..."
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, json=payload)
response.json()
Example response (200):
{
"name": "Euro",
"cryptoCode": "BTC",
"currencyPair": "BTC_EUR",
"code": "EUR",
"rate": 6318.163170000001,
"fee": "0.0197",
"fixedFee": "3.00"
}
Request
GET
api/rate/{currency_pair}
Body Parameters
currency_pair
string optional
Currency Pair