Cavuno CLI

Manage Cavuno from the terminal with pipeable commands and exit codes

Install

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

npm
pnpm
Yarn
Bun
npm install --global cavuno
bash
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|pending_approval|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...
bash
# Jobs awaiting your approval (approve with `jobs publish`, reject with `jobs delete`)
cavuno jobs list --status pending_approval

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
--external-id <id>noYour own ID for the job (ATS requisition ID or source job URL); set it so reposts are detected
--allow-shared-application-urlnoCreate even if another job already uses this application URL or email (roles sharing one ATS page or inbox)
--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)
bash
# Second role sharing one application inbox
cavuno jobs create \
--title "Faculty Position in AI and Analytics" \
--application-url recruitment@example.edu \
--external-id REQ-2027-14 \
--allow-shared-application-url

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, pending_approval or expired → published). Publishing a pending_approval job approves it.

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
bash
# Approve a job awaiting approval
cavuno jobs publish k17abc...

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. Deleting a pending_approval job rejects it.

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
bash
# Reject a job awaiting approval
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

builder

Work with a Builder draft from a coding agent. Needs CAVUNO_API_KEY with Builder: read, manage, or publish. Run as `npx cavuno@latest builder …`. Guide: https://cavuno.com/docs/ai-website-builder/coding-agents

cavuno builder checkout

Create a draft from live or check out an existing Builder draft. Without a board ID, uses the API key's board.

Maps to GET /v1/builder/boards; POST /v1/builder/boards/:boardId/drafts; GET /v1/builder/boards/:boardId/drafts/:draftId/snapshot

Synopsis

bash
cavuno builder checkout [board-id] [options]

Arguments

NameRequiredDescription
board-idnoBoard ID (default: the API key's board)

Options

FlagRequiredDescription
--draft <draft-id>noExisting draft ID, or the ID at the end of the task's Builder URL (default: create from live)
--directory <path>noDestination directory (default: ./<board-id>-builder or ./<board-id>-<draft-id>)

Examples

bash
npx cavuno@latest builder checkout
bash
npx cavuno@latest builder checkout <board-id> --draft <draft-id>

cavuno builder submit

Submit local Builder source, including uncommitted edits, for the checked-out draft. Sends the files Git sees (tracked plus untracked, minus .gitignore matches). On stale_base, run builder pull, then submit again.

Maps to POST /v1/builder/boards/:boardId/drafts/:draftId/submissions/staged

Synopsis

bash
cavuno builder submit [options]

Options

FlagRequiredDescription
--directory <path>noBuilder checkout directory (default: current directory)

Examples

bash
npx cavuno@latest builder submit
bash
npx cavuno@latest builder submit --directory ./my-checkout

cavuno builder pull

Merge the draft's current version into committed local work, like git pull. After a publish elsewhere, pull then submit (even unchanged) to make the caught-up version publishable.

Maps to GET /v1/builder/boards/:boardId/drafts/:draftId/snapshot

Synopsis

bash
cavuno builder pull [options]

Options

FlagRequiredDescription
--directory <path>noBuilder checkout directory (default: current directory)

Examples

bash
npx cavuno@latest builder pull
bash
npx cavuno@latest builder pull --directory ./my-checkout

cavuno builder status

Read the current submitted version, check, and publish status. With --wait, poll until checks finish: exit 0 when the version is verified and cleared to publish, 7 with the reason when it failed or was flagged.

Maps to GET /v1/builder/boards/:boardId/drafts/:draftId/versions/:versionId/status

Synopsis

bash
cavuno builder status [options]

Options

FlagRequiredDescription
--directory <path>noBuilder checkout directory (default: current directory)
--waitnoPoll until the checks reach a final state
--interval-ms <n>noPoll interval in milliseconds with --wait (default 10000)
--timeout-ms <n>noGive up waiting after this many milliseconds (default 1200000)

Examples

bash
npx cavuno@latest builder status
bash
npx cavuno@latest builder status --wait

cavuno builder preview

Mint a one-use private preview URL for the current version.

Maps to GET /v1/builder/boards/:boardId/drafts/:draftId/versions/:versionId/preview

Synopsis

bash
cavuno builder preview [options]

Options

FlagRequiredDescription
--directory <path>noBuilder checkout directory (default: current directory)

Examples

bash
npx cavuno@latest builder preview

cavuno builder publish

Queue the current submitted version through the full Go Live gate.

Maps to POST /v1/builder/boards/:boardId/drafts/:draftId/versions/:versionId/publish

Synopsis

bash
cavuno builder publish [options]

Options

FlagRequiredDescription
--directory <path>noBuilder checkout directory (default: current directory)

Examples

bash
npx cavuno@latest builder publish

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
--blocknoDelete and block: keep the company blocked so backfill, imports and the API cannot add it back until it is unblocked.
-y, --yesnoSkip the confirmation prompt

Examples

bash
cavuno companies delete k18acme... --yes
bash
cavuno companies delete k18acme... --block --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 block

Block a company: stop automated re-import (backfill, import, API bulk). By default live jobs are archived and the profile stays; pass --remove to also remove the profile and its jobs from the board.

Maps to POST /v1/companies/:id/block

Synopsis

bash
cavuno companies block <id> [options]

Arguments

NameRequiredDescription
idyesCompany ID

Options

FlagRequiredDescription
--reason <text>noOptional free-text reason
--removenoAlso remove the company profile and its jobs from the board. The company stays blocked so nothing can add it back.
-y, --yesnoSkip the confirmation prompt

Examples

bash
cavuno companies block k18acme... --yes
bash
cavuno companies block k18acme... --reason "legal request" --yes
bash
cavuno companies block k18acme... --remove --yes

cavuno companies unblock

Unblock a company so automated sourcing can add jobs again. Does not republish archived jobs.

Maps to POST /v1/companies/:id/unblock

Synopsis

bash
cavuno companies unblock <id> [options]

Arguments

NameRequiredDescription
idyesCompany ID

Options

FlagRequiredDescription
-y, --yesnoSkip the confirmation prompt

Examples

bash
cavuno companies unblock k18acme... --yes

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|pending_approval|published|expired|archived)
--limit <n>noPage size 1-100 (default 50)

