> ## 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.

# nx1

> Overview of NexusOne's nx1 command-line tool used for running platform actions without manual API requests.

`nx1` is a command-line tool in NexusOne's Jupyter environment that interacts with the NexusOne platform.
It's a command-line alternative to [NexusOne API endpoints](/api-reference/overview).

Its core features span the following categories:

* **Data ingestion**: Upload local or remote files.
* **Data management**: Manage data quality and DataHub data products.
* **Governance and security**: Manage user/group access to data, switch to different profile
  accounts, and interact with the Gravitino metadata service through a shared client.
* **Job orchestration**: Submit, monitor, and manage Airflow jobs.
* **Platform interaction**: Inspect NexusOne system health, add S3 buckets, and manage app packaged
  DAGs + Artifacts.
* **Query and AI assistance**: Interact with data and generate suggestions.
* **Table and metadata operations**: Manage tables and schemas.

## Problems nx1 solves

The core problem the `nx1` command-line tool solves is the complexity of constructing HTTP requests
to interact directly with a NexusOne API endpoint.

When you are working directly with the API, you must know a bit of computer networking, specifically,
how the application-layer works. That means thinking in terms of the following:

* HTTP methods such as `GET`, `POST`, or `DELETE`
* NexusOne endpoints such as `/catalogs` or `/tables`
* HTTP authentication headers
* HTTP request bodies
* Splitting the result into small chunks
* HTTP response parsing

For example, when you are using `curl` to create an Airflow job in NexusOne, the command looks
something like the following:

```bash theme={null}
curl --request POST \
  --url https://aiapi.example.nx1cloud.com/api/jobs \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "job_type": "<string>",
  "job_name": "<string>",
  "source": "<string>",
  "destination": "<string>",
  "properties_json": "<string>",
  "schedule": "<string>"
}
'
```

To use the previous command, you need to understand the request structure and the data
sent to the API.

The `nx1` tool shifts your interaction from computer networking application-layer protocols
like HTTP, to commands that directly represent NexusOne actions.

Now, instead of manually constructing API requests, you configure your NexusOne API key and
host URL once and then run a command such as:

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

After running the previous command, `nx1` makes and sends an API request on your behalf to
the NexusOne platform.

## Supported nx1 operations

The nx1 tool supports the following operations.

| Operation      | Description                  |
| -------------- | ---------------------------- |
| airflow        | Trigger Airflow DAGs         |
| alter-table    | Alter table                  |
| apps           | Apps management              |
| ask            | Ask a question               |
| catalogs       | List catalogs                |
| columns        | List columns                 |
| create-catalog | Create catalog               |
| create-schema  | Create schema                |
| create-table   | Create table                 |
| crews          | AI Crews                     |
| dataproducts   | Data products                |
| delete-catalog | Delete catalog               |
| delete-schema  | Delete schema                |
| delete-table   | Delete table                 |
| domains        | List domains                 |
| dq             | Data quality                 |
| engines        | List supported engines       |
| files          | File management              |
| ingest         | Submit ingestion from S3     |
| ingest-file    | Upload and ingest local file |
| ingest-options | Get file ingestion options   |
| jobs           | Job management               |
| kyuubi         | Submit Kyuubi batch job      |
| mirror         | Create mirroring job         |
| ping           | Health check                 |
| profile        | Manage user profiles         |
| s3             | S3 bucket management         |
| schemas        | List schemas                 |
| shares         | Data shares                  |
| suggest        | Get suggestions              |
| tables         | List tables                  |
| tags           | List all tags                |
| version        | Get API version              |

## Additional resources

For more information about the supported flags and how to use them, refer to the `nx1` command line reference page.
