# Write Import Manifest

Create a file named `manifest.json` with the following content:

```json
{
  "source": "Example Migration",
  "batch_size": 100,
  "payload_base_uri": "",
  "eas_type": "url",
  "eas_skip_errors": true,
  "eas_replace_url": "",
  "skip_head_request": true,
  "mapping": null,
  "payloads": []
}
```

This manifest is used to preload the migration data in the JSON Importer. All information in the manifest can also be changed in the frontend, so a manifest file is not needed, but very helpful.

* `source`: A name to identify the migration, can be freely chosen
* `batch_size`: Maximum number of objects from a payload that are posted in a single request
  * If the payloads contain more objects, the payloads are uploaded in parts
  * This value is necessary to control the request size
  * For complex objects which take a long time to be saved, it is possible that the request might time out. In this case, the batch size needs to be decreased
  * The internal limit of the server is `1000`
* `payload_base_uri`:
  * If the payloads are not stored in the same folder as the manifest (or on another server), this is needed to build absolute paths from the payload file names
  * This value needs to be the relative path to the payload folder
* `eas_type`: Preselect the asset upload type in the import dialog:
  * `direct`: The assets are uploaded using the browser (`put`)
  * `url`: Remote put: assets are loaded by the EAS using the URL (`rput`)
  * `ignore`: No assets are imported
* `skip_head_request`: Skip HEAD request in `rput` in **fylr**
* `eas_skip_errors`: Ignore file errors
  * If there are any errors during file upload, the error will not stop the import process
  * the error will only be logged
* `eas_replace_url`: optional server url for each file
  * If you use `http://localhost` in the urls in the payloads, this will be replaced by this server url
* `mapping`: optional mapping id
  * If this is an import mapping, during the import this mapping is applied for any matching objecttypes that have file fields
* `payloads`: List of the filenames of all payloads, in the order they are posted


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.fylr.io/for-administrators/tools/json-importer/examples/import-manifest.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
