SimpliVPNAPI icon

SimpliVPNAPI

Connect to SimpliVPNAPI with 1 MCP tools for AI-powered API automation.

COMMUNITYAPI KEY0 INSTALLS
OpenAPI Specificationv3.0
{
  "openapi": "3.0.1",
  "info": {
    "title": "SimpliVPNAPI",
    "version": "1.0",
    "x-logo": {
      "url": "https://api.apis.guru/v2/cache/logo/https_simplivpn.net_wp-content_uploads_2022_12_favi.png"
    },
    "x-origin": [
      {
        "format": "openapi",
        "url": "https://api.simplivpn.net/swagger/v1/swagger.json",
        "version": "3.0"
      }
    ],
    "x-providerName": "simplivpn.net"
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "paths": {
    "/disable-user": {
      "post": {
        "description": "This route allows you to disable a user's vpn access.",
        "operationId": "DisableUser",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DisableUser"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        },
        "summary": "DisableUser",
        "tags": [
          "SimpliVPNAPI"
        ]
      }
    },
    "/enable-user": {
      "post": {
        "description": "This route allows you to enable a user's vpn access. This route can only be called using your user's Bearer Auth token.",
        "operationId": "EnableUser",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EnableUser"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        },
        "summary": "EnableUser",
        "tags": [
          "SimpliVPNAPI"
        ]
      }
    },
    "/login": {
      "post": {
        "description": "This route allows you to login a user. The response will give you a Bearer auth token to use with all rquests pertaining to the user. This token expires in 7 days, so for every request you should check if you get an unauthorized responsve and re-validate the login if needed.",
        "operationId": "Login",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UserLogin"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        },
        "summary": "Login",
        "tags": [
          "SimpliVPNAPI"
        ]
      }
    },
    "/register": {
      "post": {
        "description": "This route allows VPN Admin user's with an api key to register a vpn user account. This route can only be called using your api key supplied to you from SimpliVPN. Before calling this you should use your api key to call the /UsernameAvailable route to make sure the username you want is available first. All subsequent user requests following can be done using the user's api token, their token's expire every 7 days, so you should occasionally check them and if you get unauthorized, refresh their token by calling /login route. This route will also auto-enable a new user.",
        "operationId": "Register",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Register"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        },
        "summary": "Register",
        "tags": [
          "SimpliVPNAPI"
        ]
      }
    },
    "/server-summaries": {
      "get": {
        "operationId": "GetServerSummaries",
        "responses": {
          "200": {
            "description": "Success"
          }
        },
        "tags": [
          "SimpliVPNAPI"
        ]
      }
    },
    "/servers": {
      "get": {
        "operationId": "GetServers",
        "responses": {
          "200": {
            "description": "Success"
          }
        },
        "tags": [
          "SimpliVPNAPI"
        ]
      }
    },
    "/username-available": {
      "post": {
        "description": "This route allows VPN Admin user's to check if a specific username is available before registering an account username. This route can only be called using your api key supplied to you from SimpliVPN.",
        "operationId": "UsernameAvailable",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EnableUser"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        },
        "summary": "UsernameAvailable",
        "tags": [
          "SimpliVPNAPI"
        ]
      }
    }
  },
  "components": {
    "schemas": {
      "DisableUser": {
        "additionalProperties": false,
        "properties": {
          "username": {
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "username"
        ],
        "type": "object"
      },
      "EnableUser": {
        "additionalProperties": false,
        "properties": {
          "username": {
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "username"
        ],
        "type": "object"
      },
      "Register": {
        "additionalProperties": false,
        "properties": {
          "await": {
            "type": "boolean"
          },
          "password": {
            "minLength": 1,
            "type": "string"
          },
          "username": {
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "password",
          "username"
        ],
        "type": "object"
      },
      "UserLogin": {
        "additionalProperties": false,
        "properties": {
          "password": {
            "minLength": 1,
            "type": "string"
          },
          "username": {
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "password",
          "username"
        ],
        "type": "object"
      }
    },
    "securitySchemes": {
      "Bearer": {
        "description": "JWT Authorization header using the bearer scheme",
        "in": "header",
        "name": "Authorization",
        "type": "apiKey"
      }
    }
  }
}