Cavuno CLI
Manage Cavuno from the terminal — pipeable commands and exit codes
A
JInstall
The CLI is published on npm as cavuno. Install it globally, or run it once with npx. View the source or report an issue on GitHub.
123npm install -g cavuno# ornpx 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.
1234export 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
| Flag | Purpose |
|---|---|
--api-url <url> | Override CAVUNO_API_URL for this invocation |
--format <json|table> | Output format. Default json (pipe-friendly) |
--help | Print help for the command or subcommand |
--version | Print 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.
1cavuno 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.
| Code | Reason |
|---|---|
0 | Success |
1 | Authentication failure — missing or malformed CAVUNO_API_KEY, 401 auth_unauthenticated |
2 | Validation error — 400 validation_bad_request, missing required CLI flag |
3 | Authorization failure — 403 auth_forbidden |
4 | Resource not found — 404 *_not_found |
5 | Plan / quota — 409 jobs_quota_exceeded, 403 jobs_plan_cannot_publish |
6 | Rate limited — 429 rate_limited (Retry-After printed) |
7 | State conflict — 409 jobs_already_published, jobs_not_published, jobs_already_archived |
10 | Unknown server error — 500 or unmapped |
11 | Network 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
1cavuno jobs list [options]
Options
| Flag | Required | Description |
|---|---|---|
--status <status> | no | Filter by status (draft|published|expired|archived) |
--company-id <id> | no | Filter by company ID |
--search <query> | no | Free-text search; routes through POST /v1/jobs/search |
--skills <slugs> | no | Comma-separated canonical skill slugs |
--categories <slugs> | no | Comma-separated canonical category slugs |
--limit <n> | no | Page size 1-100 (default 50) |
--cursor <cursor> | no | Pagination cursor from previous response |
Examples
12# All jobs (first page)cavuno jobs list
12# Published onlycavuno jobs list --status published --limit 100
12# Published jobs at a single companycavuno jobs list --status published --company-id k17abc...
cavuno jobs get
Fetch a single job by ID (enriched with description, company, places).
Maps to GET /v1/jobs/:id
Synopsis
1cavuno jobs get <id>
Arguments
| Name | Required | Description |
|---|---|---|
id | yes | Job ID |
Examples
1cavuno jobs get k17abc...
1cavuno jobs get k17abc... | jq -r .title
cavuno jobs create
Create a draft job.
Maps to POST /v1/jobs
Synopsis
1cavuno jobs create [options]
Options
| Flag | Required | Description |
|---|---|---|
--title <title> | yes | Job title (required) |
--description <text> | no | Description (markdown/HTML) |
--slug <slug> | no | URL slug; auto-derived from title if omitted |
--company-id <id> | no | Company ID (must belong to your account) |
--application-url <url> | no | Application URL or `mailto:`/email |
--employment-type <type> | no | full_time|part_time|contract|internship|temporary|volunteer|other |
--remote-option <opt> | no | on_site|hybrid|remote |
--seniority <level> | no | entry_level|associate|mid_level|senior|lead|principal|director|executive |
--remote-sponsorship <opt> | no | yes|no|unknown — visa sponsorship for remote candidates |
--remote-permits <json> | no | JSON array, e.g. '[{"type":"country","value":"US"}]' — work-permit scope |
--remote-timezones <json> | no | JSON array, e.g. '[{"type":"all","value":"all"}]' — timezone constraint (auto-derived from --remote-permits when omitted) |
--office-locations <json> | no | JSON array, e.g. '[{"city":"Berlin","country":"DE"}]' — required for on_site/hybrid |
--in-office-period <opt> | no | per_week|per_month|per_year — denominator for --in-office-frequency (hybrid) |
--in-office-frequency <n> | no | In-office count per period (hybrid) |
--salary-min <n> | no | Minimum salary |
--salary-max <n> | no | Maximum salary |
--salary-currency <code> | no | ISO 4217 currency (e.g. USD, EUR, GBP) |
--salary-timeframe <opt> | no | per_year|per_month|per_week|per_day|per_hour |
--education-requirements <list> | no | Comma-separated values: high_school,associate_degree,bachelor_degree,professional_certificate,postgraduate_degree,no_requirements |
--skills <slugs> | no | Comma-separated canonical skill slugs |
--categories <slugs> | no | Comma-separated canonical category slugs |
--experience-months <n> | no | Minimum experience required, in months |
--experience-in-place-of-education | no | Allow equivalent experience to substitute for education |
--is-featured | no | Mark as a featured job on the public board |
--expires-at <iso> | no | Expiry as ISO 8601 datetime (defaults to 30 days from creation when omitted) |
Examples
12# Minimalcavuno jobs create --title "Senior Backend Engineer"
12345678# Common remote-only casecavuno jobs create \--title "Senior Platform Engineer" \--description "We’re hiring..." \--employment-type full_time \--remote-option remote \--seniority senior \--company-id k18acme...
1234567# 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"}]'
12# Capture the new IDNEW_ID=$(cavuno jobs create --title "Test" | jq -r .id)
cavuno jobs update
Update fields on an existing job.
Maps to PATCH /v1/jobs/:id
Synopsis
1cavuno jobs update <id> [options]
Arguments
| Name | Required | Description |
|---|---|---|
id | yes | Job ID |
Options
| Flag | Required | Description |
|---|---|---|
--title <title> | no | 1–200 chars |
--description <text> | no | Description (markdown/HTML) |
--slug <slug> | no | |
--company-id <id> | no | Company ID (must belong to your account) |
--application-url <url> | no | Application URL or `mailto:`/email |
--employment-type <type> | no | |
--remote-option <opt> | no | on_site|hybrid|remote |
--seniority <level> | no | |
--remote-sponsorship <opt> | no | yes|no|unknown |
--remote-permits <json> | no | JSON array; pass `[]` to clear |
--remote-timezones <json> | no | JSON array; pass `[]` to clear (PATCH never auto-re-derives) |
--office-locations <json> | no | JSON array; required when --remote-option is on_site/hybrid |
--in-office-period <opt> | no | per_week|per_month|per_year |
--in-office-frequency <n> | no | Hybrid in-office count per period |
--salary-min <n> | no | Minimum salary |
--salary-max <n> | no | Maximum salary |
--salary-currency <code> | no | ISO 4217 currency (e.g. USD, EUR, GBP) |
--salary-timeframe <opt> | no | per_year|per_month|per_week|per_day|per_hour |
--education-requirements <list> | no | Comma-separated list |
--skills <slugs> | no | Comma-separated canonical skill slugs; pass an empty value to clear |
--categories <slugs> | no | Comma-separated canonical category slugs; pass an empty value to clear |
--experience-months <n> | no | Minimum experience required, in months |
--experience-in-place-of-education <bool> | no | true|false (string accepted; PATCH semantics — explicit value required) |
--is-featured <bool> | no | true|false (string accepted; PATCH semantics — explicit value required) |
--expires-at <iso> | no | ISO 8601 datetime (parsed to epoch ms); pass `null` to clear |
Examples
12# Renamecavuno jobs update k17abc... --title "Renamed role"
1234# Re-author the remote-permit set + sponsorshipcavuno jobs update k17abc... \--remote-permits '[{"type":"country","value":"US"}]' \--remote-sponsorship yes
12# Clear an existing expirycavuno jobs update k17abc... --expires-at null
12# Mark as featuredcavuno jobs update k17abc... --is-featured true
cavuno jobs publish
Publish a job (draft or expired → published).
Maps to POST /v1/jobs/:id/publish
Synopsis
1cavuno jobs publish <id> [options]
Arguments
| Name | Required | Description |
|---|---|---|
id | yes | Job ID |
Options
| Flag | Required | Description |
|---|---|---|
--expires-at <iso> | no | Optional ISO 8601 expiry timestamp |
Examples
1cavuno jobs publish k17abc...
1cavuno jobs publish k17abc... --expires-at 2026-12-31T23:59:59Z
cavuno jobs pause
Pause a published job (transition to draft).
Maps to POST /v1/jobs/:id/pause
Synopsis
1cavuno jobs pause <id>
Arguments
| Name | Required | Description |
|---|---|---|
id | yes | Job ID |
Examples
1cavuno jobs pause k17abc...
cavuno jobs expire
Expire a published job immediately (sets expiresAt = now).
Maps to POST /v1/jobs/:id/expire
Synopsis
1cavuno jobs expire <id>
Arguments
| Name | Required | Description |
|---|---|---|
id | yes | Job ID |
Examples
1cavuno jobs expire k17abc...
cavuno jobs duplicate
Duplicate a job (creates a new draft copy).
Maps to POST /v1/jobs/:id/duplicate
Synopsis
1cavuno jobs duplicate <id>
Arguments
| Name | Required | Description |
|---|---|---|
id | yes | Job ID |
Examples
1cavuno jobs duplicate k17abc...
1NEW_ID=$(cavuno jobs duplicate k17abc... | jq -r .id)
cavuno jobs delete
Hard-delete a job. Irreversible.
Maps to DELETE /v1/jobs/:id
Synopsis
1cavuno jobs delete <id> [options]
Arguments
| Name | Required | Description |
|---|---|---|
id | yes | Job ID |
Options
| Flag | Required | Description |
|---|---|---|
-y, --yes | no | Skip the confirmation prompt |
Examples
1cavuno 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
1cavuno jobs batch [options]
Options
| Flag | Required | Description |
|---|---|---|
--file <path> | no | JSON file body (otherwise read stdin) |
Examples
1cavuno jobs batch --file ops.json
1echo '{"operations":[]}' | cavuno jobs batch
usage
Inspect actionable product capacity (jobs, subscribers, seats).
cavuno usage get
Show used, limit, and remaining capacity for active jobs, confirmed subscribers, and team seats.
Maps to GET /v1/usage
Synopsis
1cavuno usage get
Examples
1cavuno 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
1cavuno me get
Examples
1cavuno me get
companies
Manage companies in the authenticated account.
cavuno companies list
List companies (paginated).
Maps to GET /v1/companies
Synopsis
1cavuno companies list [options]
Options
| Flag | Required | Description |
|---|---|---|
--search <query> | no | Substring search on name |
--markets <slugs> | no | Comma-separated canonical market slugs |
--limit <n> | no | Page size 1-100 (default 50) |
--cursor <cursor> | no | Pagination cursor |
Examples
1cavuno companies list
1cavuno companies list --search acme --limit 10
cavuno companies get
Fetch a single company by ID.
Maps to GET /v1/companies/:id
Synopsis
1cavuno companies get <id>
Arguments
| Name | Required | Description |
|---|---|---|
id | yes | Company ID |
Examples
1cavuno companies get k18acme...
cavuno companies create
Create a company.
Maps to POST /v1/companies
Synopsis
1cavuno companies create [options]
Options
| Flag | Required | Description |
|---|---|---|
--name <name> | yes | Company name (required) |
--slug <slug> | no | URL slug; auto-derived from --name if omitted |
--website <url> | no | Website URL |
--summary <text> | no | Short summary (≤280 chars) |
--description <text> | no | Long-form description (≤25,000 chars) |
--x-url <handle-or-url> | no | X (Twitter) handle or profile URL |
--linkedin-url <url-or-path> | no | LinkedIn company page URL or path |
--facebook-url <url-or-path> | no | Facebook company page URL or path |
--markets <slugs> | no | Comma-separated canonical market slugs |
Examples
1cavuno companies create --name "Acme Corp"
1234cavuno 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
1cavuno companies update <id> [options]
Arguments
| Name | Required | Description |
|---|---|---|
id | yes | Company ID |
Options
| Flag | Required | Description |
|---|---|---|
--name <name> | no | New name |
--slug <slug> | no | New URL slug |
--website <url> | no | New website URL |
--summary <text> | no | New summary |
--description <text> | no | New long-form description |
--x-url <handle-or-url> | no | New X handle or profile URL |
--linkedin-url <url-or-path> | no | New LinkedIn URL or path |
--facebook-url <url-or-path> | no | New Facebook URL or path |
--markets <slugs> | no | Comma-separated canonical market slugs; pass an empty string to clear |
Examples
1cavuno companies update k18acme... --name "Acme, Inc."
1cavuno 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
1cavuno companies delete <id> [options]
Arguments
| Name | Required | Description |
|---|---|---|
id | yes | Company ID |
Options
| Flag | Required | Description |
|---|---|---|
-y, --yes | no | Skip the confirmation prompt |
Examples
1cavuno companies delete k18acme... --yes
cavuno companies upload-logo
Upload or replace a company logo.
Maps to POST /v1/companies/:id/logo
Synopsis
1cavuno companies upload-logo <id> <file>
Arguments
| Name | Required | Description |
|---|---|---|
id | yes | Company ID |
file | yes | Path to a PNG, JPEG, WebP, or GIF logo file |
Examples
1cavuno companies upload-logo k18acme... ./acme-logo.png
cavuno companies delete-logo
Delete a company logo.
Maps to DELETE /v1/companies/:id/logo
Synopsis
1cavuno companies delete-logo <id> [options]
Arguments
| Name | Required | Description |
|---|---|---|
id | yes | Company ID |
Options
| Flag | Required | Description |
|---|---|---|
-y, --yes | no | Skip the confirmation prompt |
Examples
1cavuno companies delete-logo k18acme... --yes
cavuno companies find-by-domain
Resolve a company by website domain (uses search endpoint).
Maps to POST /v1/companies/search
Synopsis
1cavuno companies find-by-domain <domain>
Arguments
| Name | Required | Description |
|---|---|---|
domain | yes | Website domain (e.g. acme.com) |
Examples
1cavuno 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
1cavuno companies find-or-create [options]
Options
| Flag | Required | Description |
|---|---|---|
--name <name> | yes | Company name |
--website <url> | no | Website URL (used for dedup) |
Examples
1cavuno companies find-or-create --name "Acme Corp" --website acme.com
cavuno companies search
Search companies by name and market.
Maps to POST /v1/companies/search
Synopsis
1cavuno companies search [query] [options]
Arguments
| Name | Required | Description |
|---|---|---|
query | no | Free-text query |
Options
| Flag | Required | Description |
|---|---|---|
--markets <slugs> | no | Comma-separated canonical market slugs |
--limit <n> | no | Page size 1-100 (default 25) |
Examples
1cavuno companies search "acme" --limit 10
cavuno companies list-jobs
List jobs at a company (any status, optional filter).
Maps to GET /v1/companies/:id/jobs
Synopsis
1cavuno companies list-jobs <id> [options]
Arguments
| Name | Required | Description |
|---|---|---|
id | yes | Company ID |
Options
| Flag | Required | Description |
|---|---|---|
--status <status> | no | Filter by status (draft|published|expired|archived) |
--limit <n> | no | Page size 1-100 (default 50) |
Examples
1cavuno companies list-jobs k18acme... --status published
cavuno companies batch
Run a batch of company operations. Pass JSON via --file or stdin. Exit 0 on HTTP 200 even if some rows fail — inspect the body.
Maps to POST /v1/companies/batch
Synopsis
1cavuno companies batch [options]
Options
| Flag | Required | Description |
|---|---|---|
--file <path> | no | JSON file body (otherwise read stdin) |
Examples
1cavuno 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
1cavuno blog posts list [options]
Options
| Flag | Required | Description |
|---|---|---|
--status <status> | no | Filter by status (draft|scheduled|published) |
--limit <n> | no | Page size 1-100 |
--cursor <cursor> | no | Pagination cursor |
Examples
1cavuno blog posts list --status draft
cavuno blog posts get
Fetch a post by ID (includes html).
Maps to GET /v1/blog/posts/:id
Synopsis
1cavuno blog posts get <id>
Arguments
| Name | Required | Description |
|---|---|---|
id | yes | Post ID |
Examples
1cavuno blog posts get k97...
cavuno blog posts create
Create a post (defaults to draft).
Maps to POST /v1/blog/posts
Synopsis
1cavuno blog posts create [options]
Options
| Flag | Required | Description |
|---|---|---|
--title <title> | yes | Post title (required) |
--slug <slug> | no | URL slug; auto-derived from --title |
--html <html> | no | Rich-text HTML body (sanitized server-side) |
--custom-excerpt <text> | no | Excerpt |
--status <status> | no | draft|scheduled|published |
--published-at <iso> | no | ISO datetime (required for scheduled) |
--featured | no | Mark as featured |
--author-ids <ids> | no | Comma-separated author IDs |
--tag-ids <ids> | no | Comma-separated tag IDs |
--cover-media-id <id> | no | Cover image media id from `cavuno media upload --purpose blog_image` |
--og-image-media-id <id> | no | OG image media id from `cavuno media upload --purpose blog_image` |
--feature-image-alt <text> | no | Feature image alt text |
--feature-image-caption <text> | no | Feature image caption |
--seo-title <text> | no | SEO meta title |
--seo-description <text> | no | SEO meta description |
--canonical-url <url> | no | Canonical URL |
Examples
1cavuno 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
1cavuno blog posts update <id> [options]
Arguments
| Name | Required | Description |
|---|---|---|
id | yes | Post ID |
Options
| Flag | Required | Description |
|---|---|---|
--title <title> | no | |
--slug <slug> | no | |
--html <html> | no | |
--custom-excerpt <text> | no | |
--featured | no | |
--author-ids <ids> | no | Comma-separated author IDs |
--tag-ids <ids> | no | Comma-separated tag IDs |
--feature-image-alt <text> | no | Feature image alt text |
--feature-image-caption <text> | no | Feature image caption |
--seo-title <text> | no | SEO meta title |
--seo-description <text> | no | SEO meta description |
--canonical-url <url> | no | Canonical URL |
Examples
1cavuno blog posts update k97... --title "New"
cavuno blog posts publish
Publish a post.
Maps to POST /v1/blog/posts/:id/publish
Synopsis
1cavuno blog posts publish <id>
Arguments
| Name | Required | Description |
|---|---|---|
id | yes | Post ID |
Examples
1cavuno blog posts publish k97...
cavuno blog posts unpublish
Unpublish a post.
Maps to POST /v1/blog/posts/:id/unpublish
Synopsis
1cavuno blog posts unpublish <id>
Arguments
| Name | Required | Description |
|---|---|---|
id | yes | Post ID |
Examples
1cavuno blog posts unpublish k97...
cavuno blog posts toggle-featured
Toggle featured on a post.
Maps to POST /v1/blog/posts/:id/toggle-featured
Synopsis
1cavuno blog posts toggle-featured <id>
Arguments
| Name | Required | Description |
|---|---|---|
id | yes | Post ID |
Examples
1cavuno blog posts toggle-featured k97...
cavuno blog posts search
Title search across all statuses (includes drafts).
Maps to POST /v1/blog/posts/search
Synopsis
1cavuno blog posts search <query> [options]
Arguments
| Name | Required | Description |
|---|---|---|
query | yes | Search query |
Options
| Flag | Required | Description |
|---|---|---|
--status <status> | no | Narrow to one status |
--limit <n> | no | Page size 1-100 |
Examples
1cavuno blog posts search "hiring"
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
1cavuno blog posts batch [options]
Options
| Flag | Required | Description |
|---|---|---|
--file <path> | no | JSON file body (otherwise read stdin) |
Examples
1cavuno blog posts batch --file ops.json
cavuno blog posts delete
Delete a post.
Maps to DELETE /v1/blog/posts/:id
Synopsis
1cavuno blog posts delete <id> [options]
Arguments
| Name | Required | Description |
|---|---|---|
id | yes | Post ID |
Options
| Flag | Required | Description |
|---|---|---|
-y, --yes | no | Skip the confirmation prompt |
Examples
1cavuno blog posts delete k97... --yes
settings
Manage singleton board settings.
cavuno settings get
Fetch the singleton board settings.
Synopsis
1cavuno settings get
cavuno settings update
Update fields on the singleton board settings.
Synopsis
1cavuno settings update [options]
Options
| Flag | Required | Description |
|---|---|---|
--name <name> | no | Board name |
--slug <slug> | no | Board slug (cascades to account slug) |
--blog-enabled <bool> | no | Toggle blog feature flag (true/false) |
--candidates-enabled <bool> | no | Toggle candidate-area flag (true/false) |
--require-cookie-consent <bool> | no | Toggle cookie consent banner (true/false) |
--talent-directory-visibility <mode> | no | Talent directory mode: off | public | employers_only |
--talent-directory-enabled <bool> | no | Legacy shorthand for talent directory (true→public, false→off) |
--cookie-banner-title <text> | no | Cookie banner title |
--cookie-banner-description <text> | no | Cookie banner description |
--cookie-banner-reject-label <text> | no | Cookie banner reject button label |
--cookie-banner-accept-label <text> | no | Cookie banner accept button label |
--cookie-banner-manage-label <text> | no | Cookie banner manage/preferences label |
cavuno settings get-adsense
Fetch the AdSense configuration.
Synopsis
1cavuno settings get-adsense
cavuno settings delete-hero
Remove the hero image (storage object + reference).
Maps to DELETE /v1/settings/hero
Synopsis
1cavuno settings delete-hero [options]
Options
| Flag | Required | Description |
|---|---|---|
-y, --yes | no | Skip the confirmation prompt |
Examples
1cavuno settings delete-hero --yes
cavuno settings update-adsense
Update the AdSense configuration.
Synopsis
1cavuno settings update-adsense [options]
Options
| Flag | Required | Description |
|---|---|---|
--enabled <bool> | no | Toggle AdSense (true/false) |
--client-id <id> | no | AdSense publisher id (ca-pub-…); pass empty string to clear |
--ads-txt <text> | no | Inline ads.txt content; pass empty string to clear |
--slots-json <json> | no | AdSense slots as JSON: '{"slot_a":{"enabled":true,"slotId":"123"}}' |
cavuno settings set-password-protection
Enable board password protection. Reads the password from stdin to avoid leaking it via shell history. Pipe a password: echo "pw" | cavuno settings set-password-protection
Synopsis
1cavuno 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
1cavuno settings delete-password-protection [options]
Options
| Flag | Required | Description |
|---|---|---|
-y, --yes | no | Skip the confirmation prompt |
Examples
1cavuno 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
1cavuno settings job-form-set-custom-fields [options]
Options
| Flag | Required | Description |
|---|---|---|
--file <path> | no | JSON file body (otherwise read stdin) |
Examples
1cavuno 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
1cavuno media upload <file> [options]
Arguments
| Name | Required | Description |
|---|---|---|
file | yes | Path to the local file to upload |
Options
| Flag | Required | Description |
|---|---|---|
--purpose <purpose> | yes | Upload purpose (see help) |
--resource-id <id> | no | Optional resource ID for purpose-bound uploads |
--account-id <id> | no | Tenant account ID (defaults to api key tenant) |
cavuno media get
Fetch media metadata + a fresh signed URL by storage ID.
Synopsis
1cavuno media get <id> [options]
Arguments
| Name | Required | Description |
|---|---|---|
id | yes | Storage ID |
Options
| Flag | Required | Description |
|---|---|---|
--account-id <id> | no | Tenant 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
1cavuno domains list [options]
Options
| Flag | Required | Description |
|---|---|---|
--limit <n> | no | Page size 1-50 (default 50) |
--cursor <cursor> | no | Pagination cursor |
Examples
1cavuno domains list
cavuno domains get
Fetch a custom domain by ID.
Maps to GET /v1/domains/:id
Synopsis
1cavuno domains get <id>
Arguments
| Name | Required | Description |
|---|---|---|
id | yes | Domain ID |
Examples
1cavuno domains get domain_123
cavuno domains add
Add a custom domain and print verification instructions.
Maps to POST /v1/domains
Synopsis
1cavuno domains add <host>
Arguments
| Name | Required | Description |
|---|---|---|
host | yes | Hostname, for example jobs.example.com |
Examples
1cavuno domains add jobs.example.com
cavuno domains verify
Start custom-domain verification.
Maps to POST /v1/domains/:id/verify
Synopsis
1cavuno domains verify <id> [options]
Arguments
| Name | Required | Description |
|---|---|---|
id | yes | Domain ID |
Options
| Flag | Required | Description |
|---|---|---|
--wait | no | Poll the returned operation until it reaches a terminal state |
--interval-ms <n> | no | Poll interval in milliseconds (default 2000) |
--timeout-ms <n> | no | Give up after this many milliseconds (default 3600000) |
Examples
1cavuno domains verify domain_123
1cavuno domains verify domain_123 --wait
cavuno domains remove
Delete a custom domain.
Maps to DELETE /v1/domains/:id
Synopsis
1cavuno domains remove <id> [options]
Arguments
| Name | Required | Description |
|---|---|---|
id | yes | Domain ID |
Options
| Flag | Required | Description |
|---|---|---|
-y, --yes | no | Skip the confirmation prompt |
Examples
1cavuno domains remove domain_123 --yes
operations
Poll and cancel async operations by ID.
cavuno operations get
Fetch a single operation by ID.
Maps to GET /v1/operations/:id
Synopsis
1cavuno operations get <id>
Arguments
| Name | Required | Description |
|---|---|---|
id | yes | Operation ID |
Examples
1cavuno operations get op_123
cavuno operations cancel
Request cancellation of an operation.
Maps to POST /v1/operations/:id/cancel
Synopsis
1cavuno operations cancel <id>
Arguments
| Name | Required | Description |
|---|---|---|
id | yes | Operation ID |
Examples
1cavuno 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
1cavuno operations wait <id> [options]
Arguments
| Name | Required | Description |
|---|---|---|
id | yes | Operation ID |
Options
| Flag | Required | Description |
|---|---|---|
--interval-ms <n> | no | Poll interval in milliseconds (default 2000) |
--timeout-ms <n> | no | Give up after this many milliseconds (default 3600000) |
Examples
1cavuno operations wait op_123
1cavuno 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
1cavuno taxonomies remote-permits
Examples
1cavuno taxonomies remote-permits
cavuno taxonomies remote-timezones
List remote-work timezone options.
Maps to GET /v1/taxonomies/remote-timezones
Synopsis
1cavuno taxonomies remote-timezones
Examples
1cavuno taxonomies remote-timezones
cavuno taxonomies skills list
List skills.
Maps to GET /v1/taxonomies/skills
Synopsis
1cavuno taxonomies skills list [options]
Options
| Flag | Required | Description |
|---|---|---|
--limit <n> | no | Page size 1-100 |
--cursor <cursor> | no | Pagination cursor |
--search <q> | no | Search name/slug |
Examples
1cavuno taxonomies skills list
cavuno taxonomies skills get
Get a skill by id.
Maps to GET /v1/taxonomies/skills/:id
Synopsis
1cavuno taxonomies skills get <id>
Arguments
| Name | Required | Description |
|---|---|---|
id | yes | Opaque object id |
Examples
1cavuno taxonomies skills get <id>
cavuno taxonomies skills create
Create a skill.
Maps to POST /v1/taxonomies/skills
Synopsis
1cavuno taxonomies skills create [options]
Options
| Flag | Required | Description |
|---|---|---|
--name <name> | yes | Display name |
--slug <slug> | no | Canonical slug (default: from name) |
--source-locale <locale> | no | Source locale |
--alias-slugs <slugs> | no | Comma-separated initial aliases |
Examples
1cavuno taxonomies skills create --name "Example" --slug example
cavuno taxonomies skills update
Update a skill.
Maps to PATCH /v1/taxonomies/skills/:id
Synopsis
1cavuno taxonomies skills update <id> [options]
Arguments
| Name | Required | Description |
|---|---|---|
id | yes | Opaque object id |
Options
| Flag | Required | Description |
|---|---|---|
--name <name> | no | Display name |
--slug <slug> | no | Canonical slug |
--source-locale <locale> | no | Source locale |
Examples
1cavuno taxonomies skills update <id> --name "New name"
cavuno taxonomies skills delete
Delete a skill.
Maps to DELETE /v1/taxonomies/skills/:id
Synopsis
1cavuno taxonomies skills delete <id>
Arguments
| Name | Required | Description |
|---|---|---|
id | yes | Opaque object id |
Examples
1cavuno 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
1cavuno taxonomies skills add-alias <id> [options]
Arguments
| Name | Required | Description |
|---|---|---|
id | yes | Opaque object id |
Options
| Flag | Required | Description |
|---|---|---|
--alias <aliases> | yes | Alias slug or comma-separated list |
Examples
1cavuno 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
1cavuno taxonomies skills remove-alias <id> <alias>
Arguments
| Name | Required | Description |
|---|---|---|
id | yes | Opaque object id |
alias | yes | Alias slug to remove |
Examples
1cavuno 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
1cavuno taxonomies categories tree
Examples
1cavuno taxonomies categories tree
cavuno taxonomies categories list
List categories.
Maps to GET /v1/taxonomies/categories
Synopsis
1cavuno taxonomies categories list [options]
Options
| Flag | Required | Description |
|---|---|---|
--limit <n> | no | Page size 1-100 |
--cursor <cursor> | no | Pagination cursor |
--search <q> | no | Search name/slug |
Examples
1cavuno taxonomies categories list
cavuno taxonomies categories get
Get a categorie by id.
Maps to GET /v1/taxonomies/categories/:id
Synopsis
1cavuno taxonomies categories get <id>
Arguments
| Name | Required | Description |
|---|---|---|
id | yes | Opaque object id |
Examples
1cavuno taxonomies categories get <id>
cavuno taxonomies categories create
Create a categorie.
Maps to POST /v1/taxonomies/categories
Synopsis
1cavuno taxonomies categories create [options]
Options
| Flag | Required | Description |
|---|---|---|
--name <name> | yes | Display name |
--slug <slug> | no | Canonical slug (default: from name) |
--source-locale <locale> | no | Source locale |
--alias-slugs <slugs> | no | Comma-separated initial aliases |
--parent-id <id> | no | Parent category id |
Examples
1cavuno taxonomies categories create --name "Example" --slug example
cavuno taxonomies categories update
Update a categorie.
Maps to PATCH /v1/taxonomies/categories/:id
Synopsis
1cavuno taxonomies categories update <id> [options]
Arguments
| Name | Required | Description |
|---|---|---|
id | yes | Opaque object id |
Options
| Flag | Required | Description |
|---|---|---|
--name <name> | no | Display name |
--slug <slug> | no | Canonical slug |
--source-locale <locale> | no | Source locale |
--parent-id <id> | no | Parent category id |
--clear-parent | no | Clear parent (root) |
Examples
1cavuno taxonomies categories update <id> --name "New name"
cavuno taxonomies categories delete
Delete a categorie.
Maps to DELETE /v1/taxonomies/categories/:id
Synopsis
1cavuno taxonomies categories delete <id>
Arguments
| Name | Required | Description |
|---|---|---|
id | yes | Opaque object id |
Examples
1cavuno 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
1cavuno taxonomies categories add-alias <id> [options]
Arguments
| Name | Required | Description |
|---|---|---|
id | yes | Opaque object id |
Options
| Flag | Required | Description |
|---|---|---|
--alias <aliases> | yes | Alias slug or comma-separated list |
Examples
1cavuno 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
1cavuno taxonomies categories remove-alias <id> <alias>
Arguments
| Name | Required | Description |
|---|---|---|
id | yes | Opaque object id |
alias | yes | Alias slug to remove |
Examples
1cavuno taxonomies categories remove-alias <id> other-slug
cavuno taxonomies markets list
List markets.
Maps to GET /v1/taxonomies/markets
Synopsis
1cavuno taxonomies markets list [options]
Options
| Flag | Required | Description |
|---|---|---|
--limit <n> | no | Page size 1-100 |
--cursor <cursor> | no | Pagination cursor |
--search <q> | no | Search name/slug |
Examples
1cavuno taxonomies markets list
cavuno taxonomies markets get
Get a market by id.
Maps to GET /v1/taxonomies/markets/:id
Synopsis
1cavuno taxonomies markets get <id>
Arguments
| Name | Required | Description |
|---|---|---|
id | yes | Opaque object id |
Examples
1cavuno taxonomies markets get <id>
cavuno taxonomies markets create
Create a market.
Maps to POST /v1/taxonomies/markets
Synopsis
1cavuno taxonomies markets create [options]
Options
| Flag | Required | Description |
|---|---|---|
--name <name> | yes | Display name |
--slug <slug> | no | Canonical slug (default: from name) |
--source-locale <locale> | no | Source locale |
--alias-slugs <slugs> | no | Comma-separated initial aliases |
Examples
1cavuno taxonomies markets create --name "Example" --slug example
cavuno taxonomies markets update
Update a market.
Maps to PATCH /v1/taxonomies/markets/:id
Synopsis
1cavuno taxonomies markets update <id> [options]
Arguments
| Name | Required | Description |
|---|---|---|
id | yes | Opaque object id |
Options
| Flag | Required | Description |
|---|---|---|
--name <name> | no | Display name |
--slug <slug> | no | Canonical slug |
--source-locale <locale> | no | Source locale |
Examples
1cavuno taxonomies markets update <id> --name "New name"
cavuno taxonomies markets delete
Delete a market.
Maps to DELETE /v1/taxonomies/markets/:id
Synopsis
1cavuno taxonomies markets delete <id>
Arguments
| Name | Required | Description |
|---|---|---|
id | yes | Opaque object id |
Examples
1cavuno 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
1cavuno taxonomies markets add-alias <id> [options]
Arguments
| Name | Required | Description |
|---|---|---|
id | yes | Opaque object id |
Options
| Flag | Required | Description |
|---|---|---|
--alias <aliases> | yes | Alias slug or comma-separated list |
Examples
1cavuno 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
1cavuno taxonomies markets remove-alias <id> <alias>
Arguments
| Name | Required | Description |
|---|---|---|
id | yes | Opaque object id |
alias | yes | Alias slug to remove |
Examples
1cavuno 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
1cavuno candidates list [options]
Options
| Flag | Required | Description |
|---|---|---|
--search <query> | no | Substring search on email / display name |
--handle <handle> | no | Exact profile handle lookup |
--has-resume | no | Only candidates with a resume on file |
--created-from <iso> | no | Filter to candidates created on/after |
--created-to <iso> | no | Filter to candidates created on/before |
--limit <n> | no | Page size 1-100 (default 50) |
--cursor <cursor> | no | Pagination cursor |
Examples
1cavuno candidates list
1cavuno 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
1cavuno candidates resume <id> [options]
Arguments
| Name | Required | Description |
|---|---|---|
id | yes | Candidate ID |
Options
| Flag | Required | Description |
|---|---|---|
--output <path> | yes | File path to write |
Examples
1cavuno 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
1cavuno candidates get <id>
Arguments
| Name | Required | Description |
|---|---|---|
id | yes | Candidate ID |
Examples
1cavuno 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
1cavuno candidates delete <id> [options]
Arguments
| Name | Required | Description |
|---|---|---|
id | yes | Candidate ID |
Options
| Flag | Required | Description |
|---|---|---|
--idempotency-key <key> | no | Reuse this key when retrying the same logical mutation |
-y, --yes | no | Skip the confirmation prompt |
--wait | no | Poll the returned operation until it reaches a terminal state |
--interval-ms <n> | no | Poll interval in milliseconds (default 2000) |
--timeout-ms <n> | no | Give up after this many milliseconds (default 3600000) |
Examples
1cavuno candidates delete nh7abc... --yes
1cavuno candidates delete nh7abc... --yes --wait
employers
Manage employers, memberships, and company claims.
cavuno employers list
List employers (paginated).
Maps to GET /v1/employers
Synopsis
1cavuno employers list [options]
Options
| Flag | Required | Description |
|---|---|---|
--search <query> | no | Substring search on email / display name |
--limit <n> | no | Page size 1-100 (default 50) |
--cursor <cursor> | no | Pagination cursor |
Examples
1cavuno employers list
1cavuno employers list --search acme
cavuno employers get
Fetch a single employer by ID (with memberships + claims).
Maps to GET /v1/employers/:id
Synopsis
1cavuno employers get <id>
Arguments
| Name | Required | Description |
|---|---|---|
id | yes | Employer ID |
Examples
1cavuno 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
1cavuno employers delete <id> [options]
Arguments
| Name | Required | Description |
|---|---|---|
id | yes | Employer ID |
Options
| Flag | Required | Description |
|---|---|---|
--idempotency-key <key> | no | Reuse this key when retrying the same logical mutation |
-y, --yes | no | Skip the confirmation prompt |
--wait | no | Poll the returned operation until it reaches a terminal state |
--interval-ms <n> | no | Poll interval in milliseconds (default 2000) |
--timeout-ms <n> | no | Give up after this many milliseconds (default 3600000) |
Examples
1cavuno employers delete nh7abc... --yes
1cavuno employers delete nh7abc... --yes --wait
cavuno employers memberships
List employer↔company memberships (paginated).
Maps to GET /v1/employers/memberships
Synopsis
1cavuno employers memberships [options]
Options
| Flag | Required | Description |
|---|---|---|
--status <status> | no | Filter by status (pending|approved|rejected) |
--company-id <id> | no | Filter to a single company |
--limit <n> | no | Page size 1-100 (default 50) |
--cursor <cursor> | no | Pagination cursor |
Examples
1cavuno employers memberships --status approved
cavuno employers membership
Fetch a single employer↔company membership by ID.
Maps to GET /v1/employers/memberships/:id
Synopsis
1cavuno employers membership <id>
Arguments
| Name | Required | Description |
|---|---|---|
id | yes | Membership ID |
Examples
1cavuno employers membership pd7abc...
cavuno employers claims
List company claims (defaults to pending).
Maps to GET /v1/employers/claims
Synopsis
1cavuno employers claims [options]
Options
| Flag | Required | Description |
|---|---|---|
--status <status> | no | Filter by status (pending|approved|rejected) |
--company-id <id> | no | Filter to a single company |
--limit <n> | no | Page size 1-100 (default 50) |
--cursor <cursor> | no | Pagination cursor |
Examples
1cavuno employers claims
1cavuno employers claims --status approved
cavuno employers approve-claim
Approve a pending company claim (idempotent).
Maps to POST /v1/employers/claims/:id/approve
Synopsis
1cavuno employers approve-claim <id> [options]
Arguments
| Name | Required | Description |
|---|---|---|
id | yes | Claim ID |
Options
| Flag | Required | Description |
|---|---|---|
--idempotency-key <key> | no | Reuse this key when retrying the same logical mutation |
Examples
1cavuno employers approve-claim pd7abc...
cavuno employers reject-claim
Reject a pending company claim (idempotent).
Maps to POST /v1/employers/claims/:id/reject
Synopsis
1cavuno employers reject-claim <id> [options]
Arguments
| Name | Required | Description |
|---|---|---|
id | yes | Claim ID |
Options
| Flag | Required | Description |
|---|---|---|
--idempotency-key <key> | no | Reuse this key when retrying the same logical mutation |
Examples
1cavuno 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
1cavuno employer-subscriptions list [options]
Options
| Flag | Required | Description |
|---|---|---|
--limit <n> | no | Page size 1-100 (default 50) |
--cursor <cursor> | no | Pagination cursor |
--status <status> | no | Filter by status (active, canceled, …) |
--company-id <id> | no | Filter by company id |
Examples
1cavuno employer-subscriptions list
1cavuno employer-subscriptions list --status active
cavuno employer-subscriptions get
Get one employer subscription by id.
Maps to GET /v1/employer-subscriptions/:id
Synopsis
1cavuno employer-subscriptions get <id>
Arguments
| Name | Required | Description |
|---|---|---|
id | yes | Employer subscription id |
Examples
1cavuno 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
1cavuno coupons list
Examples
1cavuno coupons list
cavuno coupons get
Get a coupon by id.
Maps to GET /v1/coupons/:id
Synopsis
1cavuno coupons get <id>
Arguments
| Name | Required | Description |
|---|---|---|
id | yes | Coupon id |
Examples
1cavuno coupons get coupon_xxx
cavuno coupons create
Create a Board coupon.
Maps to POST /v1/coupons
Synopsis
1cavuno coupons create [options]
Options
| Flag | Required | Description |
|---|---|---|
--name <name> | yes | Coupon name |
--percent-off <n> | no | Percent off (0-100) |
--amount-off <n> | no | Fixed discount in the currency major unit (e.g. 10 for $10, 1000 for ¥1000) |
--currency <code> | no | Currency for fixed amount (e.g. usd) |
--duration <duration> | yes | once | forever | repeating |
--duration-in-months <n> | no | Required when duration=repeating |
--max-redemptions <n> | no | Max redemptions |
Examples
1cavuno coupons create --name "Spring sale" --percent-off 20 --duration once
cavuno coupons rename
Rename a coupon.
Maps to PATCH /v1/coupons/:id
Synopsis
1cavuno coupons rename <id> [options]
Arguments
| Name | Required | Description |
|---|---|---|
id | yes | Coupon id |
Options
| Flag | Required | Description |
|---|---|---|
--name <name> | yes | New name |
Examples
1cavuno coupons rename coupon_xxx --name "Fall sale"
cavuno coupons delete
Delete a coupon (destructive).
Maps to DELETE /v1/coupons/:id
Synopsis
1cavuno coupons delete <id> [options]
Arguments
| Name | Required | Description |
|---|---|---|
id | yes | Coupon id |
Options
| Flag | Required | Description |
|---|---|---|
-y, --yes | no | Skip the confirmation prompt |
Examples
1cavuno 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
1cavuno coupons promotion-code-create <couponId> [options]
Arguments
| Name | Required | Description |
|---|---|---|
couponId | yes | Coupon id |
Options
| Flag | Required | Description |
|---|---|---|
--code <code> | yes | Promotion code string |
--max-redemptions <n> | no | Max redemptions |
--expires-at <iso> | no | ISO-8601 expiry |
Examples
1cavuno 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
1cavuno coupons promotion-code-archive <id>
Arguments
| Name | Required | Description |
|---|---|---|
id | yes | Promotion code id |
Examples
1cavuno 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
1cavuno reporting integrations
Examples
1cavuno reporting integrations
cavuno reporting get
Fetch one reporting integration by provider.
Maps to GET /v1/integrations/reporting/:provider
Synopsis
1cavuno reporting get <provider>
Arguments
| Name | Required | Description |
|---|---|---|
provider | yes | search_console | adsense | tinybird | stripe |
Examples
1cavuno 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
1cavuno reporting connect <provider> [options]
Arguments
| Name | Required | Description |
|---|---|---|
provider | yes | search_console | adsense | tinybird | stripe |
Options
| Flag | Required | Description |
|---|---|---|
--idempotency-key <key> | no | Reuse this key when retrying the same logical mutation |
Examples
1cavuno reporting connect search_console
cavuno reporting enable
Enable collection for an existing integration.
Maps to PATCH /v1/integrations/reporting/:provider
Synopsis
1cavuno reporting enable <provider> [options]
Arguments
| Name | Required | Description |
|---|---|---|
provider | yes | The provider to enable |
Options
| Flag | Required | Description |
|---|---|---|
--idempotency-key <key> | no | Reuse this key when retrying the same logical mutation |
Examples
1cavuno reporting enable adsense
cavuno reporting disable
Pause collection for an existing integration.
Maps to PATCH /v1/integrations/reporting/:provider
Synopsis
1cavuno reporting disable <provider> [options]
Arguments
| Name | Required | Description |
|---|---|---|
provider | yes | The provider to disable |
Options
| Flag | Required | Description |
|---|---|---|
--idempotency-key <key> | no | Reuse this key when retrying the same logical mutation |
Examples
1cavuno reporting disable adsense
cavuno reporting disconnect
Disconnect an integration (delete the row).
Maps to DELETE /v1/integrations/reporting/:provider
Synopsis
1cavuno reporting disconnect <provider> [options]
Arguments
| Name | Required | Description |
|---|---|---|
provider | yes | The provider to disconnect |
Options
| Flag | Required | Description |
|---|---|---|
--idempotency-key <key> | no | Reuse this key when retrying the same logical mutation |
-y, --yes | no | Skip the confirmation prompt |
Examples
1cavuno 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
1cavuno billing subscription
Examples
1cavuno billing subscription
cavuno billing connect
Show the Board's payment connection readiness.
Maps to GET /v1/billing/connect
Synopsis
1cavuno billing connect
Examples
1cavuno billing connect
cavuno billing checkout
Create a hosted checkout URL for a target plan.
Maps to POST /v1/billing/checkout
Synopsis
1cavuno billing checkout [options]
Options
| Flag | Required | Description |
|---|---|---|
--plan <key> | yes | Plan key (starter|basic|grow|advanced|enterprise) |
--interval <interval> | no | Billing interval (monthly|annual; default monthly) |
Examples
1cavuno billing checkout --plan starter
1cavuno 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
1cavuno billing upgrade [options]
Options
| Flag | Required | Description |
|---|---|---|
--plan <key> | yes | Target plan key (starter|basic|grow|advanced|enterprise) |
--interval <interval> | no | Billing interval (monthly|annual; default monthly) |
--idempotency-key <key> | no | Reuse this key when retrying the same logical mutation |
Examples
1cavuno billing upgrade --plan basic
1cavuno 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
1cavuno plans list
Examples
1cavuno plans list
cavuno plans get
Get one employer plan by id.
Maps to GET /v1/plans/:id
Synopsis
1cavuno plans get <id>
Arguments
| Name | Required | Description |
|---|---|---|
id | yes | Plan id |
Examples
1cavuno plans get plans_xxx
cavuno plans create
Create an employer plan (metadata only; set price separately).
Maps to POST /v1/plans
Synopsis
1cavuno plans create [options]
Options
| Flag | Required | Description |
|---|---|---|
--name <name> | yes | Plan display name |
--kind <kind> | yes | Plan kind: free | one_time | bundle | subscription |
--description <text> | no | Plan description |
--billing-interval <interval> | no | month | year (subscription) |
--purpose <purpose> | no | job_posting | talent_access |
--public | no | List the plan publicly |
--recommended | no | Mark as recommended |
--display-order <n> | no | Display order integer |
Examples
1cavuno 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
1cavuno plans update <id> [options]
Arguments
| Name | Required | Description |
|---|---|---|
id | yes | Plan id |
Options
| Flag | Required | Description |
|---|---|---|
--name <name> | no | New display name |
--description <text> | no | New description |
--public | no | Publish the plan |
--private | no | Unpublish the plan |
--recommended | no | Mark recommended |
--not-recommended | no | Clear recommended |
--archived | no | Archive the plan |
--unarchived | no | Unarchive the plan |
--display-order <n> | no | Display order integer |
Examples
1cavuno plans update plans_xxx --name "Pro+"
1cavuno 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
1cavuno plans set-price <id> [options]
Arguments
| Name | Required | Description |
|---|---|---|
id | yes | Plan id |
Options
| Flag | Required | Description |
|---|---|---|
--currency <code> | yes | ISO 4217 currency, e.g. usd |
--amount-cents <n> | yes | Amount in smallest currency unit |
Examples
1cavuno 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
1cavuno plans get-features <id>
Arguments
| Name | Required | Description |
|---|---|---|
id | yes | Plan id |
Examples
1cavuno 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
1cavuno plans set-features <id> <featuresJson>
Arguments
| Name | Required | Description |
|---|---|---|
id | yes | Plan id |
featuresJson | yes | JSON array of {key, value} |
Examples
1cavuno 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
1cavuno transactions list [options]
Options
| Flag | Required | Description |
|---|---|---|
--limit <n> | no | Page size 1-100 (default 50) |
--cursor <cursor> | no | Pagination cursor |
--status <status> | no | Filter: paid | open | void | uncollectible |
--kind <kind> | no | Filter: card_post | invoice | subscription |
--search <q> | no | Full-text search (mutually exclusive with --order-id / --subscription-id) |
--order-id <id> | no | Filter by jobOrders id (mutually exclusive with --search / --subscription-id) |
--subscription-id <id> | no | Filter by employerSubscriptions id (mutually exclusive with --search / --order-id) |
Examples
1cavuno transactions list
1cavuno transactions list --status paid --kind invoice
1cavuno transactions list --search "Acme"
cavuno transactions get
Get one transaction by id.
Maps to GET /v1/transactions/:id
Synopsis
1cavuno transactions get <id>
Arguments
| Name | Required | Description |
|---|---|---|
id | yes | Transaction id |
Examples
1cavuno 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
1cavuno indexing config
Examples
1cavuno indexing config
cavuno indexing enable-indexnow
Enable IndexNow (Bing/Yandex instant indexing).
Maps to POST /v1/integrations/indexing/toggle-indexnow
Synopsis
1cavuno indexing enable-indexnow [options]
Options
| Flag | Required | Description |
|---|---|---|
--idempotency-key <key> | no | Reuse this key when retrying the same logical mutation |
Examples
1cavuno indexing enable-indexnow
cavuno indexing disable-indexnow
Disable IndexNow.
Maps to POST /v1/integrations/indexing/toggle-indexnow
Synopsis
1cavuno indexing disable-indexnow [options]
Options
| Flag | Required | Description |
|---|---|---|
--idempotency-key <key> | no | Reuse this key when retrying the same logical mutation |
Examples
1cavuno 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
1cavuno imports list [options]
Options
| Flag | Required | Description |
|---|---|---|
--status <status> | no | Filter by status (pending|processing|completed|partial|failed) |
--from <iso> | no | Only batches created at or after this ISO date |
--to <iso> | no | Only batches created at or before this ISO date |
--limit <n> | no | Page size 1-50 (default 50) |
--cursor <cursor> | no | Pagination cursor |
Examples
1cavuno imports list
1cavuno imports list --status completed --limit 10
cavuno imports get
Fetch one import batch (status, errors, proposed mapping).
Maps to GET /v1/imports/:id
Synopsis
1cavuno imports get <id>
Arguments
| Name | Required | Description |
|---|---|---|
id | yes | Import batch ID |
Examples
1cavuno 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
1cavuno imports create <file> [options]
Arguments
| Name | Required | Description |
|---|---|---|
file | yes | Path to the local .csv file to upload |
Options
| Flag | Required | Description |
|---|---|---|
--idempotency-key <key> | no | Reuse this key when retrying the same logical mutation |
--wait | no | Poll the returned operation until it reaches a terminal state |
--interval-ms <n> | no | Poll interval in milliseconds (default 2000) |
--timeout-ms <n> | no | Give up after this many milliseconds (default 3600000) |
Examples
1cavuno imports create ./jobs.csv
1cavuno 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
1cavuno imports confirm <id> [options]
Arguments
| Name | Required | Description |
|---|---|---|
id | yes | Import batch ID |
Options
| Flag | Required | Description |
|---|---|---|
--inline-mapping <json> | no | A first-time or revised mapping as a JSON string. Omit to use the batch-attached mapping. |
--idempotency-key <key> | no | Reuse this key when retrying the same logical mutation |
--wait | no | Poll the returned operation until it reaches a terminal state |
--interval-ms <n> | no | Poll interval in milliseconds (default 2000) |
--timeout-ms <n> | no | Give up after this many milliseconds (default 3600000) |
Examples
1cavuno imports confirm imports_k25abc
1cavuno 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
1cavuno imports cancel <id> [options]
Arguments
| Name | Required | Description |
|---|---|---|
id | yes | Import batch ID |
Options
| Flag | Required | Description |
|---|---|---|
--idempotency-key <key> | no | Reuse this key when retrying the same logical mutation |
Examples
1cavuno imports cancel imports_k25abc
cavuno imports quota
Show the account's daily import usage and reset boundary.
Maps to GET /v1/imports/quota
Synopsis
1cavuno imports quota
Examples
1cavuno imports quota
backfill
Manage Backfill rules, company sources, and aggregate progress (dashboard-shaped Operator surface).
cavuno backfill progress
Show aggregate Backfill progress for the Board (onboarding-shaped).
Maps to GET /v1/backfill/progress
Synopsis
1cavuno backfill progress
Examples
1cavuno backfill progress
cavuno backfill rules list
List named Backfill rules for the Board.
Maps to GET /v1/backfill/rules
Synopsis
1cavuno backfill rules list
Examples
1cavuno backfill rules list
cavuno backfill rules get
Retrieve a Backfill rule by Cavuno ID.
Maps to GET /v1/backfill/rules/{id}
Synopsis
1cavuno backfill rules get <id>
Arguments
| Name | Required | Description |
|---|---|---|
id | yes | Backfill rule ID |
Examples
1cavuno 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
1cavuno backfill rules create [options]
Options
| Flag | Required | Description |
|---|---|---|
--name <name> | yes | Rule display name |
--rules <json> | yes | JSON array of { match, conditions[] } rule cards |
--filters <json> | no | JSON object of filters (countries, subdivisions, seniorities, employmentTypes, workplaceTypes) |
--idempotency-key <key> | no | Reuse this key when retrying the same logical mutation |
Examples
1cavuno 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
1cavuno backfill rules update <id> [options]
Arguments
| Name | Required | Description |
|---|---|---|
id | yes | Backfill rule ID |
Options
| Flag | Required | Description |
|---|---|---|
--name <name> | no | New display name |
--rules <json> | no | JSON array of rule cards replacing the current rules |
--filters <json> | no | JSON object of filters replacing the current filters |
--idempotency-key <key> | no | Reuse this key when retrying the same logical mutation |
Examples
1cavuno backfill rules update <id> --name "Platform eng"
cavuno backfill rules remove
Delete a named Backfill rule.
Maps to DELETE /v1/backfill/rules/{id}
Synopsis
1cavuno backfill rules remove <id> [options]
Arguments
| Name | Required | Description |
|---|---|---|
id | yes | Backfill rule ID |
Options
| Flag | Required | Description |
|---|---|---|
--idempotency-key <key> | no | Reuse this key when retrying the same logical mutation |
-y, --yes | no | Skip the confirmation prompt |
Examples
1cavuno 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
1cavuno backfill companies list [options]
Options
| Flag | Required | Description |
|---|---|---|
--state <state> | yes | Tab state: backfilling | available | needs_match | not_backfilling |
--search <text> | no | Case-insensitive name filter |
--limit <n> | no | Page size (1-100) |
--cursor <cursor> | no | Opaque pagination cursor |
Examples
1cavuno backfill companies list --state available
1cavuno 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
1cavuno backfill companies start <companyId> [options]
Arguments
| Name | Required | Description |
|---|---|---|
companyId | yes | Cavuno company ID |
Options
| Flag | Required | Description |
|---|---|---|
--idempotency-key <key> | no | Reuse this key when retrying the same logical mutation |
Examples
1cavuno backfill companies start <companyId>
cavuno backfill companies stop
Stop Backfill for a Cavuno company.
Maps to POST /v1/backfill/companies/{companyId}/stop
Synopsis
1cavuno backfill companies stop <companyId> [options]
Arguments
| Name | Required | Description |
|---|---|---|
companyId | yes | Cavuno company ID |
Options
| Flag | Required | Description |
|---|---|---|
--idempotency-key <key> | no | Reuse this key when retrying the same logical mutation |
Examples
1cavuno 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
1cavuno backfill companies bulk-start [options]
Options
| Flag | Required | Description |
|---|---|---|
--company-ids <ids> | yes | Comma-separated Cavuno company IDs |
--idempotency-key <key> | no | Reuse this key when retrying the same logical mutation |
Examples
1cavuno 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
1cavuno backfill companies bulk-stop [options]
Options
| Flag | Required | Description |
|---|---|---|
--company-ids <ids> | yes | Comma-separated Cavuno company IDs |
--idempotency-key <key> | no | Reuse this key when retrying the same logical mutation |
Examples
1cavuno 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
1cavuno backfill companies match <companyId> [options]
Arguments
| Name | Required | Description |
|---|---|---|
companyId | yes | Cavuno company ID |
Options
| Flag | Required | Description |
|---|---|---|
--candidate-index <n> | yes | Zero-based candidate index from list |
--start | no | Start backfill after linking the match (default false) (default: false) |
--idempotency-key <key> | no | Reuse this key when retrying the same logical mutation |
Examples
1cavuno 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
1cavuno backfill companies mark-no-match <companyId> [options]
Arguments
| Name | Required | Description |
|---|---|---|
companyId | yes | Cavuno company ID |
Options
| Flag | Required | Description |
|---|---|---|
--idempotency-key <key> | no | Reuse this key when retrying the same logical mutation |
Examples
1cavuno backfill companies mark-no-match <companyId>
analytics
Typed Board homepage analytics (overview metrics and traffic tables).
cavuno analytics overview
Show homepage-shaped analytics overview metrics for the Board.
Maps to GET /v1/analytics/overview
Synopsis
1cavuno analytics overview [options]
Options
| Flag | Required | Description |
|---|---|---|
--start <date> | no | Inclusive range start (YYYY-MM-DD, UTC) |
--end <date> | no | Inclusive range end (YYYY-MM-DD, UTC) |
Examples
1cavuno analytics overview
1cavuno 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
1cavuno analytics traffic [options]
Options
| Flag | Required | Description |
|---|---|---|
--start <date> | no | Inclusive range start (YYYY-MM-DD, UTC) |
--end <date> | no | Inclusive range end (YYYY-MM-DD, UTC) |
--limit <n> | no | Max rows per table (1–10) |
Examples
1cavuno analytics traffic
1cavuno analytics traffic --start 2026-01-01 --end 2026-01-30 --limit 5
paywall
Manage the candidate-access paywall (atomic configuration + six offers) and list subscriptions.
cavuno paywall get
Show the atomic candidate paywall configuration and six fixed offers.
Maps to GET /v1/paywall
Synopsis
1cavuno paywall get
Examples
1cavuno 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
1cavuno paywall replace [options]
Options
| Flag | Required | Description |
|---|---|---|
--body <json> | yes | Full candidate_paywall JSON body (complete resource replace) |
--idempotency-key <key> | no | Reuse this key when retrying the same logical mutation |
Examples
1cavuno 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
1cavuno paywall subscriptions [options]
Options
| Flag | Required | Description |
|---|---|---|
--status <status> | no | Filter by subscription status |
--kind <kind> | no | Filter by kind: recurring | lifetime |
--limit <n> | no | Page size 1–100 |
--cursor <cursor> | no | Pagination cursor from a previous response |
Examples
1cavuno paywall subscriptions
1cavuno 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
1cavuno sales-led-plans list
Examples
1cavuno 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
1cavuno sales-led-plans get <id>
Arguments
| Name | Required | Description |
|---|---|---|
id | yes | Sales-led plan ID |
Examples
1cavuno 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
1cavuno sales-led-plans create [options]
Options
| Flag | Required | Description |
|---|---|---|
--body <json> | yes | CreateSalesLedPlanBody JSON |
--idempotency-key <key> | no | Reuse this key when retrying the same logical mutation |
Examples
1cavuno 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
1cavuno sales-led-plans update <id> [options]
Arguments
| Name | Required | Description |
|---|---|---|
id | yes | Sales-led plan ID |
Options
| Flag | Required | Description |
|---|---|---|
--body <json> | yes | UpdateSalesLedPlanBody JSON |
--idempotency-key <key> | no | Reuse this key when retrying the same logical mutation |
Examples
1cavuno 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
1cavuno sales-led-plans reorder [options]
Options
| Flag | Required | Description |
|---|---|---|
--body <json> | yes | ReorderSalesLedPlansBody JSON ({"orders":[{"id":"…","displayOrder":0},…]}) |
--idempotency-key <key> | no | Reuse this key when retrying the same logical mutation |
Examples
1cavuno 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
1cavuno sales-led-plans publish <id> [options]
Arguments
| Name | Required | Description |
|---|---|---|
id | yes | Sales-led plan ID |
Options
| Flag | Required | Description |
|---|---|---|
--idempotency-key <key> | no | Reuse this key when retrying the same logical mutation |
Examples
1cavuno 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
1cavuno sales-led-plans hide <id> [options]
Arguments
| Name | Required | Description |
|---|---|---|
id | yes | Sales-led plan ID |
Options
| Flag | Required | Description |
|---|---|---|
--idempotency-key <key> | no | Reuse this key when retrying the same logical mutation |
Examples
1cavuno 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
1cavuno sales-led-plans archive <id> [options]
Arguments
| Name | Required | Description |
|---|---|---|
id | yes | Sales-led plan ID |
Options
| Flag | Required | Description |
|---|---|---|
--idempotency-key <key> | no | Reuse this key when retrying the same logical mutation |
Examples
1cavuno 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
1cavuno members list [options]
Options
| Flag | Required | Description |
|---|---|---|
--role <role> | no | Filter by role (owner|admin|member) |
--suspended <bool> | no | Filter by suspension state (true|false) |
Examples
1cavuno members list
1cavuno members list --role admin --suspended false
cavuno members get
Fetch a single member by user ID.
Maps to GET /v1/members/:userId
Synopsis
1cavuno members get <userId>
Arguments
| Name | Required | Description |
|---|---|---|
userId | yes | The user ID of the member |
Examples
1cavuno 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
1cavuno members update <userId> [options]
Arguments
| Name | Required | Description |
|---|---|---|
userId | yes | The user ID of the member |
Options
| Flag | Required | Description |
|---|---|---|
--role <role> | yes | The new role (owner|admin|member) |
--idempotency-key <key> | no | Reuse this key when retrying the same logical mutation |
Examples
1cavuno 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
1cavuno members remove <userId> [options]
Arguments
| Name | Required | Description |
|---|---|---|
userId | yes | The user ID of the member |
Options
| Flag | Required | Description |
|---|---|---|
--idempotency-key <key> | no | Reuse this key when retrying the same logical mutation |
-y, --yes | no | Skip the confirmation prompt |
Examples
1cavuno 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
1cavuno members suspend <userId> [options]
Arguments
| Name | Required | Description |
|---|---|---|
userId | yes | The user ID of the member |
Options
| Flag | Required | Description |
|---|---|---|
--idempotency-key <key> | no | Reuse this key when retrying the same logical mutation |
Examples
1cavuno members suspend users_k800abc
cavuno members unsuspend
Reinstate a suspended member.
Maps to POST /v1/members/:userId/unsuspend
Synopsis
1cavuno members unsuspend <userId> [options]
Arguments
| Name | Required | Description |
|---|---|---|
userId | yes | The user ID of the member |
Options
| Flag | Required | Description |
|---|---|---|
--idempotency-key <key> | no | Reuse this key when retrying the same logical mutation |
Examples
1cavuno 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
1cavuno members transfer-ownership <newOwnerUserId> [options]
Arguments
| Name | Required | Description |
|---|---|---|
newOwnerUserId | yes | The user ID of the member who will become the primary owner |
Options
| Flag | Required | Description |
|---|---|---|
--idempotency-key <key> | no | Reuse this key when retrying the same logical mutation |
-y, --yes | no | Skip the confirmation prompt |
Examples
1cavuno 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
1cavuno invitations list [options]
Options
| Flag | Required | Description |
|---|---|---|
--status <status> | no | Filter by status (pending|expired|accepted|declined) |
--limit <n> | no | Page size 1-100 (default 50) |
--cursor <cursor> | no | Pagination cursor |
Examples
1cavuno invitations list
1cavuno 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
1cavuno invitations create [options]
Options
| Flag | Required | Description |
|---|---|---|
--email <email> | yes | The email address to invite |
--role <role> | yes | The role on accept (admin|member) |
--idempotency-key <key> | no | Reuse this key when retrying the same logical mutation |
Examples
1cavuno invitations create --email new@acme.com --role member
cavuno invitations update
Change a pending invitation's role.
Maps to PATCH /v1/invitations/:id
Synopsis
1cavuno invitations update <id> [options]
Arguments
| Name | Required | Description |
|---|---|---|
id | yes | The invitation ID |
Options
| Flag | Required | Description |
|---|---|---|
--role <role> | yes | The new role (admin|member) |
--idempotency-key <key> | no | Reuse this key when retrying the same logical mutation |
Examples
1cavuno 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
1cavuno invitations renew <id> [options]
Arguments
| Name | Required | Description |
|---|---|---|
id | yes | The invitation ID |
Options
| Flag | Required | Description |
|---|---|---|
--idempotency-key <key> | no | Reuse this key when retrying the same logical mutation |
Examples
1cavuno invitations renew invitations_k900abc
cavuno invitations revoke
Cancel a pending invitation.
Maps to DELETE /v1/invitations/:id
Synopsis
1cavuno invitations revoke <id> [options]
Arguments
| Name | Required | Description |
|---|---|---|
id | yes | The invitation ID |
Options
| Flag | Required | Description |
|---|---|---|
--idempotency-key <key> | no | Reuse this key when retrying the same logical mutation |
-y, --yes | no | Skip the confirmation prompt |
Examples
1cavuno 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
1cavuno subscribers list [options]
Options
| Flag | Required | Description |
|---|---|---|
--search <query> | no | Case-insensitive substring match on email |
--status <status> | no | Filter by lifecycle status: confirmed | unconfirmed | unsubscribed | waitlisted |
--limit <n> | no | Page size 1-100 (default 50) |
--cursor <cursor> | no | Pagination cursor |
Examples
1cavuno subscribers list
1cavuno 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
1cavuno subscribers get <id>
Arguments
| Name | Required | Description |
|---|---|---|
id | yes | Subscriber ID |
Examples
1cavuno subscribers get sub_123
cavuno subscribers count
Count confirmed subscribers for the account.
Maps to GET /v1/subscribers/count
Synopsis
1cavuno subscribers count
Examples
1cavuno subscribers count
cavuno subscribers alerts
List a subscriber's alerts.
Maps to GET /v1/subscribers/:id/alerts
Synopsis
1cavuno subscribers alerts <id>
Arguments
| Name | Required | Description |
|---|---|---|
id | yes | Subscriber ID |
Examples
1cavuno 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
1cavuno subscribers unsubscribe <id> [options]
Arguments
| Name | Required | Description |
|---|---|---|
id | yes | Subscriber ID |
Options
| Flag | Required | Description |
|---|---|---|
--idempotency-key <key> | no | Reuse this key when retrying the same logical mutation |
Examples
1cavuno 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
1cavuno subscribers resubscribe <id> [options]
Arguments
| Name | Required | Description |
|---|---|---|
id | yes | Subscriber ID |
Options
| Flag | Required | Description |
|---|---|---|
--idempotency-key <key> | no | Reuse this key when retrying the same logical mutation |
Examples
1cavuno 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
1cavuno subscribers export [options]
Options
| Flag | Required | Description |
|---|---|---|
--export-format <format> | no | Export format: csv (async, default) or json (inline, max 10,000 rows) (default: csv) |
--wait | no | Poll the returned operation until it reaches a terminal state |
--interval-ms <n> | no | Poll interval in milliseconds (default 2000) |
--timeout-ms <n> | no | Give up after this many milliseconds (default 3600000) |
Examples
1cavuno subscribers export --export-format csv --wait
1cavuno 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
1cavuno subscribers import <file> [options]
Arguments
| Name | Required | Description |
|---|---|---|
file | yes | Path to the CSV file (header row with an email column) |
Options
| Flag | Required | Description |
|---|---|---|
--no-send-confirmation | no | Skip the double-opt-in confirmation email |
--idempotency-key <key> | no | Reuse this key when retrying the same logical mutation |
--wait | no | Poll the returned operation until it reaches a terminal state |
--interval-ms <n> | no | Poll interval in milliseconds (default 2000) |
--timeout-ms <n> | no | Give up after this many milliseconds (default 3600000) |
Examples
1cavuno subscribers import ./subscribers.csv --wait
1cavuno 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
1cavuno redirects list [options]
Options
| Flag | Required | Description |
|---|---|---|
--search <prefix> | no | Prefix match on fromPath |
--limit <n> | no | Page size 1-100 (default 50) |
--cursor <cursor> | no | Pagination cursor |
Examples
1cavuno redirects list
1cavuno redirects list --search /old
cavuno redirects create
Create a redirect rule.
Maps to POST /v1/redirects
Synopsis
1cavuno redirects create <fromPath> <toPath> [options]
Arguments
| Name | Required | Description |
|---|---|---|
fromPath | yes | Source path, for example /old-careers |
toPath | yes | Destination path, for example /jobs |
Options
| Flag | Required | Description |
|---|---|---|
--status-code <code> | no | HTTP status code: 301 or 302 (default 301) |
Examples
1cavuno redirects create /old-careers /jobs
1cavuno redirects create /old /new --status-code 302
cavuno redirects update
Update a redirect rule.
Maps to PATCH /v1/redirects/:id
Synopsis
1cavuno redirects update <id> [options]
Arguments
| Name | Required | Description |
|---|---|---|
id | yes | Redirect ID |
Options
| Flag | Required | Description |
|---|---|---|
--from-path <path> | no | New source path |
--to-path <path> | no | New destination path |
--status-code <code> | no | HTTP status code: 301 or 302 |
Examples
1cavuno redirects update k200abc --to-path /jobs
1cavuno redirects update k200abc --from-path /old --status-code 302
cavuno redirects remove
Delete a redirect rule.
Maps to DELETE /v1/redirects/:id
Synopsis
1cavuno redirects remove <id> [options]
Arguments
| Name | Required | Description |
|---|---|---|
id | yes | Redirect ID |
Options
| Flag | Required | Description |
|---|---|---|
-y, --yes | no | Skip the confirmation prompt |
Examples
1cavuno 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
1cavuno redirects batch [options]
Options
| Flag | Required | Description |
|---|---|---|
--file <path> | no | JSON file body (otherwise read stdin) |
Examples
1cavuno redirects batch --file ops.json
CLI version 1.3.1 · Generated 2026-07-30