Cavuno CLI

Manage Cavuno from the terminal — pipeable commands and exit codes

Install

The CLI is published on npm as cavuno. Install it globally, or run it once with npx. View the source or report an issue on GitHub.

bash
npm install -g cavuno
# or
npx cavuno --help

Authentication

Set two environment variables. Mint a key in the Cavuno dashboard under Settings → Developer → API keys. The plaintext secret is shown once at creation — copy it to your secrets manager immediately.

bash
export CAVUNO_API_KEY='cavuno_live_xxxxxxxxxxxxxxxx_yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy'
export CAVUNO_API_URL='https://api.cavuno.com/v1'
cavuno usage get

The CLI fails fast at startup if CAVUNO_API_KEY is missing or doesn’t match the cavuno_live_* format — you don’t wait on a 401 round-trip to see the error.

Global flags

FlagPurpose
--api-url <url>Override CAVUNO_API_URL for this invocation
--format <json|table>Output format. Default json (pipe-friendly)
--helpPrint help for the command or subcommand
--versionPrint the CLI version

Output formats

The default json output is the API response body verbatim — pipe it into jq for scripts. The optional table format pretty-prints key fields for terminal viewing.

bash
cavuno jobs list --status published --format table

Exit codes

The CLI exits with a stable code per error class. Scripts can branch on these without parsing stderr.

CodeReason
0Success
1Authentication failure — missing or malformed CAVUNO_API_KEY, 401 auth_unauthenticated
2Validation error — 400 validation_bad_request, missing required CLI flag
3Authorization failure — 403 auth_forbidden
4Resource not found — 404 *_not_found
5Plan / quota — 409 jobs_quota_exceeded, 403 jobs_plan_cannot_publish
6Rate limited — 429 rate_limited (Retry-After printed)
7State conflict — 409 jobs_already_published, jobs_not_published, jobs_already_archived
10Unknown server error — 500 or unmapped
11Network error — DNS failure, connection refused, timeout

Failure messages on stderr include the API code, message, validation issues (when present), Retry-After (on 429), and X-Request-Id (when present). Echo the request ID when filing support tickets.

jobs

Manage jobs in the authenticated account.

cavuno jobs list

List jobs (paginated).

Maps to GET /v1/jobs (POST /v1/jobs/search when --search, --skills, or --categories is set)

Synopsis

bash
cavuno jobs list [options]

Options

FlagRequiredDescription
--status <status>noFilter by status (draft|published|expired|archived)
--company-id <id>noFilter by company ID
--search <query>noFree-text search; routes through POST /v1/jobs/search
--skills <slugs>noComma-separated canonical skill slugs
--categories <slugs>noComma-separated canonical category slugs
--limit <n>noPage size 1-100 (default 50)
--cursor <cursor>noPagination cursor from previous response

Examples

bash
# All jobs (first page)
cavuno jobs list
bash
# Published only
cavuno jobs list --status published --limit 100
bash
# Published jobs at a single company
cavuno jobs list --status published --company-id k17abc...

cavuno jobs get

Fetch a single job by ID (enriched with description, company, places).

Maps to GET /v1/jobs/:id

Synopsis

bash
cavuno jobs get <id>

Arguments

NameRequiredDescription
idyesJob ID

Examples

bash
cavuno jobs get k17abc...
bash
cavuno jobs get k17abc... | jq -r .title

cavuno jobs create

Create a draft job.

Maps to POST /v1/jobs

Synopsis

bash
cavuno jobs create [options]

Options

FlagRequiredDescription
--title <title>yesJob title (required)
--description <text>noDescription (markdown/HTML)
--slug <slug>noURL slug; auto-derived from title if omitted
--company-id <id>noCompany ID (must belong to your account)
--application-url <url>noApplication URL or `mailto:`/email
--employment-type <type>nofull_time|part_time|contract|internship|temporary|volunteer|other
--remote-option <opt>noon_site|hybrid|remote
--seniority <level>noentry_level|associate|mid_level|senior|lead|principal|director|executive
--remote-sponsorship <opt>noyes|no|unknown — visa sponsorship for remote candidates
--remote-permits <json>noJSON array, e.g. '[{"type":"country","value":"US"}]' — work-permit scope
--remote-timezones <json>noJSON array, e.g. '[{"type":"all","value":"all"}]' — timezone constraint (auto-derived from --remote-permits when omitted)
--office-locations <json>noJSON array, e.g. '[{"city":"Berlin","country":"DE"}]' — required for on_site/hybrid
--in-office-period <opt>noper_week|per_month|per_year — denominator for --in-office-frequency (hybrid)
--in-office-frequency <n>noIn-office count per period (hybrid)
--salary-min <n>noMinimum salary
--salary-max <n>noMaximum salary
--salary-currency <code>noISO 4217 currency (e.g. USD, EUR, GBP)
--salary-timeframe <opt>noper_year|per_month|per_week|per_day|per_hour
--education-requirements <list>noComma-separated values: high_school,associate_degree,bachelor_degree,professional_certificate,postgraduate_degree,no_requirements
--skills <slugs>noComma-separated canonical skill slugs
--categories <slugs>noComma-separated canonical category slugs
--experience-months <n>noMinimum experience required, in months
--experience-in-place-of-educationnoAllow equivalent experience to substitute for education
--is-featurednoMark as a featured job on the public board
--expires-at <iso>noExpiry as ISO 8601 datetime (defaults to 30 days from creation when omitted)

Examples

bash
# Minimal
cavuno jobs create --title "Senior Backend Engineer"
bash
# Common remote-only case
cavuno jobs create \
--title "Senior Platform Engineer" \
--description "We’re hiring..." \
--employment-type full_time \
--remote-option remote \
--seniority senior \
--company-id k18acme...
bash
# Hybrid role (requires --office-locations)
cavuno jobs create \
--title "Staff Engineer" \
--remote-option hybrid \
--in-office-period per_week \
--in-office-frequency 2 \
--office-locations '[{"city":"Berlin","country":"DE"}]'
bash
# Capture the new ID
NEW_ID=$(cavuno jobs create --title "Test" | jq -r .id)

cavuno jobs update

Update fields on an existing job.

Maps to PATCH /v1/jobs/:id

Synopsis

bash
cavuno jobs update <id> [options]

Arguments

NameRequiredDescription
idyesJob ID

Options

FlagRequiredDescription
--title <title>no1–200 chars
--description <text>noDescription (markdown/HTML)
--slug <slug>no
--company-id <id>noCompany ID (must belong to your account)
--application-url <url>noApplication URL or `mailto:`/email
--employment-type <type>no
--remote-option <opt>noon_site|hybrid|remote
--seniority <level>no
--remote-sponsorship <opt>noyes|no|unknown
--remote-permits <json>noJSON array; pass `[]` to clear
--remote-timezones <json>noJSON array; pass `[]` to clear (PATCH never auto-re-derives)
--office-locations <json>noJSON array; required when --remote-option is on_site/hybrid
--in-office-period <opt>noper_week|per_month|per_year
--in-office-frequency <n>noHybrid in-office count per period
--salary-min <n>noMinimum salary
--salary-max <n>noMaximum salary
--salary-currency <code>noISO 4217 currency (e.g. USD, EUR, GBP)
--salary-timeframe <opt>noper_year|per_month|per_week|per_day|per_hour
--education-requirements <list>noComma-separated list
--skills <slugs>noComma-separated canonical skill slugs; pass an empty value to clear
--categories <slugs>noComma-separated canonical category slugs; pass an empty value to clear
--experience-months <n>noMinimum experience required, in months
--experience-in-place-of-education <bool>notrue|false (string accepted; PATCH semantics — explicit value required)
--is-featured <bool>notrue|false (string accepted; PATCH semantics — explicit value required)
--expires-at <iso>noISO 8601 datetime (parsed to epoch ms); pass `null` to clear

Examples

bash
# Rename
cavuno jobs update k17abc... --title "Renamed role"
bash
# Re-author the remote-permit set + sponsorship
cavuno jobs update k17abc... \
--remote-permits '[{"type":"country","value":"US"}]' \
--remote-sponsorship yes
bash
# Clear an existing expiry
cavuno jobs update k17abc... --expires-at null
bash
# Mark as featured
cavuno jobs update k17abc... --is-featured true

cavuno jobs publish

Publish a job (draft or expired → published).

Maps to POST /v1/jobs/:id/publish

Synopsis

bash
cavuno jobs publish <id> [options]

Arguments

NameRequiredDescription
idyesJob ID

Options

FlagRequiredDescription
--expires-at <iso>noOptional ISO 8601 expiry timestamp

Examples

bash
cavuno jobs publish k17abc...
bash
cavuno jobs publish k17abc... --expires-at 2026-12-31T23:59:59Z

cavuno jobs pause

Pause a published job (transition to draft).

Maps to POST /v1/jobs/:id/pause

Synopsis

bash
cavuno jobs pause <id>

Arguments

NameRequiredDescription
idyesJob ID

Examples

bash
cavuno jobs pause k17abc...

cavuno jobs expire

Expire a published job immediately (sets expiresAt = now).

Maps to POST /v1/jobs/:id/expire

Synopsis

bash
cavuno jobs expire <id>

Arguments

NameRequiredDescription
idyesJob ID

Examples

bash
cavuno jobs expire k17abc...

cavuno jobs duplicate

Duplicate a job (creates a new draft copy).

Maps to POST /v1/jobs/:id/duplicate

Synopsis

bash
cavuno jobs duplicate <id>

Arguments

NameRequiredDescription
idyesJob ID

Examples

bash
cavuno jobs duplicate k17abc...
bash
NEW_ID=$(cavuno jobs duplicate k17abc... | jq -r .id)

cavuno jobs delete

Hard-delete a job. Irreversible.

Maps to DELETE /v1/jobs/:id

Synopsis

bash
cavuno jobs delete <id> [options]

Arguments

NameRequiredDescription
idyesJob ID

Options

FlagRequiredDescription
-y, --yesnoSkip the confirmation prompt

Examples

bash
cavuno jobs delete k17abc... --yes

cavuno jobs batch

Run a batch of job operations. Pass JSON via --file or stdin. Exit 0 on HTTP 200 even if some rows fail — inspect the body.

Maps to POST /v1/jobs/batch

Synopsis

bash
cavuno jobs batch [options]

Options

FlagRequiredDescription
--file <path>noJSON file body (otherwise read stdin)

Examples

