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 Visa Waiver

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-2 code of the country of birth Yes
citizenshipCountry ISO 3166-1 alpha-2 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-2 code for the living country of the applicant. Yes
passportNumber Passport number limited to 9 digits Yes
passportIssuingCountry ISO 3166-1 alpha-2 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-2 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-2 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, from list 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 from list 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
agreed_terms_1 Agreed to terms 1 yes or no* Yes
agreed_terms_2 Agreed to terms 2 yes or no* Yes
agreed_terms_3 Agreed to terms 3 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?

Terms

1. Disclaimer

The Electronic System for Travel Authorization performs checks against law enforcement databases. All travelers seeking admission to the United States under the Visa Waiver Program are required to obtain an electronic travel authorization using this system prior to being granted boarding.

If your electronic travel authorization application is approved, it establishes that you are eligible to travel, but does not establish that you are admissible to the United States under the Visa Waiver Program. Upon arrival to the United States, you will be inspected by a U.S. Customs and Border Protection Officer at a port of entry who may determine that you are inadmissible under the Visa Waiver Program or for any reason under United States law.

A determination that you are not eligible for electronic travel authorization does not preclude you from applying for a visa to travel to the United States.

All information provided by you, or on your behalf by a designated third party, must be true and correct. An electronic travel authorization may be revoked at any time and for any reason, such as new information influencing eligibility. You may be subject to administrative or criminal penalties if you knowingly and willfully make a materially false, fictitious, or fraudulent statement or representation in an electronic travel authorization application submitted by you or on your behalf.

WARNING: If upon application for admission to the United States at a port of entry you are admitted under the Visa Waiver Program (VWP) by a US Customs and Border Protection Officer, you may not accept unauthorized employment; or attend school; or represent the foreign information media during your visit under the program. You may not apply for: 1) a change of nonimmigrant status, 2) an extension of stay, or 3) adjustment of status to temporary or permanent resident, unless eligible under section 245©(4) of the Immigration and Nationality Act. Violation of these terms will subject you to REMOVAL.

Please indicate you have read and understand the information provided above:\ [] Yes, I have read and understand the information and agree to these terms.\ [] No, I decline to provide acknowledgment.

2. The Travel Promotion Act of 2009

On March 4, 2010, President Obama signed into law the Travel Promotion Act (TPA) of 2009, Pub. L. No. 111-145. The Act directs the Secretary of Homeland Security to establish a fee for the use of the ESTA system, comprised of $10.00 for each VWP applicant receiving authorization to travel to the United States and $4.00 for the processing of the ESTA application. Applicants who are denied authorization to travel to the U.S. under the VWP will only be charged $4.00. The fee may only be paid by credit card or PayPal. Applicants may save the application data and return to the application at a later date to enter the payment information. However, the application will not be submitted for processing until all payment information is completed.

WARNING: The administrative fee will be collected by credit card or PayPal. It is crucial that all applicants enter their ESTA and payment information accurately. If information is entered incorrectly, the applicant may be charged additional fees to reapply. Updates to an application will not accrue additional fees. Applicants who do not complete the payment process will not receive authorization to travel to the United States and will not be allowed to board any aircraft or vessel destined for the United States. If an applicant stops payment of the fee, his or her authorization to travel to the United States will be revoked. CBP is not responsible for additional fees that may be charged by the applicant’s credit card company or PayPal for the transaction. By pressing the “Apply” button in the application process, applicants agree not to dispute any administrative fee charged by CBP for the use of the ESTA system, and further acknowledge that there are no refunds.

Please indicate you have read and understand the information provided above:\ [] Yes, I have read and understand the information and agree to these terms.\ [] No, I decline to provide acknowledgment.

3. WAIVER OF RIGHTS

I have read and understand that I hereby waive for the duration of my travel authorization obtained via ESTA any rights to review or appeal of a U.S. Customs and Border Protection Officer’s determination as to my admissibility, or to contest, other than on the basis of an application for asylum, any removal action arising from an application for admission under the Visa Waiver Program.

In addition to the above waiver, as a condition of each admission into the United States under the Visa Waiver Program, I agree that the submission of biometric identifiers (including fingerprints and photographs) during processing upon arrival in the United States shall reaffirm my waiver of any rights to review or appeal of a U.S. Customs and Border Protection Officer’s determination as to my admissibility, or to contest, other than on the basis of an application for asylum, any removal action arising from an application for admission under the Visa Waiver Program.

[] I, the applicant, hereby certify that I have read, or have had read to me, all the questions and statements on this application and understand all the questions and statements on this application. The answers and information furnished in this application are true and correct to the best of my knowledge and belief.

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 /v1/usa-esta/:id

