DocsDevelopers
CLI

132 commands, one registry.

Every command is generated from the same action registry that produces the REST routes and MCP tools, and calls REST v1 over HTTPS. The CLI holds no privileged path: the only gate is the capability set on your API key. It ships inside the Telos repository today (pnpm cli), with a packaged standalone binary to follow.

Setup

Authentication

The CLI authenticates with the same bearer key as REST and MCP, read from TELOS_API_KEY. Keys are issued in the app under Settings → API Keys and carry a subset of your own capabilities. TELOS_API_URL overrides the target instance. Responses are the standard REST envelope's data, printed as JSON.

shell
export TELOS_API_KEY=telos_live_…
# optional; defaults to https://www.telos-app.com
export TELOS_API_URL=https://www.telos-app.com

telos customer list --status live
telos customer create --name "Acme Robotics"
telos customer update 8f14e45f-… --status churned --reason "Budget cut"

Flags map 1:1 to the action's input fields. For non-string fields (or to script a whole payload), pass --json with a raw body; explicit flags win over the JSON.

shell
telos customer create --name "Acme Robotics" \
  --json '{"arr": "120000", "customerSince": "2026-01-05"}'
Reference

Commands

Auto-rendered from the action registry, the same source that renders the REST reference and the MCP catalog. An action that exists on one surface exists on all three.

Customers · 9

telos customer list

List customers

Requires
customer:read
Flags
  • --status?Customer status filter
  • --cursor?Pagination cursor from a previous page
  • --limit?Items per page

telos customer get <id>

Get a customer

Requires
customer:read
Flags
No flags.

telos customer create

Create a customer

Requires
customer:create
Flags
  • --name
  • --logoUrl?
  • --website?
  • --content?
  • --status?
  • --ownerId?
  • --arr?
  • --customerSince?

telos customer update <id>

Update a customer

Requires
customer:update
Flags
  • --name?
  • --logoUrl?
  • --logoFileId?
  • --website?
  • --content?
  • --status?
  • --health?
  • --ownerId?
  • --arr?
  • --customerSince?
  • --reason?

telos customer delete <id>

Delete a customer

Requires
customer:delete
Flags
No flags.

telos customer contacts <customerId>

List a customer's contacts

Requires
customer:read
Flags
  • --cursor?Pagination cursor from a previous page
  • --limit?Items per page

telos customer create-contact <customerId>

Add a contact to a customer

Requires
customer:create
Flags
  • --name
  • --title?
  • --role?
  • --email?
  • --phone?
  • --notes?
  • --isPrimary?

telos customer update-contact <customerId> <id>

Update a customer contact

Requires
customer:update
Flags
  • --name?
  • --title?
  • --role?
  • --email?
  • --phone?
  • --notes?
  • --isPrimary?

telos customer delete-contact <customerId> <id>

Delete a customer contact

Requires
customer:delete
Flags
No flags.
Strategies · 7

telos strategy list

List strategies

Requires
strategy:read
Flags
  • --status?Strategy status filter
  • --cursor?Pagination cursor from a previous page
  • --limit?Items per page

telos strategy get <id>

Get a strategy

Requires
strategy:read
Flags
No flags.

telos strategy create

Create a strategy

Requires
strategy:create
Flags
  • --name
  • --content
  • --status?

telos strategy update <id>

Update a strategy

Requires
strategy:update
Flags
  • --name?
  • --content?
  • --changeNote?

telos strategy publish <id>

Publish a strategy

Requires
strategy:create
Flags
No flags.

telos strategy archive <id>

Archive a strategy

Requires
strategy:create
Flags
No flags.

telos strategy versions <id>

List a strategy's version history

Requires
strategy:read
Flags
  • --cursor?Pagination cursor from a previous page
  • --limit?Items per page
Visions · 6

telos vision list

List visions

Requires
vision:read
Flags
  • --kind?Vision kind filter
  • --cursor?Pagination cursor from a previous page
  • --limit?Items per page

telos vision get <id>

Get a vision

Requires
vision:read
Flags
No flags.

telos vision create

Create a vision

Requires
vision:create
Flags
  • --name
  • --kind?
  • --narrative

telos vision update <id>

Update a vision

Requires
vision:update
Flags
  • --name?
  • --narrative?

telos vision versions <id>

List a vision's version history

Requires
vision:read
Flags
  • --cursor?Pagination cursor from a previous page
  • --limit?Items per page

telos vision objectives <id>

List objectives for a vision

Requires
vision:read
Flags
  • --cursor?Pagination cursor from a previous page
  • --limit?Items per page