bash
cavuno jobs batch --file ops.json
bash
echo '{"operations":[]}' | cavuno jobs batch

usage

Inspect actionable product capacity (jobs, subscribers, seats).

cavuno usage get

Show used, limit, and remaining capacity for active jobs, confirmed subscribers, and team seats.

Maps to GET /v1/usage

Synopsis

bash
cavuno usage get

Examples

bash
cavuno usage get

me

Show the authenticated operator identity (Board, role, permissions, scopes).

cavuno me get

Retrieve the current Board, actor type, live role/permissions, and credential scopes.

Maps to GET /v1/me

Synopsis

bash
cavuno me get

Examples

bash
cavuno me get

companies

Manage companies in the authenticated account.

cavuno companies list

List companies (paginated).

Maps to GET /v1/companies

Synopsis

bash
cavuno companies list [options]

Options

FlagRequiredDescription
--search <query>noSubstring search on name
--markets <slugs>noComma-separated canonical market slugs
--limit <n>noPage size 1-100 (default 50)
--cursor <cursor>noPagination cursor

Examples

bash
cavuno companies list
bash
cavuno companies list --search acme --limit 10

cavuno companies get

Fetch a single company by ID.

Maps to GET /v1/companies/:id

Synopsis

bash
cavuno companies get <id>

Arguments

NameRequiredDescription
idyesCompany ID

Examples

bash
cavuno companies get k18acme...

cavuno companies create

Create a company.

Maps to POST /v1/companies

Synopsis

bash
cavuno companies create [options]

Options

FlagRequiredDescription
--name <name>yesCompany name (required)
--slug <slug>noURL slug; auto-derived from --name if omitted
--website <url>noWebsite URL
--summary <text>noShort summary (≤280 chars)
--description <text>noLong-form description (≤25,000 chars)
--x-url <handle-or-url>noX (Twitter) handle or profile URL
--linkedin-url <url-or-path>noLinkedIn company page URL or path
--facebook-url <url-or-path>noFacebook company page URL or path
--markets <slugs>noComma-separated canonical market slugs

Examples

bash
cavuno companies create --name "Acme Corp"
bash
cavuno companies create \
--name "Acme Corp" \
--website https://acme.com \
--summary "World-class widgets"

cavuno companies update

Update a company (partial).

Maps to PATCH /v1/companies/:id

Synopsis

bash
cavuno companies update <id> [options]

Arguments

NameRequiredDescription
idyesCompany ID

Options

FlagRequiredDescription
--name <name>noNew name
--slug <slug>noNew URL slug
--website <url>noNew website URL
--summary <text>noNew summary
--description <text>noNew long-form description
--x-url <handle-or-url>noNew X handle or profile URL
--linkedin-url <url-or-path>noNew LinkedIn URL or path
--facebook-url <url-or-path>noNew Facebook URL or path
--markets <slugs>noComma-separated canonical market slugs; pass an empty string to clear

Examples

bash
cavuno companies update k18acme... --name "Acme, Inc."
bash
cavuno companies update k18acme... --website https://acme.io

cavuno companies delete

Delete a company and cascade-delete its jobs.

Maps to DELETE /v1/companies/:id

Synopsis

bash
cavuno companies delete <id> [options]

Arguments

NameRequiredDescription
idyesCompany ID

Options

FlagRequiredDescription
-y, --yesnoSkip the confirmation prompt

Examples

bash
cavuno companies delete k18acme... --yes

cavuno companies find-by-domain

Resolve a company by website domain (uses search endpoint).

Maps to POST /v1/companies/search

Synopsis

bash
cavuno companies find-by-domain <domain>

Arguments

NameRequiredDescription
domainyesWebsite domain (e.g. acme.com)

Examples

bash
cavuno companies find-by-domain acme.com

cavuno companies find-or-create

Resolve to an existing company by domain or create one.

Maps to POST /v1/companies/find-or-create

Synopsis

bash
cavuno companies find-or-create [options]

Options

FlagRequiredDescription
--name <name>yesCompany name
--website <url>noWebsite URL (used for dedup)

Examples

bash
cavuno companies find-or-create --name "Acme Corp" --website acme.com

cavuno companies list-jobs

List jobs at a company (any status, optional filter).

Maps to GET /v1/companies/:id/jobs

Synopsis

bash
cavuno companies list-jobs <id> [options]

Arguments

NameRequiredDescription
idyesCompany ID

Options

FlagRequiredDescription
--status <status>noFilter by status (draft|published|expired|archived)
--limit <n>noPage size 1-100 (default 50)

Examples

bash
cavuno companies list-jobs k18acme... --status published

cavuno companies batch

Run a batch of company operations. Pass JSON via --file or stdin. Exit 0 on HTTP 200 even if some rows fail — inspect the body.

Maps to POST /v1/companies/batch

Synopsis

bash
cavuno companies batch [options]

Options

FlagRequiredDescription
--file <path>noJSON file body (otherwise read stdin)

Examples

bash
cavuno companies batch --file ops.json

blog

Manage blog posts, authors, and tags.

cavuno blog posts list

List posts (paginated).

Maps to GET /v1/blog/posts

Synopsis

bash
cavuno blog posts list [options]

Options

FlagRequiredDescription
--status <status>noFilter by status (draft|scheduled|published)
--limit <n>noPage size 1-100
--cursor <cursor>noPagination cursor

Examples

bash
cavuno blog posts list --status draft

cavuno blog posts get

Fetch a post by ID (includes html).

Maps to GET /v1/blog/posts/:id

Synopsis

bash
cavuno blog posts get <id>

Arguments

NameRequiredDescription
idyesPost ID

Examples

bash
cavuno blog posts get k97...

cavuno blog posts create

Create a post (defaults to draft).

Maps to POST /v1/blog/posts

Synopsis

bash
cavuno blog posts create [options]

Options

FlagRequiredDescription
--title <title>yesPost title (required)
--slug <slug>noURL slug; auto-derived from --title
--html <html>noRich-text HTML body (sanitized server-side)
--custom-excerpt <text>noExcerpt
--status <status>nodraft|scheduled|published
--published-at <iso>noISO datetime (required for scheduled)
--featurednoMark as featured
--author-ids <ids>noComma-separated author IDs
--tag-ids <ids>noComma-separated tag IDs
--cover-media-id <id>noCover image media id from `cavuno media upload --purpose blog_image`
--og-image-media-id <id>noOG image media id from `cavuno media upload --purpose blog_image`
--feature-image-alt <text>noFeature image alt text
--feature-image-caption <text>noFeature image caption
--seo-title <text>noSEO meta title
--seo-description <text>noSEO meta description
--canonical-url <url>noCanonical URL

Examples

bash
cavuno blog posts create --title "Hiring trends"

cavuno blog posts update

Update a post (partial). Status changes use publish/unpublish.

Maps to PATCH /v1/blog/posts/:id

Synopsis

bash
cavuno blog posts update <id> [options]

Arguments

NameRequiredDescription
idyesPost ID

Options

FlagRequiredDescription
--title <title>no
--slug <slug>no
--html <html>no
--custom-excerpt <text>no
--featuredno
--author-ids <ids>noComma-separated author IDs
--tag-ids <ids>noComma-separated tag IDs
--feature-image-alt <text>noFeature image alt text
--feature-image-caption <text>noFeature image caption
--seo-title <text>noSEO meta title
--seo-description <text>noSEO meta description
--canonical-url <url>noCanonical URL

Examples

bash
cavuno blog posts update k97... --title "New"

cavuno blog posts publish

Publish a post.

Maps to POST /v1/blog/posts/:id/publish

Synopsis

bash
cavuno blog posts publish <id>

Arguments

NameRequiredDescription
idyesPost ID

Examples

bash
cavuno blog posts publish k97...

cavuno blog posts unpublish

Unpublish a post.

Maps to POST /v1/blog/posts/:id/unpublish

Synopsis

bash
cavuno blog posts unpublish <id>

Arguments

NameRequiredDescription
idyesPost ID

Examples

bash
cavuno blog posts unpublish k97...

cavuno blog posts batch

Run a batch of blog post operations. Pass JSON via --file or stdin. Exit 0 on HTTP 200 even if some rows fail — inspect the body.

Maps to POST /v1/blog/posts/batch

Synopsis

bash
cavuno blog posts batch [options]

Options

FlagRequiredDescription
--file <path>noJSON file body (otherwise read stdin)

Examples

bash
cavuno blog posts batch --file ops.json

cavuno blog posts delete

Delete a post.

Maps to DELETE /v1/blog/posts/:id

Synopsis

bash
cavuno blog posts delete <id> [options]

Arguments

NameRequiredDescription
idyesPost ID

Options

FlagRequiredDescription
-y, --yesnoSkip the confirmation prompt

Examples

bash
cavuno blog posts delete k97... --yes

cavuno blog authors list

List authors.

Maps to GET /v1/blog/authors

Synopsis

bash
cavuno blog authors list [options]

Options

FlagRequiredDescription
--limit <n>noPage size 1-100
--cursor <cursor>noPagination cursor

Examples

bash
cavuno blog authors list

cavuno blog authors get

Fetch an author by ID.

Maps to GET /v1/blog/authors/:id

Synopsis

bash
cavuno blog authors get <id>

Arguments

NameRequiredDescription
idyesAuthor ID

Examples

bash
cavuno blog authors get k57...

cavuno blog authors create

Create an author.

Maps to POST /v1/blog/authors

Synopsis

bash
cavuno blog authors create [options]

Options

FlagRequiredDescription
--name <name>yesAuthor name (required)
--slug <slug>no
--bio <bio>no
--email <email>no
--website-url <url>no
--twitter-url <url>no
--linkedin-url <url>no
--github-url <url>no

Examples

bash
cavuno blog authors create --name "Alex Chen"

cavuno blog authors update

Update an author (partial).

Maps to PATCH /v1/blog/authors/:id

Synopsis

bash
cavuno blog authors update <id> [options]

Arguments

NameRequiredDescription
idyesAuthor ID

Options

FlagRequiredDescription
--name <name>no
--slug <slug>no
--bio <bio>no
--email <email>no

Examples

bash
cavuno blog authors update k57... --bio "…"

cavuno blog authors delete

Delete an author (posts keep the stale ID).

Maps to DELETE /v1/blog/authors/:id

Synopsis

bash
cavuno blog authors delete <id> [options]

Arguments

NameRequiredDescription
idyesAuthor ID

Options

FlagRequiredDescription
-y, --yesnoSkip the confirmation prompt

