Documentation Index
Fetch the complete documentation index at: https://conductorone-ian-account-to-user-pipeline.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
What is c1i?
c1i (pronounced “see-one-eye” — it looks likecli, get it?) is an agent-oriented command-line interface for the C1 API. It’s purpose-built for automation, scripting, and AI agent workflows.
Unlike Cone, which is designed for interactive human use, c1i prioritizes machine-readable output and predictable behavior:
- Structured output: All data commands produce NDJSON (newline-delimited JSON) — never mixed or human-formatted output.
- Self-documenting API: The
docscommands let agents explore and understand the C1 API without credentials or external documentation. - Predictable pagination: List commands auto-paginate by default.
--page-tokengives manual control, and--limit Ncaps the total number of results when you want a quick peek. - Raw API escape hatch: The
apicommand can call any C1 API endpoint directly, with optional NDJSON pagination.
c1i vs Cone
C1 provides two CLI tools for different use cases:| Cone | c1i | |
|---|---|---|
| Designed for | Humans | Agents, scripts, and automation |
| Output format | Tables, interactive prompts | NDJSON, JSON |
| Key workflows | Search, get, drop entitlements | List, query, and manage all C1 objects |
| API coverage | Access request workflows | Broad API access with raw endpoint escape hatch |
| Interactive | Yes (prompts, formatted output) | No (structured, parseable output only) |
Install c1i
Install c1i using Go:Configure your C1 URL
c1i needs to know your C1 tenant URL. You can provide it in any of these ways (listed in order of precedence):- Flag:
--url https://example.conductor.one - Environment variable:
C1I_URL=https://example.conductor.one - Config file: Create
~/.c1i.yamlwith:
https://example.conductor.oneexample.conductor.oneexample(expands tohttps://example.conductor.one)
Authenticate
To authenticate c1i:A browser window opens with an authorization code. Verify the code matches the one shown in your terminal, then click Authorize.
c1i stores your credentials and you’re ready to start using c1i. See Credential storage for where credentials are kept on each platform.
Credential storage
c1i reads credentials from the first source that has them, in this order:- Environment variables — set
C1I_CLIENT_IDandC1I_CLIENT_SECRET(alongsideC1I_URL) for non-interactive scripts, CI runners, or container environments. Both must be set; if only one is set, the value is ignored. Credentials read from environment variables are never written to disk. - OS keyring — Keychain on macOS, Credential Manager on Windows, Secret Service (such as gnome-keyring or KeePassXC) on Linux. Used by default whenever a keyring is available.
- File fallback — a
0600JSON file under your config directory (~/.config/c1i/credentials/on Linux,~/Library/Application Support/c1i/credentials/on macOS,%AppData%\c1i\credentials\on Windows). Used automatically when no OS keyring is available — typical on headless Linux servers, Docker and LXC containers, CI runners, and WSL without a desktop environment.
c1i auth login writes to the OS keyring when it can and falls back to the file backend transparently. c1i auth status reports which source served the active credentials so you can confirm the storage path on your machine.
Explore the API without credentials
Thedocs commands work without authentication, so you can explore the C1 API before logging in:
Output conventions
c1i is designed to produce output that’s easy for programs to parse:- List commands (
users list,apps list, etc.) output NDJSON — one JSON object per line. - The
apicommand outputs pretty-printed JSON by default, or NDJSON when called with--paginate. - The
docscommands output varies by subcommand: NDJSON for search results, plain text for pages, JSON for endpoint schemas, and YAML for the OpenAPI spec.
--page-token flag. To cap total output (e.g., for a quick preview without fetching everything), use the --limit flag — c1i will tighten the per-call request size to avoid over-fetching.
See the c1i command reference for a complete list of commands, subcommands, and flags.