Metrics · 7

telos metric list

List metrics

Requires
metric:read
Flags
  • --cursor?Pagination cursor from a previous page
  • --limit?Items per page

telos metric get <id>

Get a metric

Requires
metric:read
Flags
No flags.

telos metric create

Create a metric

Requires
metric:create
Flags
  • --name
  • --description?
  • --currentValue?
  • --unit
  • --dataSourceType?
  • --dataSourceConfig?
  • --stewardId?

telos metric update <id>

Update a metric

Requires
metric:update
Flags
  • --name?
  • --description?
  • --currentValue?
  • --unit?
  • --dataSourceType?
  • --dataSourceConfig?
  • --stewardId?

telos metric delete <id>

Delete a metric

Requires
metric:delete
Flags
No flags.

telos metric values <metricId>

List metric values

Requires
metric:read
Flags
  • --since?Only values recorded at or after this time
  • --limit?Maximum number of values to return

telos metric record-value <metricId>

Record a metric value

Requires
metric:create
Flags
  • --value
  • --recordedAt?
  • --note?
  • --source?
Objectives · 7

telos objective list

List objectives

Requires
objective:read
Flags
  • --visionId?Vision UUID filter
  • --cursor?Pagination cursor from a previous page
  • --limit?Items per page

telos objective get <id>

Get an objective

Requires
objective:read
Flags
No flags.

telos objective create

Create an objective

Requires
objective:create
Flags
  • --title
  • --description?
  • --deadline?
  • --visionId
  • --driId
  • --metric

telos objective update <id>

Update an objective

Requires
objective:update
Flags
  • --title?
  • --description?
  • --deadline?
  • --driId?
  • --status?

telos objective delete <id>

Delete an objective

Requires
objective:delete
Flags
No flags.

telos objective opportunities <objectiveId>

List opportunities for an objective

Requires
objective:read
Flags
No flags.

telos objective set-metric <objectiveId>

Set an objective's metric

Requires
objective:create
Flags
  • --metricId
  • --operator
  • --target
  • --startValue?
Opportunities · 15

telos opportunity list

List opportunities

Requires
opportunity:read
Flags
  • --state?Opportunity lifecycle state filter
  • --teamId?Team UUID filter
  • --cursor?Pagination cursor from a previous page
  • --limit?Items per page

telos opportunity get <id>

Get an opportunity

Requires
opportunity:read
Flags
No flags.

telos opportunity create

Create an opportunity

Requires
opportunity:create
Flags
  • --title
  • --description?
  • --leadId?
  • --teamId?
  • --workflowId?
  • --initialState?
  • --categoryId?
  • --objectiveLinks?
  • --tagIds?
  • --dueDate?
  • --prdTemplateId?

telos opportunity update <id>

Update an opportunity

Requires
opportunity:update
Flags
  • --title?
  • --leadId?
  • --teamId?
  • --categoryId?
  • --prd?

telos opportunity delete <id>

Delete an opportunity

Requires
opportunity:delete
Flags
No flags.

telos opportunity tasks <id>

List tasks attached to an opportunity

Requires
opportunity:read
Flags
  • --cursor?Pagination cursor from a previous page
  • --limit?Items per page

telos opportunity context <ref>

Get an opportunity's full context bundle

Requires
opportunity:read
Flags
No flags.

telos opportunity scorecard <id>

Get an opportunity's scorecard

Requires
opportunity:read
Flags
No flags.

telos opportunity score <opportunityId> <criterionId>

Set a scorecard value

Requires
opportunity:update
Flags
  • --valueScore value on the 1-5 scale

telos opportunity clear-score <opportunityId> <criterionId>

Clear a scorecard value

Requires
opportunity:update
Flags
No flags.

telos opportunity link-objective <opportunityId>

Link an objective to an opportunity

Requires
opportunity:create
Flags
  • --objectiveId

telos opportunity update-objective-link <opportunityId> <objectiveId>

Update an objective link

Requires
opportunity:update
Flags
  • --patch

telos opportunity unlink-objective <opportunityId> <objectiveId>

Unlink an objective from an opportunity

Requires
opportunity:delete
Flags
No flags.

telos opportunity reject-via-workflow <opportunityId>

Reject an opportunity and skip remaining workflow steps

Requires
opportunity:create
Flags
  • --category
  • --reason

telos opportunity post-update <opportunityId>

Post an opportunity status update

Requires
opportunity:update
Flags
  • --bodyThe update text
Tasks · 14

telos task list

List tasks