Examples

bash
cavuno blog authors delete k57... --yes

cavuno blog tags list

List tags.

Maps to GET /v1/blog/tags

Synopsis

bash
cavuno blog tags list [options]

Options

FlagRequiredDescription
--limit <n>noPage size 1-100
--cursor <cursor>noPagination cursor

Examples

bash
cavuno blog tags list

cavuno blog tags get

Fetch a tag by ID.

Maps to GET /v1/blog/tags/:id

Synopsis

bash
cavuno blog tags get <id>

Arguments

NameRequiredDescription
idyesTag ID

Examples

bash
cavuno blog tags get kn7...

cavuno blog tags create

Create a tag.

Maps to POST /v1/blog/tags

Synopsis

bash
cavuno blog tags create [options]

Options

FlagRequiredDescription
--name <name>yesTag name (required)
--slug <slug>no
--description <text>no
--visibility <vis>nopublic|internal

Examples

bash
cavuno blog tags create --name "Hiring"

cavuno blog tags update

Update a tag (partial).

Maps to PATCH /v1/blog/tags/:id

Synopsis

bash
cavuno blog tags update <id> [options]

Arguments

NameRequiredDescription
idyesTag ID

Options

FlagRequiredDescription
--name <name>no
--slug <slug>no
--description <text>no
--visibility <vis>no

Examples

bash
cavuno blog tags update kn7... --name "X"

cavuno blog tags delete

Delete a tag (posts keep the stale ID).

Maps to DELETE /v1/blog/tags/:id

Synopsis

bash
cavuno blog tags delete <id> [options]

Arguments

NameRequiredDescription
idyesTag ID

Options

FlagRequiredDescription
-y, --yesnoSkip the confirmation prompt

Examples

bash
cavuno blog tags delete kn7... --yes

settings

Manage singleton board settings.

cavuno settings get

Fetch the singleton board settings.

Synopsis

bash
cavuno settings get

cavuno settings update

Update fields on the singleton board settings.

Synopsis

bash
cavuno settings update [options]

Options

FlagRequiredDescription
--name <name>noBoard name
--slug <slug>noBoard slug (cascades to account slug)
--blog-enabled <bool>noToggle blog feature flag (true/false)
--candidates-enabled <bool>noToggle candidate-area flag (true/false)
--require-cookie-consent <bool>noToggle cookie consent banner (true/false)
--talent-directory-visibility <mode>noTalent directory mode: off | public | employers_only
--talent-directory-enabled <bool>noLegacy shorthand for talent directory (true→public, false→off)
--cookie-banner-title <text>noCookie banner title
--cookie-banner-description <text>noCookie banner description
--cookie-banner-reject-label <text>noCookie banner reject button label
--cookie-banner-accept-label <text>noCookie banner accept button label
--cookie-banner-manage-label <text>noCookie banner manage/preferences label

cavuno settings get-adsense

Fetch the AdSense configuration.

Synopsis

bash
cavuno settings get-adsense

cavuno settings delete-hero

Remove the hero image (storage object + reference).

Maps to DELETE /v1/settings/hero

Synopsis

bash
cavuno settings delete-hero [options]

Options

FlagRequiredDescription
-y, --yesnoSkip the confirmation prompt

Examples

bash
cavuno settings delete-hero --yes

cavuno settings update-adsense

Update the AdSense configuration.

Synopsis

bash
cavuno settings update-adsense [options]

Options

FlagRequiredDescription
--enabled <bool>noToggle AdSense (true/false)
--client-id <id>noAdSense publisher id (ca-pub-…); pass empty string to clear
--ads-txt <text>noInline ads.txt content; pass empty string to clear
--slots-json <json>noAdSense slots as JSON: '{"slot_a":{"enabled":true,"slotId":"123"}}'

cavuno settings set-password-protection

Enable board password protection. Reads the password from stdin to avoid leaking it via shell history. Pipe a password: echo "pw" | cavuno settings set-password-protection

Synopsis

bash
cavuno settings set-password-protection

cavuno settings delete-password-protection

Disable board password protection (clears the stored hash).

Maps to DELETE /v1/settings/password-protection

Synopsis

bash
cavuno settings delete-password-protection [options]

Options

FlagRequiredDescription
-y, --yesnoSkip the confirmation prompt

Examples

bash
cavuno settings delete-password-protection --yes

cavuno settings job-form-set-custom-fields

Replace the board custom job field definitions (whole-array PUT). Pass JSON via --file or stdin: { "customFields": [...] }. Empty array removes all. Changing type on an existing key is rejected.

Maps to PUT /v1/settings/job-form/custom-fields

Synopsis

bash
cavuno settings job-form-set-custom-fields [options]

Options

FlagRequiredDescription
--file <path>noJSON file body (otherwise read stdin)

Examples

bash
cavuno settings job-form-set-custom-fields --file custom-fields.json

media

Upload + fetch media (images) via the v1 dispatcher.

cavuno media upload

Upload a file. Purpose must be one of: board_logo, board_hero, account_avatar, company_logo, blog_image.

Synopsis

bash
cavuno media upload <file> [options]

Arguments

NameRequiredDescription
fileyesPath to the local file to upload

Options

FlagRequiredDescription
--purpose <purpose>yesUpload purpose (see help)
--resource-id <id>noOptional resource ID for purpose-bound uploads
--account-id <id>noTenant account ID (defaults to api key tenant)

cavuno media get

Fetch media metadata + a fresh signed URL by storage ID.

Synopsis

bash
cavuno media get <id> [options]

Arguments

NameRequiredDescription
idyesStorage ID

Options

FlagRequiredDescription
--account-id <id>noTenant account ID (defaults to api key tenant)

domains

Manage custom domains for the authenticated account.

cavuno domains list

List custom domains.

Maps to GET /v1/domains

Synopsis

bash
cavuno domains list [options]

Options

FlagRequiredDescription
--limit <n>noPage size 1-50 (default 50)
--cursor <cursor>noPagination cursor

Examples

bash
cavuno domains list

cavuno domains get

Fetch a custom domain by ID.

Maps to GET /v1/domains/:id

Synopsis

bash
cavuno domains get <id>

Arguments

NameRequiredDescription
idyesDomain ID

Examples

bash
cavuno domains get domain_123

cavuno domains add

Add a custom domain and print verification instructions.

Maps to POST /v1/domains

Synopsis

bash
cavuno domains add <host>

Arguments

NameRequiredDescription
hostyesHostname, for example jobs.example.com

Examples

bash
cavuno domains add jobs.example.com

cavuno domains verify

Start custom-domain verification.

Maps to POST /v1/domains/:id/verify

Synopsis

bash
cavuno domains verify <id> [options]

Arguments

NameRequiredDescription
idyesDomain ID

Options

FlagRequiredDescription
--waitnoPoll the returned operation until it reaches a terminal state
--interval-ms <n>noPoll interval in milliseconds (default 2000)
--timeout-ms <n>noGive up after this many milliseconds (default 3600000)

Examples

bash
cavuno domains verify domain_123
bash
cavuno domains verify domain_123 --wait

cavuno domains remove

Delete a custom domain.

Maps to DELETE /v1/domains/:id

Synopsis

bash
cavuno domains remove <id> [options]

Arguments

NameRequiredDescription
idyesDomain ID

Options

FlagRequiredDescription
-y, --yesnoSkip the confirmation prompt

Examples

bash
cavuno domains remove domain_123 --yes

operations

Poll and cancel async operations by ID.

cavuno operations get

Fetch a single operation by ID.

Maps to GET /v1/operations/:id

Synopsis

bash
cavuno operations get <id>

Arguments

NameRequiredDescription
idyesOperation ID

Examples

bash
cavuno operations get op_123

cavuno operations cancel

Request cancellation of an operation.

Maps to POST /v1/operations/:id/cancel

Synopsis

bash
cavuno operations cancel <id>

Arguments

NameRequiredDescription
idyesOperation ID

Examples

bash
cavuno operations cancel op_123

cavuno operations wait

Poll an operation until it reaches a terminal state (succeeded/failed/cancelled).

Maps to GET /v1/operations/:id (poll)

Synopsis

bash
cavuno operations wait <id> [options]

Arguments

NameRequiredDescription
idyesOperation ID

Options

FlagRequiredDescription
--interval-ms <n>noPoll interval in milliseconds (default 2000)
--timeout-ms <n>noGive up after this many milliseconds (default 3600000)

Examples

bash
cavuno operations wait op_123
bash
cavuno operations wait op_123 --interval-ms 500 --timeout-ms 60000

taxonomies

Manage taxonomy skills, categories, and markets; list remote permits/timezones.

cavuno taxonomies remote-permits

List remote-work permit options.

Maps to GET /v1/taxonomies/remote-permits

Synopsis

bash
cavuno taxonomies remote-permits

Examples

bash
cavuno taxonomies remote-permits

cavuno taxonomies remote-timezones

List remote-work timezone options.

Maps to GET /v1/taxonomies/remote-timezones

Synopsis

bash
cavuno taxonomies remote-timezones

Examples

bash
cavuno taxonomies remote-timezones

cavuno taxonomies skills list

List skills.

Maps to GET /v1/taxonomies/skills

Synopsis

bash
cavuno taxonomies skills list [options]

Options

FlagRequiredDescription
--limit <n>noPage size 1-100
--cursor <cursor>noPagination cursor
--search <q>noSearch name/slug

Examples

bash
cavuno taxonomies skills list

cavuno taxonomies skills get

Get a skill by id.

Maps to GET /v1/taxonomies/skills/:id

Synopsis

bash
cavuno taxonomies skills get <id>

Arguments

NameRequiredDescription
idyesOpaque object id

Examples

bash
cavuno taxonomies skills get <id>

cavuno taxonomies skills create

Create a skill.

Maps to POST /v1/taxonomies/skills

Synopsis

bash
cavuno taxonomies skills create [options]

Options

FlagRequiredDescription
--name <name>yesDisplay name
--slug <slug>noCanonical slug (default: from name)
--source-locale <locale>noSource locale
--alias-slugs <slugs>noComma-separated initial aliases

Examples

bash
cavuno taxonomies skills create --name "Example" --slug example

cavuno taxonomies skills update

Update a skill.

Maps to PATCH /v1/taxonomies/skills/:id

Synopsis

bash
cavuno taxonomies skills update <id> [options]

Arguments

NameRequiredDescription
idyesOpaque object id

Options

