NAV Navbar
Logo
cURL

Overview

Welcome to the SimpleVisa API! You can use our API to access SimpleVisa API endpoints.

To get started using the SimpleVisa API:

What can the API do?

You can use the SimpleVisa API to retrieve or create travel authorizations for supported destinations.

Requests

The base URL for all requests to the SimpleVisa API is:

https://sandbox-api.simplevisa.com/v1

Our API is REST-based. This means:

POST data should be encoded as json application/json.

Authentication

To authorize, use this code:

# With shell, you can just pass the correct header with each request
curl "https://sandbox-api.simplevisa.com/usa-vwp/..."
  -H "x-api-key: bkayZOMvuy8aZOhIgxq94K9Oe7Y70Hw55"

Make sure to replace the demo key with your API key.

The SimpleVisa API requires authentication by API key. You can register a new SimpleVisa API key at our developer portal.

The actual header that is used will be like this:

x-api-key: bkayZOMvuy8aZOhIgxq94K9Oe7Y70Hw55

Most of the endpoints provided in the SimpleVisa API are in relation to a specific project. You’ll need to provide your project id and include it in the API call.

Webhooks

The webhook returns a JSON structured like this:

{
  "slug":"6yfuih",
  "applicationStatus": "Application Expired",
  "applicationNumber": null,
  "expirationDate": null
}

If you set a callback url in your project’s dashboard, the processing status will be sent out to your callback url as a POST.

Programs

This endpoint allows to define if a traveler is eligible for electronic visa for a specific destination.

Get Eligibility

To check eligibility for a traveler, use this code:

curl -X GET \
-H "x-api-key: bkayZOMvuy8aZOhIgxq94K9Oe7Y70Hw55" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
"https://sandbox-api.simplevisa.com/v1/programs?citizenship=CAN&destination=AUS&purpose=tourism"

The above command returns JSON structured like this:

[
    {
        "id": 768,
        "program": "aus-eta",
        "program_name": "ETA",
        "destination": "AUS",
        "destination_name": "Australia",
        "citizenship": "CAN",
        "citizenship_name": "Canada",
        "citizenship_iso_2": "CA",
        "purpose": "tourism",
        "passport_type": "any",
        "fee": "20.0",
        "currency": "aud",
        "validity": 365,
        "max_entries": 0,
        "max_stay": 90,
        "starting_date": "application_date",
        "processing_time": 5,
        "credits": "20.0",
        "supported": true,
        "created_at": "2017-05-14T13:56:10.236Z",
        "updated_at": "2017-05-14T13:56:10.236Z"
    }
]

Check eligibility based on traveler’s citizenship and destination.

HTTP Request

GET /programs

Query Parameters

Parameter Description Mandatory
citizenship ISO 3166-1 alpha-3 code of the citizenship country Yes
destination ISO 3166-1 alpha-3 code of the destination country Yes
purpose T (Tourism) or B (Business) No

Endpoints - USA ESTA

Create an application

To create an application, use this code:

curl -X POST \
-H "x-api-key: bkayZOMvuy8aZOhIgxq94K9Oe7Y70Hw55" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{
"projectCode": "SV",
"lastName": "Test",
"firstName": "Last Name",
"dob": "1958-09-23",
"birthCountry": "FR",
"citizenshipCountry": "FR",
"sex": "M",
"email": "applicantemail@domain.com",
"phoneA": "1",
"phoneP": "123456789",
"livingCountry": "FR",
"passportNumber": "01DS32415",
"passportIssuingCountry": "FR",
"passportIssuingDate": "2008-08-24",
"passportExpiringDate": "2018-08-24",
"applicantOtherNames": "no",
"applicantOtherCitizenshipAnswer": "no",
"applicantHomeAddressAddress1": "home address 1",
"applicantHomeAddressCity": "city",
"applicantHomeAddressState": "state",
"applicantHomeAddressCountryCode": "FR",
"applicantEmergencyContactPhoneCountryCode": "1",
"applicantEmergencyContactPhoneNumber": "123456",
"transit": "yes",
"applicantEmployed": "no",
"question_1": "no",
"question_2": "no",
"question_3": "no",
"question_4": "no",
"question_5": "no",
"question_6": "no",
"question_7": "no",
"question_8": "no"
}' "https://sandbox-api.simplevisa.com/v1/usa-esta/applications"