Examples

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

cavuno companies list-plan-assignments

List the plans assigned to a company (active first, then expired and revoked).

Maps to GET /v1/companies/:id/plan-assignments

Synopsis

bash
cavuno companies list-plan-assignments <id> [options]

Arguments

NameRequiredDescription
idyesCompany ID

Options

FlagRequiredDescription
--status <status>noFilter by status (active|expired|revoked)
--limit <n>noPage size 1-100 (default 50)
--cursor <cursor>noCursor from a previous page

Examples

bash
cavuno companies list-plan-assignments k18acme... --status active

cavuno companies assign-plan

Assign a membership plan to a company at no charge. One membership per company; revoke the current one first.

Maps to POST /v1/companies/:id/plan-assignments

Synopsis

bash
cavuno companies assign-plan <id> [options]

Arguments

NameRequiredDescription
idyesCompany ID

Options

FlagRequiredDescription
--plan <planId>yesActive membership plan ID
--expires-at <iso>noISO-8601 time the assignment ends (default: no end)
--idempotency-key <key>noReuse this key when retrying the same logical mutation

Examples

bash
cavuno companies assign-plan k18acme... --plan k22gold...
bash
cavuno companies assign-plan k18acme... --plan k22gold... --expires-at 2027-01-01T00:00:00Z

cavuno companies revoke-plan

Revoke a company's plan assignment now. Does not cancel a recurring plan invoice.

Maps to POST /v1/companies/:id/plan-assignments/:assignmentId/revoke

Synopsis

bash
cavuno companies revoke-plan <id> <assignmentId> [options]

Arguments

NameRequiredDescription
idyesCompany ID
assignmentIdyesPlan assignment ID

Options

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

Examples

bash
cavuno companies revoke-plan k18acme... k33assign... --yes

cavuno companies list-plan-invoices

List plan invoices issued to a company, newest first. A paid invoice names the assignment it created.

