From CREATE TABLE to curl
Make the table with SQL, from the dashboard or any client, then call it:
HIVE=https://hornethive.io
DB=<database id> # from the dashboard
KEY=<api key> # read or write, one database or all
# insert a row
curl $HIVE/api/rest/$DB/books -H "Authorization: Bearer $KEY" \
-H "Content-Type: application/json" -d '{"title":"The Hive and the Hornet"}'
# list, filtered, ordered and paged
curl "$HIVE/api/rest/$DB/books?select=id,title&author=Aina&orderBy=id&order=desc&limit=20" \
-H "Authorization: Bearer $KEY"What the REST API does
- GET /api/rest/{database}/{table} lists rows: ?select= picks columns, ?column=value filters, ?orderBy= and ?order= sort, ?limit= (up to 1,000) and ?offset= page.
- GET /api/rest/{database}/{table}/{id} reads one row.
- POST inserts a row; PATCH updates and DELETE removes every row matching your ?column=value filters. A filter is required, so one request cannot wipe a table by accident.
- POST /api/rest/{database}/query runs one SQL statement; read-only keys may only read.
Keys that only do what you allow
Each API key is read or write, for one database or all of them, shown once and stored only as a hash. A read-only key can be used from the browser, from the origins you register, so a static site can read its data with no server in between. Keep write keys on your server.
Calls are counted against your plan: 500K a month on the free plan, 2.5M on Starter and 25M on Pro.
Still a real database
The REST API sits on an ordinary PostgreSQL 18 database. When you outgrow it, the same tables are there for your ORM, for GraphQL, or for a direct connection on the Pro plan. Nothing to migrate.
Updated