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

# apps

> Manage the lifecycle of an app, including its versions, DAGs, and components.

The `apps` command manages uploaded DAGs and artifacts.

## `activate`

The `activate` subcommand activates an app version.

```bash theme={null}
nx1 apps activate <version_id>
```

<Accordion title="Argument">
  * `version_id` `string` **required**: App version ID value.
</Accordion>

<Accordion title="Global options">
  * `--api-key` `string` **optional**: API key or the `NX1_API_KEY` variable.
  * `--config-file` `string` **optional**: YAML config file.
  * `--help` `-h` **optional**: Shows help messages and exit.
  * `--host` `string` **optional**: API host.
  * `--no-verify-ssl` **optional**: Disables SSL verification.
  * `--output` `-o` **optional**: Output format. Allowed values: `json`, `yaml`, or `table`.
  * `--profile` `-p` `string` **optional**: Profile name from `~/.nx1/profiles`.
  * `--timeout` `integer` **optional**: Requests when to timeout. Default is `30`.
  * `--verbose` `-v` **optional**: Verbose output.
</Accordion>

## `add-dag`

The `add-dag` subcommand adds a DAG component to an app version.

You can find the DAGs locally in the `/utils/app/{AppName}/{VersionName}/filename` directory.

```bash theme={null}
nx1 apps add-dag \
  --file <file_path> \
  --version-id <version_id>
```

<Accordion title="Options">
  * `--file` `string` **required**: File path
  * `--name` `string` **optional**: Filename.
  * `--version-id` `string` **required**: App version ID.
</Accordion>

<Accordion title="Global options">
  * `--api-key` `string` **optional**: API key or the `NX1_API_KEY` variable.
  * `--config-file` `string` **optional**: YAML config file.
  * `--help` `-h` **optional**: Shows help messages and exit.
  * `--host` `string` **optional**: API host.
  * `--no-verify-ssl` **optional**: Disables SSL verification.
  * `--output` `-o` **optional**: Output format. Allowed values: `json`, `yaml`, or `table`.
  * `--profile` `-p` `string` **optional**: Profile name from `~/.nx1/profiles`.
  * `--timeout` `integer` **optional**: Requests when to timeout. Default is `30`.
  * `--verbose` `-v` **optional**: Verbose output.
</Accordion>

## `components`

The `components` subcommand manages app components within an app version..

```bash theme={null}
nx1 apps components --version-id <app_version_id>
```

<Accordion title="Option">
  * `--version-id` `string` **required**: App version ID
</Accordion>

<Accordion title="Global options">
  * `--api-key` `string` **optional**: API key or the `NX1_API_KEY` variable.
  * `--config-file` `string` **optional**: YAML config file.
  * `--help` `-h` **optional**: Shows help messages and exit.
  * `--host` `string` **optional**: API host.
  * `--no-verify-ssl` **optional**: Disables SSL verification.
  * `--output` `-o` **optional**: Output format. Allowed values: `json`, `yaml`, or `table`.
  * `--profile` `-p` `string` **optional**: Profile name from `~/.nx1/profiles`.
  * `--timeout` `integer` **optional**: Requests when to timeout. Default is `30`.
  * `--verbose` `-v` **optional**: Verbose output.
</Accordion>

## `create`

The `create` subcommand creates a new app.

```bash theme={null}
nx1 apps create --name <app_name>
```

<Accordion title="Option">
  * `--name` `string` **required**: New name for the app.
</Accordion>

<Accordion title="Global options">
  * `--api-key` `string` **optional**: API key or the `NX1_API_KEY` variable.
  * `--config-file` `string` **optional**: YAML config file.
  * `--help` `-h` **optional**: Shows help messages and exit.
  * `--host` `string` **optional**: API host.
  * `--no-verify-ssl` **optional**: Disables SSL verification.
  * `--output` `-o` **optional**: Output format. Allowed values: `json`, `yaml`, or `table`.
  * `--profile` `-p` `string` **optional**: Profile name from `~/.nx1/profiles`.
  * `--timeout` `integer` **optional**: Requests when to timeout. Default is `30`.
  * `--verbose` `-v` **optional**: Verbose output.
</Accordion>

## `create-version`

The `create-version` subcommand creates a new app version.

```bash theme={null}
nx1 apps create-version --app-id <ID> --name <version_name>
```

<Accordion title="Options">
  * `--app-id` `string` **required**: ID of the app.
  * `--name` `string` **required**: Name of the app version.
</Accordion>

<Accordion title="Global options">
  * `--api-key` `string` **optional**: API key or the `NX1_API_KEY` variable.
  * `--config-file` `string` **optional**: YAML config file.
  * `--help` `-h` **optional**: Shows help messages and exit.
  * `--host` `string` **optional**: API host.
  * `--no-verify-ssl` **optional**: Disables SSL verification.
  * `--output` `-o` **optional**: Output format. Allowed values: `json`, `yaml`, or `table`.
  * `--profile` `-p` `string` **optional**: Profile name from `~/.nx1/profiles`.
  * `--timeout` `integer` **optional**: Requests when to timeout. Default is `30`.
  * `--verbose` `-v` **optional**: Verbose output.
</Accordion>

## `delete`

The `delete` subcommand deletes an app.

```bash theme={null}
nx1 apps delete <app_id>
```

<Accordion title="Arguments">
  * `app_id` `string` **required**: ID of the app.
</Accordion>

