Skip to main content

SDK CLI Reference

Reference for codemie sdk commands. These commands are invoked automatically by the codemie-sdk skill when you describe what you need in Claude Code, or you can run them directly in the terminal.

Common Flags

FlagDescription
--jsonOutput as JSON instead of a formatted table
--data '<json>'Pass creation/update payload inline
--json <file>Pass creation/update payload from a file
--search <text>Filter results by name
--projects <name>Filter results by project
--page <n>Page number (0-indexed)
--per-page <n>Results per page
tip

All asset IDs are UUIDs, e.g. bc1a4b75-955c-48a5-b26d-bf702c1fee5d. After creating an asset, use list --search to find its ID.

warning

Update replaces arrays and objects in full. If you update a field like context or toolkits, the value you provide replaces the entire field — it is not merged. To add items without losing existing ones, fetch the current state first (get <id> --json), merge locally, then send the full updated value.

Assistants

codemie sdk assistants list [--scope visible_to_user|marketplace] [--search <text>] [--projects <name>] [--page <n>] [--per-page <n>] [--json]
codemie sdk assistants get <id> [--json]
codemie sdk assistants get-tools [--json]
codemie sdk assistants create --data '<json>' | --json <file>
codemie sdk assistants update <id> --data '<json>' | --json <file>
codemie sdk assistants delete <id>

Required fields on create: name, project, system_prompt

Create example:

codemie sdk assistants create --data '{
"name": "Code Reviewer",
"project": "Engineering",
"system_prompt": "You are a senior engineer performing code reviews. Focus on correctness, security, and performance.",
"llm_model_type": "claude-3-5-sonnet",
"shared_with_project": true
}'

List scopes:

ScopeReturns
visible_to_user (default)Assistants accessible to you
marketplacePublicly published assistants
tip

Use get-tools to see all available tools and toolkit IDs that can be attached to an assistant.

Assistant Categories

Assistant categories are labels for organizing assistants in the marketplace. Creating and managing them requires admin access.

codemie sdk assistant-categories list [--paginated] [--page <n>] [--per-page <n>] [--json]
codemie sdk assistant-categories get <id> [--json]
codemie sdk assistant-categories create --data '<json>' | --json <file>
codemie sdk assistant-categories update <id> --data '<json>' | --json <file>
codemie sdk assistant-categories delete <id>

Required fields on create: name (1–255 chars)

Create example:

codemie sdk assistant-categories create --data '{"name":"DevOps","description":"Assistants for CI/CD, deployment, and infrastructure tasks"}'

Assign categories to an assistant:

# Get category IDs
codemie sdk assistant-categories list --json | jq -r '.[] | "\(.id) \(.name)"'

# Set categories on an assistant
codemie sdk assistants update <assistant-id> --data '{"categories":["<category-id>"]}'

Workflows

codemie sdk workflows list [--search <text>] [--projects <name>] [--page <n>] [--per-page <n>] [--json]
codemie sdk workflows get <id> [--json]
codemie sdk workflows create --data '<json>' --config '<yaml>' | --config path/to/config.yaml
codemie sdk workflows update <id> --data '<json>' [--config '<yaml>' | --config path/to/config.yaml]
codemie sdk workflows delete <id>

Required fields on create: name, project_name, mode ("Sequential"), shared (boolean), plus --config with a YAML graph definition.

Create example:

codemie sdk workflows create \
--data '{"name":"review-pipeline","project_name":"Engineering","mode":"Sequential","shared":true}' \
--config path/to/workflow.yaml

Datasources

Datasources have a type subcommand for create and update. The name must match ^[a-zA-Z0-9][\w-]*$ — no spaces, use hyphens (e.g. my-wiki, not My Wiki).

codemie sdk datasources list [--search <text>] [--projects <name>] [--status <status>] [--datasource-types <types>] [--sort-key date|update_date] [--sort-order asc|desc] [--page <n>] [--per-page <n>] [--json]
codemie sdk datasources get <id> [--json]
codemie sdk datasources create <type> --data '<json>' | --json <file>
codemie sdk datasources update <type> <id> --data '<json>' | --json <file>
codemie sdk datasources delete <id>

Supported types: confluence, jira, file, code, google, azure-devops-wiki, azure-devops-work-item, xray, sharepoint, provider

Status filter values: completed, failed, fetching, in_progress

Base fields (required for all types): name, project_name

Type examples:

# Confluence — requires a Confluence integration in the project
codemie sdk datasources create confluence --data '{
"name": "company-wiki",
"project_name": "Engineering",
"cql": "space=ENG AND type=page",
"shared_with_project": true
}'

# Jira — requires a Jira integration in the project
codemie sdk datasources create jira --data '{
"name": "open-tickets",
"project_name": "Support",
"jql": "project=SUP AND status != Done",
"shared_with_project": true
}'

# Code repository
codemie sdk datasources create code --data '{
"name": "backend-api",
"project_name": "Engineering",
"link": "https://github.com/org/repo",
"branch": "main",
"index_type": "code"
}'

