TENANT API · V1
Create a traveler Traveler identity/contact facts and permitted customer association.
POST /api/v1/tenant/travelers
Authorization Use a server-side API key with the listed grants and permitted resource access.
Request body
customerIdstring · required Opaque resource identifier. Treat this value as a string.
firstNamestring · required Given name.
lastNamestring · required Family name.
emailstring · optional Contact email address. Not a deduplication key.
nationalityCountrystring · optional ISO nationality country.
externalReferencestring · optional Your stable reference, unique to this integration and resource type. Response 201 Created
Returns the authorized resource or result for this operation. List results use items, nextCursor, and hasMore.
Errors Authentication failures return 401 or 403. Inaccessible resources return 404. Business and idempotency conflicts return 409. Rate limits return 429 with retry guidance.
Error handling guide REQUEST API key
curl --request POST 'https://api.wincora.com/api/v1/tenant/travelers' \
--header 'X-Api-Key: YOUR_API_KEY' \
--header 'Idempotency-Key: request-example-001' \
--header 'Content-Type: application/json' \
--data '{
"customerId": "cus_example",
"firstName": "Alex",
"lastName": "Morgan",
"email": "alex@example.com",
"externalReference": "traveler-218"
}' const response = await fetch ( 'https://api.wincora.com/api/v1/tenant/travelers' , {
method: 'POST' ,
headers: {
"X-Api-Key" : process.env. WINCORA_API_KEY ,
"Idempotency-Key" : "request-example-001" ,
"Content-Type" : "application/json"
},
body: JSON . stringify ({
"customerId" : "cus_example" ,
"firstName" : "Alex" ,
"lastName" : "Morgan" ,
"email" : "alex@example.com" ,
"externalReference" : "traveler-218"
})
});
if ( ! response.ok) throw new Error ( await response. text ());
const result = await response. json (); import os
import requests
response = requests.request(
'POST' ,
'https://api.wincora.com/api/v1/tenant/travelers' ,
headers = {
"X-Api-Key" : os.environ[ "WINCORA_API_KEY" ],
"Idempotency-Key" : "request-example-001" ,
"Content-Type" : "application/json"
},
json = {
"customerId" : "cus_example" ,
"firstName" : "Alex" ,
"lastName" : "Morgan" ,
"email" : "alex@example.com" ,
"externalReference" : "traveler-218"
},
timeout = 30 ,
)
response.raise_for_status()
result = response.json() Keep this API key on your server. Never embed it in browser or mobile code.