Use the endpoint below to create a new interpreter request from your own system.
POST https://www.taallink.nl/api/v1/requests
Header required: X-API-KEY: YOUR_API_KEY
Content type: application/json
Please contact TaalLink to request API access.
Send your company name, intended use, and expected request volume to support@taallink.nl.
name: contact name
email: contact email address
source_language: spoken language
target_language: target language
phone: phone number
location: place of the appointment
date_time: requested date and time
notes: extra details
channel: your own source label, for example backend_integration
{
"name": "Jane Doe",
"email": "jane@example.com",
"phone": "+31 6 12345678",
"source_language": "Engels",
"target_language": "Nederlands",
"location": "Amsterdam",
"date_time": "2026-03-20 10:00",
"notes": "Notary appointment",
"channel": "backend_integration"
}
{
"ok": true,
"id": 123,
"client_id": 45,
"reference": "R000123",
"status": "new"
}
curl -X POST "https://www.taallink.nl/api/v1/requests" \
-H "Content-Type: application/json" \
-H "X-API-KEY: YOUR_API_KEY" \
-d '{
"name": "Jane Doe",
"email": "jane@example.com",
"phone": "+31 6 12345678",
"source_language": "Engels",
"target_language": "Nederlands",
"location": "Amsterdam",
"date_time": "2026-03-20 10:00",
"notes": "Notary appointment",
"channel": "backend_integration"
}'
<?php
$payload = [
'name' => 'Jane Doe',
'email' => 'jane@example.com',
'phone' => '+31 6 12345678',
'source_language' => 'Engels',
'target_language' => 'Nederlands',
'location' => 'Amsterdam',
'date_time' => '2026-03-20 10:00',
'notes' => 'Notary appointment',
'channel' => 'backend_integration',
];
$ch = curl_init('https://www.taallink.nl/api/v1/requests');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Content-Type: application/json',
'X-API-KEY: YOUR_API_KEY',
],
CURLOPT_POSTFIELDS => json_encode($payload, JSON_UNESCAPED_UNICODE),
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
import requests
payload = {
"name": "Jane Doe",
"email": "jane@example.com",
"phone": "+31 6 12345678",
"source_language": "Engels",
"target_language": "Nederlands",
"location": "Amsterdam",
"date_time": "2026-03-20 10:00",
"notes": "Notary appointment",
"channel": "backend_integration",
}
response = requests.post(
"https://www.taallink.nl/api/v1/requests",
headers={
"Content-Type": "application/json",
"X-API-KEY": "YOUR_API_KEY",
},
json=payload,
timeout=20,
)
print(response.status_code)
print(response.json())
use reqwest::header::{HeaderMap, HeaderValue, CONTENT_TYPE};
use serde_json::json;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let mut headers = HeaderMap::new();
headers.insert(CONTENT_TYPE, HeaderValue::from_static("application/json"));
headers.insert("X-API-KEY", HeaderValue::from_static("YOUR_API_KEY"));
let payload = json!({
"name": "Jane Doe",
"email": "jane@example.com",
"phone": "+31 6 12345678",
"source_language": "Engels",
"target_language": "Nederlands",
"location": "Amsterdam",
"date_time": "2026-03-20 10:00",
"notes": "Notary appointment",
"channel": "backend_integration"
});
let client = reqwest::Client::new();
let response = client
.post("https://www.taallink.nl/api/v1/requests")
.headers(headers)
.json(&payload)
.send()
.await?;
println!("{}", response.status());
println!("{}", response.text().await?);
Ok(())
}
401 unauthorized: missing or incorrect API key
400 name_email_source_target_required: a required field is missing
400 invalid_email: email address is invalid
400 payload_too_large: one or more fields are too long