The above command returns JSON structured like this:

{
  "statusDateTime": "2017-03-25T18:24:52",
  "status": "success",
  "applicationCreationReference": 1977
}

or an error:

{
  "error": {
    "lastname": [
      "is too short (minimum is 1 character)",
      "can't be blank"
    ]
  }
}

Create an application from detailed traveller’s details.

HTTP Request

POST /v1/usa-esta/applications

Body

Parameter Description Mandatory
projectCode Project code provided by SimpleVisa Yes
lastName Applicant’s family name Yes
firstName Applicant’s given name (use FNU value for First Name Unknown) Yes
dob Applicant’s date of birth, in format YYYY-MM-DD Yes
applicantPlaceOfBirth String representing the place (city) of birth Yes
birthCountry ISO 3166-1 alpha-3 code of the country of birth Yes
citizenshipCountry ISO 3166-1 alpha-3 code for the main citizenship of the applicant.
sex Sex of the applicant. Possible values are M or F Yes
email Applicant’s email Yes
phoneA Phone country code in number format (without + or other characters) Yes
phoneP Phone number without the country code Yes
livingCountry ISO 3166-1 alpha-3 code for the living country of the applicant. Yes
passportNumber Passport number limited to 9 digits Yes
passportIssuingCountry ISO 3166-1 alpha-3 code for the passport issuing country Yes
passportIssuingDate Passport issuing date in YYYY-MM-DD format Yes
passportExpiringDate Passport expiring date in YYYY-MM-DD format Yes
applicantNationalId National ID number if any No
applicantOtherNames Is the applicant know under other names and aliases? no or yes No
applicantAliasesLastName0 Applicant’s other last name (goes together with other first name) No
applicantAliasesFirstName0 Applicant’s other first name. For additional aliases. No
applicantOtherCitizenshipAnswer Does applicant have other citizenships (passports)? yes or no Yes
applicantOtherCitizenshipCountryOfIssue0 Other passport issuing country in ISO 3166-1 alpha-3 format. No
applicantOtherCitizenshipPassportNumber0 Other passport number in 9 digits number (can be UNKNOWN) No
applicantOtherCitizenshipCountryReason0 Reason for other citizenship (1 => By Birth, 2 => Through parents, 3 => Naturalized, 4 => Other ) No
applicantOtherCitizenshipCountryReason0Other If reason is 4 Other, then describe the reason here. No
applicantFatherFirstName Applicant’s father first name (or UNKNOWN) Yes
applicantFatherLastName Applicant’s father last name (or UNKNOWN) Yes
applicantMotherFirstName Applicant’s mother first name (or UNKNOWN) Yes
applicantMotherLastName Applicant’s mother last name (or UNKNOWN) Yes
applicantHomeAddressAddress1 Applicant home address line 1 Yes
applicantHomeAddressCity Applicant city Yes
applicantHomeAddressState Applicant state / province / region Yes
applicantHomeAddressCountryCode ISO 3166-1 alpha-3 code of applicant’s home address. Yes
applicantEmergencyContactLastName Emergency contact last name Yes
applicantEmergencyContactFirstName Emergency contact first name Yes
applicantEmergencyContactPhoneCountryCode Emergency contact phone country code Yes
applicantEmergencyContactPhoneNumber Emergency contact phone number Yes
applicantEmergencyContactEmailAddress Emergency contact email Yes
transit Is the travel to the US occurring in transit to another country? yes or no Yes
usContactFirstName if the flight is not transiting, US Contact first name Yes
usContactLastName if the flight is not transiting, US Contact first name Yes
usContactAddressAddress1 US Contact address line 1 Yes
usContactAddressAddress2 US Contact address line 2 No
usContactAddressCity US Contact city Yes
usContactAddressState US Contact state in 2 letters format Yes
usContactPhoneNumber US Contact phone number Yes
usAddressLine1 Address while in the US line 1 Yes
usAddressLine2 Address while in the US line 2 No
usAddressCity Address while in the US city Yes
usAddressState Address while in the US State Yes
applicantEmployed Is the applicant employed? Yes
applicantEmployerOrgName If the applicant is employed, the name of his employer No
applicantEmployerAddressAddress1 Employer’s address No
applicantEmployerAddressAddress2 Employer’s address line 2 No
applicantEmployerAddressCity Employer’s address city No
applicantEmployerAddressState Employer’s address state/province No
applicantEmployerAddressCountryCode Employer’s country code in ISO 3166-1 alpha-3 No
question_1 Answer to question 1 yes or no* Yes
question_2 Answer to question 2 yes or no* Yes
question_3 Answer to question 3 yes or no* Yes
question_4 Answer to question 4 yes or no* Yes
question_5 Answer to question 5 yes or no* Yes
question_6 Answer to question 6 yes or no* Yes
question_7 Answer to question 7 yes or no* Yes
question_8 Answer to question 8 yes or no* Yes
question_9 Answer to question 9 yes or no* Yes
Questions
1. Do you have a physical or mental disorder; or are you a drug abuser or addict; or do you currently have any of the following diseases (communicable diseases are specified pursuant to section 361(b) of the Public Health Service Act)
2. Have you ever been arrested or convicted for a crime that resulted in serious damage to property, or serious harm to another person or government authority?
3. Have you ever violated any law related to possessing, using, or distributing illegal drugs?
4. Do you seek to engage in or have you ever engaged in terrorist activities, espionage, sabotage, or genocide?
5. Have you ever committed fraud or misrepresented yourself or others to obtain, or assist others to obtain, a visa or entry into the United States?
6. Are you currently seeking employment in the United States or were you previously employed in the United States without prior permission from the U.S. government?
7. Have you ever been denied a U.S. visa you applied for with your current or previous passport, or have you ever been refused admission to the United States or withdrawn your application for admission at a U.S. port of entry?
8. Have you ever stayed in the United States longer than the admission period granted to you by the U.S. government?
9. Have you traveled to, or been present in Iraq, Syria, Iran, Sudan, Libya, Somalia or Yemen on or after March 1, 2011?