Maps to GET /v1/companies/:id/plan-invoices

Synopsis

bash
cavuno companies list-plan-invoices <id> [options]

Arguments

NameRequiredDescription
idyesCompany ID

Options

FlagRequiredDescription
--limit <n>noPage size 1-100 (default 50)
--cursor <cursor>noCursor from a previous page

Examples

bash
cavuno companies list-plan-invoices k18acme...

cavuno companies invoice-plan

Invoice a company for a membership plan through Stripe (due in 30 days). Prints the invoice link to share with the employer; the plan is assigned when it is paid.

Maps to POST /v1/companies/:id/plan-invoices

Synopsis

bash
cavuno companies invoice-plan <id> [options]

Arguments

NameRequiredDescription
idyesCompany ID

Options

FlagRequiredDescription
--plan <planId>yesActive membership plan ID
--email <email>yesEmployer's billing email
--amount-cents <n>noAmount per invoice in minor units (only for a plan without a price)
--currency <code>noISO 4217 currency, with --amount-cents (e.g. usd)
--interval <interval>noMake it recur: month|year (not for a subscription plan with its own interval)
--interval-count <n>noIntervals between invoices, 1-12 (month + 3 = quarterly)
--idempotency-key <key>noReuse this key when retrying the same logical mutation

Examples

bash
cavuno companies invoice-plan k18acme... --plan k22gold... --email billing@acme.com
bash
cavuno companies invoice-plan k18acme... --plan k22silver... --email billing@acme.com --amount-cents 49900 --currency usd --interval month --interval-count 3

cavuno companies cancel-plan-invoice

Cancel a plan invoice awaiting payment: a recurring invoice stops, and the Stripe invoice is voided.

Maps to POST /v1/companies/:id/plan-invoices/:invoiceId/cancel

Synopsis

bash
cavuno companies cancel-plan-invoice <id> <invoiceId> [options]

Arguments

NameRequiredDescription
idyesCompany ID
invoiceIdyesPlan invoice ID

Options

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

Examples

bash
cavuno companies cancel-plan-invoice k18acme... k44invoice... --yes

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 (also clears the ID from posts).

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 (also clears the ID from posts).

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)
--job-recommendations-enabled <bool>noToggle candidate job recommendations (true/false)
--recommended-talent-enabled <bool>noToggle employer recommended talent (true/false)
--candidates-enabled <bool>noToggle candidate-area flag (true/false)
--country-gating-mode <mode>noApply country gating: sponsored_only | all_jobs
--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
--ga4-measurement-id <id>noGoogle Analytics 4 measurement ID (pass "" to clear)
--gtm-container-id <id>noGoogle Tag Manager container ID (pass "" to clear)
--meta-pixel-id <id>noMeta Pixel ID (pass "" to clear)
--linkedin-partner-id <id>noLinkedIn Insight Tag partner ID (pass "" to clear)
--linkedin-conversion-sign-up-id <id>noLinkedIn conversion ID for sign-ups (pass "" to clear)
--linkedin-conversion-login-id <id>noLinkedIn conversion ID for sign-ins (pass "" to clear)
--linkedin-conversion-apply-click-id <id>noLinkedIn conversion ID for Apply clicks (pass "" to clear)
--linkedin-conversion-apply-submit-id <id>noLinkedIn conversion ID for submitted applications (pass "" to clear)
--linkedin-conversion-job-alert-subscribe-id <id>noLinkedIn conversion ID for job alert sign-ups (pass "" to clear)

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"}}'
--google-consent-message <bool>noUse Google's consent message for EEA/UK/CH visitors (true/false; default true)

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

email-domains

Manage the custom email sender domain for the authenticated account.

cavuno email-domains list

List the email sender domain (a board has at most one).

Maps to GET /v1/email-domains

Synopsis

bash
cavuno email-domains list

Examples

bash
cavuno email-domains list

cavuno email-domains get

Fetch an email sender domain with its status and DNS records.

Maps to GET /v1/email-domains/:id

Synopsis

bash
cavuno email-domains get <id>

