New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details
Socket
Book a DemoSign in
Socket

@kapso/cli

Package Overview
Dependencies
Maintainers
1
Versions
10
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@kapso/cli

Kapso CLI for operating Kapso WhatsApp projects, numbers, webhooks, conversations, messages, and templates

latest
Source
npmnpm
Version
0.9.0
Version published
Maintainers
1
Created
Source

@kapso/cli

CLI for operating Kapso WhatsApp projects, numbers, conversations, messages, and templates.

oclif Version Downloads/week

  • Usage
  • Commands

Usage

$ npm install -g @kapso/cli
$ kapso COMMAND
running command...
$ kapso (--version)
@kapso/cli/0.9.0 linux-x64 node-v24.12.0
$ kapso --help [COMMAND]
USAGE
  $ kapso COMMAND
...

Common flow:

kapso setup
kapso status
kapso whatsapp numbers list
kapso whatsapp conversations list
kapso whatsapp messages send --phone-number-id <phone-number-id> --to <wa-id> --text "Hello"

CI / non-interactive flow:

export KAPSO_API_KEY=your_project_api_key

kapso status
kapso customers list
kapso whatsapp numbers list
kapso setup --customer <customer-id>

When KAPSO_API_KEY is set, project-scoped commands use it directly and ignore stored login context. Account commands such as kapso login and kapso projects list still use the normal browser login flow.

Commands

kapso customers get CUSTOMERID

Get a customer by ID

USAGE
  $ kapso customers get CUSTOMERID [--output json|human] [--project <value>]

ARGUMENTS
  CUSTOMERID  Customer ID

FLAGS
  --output=<option>  [default: json] Output format
                     <options: json|human>
  --project=<value>  Project ID override

DESCRIPTION
  Get a customer by ID

See code: src/commands/customers/get.ts

kapso customers list

List customers in the current project

USAGE
  $ kapso customers list [--output json|human] [--project <value>]

FLAGS
  --output=<option>  [default: json] Output format
                     <options: json|human>
  --project=<value>  Project ID override

DESCRIPTION
  List customers in the current project

See code: src/commands/customers/list.ts

kapso customers new

Create a customer in the current project

USAGE
  $ kapso customers new --external-id <value> --name <value> [--output json|human] [--project <value>]

FLAGS
  --external-id=<value>  (required) External customer identifier
  --name=<value>         (required) Customer name
  --output=<option>      [default: json] Output format
                         <options: json|human>
  --project=<value>      Project ID override

DESCRIPTION
  Create a customer in the current project

See code: src/commands/customers/new.ts

kapso help [COMMAND]

Display help for kapso.

USAGE
  $ kapso help [COMMAND...] [-n]

ARGUMENTS
  [COMMAND...]  Command to show help for.

FLAGS
  -n, --nested-commands  Include all nested commands in the output.

DESCRIPTION
  Display help for kapso.

See code: @oclif/plugin-help

kapso login

Log in to Kapso

USAGE
  $ kapso login

DESCRIPTION
  Log in to Kapso

EXAMPLES
  $ kapso login

See code: src/commands/login.ts

kapso logout

Log out from Kapso

USAGE
  $ kapso logout

DESCRIPTION
  Log out from Kapso

EXAMPLES
  $ kapso logout

See code: src/commands/logout.ts

kapso projects current

Show the current project context

USAGE
  $ kapso projects current [--output json|human]

FLAGS
  --output=<option>  [default: json] Output format
                     <options: json|human>

DESCRIPTION
  Show the current project context

See code: src/commands/projects/current.ts

kapso projects list

List projects available to the current account

USAGE
  $ kapso projects list [--output json|human]

FLAGS
  --output=<option>  [default: json] Output format
                     <options: json|human>

DESCRIPTION
  List projects available to the current account

See code: src/commands/projects/list.ts

kapso projects use PROJECTID

Use a project as the default for project-scoped commands

USAGE
  $ kapso projects use PROJECTID

ARGUMENTS
  PROJECTID  Project ID to persist as the current project

DESCRIPTION
  Use a project as the default for project-scoped commands

See code: src/commands/projects/use.ts

kapso setup

Guided first-time setup for Kapso and a WhatsApp number

USAGE
  $ kapso setup [--area-code <value>] [--connection-type coexistence|dedicated...] [--country <value>...]
    [--customer <value>] [--failure-url <value>] [--language <value>] [--no-provision-phone-number] [--output
    json|human] [--project <value>] [--success-url <value>]

FLAGS
  --area-code=<value>            Preferred phone number area code
  --connection-type=<option>...  Allowed connection type (defaults to dedicated)
                                 <options: coexistence|dedicated>
  --country=<value>...           Preferred phone number country ISO
  --customer=<value>             Customer ID override
  --failure-url=<value>          Failure redirect URL
  --language=<value>             Setup link language
  --no-provision-phone-number    Do not auto-provision a phone number during setup
  --output=<option>              [default: human] Output format
                                 <options: json|human>
  --project=<value>              Project ID override
  --success-url=<value>          Success redirect URL

DESCRIPTION
  Guided first-time setup for Kapso and a WhatsApp number

See code: src/commands/setup.ts

kapso status

Show Kapso setup and project status

USAGE
  $ kapso status [--output json|human]

FLAGS
  --output=<option>  [default: human] Output format
                     <options: json|human>

DESCRIPTION
  Show Kapso setup and project status

See code: src/commands/status.ts

kapso whatsapp conversations get CONVERSATIONID

Get a WhatsApp conversation by ID

USAGE
  $ kapso whatsapp conversations get CONVERSATIONID [--output json|human] [--project <value>]

ARGUMENTS
  CONVERSATIONID  Conversation ID

FLAGS
  --output=<option>  [default: json] Output format
                     <options: json|human>
  --project=<value>  Project ID override

DESCRIPTION
  Get a WhatsApp conversation by ID

See code: src/commands/whatsapp/conversations/get.ts

kapso whatsapp conversations list

List WhatsApp conversations in the current project, sorted by most recent activity

USAGE
  $ kapso whatsapp conversations list [--assigned-user <value>] [--output json|human] [--page <value>] [--per-page <value>]
    [--phone <value>] [--phone-number <value>] [--phone-number-id <value>] [--project <value>] [--status active|ended]
    [--unassigned]

FLAGS
  --assigned-user=<value>    Filter by assigned user ID
  --output=<option>          [default: json] Output format
                             <options: json|human>
  --page=<value>             Page number
  --per-page=<value>         Results per page
  --phone=<value>            Filter by contact phone number
  --phone-number=<value>     WhatsApp display phone number (resolved to a phone number ID)
  --phone-number-id=<value>  WhatsApp phone number ID (Meta internal ID). If you have the real number instead, use
                             "--phone-number".
  --project=<value>          Project ID override
  --status=<option>          Filter by conversation status
                             <options: active|ended>
  --unassigned               Only include unassigned conversations

DESCRIPTION
  List WhatsApp conversations in the current project, sorted by most recent activity

See code: src/commands/whatsapp/conversations/list.ts

kapso whatsapp messages get MESSAGEID

Get a WhatsApp message by ID

USAGE
  $ kapso whatsapp messages get MESSAGEID [--output json|human] [--phone-number <value>] [--phone-number-id <value>]
    [--project <value>]

ARGUMENTS
  MESSAGEID  Message ID

FLAGS
  --output=<option>          [default: json] Output format
                             <options: json|human>
  --phone-number=<value>     WhatsApp display phone number (resolved to a phone number ID)
  --phone-number-id=<value>  WhatsApp phone number ID (Meta internal ID). If you have the real number instead, use
                             "--phone-number".
  --project=<value>          Project ID override

DESCRIPTION
  Get a WhatsApp message by ID

See code: src/commands/whatsapp/messages/get.ts

kapso whatsapp messages list

List WhatsApp messages in the current project (cursor pagination)

USAGE
  $ kapso whatsapp messages list [--after <value>] [--before <value>] [--conversation <value>] [--direction
    inbound|outbound] [--limit <value>] [--output json|human] [--per-page <value>] [--phone-number <value>]
    [--phone-number-id <value>] [--project <value>] [--since <value>] [--status pending|sent|delivered|read|failed]
    [--until <value>]

FLAGS
  --after=<value>            Cursor for the next page
  --before=<value>           Cursor for the previous page
  --conversation=<value>     Filter by conversation ID. If no WhatsApp number is provided, it is resolved from the
                             conversation.
  --direction=<option>       Filter by direction
                             <options: inbound|outbound>
  --limit=<value>            Maximum number of messages to return
  --output=<option>          [default: json] Output format
                             <options: json|human>
  --per-page=<value>         Alias for --limit on cursor-paginated responses
  --phone-number=<value>     WhatsApp display phone number (resolved to a phone number ID)
  --phone-number-id=<value>  WhatsApp phone number ID (Meta internal ID). If you have the real number instead, use
                             "--phone-number".
  --project=<value>          Project ID override
  --since=<value>            Filter by messages created at/after this timestamp
  --status=<option>          Filter by message status
                             <options: pending|sent|delivered|read|failed>
  --until=<value>            Filter by messages created at/before this timestamp

DESCRIPTION
  List WhatsApp messages in the current project (cursor pagination)

See code: src/commands/whatsapp/messages/list.ts

kapso whatsapp messages send

Send a WhatsApp message

USAGE
  $ kapso whatsapp messages send [--input <value>] [--output json|human] [--phone-number <value>] [--phone-number-id
    <value>] [--project <value>] [--stdin] [--text <value>] [--to <value>]

FLAGS
  --input=<value>            Path to a JSON payload file
  --output=<option>          [default: json] Output format
                             <options: json|human>
  --phone-number=<value>     WhatsApp display phone number (resolved to a phone number ID)
  --phone-number-id=<value>  WhatsApp phone number ID (Meta internal ID). If you have the real number instead, use
                             "--phone-number".
  --project=<value>          Project ID override
  --stdin                    Read the JSON payload from stdin
  --text=<value>             Text body shortcut
  --to=<value>               Recipient phone number

DESCRIPTION
  Send a WhatsApp message

See code: src/commands/whatsapp/messages/send.ts

kapso whatsapp numbers get [NUMBERREF]

Get a WhatsApp number by Meta ID or display phone number

USAGE
  $ kapso whatsapp numbers get [NUMBERREF] [--output json|human] [--phone-number <value>] [--phone-number-id <value>]
    [--project <value>]

ARGUMENTS
  [NUMBERREF]  WhatsApp phone number ID or display phone number

FLAGS
  --output=<option>          [default: json] Output format
                             <options: json|human>
  --phone-number=<value>     WhatsApp display phone number (resolved to a phone number ID)
  --phone-number-id=<value>  WhatsApp phone number ID (Meta internal ID). If you have the real number instead, use
                             "--phone-number".
  --project=<value>          Project ID override

DESCRIPTION
  Get a WhatsApp number by Meta ID or display phone number

See code: src/commands/whatsapp/numbers/get.ts

kapso whatsapp numbers health [NUMBERREF]

Run a health check for a WhatsApp number

USAGE
  $ kapso whatsapp numbers health [NUMBERREF] [--output json|human] [--phone-number <value>] [--phone-number-id <value>]
    [--project <value>]

ARGUMENTS
  [NUMBERREF]  WhatsApp phone number ID or display phone number

FLAGS
  --output=<option>          [default: json] Output format
                             <options: json|human>
  --phone-number=<value>     WhatsApp display phone number (resolved to a phone number ID)
  --phone-number-id=<value>  WhatsApp phone number ID (Meta internal ID). If you have the real number instead, use
                             "--phone-number".
  --project=<value>          Project ID override

DESCRIPTION
  Run a health check for a WhatsApp number

See code: src/commands/whatsapp/numbers/health.ts

kapso whatsapp numbers list

List WhatsApp numbers in the current project

USAGE
  $ kapso whatsapp numbers list [--customer <value>] [--output json|human] [--page <value>] [--per-page <value>] [--project
    <value>]

FLAGS
  --customer=<value>  Filter by customer ID
  --output=<option>   [default: json] Output format
                      <options: json|human>
  --page=<value>      Page number
  --per-page=<value>  Results per page
  --project=<value>   Project ID override

DESCRIPTION
  List WhatsApp numbers in the current project

See code: src/commands/whatsapp/numbers/list.ts

kapso whatsapp numbers new

Start WhatsApp number setup in the current project

USAGE
  $ kapso whatsapp numbers new [--area-code <value>] [--connection-type coexistence|dedicated...] [--country <value>...]
    [--customer <value>] [--failure-url <value>] [--language <value>] [--no-provision-phone-number] [--output
    json|human] [--project <value>] [--success-url <value>]

FLAGS
  --area-code=<value>            Preferred phone number area code
  --connection-type=<option>...  Allowed connection type (defaults to dedicated)
                                 <options: coexistence|dedicated>
  --country=<value>...           Preferred phone number country ISO
  --customer=<value>             Customer ID override
  --failure-url=<value>          Failure redirect URL
  --language=<value>             Setup link language
  --no-provision-phone-number    Do not auto-provision a phone number during setup
  --output=<option>              [default: human] Output format
                                 <options: json|human>
  --project=<value>              Project ID override
  --success-url=<value>          Success redirect URL

DESCRIPTION
  Start WhatsApp number setup in the current project

See code: src/commands/whatsapp/numbers/new.ts

kapso whatsapp numbers resolve [NUMBERREF]

Resolve a WhatsApp number reference to a canonical phone number ID

USAGE
  $ kapso whatsapp numbers resolve [NUMBERREF] [--output json|human] [--phone-number <value>] [--phone-number-id <value>]
    [--project <value>]

ARGUMENTS
  [NUMBERREF]  WhatsApp phone number ID or display phone number

FLAGS
  --output=<option>          [default: json] Output format
                             <options: json|human>
  --phone-number=<value>     WhatsApp display phone number (resolved to a phone number ID)
  --phone-number-id=<value>  WhatsApp phone number ID (Meta internal ID). If you have the real number instead, use
                             "--phone-number".
  --project=<value>          Project ID override

DESCRIPTION
  Resolve a WhatsApp number reference to a canonical phone number ID

See code: src/commands/whatsapp/numbers/resolve.ts

kapso whatsapp templates get TEMPLATEID

Get a WhatsApp template by ID

USAGE
  $ kapso whatsapp templates get TEMPLATEID [--output json|human] [--phone-number <value>] [--phone-number-id <value>]
    [--project <value>]

ARGUMENTS
  TEMPLATEID  Template ID

FLAGS
  --output=<option>          [default: json] Output format
                             <options: json|human>
  --phone-number=<value>     WhatsApp display phone number (resolved to a phone number ID)
  --phone-number-id=<value>  WhatsApp phone number ID (Meta internal ID). If you have the real number instead, use
                             "--phone-number".
  --project=<value>          Project ID override

DESCRIPTION
  Get a WhatsApp template by ID

See code: src/commands/whatsapp/templates/get.ts

kapso whatsapp templates list

List WhatsApp templates for a number (cursor pagination)

USAGE
  $ kapso whatsapp templates list [--after <value>] [--before <value>] [--category MARKETING|UTILITY|AUTHENTICATION]
    [--language <value>] [--limit <value>] [--name <value>] [--output json|human] [--per-page <value>] [--phone-number
    <value>] [--phone-number-id <value>] [--project <value>] [--status
    APPROVED|PENDING|REJECTED|PAUSED|IN_APPEAL|DISABLED]

FLAGS
  --after=<value>            Cursor for the next page
  --before=<value>           Cursor for the previous page
  --category=<option>        Filter by template category
                             <options: MARKETING|UTILITY|AUTHENTICATION>
  --language=<value>         Filter by language code
  --limit=<value>            Maximum number of templates to return
  --name=<value>             Filter by template name
  --output=<option>          [default: json] Output format
                             <options: json|human>
  --per-page=<value>         Alias for --limit on cursor-paginated responses
  --phone-number=<value>     WhatsApp display phone number (resolved to a phone number ID)
  --phone-number-id=<value>  WhatsApp phone number ID (Meta internal ID). If you have the real number instead, use
                             "--phone-number".
  --project=<value>          Project ID override
  --status=<option>          Filter by template status
                             <options: APPROVED|PENDING|REJECTED|PAUSED|IN_APPEAL|DISABLED>

DESCRIPTION
  List WhatsApp templates for a number (cursor pagination)

See code: src/commands/whatsapp/templates/list.ts

kapso whatsapp templates new

Create a WhatsApp template for a number

USAGE
  $ kapso whatsapp templates new [--input <value>] [--output json|human] [--phone-number <value>] [--phone-number-id
    <value>] [--project <value>] [--stdin]

FLAGS
  --input=<value>            Path to a JSON payload file
  --output=<option>          [default: json] Output format
                             <options: json|human>
  --phone-number=<value>     WhatsApp display phone number (resolved to a phone number ID)
  --phone-number-id=<value>  WhatsApp phone number ID (Meta internal ID). If you have the real number instead, use
                             "--phone-number".
  --project=<value>          Project ID override
  --stdin                    Read the JSON payload from stdin

DESCRIPTION
  Create a WhatsApp template for a number

See code: src/commands/whatsapp/templates/new.ts

kapso whatsapp webhooks delete WEBHOOKID

Delete a WhatsApp webhook for a number

USAGE
  $ kapso whatsapp webhooks delete WEBHOOKID [--output json|human] [--phone-number <value>] [--phone-number-id <value>]
    [--project <value>]

ARGUMENTS
  WEBHOOKID  Webhook ID

FLAGS
  --output=<option>          [default: human] Output format
                             <options: json|human>
  --phone-number=<value>     WhatsApp display phone number (resolved to a phone number ID)
  --phone-number-id=<value>  WhatsApp phone number ID (Meta internal ID). If you have the real number instead, use
                             "--phone-number".
  --project=<value>          Project ID override

DESCRIPTION
  Delete a WhatsApp webhook for a number

See code: src/commands/whatsapp/webhooks/delete.ts

kapso whatsapp webhooks get WEBHOOKID

Get a WhatsApp webhook by ID

USAGE
  $ kapso whatsapp webhooks get WEBHOOKID [--output json|human] [--phone-number <value>] [--phone-number-id <value>]
    [--project <value>]

ARGUMENTS
  WEBHOOKID  Webhook ID

FLAGS
  --output=<option>          [default: json] Output format
                             <options: json|human>
  --phone-number=<value>     WhatsApp display phone number (resolved to a phone number ID)
  --phone-number-id=<value>  WhatsApp phone number ID (Meta internal ID). If you have the real number instead, use
                             "--phone-number".
  --project=<value>          Project ID override

DESCRIPTION
  Get a WhatsApp webhook by ID

See code: src/commands/whatsapp/webhooks/get.ts

kapso whatsapp webhooks list

List WhatsApp webhooks for a number

USAGE
  $ kapso whatsapp webhooks list [--active] [--inactive] [--kind kapso|meta] [--output json|human] [--page <value>]
    [--per-page <value>] [--phone-number <value>] [--phone-number-id <value>] [--project <value>] [--url-contains
    <value>]

FLAGS
  --active                   Only include active webhooks
  --inactive                 Only include inactive webhooks
  --kind=<option>            Filter by webhook kind
                             <options: kapso|meta>
  --output=<option>          [default: json] Output format
                             <options: json|human>
  --page=<value>             Page number
  --per-page=<value>         Results per page
  --phone-number=<value>     WhatsApp display phone number (resolved to a phone number ID)
  --phone-number-id=<value>  WhatsApp phone number ID (Meta internal ID). If you have the real number instead, use
                             "--phone-number".
  --project=<value>          Project ID override
  --url-contains=<value>     Filter by URL substring

DESCRIPTION
  List WhatsApp webhooks for a number

See code: src/commands/whatsapp/webhooks/list.ts

kapso whatsapp webhooks new

Create a WhatsApp webhook for a number

USAGE
  $ kapso whatsapp webhooks new --url <value> [--active] [--buffer-enabled] [--buffer-window-seconds <value>] [--event
    whatsapp.message.received|whatsapp.message.sent|whatsapp.message.delivered|whatsapp.message.read|whatsapp.message.fa
    iled|whatsapp.conversation.created|whatsapp.conversation.ended|whatsapp.conversation.inactive...] [--header
    <value>...] [--inactive] [--inactivity-minutes <value>] [--kind kapso|meta] [--max-buffer-size <value>] [--output
    json|human] [--payload-version v1|v2] [--phone-number <value>] [--phone-number-id <value>] [--project <value>]
    [--secret-key <value>]

