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

# ingest

> Submit a data ingestion job to load data from S3 into a target table.

The `ingest` command submits a new data ingestion request to upload data from an S3 bucket.

```bash theme={null}
nx1 ingest \
  --name <airflow_job_name> \
  --schema <schema_name> \
  --table <table_name> \
```

<Accordion title="Options">
  * `--delimiter` `string` **optional**: Character used to separate fields in the input file. Default: `,`.
  * `--domain` `string` **optional**: DataHub logical category used to organize the ingestion job.
  * `--file-id` `string` **optional**: Unique ID of the uploaded file.
  * `--file-path` `string` **optional**: S3 URL to the file you want to ingest.
  * `--format` `string` **optional**: Format of the file. Values: `csv`, `orc`, `xml`, `parquet`, or `xls`.
  * `--header` `boolean` **optional**: Indicates whether the file contains a header row.
  * `--merge-keys` `string` **optional**: Comma-separated columns used to match and merge data when the `mode` is `merge`.
  * `--mode` `string` **optional**: How to write data to the table. Values: `append`, `overwrite`, or `merge`.
  * `--name` `string` **required**: Name of the Airflow ingestion job.
  * `--schema` `string` **required**: Target schema name for the data.
  * `--schedule` `string` **optional**: Cron expression that specifies when or how often the ingestion runs.
  * `--table` `string` **required**: Target table name for the data.
  * `--tags` `string` **optional**: Comma-separated DataHub tags.
  * `--type` `string` **optional**: Type of data ingestion. Values: `file`, `jdbc`, `lakehouse`.
</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>
