Understanding Data
How Data is Handled
Inside a Flybase app, we have collections, which contain data.
We store all data inside a collection as JSON objects. When we add a new record to a collection, it becomes a document in the existing JSON structure.
For example, if we added a column named furbies
to the kaitlyn
user under the users
collection, our data looks as follows:
{ "users": { { "_id": "uniquedocid-1", "username": "kaitlyn", "friends": { "jacob": true }, "name": "Kaitlyn", "furbies": { "cocoa": true, "totoa": true } }, { "_id": "uniquedocid-2", "username": "jacob", ... }, { "_id": "uniquedocid-3", "username": "caleb", ... } }}
Reference a Flybase app
To read and write Flybase data, we need to reference our app.
A Flybase reference consists of three items:
- Your API Key, represented by:
74k8064f-cd6f-4c07-8baf-b1d241496eec
- The slug of a Flybase app that has been created in your account:
web
- Finally, the name of a data collection, in this example:
posts
curl -X POST -d '{ "title": "The Black Pearl", "author": "jacks" }' \
-H "X-Flybase-API-Key: 74k8064f-cd6f-4c07-8baf-b1d241496eec" \
https://api.flybase.io/apps/web/collections/posts
Data inside a Flybase app is organized by collections, if you are familiar with SQL tables, then this is similar to tables.
Apps must be created inside your Flybase dashboard, but if you call a collection that does not exist already then it will get created the first time you save data to it.
Flybase provides a Dashboard, which displays a visual representation of the data and provides tools for simple administrative tasks.
Passing JSON Web Tokens
If you don’t want to pass your API key every time then you can also pass a JSON web token.
This can be generated by passing the following POST query:
curl -X POST https://api.flybase.io/create-token/YOUR-API-KEY
This will return a JSON object with id_result
as the key, copy the contents of id_result
to use elsewhere.
Then you can pass the JSON token rather than your API key via one of three ways:
- Replace the api key with
token:YOURJWTTOKEN
:
curl -H "X-Flybase-API-Key: token:MYTOKEN" https://api.flybase.io/
- Pass a
Authorization: Bearer
header with your JWT token included after the wordBearer
:
curl -H "Authorization: Bearer MYTOKEN https://api.flybase.io/
- Pass the token with the
jwttoken
query string variable:
curl https://api.flybase.io/?jwttoken=MYTOKEN
Either of these three methods work and provide a handy way to pass your api keys without actually passing your keys.
That’s it! Now we’re ready to start writing data to Flybase which we’ll cover in the next section.