Requires
task:read
Flags
  • --opportunityId?Opportunity UUID filter
  • --status?Task status filter
  • --priority?Task priority filter
  • --teamId?Team UUID filter
  • --cursor?Pagination cursor from a previous page
  • --limit?Items per page

telos task get <id>

Get a task

Requires
task:read
Flags
No flags.

telos task create

Create a task

Requires
task:create
Flags
  • --title
  • --description?
  • --content?
  • --status?
  • --priority?
  • --opportunityId?
  • --teamId?
  • --ownerId?
  • --categoryId?
  • --parentTaskId?
  • --subtaskPosition?
  • --subtaskMode?
  • --subtasks?
  • --workflowId?
  • --onboardingStepInstanceId?
  • --estimateMinutes?
  • --dueDate?
  • --tagIds?

telos task update <id>

Update a task

Requires
task:update
Flags
  • --title?
  • --description?
  • --content?
  • --status?
  • --priority?
  • --opportunityId?
  • --teamId?
  • --workflowId?
  • --categoryId?
  • --subtaskMode?
  • --estimateMinutes?
  • --dueDate?

telos task delete <id>

Delete a task

Requires
task:delete
Flags
No flags.

telos task set-status <id>

Set a task's status

Requires
task:update
Flags
  • --status

telos task context <ref>

Get a task's full context bundle

Requires
task:read
Flags
No flags.

telos task write-handoff

Write a subtask handoff note

Requires
task:update
Flags
  • --fromTaskId
  • --note

telos task list-recurring

List recurring tasks

Requires
task:read
Flags
  • --cursor?Pagination cursor from a previous page
  • --limit?Items per page

telos task get-recurring <id>

Get a recurring task

Requires
task:read
Flags
No flags.

telos task create-recurring

Create a recurring task

Requires
task:create
Flags
  • --nameLabel for the recurring-task definition (not the task title)
  • --teamIdTeam the generated tasks belong to
  • --rruleiCal RRULE string, e.g. 'FREQ=WEEKLY;BYDAY=MO' or 'FREQ=MONTHLY;BYMONTHDAY=1'
  • --dtstart?Recurrence start (ISO 8601). Defaults to now
  • --tzid?IANA timezone the cadence reads in. Defaults to UTC
  • --active?
  • --title
  • --description?
  • --content?
  • --priority?
  • --ownerUserIdRequired. Owns every task this definition generates.
  • --categoryId?
  • --workflowId?
  • --estimateMinutes?
  • --tagIds?
  • --dueOffsetDays?

telos task update-recurring <id>

Update a recurring task

Requires
task:update
Flags
  • --name?
  • --teamId?
  • --rrule?
  • --dtstart?
  • --tzid?
  • --active?
  • --title?
  • --description?
  • --content?
  • --priority?
  • --ownerUserId?
  • --categoryId?
  • --workflowId?
  • --estimateMinutes?
  • --tagIds?
  • --dueOffsetDays?

telos task set-recurring-active <id>

Pause or resume a recurring task

Requires
task:update
Flags
  • --activetrue to resume, false to pause

telos task delete-recurring <id>

Delete a recurring task

Requires
task:delete
Flags
No flags.
Teams · 8

telos team list

List teams

Requires
team:read
Flags
  • --cursor?Pagination cursor from a previous page
  • --limit?Items per page

telos team get <id>

Get a team

Requires
team:read
Flags
No flags.

telos team create

Create a team

Requires
team:create
Flags
  • --name
  • --description?
  • --prefix?

telos team update <id>

Update a team

Requires
team:update
Flags
  • --name?
  • --description?
  • --defaultPrdTemplateId?
  • --prefix?

telos team delete <id>

Delete a team

Requires
team:delete
Flags
No flags.

telos team members <teamId>

List team members

Requires
team:read
Flags
No flags.

telos team add-member <teamId>

Add a team member

Requires
team:create
Flags
  • --userId

telos team remove-member <teamId> <userId>

Remove a team member

Requires
team:delete
Flags
No flags.
Users · 3

telos user list

List users

Requires
user:read
Flags
  • --cursor?Pagination cursor from a previous page
  • --limit?Items per page

telos user get <id>

Get a user

Requires
user:read
Flags
No flags.

telos user update <id>

Update a user

Requires
user:update
Flags
  • --name?
  • --salaryMonthly?
  • --salaryCurrency?
  • --weeklyHours?
  • --role?
  • --orgRoleId?
Tags · 2

telos tag list

List tags

Requires
tag:read
Flags
  • --cursor?Pagination cursor from a previous page
  • --limit?Items per page

telos tag create

Create a tag