Query Parameters

Parameter Description
id SimpleVisa’s provided application ID

Possible statuses

PROCESSING_STATUSES = [ “completed”, “create applicant failed”, “new”, “paid”, “payment required”, “payment failed”, “mailer failed”, “refunded” ]

STATUSES = [ “approved”, “not authorized”, “new” ]

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 an eVisitor 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": "{{projectCode}}",
  "family_name":"Elvis",
  "given_names":"Hand",
  "sex":"Male",
  "country_of_birth":"fra",
  "country_of_residence":"fra",
  "phone_number":"5022088646",
  "passport_number":"00AA00000",
  "country_of_passport":"fra",
  "passport_nationality":"fra",
  "passport_date_of_issue":"2017-01-12",
  "passport_date_of_expiry":"2019-01-12",
  "issuing_authority":"fra",
  "other_names":"No",
  "purpose_of_stay":"Business",
  "email":"example@example.com",
  "date_of_birth":"1968-01-12",
  "address_line_1":"44167 Muller Tunnel",
  "suburb_town":"Wardberg",
  "state_or_province":"ILE-DE-FRANCE",
  "visa_grant_number": "foo",
  "visa_number": "foobar",
  "country_1": "deu",
  "country_2": "swe",
  "address_line_2": "2nd line",
  "postcode":"12345"
}' "https://sandbox-api.simplevisa.com/v1/aus-evisitor/applications"

The above command returns JSON structured like this:

{
  "statusDateTime": "2018-01-12T18:32:37",
  "status": "success",
  "processingStatus": "new",
  "applicationCreationReference": "begwnblk"
}

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 Type Description Required
project_code String Project code TRUE
family_name String Applicant Family Name TRUE
given_names String Applicant Given Name TRUE
phone_number String Phone Number TRUE
email String Email TRUE
country_of_birth String Country of birth from list TRUE
date_of_birth Date Date of birth YYYY-MM-DD TRUE
sex String Sex of applicant M or F TRUE
passport_number String Passport number TRUE
passport_nationality String Passport nationality from list TRUE
issuing_authority String Passport Issuing Authority TRUE
visa_grant_number String If you have an Australian visa grant number, please enter the visa grant number FALSE
visa_number String If you have a current Australian visa label in your current or previous passport, please enter the visa number FALSE
passport_date_of_issue Date Passport date of issue YYYY-MM-DD TRUE
passport_date_of_expiry Date Passport date of expiration YYYY-MM-DD TRUE
country_1 String If you hold citizenship of any countries other than the country listed in your passport, provide details. From list FALSE
country_2 String If you hold citizenship of any countries other than the country listed in your passport, provide details. From list FALSE
country_of_passport String Passport country from list TRUE
purpose_of_stay String Purpose of stay Tourist or Business TRUE
other_names String Does the traveler has other names? yes or no FALSE
other_given_names String Other given name if other_names is yes
other_family_name String Other family name if other_names is yes
address_line_1 String Applicant Address line 1 TRUE
address_line_2 String Applicant Address line 2 FALSE
suburb_town String Applicant Address city TRUE
country_of_residence String Country of residence from list TRUE
state_or_province String Province from list, or input field if country is not in list, optional if not in province list. TRUE
postcode String Applicant post code / zip code FALSE

Terms

[] I have read and agree to the terms and conditions:

Terms can be shown on one external terms page:

1. Information for Australian citizens

Australian citizens cannot be granted a visa for Australia. When travelling to and entering Australia, all Australians, including those who hold dual nationality, must be able to prove that they are an Australian citizen. An Australian passport is conclusive evidence of a person’s identity and citizenship, and provides the holder with unfettered right of entry to Australia. If you have any questions concerning entry to Australia, please contact your nearest Australian overseas mission.

2. Relationship Status in Australia

Same-sex partners legally married overseas are not recognised as being in a valid marriage by the Marriage Act 1961. Visa applications by same-sex partners, whether married overseas or not, are therefore assessed using the definition of de facto partner.

3. Using this website

By using this website you accept the following conditions:

The Commonwealth of Australia accepts no responsibility for the completeness or accuracy of any of the information contained on or accessed through this site and makes no representations about its suitability for any particular purpose. Users should make their own judgements about those matters. To the extent permitted by law, the Commonwealth excludes all liability for loss or damage arising from the use of, or reliance on, the information contained on or accessed through this website whether or not caused by any negligence on the part of the Commonwealth or its agents.

Information or materials which are offensive, pornographic, unsuitable for minors’ access or otherwise of a criminal or violent nature may be accessible through this site either as a result of hacking or material placed on linked websites. The Department makes no representations as to the suitability of the information accessible for viewing by minors or any other person.

