# mic orgs list
List organisations (API: GET /api/v2/organisations)
$ mic orgs list
Every command in the Monterosa Interaction Cloud CLI, every flag, every argument. Generated from mic describe.
Version 0.6.0 - 57 commands. Need a worked example? See the quick reference on the main page.
mic orgs listList organisations (API: GET /api/v2/organisations)
$ mic orgs list
mic spaces listList spaces in an organisation (API: GET /api/v2/organisations/{id}/spaces)
$ mic spaces list [options]
| Flag | Type | Description |
|---|---|---|
--org <id> |
string |
Organisation id (defaults to profile default) required |
mic apps cataloguePrint known Monterosa apps (local catalogue)
$ mic apps catalogue
mic apps createRegister an app/version (e.g. FanKit v25.1.0) in a space so projects in that space can use it. Admin only. Endpoint is POST /api/v2/apps (NOT space-scoped) — space is passed as a relationship in the body. Attributes need only spec_url; app_id, version, and embed_url are derived server-side from the fetched spec. Returns the new app resource id. NOTE: this does NOT migrate any project onto the new app — it only makes the version available in the space. To move a project onto it, call `projects reload --app <id>` with the id returned here. Use `apps list --space <id>` to see what is already registered before creating.
$ mic apps create [options]
| Flag | Type | Description |
|---|---|---|
--space <id> |
string |
Space id (required) required |
--spec-url <url> |
string |
Spec URL — app_id, version, embed_url are derived server-side from this spec (required) required |
mic apps listList apps available in a space (API: GET /api/v2/spaces/{id}/apps)
$ mic apps list [options]
| Flag | Type | Description |
|---|---|---|
--space <id> |
string |
Space id (defaults to profile default) required |
mic apps validate-spec-urlPre-flight check: does the Studio server-side fetcher reach this spec URL? Useful for catching CloudFront WAF / bucket-policy surprises on `assets.monterosa.co` before calling `apps create`.
$ mic apps validate-spec-url <url> [options]
| Name | Required | Description |
|---|---|---|
url |
required |
| Flag | Type | Description |
|---|---|---|
--ua <user-agent> |
string |
Override User-Agent (default: a Studio-style server UA) required default: "Monterosa-Studio/1.0 (+spec-fetcher)" |
mic projects createCreate project (API: POST /api/v2/projects, relationships.space + app)
$ mic projects create [options]
| Flag | Type | Description |
|---|---|---|
--space <id> |
string |
Space id required |
--name <str> |
string |
Project name required |
--app <app-resource-id> |
string |
App resource id (from `mic apps list`) required |
mic projects diffCompare two projects: app/version, enabled element types, and settings entries. Useful for debugging why Project A behaves differently to Project B on the same platform.
$ mic projects diff <id-a> <id-b> [options]
| Name | Required | Description |
|---|---|---|
id-a |
required | |
id-b |
required |
| Flag | Type | Description |
|---|---|---|
--only <what> |
string |
Limit diff to a subset: settings|app|enabled (comma-separated) required default: "settings,app,enabled" |
mic projects inspectShow project + app + enabled element types
$ mic projects inspect <id>
| Name | Required | Description |
|---|---|---|
id |
required |
mic projects listList projects in a space (API: GET /api/v2/spaces/{id}/projects)
$ mic projects list [options]
| Flag | Type | Description |
|---|---|---|
--space <id> |
string |
Space id (defaults to profile default) required |
mic projects reloadMigrate a project onto a different app/version (e.g. FanKit v24 -> v25)
$ mic projects reload <id> [options]
| Name | Required | Description |
|---|---|---|
id |
required |
| Flag | Type | Description |
|---|---|---|
--app <app-resource-id> |
string |
New app resource id required |
mic projects settings diffShow per-key diff between local file and remote settings
$ mic projects settings diff <id> [options]
| Name | Required | Description |
|---|---|---|
id |
required |
| Flag | Type | Description |
|---|---|---|
--file <file> |
string |
Settings JSON file required default: "settings.json" |
mic projects settings pullDownload attributes.settings as JSON. Default --out is ~/.monterosa/backups/{project-id}-{digest}.json so repeated pulls across projects do not clobber a single settings.json in the cwd.
$ mic projects settings pull <id> [options]
| Name | Required | Description |
|---|---|---|
id |
required |
| Flag | Type | Description |
|---|---|---|
--out <file> |
string |
Output file (default: ~/.monterosa/backups/{project-id}-{digest}.json) required |
mic projects settings pushUpload settings JSON (PATCH attributes.settings, wholesale replace)
$ mic projects settings push <id> [options]
| Name | Required | Description |
|---|---|---|
id |
required |
| Flag | Type | Description |
|---|---|---|
--file <file> |
string |
Settings JSON file required default: "settings.json" |
--force |
boolean |
Skip digest conflict check |
--confirm |
boolean |
Confirm push above 2MB |
--no-backup |
boolean |
Skip the automatic pre-push backup of remote settings |
--backup-dir <dir> |
string |
Directory to write the pre-push backup to (defaults to OS temp dir) required |
mic events cloneClient-side clone: copies event + all elements to a new event
$ mic events clone <source-id> [options]
| Name | Required | Description |
|---|---|---|
source-id |
required |
| Flag | Type | Description |
|---|---|---|
--name <str> |
string |
New event name required |
mic events createCreate event (API: POST /api/v2/events, relationships.project)
$ mic events create [options]
| Flag | Type | Description |
|---|---|---|
--project <id> |
string |
Project id required |
--name <str> |
string |
Event name required |
--duration <sec> |
string |
Duration in seconds required |
--start-at <iso> |
string |
Start timestamp (ISO 8601) required |
mic events from-templateCreate event from template (data.type: event_from_template)
$ mic events from-template <template-id> [options]
| Name | Required | Description |
|---|---|---|
template-id |
required |
| Flag | Type | Description |
|---|---|---|
--project <id> |
string |
Project id required |
--name <str> |
string |
New event name required |
mic events listList events (API: GET /api/v2/projects/{id}/events)
$ mic events list [options]
| Flag | Type | Description |
|---|---|---|
--project <id> |
string |
Project id required |
--state <list> |
string |
Comma-separated states (future,current,on_demand,past) required default: "future,current,on_demand,past" |
mic events pruneDelete events that have no elements (or only drafts) on a project. Use --dry-run to preview before deleting. Asks for confirmation unless --yes.
$ mic events prune [options]
| Flag | Type | Description |
|---|---|---|
--project <id> |
string |
Project id required |
--empty |
boolean |
Only delete events with zero elements |
--before <iso> |
string |
Only delete events that ended before this ISO timestamp required |
--dry-run |
boolean |
List candidates without deleting |
--yes |
boolean |
Skip confirmation |
mic events scheduleStagger element start_offset values on a draft event (start_mode=timecode). Helpful when you want elements to appear at even intervals without hand-writing offsets.
$ mic events schedule [options]
| Flag | Type | Description |
|---|---|---|
--event <id> |
string |
Event id required |
--space-seconds <n> |
string |
Seconds between each element start required default: "180" |
--start-offset <n> |
string |
Offset (seconds) of the first element required default: "0" |
mic events startStart an event (PATCH action)
$ mic events start <id>
| Name | Required | Description |
|---|---|---|
id |
required |
mic events stopStop an event (PATCH action)
$ mic events stop <id>
| Name | Required | Description |
|---|---|---|
id |
required |
mic events templatesList event templates (API: GET /api/v2/projects/{id}/event_templates)
$ mic events templates [options]
| Flag | Type | Description |
|---|---|---|
--project <id> |
string |
Project id required |
mic elements applyBatch create elements from YAML (resolves {{name}} cross-refs)
$ mic elements apply [options]
| Flag | Type | Description |
|---|---|---|
--event <id> |
string |
Event id required |
--file <file> |
string |
elements.yaml file required |
--publish |
boolean |
Publish all on success |
mic elements clone-fromCopy elements from one event to another. Attributes are whitelisted to safe create-ready fields.
$ mic elements clone-from [options]
| Flag | Type | Description |
|---|---|---|
--src-event <id> |
string |
Source event id required |
--dst-event <id> |
string |
Destination event id required |
--include <csv> |
string |
Comma-separated content_types to include required |
--exclude <csv> |
string |
Comma-separated content_types to exclude required |
--publish |
boolean |
Publish the cloned elements after creation |
mic elements clone-groupCopy a wrapper element plus its children between events, preserving wrapper↔child linkage via the registered link field (see `src/wrappers.ts`).
$ mic elements clone-group [options]
| Flag | Type | Description |
|---|---|---|
--wrapper <id> |
string |
Source wrapper element id required |
--to-event <id> |
string |
Destination event id required |
--publish |
boolean |
Publish wrapper + children on success |
mic elements createCreate element (via --template or --file)
$ mic elements create [options]
| Flag | Type | Description |
|---|---|---|
--event <id> |
string |
Event id required |
--type <content-type> |
string |
Content type (for --template) required |
--template |
boolean |
Use template registry |
--var <k=v> |
string |
Template variable (repeatable) required |
--file <file> |
string |
YAML/JSON element body required |
mic elements exportExport elements on an event as create-ready YAML (strips server-computed fields so the output can be fed to `elements apply`).
$ mic elements export [options]
| Flag | Type | Description |
|---|---|---|
--event <id> |
string |
Event id required |
--out <file> |
string |
Write YAML to file (default: stdout) required |
mic elements listList elements on an event
$ mic elements list [options]
| Flag | Type | Description |
|---|---|---|
--event <id> |
string |
Event id required |
mic elements publishPublish element by id, or all drafts on --event (children before wrappers).
$ mic elements publish [id] [options]
| Name | Required | Description |
|---|---|---|
id |
optional |
| Flag | Type | Description |
|---|---|---|
--event <id> |
string |
Bulk mode: publish every draft on this event required |
--dry-run |
boolean |
Print the publish order and exit |
mic elements schemaShow introspected field list for a content type
$ mic elements schema <project-id> <content-type>
| Name | Required | Description |
|---|---|---|
project-id |
required | |
content-type |
required |
mic elements templateShow a specific template
$ mic elements template <content-type>
| Name | Required | Description |
|---|---|---|
content-type |
required |
mic elements templatesList template registry (remote + cache)
$ mic elements templates [options]
| Flag | Type | Description |
|---|---|---|
--type <content-type> |
string |
Filter by content type required |
mic url consumerConsumer URL from project.embed (+ event id, #/)
$ mic url consumer [options]
| Flag | Type | Description |
|---|---|---|
--project <id> |
string |
Project id required |
--event <id> |
string |
Event id (optional) required |
mic url feedsFeed URLs for a project (graphics feed covers all events)
$ mic url feeds [options]
| Flag | Type | Description |
|---|---|---|
--project <id> |
string |
Project id required |
mic url livestatsLivestats URL (fetches live_stats_uuid from event attributes)
$ mic url livestats [options]
| Flag | Type | Description |
|---|---|---|
--event <id> |
string |
Event id required |
mic url studioStudio UI URL for a project (and optional event). Emits the canonical /dashboard/{org}/spaces/{space}/projects/{project} form by fetching the project with ?include=space to resolve the parent ids.
$ mic url studio [options]
| Flag | Type | Description |
|---|---|---|
--project <id> |
string |
Project id required |
--event <id> |
string |
Event id (optional) required |
mic smoke cleanStop + delete all events tagged [mic-smoke-*] in a project
$ mic smoke clean [options]
| Flag | Type | Description |
|---|---|---|
--project <id> |
string |
Project id required |
mic smoke runCreate an event, attempt one element of each enabled type, publish, emit URL
$ mic smoke run [options]
| Flag | Type | Description |
|---|---|---|
--project <id> |
string |
Project id required |
--types <list> |
string |
Comma-separated content types (default: all enabled) required |
--no-publish |
boolean |
Skip starting the event + publishing elements |
--duration <sec> |
string |
Event duration in seconds required default: "3600" |
mic plan alphaCompare a manifest YAML to the live project and print the add/update/noop plan. Does not mutate.
Alpha: this command is experimental and has not yet been tested in production. Interface may change.
$ mic plan [options]
| Flag | Type | Description |
|---|---|---|
--file <file> |
string |
Manifest YAML (default: mic.yaml) required default: "mic.yaml" |
mic apply alphaApply a manifest YAML: create missing events/elements and update changed ones. Wrapper->child linkage is preserved via the registry. Does not delete remote entities missing from the manifest (flagged in plan).
Alpha: this command is experimental and has not yet been tested in production. Interface may change.
$ mic apply [options]
| Flag | Type | Description |
|---|---|---|
--file <file> |
string |
Manifest YAML (default: mic.yaml) required default: "mic.yaml" |
--yes |
boolean |
Skip confirmation prompt |
--dry-run |
boolean |
Alias for `mic plan --file ...` |
mic export alphaDump a live project to manifest YAML. Round-trips with `mic apply --file`.
Alpha: this command is experimental and has not yet been tested in production. Interface may change.
$ mic export [options]
| Flag | Type | Description |
|---|---|---|
--project <id> |
string |
Project id required |
--out <file> |
string |
Output file (default: stdout) required |
mic annotations deleteRemove a single annotation key (smart merge; other keys untouched)
$ mic annotations delete <kind> <id> <key>
| Name | Required | Description |
|---|---|---|
kind |
required | |
id |
required | |
key |
required |
mic annotations getRead annotations on a resource (organisations, spaces, projects, event-templates, events, elements)
$ mic annotations get <kind> <id> [options]
| Name | Required | Description |
|---|---|---|
kind |
required | |
id |
required |
| Flag | Type | Description |
|---|---|---|
--key <name> |
string |
Print only this key (raw value, no JSON wrapping) required |
mic annotations setSet one or more annotations (key=value, value=@file.md to load from disk)
$ mic annotations set <kind> <id> [pairs...]
| Name | Required | Description |
|---|---|---|
kind |
required | |
id |
required | |
pairs |
optional variadic |
mic contextFetch x-monterosa-context from a resource and all its ancestors (element -> event -> project -> space -> org)
$ mic context <kind> <id> [options]
| Name | Required | Description |
|---|---|---|
kind |
required | |
id |
required |
| Flag | Type | Description |
|---|---|---|
--only-target |
boolean |
Only fetch context on the target, skip ancestor walk |
mic assets deleteDelete an asset. Asks for confirmation unless --yes.
$ mic assets delete <asset-id> [options]
| Name | Required | Description |
|---|---|---|
asset-id |
required |
| Flag | Type | Description |
|---|---|---|
--yes |
boolean |
Skip confirmation |
mic assets listList assets in a space (paginated, 100/page)
$ mic assets list [options]
| Flag | Type | Description |
|---|---|---|
--space <id> |
string |
Space id required |
--mime <type> |
string |
Filter by mime type (e.g. image/jpeg) required |
--tag <id> |
string |
Filter by tag id required |
--uploader <id> |
string |
Filter by uploader id required |
--page <n> |
string |
Fetch only this page (default: all pages) required |
--limit <n> |
string |
Stop after fetching N assets total required |
mic assets media-typesList mime types in use across a space (useful as --mime filter values)
$ mic assets media-types [options]
| Flag | Type | Description |
|---|---|---|
--space <id> |
string |
Space id required |
mic assets tagAttach one or more tag ids to an asset
$ mic assets tag <asset-id> <tag-ids...>
| Name | Required | Description |
|---|---|---|
asset-id |
required | |
tag-ids |
required variadic |
mic assets untagRemove one or more tag ids from an asset
$ mic assets untag <asset-id> <tag-ids...>
| Name | Required | Description |
|---|---|---|
asset-id |
required | |
tag-ids |
required variadic |
mic assets updateUpdate an asset's name or alt text
$ mic assets update <asset-id> [options]
| Name | Required | Description |
|---|---|---|
asset-id |
required |
| Flag | Type | Description |
|---|---|---|
--name <str> |
string |
New display name required |
--alt-text <str> |
string |
New alt text required |
mic assets uploadUpload one or more files to a space. Use --url to upload remote URLs instead.
$ mic assets upload <files...> [options]
| Name | Required | Description |
|---|---|---|
files |
required variadic |
| Flag | Type | Description |
|---|---|---|
--space <id> |
string |
Space id required |
--url |
boolean |
Treat positional args as URLs to fetch server-side, not local paths |
--tag <id> |
string |
Apply this tag id to each uploaded asset (repeatable) required |
mic assets uploadersList users who have uploaded assets into a space
$ mic assets uploaders [options]
| Flag | Type | Description |
|---|---|---|
--space <id> |
string |
Space id required |
mic scope checkDry-run: would a mutation on this target be allowed? (kind: org|space|project|event|element)
$ mic scope check <kind> <id> [options]
| Name | Required | Description |
|---|---|---|
kind |
required | |
id |
required |
| Flag | Type | Description |
|---|---|---|
--profile <name> |
string |
Use a non-active profile required |
mic scope showShow the current allow-list for the active profile (or --profile)
$ mic scope show [options]
| Flag | Type | Description |
|---|---|---|
--profile <name> |
string |
Inspect a non-active profile required |
mic forms demoPrint the demo form id for the active profile's Studio instance, with caveats
$ mic forms demo