Check the status of an application

Check the status of a visa created from the SimpleVisa API

curl -X GET \
-H "x-api-key: bkayZOMvuy8aZOhIgxq94K9Oe7Y70Hw55" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
"https://sandbox-api.simplevisa.com/v1/usa-esta/:id"

The above command returns JSON structured like this:

{
  "slug": "id",
  "application_status": "Authorization Approved",
  "application_number": "application number",
  "application_expiry": "expiry date",
  "processing_status": "complete"
}

Check the status of a visa created from the SimpleVisa API

HTTP Request

GET /usa-esta/:id

Query Parameters

Parameter Description
id SimpleVisa’s provided application ID

Retrieve an application made outside of SimpleVisa

To retrieve an application, use this code:

curl -X GET \
-H "x-api-key: bkayZOMvuy8aZOhIgxq94K9Oe7Y70Hw55" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
"https://sandbox-api.simplevisa.com/v1/usa-esta/applications?dob=1932-05-21&firstName=John&lastName=Smith&passportNumber=08RD55342&passportIssuingCountry=FR"

The above command returns JSON structured like this:

{
  "status": "success",
  "statusDateTime": "2017-03-25T17:46:04.127+00:00",
  "data": {
    "applicationStatus": "Application Expired",
    "applicationNumber": null,
    "expirationDate": null
  }
}

Retrieve an application from a traveler’s passport details. Allows to check if a new application is needed.

HTTP Request

GET /v1/usa-esta/applications

Query Parameters

Parameter Description
firstName Applicant’s given name
lastName Applicant’s last name
dob Applicant’s date of birth in format YYYY-MM-DD
passportNumber Applicant’s passport number.
passportIssuingCountry The ISO 3166-1 alpha-3 code of the traveler’s passport issuing country.

Possible responses

Result Description
Authorization Approved The application is approved. An applicationNumber and expirationDate comes with the result.
Application Expired The application has expired and needs to be renewed (create a new one).
Authorization Pending The application is still processing.
Travel Not Authorized The application is not approved and the traveler needs to apply for a regular visa.