Arguments

NameRequiredDescription
idyesEmail domain ID

Examples

bash
cavuno email-domains get ed_123

cavuno email-domains add

Add an email sender domain and print the DNS records to publish.

Maps to POST /v1/email-domains

Synopsis

bash
cavuno email-domains add <host> [options]

Arguments

NameRequiredDescription
hostyesHostname, for example notifications.example.com

Options

FlagRequiredDescription
--sender-name <name>noFrom display name (defaults to the board name)
--sender-local-part <mailbox>noMailbox before the @ (defaults to info)

Examples

bash
cavuno email-domains add notifications.example.com
bash
cavuno email-domains add notifications.example.com --sender-name "Acme Jobs" --sender-local-part hello

cavuno email-domains update

Change the sender name or mailbox of a verified domain.

Maps to PATCH /v1/email-domains/:id

Synopsis

bash
cavuno email-domains update <id> [options]

Arguments

NameRequiredDescription
idyesEmail domain ID

Options

FlagRequiredDescription
--sender-name <name>noFrom display name
--sender-local-part <mailbox>noMailbox before the @

Examples

bash
cavuno email-domains update ed_123 --sender-name "Acme Jobs"

cavuno email-domains verify

Check the DNS records now and print the updated domain.

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

Synopsis

bash
cavuno email-domains verify <id>

Arguments

NameRequiredDescription
idyesEmail domain ID

Examples

bash
cavuno email-domains verify ed_123

cavuno email-domains remove

Delete the email sender domain.

Maps to DELETE /v1/email-domains/:id

Synopsis

bash
cavuno email-domains remove <id> [options]

Arguments

NameRequiredDescription
idyesEmail domain ID

Options

FlagRequiredDescription
-y, --yesnoSkip the confirmation prompt

Examples

bash
cavuno email-domains remove ed_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

job-feeds

Recurring XML job feeds pulled from a URL on a schedule (connect, map, re-detect, runs).

cavuno job-feeds list

List job feeds (paginated, oldest first).

Maps to GET /v1/job-feeds

Synopsis

bash
cavuno job-feeds list [options]

Options

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

Examples

bash
cavuno job-feeds list

cavuno job-feeds get

Fetch one job feed (schedule, last run, mapping review state).

Maps to GET /v1/job-feeds/:id

Synopsis

bash
cavuno job-feeds get <id>

Arguments

NameRequiredDescription
idyesJob feed ID

Examples

bash
cavuno job-feeds get k17feed

cavuno job-feeds create

Connect an XML feed URL. The URL is checked before it is saved; the first run detects the mapping.

Maps to POST /v1/job-feeds

Synopsis

bash
cavuno job-feeds create [options]

Options

FlagRequiredDescription
--url <url>yesThe XML feed URL
--name <name>noDisplay name (defaults from the URL host)
--interval-hours <hours>noHours between pulls: 1, 3, 6, 12 or 24 (default 6)
--expire-missing <bool>noExpire jobs missing from two runs in a row (default true)
--job-limit <n|none>noMost jobs this feed may publish at once
--idempotency-key <key>noReuse this key when retrying the same logical mutation

Examples

bash
cavuno job-feeds create --url https://ats.example.com/jobs.xml
bash
cavuno job-feeds create --url https://ats.example.com/jobs.xml --interval-hours 12 --job-limit 500

cavuno job-feeds update

Change the URL, name, schedule, enabled state, job limit, attribution or mapping.

Maps to PATCH /v1/job-feeds/:id

Synopsis

bash
cavuno job-feeds update <id> [options]

Arguments

NameRequiredDescription
idyesJob feed ID

Options

FlagRequiredDescription
--url <url>noNew feed URL (checked before it is saved)
--name <name>noDisplay name
--interval-hours <hours>noHours between pulls: 1, 3, 6, 12 or 24
--enabled <bool>noPull on schedule (true) or pause the feed (false)
--expire-missing <bool>noExpire jobs missing from two runs in a row
--job-limit <n|none>noMost jobs this feed may publish at once; none clears it
--apply-url-attribution <json>noe.g. {"mode":"inherit"}, {"mode":"off"} or {"mode":"append","params":[...]}
--mapping <json>noReplacement mapping: {"fieldMappings":[...],"valueTransforms":[...]}
--idempotency-key <key>noReuse this key when retrying the same logical mutation

