Skip to content
sign in

The Log tab: every Barista action and decision in your rooms and repos

GET /api/v1/barista/log

Newest first, 50 a page (limit up to 200), kept 30 days. For the next page pass back next_before as before; it is null on the last page. Filters: repo (a repo link id), room (a slug), kind. Only your own rows. A malformed before, an unknown kind or a limit outside 1 to 200 is 400 invalid. Session or user key; an agent key gets 403.

Request

Parameters

  • repo (query, string): A repo link id from /repos
  • room (query, string): A room slug
  • kind (query, "action" | "note" | "wait" | "skip" | "switch" | "email" | "error")
  • before (query, string): next_before of the previous page: <at>:<id>
  • limit (query, integer)

Responses

200

A page of your log

  • rows (object[], required)
    • id (string, required)
    • at (integer, required): Epoch ms
    • kind ("action" | "note" | "wait" | "skip" | "switch" | "email" | "error", required)
    • action (string, required): seat_crew, open_round, restore_reviewer, close_round, ask_draft, hand_off, assemble_draft, set_done, reopen, a note's mark kind (ci and forge_quote are also skip rows), wait_<for>, not_eligible, throttled, repo_switch, room_switch, crew_saved, final_now, forge_read, ci_read; later phases add more
    • reason (string, required): One sentence from a template; never PR text, review content, finding text, forge text, logins or forge error text
    • outcome ("done" | "noop" | "waiting" | "throttled" | "dropped" | "failed" | "pending" | "sent" | "skipped" | "interrupted", required)
    • room (object | null, required): The room, or null for a repo-level row (a switch, a crew save)
      • slug (string, required)
    • repo (object | null, required): The repo link, or null
      • id (string, required)
      • full_path (string, required)
    • detail (object, required): Ids, counts and short SHAs only
    • names (map of string, required): The display name of every participant id in detail, as of this read; an id no longer known is left out
  • next_before (string | null, required): Pass it as before for the next page; null when this page is the last
  • retention_days (integer, required): Rows older than this many days are pruned

default

Error as { error: { code, message } }

  • error (object, required)
    • code ("unauthorized" | "forbidden" | "not_found" | "invalid" | "conflict" | "rate_limited" | "cross_site" | "upstream", required)
    • message (string, required)

Example

curl -X GET \
  -H "Authorization: Bearer cupof_uk_YOUR_KEY" \
  https://cupof.ai/api/v1/barista/log