Futureland API
Designing Futureland’s Public API together.
5 entries
First: Jan 30, 2021
I'm super super stoked to see the kind o...

Started to implement some parts of the public API. Thought the route to publish entries would be a good start. In general the API will support the application/json content-type but this endpoint will additionally support multipart/form-data to enable file uploads.

Public API wishlist

- Write to a specific journal (MIME + text)
- Read all entries from a specific journal
- Read bookmarks from a specific journal
- Read streak for a specific journal
- Read time series entry stats for a specific journal (the lil time series graph)
- Create journal (title, description, photo)

- Read all journals for my user
- Read all Daily journals for my user

- Read stream for my user

A few use cases for a more "programmable" Futureland, which is, one in which users feel a greater sense of agency over how it is used in their lives.
- Ability to query and contribute data via a RESTful API as you mentioned @lucas. But this also includes an api for Daily, that allows basic CRUD functions. I can see someone wanting to build Daily into a native app on mac.
- Ability to style the profile and daily to match someone's unique preferences (theming)

Decentralization is another theme that I'm thinking about a lot recently. Futureland is so community driven, and so much of the early design choices rightfully enable users control over their data - e.g. ability to download journals. I wonder if we can take this a step further and truly decentralize FL - i.e. putting all updates on a public blockchain (privacy protected ofc). We can even think of creating a token for FL projects that can be purchased by people who want to support a users project. Lots to unravel in this theme but just putting them here as a thought starter.

Not sure how I would build this yet but it would be neat if I had some kind of little program that published to my 'Daily' journal every time I added or removed a journal from 'Daily'.


To kick things off:

The plan is to make a public REST JSON API that is easy to use and has world-class documentation. The authentication could be provided via JWT as bearer token in the 'Authorization'-header.
Another idea would be to provide users with API-tokens that can be used with every request instead of requesting a JWT with credentials.

My guess is that the most interesting endpoint for users would be to publish to a journal via API but I am excited to learn from everyones perspective.

I welcome everyone to share their thoughts here.

internetvin Futureland API