Examples

bash
cavuno job-feeds update k17feed --enabled false
bash
cavuno job-feeds update k17feed --url https://ats.example.com/v2.xml --interval-hours 24

cavuno job-feeds delete

Delete a job feed. Jobs it already published stay published.

Maps to DELETE /v1/job-feeds/:id

Synopsis

bash
cavuno job-feeds delete <id> [options]

Arguments

NameRequiredDescription
idyesJob feed ID

Options

FlagRequiredDescription
-y, --yesnoSkip the confirmation prompt

Examples

bash
cavuno job-feeds delete k17feed --yes

cavuno job-feeds redetect-mapping

Discard the mapping and detect a fresh one on the next run, which starts now.

Maps to POST /v1/job-feeds/:id/redetect-mapping

Synopsis

bash
cavuno job-feeds redetect-mapping <id> [options]

Arguments

NameRequiredDescription
idyesJob feed ID

Options

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

Examples

bash
cavuno job-feeds redetect-mapping k17feed

cavuno job-feeds runs

List a job feed's runs (most recent first).

Maps to GET /v1/job-feeds/:id/runs

Synopsis

bash
cavuno job-feeds runs <id> [options]

Arguments

NameRequiredDescription
idyesJob feed ID

Options

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

Examples

bash
cavuno job-feeds runs k17feed --limit 5

backfill

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

cavuno backfill settings get

Show the Board-wide Backfill settings.

Maps to GET /v1/backfill/settings

Synopsis

bash
cavuno backfill settings get

Examples

bash
cavuno backfill settings get

cavuno backfill settings update

Change one or more Board-wide Backfill settings. Omitted settings are unchanged.

Maps to PATCH /v1/backfill/settings

Synopsis

bash
cavuno backfill settings update [options]

Options

FlagRequiredDescription
--job-limit <n>noMost Backfill jobs live at once (1-100000); pass an empty string to clear
--max-job-age-days <n>noSkip jobs posted more than N days ago (1-365); pass an empty string to clear
--exclude-worldwide-remotenoSkip remote jobs open worldwide (expires those already live)
--no-exclude-worldwide-remotenoStop skipping remote jobs open worldwide
--sponsored-jobsnoInclude sponsored (pay-per-click) jobs
--no-sponsored-jobsnoStop including sponsored jobs
--idempotency-key <key>noReuse this key when retrying the same logical mutation

Examples

bash
cavuno backfill settings update --job-limit 2000 --max-job-age-days 30
bash
cavuno backfill settings update --job-limit ''
bash
cavuno backfill settings update --exclude-worldwide-remote --no-sponsored-jobs

cavuno backfill blocked-jobs unblock-all

Let Backfill import removed jobs again. Unblocks the first 200 now and the rest in the background.

Maps to POST /v1/backfill/blocked-jobs/unblock-all

Synopsis

bash
cavuno backfill blocked-jobs unblock-all [options]

Options

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

Examples

bash
cavuno backfill blocked-jobs unblock-all --yes

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 analytics (overview, traffic, apply-clicks, job-visitors).

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

cavuno analytics apply-clicks

List apply clicks by job and first-touch channel (join jobs export on id).

Maps to GET /v1/analytics/apply-clicks

Synopsis

bash
cavuno analytics apply-clicks [options]

Options

FlagRequiredDescription
--start <date>noInclusive range start (YYYY-MM-DD, UTC)
--end <date>noInclusive range end (YYYY-MM-DD, UTC)
--limit <n>noPage size (1–1000, default 100)
--cursor <cursor>noPagination cursor from a previous response

Examples

bash
cavuno analytics apply-clicks
bash
cavuno analytics apply-clicks --start 2026-01-01 --end 2026-01-30 --limit 100

cavuno analytics job-visitors

