Database

Provision real MariaDB, Postgres, and MongoDB databases on Hep.gg, connect with any standard client over db.teamhydra.dev, and list or create them programmatically with a bearer-key management API.

Database

The Hep.gg Database app gives you real databases you can connect to with any standard client. Every database you provision is a genuine MariaDB, Postgres, or MongoDB database with its own dedicated user scoped to that one database. There are two separate surfaces, and it helps to keep them apart from the start:

  • Your databases are reachable at db.teamhydra.dev with a normal database client (the mysql CLI, psql, mongosh, an ORM, a driver). This is where your queries run.
  • The management API is a small bearer-key API at https://hep.gg/api/v1/db for listing and creating databases from a script or CI, without the dashboard.

Authentication

The two surfaces authenticate differently.

  • Your database (db.teamhydra.dev): the per-database username and password. Both are auto-generated when the database is provisioned. The password is shown on creation and can be revealed or rotated from the dashboard or the management API.
  • Management API (https://hep.gg/api/v1/db): a bearer key of the form hepgg_db_..., sent in the Authorization header.
Authorization header (management API)
Authorization: Bearer hepgg_db_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Management keys are minted in the dashboard under Database, API Keys at hep.gg. There is no public endpoint to create a key. The key carries your account entitlements: it can list and create databases, and reveal or rotate a database's password. It cannot delete a database; that stays dashboard-only. A suspended account, or a key you have disabled, returns 401. Never commit a key or a database password to source control.

Quickstart

Create your first database with the management API, then connect to it. Replace $DB_KEY with a key from your dashboard.

curl
curl -X POST https://hep.gg/api/v1/db/databases \
  -H "Authorization: Bearer $DB_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"my-app","engine":"mariadb"}'

A successful create returns 201 and includes the password and a ready-to-use connection string in data, returned only this once. Store them immediately. See Management API for the full request and response shape, then Connecting for client examples.

What you can do

Tiers and quota

What you get out of the box, plus how usage is enforced.

  • Free: 1 database, 100 MB account-wide, 10 concurrent connections per database user.
  • Premium: 2 databases, 500 MB account-wide, 25 concurrent connections per database user.
  • Packs: each pack adds +1 slot and +N MB of account-wide storage for 30 days. Stack as many as you like; slots and bytes both sum.

Slots and storage are account-wide and shared across both surfaces, so a database you create over the management API counts against the same quota as one created in the dashboard. Add slots or storage from the dashboard Top Up tab. Quota details and the over-quota behavior are covered in Connecting.

Engines available

All three engines are live on db.teamhydra.dev in production:

EngineDefault portConnection scheme
MariaDB / MySQL3306mysql://
Postgres5432postgresql://
MongoDB27017mongodb:// (with ?authSource=admin)

If an engine is not enabled on a deployment, creating a database with that engine returns 400 ENGINE_DISABLED. MariaDB is always available; it is the app's primary pool.