Language code for response content.
Passolution Dataservice API (2.0.0)
Our API service supports following endpoints.
If you need further clarification or have a feature request, feel free to contact us using our website web.passolution.eu.
API Service
Get basic information about the API service like its health and version.
GET /health - Health Information
GET /version - Version Information
Account
Get an Account's subscription information & features that are available or generate a login link to log user into Passolution website automatically.
GET /account/subscription - Info about Account's Subscription & Accessible Features
GET /auth/login/generate_link - Login Link Generation
Basic Data
You can use these endpoints to get available values for different parameter that you will need to use.
GET /countries - Destination countries that can be queried.
GET /nationalities - Traveller nationalities that can be queried.
GET /languages - Entry Requirements information is available in these Languages.
GET /tour-operators - Additional Requirements may be available for these Tour Operators.
Additionally, some endpoints support dynamic fields in requests and responses.
The value of these dynamic fields can be known using following endpoints:
GET /entry/documents - Entry Requirements - Documents
GET /entry/additional-info - Entry Requirements - Additional Info
GET /health/immunizations - Health Requirements - Immunizations
Specify filter params as request body. Additionally, specify fields that you need in response.
Example 1: Get destinations where entry is allowed with Passport:
{
"entry": {
"documents": {
"passport": {
"entry_allowed": true
}
}
}
}
Example 2: Get destinations where entry is allowed with Passport as well as ID Card:
{
"entry": {
"documents": {
"passport": {
"entry_allowed": true
},
"id_card": {
"entry_allowed": true
}
}
}
}Use case: All travellers either have Passport or ID Card. The returned destinations will allow access using either document.
Example 3: Get destinations where entry is allowed with either Passport or ID Card: \
{
"entry": {
"filters": [
{
"documents": {
"passport": {
"entry_allowed": true
}
}
},
{
"documents": {
"id_card": {
"entry_allowed": true
}
}
}
],
"operator": "OR"
}
}Use Case: All travellers have both Passport and ID Card so using OR operator returns more destinations. Eg: A destination allowing access with Passport but not with ID Card alone, will be included in search results.
- https://api.passolution.eu/api/v2/destinations
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
'https://api.passolution.eu/api/v2/destinations?language=en&sort_by=code&sort_order=asc' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"entry": {
"documents": {
"document_code": {
"entry_allowed": true
}
},
"additional_info": {
"list": {
"code": {
"status": "not_required"
}
}
}
},
"visa": {
"required": {
"status": "not_required"
},
"application": {
"foreign_representation": {
"available": true
},
"e_visa": {
"available": true
},
"on_arrival": {
"available": true
}
}
},
"health": {
"risk_groups": {
"pregnant": {
"has_risk": false
},
"child": {
"has_risk": false
}
},
"immunizations": {
"immunization_code": {
"required": true,
"recommended": true
}
},
"medication": {
"information": {
"insurance": {
"status": "not_required"
}
}
}
},
"fields": {
"travel_advisory": {
"type": true
}
}
}'{ "destinations": [ { … } ], "requestid": "d22f5305-05f3-48a0-9131-a4e6e5f58b9a", "responsetime": 0 }
Request
Get Entry Requirements for destinations as HTML, Text or a PDF document.
Use:
.../content/all/html - to show content in a web browser / HTML viewer.
.../content/all/text - to show content directly as text.
.../content/all/pdf - to save & share content for offline viewing.
Parameters: Simple parameters (described below) can be supplied as query parameters, eg:
.../content/all/html?destinations=ES,FR,IT & nationalities=DE,AT & language=en
Basic usages are provided below, check documentation for different parameters for more usages:
{
"language": "de",
"destinations": ["FR", "ES"],
"nationalities": ["DE", "AU"]
}To retrieve entry requirements using cruise compass cruise ID or cruise details:
{
"language": "de",
"cruise_compass_cruise_id": "68-251101-10",
"nationalities": ["DE"]
}or
{
"language": "de",
"cruise": {
"operator": "AIDA Cruises",
"ship": "AIDAbella",
"start_date": "2026-01-01",
"duration_in_days": 7
},
"nationalities": ["DE"]
}Specify travel information (trip) if Travel Detail Link should be generated.
Requires access to
customer.travel_detail_link.createfeature .
{
"language": "de",
"destinations": ["FR", "ES"],
"nationalities": ["DE", "AU"],
"trip": {
"name": "Trip Name",
"start_date": "2025-01-01",
"end_date": "2025-01-01",
"reference": "REF-1001",
"note": "Optional note about trip."
}
}List of destinations that will be visited by travellers.
Simple query:
{
"destinations": ["FR", "ES"]
}Specifying destination type:
{
"destinations": [
{"destination": "FR","type": "travel"},
{"destination": "ES", "type": "transit"}
]
}For cruise query:
{
"cruise_compass_cruise_id": "111-2222-33",
"destinations": [
{"destination": "FR","type": "pre-stay"},
{"destination": "ES", "type": "follow-up"}
]
}Cruise Compass Cruise ID to fetch requirements for given cruise's destinations.
Kindly contact us if you don't have Cruise ID information for Cruise Compass.
Requires access to
content.cruisefeature .
Cruise Compass Cruise details to fetch requirements for given cruise's destinations.
Kindly contact us if you don't have Cruise information from Cruise Compass.
Requires access to
content.cruisefeature .
Example:
{
"cruise": {
"operator": "AIDA Cruises",
"ship": "AIDAbella",
"start_date": "2026-01-01",
"duration_in_days": 7
}
}Basic information about the trip.
Requires access to
customer.travel_detail_link.createfeature .
Example:
{
"trip": {
"name": "Trip Name",
"start_date": "2025-01-01",
"end_date": "2025-01-07",
"reference": "REF-1001",
"note": "A private note about the trip.",
"cover_media": "5ec72b9f-20c7-40be-882c-14214a3c303e"
}
}Specify tour operator codes whose information should be shown to travellers.
Requires access to
content.tour_operatorfeature .
Specify Individual Content (your own content) section codes which should be shown to travellers.
Requires access to
content.tour_operatorfeature .
Selects cover media to be displayed on the enduser link.
Use UUID retrieved from .../travel-details/media endpoint.
- https://api.passolution.eu/api/v2/content/all/{type}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
'https://api.passolution.eu/api/v2/content/all/html?target_device=mobile' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"language": "en",
"destinations": [
"st"
],
"cruise_compass_cruise_id": "string",
"cruise": {
"operator": "AIDA Cruises",
"ship": "AIDAbella",
"start_date": "2026-01-01",
"duration_in_days": 7
},
"nationalities": [
"TR",
"ZA",
"AE"
],
"trip": {
"name": "Trip Name",
"start_date": "2025-01-01",
"end_date": "2025-01-07",
"reference": "INVOICE-1001",
"note": "string",
"cover_media": "string"
},
"tour_operators": [
"tour_operator_1",
"tour_operator_2"
],
"individual_contents": [
"my_content_1",
"my_content_2"
],
"cover_media": "string",
"show_country_info": false
}'{ "records": [ { … } ], "individual_content": { "name": "string", "success": true, "error": "string", "sections": [ … ] }, "tour_operators": [ { … } ], "trip_url": "https://travel-details.eu/en?tid=ABCD-EFGH-IJKL", "requestid": "d22f5305-05f3-48a0-9131-a4e6e5f58b9a", "responsetime": 0 }
Request
Get Overview of Entry Requirements for destinations as HTML, JSON or a PDF document.
Use:
.../content/overview/html - to show content in a web browser / HTML viewer.
.../content/overview/json - to show your own content based on data.
.../content/overview/pdf - to save & share content for offline viewing.
- https://api.passolution.eu/api/v2/content/overview/{type}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
'https://api.passolution.eu/api/v2/content/overview/html?lang=en&destinations=ES%2CFR%2CIT&nationalities=DE%2CAT&target_device=mobile' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>'{ "records": [ { … } ], "requestid": "d22f5305-05f3-48a0-9131-a4e6e5f58b9a", "responsetime": 0 }
Request
Get Entry Requirements for destinations as HTML, Text, JSON or a PDF document.
Use:
.../content/entry/html - to show content in a web browser / HTML viewer.
.../content/entry/text - to show content directly as text.
.../content/entry/json - to show your own content based on data.
.../content/entry/pdf - to save & share content for offline viewing.
Language code for response content.
Comma separated list of travellers' nationality codes.
- https://api.passolution.eu/api/v2/content/entry/{type}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
'https://api.passolution.eu/api/v2/content/entry/html?language=en&destinations=ES%2CFR%2CIT&nationalities=DE%2CAT&target_device=mobile' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"filters": {
"documents": {
"document_code": {
"entry_allowed": true
}
},
"additional_info": {
"list": {
"code": {
"status": "not_required"
}
}
}
}
}'{ "records": [ { … } ], "requestid": "d22f5305-05f3-48a0-9131-a4e6e5f58b9a", "responsetime": 0 }
Request
Get Visa Requirements for destinations as HTML, Text, JSON or a PDF document.
Use:
.../content/visa/html - to show content in a web browser / HTML viewer.
.../content/visa/text - to show content directly as text.
.../content/visa/json - to show your own content based on data.
.../content/visa/pdf - to save & share content for offline viewing.
Language code for response content.
Comma separated list of travellers' nationality codes.
- https://api.passolution.eu/api/v2/content/visa/{type}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
'https://api.passolution.eu/api/v2/content/visa/html?language=en&destinations=ES%2CFR%2CIT&nationalities=DE%2CAT&target_device=mobile' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"filters": {
"required": {
"status": "not_required"
},
"application": {
"foreign_representation": {
"available": true
},
"e_visa": {
"available": true
},
"on_arrival": {
"available": true
}
}
}
}'{ "records": [ { … } ], "requestid": "d22f5305-05f3-48a0-9131-a4e6e5f58b9a", "responsetime": 0 }
Request
Get Transit Visa Requirements for destinations as HTML, Text or a PDF document.
Use:
.../content/transit_visa/html - to show content in a web browser / HTML viewer.
.../content/transit_visa/text - to show content directly as text.
.../content/transit_visa/pdf - to save & share content for offline viewing.
- https://api.passolution.eu/api/v2/content/transit_visa/{type}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
'https://api.passolution.eu/api/v2/content/transit_visa/html?language=en&destinations=ES%2CFR%2CIT&nationalities=DE%2CAT&target_device=mobile' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>'{ "records": [ { … } ], "requestid": "d22f5305-05f3-48a0-9131-a4e6e5f58b9a", "responsetime": 0 }
Request
Get Health Requirements for destinations as HTML, Text, JSON or a PDF document.
Use:
.../content/health/html - to show content in a web browser / HTML viewer.
.../content/health/text - to show content directly as text.
.../content/health/json - to show your own content based on data.
.../content/health/pdf - to save & share content for offline viewing.
Language code for response content.
- https://api.passolution.eu/api/v2/content/health/{type}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
'https://api.passolution.eu/api/v2/content/health/html?language=en&destinations=ES%2CFR%2CIT&target_device=mobile' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"filters": {
"risk_groups": {
"pregnant": {
"has_risk": false
},
"child": {
"has_risk": false
}
},
"immunizations": {
"immunization_code": {
"required": true,
"recommended": true
}
},
"medication": {
"information": {
"insurance": {
"status": "not_required"
}
}
}
}
}'{ "records": [ { … } ], "requestid": "d22f5305-05f3-48a0-9131-a4e6e5f58b9a", "responsetime": 0 }
- https://api.passolution.eu/api/v2/content/country/{type}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
'https://api.passolution.eu/api/v2/content/country/html?language=en&destinations=ES%2CFR%2CIT' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>'{ "records": [ { … } ], "requestid": "d22f5305-05f3-48a0-9131-a4e6e5f58b9a", "responsetime": 0 }
Travel Details Links
Travel Details Link is a shareable link that you can create to share with your customers. This link allows the travellers to:
- Check destination entry requirements.
- Download entry requirements as PDF file for offline access.
- Subscribe & receive email notifications for important changes to entry requirements.