List unique job-detail visitors by first-touch channel (join export on company_slug + slug).

Maps to GET /v1/analytics/job-visitors

Synopsis

bash
cavuno analytics job-visitors [options]

Options

FlagRequiredDescription
--start <date>noInclusive range start (YYYY-MM-DD, UTC)
--end <date>noInclusive range end (YYYY-MM-DD, UTC)
--limit <n>noPage size (1–1000, default 100)
--cursor <cursor>noPagination cursor from a previous response

Examples

bash
cavuno analytics job-visitors
bash
cavuno analytics job-visitors --start 2026-01-01 --end 2026-01-30

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

distribution

Publish jobs to job aggregators with XML feeds, and manage the Cavuno distribution opt-in.

cavuno distribution feeds list

List XML feeds: one prebuilt feed per aggregator, then custom feeds.

Maps to GET /v1/distribution/feeds

Synopsis

bash
cavuno distribution feeds list

Examples

bash
cavuno distribution feeds list --format table

cavuno distribution feeds get

Show one XML feed.

Maps to GET /v1/distribution/feeds/:id

Synopsis

bash
cavuno distribution feeds get <id>

Arguments

NameRequiredDescription
idyesFeed ID

Examples

bash
cavuno distribution feeds get k17abc

cavuno distribution feeds create

Create a custom XML feed.

Maps to POST /v1/distribution/feeds

Synopsis

bash
cavuno distribution feeds create <name> [options]

Arguments

NameRequiredDescription
nameyesFeed name; its URL slug is derived from it

Options

FlagRequiredDescription
--template <template>yesXML format: indeed, jooble, careerjet, jora, jobrapido, custom
--source-rule <rule>noown (board jobs only) or all (Backfill included)
--filter <json>noJob filter, e.g. '{"remoteOptions":["remote"],"featuredOnly":true}'
--custom-field-names <json>nocustom template only: element renames, e.g. '{"title":"jobtitle"}'
--contact-email <email>noindeed template only: <email> value

Examples

bash
cavuno distribution feeds create "Remote jobs" --template jooble --filter '{"remoteOptions":["remote"]}'
bash
cavuno distribution feeds create "Partner feed" --template custom --custom-field-names '{"title":"jobtitle"}'

cavuno distribution feeds update

Update an XML feed. Omitted options are unchanged; pass null to --filter or --custom-field-names to clear.

Maps to PATCH /v1/distribution/feeds/:id

Synopsis

bash
cavuno distribution feeds update <id> [options]

Arguments

NameRequiredDescription
idyesFeed ID

Options

FlagRequiredDescription
--name <name>noNew name (the URL never changes)
--template <template>noXML format: indeed, jooble, careerjet, jora, jobrapido, custom
--source-rule <rule>noown (board jobs only) or all (Backfill included)
--filter <json>noJob filter, e.g. '{"remoteOptions":["remote"],"featuredOnly":true}'
--custom-field-names <json>nocustom template only: element renames, e.g. '{"title":"jobtitle"}'
--contact-email <email>noindeed template only: <email> value
--clear-contact-emailnoRemove the indeed contact email

Examples

bash
cavuno distribution feeds update k17abc --contact-email jobs@example.com
bash
cavuno distribution feeds update k17abc --filter null

cavuno distribution feeds remove

Delete a custom XML feed; its URL stops working.

Maps to DELETE /v1/distribution/feeds/:id

Synopsis

bash
cavuno distribution feeds remove <id> [options]

Arguments

NameRequiredDescription
idyesFeed ID

Options

FlagRequiredDescription
-y, --yesnoSkip the confirmation prompt

Examples

bash
cavuno distribution feeds remove k17abc --yes

cavuno distribution origin get

Show the feed origin and any moved origins.

Maps to GET /v1/distribution/feed-origin

Synopsis

bash
cavuno distribution origin get

Examples

bash
cavuno distribution origin get

cavuno distribution origin acknowledge

Mark moved feed URLs as resubmitted to the aggregators.

Maps to POST /v1/distribution/feed-origin/acknowledge

Synopsis

