Skip to content

ptkl project

Manage projects, workspaces, invites, and project users from the command line.


Overview

ptkl project is the project control-plane: creating and inspecting projects, managing workspaces within a project, inviting and managing project users, and configuring project-level billing behavior (usage billing modes and automatic balance top-up).

Every subcommand resolves the active profile the same way as the rest of the toolkit, and every read-shaped subcommand supports the standard output flags (-f/--format, -o/--output, --template) plus the --env <dev|live> option.


Subcommands

Subcommand Description
create Create a new project
list List all projects for the current user
info Get information about the current project
archive Archive the current project
settings Update project settings
workspace create Create a new workspace
workspace update Update a workspace
workspace delete Delete a workspace
invite Invite users to the current project
invites List pending invites for the current project
accept Accept a project invite
users list List users in the current project
users update Update a project user
users remove Remove a user from the project
billing-modes Get or update per-service usage billing mode overrides
auto-topup Configure automatic balance top-up

ptkl project create

Create a new project.

ptkl project create [options]

Options

Option Description
-n, --name <name> Project name (required)
-d, --description <description> Project description

Example

ptkl project create --name "Acme Storefront" --description "Production e-commerce project"

ptkl project list

List all projects visible to the current user.

ptkl project list [options]

Example

ptkl project list --format json

ptkl project info

Get information about the project the active profile is scoped to.

ptkl project info [options]

Example

ptkl project info

ptkl project archive

Archive the current project.

ptkl project archive [options]

Warning

Archiving a project is a significant, potentially disruptive action — confirm you have the right profile active (ptkl profile) before running this.

Example

ptkl project archive

ptkl project settings

Update project-level settings.

ptkl project settings [options]

Options

Option Description
-d, --data <json> Settings object as a JSON string (required)

Example

ptkl project settings --data '{"default_locale":"en-US"}'

ptkl project workspace

Manage workspaces within the current project.

ptkl project workspace create

ptkl project workspace create [options]
Option Description
-n, --name <name> Workspace name (required)
-d, --description <description> Workspace description
ptkl project workspace create --name staging --description "Staging workspace"

ptkl project workspace update

ptkl project workspace update [options]
Option Description
-u, --uuid <uuid> Workspace UUID (required)
-d, --data <json> Fields to update, as a JSON object string (required)
ptkl project workspace update --uuid <workspace-uuid> --data '{"name":"staging-eu"}'

ptkl project workspace delete

ptkl project workspace delete [options]
Option Description
-u, --uuid <uuid> Workspace UUID (required)
ptkl project workspace delete --uuid <workspace-uuid>

ptkl project invite

Invite one or more users to the current project.

ptkl project invite [options]

Options

Option Description
-e, --emails <emails...> Email addresses to invite (required)
-r, --roles <roles...> Role UUIDs to grant the invitees (required)

Example

ptkl project invite \
  --emails alice@example.com bob@example.com \
  --roles 550e8400-e29b-41d4-a716-446655440000

ptkl project invites

List pending invites for the current project.

ptkl project invites [options]

Example

ptkl project invites --format table

ptkl project accept

Accept a pending project invite by UUID.

ptkl project accept [options]

Options

Option Description
-u, --uuid <uuid> Invite UUID (required)

Example

ptkl project accept --uuid <invite-uuid>

ptkl project users

Manage users already in the current project (see ptkl users for inviting new project members through the standalone users command; this subtree operates on project membership records directly).

ptkl project users list

ptkl project users list [options]
ptkl project users list --format json

ptkl project users update

ptkl project users update [options]
Option Description
-u, --uuid <uuid> User UUID (required)
-d, --data <json> Fields to update, as a JSON object string (required)
ptkl project users update --uuid <user-uuid> --data '{"role_uuid":["<role-uuid>"]}'

ptkl project users remove

ptkl project users remove [options]
Option Description
-u, --uuid <uuid> User UUID (required)
ptkl project users remove --uuid <user-uuid>

ptkl project billing-modes

Get or update the project's per-service usage billing mode overrides (e.g. which services bill in credits vs. a subscription allowance).

ptkl project billing-modes [options]

Options

Option Description
-s, --set <json> Usage billing modes to set, as a JSON object string (e.g. '{"kortex":"credits"}'); omit to read the current modes

Example

# read current modes
ptkl project billing-modes

# update
ptkl project billing-modes --set '{"kortex":"credits"}'

ptkl project auto-topup

Configure automatic balance top-up for the current project: when the project balance drops below --threshold, the platform automatically charges --amount.

ptkl project auto-topup [options]

Options

Option Description
--enabled <enabled> Enable or disable auto top-up: true | false (required)
--threshold <threshold> Balance threshold (in cents) that triggers a top-up (default: 0)
--amount <amount> Amount (in cents) to top up when triggered (default: 0)

Example

ptkl project auto-topup --enabled true --threshold 1000 --amount 5000

See Also