FlagRequiredDescription
--name <name>noDisplay name
--slug <slug>noCanonical slug
--source-locale <locale>noSource locale

Examples

bash
cavuno taxonomies skills update <id> --name "New name"

cavuno taxonomies skills delete

Delete a skill.

Maps to DELETE /v1/taxonomies/skills/:id

Synopsis

bash
cavuno taxonomies skills delete <id>

Arguments

NameRequiredDescription
idyesOpaque object id

Examples

bash
cavuno taxonomies skills delete <id>

cavuno taxonomies skills add-alias

Add aliases to a skill (dual-write).

Maps to POST /v1/taxonomies/skills/:id/aliases

Synopsis

bash
cavuno taxonomies skills add-alias <id> [options]

Arguments

NameRequiredDescription
idyesOpaque object id

Options

FlagRequiredDescription
--alias <aliases>yesAlias slug or comma-separated list

Examples

bash
cavuno taxonomies skills add-alias <id> --alias other-slug

cavuno taxonomies skills remove-alias

Remove an alias from a skill.

Maps to DELETE /v1/taxonomies/skills/:id/aliases/:alias

Synopsis

bash
cavuno taxonomies skills remove-alias <id> <alias>

Arguments

NameRequiredDescription
idyesOpaque object id
aliasyesAlias slug to remove

Examples

bash
cavuno taxonomies skills remove-alias <id> other-slug

cavuno taxonomies categories tree

List categories as a nested tree.

Maps to GET /v1/taxonomies/categories/tree

Synopsis

bash
cavuno taxonomies categories tree

Examples

bash
cavuno taxonomies categories tree

cavuno taxonomies categories list

List categories.

Maps to GET /v1/taxonomies/categories

Synopsis

bash
cavuno taxonomies categories list [options]

Options

FlagRequiredDescription
--limit <n>noPage size 1-100
--cursor <cursor>noPagination cursor
--search <q>noSearch name/slug

Examples

bash
cavuno taxonomies categories list

cavuno taxonomies categories get

Get a categorie by id.

Maps to GET /v1/taxonomies/categories/:id

Synopsis

bash
cavuno taxonomies categories get <id>

Arguments

NameRequiredDescription
idyesOpaque object id

Examples

bash
cavuno taxonomies categories get <id>

cavuno taxonomies categories create

Create a categorie.

Maps to POST /v1/taxonomies/categories

Synopsis

bash
cavuno taxonomies categories create [options]

Options

FlagRequiredDescription
--name <name>yesDisplay name
--slug <slug>noCanonical slug (default: from name)
--source-locale <locale>noSource locale
--alias-slugs <slugs>noComma-separated initial aliases
--parent-id <id>noParent category id

Examples

bash
cavuno taxonomies categories create --name "Example" --slug example

cavuno taxonomies categories update

Update a categorie.

Maps to PATCH /v1/taxonomies/categories/:id

Synopsis

bash
cavuno taxonomies categories update <id> [options]

Arguments

NameRequiredDescription
idyesOpaque object id

Options

FlagRequiredDescription
--name <name>noDisplay name
--slug <slug>noCanonical slug
--source-locale <locale>noSource locale
--parent-id <id>noParent category id
--clear-parentnoClear parent (root)

Examples

bash
cavuno taxonomies categories update <id> --name "New name"

cavuno taxonomies categories delete

Delete a categorie.

Maps to DELETE /v1/taxonomies/categories/:id

Synopsis

bash
cavuno taxonomies categories delete <id>

Arguments

NameRequiredDescription
idyesOpaque object id

Examples

bash
cavuno taxonomies categories delete <id>

cavuno taxonomies categories add-alias

Add aliases to a categorie (dual-write).

Maps to POST /v1/taxonomies/categories/:id/aliases

Synopsis

bash
cavuno taxonomies categories add-alias <id> [options]

Arguments

NameRequiredDescription
idyesOpaque object id

Options

FlagRequiredDescription
--alias <aliases>yesAlias slug or comma-separated list

Examples

bash
cavuno taxonomies categories add-alias <id> --alias other-slug

cavuno taxonomies categories remove-alias

Remove an alias from a categorie.

Maps to DELETE /v1/taxonomies/categories/:id/aliases/:alias

Synopsis

bash
cavuno taxonomies categories remove-alias <id> <alias>

Arguments

NameRequiredDescription
idyesOpaque object id
aliasyesAlias slug to remove

Examples

bash
cavuno taxonomies categories remove-alias <id> other-slug

cavuno taxonomies markets list

List markets.

Maps to GET /v1/taxonomies/markets

Synopsis

bash
cavuno taxonomies markets list [options]

Options

FlagRequiredDescription
--limit <n>noPage size 1-100
--cursor <cursor>noPagination cursor
--search <q>noSearch name/slug

Examples

bash
cavuno taxonomies markets list

cavuno taxonomies markets get

Get a market by id.

Maps to GET /v1/taxonomies/markets/:id

Synopsis

bash
cavuno taxonomies markets get <id>

Arguments

NameRequiredDescription
idyesOpaque object id

Examples

bash
cavuno taxonomies markets get <id>

cavuno taxonomies markets create

Create a market.

Maps to POST /v1/taxonomies/markets

Synopsis

bash
cavuno taxonomies markets create [options]

Options

FlagRequiredDescription
--name <name>yesDisplay name
--slug <slug>noCanonical slug (default: from name)
--source-locale <locale>noSource locale
--alias-slugs <slugs>noComma-separated initial aliases

Examples

bash
cavuno taxonomies markets create --name "Example" --slug example

cavuno taxonomies markets update

Update a market.

Maps to PATCH /v1/taxonomies/markets/:id

Synopsis

bash
cavuno taxonomies markets update <id> [options]

Arguments

NameRequiredDescription
idyesOpaque object id

Options

FlagRequiredDescription
--name <name>noDisplay name
--slug <slug>noCanonical slug
--source-locale <locale>noSource locale

Examples

bash
cavuno taxonomies markets update <id> --name "New name"

cavuno taxonomies markets delete

Delete a market.

Maps to DELETE /v1/taxonomies/markets/:id

Synopsis

bash
cavuno taxonomies markets delete <id>

Arguments

NameRequiredDescription
idyesOpaque object id

Examples

bash
cavuno taxonomies markets delete <id>

cavuno taxonomies markets add-alias

Add aliases to a market (dual-write).

Maps to POST /v1/taxonomies/markets/:id/aliases

Synopsis

bash
cavuno taxonomies markets add-alias <id> [options]

Arguments

NameRequiredDescription
idyesOpaque object id

Options

FlagRequiredDescription
--alias <aliases>yesAlias slug or comma-separated list

Examples

bash
cavuno taxonomies markets add-alias <id> --alias other-slug

cavuno taxonomies markets remove-alias

Remove an alias from a market.

Maps to DELETE /v1/taxonomies/markets/:id/aliases/:alias

Synopsis

bash
cavuno taxonomies markets remove-alias <id> <alias>

Arguments

NameRequiredDescription
idyesOpaque object id
aliasyesAlias slug to remove

Examples

bash
cavuno taxonomies markets remove-alias <id> other-slug

candidates

Manage candidates in the authenticated account.

cavuno candidates list

List candidates (paginated).

Maps to GET /v1/candidates

Synopsis

bash
cavuno candidates list [options]

Options

FlagRequiredDescription
--search <query>noSubstring search on email / display name
--handle <handle>noExact profile handle lookup
--has-resumenoOnly candidates with a resume on file
--created-from <iso>noFilter to candidates created on/after
--created-to <iso>noFilter to candidates created on/before
--limit <n>noPage size 1-100 (default 50)
--cursor <cursor>noPagination cursor

Examples

bash
cavuno candidates list
bash
cavuno candidates list --search alice --has-resume --limit 10

cavuno candidates resume

Download a candidate resume through the protected API.

Maps to GET /v1/candidates/:id/resume

Synopsis

bash
cavuno candidates resume <id> [options]

Arguments

NameRequiredDescription
idyesCandidate ID

Options

FlagRequiredDescription
--output <path>yesFile path to write

Examples

bash
cavuno candidates resume nh7abc... --output ./candidate-resume.pdf

cavuno candidates get

Fetch a single candidate by ID (with profile + counts).

Maps to GET /v1/candidates/:id

Synopsis

bash
cavuno candidates get <id>

Arguments

NameRequiredDescription
idyesCandidate ID

Examples

bash
cavuno candidates get nh7abc...

cavuno candidates delete

Permanently erase a candidate and all associated data (GDPR cascade). Returns a candidates.remove operation to poll.

Maps to DELETE /v1/candidates/:id

Synopsis

bash
cavuno candidates delete <id> [options]

Arguments

NameRequiredDescription
idyesCandidate ID

Options

FlagRequiredDescription
--idempotency-key <key>noReuse this key when retrying the same logical mutation
-y, --yesnoSkip the confirmation prompt
--waitnoPoll the returned operation until it reaches a terminal state
--interval-ms <n>noPoll interval in milliseconds (default 2000)
--timeout-ms <n>noGive up after this many milliseconds (default 3600000)

Examples

bash
cavuno candidates delete nh7abc... --yes
bash
cavuno candidates delete nh7abc... --yes --wait

employers

Manage employers, memberships, and company claims.

cavuno employers list

List employers (paginated).

Maps to GET /v1/employers

Synopsis

bash
cavuno employers list [options]

Options

FlagRequiredDescription
--search <query>noSubstring search on email / display name
--limit <n>noPage size 1-100 (default 50)
--cursor <cursor>noPagination cursor

Examples

bash
cavuno employers list
bash
cavuno employers list --search acme

cavuno employers get

Fetch a single employer by ID (with memberships + claims).

Maps to GET /v1/employers/:id

Synopsis

bash
cavuno employers get <id>

Arguments

NameRequiredDescription
idyesEmployer ID

Examples

bash
cavuno employers get nh7abc...

cavuno employers delete

Permanently erase an employer and all associated data, including memberships/claims (GDPR cascade). Returns an employers.remove operation to poll.

Maps to DELETE /v1/employers/:id

Synopsis

bash
cavuno employers delete <id> [options]

Arguments

NameRequiredDescription
idyesEmployer ID

Options

FlagRequiredDescription
--idempotency-key <key>noReuse this key when retrying the same logical mutation
-y, --yesnoSkip the confirmation prompt
--waitnoPoll the returned operation until it reaches a terminal state
--interval-ms <n>noPoll interval in milliseconds (default 2000)
--timeout-ms <n>noGive up after this many milliseconds (default 3600000)