bash
cavuno distribution origin acknowledge

Examples

bash
cavuno distribution origin acknowledge

cavuno distribution settings get

Show distribution settings.

Maps to GET /v1/distribution/settings

Synopsis

bash
cavuno distribution settings get

Examples

bash
cavuno distribution settings get

cavuno distribution settings update

Switch Cavuno distribution on or off.

Maps to PATCH /v1/distribution/settings

Synopsis

bash
cavuno distribution settings update [options]

Options

FlagRequiredDescription
--cavuno-distribution <on|off>yeson or off

Examples

bash
cavuno distribution settings update --cavuno-distribution off

webhooks

Manage Board-owned webhook endpoints and inspect delivery history.

cavuno webhooks endpoints list

List webhook endpoints.

Maps to GET /v1/webhook-endpoints

Synopsis

bash
cavuno webhooks endpoints list [options]

Options

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

Examples

bash
cavuno webhooks endpoints list

cavuno webhooks endpoints get

Fetch a webhook endpoint by ID.

Maps to GET /v1/webhook-endpoints/:id

Synopsis

bash
cavuno webhooks endpoints get <id>

Arguments

NameRequiredDescription
idyesEndpoint ID

Examples

bash
cavuno webhooks endpoints get whe_123

cavuno webhooks endpoints create

Create a webhook endpoint. Prints the one-time signing secret once.

Maps to POST /v1/webhook-endpoints

Synopsis

bash
cavuno webhooks endpoints create [options]

Options

FlagRequiredDescription
--url <url>yesPublic HTTPS URL that will receive deliveries
--event-types <types>yesComma-separated V1 event types (e.g. job.created,company.updated)
--idempotency-key <key>noReuse this key when retrying the same logical mutation

Examples

bash
cavuno webhooks endpoints create --url https://hooks.example.com/cavuno --event-types job.created,job.updated

cavuno webhooks endpoints update

Update a webhook endpoint (URL, event types, or status).

Maps to PATCH /v1/webhook-endpoints/:id

Synopsis

bash
cavuno webhooks endpoints update <id> [options]

Arguments

NameRequiredDescription
idyesEndpoint ID

Options

FlagRequiredDescription
--url <url>noNew HTTPS destination URL
--event-types <types>noComma-separated V1 event types replacing the current selection
--status <status>noenabled or paused
--idempotency-key <key>noReuse this key when retrying the same logical mutation

Examples

bash
cavuno webhooks endpoints update whe_123 --status paused
bash
cavuno webhooks endpoints update whe_123 --url https://hooks.example.com/v2

cavuno webhooks endpoints delete

Retire a webhook endpoint (stops future delivery; keeps config for replay).

Maps to DELETE /v1/webhook-endpoints/:id

Synopsis

bash
cavuno webhooks endpoints delete <id> [options]

Arguments

NameRequiredDescription
idyesEndpoint ID

Options

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

Examples

bash
cavuno webhooks endpoints delete whe_123 --yes

cavuno webhooks endpoints rotate-secret

Rotate the signing secret. Prints the new secret once.

Maps to POST /v1/webhook-endpoints/:id/rotate-secret

Synopsis

bash
cavuno webhooks endpoints rotate-secret <id> [options]

Arguments

NameRequiredDescription
idyesEndpoint ID

Options

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

Examples

bash
cavuno webhooks endpoints rotate-secret whe_123 --yes

cavuno webhooks endpoints test

Send one synthetic signed test delivery to the endpoint URL.

Maps to POST /v1/webhook-endpoints/:id/test

Synopsis

bash
cavuno webhooks endpoints test <id> [options]

Arguments

NameRequiredDescription
idyesEndpoint ID

Options

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

Examples

bash
cavuno webhooks endpoints test whe_123 --yes

cavuno webhooks deliveries list

List webhook deliveries (newest first).

Maps to GET /v1/webhook-deliveries

Synopsis

bash
cavuno webhooks deliveries list [options]

Options