Endpoints - Australia eVisitor

Create

To create an application, use this code:

curl -X POST \
-H "x-api-key: token"
-H "Accept: application/json"
-H "Content-Type: application/json"
-d '{
      "family_name": "James",
      "sex": "female",
      "country_of_birth": "usa",
      "country_of_residence": "usa",
      "passport_number": "FAKE1",
      "country_of_passport": "usa",
      "passport_nationality": "usa",
      "passport_date_of_issue": "2017-03-30",
      "passport_date_of_expiry": "2017-03-30",
      "issuing_authority": "MyString",
      "country_1": "fra",
      "country_2": "fra",
      "other_names": "yes",
      "purpose_of_stay": "tourist",
      "email": "james@example.com",
      "date_of_birth": "2017-03-30",
      "project_code": "6876391834"
}' "https://sandbox-api.simplevisa.com/v1/aus-evisitor/applications"

The above command returns JSON structured like this:

{
  "statusDateTime":"2017-06-08T15:12:18",
  "status":"success",
  "applicationCreationReference":317
}

or an errors:

{
  "error": {
    "lastname": [
      "is too short (minimum is 1 character)",
      "can't be blank"
    ]
  }
}
{
  "error":{
    "authentication":[
      "invalid credentials"
    ]
  }
}
{
  "error":{
    "initial_check":[
      "please provide country_of_passport to define a cost"
    ]
  }
}
{
  "error":{
    "initial_check":[
      "program not found"
    ]
  }
}
{
  "error":{
    "initial_check":[
      "invalid project"
    ]
  }
}
{
  "error":{
    "initial_check":[
      "insufficient credits"
    ]
  }
}

Create an ETA application from detailed traveller’s details.

HTTP Request

POST /aus-evisitor/applications

Body

Parameter Description
project_code Project code provided by SimpleVisa
given_name Traveler’s given (first) name
family_name Traveler’s family (last) name
sex Sex of the traveler (male or female)
country_of_birth
country_of_residence
passport_number Maximum 9 characters
country_of_passport
passport_nationality
passport_date_of_issue Passport issuing date in YYYY-MM-DD format
passport_date_of_expiry Passport expiring date in YYYY-MM-DD format
issuing_authority
country_1 Optional, second country of citizenship
country_2 Optional, third country of citizenship
other_names Does the traveler has other names? yes or no
purpose_of_stay Tourist or Business
email Valid email format
date_of_birth Date of birth in YYYY-MM-DD format

Check the status of an application

Check the status of a visa created from the SimpleVisa API

curl -X GET \
-H "x-api-key: bkayZOMvuy8aZOhIgxq94K9Oe7Y70Hw55" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
"https://sandbox-api.simplevisa.com/v1/aus-evisitor/:id"

The above command returns JSON structured like this:

{
  "slug": "id",
  "application_status": "Authorization Approved",
  "application_number": "application number",
  "application_expiry": "expiry date",
  "processing_status": "complete"
}

Check the status of a visa created from the SimpleVisa API

HTTP Request

GET /aus-evisitor/:id

Query Parameters

Parameter Description
id SimpleVisa’s provided application ID

Endpoints - Australia Eta

Create an ETA application

To create an application, use this code:

curl -X POST \
-H "x-api-key: token" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{
  "project_code": "your_project_code",
  "eta_type": "T",
  "location_code": "AUT",
  "family_name": "James",
  "given_names": "Hetfield",
  "sex": "M",
  "dob_cal": "1980-03-29",
  "cob": "AUT",
  "alias": "N",
  "criminal_record": "N",
  "nationality_code": "USA",
  "country_of_passport": "USA",
  "passport_number": "passport_number",
  "passport_issue_cal": "2016-08-22",
  "passport_expiry_cal": "2026-08-22",
  "issuing_authority": "USA",
  "home_address_street": "Jl. Santa Aji",
  "home_address_city": "Jakarta",
  "home_address_state": "West Java",
  "home_address_postcode": "40193",
  "home_address_country": "IDN",
  "home_telephone_country": "62",
  "home_telephone_area": "22",
  "home_telephone_number": "5555555",
  "email_address": "foo@example.com",
  "communication_method": "N",
  "other_citizenships": "N"
}' "https://sandbox-api.simplevisa.com/v1/aus-eta/applications"