Examples

bash
cavuno employers delete nh7abc... --yes
bash
cavuno employers delete nh7abc... --yes --wait

cavuno employers memberships

List employer↔company memberships (paginated).

Maps to GET /v1/employers/memberships

Synopsis

bash
cavuno employers memberships [options]

Options

FlagRequiredDescription
--status <status>noFilter by status (pending|approved|rejected)
--company-id <id>noFilter to a single company
--limit <n>noPage size 1-100 (default 50)
--cursor <cursor>noPagination cursor

Examples

bash
cavuno employers memberships --status approved

cavuno employers membership

Fetch a single employer↔company membership by ID.

Maps to GET /v1/employers/memberships/:id

Synopsis

bash
cavuno employers membership <id>

Arguments

NameRequiredDescription
idyesMembership ID

Examples

bash
cavuno employers membership pd7abc...

cavuno employers claims

List company claims (defaults to pending).

Maps to GET /v1/employers/claims

Synopsis

bash
cavuno employers claims [options]

Options

FlagRequiredDescription
--status <status>noFilter by status (pending|approved|rejected)
--company-id <id>noFilter to a single company
--limit <n>noPage size 1-100 (default 50)
--cursor <cursor>noPagination cursor

Examples

bash
cavuno employers claims
bash
cavuno employers claims --status approved

cavuno employers approve-claim

Approve a pending company claim (idempotent).

Maps to POST /v1/employers/claims/:id/approve

Synopsis

bash
cavuno employers approve-claim <id> [options]

Arguments

NameRequiredDescription
idyesClaim ID

Options

FlagRequiredDescription
--idempotency-key <key>noReuse this key when retrying the same logical mutation

Examples

bash
cavuno employers approve-claim pd7abc...

cavuno employers reject-claim

Reject a pending company claim (idempotent).

Maps to POST /v1/employers/claims/:id/reject

Synopsis

bash
cavuno employers reject-claim <id> [options]

Arguments

NameRequiredDescription
idyesClaim ID

Options

FlagRequiredDescription
--idempotency-key <key>noReuse this key when retrying the same logical mutation

Examples

bash
cavuno employers reject-claim pd7abc...

employer-subscriptions

Read employer subscriptions on the tenant board (billing.read).

cavuno employer-subscriptions list

List employer subscriptions.

Maps to GET /v1/employer-subscriptions

Synopsis

bash
cavuno employer-subscriptions list [options]

Options

FlagRequiredDescription
--limit <n>noPage size 1-100 (default 50)
--cursor <cursor>noPagination cursor
--status <status>noFilter by status (active, canceled, …)
--company-id <id>noFilter by company id

Examples

bash
cavuno employer-subscriptions list
bash
cavuno employer-subscriptions list --status active

cavuno employer-subscriptions get

Get one employer subscription by id.

Maps to GET /v1/employer-subscriptions/:id

Synopsis

bash
cavuno employer-subscriptions get <id>

Arguments

NameRequiredDescription
idyesEmployer subscription id

Examples

bash
cavuno employer-subscriptions get es_…

coupons

Manage Board coupons and promotion codes (billing.read / billing.manage).

cavuno coupons list

List Board coupons.

Maps to GET /v1/coupons

Synopsis

bash
cavuno coupons list

Examples

bash
cavuno coupons list

cavuno coupons get

Get a coupon by id.

Maps to GET /v1/coupons/:id

Synopsis

bash
cavuno coupons get <id>

Arguments

NameRequiredDescription
idyesCoupon id

Examples

bash
cavuno coupons get coupon_xxx

cavuno coupons create

Create a Board coupon.

Maps to POST /v1/coupons

Synopsis

bash
cavuno coupons create [options]

Options

FlagRequiredDescription
--name <name>yesCoupon name
--percent-off <n>noPercent off (0-100)
--amount-off <n>noFixed discount in the currency major unit (e.g. 10 for $10, 1000 for ¥1000)
--currency <code>noCurrency for fixed amount (e.g. usd)
--duration <duration>yesonce | forever | repeating
--duration-in-months <n>noRequired when duration=repeating
--max-redemptions <n>noMax redemptions

Examples

bash
cavuno coupons create --name "Spring sale" --percent-off 20 --duration once

cavuno coupons rename

Rename a coupon.

Maps to PATCH /v1/coupons/:id

Synopsis

bash
cavuno coupons rename <id> [options]

Arguments

NameRequiredDescription
idyesCoupon id

Options

FlagRequiredDescription
--name <name>yesNew name

Examples

bash
cavuno coupons rename coupon_xxx --name "Fall sale"

cavuno coupons delete

Delete a coupon (destructive).

Maps to DELETE /v1/coupons/:id

Synopsis

bash
cavuno coupons delete <id> [options]

Arguments

NameRequiredDescription
idyesCoupon id

Options

FlagRequiredDescription
-y, --yesnoSkip the confirmation prompt

Examples

bash
cavuno coupons delete coupon_xxx --yes

cavuno coupons promotion-code-create

Create a promotion code for a coupon.

Maps to POST /v1/coupons/:id/promotion-codes

Synopsis

bash
cavuno coupons promotion-code-create <couponId> [options]

Arguments

NameRequiredDescription
couponIdyesCoupon id

Options

FlagRequiredDescription
--code <code>yesPromotion code string
--max-redemptions <n>noMax redemptions
--expires-at <iso>noISO-8601 expiry

Examples

bash
cavuno coupons promotion-code-create coupon_xxx --code SPRING20

cavuno coupons promotion-code-archive

Archive (deactivate) a promotion code.

Maps to POST /v1/coupons/promotion-codes/:id/archive

Synopsis

bash
cavuno coupons promotion-code-archive <id>

Arguments

NameRequiredDescription
idyesPromotion code id

Examples

bash
cavuno coupons promotion-code-archive promotion_xxx

reporting

Manage reporting integrations.

cavuno reporting integrations

List the reporting integrations for the account.

Maps to GET /v1/integrations/reporting

Synopsis

bash
cavuno reporting integrations

Examples

bash
cavuno reporting integrations

cavuno reporting get

Fetch one reporting integration by provider.

Maps to GET /v1/integrations/reporting/:provider

Synopsis

bash
cavuno reporting get <provider>

Arguments

NameRequiredDescription
provideryessearch_console | adsense | tinybird | stripe

Examples

bash
cavuno reporting get search_console

cavuno reporting connect

Start the connect flow for a provider (returns an OAuth URL / redirect).

Maps to POST /v1/integrations/reporting/:provider/connect

Synopsis

bash
cavuno reporting connect <provider> [options]

Arguments

NameRequiredDescription
provideryessearch_console | adsense | tinybird | stripe

Options

FlagRequiredDescription
--idempotency-key <key>noReuse this key when retrying the same logical mutation

Examples

bash
cavuno reporting connect search_console

cavuno reporting enable

Enable collection for an existing integration.

Maps to PATCH /v1/integrations/reporting/:provider

Synopsis

bash
cavuno reporting enable <provider> [options]

Arguments

NameRequiredDescription
provideryesThe provider to enable

Options

FlagRequiredDescription
--idempotency-key <key>noReuse this key when retrying the same logical mutation

Examples

bash
cavuno reporting enable adsense

cavuno reporting disable

Pause collection for an existing integration.

Maps to PATCH /v1/integrations/reporting/:provider

Synopsis

bash
cavuno reporting disable <provider> [options]

Arguments

NameRequiredDescription
provideryesThe provider to disable

Options

FlagRequiredDescription
--idempotency-key <key>noReuse this key when retrying the same logical mutation

Examples

bash
cavuno reporting disable adsense

cavuno reporting disconnect

Disconnect an integration (delete the row).

Maps to DELETE /v1/integrations/reporting/:provider

Synopsis

bash
cavuno reporting disconnect <provider> [options]

Arguments

NameRequiredDescription
provideryesThe provider to disconnect

Options

FlagRequiredDescription
--idempotency-key <key>noReuse this key when retrying the same logical mutation
-y, --yesnoSkip the confirmation prompt

Examples

bash
cavuno reporting disconnect adsense --yes

billing

Read account billing status and manage the platform subscription.

cavuno billing subscription

Show the account's platform subscription.

Maps to GET /v1/billing/subscription

Synopsis

bash
cavuno billing subscription

Examples

bash
cavuno billing subscription

cavuno billing connect

Show the Board's payment connection readiness.

Maps to GET /v1/billing/connect

Synopsis

bash
cavuno billing connect

Examples

bash
cavuno billing connect

cavuno billing checkout

Create a hosted checkout URL for a target plan.

Maps to POST /v1/billing/checkout

Synopsis

bash
cavuno billing checkout [options]

Options

FlagRequiredDescription
--plan <key>yesPlan key (starter|basic|grow|advanced|enterprise)
--interval <interval>noBilling interval (monthly|annual; default monthly)

Examples

bash
cavuno billing checkout --plan starter
bash
cavuno billing checkout --plan basic --interval annual

cavuno billing upgrade

Create a hosted human-confirmation URL for a plan change.

Maps to POST /v1/billing/upgrade

Synopsis

bash
cavuno billing upgrade [options]

Options

FlagRequiredDescription
--plan <key>yesTarget plan key (starter|basic|grow|advanced|enterprise)
--interval <interval>noBilling interval (monthly|annual; default monthly)
--idempotency-key <key>noReuse this key when retrying the same logical mutation

Examples

bash
cavuno billing upgrade --plan basic
bash
cavuno billing upgrade --plan grow --interval annual

plans

Manage employer plans the account sells (pricing, features). Distinct from `billing` (your platform subscription).

cavuno plans list

List employer plans for the authenticated account.

Maps to GET /v1/plans

Synopsis

bash
cavuno plans list

Examples

bash
cavuno plans list

cavuno plans get

Get one employer plan by id.

Maps to GET /v1/plans/:id

Synopsis

bash
cavuno plans get <id>

Arguments

NameRequiredDescription
idyesPlan id

Examples

bash
cavuno plans get plans_xxx

cavuno plans create

Create an employer plan (metadata only; set price separately).

Maps to POST /v1/plans

Synopsis

bash
cavuno plans create [options]

Options

FlagRequiredDescription
--name <name>yesPlan display name
--kind <kind>yesPlan kind: free | one_time | bundle | subscription
--description <text>noPlan description
--billing-interval <interval>nomonth | year (subscription)
--purpose <purpose>nojob_posting | talent_access
--publicnoList the plan publicly
--recommendednoMark as recommended
--display-order <n>noDisplay order integer

