Build Status

ForestVPN defeats content restrictions and censorship to deliver unlimited access to video, music, social media, and more, from anywhere in the world.

This Dart package is automatically generated by the OpenAPI Generator project:

  • API version: 2.0
  • Build package: org.openapitools.codegen.languages.DartDioClientCodegen For more information, please visit


  • Dart 2.12.0 or later OR Flutter 1.26.0 or later
  • Dio 4.0.0+

Installation & Usage

To use the package from, please include the following in pubspec.yaml

  forestvpn_api: 3.2.0


If this Dart package is published to Github, please include the following in pubspec.yaml

      #ref: main

Local development

To use the package from your local drive, please include the following in pubspec.yaml

    path: /path/to/forestvpn_api

Getting Started

Please follow the installation procedure and then run the following:

import 'package:forestvpn_api/forestvpn_api.dart';

final api = ForestvpnApi().getAdsApi();
final CreateAdUnitRequestLogRequest createAdUnitRequestLogRequest = ; // CreateAdUnitRequestLogRequest | 

try {
    final response = await api.createAdUnitRequestLog(createAdUnitRequestLogRequest);
} catch on DioError (e) {
    print("Exception when calling AdsApi->createAdUnitRequestLog: $e\n");

Documentation for API Endpoints

All URIs are relative to

Class Method HTTP request Description
AdsApi createAdUnitRequestLog POST /ads/request-logs/ Create ad unit request log
AdsApi listAdPlacements GET /ads/placements/ Get ad placement list
AppApi getCurrentUserDevice GET /app/devices/current/ Get user device info
AppApi updateCurrentUserDevice PATCH /app/devices/current/ Update user device
AppleApi verifyAppStoreReceipt POST /purchase/apple/verify/ App store receipt verification
AuthApi loginToken POST /auth/token/login/ Login with JWT token
AuthApi migrateLegacyAuth GET /legacy/auth/ Legacy auth migration
AuthApi obtainToken GET /auth/token/obtain/ Obtain JWT token
AuthApi updateUserProfile PATCH /auth/profile/ Update profile
AuthApi userProfile GET /auth/profile/ Profile
AuthApi whoAmI GET /auth/whoami/ Who am I
BillingApi getBillingBundle GET /billing/bundles/{bundleID}/ Bundle info
BillingApi getBillingPaymentMethod GET /billing/payment-methods/{paymentMethodID}/ Payment method info
BillingApi getBillingProduct GET /billing/products/{productID}/ Product info
BillingApi listBillingBundles GET /billing/bundles/ Billing bundles list
BillingApi listBillingFeatures GET /billing/features/ Billing feature list
BillingApi listBillingPaymentMethods GET /billing/payment-methods/ Billing payment methods list
BillingApi listBillingProducts GET /billing/products/ Billing products list
CheckoutApi applyCouponCheckoutSession POST /checkout/sessions/{sessionID}/apply_coupon/ Apply coupon to session
CheckoutApi createCheckoutSession POST /checkout/sessions/ Create checkout session
CheckoutApi expireCheckoutSession POST /checkout/sessions/{sessionID}/expire/ Expire checkout session
CheckoutApi getCheckoutSession GET /checkout/sessions/{sessionID}/ Checkout session details
CheckoutApi getStripeCheckoutSession GET /checkout/sessions/{sessionID}/stripe/checkout/session/ Stripe checkout session details
CheckoutApi getStripePaymentIntent GET /checkout/sessions/{sessionID}/stripe/payment/intent/ Stripe payment intent details
CheckoutApi processCloudPaymentsAuth POST /checkout/sessions/{sessionID}/cloud-payments/auth/ Cloud payments auth
CheckoutApi processCloudPaymentsPost3ds POST /checkout/sessions/{sessionID}/cloud-payments/post3ds/ Cloud payments post3ds
DeviceApi createDevice POST /devices/ Create new device
DeviceApi createDevicePortForwarding POST /devices/{deviceID}/port-forwarding/ Create new device port forwarding
DeviceApi deleteDevice DELETE /devices/{deviceID}/ Delete Device
DeviceApi deleteDevicePortForwarding DELETE /devices/{deviceID}/port-forwarding/{portForwardingID}/ Delete Device's Port Forwarding
DeviceApi getDevice GET /devices/{deviceID}/ Device Info
DeviceApi getDeviceStats GET /devices/{deviceID}/stats/{statsID}/ Device's stats detail
DeviceApi getDeviceWireGuard GET /devices/{deviceID}/wireguards/{wireGuardID}/ Device's wireguard profile detail
DeviceApi listDeviceBindings GET /devices/{deviceID}/bindings/ Device bindings
DeviceApi listDeviceConnectionModes GET /devices/{deviceID}/connection-modes/ Device connection modes
DeviceApi listDeviceDetailStats GET /devices/{deviceID}/detail-stats/ Device's detail stats list
DeviceApi listDevicePortForwardings GET /devices/{deviceID}/port-forwarding/ Device Port Forwarding List
DeviceApi listDeviceStats GET /devices/{deviceID}/stats/ Device's stats list
DeviceApi listDeviceWireGuardPeers GET /devices/{deviceID}/wireguards/{wireGuardID}/peers/ Device's wireguard peers
DeviceApi listDeviceWireGuards GET /devices/{deviceID}/wireguards/ Device's wireguard profiles list
DeviceApi listDevices GET /devices/ Device List
DeviceApi updateDevice PATCH /devices/{deviceID}/ Update device properties
DeviceApi updateDevicePortForwarding PATCH /devices/{deviceID}/port-forwarding/{portForwardingID}/ Update device's port forwarding
FcmApi createFCMDevice POST /notification/fcm/ Device registration for push notification through out Firebase Cloud Messaging
FcmApi deleteFCMDevice DELETE /notification/fcm/{registrationID}/ Delete fcm device
FcmApi getFCMDevice GET /notification/fcm/{registrationID}/ Device info
FcmApi updateFCMDevice PATCH /notification/fcm/{registrationID}/ Update device fcm properties
FriendshipApi acceptFriendshipInvitation PATCH /friendship/invitations/{code}/ Accept friendship invitation
FriendshipApi createFriendshipInvitation POST /friendship/invitations/ Create friendship invitation
FriendshipApi deleteFriend DELETE /friendship/friends/{id}/ Delete friend
FriendshipApi getFriend GET /friendship/friends/{id}/ Friend details
FriendshipApi getFriendshipInvitation GET /friendship/invitations/{code}/ Friendship invitation details
FriendshipApi listFriends GET /friendship/friends/ Get friends list
FriendshipApi rejectFriendshipInvitation DELETE /friendship/invitations/{code}/ Reject friendship invitation
GeoApi listCountries GET /geo/countries/ Countries list
GeoApi listCurrencies GET /geo/currencies/ Correncies list
GeoApi listLocations GET /locations/ Location list
GoogleApi verifyPlayStorePurchase POST /purchase/google/verify/ Play store purchase verification
NewsApi getNotification GET /news/notifications/{notificationID}/ Get notification content
NewsApi getNotificationsUnreadCount GET /news/unread_count/ Get unread notifications count
NewsApi listNotifications GET /news/notifications/ Get notifications list
NewsApi updateNotificationMarkRead PATCH /news/notifications/{notificationID}/mark_read/ Mark notification as read by user
NewsApi updateNotificationMarkReadAll PATCH /news/notifications/mark_read_all/ Mark all notifications as read by user
WireguardApi getWireGuardPeerInfo GET /wireguard/peers/{pubKey}/ Wireguard peer info
WireguardApi listWireGuardPeers GET /wireguard/peers/ Wireguard peers list

Documentation For Models

Documentation For Authorization


  • Type: HTTP basic authentication


  • Type: API key
  • API key parameter name: Authorization
  • Location: HTTP header