The above command returns JSON structured like this:

{
  "statusDateTime":"2017-06-08T15:12:18",
  "status":"success",
  "applicationCreationReference":317
}

or an errors:

{
  "error":{
    "authentication":[
      "invalid credentials"
    ]
  }
}
{
  "error":{
    "initial_check":[
      "please provide country_of_passport to define a cost"
    ]
  }
}
{
  "error":{
    "initial_check":[
      "program not found"
    ]
  }
}
{
  "error":{
    "initial_check":[
      "invalid project"
    ]
  }
}
{
  "error":{
    "initial_check":[
      "insufficient credits"
    ]
  }
}

Create an ETA application from detailed traveller’s details.

HTTP Request

POST /aus-eta/applications

Body

Parameter Description
project_code Project code provided by SimpleVisa
eta_type T or B (Tourist or Business)
location_code location country, 3 digits
family_name maximum 24 characters
given_names maximum 24 characters
sex F, M or U (Female, Male or Unknown)
dob_cal Date Of Birth, YYYY-MM-DD
cob Country of Birth, 3 digits
alias Y or N (Yes or No)
criminal_record Y or N (Yes or No)
nationality_code BRN, CAN, HKG, JPN, MYS, SGP, KOR, USA
country_of_passport BRN, CAN, HKG, JPN, MYS, SGP, KOR, USA
passport_number maximum 14 characters
passport_issue_cal YYYY-MM-DD
passport_expiry_cal YYYY-MM-DD
issuing_authority maximum 60 chars
home_address_street maximum 50 chars
home_address_city maximum 30 chars
home_address_state maximum 20 chars
home_address_postcode maximum 12 chars
home_address_country 3 digits
home_telephone_country maximum 4 chars, numeric only
home_telephone_area maximum 5 chars, numeric only
home_telephone_number maximum 15 chars, numeric only
email_address valid email address
other_citizenships Y or N (Yes or No)

Check the status of an application

Check the status of a visa created from the SimpleVisa API

curl -X GET \
-H "x-api-key: bkayZOMvuy8aZOhIgxq94K9Oe7Y70Hw55" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
"https://sandbox-api.simplevisa.com/v1/aus-eta/:id"

The above command returns JSON structured like this:

{
  "slug": "id",
  "applicationStatus": "approved",
  "applicationNumber": "application number",
  "applicationExpiry": "expiry date",
  "processingStatus": "completed"
}

Check the status of a visa created from the SimpleVisa API

HTTP Request

GET /aus-eta/:id

Query Parameters

Parameter Description
id SimpleVisa’s provided application ID

Endpoints - Canada ETA

Create a Canada ETA

To create an application, use this code:

curl -X POST \
-H "x-api-key: token" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{
  "project_code": "project_code",
  "country_of_citizenship": "Australia",
  "issue_date": "2017-02-01",
  "expiry_date": "2018-02-01",
  "passport_number": "pass_num",
  "contact_detail_country": "Indonesia",
  "country_of_birth": "Malaysia",
  "passport_noted_nationality": "Australia",
  "city_of_birth": "Jakarta",
  "contact_detail_district": "DKI",
  "contact_detail_email": "foo@example.com",
  "contact_detail_street_number": "27",
  "contact_detail_street_address": "Street name",
  "contact_detail_city": "Surabaya",
  "criminal_of_offence": "No",
  "dob": "1975-02-01",
  "first_name": "James",
  "gender": "Female",
  "has_previously_applied_to_canada": "No",
  "is_travel_date_known": "No",
  "last_name": "Kirk",
  "language_preference": "English",
  "marital_status": "Married",
  "medical_treatment": "No",
  "occupation": "Homemaker",
  "refused_visa_or_permit_or_denied": "No",
  "travel_document_type": "Passport - ordinary/regular",
  "tuberclosis": "No"
}' "https://sandbox-api.simplevisa.com/v1/can-eta/applications"

The above command returns JSON structured like this:

{
  "statusDateTime":"2017-06-08T15:12:18",
  "status":"success",
  "applicationCreationReference":317
}

or an errors:

{
  "error":{
    "authentication":[
      "invalid credentials"
    ]
  }
}
{
  "error":{
    "initial_check":[
      "please provide country_of_passport to define a cost"
    ]
  }
}
{
  "error":{
    "initial_check":[
      "program not found"
    ]
  }
}
{
  "error":{
    "initial_check":[
      "invalid project"
    ]
  }
}
{
  "error":{
    "initial_check":[
      "insufficient credits"
    ]
  }
}

Create an ETA application from detailed traveller’s details.

HTTP Request

POST /can-eta/applications

Body

Parameter Description
project_code mandatory, Project code provided by SimpleVisa
issue_date mandatory, passport issuing date, yyyy-mm-dd
expiry_date mandatory, passport expiring date, yyyy-mm-dd
passport_number mandatory, maximum 9 chars, minimum 6 chars
contact_detail_district mandatory, maximum 255 chars
contact_detail_email mandatory, valid email address
contact_detail_street_number mandatory, maximum 255 chars
contact_detail_street_address mandatory, maximum 255 chars
contact_detail_city mandatory, maximum 255 chars
contact_detail_country mandatory, see table CanadaEtaCountry
country_of_citizenship mandatory, see table CanadaEtaCountry
country_of_birth mandatory, see table CanadaEtaCountry
passport_noted_nationality mandatory, see table CanadaEtaCountry
city_of_birth mandatory, maximum 255 chars
language_preference mandatory, English (default)
dob mandatory, date of birth, yyyy-mm-dd
first_name mandatory, maximum 255 chars
last_name mandatory, maximum 255 chars
gender mandatory, Male, Female, Unspecified
has_previously_applied_to_canada mandatory, yes, no
is_travel_date_known mandatory, yes, no
criminal_of_offence mandatory, yes, no
medical_treatment mandatory, yes, no
tuberclosis mandatory, yes, no
refused_visa_or_permit_or_denied mandatory, yes, no
marital_status mandatory, Married, Legally Separated, Divorced, Annulled Marriage,Widowed, Common-Law, Never Married/Single
occupation mandatory, Homemaker, Retired, Student, Unemployed, Art, culture, recreation and sport occupations, Business, finance and administration occupations, Education, law and social, community and government services occupations, Health occupations, Management occupations, Manufacturing and utilities occupations, Military/armed forces, Natural and applied sciences and related occupations, Natural resources, agriculture and related production occupations, Sales and service occupations, Trades, transport and equipment operators and related occupations
travel_document_type mandatory, Passport - ordinary/regular, Passport- diplomatic, Passport - official, Passport - service, Emergency/temporary travel document, Refugee travel document, Alien passport/travel document issued for non-citizens, Permit to re-enter the United States (I-327), U.S. Refugee travel document (I-571)
job_title optional, maximum 255 chars
travel_date optional (if is_travel_date_known set to yes), yyyy-mm-dd
travel_date_time_timezone optional, valid timezone
usa_resident_card_number optional, maximum 9 chars
usa_resident_card_expiry_date optional, yyyy-mm-dd

Check the status of an application

Check the status of a visa created from the SimpleVisa API

curl -X GET \
-H "x-api-key: bkayZOMvuy8aZOhIgxq94K9Oe7Y70Hw55" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
"https://sandbox-api.simplevisa.com/v1/can-eta/:id"

The above command returns JSON structured like this:

{
  "slug": "id",
  "application_status": "Authorization Approved",
  "application_number": "application number",
  "application_expiry": "expiry date",
  "processing_status": "complete"
}

Check the status of a visa created from the SimpleVisa API

HTTP Request

GET /can-eta/:id

Query Parameters

Parameter Description
id SimpleVisa’s provided application ID

Retrieve a Canada eTA from application number (made outside of SimpleVisa)

To retrieve an application, use this code:

curl -X GET \
-H "x-api-key: bkayZOMvuy8aZOhIgxq94K9Oe7Y70Hw55" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
"https://sandbox-api.simplevisa.com/v1/can-eta/get_info?application_number=VFOOBAR&country_of_issue=any&expiry_date_day=02&expiry_date_month=January&expiry_date_year=2017&issue_date_day=02&issue_date_month=January&issue_date_year=2017&passport_number=FOOBAR"

