Documentation

A complete guide to using DB Platform: create and manage databases, tables, and data; export and import; and use the REST API.

1. Introduction

DB Platform is a Database-as-a-Service (DaaS) that lets you create and manage MySQL databases in the cloud without writing SQL. You can build tables, add and edit rows, import data from SQL, CSV, Excel, or SQLite files, export your data, and access everything via a REST API.

UI vs API: If you are not a developer, you can use the entire platform without the API. The web interface (Dashboard) is enough for most users. The API is for automation and integration (e.g. connecting your app or scripts).

This documentation explains how to use the dashboard and the API so you can get the most out of the platform.

2. Quick Start (5 Minutes)

Follow these steps in order. You do not need the API to complete them.

  1. Create a database — On the Dashboard, click Create Database, choose Create empty database, enter a name (e.g. my_first_db) and a database password. Save the password; you need it for API access later. Click Create.
  2. Create your first table — Open the database, click Create Table, enter a table name (e.g. contacts), add at least one column (e.g. name as text, email as text). Click Create.
  3. Add a few rows manually — Open the table, click Add Row, fill in the values, and click Save. Repeat if you like.
  4. Export your data — In the table or database view, click Export (or use the Backup button on the database card on the Dashboard) and choose SQL for a full backup. The file downloads. You now have a backup.
  5. (Optional) Enable API access — If you need the API: go to Settings → API Token and generate a token. Use your API token plus the database password for API requests (see REST API).

Import is best done when creating a new database (or into an existing one after you know the naming rules). See Import and Naming Rules.

3. Getting Started

After sign-up, the best order is: create a database → create a table → add rows → export. The Quick Start above walks you through that. Below are the account steps.

Sign up and verify email

Go to the Sign up page, enter your email and a password (at least 8 characters, with one letter and one number). Agree to the Privacy Policy and click Sign Up. Check your email and click the verification link to activate your account.

Log in

After verification, go to Log in, enter your email and password, and click Login. You will be taken to your Dashboard.

Dashboard overview

The Dashboard shows all your databases. From here you can create a new database (empty or by importing a file), open a database to manage its tables, or go to Settings (API token, profile) or Billing (plans, invoices).

4. Before You Delete Anything

⚠️ These actions cannot be undone

  • Delete database — Removes the database and all its tables and data permanently. Export a backup first.
  • Delete table — Removes the table and all its rows permanently.
  • Delete column — Removes the column and all its data from the table permanently.
  • Import SQL — Executes the SQL file as-is. Dangerous statements (e.g. DROP, TRUNCATE) are blocked, but creating or replacing tables is irreversible. Always test on a copy or backup first.

Before any delete or destructive import: export your data (JSON, CSV, or SQL) or use the Backup button on each database card on the Dashboard to download an SQL backup.

5. Databases

Create a database (empty)

On the Dashboard, click Create Database. Choose Create empty database, enter a name (e.g. my_app) and a database password. This password is required for API access to this database. Click Create.

Create a database (with import)

Click Create Database and choose Import from file. Select the import type: SQL, CSV, Excel, or SQLite. Enter a database name and database password, then select your file. For CSV/Excel you can optionally set a table name. Click Create. The database is created and the file is imported.

Edit database name

Open the database, then use the edit (pencil) action next to the database name to change it. The internal database name in MySQL does not change; only the display name in the platform is updated.

Database password

Each database has its own password, used together with your API token for API access. You set it when creating the database. To change it, open the database and use Database password or Regenerate password. Store the password securely; it is not shown again after creation or regeneration.

Backup and restore

On the Dashboard, each database card has a Backup button that downloads a full SQL backup. To create a new database from an SQL backup file, use Restore from backup on the Dashboard (see Restore from backup).

Delete a database

Permanent. Open the database and use the delete (trash) action. Confirm the deletion. The database and all its tables and data are permanently removed. Use the Backup button or export a backup first (see Before You Delete Anything).

6. Tables

Create a table

Open a database and click Create Table. Enter a table name (e.g. users or orders). Table and column names must use only lowercase letters, numbers, and underscores (see Naming Rules). Add at least one column: give each column a name, choose a type (e.g. varchar = short text like names or emails, int = whole numbers, text, boolean, date, datetime), and optionally mark it as required or as primary key. Click Create.

View tables

Inside a database you see the list of tables with row counts. Click a table to open it and view its columns and rows.

Delete a table

Permanent. Open the database, find the table, and use the delete (trash) action. Confirm. The table and all its data are permanently removed. See Before You Delete Anything.

7. Columns

Add a column

Open a table and click Add Column. Enter the column name (lowercase letters, numbers, underscores only), choose a type (see Column types below), and optionally set required. Click Add.

Column types