Examples

bash
cavuno plans create --name "Pro" --kind subscription --billing-interval month --public

cavuno plans update

Update plan metadata (archive with --archived).

Maps to PATCH /v1/plans/:id

Synopsis

bash
cavuno plans update <id> [options]

Arguments

NameRequiredDescription
idyesPlan id

Options

FlagRequiredDescription
--name <name>noNew display name
--description <text>noNew description
--publicnoPublish the plan
--privatenoUnpublish the plan
--recommendednoMark recommended
--not-recommendednoClear recommended
--archivednoArchive the plan
--unarchivednoUnarchive the plan
--display-order <n>noDisplay order integer

Examples

bash
cavuno plans update plans_xxx --name "Pro+"
bash
cavuno plans update plans_xxx --archived

cavuno plans set-price

Set the single checkout price (requires a ready payment connection).

Maps to PUT /v1/plans/:id/price

Synopsis

bash
cavuno plans set-price <id> [options]

Arguments

NameRequiredDescription
idyesPlan id

Options

FlagRequiredDescription
--currency <code>yesISO 4217 currency, e.g. usd
--amount-cents <n>yesAmount in smallest currency unit

Examples

bash
cavuno plans set-price plans_xxx --currency usd --amount-cents 9900

cavuno plans get-features

List feature key/value pairs for a plan.

Maps to GET /v1/plans/:id/features

Synopsis

bash
cavuno plans get-features <id>

Arguments

NameRequiredDescription
idyesPlan id

Examples

bash
cavuno plans get-features plans_xxx

cavuno plans set-features

Replace plan feature values. Pass JSON: '[{"key":"jobs.max_active","value":"10"}]'.

Maps to PUT /v1/plans/:id/features

Synopsis

bash
cavuno plans set-features <id> <featuresJson>

Arguments

NameRequiredDescription
idyesPlan id
featuresJsonyesJSON array of {key, value}

Examples

bash
cavuno plans set-features plans_xxx '[{"key":"jobs.max_active","value":"10"}]'

transactions

Read the board transactions ledger (billing.read). List + get only.

cavuno transactions list

List transactions (date-desc, or relevance when --search).

Maps to GET /v1/transactions

Synopsis

bash
cavuno transactions list [options]

Options

FlagRequiredDescription
--limit <n>noPage size 1-100 (default 50)
--cursor <cursor>noPagination cursor
--status <status>noFilter: paid | open | void | uncollectible
--kind <kind>noFilter: card_post | invoice | subscription
--search <q>noFull-text search (mutually exclusive with --order-id / --subscription-id)
--order-id <id>noFilter by jobOrders id (mutually exclusive with --search / --subscription-id)
--subscription-id <id>noFilter by employerSubscriptions id (mutually exclusive with --search / --order-id)

Examples

bash
cavuno transactions list
bash
cavuno transactions list --status paid --kind invoice
bash
cavuno transactions list --search "Acme"

cavuno transactions get

Get one transaction by id.

Maps to GET /v1/transactions/:id

Synopsis

bash
cavuno transactions get <id>

Arguments

NameRequiredDescription
idyesTransaction id

Examples

bash
cavuno transactions get tx_…

indexing

Google Indexing configuration and the IndexNow toggle.

cavuno indexing config

Show the indexing + IndexNow configuration.

Maps to GET /v1/integrations/indexing

Synopsis

bash
cavuno indexing config

Examples

bash
cavuno indexing config

cavuno indexing enable-indexnow

Enable IndexNow (Bing/Yandex instant indexing).

Maps to POST /v1/integrations/indexing/toggle-indexnow

Synopsis

bash
cavuno indexing enable-indexnow [options]

Options

FlagRequiredDescription
--idempotency-key <key>noReuse this key when retrying the same logical mutation

Examples

bash
cavuno indexing enable-indexnow

cavuno indexing disable-indexnow

Disable IndexNow.

Maps to POST /v1/integrations/indexing/toggle-indexnow

Synopsis

bash
cavuno indexing disable-indexnow [options]

Options

FlagRequiredDescription
--idempotency-key <key>noReuse this key when retrying the same logical mutation

Examples

bash
cavuno indexing disable-indexnow

imports

Bulk-load jobs from CSV files (upload → confirm → execute).

cavuno imports list

List import batches (paginated, most recent first).

Maps to GET /v1/imports

Synopsis

bash
cavuno imports list [options]

Options

FlagRequiredDescription
--status <status>noFilter by status (pending|processing|completed|partial|failed)
--from <iso>noOnly batches created at or after this ISO date
--to <iso>noOnly batches created at or before this ISO date
--limit <n>noPage size 1-50 (default 50)
--cursor <cursor>noPagination cursor

Examples

bash
cavuno imports list
bash
cavuno imports list --status completed --limit 10

cavuno imports get

Fetch one import batch (status, errors, proposed mapping).

Maps to GET /v1/imports/:id

Synopsis

bash
cavuno imports get <id>

Arguments

NameRequiredDescription
idyesImport batch ID

Examples

bash
cavuno imports get imports_k25abc

cavuno imports create

Upload a CSV and start discovery. Returns an imports.parse operation to poll.

Maps to POST /v1/imports

Synopsis

bash
cavuno imports create <file> [options]

Arguments

NameRequiredDescription
fileyesPath to the local .csv file to upload

Options

FlagRequiredDescription
--idempotency-key <key>noReuse this key when retrying the same logical mutation
--waitnoPoll the returned operation until it reaches a terminal state
--interval-ms <n>noPoll interval in milliseconds (default 2000)
--timeout-ms <n>noGive up after this many milliseconds (default 3600000)

Examples

bash
cavuno imports create ./jobs.csv
bash
cavuno imports create ./jobs.csv --wait

cavuno imports confirm

Confirm the mapping and start execution. Returns an imports.confirm operation to poll.

Maps to POST /v1/imports/:id/confirm

Synopsis

bash
cavuno imports confirm <id> [options]

Arguments

NameRequiredDescription
idyesImport batch ID

Options

FlagRequiredDescription
--inline-mapping <json>noA first-time or revised mapping as a JSON string. Omit to use the batch-attached mapping.
--idempotency-key <key>noReuse this key when retrying the same logical mutation
--waitnoPoll the returned operation until it reaches a terminal state
--interval-ms <n>noPoll interval in milliseconds (default 2000)
--timeout-ms <n>noGive up after this many milliseconds (default 3600000)

Examples

bash
cavuno imports confirm imports_k25abc
bash
cavuno imports confirm imports_k25abc --wait

cavuno imports cancel

Cancel a pending or running import batch (cooperative — rows already written remain).

Maps to POST /v1/imports/:id/cancel

Synopsis

bash
cavuno imports cancel <id> [options]

Arguments

NameRequiredDescription
idyesImport batch ID

Options

FlagRequiredDescription
--idempotency-key <key>noReuse this key when retrying the same logical mutation

Examples

bash
cavuno imports cancel imports_k25abc

cavuno imports quota

Show the account's daily import usage and reset boundary.

Maps to GET /v1/imports/quota

Synopsis

bash
cavuno imports quota

Examples

bash
cavuno imports quota

backfill

Manage Backfill rules, company sources, and aggregate progress (dashboard-shaped Operator surface).

cavuno backfill progress

Show aggregate Backfill progress for the Board (onboarding-shaped).

Maps to GET /v1/backfill/progress

Synopsis

bash
cavuno backfill progress

Examples

bash
cavuno backfill progress

cavuno backfill rules list

List named Backfill rules for the Board.

Maps to GET /v1/backfill/rules

Synopsis

bash
cavuno backfill rules list

Examples

bash
cavuno backfill rules list

cavuno backfill rules get

Retrieve a Backfill rule by Cavuno ID.

Maps to GET /v1/backfill/rules/{id}

Synopsis

bash
cavuno backfill rules get <id>

Arguments

NameRequiredDescription
idyesBackfill rule ID

Examples

bash
cavuno backfill rules get <id>

cavuno backfill rules create

Create a named Backfill rule. Pass --rules as a JSON array of rule cards.

Maps to POST /v1/backfill/rules

Synopsis

bash
cavuno backfill rules create [options]

Options

FlagRequiredDescription
--name <name>yesRule display name
--rules <json>yesJSON array of { match, conditions[] } rule cards
--filters <json>noJSON object of filters (countries, subdivisions, seniorities, employmentTypes, workplaceTypes)
--idempotency-key <key>noReuse this key when retrying the same logical mutation

Examples

bash
cavuno backfill rules create --name Engineering --rules '[{"match":"any","conditions":[{"field":"title","operator":"contains_any","terms":["engineer"]}]}]'

cavuno backfill rules update

Partially update a Backfill rule (name, rules, and/or filters).

Maps to PATCH /v1/backfill/rules/{id}

Synopsis

bash
cavuno backfill rules update <id> [options]

Arguments

NameRequiredDescription
idyesBackfill rule ID

Options

FlagRequiredDescription
--name <name>noNew display name
--rules <json>noJSON array of rule cards replacing the current rules
--filters <json>noJSON object of filters replacing the current filters
--idempotency-key <key>noReuse this key when retrying the same logical mutation

Examples

bash
cavuno backfill rules update <id> --name "Platform eng"

cavuno backfill rules remove

Delete a named Backfill rule.

Maps to DELETE /v1/backfill/rules/{id}

Synopsis

bash
cavuno backfill rules remove <id> [options]

Arguments

NameRequiredDescription
idyesBackfill rule ID

Options

FlagRequiredDescription
--idempotency-key <key>noReuse this key when retrying the same logical mutation
-y, --yesnoSkip the confirmation prompt

Examples

bash
cavuno backfill rules remove <id> --yes

cavuno backfill companies list

List companies for one Backfill tab state (backfilling | available | needs_match | not_backfilling).

Maps to GET /v1/backfill/companies

Synopsis

bash
cavuno backfill companies list [options]

Options

FlagRequiredDescription
--state <state>yesTab state: backfilling | available | needs_match | not_backfilling
--search <text>noCase-insensitive name filter
--limit <n>noPage size (1-100)
--cursor <cursor>noOpaque pagination cursor

Examples

bash
cavuno backfill companies list --state available
bash
cavuno backfill companies list --state needs_match --search Acme

cavuno backfill companies start

