Go Scribi

The API

Workspaces and limits

Which workspaces a credential reaches, what it may do in one, and what the plan allows.

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

GET /api/v1/workspaces

Every workspace this credential reaches. The one call that is not inside one.

needs
Any credential that reaches the workspace
answers
user, read_only, and workspaces — each with can and whether it is locked.
refusals
unauthorized

A workspace that has shut its door to this credential is simply not in the list.

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

Answers 200:

{
  "user": {
    "id": 13334,
    "name": "Nightly export",
    "kind": "application"
  },
  "read_only": false,
  "workspaces": [
    {
      "id": 11083,
      "name": "Personal",
      "time_zone": "Etc/UTC",
      "can": "write",
      "locked": false
    }
  ]
}

GET /api/v1/w/:workspace_id/whoami

Who this credential is here, and what it may do.

needs
Any credential that reaches the workspace
answers
user, workspace, can, read_only, administrator, locked.
refusals
unauthorized, not_found

can is the honest answer the next request will give — the key's ceiling and the workspace's lock already applied. Worth asking first rather than discovering halfway through a job.

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

Answers 200:

{
  "user": {
    "id": 13337,
    "name": "Nightly export",
    "kind": "application"
  },
  "workspace": {
    "id": 11085,
    "name": "Personal",
    "time_zone": "Etc/UTC"
  },
  "can": "write",
  "read_only": false,
  "administrator": false,
  "locked": false
}

GET /api/v1/w/:workspace_id/limits

What the plan allows, and how much is used.

needs
Any credential that reaches the workspace
answers
limits — notes, storage, members, upload sizes, and whether the workspace is locked.
refusals
unauthorized, not_found

A limit of null means no limit. Nothing about billing is here.

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

Answers 200:

{
  "limits": {
    "plan": "Free",
    "notes": {
      "used": 1,
      "limit": 100
    },
    "storage_bytes": {
      "used": 0,
      "limit": 104857600
    },
    "members": {
      "used": 1,
      "limit": 1
    },
    "upload_bytes": 26214400,
    "image_bytes": 10485760,
    "ocr_allowed": false,
    "locked": false
  }
}