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.
- 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. - Create your first table — Open the database, click Create Table, enter a table name (e.g.
contacts), add at least one column (e.g.nameas text,emailas text). Click Create. - Add a few rows manually — Open the table, click Add Row, fill in the values, and click Save. Repeat if you like.
- 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.
- (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.
- On the Dashboard, click Restore from backup.
- Enter a database name and database password for the new database.
- Select the SQL backup file (the file you downloaded via Backup or Export as SQL from this platform).
- 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 TABLEandINSERTstatements. 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_TOKENandX-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
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/databases | List all your databases |
| POST | /api/databases | Create 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|sql | Export database |
| GET | /api/databases/{dbId}/tables | List tables |
| POST | /api/databases/{dbId}/tables | Create table (body: name, columns[]) |
| DELETE | /api/tables/{tableId} | Delete table (tableId = dbId_tableName) |
| GET | /api/tables/{tableId}/columns | List columns |
| POST | /api/tables/{tableId}/columns | Add 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}/rows | Create 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/databasesContent-Type: application/jsonAuthorization: Bearer YOUR_API_TOKEN{ "name": "my_app", "databasePassword": "YourSecurePass123" }# 2. Create table (API token + database password required)POST /api/databases/{dbId}/tablesContent-Type: application/jsonAuthorization: Bearer YOUR_API_TOKENX-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 rowPOST /api/tables/{tableId}/rowsContent-Type: application/jsonAuthorization: Bearer YOUR_API_TOKENX-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.comAuthorization: Bearer YOUR_API_TOKENX-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-Tableormy tableare not allowed; usemy_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.