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