Skip to content

Commands

TTCtl groups commands by area of a Toptal talent’s day-to-day. Each group is a Commander.js sub-command of the ttctl umbrella; run ttctl <group> --help for the live, authoritative help on any group.

Terminal window
ttctl --help
ttctl <group> --help
ttctl <group> <subcommand> --help

The command tree below reflects what ships in 0.1.0. Read-heavy, personal-use surfaces are exposed; operations that would enable mass automation against the platform are deliberately not.

These apply across commands. Output-format and verbosity flags are global; pagination is declared per paginating leaf (so it appears only where it makes sense).

OptionPurpose
--config <path>Path to the YAML config. Resolution precedence: --config > TTCTL_CONFIG_FILE env > ~/.ttctl.yaml
-o, --output <format>Output format: table (default), json, yaml
--jsonShortcut for --output json
--yamlShortcut for --output yaml
--dry-runPreview a mutation’s request without sending it (no-op for read commands)
--verboseWire-level request/response summary to stderr
--debugFull headers + bodies to stderr, sensitive fields redacted (a strict superset of --verbose)

Paginating commands additionally accept --page <n> / --per-page <n> (or --limit <n> on limit-only leaves).

Bootstrap configuration and manage your session. This group is CLI-only — it is not exposed over MCP (an AI assistant never signs in; it consumes the bearer you already captured).

CommandPurpose
auth initScaffold a fresh ~/.ttctl.yaml interactively (1Password reference or literal credentials), written at mode 0600
auth signinSign in with the configured credentials and persist the session bearer
auth statusReport whether the current session is valid
auth signoutClear the persisted session (idempotent)

View and update your Toptal Talent profile. The canonical form is profile <section> <verb>; profile show and profile update are short-form aliases for profile basic show / profile basic update.

Read sections (show / list): basic, skills, industries, education, certifications, employment, external, portfolio, resume (alias cv), reviews, specializations, visas, and the read-only countries reference catalog.

Editable sections (add / update / remove): basic (bio, headline, photo), skills, industries, education, certifications, employment, external, portfolio, resume, visas.

CommandPurpose
profile show [--full]Summary of your profile (alias for profile basic show)
profile update [--bio | --headline | --edit]Update editable basic fields (alias for profile basic update)
profile basic photo showPrint URLs of your profile-photo variants
profile basic photo upload <path>Upload a new profile photo from a local file
profile <section> listList records in a section
profile <section> show <id>Show one record by id
profile <section> addAdd a record to a section
profile <section> update <id>Update a record
profile <section> remove <id>Remove a record

Review your activity items — applications, availability requests, interviews, and engagement signals.

CommandPurpose
applications listList recent activity rows
applications show <id>Show one activity row by id
applications statsPer-status-group activity counts
applications reject-reasonsList the Interest Request decline-reason inventory
applications interview show <id>Interview detail (interviewer handle, scheduled slot, agenda)
applications interview notes show <jobId>Read your interview prep notes for a job
applications interview guide show <interviewId>Read the interview-prep guide (sections + tips)
applications availability-request show <id>Availability-request detail (status, rate, lifecycle)

View current and past engagements and manage engagement breaks.

CommandPurpose
engagements listList engagements (active by default)
engagements show <id>Show one engagement by id
engagements statsPer-engagement-status counts
engagements payments list <job-id>List per-engagement payments
engagements breaks list <id>List breaks on an engagement
engagements breaks reasons listList valid breaks add --reason-id values
engagements breaks add <id>Schedule a new break
engagements breaks reschedule <break-id>Move an existing break to a new window
engagements breaks remove <break-id>Cancel a scheduled break

Browse opportunities and manage your saved / viewed / not-interested signals and search subscription.

CommandPurpose
jobs list [filters]List current job opportunities (paginated)
jobs recommendedThe algorithmically-recommended feed (paginated)
jobs show <id>Job detail view
jobs show-many <id…>Show several jobs by id in one batch (≤20)
jobs match-quality <id>Per-criterion match-score breakdown
jobs rate-insight <id>Per-job rate-intelligence panel
jobs dashboardDashboard job-activity items
jobs saved / jobs viewed / jobs not-interested-listList jobs by interest signal (paginated)
jobs save <id> / jobs unsave <id>Bookmark / un-bookmark a job
jobs mark-viewed <id>Explicitly mark a job as viewed
jobs not-interested <id> --reason <text>Mark a job not-interested with a reason
jobs search list | save | removeView, start/replace, or terminate your job-search subscription

View timesheet billing cycles and submit them for billing.

CommandPurpose
timesheet list [--engagement <id>]List timesheet billing cycles
timesheet pending list [--limit <n>]List viewer-wide pending billing cycles
timesheet show <id>Show one timesheet by id
timesheet update <id>Edit a draft timesheet’s comment / per-day records
timesheet submit [id]Submit a timesheet for billing

View and update your working hours and allocated weekly hours.

CommandPurpose
availability showFull availability snapshot (time zone, working hours, allocated hours)
availability working-hours showShow the working-hours subset
availability working-hours setUpdate working hours
availability allocated-hours showShow current allocated hours
availability allocated-hours set --hours <n>Set allocated weekly hours

View payout history and totals, payment methods, and your rate; submit rate-change requests.

CommandPurpose
payments summaryAggregate payment totals
payments payouts listHistorical payouts (paginated)
payments payouts show <id>Show one payout by id
payments show-many <id…>Show several payments by id in one batch (≤20)
payments methods list / payments methods show <id>Configured payment methods
payments rate currentCurrent hourly rate (lightweight)
payments rate showCurrent rate + change-request status
payments rate questionsForm questions required by rate change
payments rate change --kind … --rate … [--confirm]Submit a rate-change request
CommandPurpose
contracts listList talent-level contracts (Toptal Direct, MSA, etc.)
contracts show <id>Show one contract by id

List pending surveys and submit answers or free-text feedback (post-interview, NPS, …).

CommandPurpose
surveys listList pending surveys
surveys submit <surveyId>Submit structured answers to a pending survey
surveys feedback <surveyId>Add free-text feedback to a survey
CommandPurpose
me actions listYour performed-actions audit log (viewer-scoped)

Unofficial. Not affiliated with Toptal LLC. Full disclaimer →