Get started

API Endpoint: https://api.getoutlinevpn.com/

The Outline VPN API operates over HTTPS and uses JSON as its data format. The API is a RESTful API and utilizes HTTP methods and HTTP status codes to specify requests and responses.

To get started using the API you first need an API token. Start the Outline VPN Telegram Bot, go to Other Operations → API, and generate a new token.

https://t.me/getoutlinevpn_bot

Authentication

Example Authorization header
X-OUTLINE-BOT-API-SECRET-TOKEN:ed543493-bcf4-4e84-b93a-c2f4afc70d83

All requests to the Outline API must be authenticated via a API token. Include your secret API token in every request you send to the API with the X-OUTLINE-BOT-API-SECRET-TOKEN HTTP header.

Get Regions of Residence

Curl example:
curl \
-X GET https://api.getoutlinevpn.com/get-regions \
-H 'Content-Type: application/json' \
-H "X-OUTLINE-BOT-API-SECRET-TOKEN: ed543493-bcf4-4e84-b93a-c2f4afc70d83"

To Get Regions of Residence you need to make a GET call to the following url:
https://api.getoutlinevpn.com/get-regions


Result example:
{"status":true,"regions_of_residence":[{"region_slug":"china","region_name":"Resident in China"},{"region_slug":"iran","region_name":"Resident in Iran"},{"region_slug":"other","region_name":"Residents of Other Countries"},{"region_slug":"russia","region_name":"Resident in Russia"},{"region_slug":"ukraine","region_name":"Resident in Ukraine"}]}

Get Port Type

Curl example:
curl \
-X POST https://api.getoutlinevpn.com/get-port-type \
-H 'Content-Type: application/json' \
-H "X-OUTLINE-BOT-API-SECRET-TOKEN: ed543493-bcf4-4e84-b93a-c2f4afc70d83" \
-d '{"region_slug":"your_region_slug"}' 

To Get Port Type you need to make a POST call to the following url:
https://api.getoutlinevpn.com/get-port-type


Result example:
{"status":true,"port_type":[{"port_type":"tcp"},{"port_type":"udp"}]}

POST PARAMETERS

Field Type Description
region_slug String You can find it in the Get Regions of Residence api.

Get Locations

Curl example:
curl \
-X POST https://api.getoutlinevpn.com/get-locations \
-H 'Content-Type: application/json' \
-H "X-OUTLINE-BOT-API-SECRET-TOKEN: ed543493-bcf4-4e84-b93a-c2f4afc70d83" \
-d '{"region_slug":"your_region_slug"}' 

To Get Locations you need to make a POST call to the following url:
https://api.getoutlinevpn.com/get-locations


Result example:
{"status":true,"outline_locations":[{"country_name":"UAE","country_slug":"ae"},{"country_name":"Argentina","country_slug":"ar"},{"country_name":"Austria","country_slug":"at"},{"country_name":"Bangladesh","country_slug":"bd"},{"country_name":"Belgium","country_slug":"be"},{"country_name":"Bulgaria","country_slug":"bg"},{"country_name":"Bahrain","country_slug":"bh"},{"country_name":"Brazil","country_slug":"br"},{"country_name":"Canada","country_slug":"ca"},{"country_name":"Switzerland","country_slug":"ch"},{"country_name":"Chile","country_slug":"cl"},{"country_name":"Colombia","country_slug":"co"},{"country_name":"Czechia","country_slug":"cz"},{"country_name":"Germany","country_slug":"de"}]}

POST PARAMETERS

Field Type Description
region_slug String You can find it in the Get Regions of Residence api.

Get Plan List

Curl example:
curl \
-X POST https://api.getoutlinevpn.com/get-plan-list \
-H 'Content-Type: application/json' \
-H "X-OUTLINE-BOT-API-SECRET-TOKEN: ed543493-bcf4-4e84-b93a-c2f4afc70d83" \
-d '{"region_slug":"your_region_slug"}' 

To Get Plan List you need to make a POST call to the following url:
https://api.getoutlinevpn.com/get-plan-list


Result example:
{"status":true,"outline_plans":[{"plan_id":1,"period":"1","period_unit":"Day","bandwidth":"50","bandwidth_unit":"GB","price":"0.16","currency":"USD"},{"plan_id":2,"period":"1","period_unit":"Day","bandwidth":"100","bandwidth_unit":"GB","price":"0.25","currency":"USD"},{"plan_id":3,"period":"1","period_unit":"Day","bandwidth":"300","bandwidth_unit":"GB","price":"0.50","currency":"USD"},{"plan_id":4,"period":"1","period_unit":"Day","bandwidth":"500","bandwidth_unit":"GB","price":"0.75","currency":"USD"}]}

POST PARAMETERS

Field Type Description
region_slug String You can find it in the Get Regions of Residence api.

Create Access Key

Curl example:
curl \
-X POST https://api.getoutlinevpn.com/create-access-key \
-H 'Content-Type: application/json' \
-H "X-OUTLINE-BOT-API-SECRET-TOKEN: ed543493-bcf4-4e84-b93a-c2f4afc70d83" \
-d '{"plan_id":"your_plan_id","region_slug":"your_region_slug","country_slug":"your_country_slug","port_type":"your_port_type"}'

To Create Access Key you need to make a POST call to the following url:
https://api.getoutlinevpn.com/create-access-key