Requires
tag:create
Flags
  • --name
  • --themeId?
  • --color?
Comments · 1

telos comment create

Post a comment

Requires
comment:create
Flags
  • --entityType
  • --entityId
  • --body
  • --kind?
Insights · 6

telos insight list

List insights

Requires
insight:read
Flags
  • --status?Insight lifecycle status filter
  • --customerId?Customer UUID filter
  • --cursor?Pagination cursor from a previous page
  • --limit?Items per page

telos insight get <id>

Get an insight

Requires
insight:read
Flags
No flags.

telos insight create

Create an insight

Requires
insight:create
Flags
  • --customerId?
  • --stakeholderUserId?
  • --externalStakeholderId?
  • --contactId?
  • --verbatim
  • --source
  • --moscow?
  • --deadline?
  • --reviewTeamId?
  • --attachToOpportunityId?
  • --attachToTaskId?
  • --attachToObjectiveId?
  • --pinned?
  • --tagIds?

telos insight update <id>

Update an insight

Requires
insight:update
Flags
  • --verbatim?
  • --source?
  • --customerId?
  • --stakeholderUserId?
  • --externalStakeholderId?
  • --contactId?
  • --moscow?
  • --deadline?

telos insight delete <id>

Delete an insight

Requires
insight:delete
Flags
No flags.

telos insight attach <insightId>

Attach an insight

Requires
insight:update
Flags
  • --entityType
  • --entityId
  • --pinned?
Prd Templates · 5

telos prd_template list

List PRD templates

Requires
prd_template:read
Flags
  • --cursor?Pagination cursor from a previous page
  • --limit?Items per page

telos prd_template get <id>

Get a PRD template

Requires
prd_template:read
Flags
No flags.

telos prd_template create

Create a PRD template

Requires
prd_template:create
Flags
  • --name
  • --content
  • --teamId?

telos prd_template update <id>

Update a PRD template

Requires
prd_template:update
Flags
  • --name?
  • --content?
  • --teamId?

telos prd_template delete <id>

Delete a PRD template

Requires
prd_template:delete
Flags
No flags.
Webhook Subscriptions · 3

telos webhook list

List webhook subscriptions

Requires
webhook:read
Flags
  • --cursor?Pagination cursor from a previous page
  • --limit?Items per page

telos webhook create

Create a webhook subscription

Requires
webhook:create
Flags
  • --url
  • --secret
  • --eventTypes
  • --description?

telos webhook delete <id>

Delete a webhook subscription

Requires
webhook:delete
Flags
No flags.
Workflows · 9

telos workflow list

List workflows

Requires
workflow:read
Flags
  • --cursor?Pagination cursor from a previous page
  • --limit?Items per page

telos workflow get <id>

Get a workflow

Requires
workflow:read
Flags
No flags.

telos workflow create

Create a workflow

Requires
workflow:create
Flags
  • --name
  • --description?
  • --defaultEntityType?

telos workflow update <id>

Update a workflow

Requires
workflow:update
Flags
  • --name?
  • --description?
  • --defaultEntityType?

telos workflow delete <id>

Delete a workflow

Requires
workflow:delete
Flags
No flags.

telos workflow create-step <workflowId>

Add a workflow step

Requires
workflow:create
Flags
  • --title
  • --description?
  • --defaultDriRole?
  • --defaultDriUserId?
  • --slaTargetHours?

telos workflow update-step <id>

Update a workflow step

Requires
workflow:update
Flags
  • --position?
  • --title?
  • --description?
  • --defaultDriRole?
  • --defaultDriUserId?
  • --slaTargetHours?

telos workflow delete-step <id>

Delete a workflow step

Requires
workflow:delete
Flags
No flags.

telos workflow handoff

Write a workflow handoff

Requires
workflow:update
Flags
  • --targetStepInstanceId
  • --markComplete?
  • --message?
  • --mentions?
  • --mentionLinkUrl?
Workflow Categories · 5

telos workflow_category list

List workflow categories

Requires
workflow_category:read
Flags
  • --cursor?Pagination cursor from a previous page
  • --limit?Items per page

telos workflow_category get <id>

Get a workflow category

Requires
workflow_category:read
Flags
No flags.

telos workflow_category create

Create a workflow category

Requires
workflow_category:create
Flags
  • --label
  • --color
  • --sortOrder?

telos workflow_category update <id>

Update a workflow category

Requires
workflow_category:update
Flags
  • --label?
  • --color?
  • --sortOrder?

telos workflow_category delete <id>

Delete a workflow category

