Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.getmaito.com/llms.txt

Use this file to discover all available pages before exploring further.

Maito CLI

The maito CLI is implemented in packages/cli and calls the backend API as a client. It should not reimplement backend business logic.

Base URL And Auth

  • Default API base URL: https://api.getmaito.com
  • Override with MAITO_BASE_URL or --base-url <url>
  • Sign in with OAuth before using authenticated commands.
maito login
Optional OAuth client configuration:
  • MAITO_OAUTH_CLIENT_ID
  • maito login --oauth-client-id <id>
Auth sessions are stored locally by base URL:
maito auth status
maito logout
Add --json to commands for machine-readable output.

Auth Commands

maito login [--base-url <url>] [--oauth-client-id <id>] [--json]
maito logout [--base-url <url>] [--json]
maito auth status [--base-url <url>] [--json]

Draft Commands

maito draft list [--limit <n>] [--json]
maito draft get --draft-id <id> [--json]
maito draft create --body <text> --platform <x|linkedin> [--json]
maito draft revise --draft-id <id> --body <text> [--platform <x|linkedin>] [--base-revision <n>] [--parent-version-id <id>] [--branch-key <key>] [--json]
maito draft schedule --draft-id <id> --scheduled-for <iso-datetime> [--platform <x|linkedin>] [--json]
maito draft publish --draft-id <id> [--platform <x|linkedin>] [--json]
maito draft unschedule --draft-id <id> --destination-id <id> [--json]
These commands call:
  • GET /v1/drafts
  • GET /v1/drafts/:draftId
  • POST /v1/drafts
  • POST /v1/drafts/:draftId/revise
  • POST /v1/drafts/:draftId/schedule
  • POST /v1/drafts/:draftId/publish
  • POST /v1/drafts/:draftId/unschedule

Document Commands

maito documents get --path <path> [--account-set-id <id>] [--json]
maito documents search [--query <text>] [--role <profile|style>] [--type <document-type>] [--status <status>] [--limit <n>] [--account-set-id <id>] [--json]
maito documents context --task-type <type> --goal <text> [--platform <x|linkedin>] [--seed-document-id <id> ...] [--max-documents <n>] [--account-set-id <id>] [--json]
maito documents put --path <path> [--role <profile|style|null>] [--type <document-type>] [--status <status>] [--title <text>] [--body <text>] [--summary <text|null>] [--metadata-json <json>] [--account-set-id <id>] [--json]
Document command enums:
  • --role: profile | style
  • --role for documents put: profile | style | null
  • --type: note | published_post | scheduled_post | draft | campaign | idea | proof
  • --status: active | draft | scheduled | published | archived
  • --task-type: draft_post | improve_draft | build_sequence | style_reference | general
These commands call:
  • GET /v1/documents/by-path
  • POST /v1/documents/search
  • POST /v1/documents/context
  • PUT /v1/documents/by-path

Content Workflow Commands

maito content youtube build <channel-url> [--out <dir>] [--dir <dir>] [--limit <n>] [--language <code>] [--skip-transcripts] [--json]
maito content ideas <workspace-dir> [--limit <n>] [--json]
maito content seo <idea-file> [--out <dir>] [--research-dir <dir>] [--json]
maito content plan <idea-file> [--out <dir>] [--json]
maito content draft <plan-file> [--out <dir>] [--json]
maito content publish <draft-file> [--base-url <url>] [--publish-status <draft|scheduled|published>] [--scheduled-for <iso-datetime>] [--json]
The content workflow reads and writes local markdown files. content publish calls:
  • POST /v1/posts/blog

Current CLI Scope

The CLI currently wraps draft, document, and local content workflow operations. It does not yet expose newsletter, account set, queue, social, billing, or calendar commands even though those routes exist in the REST API and SDK.