Gasper Master API
 1.0 
OAS3

Handles authentication, creation/management of applications, databases, users and also provides a superuser API.

Only a superuser can avail the superuser API. A superuser can grant/revoke superuser privileges to other users. A default superuser is created every time a Gasper instance is launched whose credentials are defined in the admin section of config.toml, the main configuration file. A sample configuration file is available here.

Note:- Normally the applications and databases can only be managed by their owners but the superuser can bypass that check.

PS:- If you want to programmatically generate a client for this API, you can find the corresponding OpenAPI specifications here. We recommend using OpenAPI-Generator for generating clients.

Find out more about Gasper
Servers

auth

Authentication for all endpoints

POST​/auth​/login
Login to get a Bearer token
POST​/auth​/register
Register a user
GET​/auth​/refresh
Refresh JWT token using existing token

apps

Application management

POST​/apps​/{language}
Create an application
GET​/apps
Fetch all applications owned by a user
GET​/apps​/{app}
Fetch a single application owned by a user
PUT​/apps​/{app}
Update an application owned by a user
DELETE​/apps​/{app}
Delete an application owned by a user
PATCH​/apps​/{app}​/rebuild
Rebuild an application
PATCH​/apps​/{app}​/transfer​/{userEmail}
Transfer ownership of an application to another user
GET​/apps​/{app}​/term
Fetch a browser terminal instance for an application owned by a user
GET​/apps​/{app}​/logs
Fetch logs of an application
GET​/apps​/{app}​/metrics
Fetch metrics of an application

dbs

Database management

POST​/dbs​/{databaseType}
Create a database
GET​/dbs
Fetch all databases owned by a user
GET​/dbs​/{db}
Fetch a single database owned by a user
DELETE​/dbs​/{db}
Delete a single database owned by a user
PATCH​/dbs​/{db}​/transfer​/{userEmail}
Transfer ownership of a database to another user

user

User specific operations

GET​/user
Fetch logged in user's info
DELETE​/user
Delete user
PUT​/user​/password
Update the password of the logged in user

admin

Operations with superuser privileges

GET​/admin​/apps
Fetch all applications with/without a filter defined by query params
GET​/admin​/apps​/{app}
Fetch a single application
DELETE​/admin​/apps​/{app}
Delete an application
GET​/admin​/dbs
Fetch all databases with/without a filter defined by query params
GET​/admin​/dbs​/{db}
Fetch a single database
DELETE​/admin​/dbs​/{db}
Delete a single database
GET​/admin​/users
Fetch all users with/without a filter defined by query params
GET​/admin​/users​/{userEmail}
Fetch a single user
DELETE​/admin​/users​/{userEmail}
Delete a single user
PATCH​/admin​/users​/{userEmail}​/grant
Grant superuser privileges to a single user
PATCH​/admin​/users​/{userEmail}​/revoke
Revoke superuser privileges from a single user
GET​/admin​/nodes
Fetch bind addresses(IP:Port) of all microservices on all nodes
GET​/admin​/nodes​/{type}
Fetch bind addresses(IP:Port) of a single microservice on all nodes

instances

GET​/instances
Fetch all instances owned by a user

Schemas

Context
Git
Application
CreatedApplication
User
CreatedUser
Login
LoginResponse
Database
CreatedDatabase
Metrics
Instances