Requires
workflow_category:delete
Flags
No flags.
Notifications · 7

telos notification list

List notifications

Requires
none (self-scoped: your own data only)
Flags
  • --unreadOnly?Only return unread notifications
  • --pinnedOnly?Only return pinned notifications
  • --types?Only return these notification types. JSON array on MCP, comma-separated on REST and CLI. One of: strategy.published, strategy.updated, vision.published, customer.update_posted, customer.went_live, insight.assigned, insight.needs_context, insight.rejected, opportunity.completed, opportunity.cancelled, objective.committed_date_breach, workflow.step_assigned, task.handoff, task.agent_run_completed, task.agent_run_failed, task.agent_run_cancelled, comment.mention, comment.thread_reply, doc.mention, room.invited, room.mentioned, community.mentioned, good_vibes.shoutout
  • --cursor?Pagination cursor from a previous page
  • --limit?Items per page

telos notification unread-count

Get unread notification count

Requires
none (self-scoped: your own data only)
Flags
No flags.

telos notification mark-read <id>

Mark a notification read

Requires
none (self-scoped: your own data only)
Flags
No flags.

telos notification mark-all-read

Mark all notifications read

Requires
none (self-scoped: your own data only)
Flags
No flags.

telos notification pin <id>

Pin a notification

Requires
none (self-scoped: your own data only)
Flags
No flags.

telos notification unpin <id>

Unpin a notification

Requires
none (self-scoped: your own data only)
Flags
No flags.

telos notification unsubscribe <id>

Unsubscribe at notification source

Requires
none (self-scoped: your own data only)
Flags
No flags.
Time Entries · 8

telos time_entry list

List time entries

Requires
time_entry:read
Flags
  • --fromRange start (YYYY-MM-DD, inclusive)
  • --toRange end (YYYY-MM-DD, inclusive; max 366 days after from)
  • --engineerId?Another engineer's user UUID; requires compensation:read
  • --cursor?Pagination cursor from a previous page
  • --limit?Items per page

telos time_entry create

Log a time entry

Requires
time_entry:create
Flags
  • --entryDate
  • --opportunityId?
  • --taskId?
  • --miscCategoryId?
  • --hours
  • --note?

telos time_entry update <id>

Update a time entry

Requires
time_entry:update
Flags
  • --entryDate?
  • --hours?
  • --note?

telos time_entry delete <id>

Delete a time entry

Requires
time_entry:delete
Flags
No flags.

telos time_entry aggregate-by-category

Aggregate time by workflow category

Requires
cost:read
Flags
  • --fromRange start (YYYY-MM-DD, inclusive)
  • --toRange end (YYYY-MM-DD, inclusive; max 366 days after from)
  • --teamId?Restrict to one team's members

telos time_entry list-for-range

List all engineers' time entries with cost

Requires
cost:read
Flags
  • --fromRange start (YYYY-MM-DD, inclusive)
  • --toRange end (YYYY-MM-DD, inclusive; max 366 days after from)
  • --teamId?Restrict to one team's members

telos time_entry actual-cost-for-opportunity <opportunityId>

Actual labor cost of an opportunity

Requires
cost:read
Flags
No flags.

telos time_entry actual-cost-for-task <taskId>

Actual labor cost of a task

Requires
cost:read
Flags
No flags.
Rooms · 5

telos room list

List your rooms

Requires
room:read
Flags
  • --cursor?Pagination cursor from a previous page
  • --limit?Items per page

telos room get <id>

Get a room

Requires
room:read
Flags
No flags.

telos room create

Create a group channel

Requires
room:create
Flags
  • --name
  • --description?
  • --memberIds
  • --visibility?

telos room update <id>

Update a group channel

Requires
room:update
Flags
  • --name?
  • --description?

telos room archive <id>

Archive a group channel

Requires
room:update
Flags
No flags.
Messages · 5

telos message list

List a room's messages

Requires
message:read
Flags
  • --roomIdRoom UUID
  • --cursor?Pagination cursor from a previous page
  • --limit?Items per page

telos message thread <id>

List a message's thread replies

Requires
message:read
Flags
  • --cursor?Pagination cursor from a previous page
  • --limit?Items per page

telos message create

Post a message

Requires
message:create
Flags
  • --roomIdRoom UUID
  • --bodyMessage body (markdown, max 10000 chars)
  • --parentId?Top-level message UUID to reply to in its thread

telos message edit <id>

Edit a message

Requires
message:update
Flags
  • --bodyMessage body (markdown, max 10000 chars)

telos message delete <id>

Delete a message

Requires
message:delete
Flags
No flags.