You assume all risks associated with use of the website, including:

Your use of this website will be logged for the purpose of security and usage monitoring.

Unauthorised use of this website could result in criminal prosecution.

4. Diclosure to other agencies

The information you provide may be disclosed to:

The information you provide, including the results of any tests for Human Immunodeficiency Virus (HIV), will be used to assess your health for the purpose of determining your eligibility for the grant of an Australian visa. A positive HIV or other test results will not necessarily lead to the visa for which you have applied being refused, but it may mean that your result(s) will be disclosed to other relevant Commonwealth and State/Territory Health agencies.

5. Information for 457 sponsors and applicants

Sponsors and applicants for subclass 457 Temporary Business (Long Stay) visas should be aware of the following additional terms and conditions:

6. Important information about your privacy

Your personal information is protected by law, including the Privacy Act 1988. Important information about the collection, use and disclosure (to other agencies and third parties, including overseas entities) of your personal information, including sensitive information, is contained in form 1442i Privacy Notice. Form 1442i is available from the department’s website www.border.gov.au/allforms/ or offices of the department. You should ensure that you read and understand form 1442i before completing this form.

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

Possible statuses

PROCESSING_STATUSES = [ “new”, “account created”, “account verified”, “application created”, “create application failed”, “completed”, “refunded” ]

STATUSES = [“approved”, ‘not authorized’]

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)

Terms

[] I have read and agree to the terms and conditions:

Terms can be shown on one external terms page:

1. Using this website

By using this website you accept the following conditions:

The Commonwealth of Australia accepts no responsibility for the completeness or accuracy of any of the information contained on or accessed through this site and makes no representations about its suitability for any particular purpose. Users should make their own judgements about those matters. To the extent permitted by law, the Commonwealth excludes all liability for loss or damage arising from the use of, or reliance on, the information contained on or accessed through this website whether or not caused by any negligence on the part of the Commonwealth or its agents Information or materials which are offensive, pornographic, unsuitable for minors’ access or otherwise of a criminal or violent nature may be accessible through this site either as a result of hacking or material placed on linked websites. The department makes no representations as to the suitability of the information accessible for viewing by minors or any other person. You assume all risks associated with use of the website, including: the risk of your computer, software or data being damaged by any virus which might be transmitted or activated via the website or your access to it; and the risk that the content of this website and linked websites does not comply with the laws of any country outside Australia. Your use of this website will be logged for the purpose of security and usage monitoring. Unauthorised use of this website could result in criminal prosecution.

2. Privacy act

The Privacy Act 1988 is the key law designed to safeguard personal information collected by Government agencies. Federal Government agencies (including this Department) must comply with the Information Privacy Principles in section 14 of the Privacy Act 1988 when collecting, using and disclosing your personal information.

3. About the information you give this form

The Department is authorised to collect information provided on this form under the Migration Act 1958.

The information provided will be used for:

assessing your eligibility to be granted the visa for which you have applied; and other purposes relating to the administration of the Migration Act, for example, to assist migrants with settling in Australia, to monitor the conduct of migration agents, or for ensuring compliance with the Migration Act. The Department has authority under the Migration Act 1958 to collect a range of personal identifiers from non-citizens, including visa applicants, in certain circumstances. More detailed information is given on the Information form 1243i Your Personal Identifying Information (PDF).

The department occasionally undertakes research to improve our services and to provide input into Australian government initiatives. Your contact information collected in this form may be used to contact you for research purposes. This contact may be made by departmental staff or research organisations on our behalf. Your participation in client research is entirely voluntary and your decision to be involved in client research or not will have no impact on your application

4. Diclosure to other agencies

The information you provide may be disclosed to:

The information you provide, including the results of any tests for Human Immunodeficiency Virus (HIV), will be used to assess your health for the purpose of determining your eligibility for the grant of an Australian visa. A positive HIV or other test results will not necessarily lead to the visa for which you have applied being refused, but it may mean that your result(s) will be disclosed to other relevant Commonwealth and State/Territory Health agencies.

5. Freedom of Information Act

The Freedom of Information Act 1982 also relates to your personal information.

Under this Act you can apply for access to documents containing your personal information.

You or someone authorised to access information on your behalf can apply to do this at any office of this Department in Australia and pay the relevant fee. Regardless of whether you are overseas or in Australia, you must also provide the Australian Government office overseas with an address in Australia to which copies of personal records can be sent.

More information on how to make a request under the Freedom of Information Act is given on Form 424a Request for access to documents or information (PDF).

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

Possible status

