> ## Documentation Index
> Fetch the complete documentation index at: https://momentic.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# momentic-mobile assets

> List, upload, download, and delete mobile assets on Momentic.

Manage dashboard-hosted mobile assets (APKs and `.app` bundles). Each asset
lives under a release channel (e.g. `staging`, `dev`) and is identified by a
version tag.

```bash theme={null}
npx momentic-mobile assets upload <file> --channel <channel>
```

## `list`

List available asset channels and tags for your organization, grouped by
platform.

Without any flags, prints a summary of every channel under each platform heading
with its tag count and latest uploaded tag:

```text theme={null}
ANDROID
- momentic: 3 tags (latest 1.2.0)
- other: 1 tag (latest v1)
IOS
- momentic: 1 tag (latest 2.0.0)
```

With `--channel <channel>`, prints the newest-first tags for that channel under
each platform heading:

```text theme={null}
ANDROID
- momentic:
  - 1.2.0
  - 1.1.0
  - 1.0.0
IOS
- momentic:
  - 2.0.0
```

With `--platform <platform>`, only the requested platform is shown.

```bash theme={null}
npx momentic-mobile assets list
```

### Options

<ParamField path="--channel <channel>" type="string">
  Channel to show tags for. When omitted, the command prints the channel summary
  view instead of tags.
</ParamField>

<ParamField path="--platform <platform>" type="string">
  Filter results to a specific mobile platform. One of `android` or `ios`.
</ParamField>

<ParamField path="--tag-filter <tagFilter>" type="string">
  Case-insensitive substring filter applied to tag names when listing a channel.
  For example, `--tag-filter 1.2` matches any tag that contains the text `1.2`.
</ParamField>

<ParamField path="--json" type="boolean">
  Emit machine-readable JSON output instead of text.

  Summary mode (no `--channel`) returns a `platforms` array, each with its
  channels, tag counts, and the latest uploaded tag:

  ```json theme={null}
  {
    "platforms": [
      {
        "platform": "ANDROID",
        "channels": [
          {
            "channel": "momentic",
            "tagCount": 3,
            "latestTag": "1.2.0",
            "latestUploadedAt": "2026-04-20T17:53:07.049Z"
          }
        ]
      },
      {
        "platform": "IOS",
        "channels": [
          {
            "channel": "momentic",
            "tagCount": 1,
            "latestTag": "2.0.0",
            "latestUploadedAt": "2026-04-08T23:37:20.541Z"
          }
        ]
      }
    ]
  }
  ```

  Tag list mode (with `--channel <channel>`) returns the `channel` name and a
  `platforms` array whose `tags` are ordered newest-first:

  ```json theme={null}
  {
    "channel": "momentic",
    "platforms": [
      {
        "platform": "ANDROID",
        "tags": [
          {
            "tag": "1.2.0",
            "md5": "qrNr9GyYYmx4P6+ZwLcooQ==",
            "uploadedAt": "2026-04-20T17:53:07.049Z"
          },
          {
            "tag": "1.1.0",
            "md5": "oE9fZ8whKPWXbyaFWDM4BA==",
            "uploadedAt": "2026-04-01T12:00:00.000Z"
          }
        ]
      }
    ]
  }
  ```
</ParamField>

## `upload`

Upload a mobile asset to the Momentic dashboard. After upload, the asset is
available in both the interactive editor and in test runs. Supported formats:
Android APK (`.apk`) and iOS `.app` directory (development build). See
[iOS app setup](/platforms/ios/app-setup) for building a testing-ready `.app`.

```bash theme={null}
npx momentic-mobile assets upload <file> --channel <channel>
```

### Arguments

<ParamField path="<file>" type="string" required>
  Path to the asset to upload. Must be an `.apk` file or an `.app` directory.
</ParamField>

### Options

<ParamField path="--channel <channel>" type="string">
  **Required.** Release channel for the asset, such as `staging` or `dev`. This
  name affects how the asset will be referenced by tests. Channels cannot be
  renamed after creation.
</ParamField>

<ParamField path="--tag <tag>" type="string">
  Version label within the channel. Can be a semantic version like `0.0.1` or a
  floating tag like `latest`. If omitted, defaults to `latest`.
</ParamField>

## `download`

Download an APK from the Momentic dashboard to the local machine.

```bash theme={null}
npx momentic-mobile assets download --channel <channel> --tag <tag>
```

### Arguments

<ParamField path="[path]" type="string">
  Optional path to download the asset to. Can be a directory or a file path. If
  omitted, defaults to the current working directory. If a directory is
  provided, the file will be named `<channel>-<tag>.apk`.
</ParamField>

### Options

<ParamField path="--channel <channel>" type="string">
  **Required.** Release channel for the asset to download.
</ParamField>

<ParamField path="--tag <tag>" type="string">
  **Required.** Version label within the channel to download.
</ParamField>

## `delete`

Delete a previously uploaded mobile asset. The command prompts for confirmation
before deleting.

```bash theme={null}
npx momentic-mobile assets delete --channel <channel> --tag <tag> --platform <platform>
```

### Options

<ParamField path="--channel <channel>" type="string" required>
  Release channel of the asset to delete.
</ParamField>

<ParamField path="--tag <tag>" type="string" required>
  Version label of the asset to delete within the channel.
</ParamField>

<ParamField path="--platform <platform>" type="string" required>
  Platform of the asset to delete. One of `android` or `ios`.
</ParamField>

## Examples

List the most recent tags for the `staging` channel as JSON:

```bash theme={null}
npx momentic-mobile assets list --channel staging --json
```

Upload a staging APK tagged `1.2.0`:

```bash theme={null}
npx momentic-mobile assets upload ./app-staging.apk --channel staging --tag 1.2.0
```

Download a specific tag into the current directory:

```bash theme={null}
npx momentic-mobile assets download --channel staging --tag 1.2.0
```
