HEALTH Copy Page
Check your key
GET https://production.dutchapi.co/v1/ping
Proves that your live key, project and network are accepted. Needs no scope and moves no money. Answers for draft and paused projects too.
Call it first after issuing a key or activating a project. A refusal names exactly what to fix: project_not_active, project_not_found, ip_not_allowed, business_on_hold or invalid_live_api_key.
Responses
200 400
{
"ok": true,
"organization": {
"id": "3f1c2a9e-5b7d-4c21-9a0e-6d2b8c1f4e70",
"name": "Acme Payments Ltd"
},
"project": {
"id": "8b2e4c6a-1d3f-4a5b-9c7d-0e1f2a3b4c5d",
"product": "payments",
"status": "active"
},
"key": {
"scopes": [
"accounts:read",
"transactions:read",
"payouts:create"
]
},
"request_id": "req_4f9a1c2b3d4e5f60",
"ip": "203.0.113.7"
}
{
"error": "business_id_required",
"message": "Send X-Business-Id with your public Business ID."
}
Errors Status error Meaning 400 business_id_requiredSend X-Business-Id with your public Business ID. 403 business_id_mismatchThis Business ID does not belong to the project key. 401 invalid_live_api_keyThe key is wrong or was revoked. 401 project_key_requiredUse a project-specific API key. 404 project_not_foundNo project with that id uses this key. 403 project_not_activeTake the project live in the dashboard first (Projects, Go live). 403 business_on_holdThe Dutch API team placed the business on hold.
Language Shell Node Ruby PHP Python
Credentials Bearer
curl --request GET --url "https://production.dutchapi.co/v1/ping" \
--header "Authorization: Bearer $DUTCH_PROJECT_KEY" \
--header "X-Business-Id: $DUTCH_BUSINESS_ID"const res = await fetch("https://production.dutchapi.co/v1/ping", {
method: "GET",
headers: {
"Authorization": "Bearer " + process.env.DUTCH_PROJECT_KEY,
"X-Business-Id": process.env.DUTCH_BUSINESS_ID,
}
});
console.log(await res.json());require "net/http"
require "json"
uri = URI("https://production.dutchapi.co/v1/ping")
req = Net::HTTP::Get.new(uri)
req["Authorization"] = "Bearer #{ENV.fetch('DUTCH_PROJECT_KEY')}"
req["X-Business-Id"] = ENV.fetch("DUTCH_BUSINESS_ID")
res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(req) }
puts res.body<?php
$ch = curl_init("https://production.dutchapi.co/v1/ping");
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ["Authorization: Bearer " . getenv("DUTCH_PROJECT_KEY"),
"X-Business-Id: " . getenv("DUTCH_BUSINESS_ID")],
]);
echo curl_exec($ch);import os, requests
res = requests.request(
"GET",
"https://production.dutchapi.co/v1/ping",
headers={
"Authorization": "Bearer " + os.environ["DUTCH_PROJECT_KEY"],
"X-Business-Id": os.environ["DUTCH_BUSINESS_ID"],
}
)
print(res.json())
Show example
Response Click `Show example` to see an example response. Nothing is sent from this page: endpoints are live, so run real requests from your own code with small amounts.
200 - Result 400 - Result
Table of Contents Responses Errors