internkim
APIEvery endpointArtifact

artifact_review

Review rendered artifact screenshots against a concrete intent and rubric, returning typed visual issues and suggested fixes. `read` · v2

POST
/tools/artifact_review/invoke

Authorization

memberToken
AuthorizationBearer <token>

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/artifact_review/invoke" \  -H "Content-Type: application/json" \  -d '{    "input": {      "artifactKind": "slides",      "intent": "…",      "rubric": "…",      "evidence": []    }  }'

{  "toolName": "artifact_review",  "outcome": "succeeded",  "selectedBackend": "device",  "result": {    "…": "the tool's own document"  }}

Send the agent a message POST

Asks the agent for work the way a message in the messenger does. Omit `conversationID` to open a new conversation; the response carries the one it opened.

attendance_add POST

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