telnyx-edge is the command-line tool for Edge Compute: it scaffolds function projects, deploys them, and manages the resources they bind. This page covers every command in v0.2.5.
Installation
The CLI ships as GitHub release binaries only — it is not on npm and there is no Homebrew formula. Assets are version-stamped; there is no un-versioned “latest” asset (releases/latest/download/... URLs return 404).
Each tarball extracts into a versioned directory containing the
telnyx-edge binary:
macos-arm64 (Apple silicon) or macos-amd64 (Intel) in both lines. To update, download the new version’s asset and replace the binary the same way.
Global flags and configuration
Credentials persist in
~/.telnyx-edge/config.toml. Two environment variables affect the binary itself: TELNYX_CONFIG_PATH relocates the config file, and TELNYX_NO_UPDATE_CHECK disables the release update check.
auth
login opens a browser for OAuth; api-key set writes the key to ~/.telnyx-edge/config.toml. Both end in the same place — subsequent commands read the stored credential.
The CLI does not read a
TELNYX_API_KEY environment variable. In CI, run telnyx-edge auth api-key set "$TELNYX_API_KEY" as a pipeline step — see CI/CD.new-func
new-func does two things: it creates a project directory (the command fails if one with that name already exists), and it registers the function server-side — so it requires authentication, and the generated func.toml already contains the function’s UUID func_id. Rapid successive calls can hit HTTP 429 rate limits.
What each scaffold contains:
The entrypoint contract differs per language — see HTTP handler.
ship
ship uploads, builds, pushes, and deploys the function named by the directory’s func.toml. There is no environment flag — staging and production are separate functions. Umbrella projects (telnyx.toml) are bundled client-side before upload: the module graph rooted at main is compiled into a single file with esbuild (TypeScript/JavaScript only), and the manifest is included so the platform can deploy any [[actors]] it declares.
On success, ship prints the live URL — stable across deploys:
{func-name}-{org-nickname}.telnyxcompute.com — see Routes & Domains. Each successful ship also produces an immutable revision (revisions, rollback).
list
--page (default 1) and --page-size (default 25).
inspect
status
https://api.telnyx.com. Run it first when any other command misbehaves.
revisions
ship produces an immutable revision — see Versions & Rollback.
rollback
deploy_ok can be rolled back to; get ids from revisions list. Your source tree is untouched — the next ship deploys whatever is on disk, as a new revision.
secrets
Secrets are organization-scoped key-value pairs for sensitive data. The arguments are positional — there are no--name/--value flags:
add on an existing key overwrites it. Values are injected at deploy time, so ship each function that uses a changed secret.
Functions read secrets two ways, and both are always true: every secret is injected as a plain environment variable into all functions in your organization, and TypeScript functions can additionally declare a [[secrets]] binding and read through the typed env.SECRETS.get(). See Secrets for both surfaces.
bindings
Manages the org-level Telnyx credential (one per organization) behind the Telnyx API binding. The per-function flow needs none of these commands — declaring[telnyx] in func.toml wires the binding automatically on ship.
types
env surface from your manifest (func.toml or telnyx.toml), folding every declared binding into one global Env interface:
Declarations only — no JavaScript, no runtime glue, no source edits. Re-run after changing any binding declaration.
types generates a .d.ts consumed by tsc — it has no effect on js, go, python, or quarkus runtimes. Bindings on those runtimes are reached over REST instead; see Bindings.storage
storage kv covers namespace create/list/get/delete, and storage kv key covers put/get/list/delete including server-side TTL and prefix listing. Full flags and examples live in the KV CLI reference.
actors
inspect reports the actor type’s live instance count; instances lists the persisted instances (type/id pairs, e.g. Counter/alice). Output renders backend state — never inferred from local files.
reset-func
created state — preserving its id, name, and config — so you can fix the code and ship again. Allowed only from a terminal failure state (build_failed, deploy_failed, delete_failed); a healthy function can’t be reset (use delete-func), and an in-progress operation must finish first.
delete-func
Related
- Configuration — every
func.toml/telnyx.tomlkey the CLI reads - CI/CD — install, authenticate, and ship from a pipeline
- Versions & Rollback — how revisions and rollback behave
- KV CLI — the full
storage kvsurface - Stateful Actors — the projects behind
--actorand theactorscommand