PROCESSING_STATUSES = [‘new’, ‘paid’, ‘refunded’, “pending”]

STATUSES = [‘approved’, ‘not authorized’]

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 '{
  "travel_document_type": "Passport - ordinary/regular",
  "passport_noted_nationality": "Denmark",
  "country_of_citizenship": "Denmark",
  "issue_date": "2017-06-13",
  "expiry_date": "2027-06-13",
  "passport_number": "123456789",
  "country_of_birth": "Denmark",
  "city_of_birth": "Copenhagen",
  "contact_detail_email": "example@example.com",
  "contact_detail_street_number": "19",
  "contact_detail_street_address": "Street One",
  "contact_detail_city": "Copenhagen",
  "contact_detail_zipcode": "1358",
  "contact_detail_state": "Copenhagen",
  "contact_detail_country": "Denmark",
  "dob": "1956-01-01",
  "first_name": "John",
  "last_name": "Valjean",
  "gender": "Male",
  "has_previously_applied_to_canada": "No",
  "is_travel_date_known": "Yes",
  "travel_date": "2018-03-12",
  "travel_date_time": "10:00",
  "travel_date_time_timezone": "Central European Time",
  "language_preference": "English",
  "marital_status": "Never Married/Single",
  "usa_resident_card_number": "",
  "usa_resident_card_expiry_date": "",
  "phone": "",
  "occupation": "Business, finance and administration occupations",
  "job_title": "General office workers",
  "employer_name": "Company One",
  "employer_city": "Bagsvaerd",
  "employer_state": "Copenhagen",
  "employer_zipcode": "2880",
  "employer_country": "Denmark",
  "employer_started_at": "2000",
  "refused_visa_or_permit_or_denied": "No",
  "refused_visa_or_permit_or_denied_details": "",
  "tuberclosis": "No",
  "tuberclosis_care_worker": "",
  "tuberclosis_diagnosed": "",
  "criminal_of_offence": "No",
  "criminal_of_offence_details": "",
  "do_you_have_one_of_these_conditions": "None of the above",
  "project_code": "TEST"
}' "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 Type Description Required
project_code String Project code TRUE
travel_document_type String Travel document type from list TRUE
passport_noted_nationality String from list different from other countries list TRUE
country_of_citizenship String From list TRUE
issue_date Date YYYY-MM-DD TRUE
expiry_date Date YYYY-MM-DD TRUE
passport_number String maximum 9 chars TRUE
country_of_birth String From list TRUE
city_of_birth String TRUE
contact_detail_email String TRUE
contact_detail_street_number String Number of the street address only TRUE
contact_detail_street_address String Street address only (without the number) TRUE
contact_detail_city String City TRUE
contact_detail_zipcode String Zip Code TRUE
contact_detail_state String State TRUE
contact_detail_country String From list TRUE
dob Date YYYY-MM-DD TRUE
first_name String TRUE
last_name String TRUE
gender String Male, Female, Unspecified TRUE
has_previously_applied_to_canada String yes or no TRUE
is_travel_date_known String yes or no TRUE
travel_date String YYYY-MM-DD TRUE
travel_date_time String HH:mm TRUE
travel_date_time_timezone String Timezone from list TRUE
language_preference String English (default) TRUE
marital_status String Marital Status from list TRUE
usa_resident_card_number String maximum 9 chars FALSE
usa_resident_card_expiry_date String YYYY-MM-DD FALSE
phone String TRUE
occupation String From list TRUE
job_title String From list, related to occupation TRUE
employer_name String TRUE
employer_city String TRUE
employer_state String TRUE
employer_zipcode String TRUE
employer_country String From list TRUE
employer_started_at String Year starting date YYYY TRUE
refused_visa_or_permit_or_denied String yes or no TRUE
refused_visa_or_permit_or_denied_details String Required if refused_visa_or_permit_or_denied is yes
tuberclosis String yes or no TRUE
tuberclosis_care_worker String yes or no TRUE
tuberclosis_diagnosed String yes or no TRUE
criminal_of_offence String yes or no TRUE
criminal_of_offence_details String Required if criminal_of_offence is yes
do_you_have_one_of_these_conditions String yes or no conditions from list TRUE

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

Possible statuses

PROCESSING_STATUSES = [“new”, “paid”, “pending”, “reviewed”, “completed”, “mailer failed”, “refunded”] APPLICATION_STATUSES = [ “approved”, “not authorized”, “reviewed” ]

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

Possible statuses

STATUSES: [ “approved”, ‘cancelled - refunded’, ‘not authorized’ ]

processing_status: [ “pending”, “confirmation”, “payment required”, “completed”, “new” ]

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: