WisyLink CLI (npm package)

Official CLI contract for WisyLink API operations.

npmGitHub
Sections

CLI command reference aligned with the official WisyLink HTTP API.

#Availability

Examplebash
npm i -g @wisylink/cli

#Authentication

CLI requests use the same API key auth as the HTTP API.

Set your API key:

Examplebash
export WISYLINK_API_KEY="your_api_key"

Or pass per command:

Examplebash
wisylink links get 67e6f6e6c5a91e4d2d9b0a77 --api-key "your_api_key"

#Global Flags

FlagTypeDescription
--api-key <value>stringOverrides WISYLINK_API_KEY
--timeout <ms>numberRequest timeout (1000..120000)
--helpbooleanShow command help
--versionbooleanShow installed CLI version

#Rules

RuleValue
File id format24-char hex
Link id format24-char hex
Max file_ids per request10
Message max length5000 chars
Link lifecyclestatus enum: building \

#Commands

CLI command reference grouped by resource. Each command maps directly to an HTTP API endpoint.

#Files

Upload, inspect, and delete file assets that can be attached to link generation.

#Upload File

CLIwisylink files upload <path>

Maps to chunk upload flow:

  • POST /files
  • POST /files/chunks?id=...

CLI uploads in <=4 MB chunks automatically (up to 25 MB total file size). The final chunk is sent with last=true.

Example:

Example
wisylink files upload "./asset.png"
bash

Success output:

Examplejson
{
  "id": "67e6f6e6c5a91e4d2d9b0a11",
  "ok": true
}

#Get File

CLIwisylink files get <id>

Maps to GET /files/:id.

Example:

Example
wisylink files get 67e6f6e6c5a91e4d2d9b0a11
bash

#Delete File

CLIwisylink files delete <id>

Maps to DELETE /files/:id.

Example:

Example
wisylink files delete 67e6f6e6c5a91e4d2d9b0a11
bash

Success output:

Examplejson
{
  "ok": true
}

Create links by chatting with the Wisy agent, then list, read, and delete them.

#Chat

CLIwisylink chat --message <text>

Maps to POST /chat.

Omit --link-id to create a new link. Provide --link-id to continue generation on an existing one.

Arguments:

FlagTypeRequiredRules
--messagestringYes1..5000 chars — the user message sent to the agent
--file-idstringNoRepeatable flag, max 10 total
--link-idstringNoContinue an existing link (24-char hex)

Example:

Example
# New link
wisylink chat \
  --message "Create a short product trailer with energetic pacing." \
  --file-id 67e6f6e6c5a91e4d2d9b0a11

# Continue existing link
wisylink chat \
  --message "Make it 20 seconds and emphasize motion graphics." \
  --link-id 67e6f6e6c5a91e4d2d9b0a77
bash

Success output:

Examplejson
{
  "id": "67e6f6e6c5a91e4d2d9b0a77",
  "url": "https://67e6f6e6c5a91e4d2d9b0a77.wisylink.com",
  "status": "building",
  "answer": "On it — building your product trailer now.",
  "created_at": 1762432496000,
  "updated_at": 1762432496000
}
CLIwisylink links list

Maps to GET /links. Pages through your links, newest first.

Arguments:

FlagTypeRequiredRules
--pagenumberNo1-based page number (default 1)
--limitnumberNoItems per page, 1..100 (default 20)

Example:

Example
wisylink links list --page 1 --limit 20
bash

Success output:

Examplejson
{
  "items": [
    {
      "id": "67e6f6e6c5a91e4d2d9b0a77",
      "url": "https://67e6f6e6c5a91e4d2d9b0a77.wisylink.com",
      "status": "completed",
      "file_ids": ["67e6f6e6c5a91e4d2d9b0a11"],
      "created_at": 1762432496000,
      "updated_at": 1762432596000
    }
  ],
  "page": 1,
  "limit": 20,
  "total": 1,
  "total_pages": 1,
  "has_prev": false,
  "has_next": false
}
CLIwisylink links get <id>

Maps to GET /links/:id. Response includes id, url (the hosted page), status, file_ids, and timestamps.

Example:

Example
wisylink links get 67e6f6e6c5a91e4d2d9b0a77
bash
CLIwisylink links delete <id>

Maps to DELETE /links/:id.

Example:

Example
wisylink links delete 67e6f6e6c5a91e4d2d9b0a77
bash

Success output:

Examplejson
{
  "ok": true
}

#Output

All command outputs are root-level JSON objects aligned with API responses.