Result example:
{"status":true,"access_key_name":"123456789","access_key":"ssconf://..."}

POST PARAMETERS

Field Type Description
plan_id String You can find it in the Plan List api.
region_slug String You can find it in the Get Regions of Residence api.
country_slug String You can find it in the Get Locations api.
port_type String You can find it in the Get Port Type api.

List Access Keys

Curl example:
curl \
-X GET https://api.getoutlinevpn.com/list-access-keys \
-H 'Content-Type: application/json' \
-H "X-OUTLINE-BOT-API-SECRET-TOKEN: ed543493-bcf4-4e84-b93a-c2f4afc70d83"

To List Access Keys you need to make a GET call to the following url:
https://api.getoutlinevpn.com/list-access-keys


Result example:
{"status":true,"vpn_client_profiles":[{"access_key_name":"123456789","country_slug":"de","country_flag":"xxx"}]}

Get Access Key

Curl example:
curl \
-X POST https://api.getoutlinevpn.com/get-access-key \
-H 'Content-Type: application/json' \
-H "X-OUTLINE-BOT-API-SECRET-TOKEN: ed543493-bcf4-4e84-b93a-c2f4afc70d83" \
-d '{"access_key_name":"your_access_key_name"}' 

To Get Access Key you need to make a POST call to the following url:
https://api.getoutlinevpn.com/get-access-key


Result example:
{"status":true,"access_key":"ssconf://..."}

POST PARAMETERS

Field Type Description
access_key_name String You can find it in the List Access Keys api.

Get Access Key Details

Curl example:
curl \
-X POST https://api.getoutlinevpn.com/get-access-key-details \
-H 'Content-Type: application/json' \
-H "X-OUTLINE-BOT-API-SECRET-TOKEN: ed543493-bcf4-4e84-b93a-c2f4afc70d83" \
-d '{"access_key_name":"your_access_key_name"}' 

To Get Access Key you need to make a POST call to the following url:
https://api.getoutlinevpn.com/get-access-key-details


Result example:
{"status":true,"access_key_name":"1711309304","country_slug":"de","port_type":"tcp","plan_bandwidth":"50","reaming_bandwidth":"50,00","bandwidth_unit":"GB","creation_date":"24.03.2024 22:42:02","expiration_date":"25.03.2024 22:42:02"}

POST PARAMETERS

Field Type Description
access_key_name String You can find it in the List Access Keys api.

Change Access Key Location

Curl example:
curl \
-X POST https://api.getoutlinevpn.com/change-location \
-H 'Content-Type: application/json' \
-H "X-OUTLINE-BOT-API-SECRET-TOKEN: ed543493-bcf4-4e84-b93a-c2f4afc70d83" \
-d '{"access_key_name":"your_access_key_name","country_slug":"your_country_slug","port_type":"your_port_type"}'

To Change Access Key Location you need to make a POST call to the following url:
https://api.getoutlinevpn.com/change-location


Result example:
{"status":true}

POST PARAMETERS

Field Type Description
access_key_name String You can find it in the List Access Keys api.
country_slug String You can find it in the Get Locations api.
port_type String You can find it in the Get Port Type api.

Change Access Key Port Type

Curl example:
curl \
-X POST https://api.getoutlinevpn.com/change-port-type \
-H 'Content-Type: application/json' \
-H "X-OUTLINE-BOT-API-SECRET-TOKEN: ed543493-bcf4-4e84-b93a-c2f4afc70d83" \
-d '{"access_key_name":"your_access_key_name"}' 

To Change Access Key Port Type you need to make a POST call to the following url:
https://api.getoutlinevpn.com/change-port-type


Result example:
{"status":true}

POST PARAMETERS

Field Type Description
access_key_name String You can find it in the List Access Keys api.

Change Access Key

Curl example:
curl \
-X POST https://api.getoutlinevpn.com/change-access-key \
-H 'Content-Type: application/json' \
-H "X-OUTLINE-BOT-API-SECRET-TOKEN: ed543493-bcf4-4e84-b93a-c2f4afc70d83" \
-d '{"access_key_name":"your_access_key_name"}' 

To Change Access Key you need to make a POST call to the following url:
https://api.getoutlinevpn.com/change-access-key


Result example:
{"status":true,"access_key":"ssconf://..."}

POST PARAMETERS

Field Type Description
access_key_name String You can find it in the List Access Keys api.

Get Balance

Curl example:
curl \
-X GET https://api.getoutlinevpn.com/get-balance \
-H 'Content-Type: application/json' \
-H "X-OUTLINE-BOT-API-SECRET-TOKEN: ed543493-bcf4-4e84-b93a-c2f4afc70d83"

To Get Balance you need to make a GET call to the following url:
https://api.getoutlinevpn.com/get-balance


Result example:
{"status":true,"balance":"100.54","currency":"USD"}

Revoke Access Key

Curl example:
curl \
-X POST https://api.getoutlinevpn.com/revoke-access-key \
-H 'Content-Type: application/json' \
-H "X-OUTLINE-BOT-API-SECRET-TOKEN: ed543493-bcf4-4e84-b93a-c2f4afc70d83" \
-d '{"access_key_name":"your_access_key_name"}' 

To Get Access Key you need to make a POST call to the following url:
https://api.getoutlinevpn.com/revoke-access-key


Result example:
{"status":true}

POST PARAMETERS

Field Type Description
access_key_name String You can find it in the List Access Keys api.