# Local files (max 10 files per call)
codemie sdk datasources create file \
--file ./doc1.pdf --file ./doc2.docx \
--data '{"name":"team-docs","project_name":"Engineering"}'

# SharePoint — requires a SharePoint integration in the project
codemie sdk datasources create sharepoint --data '{
"name": "sharepoint-docs",
"project_name": "Engineering",
"site_url": "https://company.sharepoint.com/sites/team",
"include_pages": true,
"include_documents": true,
"shared_with_project": true
}'

Update reindex flags (add to any update payload):

FlagDescription
skip_reindexUpdate metadata only — does not trigger reindexing
incremental_reindexOnly fetch content changed since last run
full_reindexDiscard existing index and re-fetch everything
resume_indexingResume a previously interrupted indexing job
# Rename without reindexing
codemie sdk datasources update confluence <id> --data '{
"name": "new-name",
"project_name": "Engineering",
"cql": "space=ENG",
"skip_reindex": true
}'

Integrations

Integrations store credentials for external services (Jira, Confluence, Git, Azure DevOps, SharePoint, etc.) used by datasources and assistants.

codemie sdk integrations list [--setting-type user|project] [--search <text>] [--projects <name>] [--page <n>] [--per-page <n>] [--json]
codemie sdk integrations get <id> [--setting-type user|project] [--json]
codemie sdk integrations get-by-alias <alias> [--setting-type user|project] [--json]
codemie sdk integrations create --data '<json>' | --json <file>
codemie sdk integrations update <id> --data '<json>' | --json <file>
codemie sdk integrations delete <id> [--setting-type user|project]

Required fields on create: credential_type, project_name, credential_values (array of {"key":"...","value":"..."} pairs — must include an alias key).

Setting types:

TypeScope
user (default)Personal — visible only to you
projectTeam-shared — visible to all project members

Supported credential_type values: Jira, Confluence, Git, Kubernetes, AWS, GCP, Azure, Keycloak, Elastic, OpenAPI, Plugin, FileSystem, Scheduler, Webhook, Email, AzureDevOps, Sonar, SQL, Telegram, ZephyrScale, ZephyrSquad, ServiceNow, DIAL, A2A, MCP, LiteLLM, ReportPortal, Xray, SharePoint

Create example (Jira):

codemie sdk integrations create --data '{
"credential_type": "Jira",
"project_name": "Engineering",
"alias": "jira-main",
"setting_type": "project",
"credential_values": [
{"key": "url", "value": "https://company.atlassian.net"},
{"key": "token", "value": "your-api-token"},
{"key": "username", "value": "bot@company.com"},
{"key": "alias", "value": "jira-main"}
]
}'
warning

credential_values must always include {"key": "alias", "value": "<alias>"}. Omitting it will cause an API error.

Sensitive credential values are masked as ********** in all output.

Skills

codemie sdk skills list [--scope marketplace|project|project_with_marketplace] [--page <n>] [--per-page <n>] [--json]
codemie sdk skills get <id> [--json]
codemie sdk skills create --data '<json>' | --json <file>
codemie sdk skills update <id> --data '<json>' | --json <file>
codemie sdk skills delete <id>
codemie sdk skills import <file.md> --project <name> [--visibility private|project|public]
codemie sdk skills export <id>
codemie sdk skills attach <assistant-id> <skill-id>
codemie sdk skills detach <assistant-id> <skill-id>
codemie sdk skills list-assistant-skills <assistant-id> [--json]
codemie sdk skills bulk-attach <skill-id> --assistant-ids <id1>,<id2>,...
codemie sdk skills get-assistants <skill-id> [--json]
codemie sdk skills publish <id> [--categories <cat1>,<cat2>]
codemie sdk skills unpublish <id>
codemie sdk skills list-categories [--json]

Required fields on create: name (kebab-case, 3–64 chars), description (10–1000 chars), content (markdown, min 100 chars), project

Visibility values: private (default), project, public

Create example:

codemie sdk skills create --data '{
"name": "sql-helper",
"description": "Helps write and optimize SQL queries for common database tasks.",
"content": "# SQL Helper\n\nYou are an expert in writing SQL queries...",
"project": "Engineering",
"visibility": "project"
}'

Import / Export:

# Import from a markdown file with YAML front matter
codemie sdk skills import ./my-skill.md --project Engineering --visibility project

# Export a skill to markdown
codemie sdk skills export <id> > my-skill.md

The import file must have YAML front matter with name and description:

---
name: my-skill
description: What this skill does
---

# Instructions
...

Publish to marketplace:

# Publish with categories (use list-categories to get valid values)
codemie sdk skills list-categories --json
codemie sdk skills publish <id> --categories development,testing
codemie sdk skills unpublish <id>

LLM Models

List available language and embedding models. Use the base_name field when setting llm_model_type on an assistant or embeddings_model/summarization_model on a datasource.

codemie sdk llm list [--json]               # Language models
codemie sdk llm list --embeddings [--json] # Embedding models

Users

Retrieve your profile and account data, including your user ID, admin status, and the projects you have access to.

codemie sdk users me [--json]    # Your profile: user_id, email, is_admin, applications
codemie sdk users data [--json] # Extended user data