Agents & API
CLI reference
Every krinoa command, one line each: what to type, what it does, and which commands refuse without --yes.
Every krinoa command, in one page. Run krinoa <command> --help for that command's flags, its examples and the exact JSON fields it answers with, and krinoa schema for the whole OpenAPI document. The CLI covers the flags every command shares and what the exit codes mean.
This page is generated by pnpm docs:cli from the program in packages/cli/src/main.ts, and a test fails when it goes stale. A command marked --yes is destructive: without that flag it refuses, exits 2, and prints exactly what it would have done.
krinoa#
Signing in, looking around, and reading the API document.
krinoa login— Sign in with a device grant in a browser, or with an API keykrinoa logout— Sign out: end the session on the server, forget the credentialkrinoa whoami— The signed-in user, the auth method, and the active workspacekrinoa version— CLI version, contract number, and what the server answerskrinoa calendar— Booked interviews in a window (interviewers: theirs only)krinoa review— Screened applications awaiting a decisionkrinoa schema— The OpenAPI 3.1 document for this APIkrinoa completion <shell>— Print a completion script for your shell
krinoa prefs#
Your own settings: the zone times are shown in, and your email
krinoa prefs get— The acting user's preferenceskrinoa prefs set— Change your preferences
krinoa org#
Workspaces this credential can act for
krinoa org list— Workspaces the acting user belongs tokrinoa org use <slug>— Switch the session's active workspacekrinoa org show— The current workspacekrinoa org email— Email delivery and this workspace's email settingskrinoa org email set— Change this workspace's email settingskrinoa org scheduling— This workspace's scheduling defaults: zone, room, notice, reminderskrinoa org scheduling set— Change this workspace's scheduling settingskrinoa org retention— How long candidate data is kept before it is erasedkrinoa org retention set— Set (or clear) the retention window
krinoa jobs#
Job postings
krinoa jobs list— Every job in the workspace, newest firstkrinoa jobs show <id>— One job with its per-stage application countskrinoa jobs create [stdin]— Create a job (draft unless --status says otherwise)krinoa jobs update <id> [stdin]— Update any subset of a job's fieldskrinoa jobs publish <id>— Publish to the careers pagekrinoa jobs close <id>— Close the job and stop accepting applicationskrinoa jobs plan get <id>— The job's interview rounds; the default plan until it is editedkrinoa jobs plan set <id>— Replace the plan with the rounds in a JSON filekrinoa jobs delete <id>— Delete a job and every application under it ·--yes
krinoa apps#
Applications in the pipeline
krinoa apps list— Applications you can accesskrinoa apps show <ref>— The packet: application, candidate, answers, job formkrinoa apps move <ref> <stage>— Move between pipeline stageskrinoa apps reread <ref>— Re-read: reset and re-run the agent (alias: rescreen)krinoa apps reads <ref>— Every read of this application, newest firstkrinoa apps read <ref> <id>— One past read in full: coverage, findings, provenancekrinoa apps resume-text <ref>— The résumé's text layer, page by pagekrinoa apps probe <ref> <text>— Push a question into a round's interview prepkrinoa apps assignees <ref>— Who is assigned to this applicationkrinoa apps assign <ref> <email>— Assign a teammate (interviewers see only applications assigned to them)krinoa apps unassign <ref> <email>— Remove an assignmentkrinoa apps scorecards <ref>— Scorecards (interviewers see only their own)krinoa apps add— Add a candidate by hand (referral, sourced, inbound)krinoa apps thread <ref>— The conversation: every message sent or received, oldest firstkrinoa apps email <ref>— Send (or schedule) a message to the candidatekrinoa apps message <ref>— Message the candidate on a channel (WhatsApp text or template)krinoa apps consent <ref>— Record that the candidate agreed to (or withdrew) WhatsAppkrinoa apps delete <ref>— Delete one application and its files ·--yeskrinoa apps reject <ref>— Reject, and queue the decision email ·--yes
krinoa candidates#
A person, across their applications: export and erasure
krinoa candidates export <id>— All stored data for one person; --out also saves it to diskkrinoa candidates erase <id>— Erase a candidate and all of their data ·--yes
krinoa interviews#
Interviews: propose times, book them, record outcomes
krinoa interviews list <ref>— Every interview on an application, in round orderkrinoa interviews show <id>— One interview: when, with whom, and where it standskrinoa interviews propose <ref>— Propose 1–6 times; the candidate picks one on their page ·--yeskrinoa interviews book <ref>— Book a time already agreed; invites go out now ·--yeskrinoa interviews reschedule <id>— Move a booked interview, or re-propose times ·--yeskrinoa interviews cancel <id>— Cancel the interview: a cancellation goes to everyone, reminders are withdrawn ·--yeskrinoa interviews outcome <id> <outcome>— Record what happened (interviewers: their own interviews)krinoa interviews resend <id>— Resend the current proposal or invite
krinoa comms#
Queued messages (ids come from apps thread)
krinoa comms cancel <id>— Cancel a queued message before it is sent ·--yes
krinoa comments#
The team's discussion on an application (not shown to the candidate)
krinoa comments list <app>— The discussion, oldest firstkrinoa comments add <app> [body...]— Say something on an application, mentioning teammateskrinoa comments delete <id>— Delete a comment: yours, or any as an owner or admin ·--yes
krinoa inbox#
krinoa inbox— Candidate replies waiting on a humankrinoa inbox counts— How many threads are in each filterkrinoa inbox quarantine list— Quarantined messages, newest firstkrinoa inbox quarantine attach <id> <ref>— File a quarantined message into an application's threadkrinoa inbox quarantine discard <id>— Discard a quarantined message ·--yes
krinoa notifications#
krinoa notifications— Your notifications, newest firstkrinoa notifications read [ids...]— Mark notifications as readkrinoa notifications count— How many notifications are unread
krinoa ledger#
The activity ledger
krinoa ledger tail— The ledger, newest first
krinoa referrals#
Refer someone you know, and see how their invite went
krinoa referrals list— Your referrals, newest firstkrinoa referrals create— Invite someone you know to applykrinoa referrals show <id>— One referral and where it got to
krinoa team#
Members and invitations
krinoa team list— Members and pending invitationskrinoa team roster— Every member, for @mentions (any role may read)krinoa team invite <email>— Invite by emailkrinoa team cancel <invitation-id>— Cancel a pending invitationkrinoa team role <email> <role>— Change a member's rolekrinoa team remove <email>— Remove a member from the workspace ·--yes
krinoa templates#
The workspace's email templates
krinoa templates list— Every templatekrinoa templates get <key>— One template, with its bodykrinoa templates set <key>— Edit a template's subject, body, name, or whether it is onkrinoa templates reset <key>— Restore the built-in default
krinoa whatsapp#
The workspace's WhatsApp Business number and its templates
krinoa whatsapp status— The connected number, template review state, month-to-date countskrinoa whatsapp connect— Connect (or replace) the workspace's WhatsApp Business numberkrinoa whatsapp disconnect— Disconnect the WhatsApp number ·--yeskrinoa whatsapp templates sync— Submit changed WhatsApp template bodies to Meta and refresh review states
krinoa keys#
Workspace API keys (requires a signed-in session, not a key)
krinoa keys list— The workspace's API keyskrinoa keys create <name>— Create an API key; the secret is shown oncekrinoa keys revoke <id>— Revoke an API key ·--yes
krinoa embed#
Put this workspace's open jobs on your own site
krinoa embed snippet— The<div>+<script>to paste into a careers page
Updated 2026-09-16