Skip to 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.

Languages
Servers
https://api.passolution.eu/api/v2

API Service

Get basic information about the API service like its health and version.

GET /health - Health Information

GET /version - Version Information

Operations

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

Operations

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

Operations

Entry Requirements

Get Travel Requirements for destinations based on travellers' nationalities.

HTTP GET request can be used for all endpoints if parameters can be supplied as simple query fields.
Eg: GET .../endpoint?destinations=ES,FR,IT&nationalities=DE,AT

Operations

Request

Get list of destinations / countries that meet traveller's preferences & eligibility.
See examples below

Security
oAuth or bearerAuth
Query
languagestring

Language code for response content.

Default "de"
Enum"de""en""fr""it""nl""pl""es""pt""ru""bg"
Example: language=en
sort_bystring

Specify field to sort destinations by.

Default "code"
Enum"code""name"
sort_orderstring

Specify order for sorting.

Default "asc"
Enum"asc""desc"
Bodyapplication/json

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.

entryobject
visaobject
healthobject
fieldsobject
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
      }
    }
  }'

Responses

List of matching destinations.

Bodyapplication/json
destinationsArray of objects
requestidstring(uuid)

Unique Request ID identifying this request.

responsetimenumber

Time taken to generate response.

Response
application/json
{ "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

Security
oAuth or bearerAuth
Path
typeanyrequired
Enum"html""text""pdf"
Example: html
Query
target_devicestring

Send this parameter if the content is to be displayed on a device with limited screen space.

Value"mobile"
Bodyapplication/json

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.create feature .

{
  "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."
  }
}
languagestring
Default "de"
Enum"de""en""fr""it""nl""pl""es""pt""ru""bg"
Example: "en"
destinationsArray of strings or objects

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_idstring

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.cruise feature .

cruiseobject

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.cruise feature .

Example:

{
  "cruise": {
    "operator": "AIDA Cruises",
    "ship": "AIDAbella",
    "start_date": "2026-01-01",
    "duration_in_days": 7
  }
}
nationalitiesArray of strings

List of travellers' nationalities.

Example: ["TR","ZA","AE"]
tripobject

Basic information about the trip.

Requires access to customer.travel_detail_link.create feature .

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"
  }
}
tour_operatorsArray of strings

Specify tour operator codes whose information should be shown to travellers.

Requires access to content.tour_operator feature .

Example: ["tour_operator_1","tour_operator_2"]
individual_contentsArray of strings

Specify Individual Content (your own content) section codes which should be shown to travellers.

Requires access to content.tour_operator feature .

Example: ["my_content_1","my_content_2"]
cover_mediastring

Selects cover media to be displayed on the enduser link.
Use UUID retrieved from .../travel-details/media endpoint.

show_country_infoboolean or null
Default false
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
  }'

Responses

Entry requirements in requested format.

If .../content/all/pdf endpoint is used, response will be a PDF file instead.

Bodyapplication/json
recordsArray of objects
individual_contentobject
tour_operatorsArray of objects or null
trip_urlstring(url)
Example: "https://travel-details.eu/en?tid=ABCD-EFGH-IJKL"
requestidstring(uuid)

Unique Request ID identifying this request.

responsetimenumber

Time taken to generate response.

Response
application/json
{ "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.

Security
oAuth or bearerAuth
Path
typeanyrequired
Enum"html""json""pdf"
Example: html
Query
langstring

Language code for response content.

Default "de"
Enum"de""en""fr""it""nl""pl""es""pt""ru""bg"
Example: lang=en
destinationsstring

Comma separated list of destination country codes.

Example: destinations=ES,FR,IT
nationalitiesstring

Comma separated list of travellers' nationality codes.

Example: nationalities=DE,AT
target_devicestring

Send this parameter if the content is to be displayed on a device with limited screen space.

Value"mobile"
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>'

Responses

The response depends on value of type path parameter.

If .../content/overview/pdf endpoint is used, response will be a PDF file instead.

Bodyapplication/json
One of:

Note: You are viewing response for .../content/overview/html endpoint.

recordsArray of objects
requestidstring(uuid)

Unique Request ID identifying this request.

responsetimenumber

Time taken to generate response.

Response
application/json
{ "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.

Security
oAuth or bearerAuth
Path
typeanyrequired
Enum"html""text""json""pdf"
Example: html
Query
languagestring

Language code for response content.

Default "de"
Enum"de""en""fr""it""nl""pl""es""pt""ru""bg"
Example: language=en
destinationsstring

Comma separated list of destination country codes.

Example: destinations=ES,FR,IT
nationalitiesstring

Comma separated list of travellers' nationality codes.

Example: nationalities=DE,AT
target_devicestring

Send this parameter if the content is to be displayed on a device with limited screen space.

Value"mobile"
Bodyapplication/json
filtersobject
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"
          }
        }
      }
    }
  }'