FlagRequiredDescription
--endpoint <id>noFilter to a single endpoint ID
--status <status>noFilter by status (pending|retrying|delivered|terminal|exhausted)
--limit <n>noPage size 1-100 (default 50)
--cursor <cursor>noPagination cursor

Examples

bash
cavuno webhooks deliveries list
bash
cavuno webhooks deliveries list --endpoint whe_123 --status delivered

cavuno webhooks deliveries get

Fetch a webhook delivery by ID (includes attempt history).

Maps to GET /v1/webhook-deliveries/:id

Synopsis

bash
cavuno webhooks deliveries get <id>

Arguments

NameRequiredDescription
idyesDelivery ID

Examples

bash
cavuno webhooks deliveries get wdl_123

cavuno webhooks deliveries replay

Replay a completed delivery (delivered/terminal/exhausted). Reuses frozen event bytes with a fresh signature. Exhausted deliveries get one fresh attempt, not a fresh retry budget. Open (pending/retrying) deliveries return 409.

Maps to POST /v1/webhook-deliveries/:id/replay

Synopsis

bash
cavuno webhooks deliveries replay <id> [options]

Arguments

NameRequiredDescription
idyesDelivery ID

Options

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

Examples

bash
cavuno webhooks deliveries replay wdl_123 --yes

marketing-permissions

Read marketing-email consent decisions off the board user records, and withdraw on request. Grants exist only on Board-user surfaces.

cavuno marketing-permissions list

List recorded consent decisions. People who never decided are absent — absence means no consent, never a default.

Maps to GET /v1/marketing-permissions

Synopsis

bash
cavuno marketing-permissions list [options]

Options

FlagRequiredDescription
--status <status>nogranted or withdrawn
--email <email>noExact-match lookup; returns at most one item
--limit <n>noPage size (1-100)
--cursor <cursor>noOpaque pagination cursor

Examples

bash
cavuno marketing-permissions list
bash
cavuno marketing-permissions list --status granted
bash
cavuno marketing-permissions list --email person@example.com

cavuno marketing-permissions withdraw

Withdraw a board user's marketing consent (reason: operator_request) — the right move when someone asks you directly to be removed. Idempotent. Cannot grant or restore.

Maps to POST /v1/marketing-permissions/{id}/withdraw

Synopsis

bash
cavuno marketing-permissions withdraw <boardUserId> [options]

Arguments

NameRequiredDescription
boardUserIdyesThe board user ID

Options

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

Examples

bash
cavuno marketing-permissions withdraw boardUsers_01EXAMPLE --yes

feedback

Report a problem with Cavuno (API, CLI, MCP or SDK) to its engineers, as an AI agent or a person.

cavuno feedback send

Send an Agent Feedback Protocol report. Works without CAVUNO_API_KEY; a valid key attributes it to your board. Never include credentials or personal data. 20 reports per 5 minutes.

Maps to POST /v1/feedback

Synopsis

bash
cavuno feedback send [options]

Options

FlagRequiredDescription
--type <type>noKind of problem (required unless --json)
--goal <text>noWhat you were trying to accomplish, in plain language (required unless --json)
--message <text>noWhat prevented or complicated the task (required unless --json)
--endpoint <path>noAPI path, CLI command or MCP tool involved, e.g. /jobs
--method <method>noHTTP method of the endpoint
--outcome <outcome>noblocked (task failed), degraded (worse or slower), completed (suggestion only)
--expected <text>noWhat you expected to find or happen
--suggestion <text>noA concrete change that would have let you succeed
--workaround [description]noYou found a workaround; optionally describe it
--session-id <id>noReuse one value per task; a retry with the same content returns the original report
--request-id <id>noX-Request-Id of the failing call
--agent-name <name>noAgent or product name
--agent-model <model>noModel name
--jsonnoRead the full report as JSON from --file or stdin; flags override its fields
--file <path>noJSON report file for --json (otherwise stdin)

Examples

bash
cavuno feedback --type missing_capability --goal "What you were trying to do" --message "What got in the way" --agent-name my-agent --agent-model model-name
bash
cavuno feedback --json --file report.json

CLI version 1.19.1 · Generated 2026-10-19