I realize this is super-niche information, but I've been lightly playing around
with the Kinopio API and the JSON it returns.
You'll need curl
,
jq
, and
rg
.
Here's the shell incantation for getting a list of cards in a list sorted in created order:
1export KINOPIO_API_KEY=<enter `JSON.parse(localStorage.user).apiKey` in console>
2export KINOPIO_SPACE_KEY=<grab from URL>
3
4curl -H "Authorization: $KINOPIO_API_KEY" https://api.kinopio.club/space/$KINOPIO_SPACE_KEY | jq -r '.cards | .[] | .createdAt + "\t" + (.name | tojson)' | sort
The jq
part is the more interesting stuff:
1cat space.json | jq -r '.cards | .[] | .createdAt + "\t" + (.name | tojson)'
It grabs all the cards, then prints out the created time, a tab, and the escaped card name.
This is just text now, so you can do Unix-style filtering and manipulations. For
example, list all the incomplete tasks by piping through rg
:
1cat space.json | jq -r '.cards | .[] | .createdAt + "\t" + (.name | tojson)' | rg "\"\[\]"
I've formatted it to kinda look like a twtxt feed. So for example, here are the incomplete tasks on the Kinopio roadmap. Since it's public, I don't need the API key:
1% curl -s https://api.kinopio.club/space/6TRE21gchHI7alHLuwzd5 | jq -r '.cards | .[] | .createdAt + "\t" + (.name | tojson)' | sort | rg "\"\[\]"
22019-12-31T16:19:09.398Z "[] for power users - may need to prioritize features that get new people in before these"
32019-12-31T16:19:09.412Z "[] Dark mode π"
42020-01-02T02:19:46.881Z "[] two new frames"
52020-05-25T14:59:23.876Z "[] Better undo (Cmd z to undo Any operation, not just card delete)"
62020-06-15T15:12:20.886Z "[] bi-directional tabs/labels that allow bottom up organization \n\nSpec: https://www.are.na/block/7674650"
72020-08-11T14:56:21.976Z "[] marketing outreach"
π