Test the customer connection

Confirm that the key can authenticate and read the customer information assigned to it.

GET/v1/test
Required permission: Valid customer accessRead only
Start with Sandbox
Every example on this page uses https://sandbox.voycedconnect.eu/v1. After Voyced enables Live access, change the base URL to https://api.voycedconnect.eu/v1, use the separate Live API key and secret, request a new Live bearer token, then run GET /v1/test and GET /v1/capabilities again. Sandbox credentials and tokens never work in Live. See the complete go-live steps.

Example request

cURL
curl --request GET \
  --url 'https://sandbox.voycedconnect.eu/v1/test' \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer YOUR_BEARER_TOKEN'
PHP
<?php
$token = (string) getenv('VOYCED_BEARER_TOKEN');
if ($token === '') {
    throw new RuntimeException('Set VOYCED_BEARER_TOKEN.');
}

$curl = curl_init('https://sandbox.voycedconnect.eu/v1/test');
curl_setopt_array($curl, [
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_FOLLOWLOCATION => false,
    CURLOPT_CONNECTTIMEOUT => 5,
    CURLOPT_TIMEOUT => 20,
    CURLOPT_SSL_VERIFYPEER => true,
    CURLOPT_SSL_VERIFYHOST => 2,
    CURLOPT_HTTPHEADER => [
        'Accept: application/json',
        'Authorization: Bearer ' . $token,
    ],
]);

$response = curl_exec($curl);
$status = (int) curl_getinfo($curl, CURLINFO_RESPONSE_CODE);
if ($response === false) {
    $error = curl_error($curl);
    curl_close($curl);
    throw new RuntimeException($error);
}
curl_close($curl);

if ($status < 200 || $status >= 300) {
    throw new RuntimeException('Voyced API HTTP ' . $status . ': ' . $response);
}
echo $response . PHP_EOL;
Node.js
const token = process.env.VOYCED_BEARER_TOKEN;
if (!token) throw new Error('Set VOYCED_BEARER_TOKEN.');

const response = await fetch('https://sandbox.voycedconnect.eu/v1/test', {
  headers: {
    Accept: 'application/json',
    Authorization: `Bearer ${token}`,
  },
  redirect: 'error',
  signal: AbortSignal.timeout(20_000),
});
const result = await response.json();
if (!response.ok) {
  throw new Error(result.error?.message || `Voyced API HTTP ${response.status}`);
}
console.log(result);
Python
import os
import requests

token = os.environ["VOYCED_BEARER_TOKEN"]
response = requests.get(
    "https://sandbox.voycedconnect.eu/v1/test",
    headers={
        "Accept": "application/json",
        "Authorization": f"Bearer {token}",
    },
    timeout=20,
    allow_redirects=False,
)
response.raise_for_status()
print(response.json())

Example response

200 JSON
{
  "success": true,
  "environment": "sandbox",
  "message": "Voyced API connection successful.",
  "customer": {
    "customer_name": "ExampleCustomer",
    "company_name": "Example Company Ltd",
    "billing_postcode": "AB1 2CD",
    "number_verification": "+44 ******5678"
  },
  "services": {
    "accounts_returned": 5,
    "accounts_active": 1,
    "accounts_excluded": 4,
    "phone_numbers_active": 1,
    "phone_numbers_excluded": 4
  },
  "access": {
    "role": "client",
    "scopes": ["customer.read", "numbers.read", "balance.read"],
    "account_access": "all_active_accounts_for_customer"
  },
  "response_time_ms": 388,
  "tested_at": "2026-07-21T10:00:00+00:00",
  "request_id": "req_example1234567890"
}

Use it for

  • Initial Sandbox setup
  • Checking new or rotated credentials
  • Confirming Live access before enabling a workflow
  • Providing a request ID to Voyced Support when a test fails
Sandbox only

Test this endpoint

Run a real read-only Sandbox request and inspect the result.

Open the full Sandbox tester
2

Prepare the request
Select the endpoint and add a number when required.

3

Run and check
Review the HTTP status, response time and JSON.

Use a bearer token onlyThe page sends the token through the protected documentation proxy to Voyced Sandbox for this request. It is not saved. Reset or leave the page to clear the field.
Request a new token when the current token has expired.
GETRequest preview
GET https://sandbox.voycedconnect.eu/v1/test

The documentation proxy accepts approved Sandbox GET requests only. It cannot call Live. It does not place credentials in cookies, browser storage or URLs.

Common errors

HTTPCodeMeaning
401missing_tokenNo bearer token was supplied.
401invalid_tokenThe token is invalid or expired.
502connection_test_failedThe token was accepted but the customer check did not complete.