<Accordion title="Global options">
  * `--api-key` `string` **optional**: API key or the `NX1_API_KEY` variable.
  * `--config-file` `string` **optional**: YAML config file.
  * `--help` `-h` **optional**: Shows help messages and exit.
  * `--host` `string` **optional**: API host.
  * `--no-verify-ssl` **optional**: Disables SSL verification.
  * `--output` `-o` **optional**: Output format. Allowed values: `json`, `yaml`, or `table`.
  * `--profile` `-p` `string` **optional**: Profile name from `~/.nx1/profiles`.
  * `--timeout` `integer` **optional**: Requests when to timeout. Default is `30`.
  * `--verbose` `-v` **optional**: Verbose output.
</Accordion>

## `deploy`

The `deploy` subcommand deploys an app version.

```bash theme={null}
nx1 apps deploy \
  --app-name <application_name> \
  --version <app_version_name>
```

<Accordion title="Options">
  * `--app-name` `string` **required**: New name for the app.
  * `--artifacts` `string` **optional**: Paths to additional artifacts.
  * `--dags` `string` **optional**: Comma-separated list of DAG Python file paths.
  * `--version` `string` **required**: App version name.
</Accordion>

<Accordion title="Global options">
  * `--api-key` `string` **optional**: API key or the `NX1_API_KEY` variable.
  * `--config-file` `string` **optional**: YAML config file.
  * `--help` `-h` **optional**: Shows help messages and exit.
  * `--host` `string` **optional**: API host.
  * `--no-verify-ssl` **optional**: Disables SSL verification.
  * `--output` `-o` **optional**: Output format. Allowed values: `json`, `yaml`, or `table`.
  * `--profile` `-p` `string` **optional**: Profile name from `~/.nx1/profiles`.
  * `--timeout` `integer` **optional**: Requests when to timeout. Default is `30`.
  * `--verbose` `-v` **optional**: Verbose output.
</Accordion>

## `get`

The `get` subcommand gets details about an app resource.

```bash theme={null}
nx1 apps get <app_id>
```

<Accordion title="Arguments">
  * `app_id` `string` **required**: App ID.
</Accordion>

<Accordion title="Global options">
  * `--api-key` `string` **optional**: API key or the `NX1_API_KEY` variable.
  * `--config-file` `string` **optional**: YAML config file.
  * `--help` `-h` **optional**: Shows help messages and exit.
  * `--host` `string` **optional**: API host.
  * `--no-verify-ssl` **optional**: Disables SSL verification.
  * `--output` `-o` **optional**: Output format. Allowed values: `json`, `yaml`, or `table`.
  * `--profile` `-p` `string` **optional**: Profile name from `~/.nx1/profiles`.
  * `--timeout` `integer` **optional**: Requests when to timeout. Default is `30`.
  * `--verbose` `-v` **optional**: Verbose output.
</Accordion>

## `list`

The `list` subcommand lists app resources.

```bash theme={null}
nx1 apps list
```

<Accordion title="Global options">
  * `--api-key` `string` **optional**: API key or the `NX1_API_KEY` variable.
  * `--config-file` `string` **optional**: YAML config file.
  * `--help` `-h` **optional**: Shows help messages and exit.
  * `--host` `string` **optional**: API host.
  * `--no-verify-ssl` **optional**: Disables SSL verification.
  * `--output` `-o` **optional**: Output format. Allowed values: `json`, `yaml`, or `table`.
  * `--profile` `-p` `string` **optional**: Profile name from `~/.nx1/profiles`.
  * `--timeout` `integer` **optional**: Requests when to timeout. Default is `30`.
  * `--verbose` `-v` **optional**: Verbose output.
</Accordion>

## `roles`

The `roles` subcommand manages app roles.

```bash theme={null}
nx1 apps roles --app-id <ID>
```

<Accordion title="Option">
  * `--app-id` `string` **required**: ID of the app.
</Accordion>

<Accordion title="Global options">
  * `--api-key` `string` **optional**: API key or the `NX1_API_KEY` variable.
  * `--config-file` `string` **optional**: YAML config file.
  * `--help` `-h` **optional**: Shows help messages and exit.
  * `--host` `string` **optional**: API host.
  * `--no-verify-ssl` **optional**: Disables SSL verification.
  * `--output` `-o` **optional**: Output format. Allowed values: `json`, `yaml`, or `table`.
  * `--profile` `-p` `string` **optional**: Profile name from `~/.nx1/profiles`.
  * `--timeout` `integer` **optional**: Requests when to timeout. Default is `30`.
  * `--verbose` `-v` **optional**: Verbose output.
</Accordion>

## `versions`

Lists app versions

```bash theme={null}
nx1 apps versions --app-id <ID>
```

<Accordion title="Option">
  * `--app-id` `string`: ID of the app.
</Accordion>

<Accordion title="Global options">
  * `--api-key` `string` **optional**: API key or the `NX1_API_KEY` variable.
  * `--config-file` `string` **optional**: YAML config file.
  * `--help` `-h` **optional**: Shows help messages and exit.
  * `--host` `string` **optional**: API host.
  * `--no-verify-ssl` **optional**: Disables SSL verification.
  * `--output` `-o` **optional**: Output format. Allowed values: `json`, `yaml`, or `table`.
  * `--profile` `-p` `string` **optional**: Profile name from `~/.nx1/profiles`.
  * `--timeout` `integer` **optional**: Requests when to timeout. Default is `30`.
  * `--verbose` `-v` **optional**: Verbose output.
</Accordion>
