Go Scribi

The API

Note properties

Fields on a note itself — a review date, a status, where it came from — rather than words inside it. Every one is optional, and everything here is keyed by a property's KEY, which never changes when it is renamed.

Every call here carries Authorization: Bearer <key> and answers JSON. What is true of every call, and what every refusal means.

GET /api/v1/w/:workspace_id/properties

What notes in this workspace can say about themselves.

needs
read on the thing it touches
answers
properties, each with its key, name, kind, the names it used to have, and — for a single-select — its options, each saying whether it is still offered.
refusals
unauthorized, not_found, too_many_requests

A note's own answers come back with the note, keyed the same way. Set them by PATCHing the note with a properties object.

A RETIRED OPTION IS STILL LISTED, with offered: false. Notes holding one still say it, and a client that dropped it would show a note saying something its own workspace claims is not a choice.

DEFINING a property is deliberately not here: it defines a vocabulary everybody in the workspace then writes in, which is a setting an administrator changes on the page rather than something a key does.

An example
curl -X GET https://goscribi.com/api/v1/w/595/properties \
  -H "Authorization: Bearer $GO_SCRIBI_KEY"

Answers 200:

{
  "properties": [
    {
      "key": "review-date",
      "name": "Review date",
      "kind": "date",
      "former_names": []
    },
    {
      "key": "status",
      "name": "Status",
      "kind": "select",
      "former_names": [],
      "options": [
        {
          "value": "In review",
          "offered": true
        },
        {
          "value": "Done",
          "offered": false
        }
      ]
    }
  ]
}