The above command returns JSON structured like this:

{}

Retrieve an application from a traveler’s passport details. Allows to check if a new application is needed.

HTTP Request

GET /can-eta/get_info

Query Parameters

Parameter Description
country_of_issue any string,
issue_date_year 4 digits year number
issue_date_month January, February, March, April, May, June, July, August, September, October, November, December
issue_date_day 2 digits day number,
expiry_date_year 4 digits year number
expiry_date_month January, February, March, April, May, June, July, August, September, October, November, December
expiry_date_day 2 digits day number,
application_number must be started with letter “V” and be no longer than 25 chars
passport_number should be no longer than 9 chars and less than 6 chars

Possible responses

The above command returns JSON structured like this:

{}

or an error:

{
  "error":{
    "issue_date_month":["is invalid"]
  }
}

Endpoints - Turkey eVisa

Create an application

To create an application, use this code:

curl -X POST \
curl -X POST \
-H "x-api-key: your_api_key" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{
  "travel_document": "UMP",
  "country": "USA",
  "arrival_date": "2017-11-01",
  "firstname": "Johan",
  "surname": "Ssmith",
  "dob": "1975-01-01",
  "pob": "city",
  "mother_name": "Joan",
  "father_name": "Jim",
  "passport_number": "55555555",
  "passport_issue_date": "2017-01-01",
  "passport_expiry_date": "2019-01-01",
  "email": "foo@exmple.com",
  "phonenumber": "88888888",
  "address": "address",
  "project_code": "6651526236"
}' "https://sandbox-api.simplevisa.com/v1/tur-evisa/applications"

The above command returns JSON structured like this:

{
  "statusDateTime": "2017-03-25T18:24:52",
  "status": "success",
  "applicationCreationReference": 1977
}

or an error:

{
  "error": {
    "lastname": [
      "is too short (minimum is 1 character)",
      "can't be blank"
    ]
  }
}

Create an application from detailed traveller’s details.

HTTP Request

POST /tur-evisa/applications

Body

Parameter Description Mandatory
project_code Project code provided by SimpleVisa Yes
travel_document only UMP supported Yes
country 3 digits country code Yes
arrival_date arrival date, yyyy-mm-dd format Yes
firstname maximum 50 chars Yes
surname maximum 50 chars No
dob date of birth, yyyy-mm-dd format Yes
pob place of birth, maximum 40 chars Yes
mother_name maximum 40 chars No
father_name maximum 40 chars No
passport_number valid passport number Yes
passport_issue_date yyyy-mm-dd format Yes
passport_expiry_date yyyy-mm-dd format Yes
email valid email format Yes
phonenumber maximum 19 chars, numeric only Yes
address maximum 255 chars No

Check the status of an application

Check the status of a visa created from the SimpleVisa API

curl -X GET \
-H "x-api-key: bkayZOMvuy8aZOhIgxq94K9Oe7Y70Hw55" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
"https://sandbox-api.simplevisa.com/v1/tur-evisa/:id"

The above command returns JSON structured like this:

{
  "slug": "id",
  "application_status": "Authorization Approved",
  "application_number": "application number",
  "application_expiry": "expiry date",
  "processing_status": "complete"
}

Check the status of a visa created from the SimpleVisa API

HTTP Request

GET /tur-evisa/:id

Query Parameters

Parameter Description
id SimpleVisa’s provided application ID

Errors

Error responses include details about what went wrong.

HTTP/1.1 400 Bad Request
Content-Type: application/vnd.api+json

{
  "error": {
    "status": "error",
    "errorCode": 6001,
    "statusDateTime": "2017-03-25T17:46:04.127+00:00",
    "errorMessage": "Error message"
    }
 }

Error responses include details about what went wrong.

Resources

Approval Guidelines

Once you’ve registered for a developer account, you’ll be put into a queue to be considered for a production API key. Below you’ll find some guidelines for getting approved.

Here are some good use cases for the API:

You will most likely not be approved for a production key in these scenarios: