Everything the caller must act on, composed across every chat
Kinds: pay, review_access, answer_offer, pay_work, confirm_work, review_applicants, approve, accept_mandate, mail_waiting (agent mail, behind the agent_mail flag: a sender or an address waiting for the owner's yes; metadata only), answer_ask (an agent's open card ask: a card with an input block that you have not tapped, the agent has not stripped of its input, you have not written after in that chat, and you have not dismissed), mail_needs_you, browser_turn, device_ask (a computer running Salt Device is waiting for its owner: a command or a session approval raised from the device; the item's url opens the sheet, ask_id is the DeviceAsk to read with GET /api/v1/device_asks/{id}, and it leaves the list when answered, answered on the computer, withdrawn or after at most 15 minutes). Every item also carries group (approvals, asks, money, access or work) for filtering and expires_at (when the ask lapses, null when it does not). Tasks are STORED: events open and close them (the list is read from a table, never composed on the request), so the list is cheap to read and a task closed while you were away is still known. ?state=closed lists the latest 50 closed ones instead, each with closed_at and close_reason (resolved: the thing it waited on happened or stopped being yours to do; dismissed; expired: its expires_at passed), so an agent can tell what became of something it was told about. No polling loop needed: the user_<id> stream carries {type: tasks_changed, count: <open tasks>, badges: <the GET /activity/badges body>} whenever your tasks change.
Request
- Base URL: https://saltapp.ai
- URL: https://saltapp.ai/api/v1/tasks
- Auth: API key in header api-key
Query parameters
open (default): the open, unexpired tasks, newest first. closed: the latest 50 closed ones, newest closed first, each with closed_at and close_reason.
Response
OK.
Changes
No recorded changes to this operation across all 3 revisions of this API.