attendance_add
Write one attendance record, a clock-in or clock-out, at the moment it actually happened. Omit date and time for right now, which is what somebody clocking in as they arrive means. A person writes their own record from the last three days and it goes in at once, with status added and its eventID. A press right now that reverses the one before it within a minute, clocking back in at the same place or clocking straight out again, takes that earlier record back instead of adding one: status removed, eventID names the record taken back, and that is a finished answer too. A clock-in right now while a shift is still open clocks that shift out at the same moment before the new one starts, so moving to another place ends one shift where the next begins. Reaching further back is an administrator's to write, for anybody. Asked by anybody else it comes back with status asked and no eventID, and the administrators have already been told what was asked for: that is a finished answer and the task is done. Say an administrator was asked and leave it there; do not call this again. A moment in the future is refused. location names a work location this company has registered and clock_out does not use it. reason says why a record is being written by hand, and is kept when given, never demanded. `workspace_write` · v4
Authorization
memberToken The tools internkim uses inside a company, callable from outside it. A token belongs to a person, and every call runs as that person, so a token can never do more than its owner can.
The first token is made signed in, from the settings screen. After that a token makes its own
successors: POST /token for a new one, DELETE /token for the old one, so a script rotates
without a browser. A token can neither mint a rung above its own nor revoke itself.
Send Authorization: Bearer <token> on every request.
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
text/plain
text/plain
text/plain
text/plain
text/plain
text/plain
text/plain
curl -X POST "https://example.com/tools/attendance_add/invoke" \ -H "Content-Type: application/json" \ -d '{ "input": { "kind": "clock_in", "personHint": "Sample Lee" } }'{ "toolName": "attendance_add", "outcome": "succeeded", "selectedBackend": "device", "effects": [ { "objectType": "attendance", "effect": "created", "id": "7a93de11-…" } ], "result": { "…": "the tool's own document" }}artifact_review POST
Review rendered artifact screenshots against a concrete intent and rubric, returning typed visual issues and suggested fixes. `read` · v2
attendance_changes_page_get POST
List clock-ins and clock-outs as the record holds them. Use this to answer 'when did I come in', 'was anybody late this week', or to find the record another attendance tool is about to correct. Dates are yyyy-mm-dd and times are 24-hour HH:MM, both in the company time zone. Without from and to it covers the last thirty days. It reads the requester's own attendance unless personHints names other people or scope is all. Each row says whether it was written by hand: reason is what the writer gave, and originalDate with originalTime are the moment it was moved from, both null when it was never moved. handWrittenOnly keeps those rows alone. serverTime is the record's own clock, which is the one to compare a moment against rather than the caller's; backdatedAfterMinutes is how far into the past a moment has to be before writing it counts as writing after the fact. `read` · v1