Common types: varchar — short text with a max length (e.g. names, emails). text / longtext — longer text. int / bigint — whole numbers. decimal, float, double — numbers with decimals. boolean — true/false. date, datetime, timestamp — dates and times. json — structured data (e.g. lists or key-value pairs). You can set primary key (unique identifier for the row) and auto-increment (platform fills in the next number automatically) for integer columns when creating the table.

Delete a column

Permanent. Open the table, find the column in the column list or row header, and use the delete action for that column. All data in that column is permanently removed. See Before You Delete Anything.

8. Rows

View rows

Open a table to see its rows in a grid. You can change the page size and navigate pages. Use the filter inputs per column to filter by value (e.g. filter by email or status).

Add a row

Click Add Row. Fill in the values for each column. Required columns must have a value. Click Save. Each row has an internal _id (a unique ID the platform assigns) and optional _created_at / _updated_at (timestamps) managed by the platform.

Edit a row

Click the edit (pencil) icon on a row. Change the values and click Save.

Delete a row

Click the delete (trash) icon on a row and confirm. The row is permanently removed.

Row version history

The platform stores a version history for row changes (create, update, delete). You can retrieve the history or a specific version via the API: GET /api/tables/{tableId}/versions?rowId={rowId} for the list of versions, or add &version={n} for a specific version. Useful for auditing or recovering previous values.

9. Export, Backup & Restore

How to take a backup

Taking a backup means exporting your data and saving the file somewhere safe (your computer, cloud storage, etc.). Do this before deleting anything or before risky imports.

  • Backup button (Dashboard): On the Dashboard, each database card has a Backup button that downloads a full SQL backup of that database. Use this for a quick, one-click backup before important changes or before deleting.
  • Export from database or table: Open the database (for full backup) or a single table, click Export, and choose SQL (best for restoring the whole database later), JSON, or CSV. Save the file in a safe place.

Pro plan users also have automated server-side backups (scheduled by the platform). For your own copy or before any delete/import, always use the Backup button or Export.

Restore from backup

To restore a backup, you create a new database and import your SQL backup file into it. This is useful after accidental deletion, to recover an old snapshot, or to duplicate a database.

  1. On the Dashboard, click Restore from backup.
  2. Enter a database name and database password for the new database.
  3. Select the SQL backup file (the file you downloaded via Backup or Export as SQL from this platform).
  4. Click Restore. A new database is created and the SQL file is imported (tables and data). When finished, open the new database from the Dashboard.

Use a file that was exported as SQL from DB Platform (or compatible CREATE TABLE / INSERT SQL). Dangerous statements (e.g. DROP, TRUNCATE) in the file are blocked by the platform.

Export a database

Open the database and click Export. Choose format: JSON (good for apps and backups; human-readable structure), CSV (spreadsheet-friendly), SQL (database statements you can run in MySQL or use for Restore from backup), SQLite, or MongoDB. The file is generated and downloaded.

Export a table

Open the table and use the Export action. You can export that table's data in the chosen format.

10. Import

You can import data when creating a new database (see Databases), into an existing database, or by using Restore from backup on the Dashboard to create a new database from an SQL backup file (see Restore from backup).

⚠️ SQL import

Importing a SQL file runs it against your database. Dangerous statements (e.g. DROP, TRUNCATE) are blocked by the platform, but creating or replacing tables is still irreversible. Always export a backup first and test on a copy if unsure.

Import into an existing database

Open the database and click Import. Choose:

  • SQL – A .sql file with CREATE TABLE and INSERT statements. Tables and data are created in this database. Must pass platform checks (see Import Troubleshooting).
  • CSV or Excel – A .csv or .xlsx file. You provide a table name (lowercase letters, numbers, underscores only). The first row is used as column headers; columns are created as varchar (short text) by default — see Import Troubleshooting for why.
  • SQLite – A .sqlite or .db file. All tables from the SQLite file are created in this database; tables with invalid names (see Naming Rules) are skipped.

Select the file and start the import. Table and column names must follow the naming rules; otherwise the request is rejected or the table is skipped.

Import Troubleshooting

  • Why was my SQL file rejected? The platform blocks dangerous or restricted SQL (e.g. DROP, TRUNCATE, CREATE USER, file access). Only safe CREATE TABLE, INSERT, and similar statements are allowed. Check that your file uses allowed syntax and naming rules.
  • Why was a table skipped? Table (and column) names must use only lowercase letters, numbers, and underscores. If a table or column name in your file contains spaces, hyphens, or other characters, that table is skipped. Rename in the source and re-import.
  • Why are all CSV columns varchar? CSV/Excel import does not detect types (number, date, etc.). The first row is treated as headers and every column is created as varchar (short text). After import, you can change column types in the table if needed, or use SQL import for full control.

