Introduction
This documentation aims to provide all the information you need to work with our API.
Authenticating requests
To authenticate requests, include a X-Munzen-Key
header with the value "your-token"
.
All authenticated endpoints are marked with a requires authentication
badge in the documentation below.
To get your API key contact with us.
Merchant API
API methods for our merchants.
Invoices
Actions with invoices.
Get invoice by id
requires authentication
Shows information about invoice with provided ID.
Example request:
const url = new URL(
"https://crp-backend.munzen.io/api/v1/merchant/invoices/48e81488-9fb7-4771-a599-8d99df10456c"
);
const params = {
"timestamp": "1681897688",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"X-Munzen-Key": "cahedD8f5164EaVkZ3gvbP6",
"Content-Type": "application/json",
"Accept": "application/json",
"X-Munzen-Signature": "{YOUR_REQUEST_SIGNATURE}",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
{
"data": {
"id": "0196626d-73b8-72b2-8089-8f9eea1e7dbe",
"short_id": "Yu8cDwLX4nvPFVnYMje7J",
"number": 32851181,
"price_currency": "EUR",
"price_amount": "85.85",
"pay_currency": "BCH",
"pay_amount": "720.94667359",
"exchange_rate": "8.39792069",
"exchange_rate_expires_at": "2025-04-23T11:49:22.000000Z",
"address": "vK9YEhT705fYKONlrvZW5PxsuMBJjy",
"address_tag": "ov2kM",
"address_uri": "bitcoincash:vK9YEhT705fYKONlrvZW5PxsuMBJjy?amount=720.94667359",
"paid_amount": "12030166.652762",
"paid_amount_minus_fee": "12030111.500341",
"transaction_hash": null,
"transaction_risk_score": null,
"transactions": [],
"received_currency": "BCH",
"received_amount": "12030111.500341",
"conversion_exchange_rate": null,
"fees": {
"processing_invoice": {
"currency": "BCH",
"amount": "55.15242053"
}
},
"fiat_amounts": [],
"external_id": "965",
"customer_external_id": "0aIdBPKTxsNAkdSu",
"external_data": "{\"foo\":\"bar\"}",
"name": "Prof. Mohammed Dickens",
"description": "Gunner Roob",
"redirect_url": "https://schaden.biz/eum-quam-sed-sit-iusto-et.html",
"failure_redirect_url": "https://gorczany.biz/possimus-debitis-exercitationem-et-rerum-eligendi-magnam-mollitia.html",
"created_at": "2025-04-23T11:34:22.000000Z",
"expires_at": "2025-04-23T12:04:22.000000Z",
"status": "paid_partially",
"status_context": "underpaid",
"status_reason": null,
"can_be_paid_partially": true
},
"error": null
}
Example response (401, Unauthenticated request):
{
"data": null,
"error": {
"code": "authentication_error",
"message": "Unauthenticated."
}
}
Example response (404, Requested resource was not found):
{
"data": null,
"error": {
"code": "http_error",
"message": "Not found."
}
}
Example response (422, Non-UUID invoice ID in url):
{
"data": null,
"error": {
"code": "validation_error",
"message": "Invoice ID url param must be valid UUID."
}
}
Example response (500, Internal server error):
{
"data": null,
"error": {
"code": "internal_error",
"message": "..."
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get invoice by externalId
requires authentication
Shows information about invoice with provided externalId.
Example request:
const url = new URL(
"https://crp-backend.munzen.io/api/v1/merchant/invoices/by-external-id/48e899dfd9gb453sds10456c"
);
const params = {
"timestamp": "1681897688",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"X-Munzen-Key": "bEDkf6Z8Pv4ghca3V61ade5",
"Content-Type": "application/json",
"Accept": "application/json",
"X-Munzen-Signature": "{YOUR_REQUEST_SIGNATURE}",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
{
"data": {
"id": "0196626d-73f4-7196-84f9-0f7b15225885",
"short_id": "wuFnNJFwAGau3U8ZMje7J",
"number": 97401000,
"price_currency": "UAH",
"price_amount": "3602751.92",
"pay_currency": "USDCBEP20",
"pay_amount": "5676962.5216589",
"exchange_rate": "1.57572951",
"exchange_rate_expires_at": "2025-04-23T11:48:22.000000Z",
"address": "CYd0ubhJBeJFU4Ug8FdeJvCmvNSbNP",
"address_tag": "zgR8T",
"address_uri": "ethereum:CYd0ubhJBeJFU4Ug8FdeJvCmvNSbNP?amount=5676962.5216589",
"paid_amount": "60160768.2833",
"paid_amount_minus_fee": "59749756.196732",
"transaction_hash": null,
"transaction_risk_score": null,
"transactions": [],
"received_currency": "USDCBEP20",
"received_amount": "59749756.196732",
"conversion_exchange_rate": null,
"fees": {
"processing_invoice": {
"currency": "USDCBEP20",
"amount": "411012.0865681"
}
},
"fiat_amounts": [],
"external_id": "220",
"customer_external_id": "kI1WiqLmGu29xEnQ",
"external_data": "{\"foo\":\"bar\"}",
"name": "Kacie Doyle",
"description": "Earl Gorczany Jr.",
"redirect_url": "https://bailey.net/incidunt-quos-dolorum-commodi-amet-sit-velit-quia-amet.html",
"failure_redirect_url": "http://mertz.com/repellendus-sunt-aut-minus-dolores-et-id.html",
"created_at": "2025-04-23T11:34:22.000000Z",
"expires_at": "2025-04-23T12:01:22.000000Z",
"status": "refunded",
"status_context": "underpaid",
"status_reason": null,
"can_be_paid_partially": true
},
"error": null
}
Example response (401, Unauthenticated request):
{
"data": null,
"error": {
"code": "authentication_error",
"message": "Unauthenticated."
}
}
Example response (404, Requested resource was not found):
{
"data": null,
"error": {
"code": "http_error",
"message": "Not found."
}
}
Example response (500, Internal server error):
{
"data": null,
"error": {
"code": "internal_error",
"message": "..."
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create invoice
requires authentication
Creates new invoice with provided data and shows information about it.
Example request:
const url = new URL(
"https://crp-backend.munzen.io/api/v1/merchant/invoices"
);
const headers = {
"X-Munzen-Key": "6cg8ZV5aDda13f4kEebvPh6",
"Content-Type": "application/json",
"Accept": "application/json",
"X-Munzen-Signature": "{YOUR_REQUEST_SIGNATURE}",
};
let body = {
"price_currency": "AURORANEAR",
"price_amount": 291.96108,
"pay_currency": "ETHBASE",
"customer_external_id": "48276dd8-1e88-49fb-950c-f64bff01a66d",
"external_data": "{\"param1\":\"value1\",\"param2\":\"value2\"}",
"external_id": "57c5e8a7-d2dd-455b-9e4f-beb449d0989a",
"customer_email": "example@gmail.com",
"send_cheque": false,
"name": "Your invoice name",
"description": "Your invoice description",
"redirect_url": "https:\/\/www.runolfsson.com\/similique-dignissimos-ut-animi-quisquam-voluptate-architecto-id",
"failure_redirect_url": "http:\/\/little.org\/sapiente-omnis-repellendus-odit-laudantium-facilis.html",
"timestamp": 1681897688
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Example response (200):
{
"data": {
"id": "0196626d-742b-7026-878d-f941ab1e7c22",
"short_id": "qxoznmvpMCzCfrRZMje7J",
"number": 1019328,
"price_currency": "KZT",
"price_amount": "8400.55",
"pay_currency": "ETHBASE",
"pay_amount": "59398.192164654",
"exchange_rate": "7.07075155",
"exchange_rate_expires_at": "2025-04-23T11:47:22.000000Z",
"address": "ulu87t3Dw6qDFnm4kKeQBE5eWHgF4H",
"address_tag": "uK5Oj",
"address_uri": "ethereum:ulu87t3Dw6qDFnm4kKeQBE5eWHgF4H?amount=59398.192164654",
"paid_amount": "66.43755939",
"paid_amount_minus_fee": "-2351.0688617114",
"transaction_hash": null,
"transaction_risk_score": null,
"transactions": [],
"received_currency": "ETHBASE",
"received_amount": "-2351.0688617114",
"conversion_exchange_rate": null,
"fees": {
"processing_invoice": {
"currency": "ETHBASE",
"amount": "2417.5064211014"
}
},
"fiat_amounts": [],
"external_id": "878",
"customer_external_id": "yFPNBwLFJ4ZzPxUQ",
"external_data": "{\"foo\":\"bar\"}",
"name": "Johnathan Grant",
"description": "Derick Wilkinson",
"redirect_url": "http://langworth.com/tenetur-veritatis-cumque-repellendus-est-sit",
"failure_redirect_url": "http://jones.com/tenetur-nesciunt-quia-officia-quam-deserunt",
"created_at": "2025-04-23T11:34:22.000000Z",
"expires_at": "2025-04-23T11:54:22.000000Z",
"status": "created",
"status_context": "underpaid",
"status_reason": null,
"can_be_paid_partially": false
},
"error": null
}
Example response (401, Unauthenticated request):
{
"data": null,
"error": {
"code": "authentication_error",
"message": "Unauthenticated."
}
}
Example response (422, Validation error):
{
"data": null,
"error": {
"code": "validation_error",
"message": "The given data was invalid.",
"payload": {
"field": [
"error_1",
"error_2"
]
}
}
}
Example response (500, Internal server error):
{
"data": null,
"error": {
"code": "internal_error",
"message": "..."
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create invoice payment link
requires authentication
Creates new invoice payment link with provided data and shows information about it.
Example request:
const url = new URL(
"https://crp-backend.munzen.io/api/v1/merchant/invoices/payment-link"
);
const headers = {
"X-Munzen-Key": "P1a64v6adVeZhDgf5bkc38E",
"Content-Type": "application/json",
"Accept": "application/json",
"X-Munzen-Signature": "{YOUR_REQUEST_SIGNATURE}",
};
let body = {
"price_currency": "NEAR",
"price_amount": 8854271,
"currencies_for_pay": [
"BNB"
],
"link_expires_at": 1681897689,
"external_data": "{\"param1\":\"value1\",\"param2\":\"value2\"}",
"external_id": "b850baf0-6149-43a9-a467-17862c412097",
"customer_external_id": "04b20ff6-02ab-4574-a43d-71c452ee8efd",
"customer_email": "example@gmail.com",
"send_cheque": false,
"name": "Your invoice name",
"description": "Your invoice description",
"redirect_url": "http:\/\/ferry.biz\/excepturi-nihil-alias-illo-sint-modi-porro.html",
"failure_redirect_url": "http:\/\/www.wiza.com\/",
"timestamp": 1681897688
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Example response (200):
{
"data": {
"id": "0196626d-745c-72e4-b483-5784219188d8",
"short_id": "eiVSJjNjHiJaPNhZMje7J",
"number": 35857948,
"price_currency": "UAH",
"price_amount": "7844479.02",
"pay_currency": "NEAR",
"pay_amount": "73676917.0728",
"exchange_rate": "9.39220015",
"exchange_rate_expires_at": "2025-04-23T11:47:22.000000Z",
"address": "t5J9DLXoMNhiG0fAo7SmuA1cdW13X7",
"address_tag": "o2SDU",
"address_uri": "near:t5J9DLXoMNhiG0fAo7SmuA1cdW13X7?amount=73676917.0728",
"paid_amount": "0.597152502",
"paid_amount_minus_fee": "-5606812.7920876",
"transaction_hash": null,
"transaction_risk_score": null,
"transactions": [],
"received_currency": "NEAR",
"received_amount": "-5606812.7920876",
"conversion_exchange_rate": null,
"fees": {
"processing_invoice": {
"currency": "NEAR",
"amount": "5606813.3892401"
}
},
"fiat_amounts": [],
"external_id": "119",
"customer_external_id": "LHnJEQoRQlvcExtJ",
"external_data": "{\"foo\":\"bar\"}",
"name": "Mr. Douglas Baumbach",
"description": "Catalina Waelchi",
"redirect_url": "http://www.rosenbaum.net/",
"failure_redirect_url": "http://hoppe.com/",
"created_at": "2025-04-23T11:34:22.000000Z",
"expires_at": "2025-04-23T12:01:22.000000Z",
"status": "expired",
"status_context": "underpaid",
"status_reason": null,
"can_be_paid_partially": true
},
"error": null
}
Example response (401, Unauthenticated request):
{
"data": null,
"error": {
"code": "authentication_error",
"message": "Unauthenticated."
}
}
Example response (422, Validation error):
{
"data": null,
"error": {
"code": "validation_error",
"message": "The given data was invalid.",
"payload": {
"field": [
"error_1",
"error_2"
]
}
}
}
Example response (500, Internal server error):
{
"data": null,
"error": {
"code": "internal_error",
"message": "..."
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Cancel invoice
requires authentication
Cancels customer's invoice by id or 404 error.
Example request:
const url = new URL(
"https://crp-backend.munzen.io/api/v1/merchant/invoices/48e81488-9fb7-4771-a599-8d99df10456c"
);
const headers = {
"X-Munzen-Key": "bdg4D15f8vekVcP6ZE3haa6",
"Content-Type": "application/json",
"Accept": "application/json",
"X-Munzen-Signature": "{YOUR_REQUEST_SIGNATURE}",
};
let body = {
"timestamp": 1681897688
};
fetch(url, {
method: "DELETE",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Example response (200):
{
"data": {},
"error": null
}
Example response (401, Unauthenticated request):
{
"data": null,
"error": {
"code": "authentication_error",
"message": "Unauthenticated."
}
}
Example response (404, Not found):
{
"data": null,
"error": {
"code": "http_error",
"message": "Not found."
}
}
Example response (422, Validation error):
{
"data": null,
"error": {
"code": "validation_error",
"message": "The given data was invalid.",
"payload": {
"field": [
"error_1",
"error_2"
]
}
}
}
Example response (500, Internal server error):
{
"data": null,
"error": {
"code": "internal_error",
"message": "..."
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Payouts
Payouts for our merchants customers.
Request payout
requires authentication
Creates payout request.
Example request:
const url = new URL(
"https://crp-backend.munzen.io/api/v1/merchant/payouts/request"
);
const headers = {
"X-Munzen-Key": "8hagD461Vf5Zbd6EPvakc3e",
"Content-Type": "application/json",
"Accept": "application/json",
"X-Munzen-Signature": "{YOUR_REQUEST_SIGNATURE}",
};
let body = {
"external_id": "123456",
"customer_external_id": "123456",
"currency": "USDTERC20",
"amount": 266.5,
"address": "0xb00e5760c0ab29ecdc51e39eea0e841a14415755",
"address_tag": "123456",
"timestamp": 1681897688,
"source_currency": "EUR",
"source_amount": 266.5
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Example response (200):
{
"data": {
"id": "0196626d-74c9-72b1-b2a8-acc1ee6829d8",
"amount_requested": 517.48313,
"amount_to_send": 509.98462,
"fee_amount": 7.49851,
"status": "failed",
"status_reason": "tx_rejection",
"currency": "USDTTRC20",
"source_currency": "EUR",
"source_amount": 752.95017,
"source_exchange_rate": 531.96423
},
"error": null
}
Example response (401, Unauthenticated request):
{
"data": null,
"error": {
"code": "authentication_error",
"message": "Unauthenticated."
}
}
Example response (422, Validation error):
{
"data": null,
"error": {
"code": "validation_error",
"message": "The given data was invalid.",
"payload": {
"field": [
"error_1",
"error_2"
]
}
}
}
Example response (500, Internal server error):
{
"data": null,
"error": {
"code": "internal_error",
"message": "..."
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get payout by id
requires authentication
Gives payout by provided id.
Example request:
const url = new URL(
"https://crp-backend.munzen.io/api/v1/merchant/payouts/48e81488-9fb7-4771-a599-8d99df10456c"
);
const params = {
"timestamp": "1681897688",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"X-Munzen-Key": "V16hea4EDbk3cf6av8ZdP5g",
"Content-Type": "application/json",
"Accept": "application/json",
"X-Munzen-Signature": "{YOUR_REQUEST_SIGNATURE}",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
{
"data": {
"id": "0196626d-750d-7288-93d6-b98eeec25dd0",
"currency": "XLM",
"amount_requested": 138.91674,
"amount_to_send": 138.91674,
"amount_to_charge": 145.83435,
"fee_amount": 6.91761,
"status": "processing",
"status_reason": "invalid_amount",
"created_at": "2025-04-23T11:34:22.000000Z",
"fee_included": false,
"source_currency": "KZT",
"source_amount": 412.38545,
"source_exchange_rate": 549.00867
},
"error": null
}
Example response (401, Unauthenticated request):
{
"data": null,
"error": {
"code": "authentication_error",
"message": "Unauthenticated."
}
}
Example response (422, Validation error):
{
"data": null,
"error": {
"code": "validation_error",
"message": "The given data was invalid.",
"payload": {
"field": [
"error_1",
"error_2"
]
}
}
}
Example response (500, Internal server error):
{
"data": null,
"error": {
"code": "internal_error",
"message": "..."
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get payout by external id
requires authentication
Gives payout by provided external id.
Example request:
const url = new URL(
"https://crp-backend.munzen.io/api/v1/merchant/payouts/by-external-id/48e814889fb74771a5998d99d"
);
const params = {
"timestamp": "1681897688",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"X-Munzen-Key": "5k4Ebad1c66e8gPZ3aDfhvV",
"Content-Type": "application/json",
"Accept": "application/json",
"X-Munzen-Signature": "{YOUR_REQUEST_SIGNATURE}",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
{
"data": {
"id": "0196626d-7559-701e-bba5-f821d74c8c7f",
"currency": "SOL",
"amount_requested": 734.57624,
"amount_to_send": 734.57624,
"amount_to_charge": 742.14654,
"fee_amount": 7.5703,
"status": "pending",
"status_reason": "tx_rejection",
"created_at": "2025-04-23T11:34:22.000000Z",
"fee_included": false,
"source_currency": "KZT",
"source_amount": 325.14579,
"source_exchange_rate": 499.18983
},
"error": null
}
Example response (401, Unauthenticated request):
{
"data": null,
"error": {
"code": "authentication_error",
"message": "Unauthenticated."
}
}
Example response (422, Validation error):
{
"data": null,
"error": {
"code": "validation_error",
"message": "The given data was invalid.",
"payload": {
"field": [
"error_1",
"error_2"
]
}
}
}
Example response (500, Internal server error):
{
"data": null,
"error": {
"code": "internal_error",
"message": "..."
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Channels
Actions with channels.
Create channel
requires authentication
Creates new channel with provided data and shows information about it.
Example request:
const url = new URL(
"https://crp-backend.munzen.io/api/v1/merchant/channels"
);
const headers = {
"X-Munzen-Key": "vkZdh8D643Va6P5agbEecf1",
"Content-Type": "application/json",
"Accept": "application/json",
"X-Munzen-Signature": "{YOUR_REQUEST_SIGNATURE}",
};
let body = {
"currency": "USDTTRC20",
"customer_external_id": "1",
"external_id": "a4713b7f-d45a-46ef-a55f-847d6ce0e4e2",
"external_data": "{\"param1\":\"value1\",\"param2\":\"value2\"}",
"timestamp": 1681897688
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Example response (200):
{
"data": {
"id": "0196626d-7583-70a6-9ac2-f0af1731736d",
"customer_external_id": "N7CVFVeUUddb9aMm",
"external_id": "RfKgUvkXHX",
"external_data": "{\"foo\":\"bar\"}",
"currency": "USDCBEP20",
"address": "RTe7Ik58kyZcv6aLhudbLHbfD4AV25",
"address_tag": "gSMiX",
"address_uri": "ethereum:RTe7Ik58kyZcv6aLhudbLHbfD4AV25",
"created_at": "2025-04-23T11:34:22.000000Z"
},
"error": null
}
Example response (401, Unauthenticated request):
{
"data": null,
"error": {
"code": "authentication_error",
"message": "Unauthenticated."
}
}
Example response (401, Not found):
{
"data": null,
"error": {
"code": "http_error",
"message": "Not found."
}
}
Example response (422, Validation error):
{
"data": null,
"error": {
"code": "validation_error",
"message": "The given data was invalid.",
"payload": {
"field": [
"error_1",
"error_2"
]
}
}
}
Example response (500, Internal server error):
{
"data": null,
"error": {
"code": "internal_error",
"message": "..."
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List of merchant project channels for customer
requires authentication
Returns list of merchant project channels for provided customer external ID.
Example request:
const url = new URL(
"https://crp-backend.munzen.io/api/v1/merchant/channels"
);
const params = {
"customer_external_id": "1",
"timestamp": "1681897688",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"X-Munzen-Key": "V3Z6k18vchf4ba6PdEa5gDe",
"Content-Type": "application/json",
"Accept": "application/json",
"X-Munzen-Signature": "{YOUR_REQUEST_SIGNATURE}",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
{
"data": [
{
"id": "0196626d-75a4-71bf-9cd9-a5167e3536d9",
"customer_external_id": "jr5JvF0qHCr6Jny1",
"external_id": "HrDcpIDpfR",
"external_data": "{\"foo\":\"bar\"}",
"currency": "USDCBASE",
"address": "RX7S6BQ9mLhbvBZpwYPZpD9Ttf4Mmn",
"address_tag": "qlUSI",
"address_uri": "ethereum:RX7S6BQ9mLhbvBZpwYPZpD9Ttf4Mmn",
"created_at": "2025-04-23T11:34:22.000000Z"
}
],
"error": null
}
Example response (401, Unauthenticated request):
{
"data": null,
"error": {
"code": "authentication_error",
"message": "Unauthenticated."
}
}
Example response (404, Not found):
{
"data": null,
"error": {
"code": "http_error",
"message": "Not found."
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List of payments in merchant project channel
requires authentication
Returns list of payments in merchant project channel with pagination.
Example request:
const url = new URL(
"https://crp-backend.munzen.io/api/v1/merchant/channels/DDABedDd-fafb-CfAd-EaCf-FAEeddbaAadb/payments"
);
const headers = {
"X-Munzen-Key": "haZP6kVgeED4a1v3fc658bd",
"Content-Type": "application/json",
"Accept": "application/json",
"X-Munzen-Signature": "{YOUR_REQUEST_SIGNATURE}",
};
let body = {
"cursor": "sikAiLsryrD2YGPZ",
"per_page": 10,
"timestamp": 1681897688
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Example response (200):
{
"data": {
"list": [
{
"id": "0196626d-75c7-720e-9cdc-71e8efa4cc7f",
"channel_id": "0196626d-75c6-73f1-bd58-2d844b810824",
"customer_external_id": "tcq2XxwcYxHCj46j",
"external_id": "4NUszIR0Jx",
"external_data": "{\"foo\":\"bar\"}",
"currency": "BTC",
"amount": "430.44439",
"amount_minus_fee": "430.14307893",
"received_currency": "BTC",
"received_amount": "430.14307893",
"conversion_exchange_rate": null,
"fees": {
"processing_channel": {
"currency": "BTC",
"amount": "0.30131107"
}
},
"fiat_amounts": [],
"address": "MQyT8CyCs0PADeS5tMlAOtCSIIkMYL",
"address_tag": "H1XsQ",
"address_uri": "bitcoin:MQyT8CyCs0PADeS5tMlAOtCSIIkMYL",
"transaction_hash": null,
"transaction_risk_score": null,
"created_at": "2025-04-23T11:34:22.000000Z",
"status": "paid",
"status_reason": null
}
],
"metadata": {
"total": 384818,
"per_page": 320656,
"next_cursor": "wusrKIsejaz0erg8",
"previous_cursor": "PiwtjNhNnd65lb8w"
}
},
"error": null
}
Example response (401, Unauthenticated request):
{
"data": null,
"error": {
"code": "authentication_error",
"message": "Unauthenticated."
}
}
Example response (404, Not found):
{
"data": null,
"error": {
"code": "http_error",
"message": "Not found."
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get channel payment by id
requires authentication
Returns information about channel payments in merchant project channel with pagination.
Example request:
const url = new URL(
"https://crp-backend.munzen.io/api/v1/merchant/channels/payments/deCdFdda-fbcf-dcfA-dBCa-AEdBEeabaDBC"
);
const params = {
"timestamp": "1681897688",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"X-Munzen-Key": "EfecbkZvh6adD14g68VPa53",
"Content-Type": "application/json",
"Accept": "application/json",
"X-Munzen-Signature": "{YOUR_REQUEST_SIGNATURE}",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
{
"data": {
"id": "0196626d-75f1-7100-b103-598789edcb91",
"channel_id": "0196626d-75f0-706a-a440-970bc9a58d57",
"customer_external_id": "JOB9gqJ8Ed74DTub",
"external_id": "tQKNCYg8uf",
"external_data": "{\"foo\":\"bar\"}",
"currency": "XLM",
"amount": "425.12407",
"amount_minus_fee": "424.8689956",
"received_currency": "XLM",
"received_amount": "424.8689956",
"conversion_exchange_rate": null,
"fees": {
"processing_channel": {
"currency": "XLM",
"amount": "0.2550744"
}
},
"fiat_amounts": [],
"address": "Mu3FgYIbITKuXMtd8WLCYC5YhjRoPd",
"address_tag": "XgjFq",
"address_uri": "Mu3FgYIbITKuXMtd8WLCYC5YhjRoPd",
"transaction_hash": null,
"transaction_risk_score": null,
"created_at": "2025-04-23T11:34:22.000000Z",
"status": "paid",
"status_reason": null
},
"error": null
}
Example response (401, Unauthenticated request):
{
"data": null,
"error": {
"code": "authentication_error",
"message": "Unauthenticated."
}
}
Example response (404, Not found):
{
"data": null,
"error": {
"code": "http_error",
"message": "Not found."
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Exchange rates
Actions with exchange rates.
Get exchange rate
requires authentication
Returns exchange rate found with provided params otherwise returns not found error
Example request:
const url = new URL(
"https://crp-backend.munzen.io/api/v1/merchant/exchange-rate"
);
const params = {
"base_currency": "UAH",
"quote_currency": "USDTERC20",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"X-Munzen-Key": "hk8bv5fD6ge4ZEd6a3acPV1",
"Content-Type": "application/json",
"Accept": "application/json",
"X-Munzen-Signature": "{YOUR_REQUEST_SIGNATURE}",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
{
"data": {
"base_currency": "EUR",
"quote_currency": "NEAR",
"exchange_rate": 7.66002565,
"decimals": 26,
"round_off": 10
},
"error": null
}
Example response (401, Unauthenticated request):
{
"data": null,
"error": {
"code": "authentication_error",
"message": "Unauthenticated."
}
}
Example response (404, Not found):
{
"data": null,
"error": {
"code": "http_error",
"message": "Not found."
}
}
Example response (422, Validation error):
{
"data": null,
"error": {
"code": "validation_error",
"message": "The given data was invalid.",
"payload": {
"field": [
"error_1",
"error_2"
]
}
}
}
Example response (500, Internal server error):
{
"data": null,
"error": {
"code": "internal_error",
"message": "..."
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Customers
Actions with customers.
Get limits by customer external id
requires authentication
Shows information about customer's limits.
Example request:
const url = new URL(
"https://crp-backend.munzen.io/api/v1/merchant/customers/by-external-id/ipsum/limit"
);
const headers = {
"X-Munzen-Key": "d3k4bVv81afea5E6ZhcgPD6",
"Content-Type": "application/json",
"Accept": "application/json",
"X-Munzen-Signature": "{YOUR_REQUEST_SIGNATURE}",
};
let body = {
"timestamp": 1681897688
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Example response (200):
{
"data": {
"limit": 909509,
"remaining_amount": 3687037.420754
},
"error": null
}
Example response (401, Unauthenticated request):
{
"data": null,
"error": {
"code": "authentication_error",
"message": "Unauthenticated."
}
}
Example response (422, Validation error):
{
"data": null,
"error": {
"code": "validation_error",
"message": "The given data was invalid.",
"payload": {
"field": [
"error_1",
"error_2"
]
}
}
}
Example response (500, Internal server error):
{
"data": null,
"error": {
"code": "internal_error",
"message": "..."
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Upload customer's documents
requires authentication
Please note that this endpoint uses multipart/form-data
Example request:
const url = new URL(
"https://crp-backend.munzen.io/api/v1/merchant/customers/documents"
);
const headers = {
"X-Munzen-Key": "dVa18a3Z4cPvk5gbe66EDfh",
"Content-Type": "multipart/form-data",
"Accept": "application/json",
"X-Munzen-Signature": "{YOUR_REQUEST_SIGNATURE}",
};
const body = new FormData();
body.append('timestamp', '1681897688');
body.append('customer_external_id', 'dolor');
body.append('documents[]', 'natus');
fetch(url, {
method: "POST",
headers,
body,
}).then(response => response.json());
Example response (200):
{
"data": [],
"error": null
}
Example response (401, Unauthenticated request):
{
"data": null,
"error": {
"code": "authentication_error",
"message": "Unauthenticated."
}
}
Example response (422, Validation error):
{
"data": null,
"error": {
"code": "validation_error",
"message": "The given data was invalid.",
"payload": {
"field": [
"error_1",
"error_2"
]
}
}
}
Example response (500, Internal server error):
{
"data": null,
"error": {
"code": "internal_error",
"message": "..."
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.