Start Backfill for a Cavuno company.

Maps to POST /v1/backfill/companies/{companyId}/start

Synopsis

bash
cavuno backfill companies start <companyId> [options]

Arguments

NameRequiredDescription
companyIdyesCavuno company ID

Options

FlagRequiredDescription
--idempotency-key <key>noReuse this key when retrying the same logical mutation

Examples

bash
cavuno backfill companies start <companyId>

cavuno backfill companies stop

Stop Backfill for a Cavuno company.

Maps to POST /v1/backfill/companies/{companyId}/stop

Synopsis

bash
cavuno backfill companies stop <companyId> [options]

Arguments

NameRequiredDescription
companyIdyesCavuno company ID

Options

FlagRequiredDescription
--idempotency-key <key>noReuse this key when retrying the same logical mutation

Examples

bash
cavuno backfill companies stop <companyId>

cavuno backfill companies bulk-start

Start Backfill for up to 100 Cavuno company IDs (ordered partial success).

Maps to POST /v1/backfill/companies/bulk-start

Synopsis

bash
cavuno backfill companies bulk-start [options]

Options

FlagRequiredDescription
--company-ids <ids>yesComma-separated Cavuno company IDs
--idempotency-key <key>noReuse this key when retrying the same logical mutation

Examples

bash
cavuno backfill companies bulk-start --company-ids co1,co2

cavuno backfill companies bulk-stop

Stop Backfill for up to 100 Cavuno company IDs (ordered partial success).

Maps to POST /v1/backfill/companies/bulk-stop

Synopsis

bash
cavuno backfill companies bulk-stop [options]

Options

FlagRequiredDescription
--company-ids <ids>yesComma-separated Cavuno company IDs
--idempotency-key <key>noReuse this key when retrying the same logical mutation

Examples

bash
cavuno backfill companies bulk-stop --company-ids co1,co2

cavuno backfill companies match

Confirm a needs_match candidate by list index. Optionally start backfill.

Maps to POST /v1/backfill/companies/{companyId}/match

Synopsis

bash
cavuno backfill companies match <companyId> [options]

Arguments

NameRequiredDescription
companyIdyesCavuno company ID

Options

FlagRequiredDescription
--candidate-index <n>yesZero-based candidate index from list
--startnoStart backfill after linking the match (default false) (default: false)
--idempotency-key <key>noReuse this key when retrying the same logical mutation

Examples

bash
cavuno backfill companies match <companyId> --candidate-index 0 --start

cavuno backfill companies mark-no-match

Mark a needs_match company as no match.

Maps to POST /v1/backfill/companies/{companyId}/mark-no-match

Synopsis

bash
cavuno backfill companies mark-no-match <companyId> [options]

Arguments

NameRequiredDescription
companyIdyesCavuno company ID

Options

FlagRequiredDescription
--idempotency-key <key>noReuse this key when retrying the same logical mutation

Examples

bash
cavuno backfill companies mark-no-match <companyId>

analytics

Typed Board homepage analytics (overview metrics and traffic tables).

cavuno analytics overview

Show homepage-shaped analytics overview metrics for the Board.

Maps to GET /v1/analytics/overview

Synopsis

bash
cavuno analytics overview [options]

Options

FlagRequiredDescription
--start <date>noInclusive range start (YYYY-MM-DD, UTC)
--end <date>noInclusive range end (YYYY-MM-DD, UTC)

Examples

bash
cavuno analytics overview
bash
cavuno analytics overview --start 2026-01-01 --end 2026-01-30

cavuno analytics traffic

Show homepage-shaped traffic tables (pages, sources, locations, devices).

Maps to GET /v1/analytics/traffic

Synopsis

bash
cavuno analytics traffic [options]

Options

FlagRequiredDescription
--start <date>noInclusive range start (YYYY-MM-DD, UTC)
--end <date>noInclusive range end (YYYY-MM-DD, UTC)
--limit <n>noMax rows per table (1–10)

Examples

bash
cavuno analytics traffic
bash
cavuno analytics traffic --start 2026-01-01 --end 2026-01-30 --limit 5

paywall

Manage the candidate-access paywall (atomic configuration + six offers) and list subscriptions.

cavuno paywall get

Show the atomic candidate paywall configuration and six fixed offers.

Maps to GET /v1/paywall

Synopsis

bash
cavuno paywall get

Examples

bash
cavuno paywall get

cavuno paywall replace

Atomically replace the candidate paywall configuration and all six offers. Requires --idempotency-key (or CAVUNO_IDEMPOTENCY_KEY).

Maps to PUT /v1/paywall

Synopsis

bash
cavuno paywall replace [options]

Options

FlagRequiredDescription
--body <json>yesFull candidate_paywall JSON body (complete resource replace)
--idempotency-key <key>noReuse this key when retrying the same logical mutation

Examples

bash
cavuno paywall replace --body '{"enabled":false,"previewCount":5,...}' --idempotency-key $(uuidgen)

cavuno paywall subscriptions

List candidate paywall subscriptions (read-only grants).

Maps to GET /v1/paywall/subscriptions

Synopsis

bash
cavuno paywall subscriptions [options]

Options

FlagRequiredDescription
--status <status>noFilter by subscription status
--kind <kind>noFilter by kind: recurring | lifetime
--limit <n>noPage size 1–100
--cursor <cursor>noPagination cursor from a previous response

Examples

bash
cavuno paywall subscriptions
bash
cavuno paywall subscriptions --status active --kind recurring

sales-led-plans

Manage contact-led employer pricing cards (CRUD, reorder, publish, hide, archive).

cavuno sales-led-plans list

List active sales-led plans for the Board.

Maps to GET /v1/sales-led-plans

Synopsis

bash
cavuno sales-led-plans list

Examples

bash
cavuno sales-led-plans list

cavuno sales-led-plans get

Retrieve one sales-led plan by ID.

Maps to GET /v1/sales-led-plans/{id}

Synopsis

bash
cavuno sales-led-plans get <id>

Arguments

NameRequiredDescription
idyesSales-led plan ID

Examples

bash
cavuno sales-led-plans get <id>

cavuno sales-led-plans create

Create a sales-led plan. Requires --idempotency-key (or CAVUNO_IDEMPOTENCY_KEY).

Maps to POST /v1/sales-led-plans

Synopsis

bash
cavuno sales-led-plans create [options]

Options

FlagRequiredDescription
--body <json>yesCreateSalesLedPlanBody JSON
--idempotency-key <key>noReuse this key when retrying the same logical mutation

Examples

bash
cavuno sales-led-plans create --body '{"name":"Full search",...}' --idempotency-key $(uuidgen)

cavuno sales-led-plans update

Update a sales-led plan (full field replace). Requires --idempotency-key.

Maps to PATCH /v1/sales-led-plans/{id}

Synopsis

bash
cavuno sales-led-plans update <id> [options]

Arguments

NameRequiredDescription
idyesSales-led plan ID

Options

FlagRequiredDescription
--body <json>yesUpdateSalesLedPlanBody JSON
--idempotency-key <key>noReuse this key when retrying the same logical mutation

Examples

bash
cavuno sales-led-plans update <id> --body '{"name":"…",...}' --idempotency-key $(uuidgen)

cavuno sales-led-plans reorder

Atomically reorder the complete active set. Requires --idempotency-key.

Maps to POST /v1/sales-led-plans/reorder

Synopsis

bash
cavuno sales-led-plans reorder [options]

Options

FlagRequiredDescription
--body <json>yesReorderSalesLedPlansBody JSON ({"orders":[{"id":"…","displayOrder":0},…]})
--idempotency-key <key>noReuse this key when retrying the same logical mutation

Examples

bash
cavuno sales-led-plans reorder --body '{"orders":[...]}' --idempotency-key $(uuidgen)

cavuno sales-led-plans publish

Publish a sales-led plan. Requires --idempotency-key.

Maps to POST /v1/sales-led-plans/{id}/publish

Synopsis

bash
cavuno sales-led-plans publish <id> [options]

Arguments

NameRequiredDescription
idyesSales-led plan ID

Options

FlagRequiredDescription
--idempotency-key <key>noReuse this key when retrying the same logical mutation

Examples

bash
cavuno sales-led-plans publish <id> --idempotency-key $(uuidgen)

cavuno sales-led-plans hide

Hide a sales-led plan. Requires --idempotency-key.

Maps to POST /v1/sales-led-plans/{id}/hide

Synopsis

bash
cavuno sales-led-plans hide <id> [options]

Arguments

NameRequiredDescription
idyesSales-led plan ID

Options

FlagRequiredDescription
--idempotency-key <key>noReuse this key when retrying the same logical mutation

Examples

bash
cavuno sales-led-plans hide <id> --idempotency-key $(uuidgen)

cavuno sales-led-plans archive

Irreversibly archive a sales-led plan. Requires --idempotency-key.

Maps to POST /v1/sales-led-plans/{id}/archive

Synopsis

bash
cavuno sales-led-plans archive <id> [options]

Arguments

NameRequiredDescription
idyesSales-led plan ID

Options

FlagRequiredDescription
--idempotency-key <key>noReuse this key when retrying the same logical mutation

Examples

bash
cavuno sales-led-plans archive <id> --idempotency-key $(uuidgen)

members

Manage the members of the authenticated account.

cavuno members list

List account members.

Maps to GET /v1/members

Synopsis

bash
cavuno members list [options]

Options

FlagRequiredDescription
--role <role>noFilter by role (owner|admin|member)
--suspended <bool>noFilter by suspension state (true|false)

Examples

bash
cavuno members list
bash
cavuno members list --role admin --suspended false

cavuno members get

Fetch a single member by user ID.

Maps to GET /v1/members/:userId

Synopsis

bash
cavuno members get <userId>

Arguments

NameRequiredDescription
userIdyesThe user ID of the member

Examples

bash
cavuno members get users_k800abc

cavuno members update

Change a member's role. Only an owner may set `owner`; the primary owner's role is immutable (use transfer-ownership).

Maps to PATCH /v1/members/:userId

Synopsis

bash
cavuno members update <userId> [options]

Arguments

NameRequiredDescription
userIdyesThe user ID of the member

Options

FlagRequiredDescription
--role <role>yesThe new role (owner|admin|member)
--idempotency-key <key>noReuse this key when retrying the same logical mutation

Examples

bash
cavuno members update users_k800abc --role admin

cavuno members remove

Remove a member from the account. The account owner cannot be removed — transfer ownership first.