11. REST API

You can manage databases, tables, columns, and rows over HTTP. API access is available on paid plans (Starter: limited; Pro and Business: full). Free plan users do not have API access.

Get your API token

Go to Dashboard → Settings → API Token. Click Generate API Token. Copy and store the token securely; it is shown only once. You use this token in the Authorization header for all API requests.

Authentication

Listing your databases (no database password needed):

  • Send your API token in the header: Authorization: Bearer YOUR_API_TOKEN

Accessing a specific database (create/read/update/delete tables, rows, export, import): you must also prove access to that database using its database password. Two options:

  • Bearer + header: Authorization: Bearer YOUR_API_TOKEN and X-Database-Password: YOUR_DATABASE_PASSWORD
  • Basic auth: Authorization: Basic base64(YOUR_API_TOKEN:YOUR_DATABASE_PASSWORD) (username = API token, password = database password)

Replace YOUR_API_TOKEN and YOUR_DATABASE_PASSWORD with your real values. Base URL is your site (e.g. https://your-domain.com).

Endpoints overview

MethodEndpointDescription
GET/api/databasesList all your databases
POST/api/databasesCreate a database (body: name, databasePassword)
GET/api/databases/{dbId}Get one database and its tables
DELETE/api/databases/{dbId}Delete a database
GET/api/databases/{dbId}/export?format=json|csv|sqlExport database
GET/api/databases/{dbId}/tablesList tables
POST/api/databases/{dbId}/tablesCreate table (body: name, columns[])
DELETE/api/tables/{tableId}Delete table (tableId = dbId_tableName)
GET/api/tables/{tableId}/columnsList columns
POST/api/tables/{tableId}/columnsAdd column (body: name, type, required)
DELETE/api/tables/{tableId}/columns?columnName=...Delete column
GET/api/tables/{tableId}/rows?limit=...&offset=...&filter[col]=...List rows (paginated, optional filters)
POST/api/tables/{tableId}/rowsCreate row (body: data object with column names and values)
PATCH/api/tables/{tableId}/rows/{rowId}Update row (body: data)
DELETE/api/tables/{tableId}/rows/{rowId}Delete row
GET/api/tables/{tableId}/export?format=...Export table
GET/api/tables/{tableId}/versions?rowId=...&version=...Row version history (optional version for one snapshot)

Table ID format: tableId is dbId_tableName, e.g. abc123_users. Use the database ID from the list-databases response and the table name.

Example: Create a database and a table

# 1. Create database (session or API token only)
POST /api/databases
Content-Type: application/json
Authorization: Bearer YOUR_API_TOKEN
{ "name": "my_app", "databasePassword": "YourSecurePass123" }
# 2. Create table (API token + database password required)
POST /api/databases/{dbId}/tables
Content-Type: application/json
Authorization: Bearer YOUR_API_TOKEN
X-Database-Password: YourSecurePass123
{
"name": "users",
"columns": [
{ "name": "email", "type": "varchar", "required": true, "length": 255 },
{ "name": "name", "type": "varchar", "required": false, "length": 255 },
{ "name": "age", "type": "int", "required": false }
]
}

Example: Add and read rows

# Add a row
POST /api/tables/{tableId}/rows
Content-Type: application/json
Authorization: Bearer YOUR_API_TOKEN
X-Database-Password: YourSecurePass123
{ "data": { "email": "user@example.com", "name": "Jane", "age": 30 } }
# List rows (with pagination and filter)
GET /api/tables/{tableId}/rows?limit=10&offset=0&filter[email]=user@example.com
Authorization: Bearer YOUR_API_TOKEN
X-Database-Password: YourSecurePass123

Rate limits

Starter: limited requests per minute; Pro: higher limit; Business: highest. Responses include X-RateLimit-Remaining and X-RateLimit-Reset headers. For full API reference and status codes, see API Reference.

12. Webhooks

Webhooks are available on the Pro plan. You can register a URL and subscribe to events (e.g. table created, row created, row updated, row deleted). When an event occurs, the platform sends an HTTP POST request to your URL with a payload describing the event. Use the Webhooks section in Settings to add, view, or remove webhook endpoints.

13. Naming Rules

Table and column names must follow these rules so that the platform can manage them safely:

  • Only lowercase letters (a–z), numbers (0–9), and underscores (_).
  • Length between 1 and 64 characters.
  • No spaces, hyphens, or other symbols. Invalid names are rejected (e.g. My-Table or my table are not allowed; use my_table).

Database names are normalized when created (e.g. spaces to underscores, lowercase). For tables and columns, use valid names from the start.

14. Support

For help, contact us via the Contact page. For billing and plans, see Pricing and Dashboard → Billing.