ForestVPN - Fast, secure, and modern VPN. It offers Distributed Computing, Crypto Mining, P2P, Ad Blocking, TOR over VPN, 30+ locations, and a free version with unlimited data.
For more information, please visit https://forestvpn.com/
- Kotlin 1.6.10
- Gradle 7.5
First, create the gradle wrapper script:
gradle wrapper
Then, run:
./gradlew check assemble
This runs all tests and packages the library.
- Supports JSON inputs/outputs, File inputs, and Form inputs.
- Supports collection formats for query parameters: csv, tsv, ssv, pipes.
- Some Kotlin and Java types are fully qualified to avoid conflicts with types defined in OpenAPI definitions.
- Implementation of ApiClient is intended to reduce method counts, specifically to benefit Android targets.
All URIs are relative to https://api.forestvpn.com/v2
Class | Method | HTTP request | Description |
---|---|---|---|
AdsForestVPNAPI | createAdUnitRequestLog | POST /ads/request-logs/ | Create ad unit request log |
AdsForestVPNAPI | listAdPlacements | GET /ads/placements/ | Get ad placement list |
AnalyticsForestVPNAPI | getDataUsageStats | GET /analytics/data-usage/ | Data Usage Stats |
AppForestVPNAPI | getCurrentUserDevice | GET /app/devices/current/ | Get user device info |
AppForestVPNAPI | updateCurrentUserDevice | PATCH /app/devices/current/ | Update user device |
AppleForestVPNAPI | verifyAppStoreReceipt | POST /purchase/apple/verify/ | App store receipt verification |
AuthForestVPNAPI | loginToken | POST /auth/token/login/ | Login with JWT token |
AuthForestVPNAPI | migrateLegacyAuth | GET /legacy/auth/ | Legacy auth migration |
AuthForestVPNAPI | obtainToken | GET /auth/token/obtain/ | Obtain JWT token |
AuthForestVPNAPI | updateUserProfile | PATCH /auth/profile/ | Update profile |
AuthForestVPNAPI | userProfile | GET /auth/profile/ | Profile |
AuthForestVPNAPI | whoAmI | GET /auth/whoami/ | Who am I |
BillingForestVPNAPI | cancelSubscription | DELETE /billing/subscriptions/{subscriptionID}/ | Cancel subscription |
BillingForestVPNAPI | createPaymentMethodStripeSetupIntent | POST /billing/payment-methods/stripe/setup-intents/ | Create stripe's setup intent for add new payment method. |
BillingForestVPNAPI | createSubscription | POST /billing/subscriptions/ | Create subscription |
BillingForestVPNAPI | deletePaymentMethod | DELETE /billing/payment-methods/{paymentMethodID}/ | Delete payment method |
BillingForestVPNAPI | getBillingAccount | GET /billing/account/ | Billing account info |
BillingForestVPNAPI | getBillingBundle | GET /billing/bundles/{bundleID}/ | Bundle info |
BillingForestVPNAPI | getBillingPaymentOption | GET /billing/payment-options/{paymentOptionID}/ | Payment option info |
BillingForestVPNAPI | getBillingProduct | GET /billing/products/{productID}/ | Product info |
BillingForestVPNAPI | getPaymentMethod | GET /billing/payment-methods/{paymentMethodID}/ | Payment method info |
BillingForestVPNAPI | getSubscription | GET /billing/subscriptions/{subscriptionID}/ | Subscription info |
BillingForestVPNAPI | getSubscriptionItem | GET /billing/subscription-items/{subscriptionItemID}/ | Subscription item info |
BillingForestVPNAPI | listBillingBundles | GET /billing/bundles/ | Billing bundles list |
BillingForestVPNAPI | listBillingFeatures | GET /billing/features/ | Billing feature list |
BillingForestVPNAPI | listBillingPaymentOptions | GET /billing/payment-options/ | Billing payment option list |
BillingForestVPNAPI | listBillingProducts | GET /billing/products/ | Billing products list |
BillingForestVPNAPI | listPaymentMethods | GET /billing/payment-methods/ | Payment method list |
BillingForestVPNAPI | listSubscriptionItems | GET /billing/subscription-items/ | Subscription items list |
BillingForestVPNAPI | listSubscriptions | GET /billing/subscriptions/ | Billing subscriptions list |
BillingForestVPNAPI | reactivateSubscription | POST /billing/subscriptions/{subscriptionID}/reactivate/ | Reactivate subscription |
BillingForestVPNAPI | updateBillingAccount | PATCH /billing/account/ | Update billing account |
BillingForestVPNAPI | updateSubscriptionItem | PATCH /billing/subscription-items/{subscriptionItemID}/ | Update subscription item |
CheckoutForestVPNAPI | applyCouponCheckoutSession | POST /checkout/sessions/{sessionID}/apply_coupon/ | Apply coupon to session |
CheckoutForestVPNAPI | createCheckoutSession | POST /checkout/sessions/ | Create checkout session |
CheckoutForestVPNAPI | createWaitListRequest | POST /checkout/wait-list/ | Create request to add country in wait list |
CheckoutForestVPNAPI | expireCheckoutSession | POST /checkout/sessions/{sessionID}/expire/ | Expire checkout session |
CheckoutForestVPNAPI | getCheckoutSession | GET /checkout/sessions/{sessionID}/ | Checkout session details |
CheckoutForestVPNAPI | getStripeCheckoutSession | GET /checkout/sessions/{sessionID}/stripe/checkout/session/ | Stripe checkout session details |
CheckoutForestVPNAPI | getStripePaymentIntent | GET /checkout/sessions/{sessionID}/stripe/payment/intent/ | Stripe payment intent details |
CheckoutForestVPNAPI | processCloudPaymentsAuth | POST /checkout/sessions/{sessionID}/cloud-payments/auth/ | Cloud payments auth |
CheckoutForestVPNAPI | processCloudPaymentsPost3ds | POST /checkout/sessions/{sessionID}/cloud-payments/post3ds/ | Cloud payments post3ds |
DeviceForestVPNAPI | createDevice | POST /devices/ | Create new device |
DeviceForestVPNAPI | createDevicePortForwarding | POST /devices/{deviceID}/port-forwarding/ | Create new device port forwarding |
DeviceForestVPNAPI | deleteDevice | DELETE /devices/{deviceID}/ | Delete Device |
DeviceForestVPNAPI | deleteDevicePortForwarding | DELETE /devices/{deviceID}/port-forwarding/{portForwardingID}/ | Delete Device's Port Forwarding |
DeviceForestVPNAPI | getDevice | GET /devices/{deviceID}/ | Device Info |
DeviceForestVPNAPI | getDeviceStats | GET /devices/{deviceID}/stats/{statsID}/ | Device's stats detail |
DeviceForestVPNAPI | getDeviceWireGuard | GET /devices/{deviceID}/wireguards/{wireGuardID}/ | Device's wireguard profile detail |
DeviceForestVPNAPI | listDeviceBindings | GET /devices/{deviceID}/bindings/ | Device bindings |
DeviceForestVPNAPI | listDeviceConnectionModes | GET /devices/{deviceID}/connection-modes/ | Device connection modes |
DeviceForestVPNAPI | listDeviceDetailStats | GET /devices/{deviceID}/detail-stats/ | Device's detail stats list |
DeviceForestVPNAPI | listDevicePortForwardings | GET /devices/{deviceID}/port-forwarding/ | Device Port Forwarding List |
DeviceForestVPNAPI | listDeviceStats | GET /devices/{deviceID}/stats/ | Device's stats list |
DeviceForestVPNAPI | listDeviceWireGuardPeers | GET /devices/{deviceID}/wireguards/{wireGuardID}/peers/ | Device's wireguard peers |
DeviceForestVPNAPI | listDeviceWireGuards | GET /devices/{deviceID}/wireguards/ | Device's wireguard profiles list |
DeviceForestVPNAPI | listDevices | GET /devices/ | Device List |
DeviceForestVPNAPI | updateDevice | PATCH /devices/{deviceID}/ | Update device properties |
DeviceForestVPNAPI | updateDevicePortForwarding | PATCH /devices/{deviceID}/port-forwarding/{portForwardingID}/ | Update device's port forwarding |
FcmForestVPNAPI | createFCMDevice | POST /notification/fcm/ | Device registration for push notification through out Firebase Cloud Messaging |
FcmForestVPNAPI | deleteFCMDevice | DELETE /notification/fcm/{registrationID}/ | Delete fcm device |
FcmForestVPNAPI | getFCMDevice | GET /notification/fcm/{registrationID}/ | Device info |
FcmForestVPNAPI | updateFCMDevice | PATCH /notification/fcm/{registrationID}/ | Update device fcm properties |
FriendshipForestVPNAPI | acceptFriendshipInvitation | PATCH /friendship/invitations/{code}/ | Accept friendship invitation |
FriendshipForestVPNAPI | createFriendshipInvitation | POST /friendship/invitations/ | Create friendship invitation |
FriendshipForestVPNAPI | deleteFriend | DELETE /friendship/friends/{id}/ | Delete friend |
FriendshipForestVPNAPI | getFriend | GET /friendship/friends/{id}/ | Friend details |
FriendshipForestVPNAPI | getFriendshipInvitation | GET /friendship/invitations/{code}/ | Friendship invitation details |
FriendshipForestVPNAPI | listFriends | GET /friendship/friends/ | Get friends list |
FriendshipForestVPNAPI | rejectFriendshipInvitation | DELETE /friendship/invitations/{code}/ | Reject friendship invitation |
GeoForestVPNAPI | listCountries | GET /geo/countries/ | Countries list |
GeoForestVPNAPI | listCurrencies | GET /geo/currencies/ | Correncies list |
GeoForestVPNAPI | listLocations | GET /locations/ | Location list |
GoogleForestVPNAPI | verifyPlayStorePurchase | POST /purchase/google/verify/ | Play store purchase verification |
NotificationsForestVPNAPI | getNotificationsUnreadCount | GET /notifications/unread_count/ | Get unread notifications count |
NotificationsForestVPNAPI | listNotifications | GET /notifications/all_list/ | Get notifications list |
NotificationsForestVPNAPI | updateNotificationMarkRead | GET /notifications/mark_read/{slug}/ | Mark notification as read by user |
NotificationsForestVPNAPI | updateNotificationMarkReadAll | GET /notifications/mark-all-as-read/ | Mark all notifications as read by user |
SupportForestVPNAPI | createSupportTicket | POST /support/tickets/ | Create support ticket |
SupportForestVPNAPI | getSupportTicketCategory | GET /support/ticket-categories/ | Get ticket categories |
WireguardForestVPNAPI | getWireGuardPeerInfo | GET /wireguard/peers/{pubKey}/ | Wireguard peer info |
WireguardForestVPNAPI | listWireGuardPeers | GET /wireguard/peers/ | Wireguard peers list |
- com.forestvpn.api.client.models.AdPlacement
- com.forestvpn.api.client.models.AdProvider
- com.forestvpn.api.client.models.AdReward
- com.forestvpn.api.client.models.AdUnit
- com.forestvpn.api.client.models.AggregatedDataUsageStats
- com.forestvpn.api.client.models.AppStoreReceiptVerificationRequest
- com.forestvpn.api.client.models.BillingAccount
- com.forestvpn.api.client.models.BillingFeature
- com.forestvpn.api.client.models.Bundle
- com.forestvpn.api.client.models.CheckoutSession
- com.forestvpn.api.client.models.CheckoutSessionProduct
- com.forestvpn.api.client.models.CloudPaymentsAuth
- com.forestvpn.api.client.models.CloudPaymentsPost3ds
- com.forestvpn.api.client.models.CloudPaymentsSecure3d
- com.forestvpn.api.client.models.ConnectionMode
- com.forestvpn.api.client.models.Constraint
- com.forestvpn.api.client.models.Country
- com.forestvpn.api.client.models.CouponCheckoutSession
- com.forestvpn.api.client.models.CreateAdUnitRequestLogRequest
- com.forestvpn.api.client.models.CreateCheckoutSessionProduct
- com.forestvpn.api.client.models.CreateCheckoutSessionRequest
- com.forestvpn.api.client.models.CreateCloudPaymentsAuth
- com.forestvpn.api.client.models.CreateCloudPaymentsPost3ds
- com.forestvpn.api.client.models.CreateCouponCheckoutSession
- com.forestvpn.api.client.models.CreateFCMDeviceRequest
- com.forestvpn.api.client.models.CreateOrUpdateDeviceRequest
- com.forestvpn.api.client.models.CreateOrUpdateDeviceRequestInfo
- com.forestvpn.api.client.models.CreateOrUpdatePortForwardingRequest
- com.forestvpn.api.client.models.CreateStripeSetupIntentRequest
- com.forestvpn.api.client.models.CreateSubscriptionRequest
- com.forestvpn.api.client.models.CreateTokenLogin
- com.forestvpn.api.client.models.Currency
- com.forestvpn.api.client.models.Device
- com.forestvpn.api.client.models.DeviceRecord
- com.forestvpn.api.client.models.DeviceStats
- com.forestvpn.api.client.models.DeviceType
- com.forestvpn.api.client.models.Discount
- com.forestvpn.api.client.models.Environment
- com.forestvpn.api.client.models.Error
- com.forestvpn.api.client.models.FCMDevice
- com.forestvpn.api.client.models.Friendship
- com.forestvpn.api.client.models.FriendshipInvitation
- com.forestvpn.api.client.models.LegacyAuthMigrationToken
- com.forestvpn.api.client.models.Location
- com.forestvpn.api.client.models.NetworkService
- com.forestvpn.api.client.models.Notification
- com.forestvpn.api.client.models.NotificationAllList
- com.forestvpn.api.client.models.NotificationUnreadCount
- com.forestvpn.api.client.models.PaymentMethod
- com.forestvpn.api.client.models.PaymentMethodCard
- com.forestvpn.api.client.models.PaymentMethodType
- com.forestvpn.api.client.models.PaymentOption
- com.forestvpn.api.client.models.PlayStorePurchaseVerificationRequest
- com.forestvpn.api.client.models.PortForwarding
- com.forestvpn.api.client.models.Price
- com.forestvpn.api.client.models.Product
- com.forestvpn.api.client.models.ProductWithoutPrice
- com.forestvpn.api.client.models.Recurring
- com.forestvpn.api.client.models.Server
- com.forestvpn.api.client.models.StripeCheckoutSession
- com.forestvpn.api.client.models.StripePaymentIntent
- com.forestvpn.api.client.models.StripeSetupIntent
- com.forestvpn.api.client.models.Subscription
- com.forestvpn.api.client.models.SubscriptionItem
- com.forestvpn.api.client.models.SubscriptionSource
- com.forestvpn.api.client.models.SubscriptionStatus
- com.forestvpn.api.client.models.TicketCategory
- com.forestvpn.api.client.models.TokenLogin
- com.forestvpn.api.client.models.TokenObtain
- com.forestvpn.api.client.models.UpdateFCMDeviceRequest
- com.forestvpn.api.client.models.UpdateUserDeviceRequest
- com.forestvpn.api.client.models.User
- com.forestvpn.api.client.models.UserDevice
- com.forestvpn.api.client.models.WireGuard
- com.forestvpn.api.client.models.WireGuardPeer
- com.forestvpn.api.client.models.WireGuardPeerDevice
- com.forestvpn.api.client.models.WireGuardPeerInfo
- com.forestvpn.api.client.models.WireGuardPeerUser
- Type: HTTP basic authentication
- Type: API key
- API key parameter name: Authorization
- Location: HTTP header
- ForestVPN.com Free VPN for all
- [email protected]