Responses

The response depends on value of type path parameter.

If .../content/entry/pdf endpoint is used, response will be a PDF file instead.

Bodyapplication/json
One of:

Note: You are viewing response for .../content/entry/html endpoint.

recordsArray of objects
requestidstring(uuid)

Unique Request ID identifying this request.

responsetimenumber

Time taken to generate response.

Response
application/json
{ "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.

Security
oAuth or bearerAuth
Path
typeanyrequired
Enum"html""text""json""pdf"
Example: html
Query
languagestring

Language code for response content.

Default "de"
Enum"de""en""fr""it""nl""pl""es""pt""ru""bg"
Example: language=en
destinationsstring

Comma separated list of destination country codes.

Example: destinations=ES,FR,IT
nationalitiesstring

Comma separated list of travellers' nationality codes.

Example: nationalities=DE,AT
target_devicestring

Send this parameter if the content is to be displayed on a device with limited screen space.

Value"mobile"
Bodyapplication/json
filtersobject
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
        }
      }
    }
  }'

Responses

The response depends on value of type path parameter.

If .../content/visa/pdf endpoint is used, response will be a PDF file instead.

Bodyapplication/json
One of:

Note: You are viewing response for .../content/visa/html endpoint.

recordsArray of objects
requestidstring(uuid)

Unique Request ID identifying this request.

responsetimenumber

Time taken to generate response.

Response
application/json
{ "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.

Security
oAuth or bearerAuth
Path
typeanyrequired
Enum"html""text""pdf"
Example: html
Query
languagestring

Language code for response content.

Default "de"
Enum"de""en""fr""it""nl""pl""es""pt""ru""bg"
Example: language=en
destinationsstring

Comma separated list of destination country codes.

Example: destinations=ES,FR,IT
nationalitiesstring

Comma separated list of travellers' nationality codes.

Example: nationalities=DE,AT
target_devicestring

Send this parameter if the content is to be displayed on a device with limited screen space.

Value"mobile"
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>'

Responses

The response depends on value of type path parameter.

If .../content/transit_visa/pdf endpoint is used, response will be a PDF file instead.

Bodyapplication/json
One of:

Note: You are viewing response for .../content/transit_visa/html endpoint.

recordsArray of objects
requestidstring(uuid)

Unique Request ID identifying this request.

responsetimenumber

Time taken to generate response.

Response
application/json
{ "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.

Security
oAuth or bearerAuth
Path
typeanyrequired
Enum"html""text""json""pdf"
Example: html
Query
languagestring

Language code for response content.

Default "de"
Enum"de""en""fr""it""nl""pl""es""pt""ru""bg"
Example: language=en
destinationsstring

Comma separated list of destination country codes.

Example: destinations=ES,FR,IT
target_devicestring

Send this parameter if the content is to be displayed on a device with limited screen space.

Value"mobile"
Bodyapplication/json
filtersobject
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"
          }
        }
      }
    }
  }'

Responses

The response depends on value of type path parameter.

If .../content/health/pdf endpoint is used, response will be a PDF file instead.

Bodyapplication/json
One of:

Note: You are viewing response for .../content/health/html endpoint.

recordsArray of objects
requestidstring(uuid)

Unique Request ID identifying this request.

responsetimenumber

Time taken to generate response.

Response
application/json
{ "records": [ { … } ], "requestid": "d22f5305-05f3-48a0-9131-a4e6e5f58b9a", "responsetime": 0 }

Request

Get General Information about destinations as HTML or a PDF document.

Use:
.../content/country/html - to show content in a web browser / HTML viewer.
.../content/country/pdf - to save & share content for offline viewing.

Security
oAuth or bearerAuth
Path
typeanyrequired
Enum"html""pdf"
Example: html
Query
languagestring

Language code for response content.

Default "de"
Enum"de""en""fr""it""nl""pl""es""pt""ru""bg"
Example: language=en
destinationsstring

Comma separated list of destination country codes.

Example: destinations=ES,FR,IT
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>'

Responses

General Information about requested destinations.

If .../content/country/pdf endpoint is used, response will be a PDF file instead.

Bodyapplication/json
recordsArray of objects
requestidstring(uuid)

Unique Request ID identifying this request.

responsetimenumber

Time taken to generate response.

Response
application/json
{ "records": [ { … } ], "requestid": "d22f5305-05f3-48a0-9131-a4e6e5f58b9a", "responsetime": 0 }

Infosystem

Passolution Infosystem provides access to latest news & events for destinations all around the world.

We also have an endpoint that keeps you up to date with all things Passolution.

Operations
Operations
Operations