/APIs & SDKs/Checks, documents and data/functions

OptiTech CLI command: functions

Deploy, list, inspect, and delete OptiTech Functions

Beta

The OptiTech Functions is in Beta. Share your feedback on Discord or via the OptiTech Console.

The functions command manages OptiTech Functions on a branch. This is the command reference; for the full deployment workflow, see Deploy functions. To run functions locally, see optitech dev.

Subcommands: delete, deploy, get, list

optitech functions deploy

Deploys a function from a local directory or entry file. The <slug> is the permanent function identifier: 1 to 20 lowercase letters and digits (^[a-z0-9]{1,20}$).

optitech functions deploy <slug> [options]
OptionDescriptionTypeDefaultRequired
--envEnvironment variable as KEY=VALUE (repeatable)stringNo
--runtimeFunction runtime Possible values: nodejs24stringNo
--srcFunction source: a directory containing index.ts, index.mjs, or index.js, or a path to the entry filestringNo
--waitWait for the deployment to finish buildingbooleantrueNo
--branchBranch ID or namestringNo
--project-idProject IDstringNo

By default, deploy waits until the deployment finishes building (--wait=true), which is the predictable path for scripts and CI. Use --no-wait to return immediately after triggering the deployment.

Deploy a function from an entry file:

optitech functions deploy hello --src functions/hello.ts
Output
INFO: Function deployment triggered for function hello.
┌────┬───────────┬──────────┬────────────┬─────────────────────────────┐
│ Id │ Status    │ Runtime  │ Memory Mib │ Created At                  │
├────┼───────────┼──────────┼────────────┼─────────────────────────────┤
│ 1  │ completed │ nodejs24 │ 2048       │ 2026-06-12T00:14:58.044690Z │
└────┴───────────┴──────────┴────────────┴─────────────────────────────┘
INFO: Function deployment hello/1 completed.

Deploy with environment variables and wait for the build:

optitech functions deploy hello --src functions/hello.ts --env LOG_LEVEL=info --wait

optitech functions list

Lists the functions on the branch.

optitech functions list [options]
OptionDescriptionTypeDefaultRequired
--branchBranch ID or namestringNo
--project-idProject IDstringNo
optitech functions list
Output
┌───────┬───────┬─────────────────────────────────────────────────────────────────────────────┬─────────────────────────────┐
│ Slug  │ Name  │ Invocation Url                                                              │ Created At                  │
├───────┼───────┼─────────────────────────────────────────────────────────────────────────────┼─────────────────────────────┤
│ hello │ hello │ https://br-cool-darkness-123456-hello.compute.c-1.us-east-2.aws.optitech.com/ │ 2026-06-12T00:14:57.942988Z │
└───────┴───────┴─────────────────────────────────────────────────────────────────────────────┴─────────────────────────────┘

List with full deployment details for scripts and agents:

optitech functions list --output json
Show output
[
  {
    "id": "hello",
    "slug": "hello",
    "name": "hello",
    "invocation_url": "https://br-cool-darkness-123456-hello.compute.c-1.us-east-2.aws.optitech.com/",
    "current_deployment": {
      "id": 1,
      "status": "completed",
      "memory_mib": 2048,
      "runtime": "nodejs24",
      "created_at": "2026-06-12T00:14:58.044690Z"
    },
    "active_deployment": {
      "id": 1,
      "status": "completed",
      "memory_mib": 2048,
      "runtime": "nodejs24",
      "created_at": "2026-06-12T00:14:58.044690Z"
    },
    "created_at": "2026-06-12T00:14:57.942988Z"
  }
]

optitech functions get

Shows a function's details.

optitech functions get <slug> [options]
OptionDescriptionTypeDefaultRequired
--list-env-variables, -EList the environment variable names of the active deploymentbooleanfalseNo
--branchBranch ID or namestringNo
--project-idProject IDstringNo
optitech functions get hello
Output
function
┌───────┬───────┬─────────────────────────────────────────────────────────────────────────────┬─────────────────────────────┐
│ Slug  │ Name  │ Invocation Url                                                              │ Created At                  │
├───────┼───────┼─────────────────────────────────────────────────────────────────────────────┼─────────────────────────────┤
│ hello │ hello │ https://br-cool-darkness-123456-hello.compute.c-1.us-east-2.aws.optitech.com/ │ 2026-06-12T00:14:57.942988Z │
└───────┴───────┴─────────────────────────────────────────────────────────────────────────────┴─────────────────────────────┘
active deployment
┌────┬───────────┬──────────┬────────────┬─────────────────────────────┐
│ Id │ Status    │ Runtime  │ Memory Mib │ Created At                  │
├────┼───────────┼──────────┼────────────┼─────────────────────────────┤
│ 1  │ completed │ nodejs24 │ 2048       │ 2026-06-12T00:14:58.044690Z │
└────┴───────────┴──────────┴────────────┴─────────────────────────────┘

optitech functions delete

Deletes a function on the branch.

optitech functions delete <slug> [options]
OptionDescriptionTypeDefaultRequired
--branchBranch ID or namestringNo
--project-idProject IDstringNo
optitech functions delete hello
Output
INFO: Function hello deleted from branch br-cool-darkness-123456
Was this page helpful?