Maps to DELETE /v1/members/:userId

Synopsis

bash
cavuno members remove <userId> [options]

Arguments

NameRequiredDescription
userIdyesThe user ID of the member

Options

FlagRequiredDescription
--idempotency-key <key>noReuse this key when retrying the same logical mutation
-y, --yesnoSkip the confirmation prompt

Examples

bash
cavuno members remove users_k800abc --yes

cavuno members suspend

Suspend a member: they keep their role but lose all permission evaluations. The primary owner cannot be suspended.

Maps to POST /v1/members/:userId/suspend

Synopsis

bash
cavuno members suspend <userId> [options]

Arguments

NameRequiredDescription
userIdyesThe user ID of the member

Options

FlagRequiredDescription
--idempotency-key <key>noReuse this key when retrying the same logical mutation

Examples

bash
cavuno members suspend users_k800abc

cavuno members unsuspend

Reinstate a suspended member.

Maps to POST /v1/members/:userId/unsuspend

Synopsis

bash
cavuno members unsuspend <userId> [options]

Arguments

NameRequiredDescription
userIdyesThe user ID of the member

Options

FlagRequiredDescription
--idempotency-key <key>noReuse this key when retrying the same logical mutation

Examples

bash
cavuno members unsuspend users_k800abc

cavuno members transfer-ownership

Transfer the primary-owner role to another member. Only the current primary owner may do this — you will be demoted to admin and the transfer cannot be undone without the new owner transferring it back.

Maps to POST /v1/members/transfer-ownership

Synopsis

bash
cavuno members transfer-ownership <newOwnerUserId> [options]

Arguments

NameRequiredDescription
newOwnerUserIdyesThe user ID of the member who will become the primary owner

Options

FlagRequiredDescription
--idempotency-key <key>noReuse this key when retrying the same logical mutation
-y, --yesnoSkip the confirmation prompt

Examples

bash
cavuno members transfer-ownership users_k900abc --yes

invitations

Manage pending invitations for the authenticated account.

cavuno invitations list

List invitations (paginated). Accept tokens are redacted.

Maps to GET /v1/invitations

Synopsis

bash
cavuno invitations list [options]

Options

FlagRequiredDescription
--status <status>noFilter by status (pending|expired|accepted|declined)
--limit <n>noPage size 1-100 (default 50)
--cursor <cursor>noPagination cursor

Examples

bash
cavuno invitations list
bash
cavuno invitations list --status pending

cavuno invitations create

Invite a new member by email. The response includes the accept token and URL (returned only here and on renew).

Maps to POST /v1/invitations

Synopsis

bash
cavuno invitations create [options]

Options

FlagRequiredDescription
--email <email>yesThe email address to invite
--role <role>yesThe role on accept (admin|member)
--idempotency-key <key>noReuse this key when retrying the same logical mutation

Examples

bash
cavuno invitations create --email new@acme.com --role member

cavuno invitations update

Change a pending invitation's role.

Maps to PATCH /v1/invitations/:id

Synopsis

bash
cavuno invitations update <id> [options]

Arguments

NameRequiredDescription
idyesThe invitation ID

Options

FlagRequiredDescription
--role <role>yesThe new role (admin|member)
--idempotency-key <key>noReuse this key when retrying the same logical mutation

Examples

bash
cavuno invitations update invitations_k900abc --role admin

cavuno invitations renew

Rotate the accept token and extend the expiry by 7 days. This INVALIDATES the previous accept link and resends the email; the response includes the new token and URL.

Maps to POST /v1/invitations/:id/renew

Synopsis

bash
cavuno invitations renew <id> [options]

Arguments

NameRequiredDescription
idyesThe invitation ID

Options

FlagRequiredDescription
--idempotency-key <key>noReuse this key when retrying the same logical mutation

Examples

bash
cavuno invitations renew invitations_k900abc

cavuno invitations revoke

Cancel a pending invitation.

Maps to DELETE /v1/invitations/:id

Synopsis

bash
cavuno invitations revoke <id> [options]

Arguments

NameRequiredDescription
idyesThe invitation ID

Options

FlagRequiredDescription
--idempotency-key <key>noReuse this key when retrying the same logical mutation
-y, --yesnoSkip the confirmation prompt

Examples

bash
cavuno invitations revoke invitations_k900abc --yes

subscribers

Manage alert subscribers for the authenticated account.

cavuno subscribers list

List subscribers (paginated).

Maps to GET /v1/subscribers

Synopsis

bash
cavuno subscribers list [options]

Options

FlagRequiredDescription
--search <query>noCase-insensitive substring match on email
--status <status>noFilter by lifecycle status: confirmed | unconfirmed | unsubscribed | waitlisted
--limit <n>noPage size 1-100 (default 50)
--cursor <cursor>noPagination cursor

Examples

bash
cavuno subscribers list
bash
cavuno subscribers list --status confirmed --search alice --limit 20

cavuno subscribers get

Fetch a single subscriber by ID (with alerts inline).

Maps to GET /v1/subscribers/:id

Synopsis

bash
cavuno subscribers get <id>

Arguments

NameRequiredDescription
idyesSubscriber ID

Examples

bash
cavuno subscribers get sub_123

cavuno subscribers count

Count confirmed subscribers for the account.

Maps to GET /v1/subscribers/count

Synopsis

bash
cavuno subscribers count

Examples

bash
cavuno subscribers count

cavuno subscribers alerts

List a subscriber's alerts.

Maps to GET /v1/subscribers/:id/alerts

Synopsis

bash
cavuno subscribers alerts <id>

Arguments

NameRequiredDescription
idyesSubscriber ID

Examples

bash
cavuno subscribers alerts sub_123

cavuno subscribers unsubscribe

Admin-unsubscribe a subscriber (sets unsubscribedAt, deactivates alerts). Reversible with resubscribe.

Maps to POST /v1/subscribers/:id/unsubscribe

Synopsis

bash
cavuno subscribers unsubscribe <id> [options]

Arguments

NameRequiredDescription
idyesSubscriber ID

Options

FlagRequiredDescription
--idempotency-key <key>noReuse this key when retrying the same logical mutation

Examples

bash
cavuno subscribers unsubscribe sub_123

cavuno subscribers resubscribe

Admin-resubscribe a previously unsubscribed subscriber (clears unsubscribedAt, reactivates alerts).

Maps to POST /v1/subscribers/:id/resubscribe

Synopsis

bash
cavuno subscribers resubscribe <id> [options]

Arguments

NameRequiredDescription
idyesSubscriber ID

Options

FlagRequiredDescription
--idempotency-key <key>noReuse this key when retrying the same logical mutation

Examples

bash
cavuno subscribers resubscribe sub_123

cavuno subscribers export

Export subscribers. csv (default) starts an async operation whose result carries a downloadUrl; json returns an inline list capped at 10,000 rows.

Maps to GET /v1/subscribers/export

Synopsis

bash
cavuno subscribers export [options]

Options

FlagRequiredDescription
--export-format <format>noExport format: csv (async, default) or json (inline, max 10,000 rows) (default: csv)
--waitnoPoll the returned operation until it reaches a terminal state
--interval-ms <n>noPoll interval in milliseconds (default 2000)
--timeout-ms <n>noGive up after this many milliseconds (default 3600000)

Examples

bash
cavuno subscribers export --export-format csv --wait
bash
cavuno subscribers export --export-format json

cavuno subscribers import

Bulk-import subscribers from a CSV file (async). Imported subscribers stay unconfirmed until they complete opt-in.

Maps to POST /v1/subscribers/import

Synopsis

bash
cavuno subscribers import <file> [options]

Arguments

NameRequiredDescription
fileyesPath to the CSV file (header row with an email column)

Options

FlagRequiredDescription
--no-send-confirmationnoSkip the double-opt-in confirmation email
--idempotency-key <key>noReuse this key when retrying the same logical mutation
--waitnoPoll the returned operation until it reaches a terminal state
--interval-ms <n>noPoll interval in milliseconds (default 2000)
--timeout-ms <n>noGive up after this many milliseconds (default 3600000)

Examples

bash
cavuno subscribers import ./subscribers.csv --wait
bash
cavuno subscribers import ./subscribers.csv --no-send-confirmation

redirects

Manage board redirect rules for the authenticated account.

cavuno redirects list

List redirect rules.

Maps to GET /v1/redirects

Synopsis

bash
cavuno redirects list [options]

Options

FlagRequiredDescription
--search <prefix>noPrefix match on fromPath
--limit <n>noPage size 1-100 (default 50)
--cursor <cursor>noPagination cursor

Examples

bash
cavuno redirects list
bash
cavuno redirects list --search /old

cavuno redirects create

Create a redirect rule.

Maps to POST /v1/redirects

Synopsis

bash
cavuno redirects create <fromPath> <toPath> [options]

Arguments

NameRequiredDescription
fromPathyesSource path, for example /old-careers
toPathyesDestination path, for example /jobs

Options

FlagRequiredDescription
--status-code <code>noHTTP status code: 301 or 302 (default 301)

Examples

bash
cavuno redirects create /old-careers /jobs
bash
cavuno redirects create /old /new --status-code 302

cavuno redirects update

Update a redirect rule.

Maps to PATCH /v1/redirects/:id

Synopsis

bash
cavuno redirects update <id> [options]

Arguments

NameRequiredDescription
idyesRedirect ID

Options

FlagRequiredDescription
--from-path <path>noNew source path
--to-path <path>noNew destination path
--status-code <code>noHTTP status code: 301 or 302

Examples

bash
cavuno redirects update k200abc --to-path /jobs
bash
cavuno redirects update k200abc --from-path /old --status-code 302

cavuno redirects remove

Delete a redirect rule.

Maps to DELETE /v1/redirects/:id

Synopsis

bash
cavuno redirects remove <id> [options]

Arguments

NameRequiredDescription
idyesRedirect ID

Options

FlagRequiredDescription
-y, --yesnoSkip the confirmation prompt

Examples

bash
cavuno redirects remove k200abc --yes

cavuno redirects batch

Run a batch of redirect operations. Pass JSON via --file or stdin. Exit 0 on HTTP 200 even if some rows fail — inspect the body.

Maps to POST /v1/redirects/batch

Synopsis

bash
cavuno redirects batch [options]

Options

FlagRequiredDescription
--file <path>noJSON file body (otherwise read stdin)

Examples

bash
cavuno redirects batch --file ops.json

CLI version 1.3.1 · Generated 2026-07-30