Tutorial

About this app

Understand the shape of I Need A Database before you build on it: simple JSON storage, REST routes, and a small set of terms.

What this app is

This app is a REST API for storing JSON documents. You create a project, add collections inside it, then create and read documents over HTTP.

The project API key is a full-access secret. Use it from server-side code such as a backend route, serverless function, worker, or script, not from browser-side JavaScript.

It is best to think of it as a document-style database rather than a traditional SQL database. You do not define tables, migrations, or a required schema up front. You send JSON in, then read, filter, and update that JSON later.

If you have used a key-value store before, the mental model is close, but slightly more structured. Instead of one flat bucket of values, you organize related JSON documents into named collections and access them through predictable REST routes.

Terminology

In the public API and docs, we use product terms that are a little friendlier than classic database language.

Classic termHere it is calledMeaning
DatabaseProjectThe top-level container for your app's data.
TableCollectionA group of related JSON documents, such as users or orders.
RowDocumentOne stored JSON object with its own id and metadata.

You do not need to rename things inside your own app to match this wording. If your app already talks about databases, tables, and rows, that is fine. These docs only use project, collection, and document so the API and dashboard are easier to follow.

If you want to see those terms in action, start with the Quickstart.

What it does not do

This app does not support relationships between documents in the way a relational database supports foreign keys, joins, or linked records.

If one document needs to refer to another, you can store the other document's id in JSON and resolve it in your own application code, but the database will not join those records for you.

That tradeoff is deliberate. The product stays simple by focusing on straightforward JSON CRUD over HTTP instead of full relational modelling.

It also does not provide browser-safe end-user authentication yet. If you are building a frontend app, call your own server endpoint first and have that endpoint call I Need A Database with the project API key.