FLAGS
  --active                         Create the webhook as active
  --[no-]buffer-enabled            Enable buffering for whatsapp.message.received
  --buffer-window-seconds=<value>  Buffer window in seconds (requires --buffer-enabled)
  --event=<option>...              Webhook event to subscribe to
                                   <options: whatsapp.message.received|whatsapp.message.sent|whatsapp.message.delivered|
                                   whatsapp.message.read|whatsapp.message.failed|whatsapp.conversation.created|whatsapp.
                                   conversation.ended|whatsapp.conversation.inactive>
  --header=<value>...              Custom header in Name=value format
  --inactive                       Create the webhook as inactive
  --inactivity-minutes=<value>     Minutes before sending whatsapp.conversation.inactive
  --kind=<option>                  Webhook kind
                                   <options: kapso|meta>
  --max-buffer-size=<value>        Maximum buffered events before flush (requires --buffer-enabled)
  --output=<option>                [default: human] Output format
                                   <options: json|human>
  --payload-version=<option>       Webhook payload version
                                   <options: v1|v2>
  --phone-number=<value>           WhatsApp display phone number (resolved to a phone number ID)
  --phone-number-id=<value>        WhatsApp phone number ID (Meta internal ID). If you have the real number instead, use
                                   "--phone-number".
  --project=<value>                Project ID override
  --secret-key=<value>             Webhook secret key override
  --url=<value>                    (required) Webhook destination URL

DESCRIPTION
  Create a WhatsApp webhook for a number

See code: src/commands/whatsapp/webhooks/new.ts

kapso whatsapp webhooks update WEBHOOKID

Update a WhatsApp webhook for a number

USAGE
  $ kapso whatsapp webhooks update WEBHOOKID [--active] [--buffer-enabled] [--buffer-window-seconds <value>] [--clear-headers]
    [--event whatsapp.message.received|whatsapp.message.sent|whatsapp.message.delivered|whatsapp.message.read|whatsapp.m
    essage.failed|whatsapp.conversation.created|whatsapp.conversation.ended|whatsapp.conversation.inactive...] [--header
    <value>...] [--inactive] [--inactivity-minutes <value>] [--kind kapso|meta] [--max-buffer-size <value>] [--output
    json|human] [--payload-version v1|v2] [--phone-number <value>] [--phone-number-id <value>] [--project <value>]
    [--secret-key <value>] [--url <value>]

ARGUMENTS
  WEBHOOKID  Webhook ID

FLAGS
  --active                         Set the webhook to active
  --[no-]buffer-enabled            Enable buffering for whatsapp.message.received
  --buffer-window-seconds=<value>  Buffer window in seconds (requires --buffer-enabled)
  --clear-headers                  Replace custom headers with an empty object
  --event=<option>...              Webhook event to subscribe to
                                   <options: whatsapp.message.received|whatsapp.message.sent|whatsapp.message.delivered|
                                   whatsapp.message.read|whatsapp.message.failed|whatsapp.conversation.created|whatsapp.
                                   conversation.ended|whatsapp.conversation.inactive>
  --header=<value>...              Custom header in Name=value format
  --inactive                       Set the webhook to inactive
  --inactivity-minutes=<value>     Minutes before sending whatsapp.conversation.inactive
  --kind=<option>                  Webhook kind
                                   <options: kapso|meta>
  --max-buffer-size=<value>        Maximum buffered events before flush (requires --buffer-enabled)
  --output=<option>                [default: human] Output format
                                   <options: json|human>
  --payload-version=<option>       Webhook payload version
                                   <options: v1|v2>
  --phone-number=<value>           WhatsApp display phone number (resolved to a phone number ID)
  --phone-number-id=<value>        WhatsApp phone number ID (Meta internal ID). If you have the real number instead, use
                                   "--phone-number".
  --project=<value>                Project ID override
  --secret-key=<value>             Webhook secret key override
  --url=<value>                    Webhook destination URL

DESCRIPTION
  Update a WhatsApp webhook for a number

See code: src/commands/whatsapp/webhooks/update.ts

Keywords

oclif

FAQs

Package last updated on 17 Mar 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts