AR.IO LogoAR.IO Documentation
ArDrive CLIWorking With Files

Uploading a Custom Manifest

Using the custom content type feature, it is possible for users to upload their own custom manifests. The Arweave gateways use this special content type in order to identify an uploaded file as a manifest:

application/x.arweave-manifest+json

In addition to this content type, the manifest must also adhere to the correct JSON structure of an Arweave manifest. A user can create their own manifest from scratch, or start by piping a generated manifest to a JSON file and editing it to their specifications:

ardrive create-manifest -w /path/to/wallet -f "6c312b3e-4778-4a18-8243-f2b346f5e7cb"  --dry-run | jq '{manifest}.manifest' > my-custom-manifest.json

After editing the generated manifest, simply perform an upload-file command with the custom Arweave manifest content type to any PUBLIC folder:

ardrive upload-file --content-type "application/x.arweave-manifest+json" --local-path my-custom-manifest.json --parent-folder-id "9af694f6-4cfc-4eee-88a8-1b02704760c0" -w /path/to/wallet.json

The returned dataTxId field on the created file entity will be the endpoint that the manifest can be found on Arweave, just as explained in the manifest sections above:

https://arweave.net/{dataTxId}
https://arweave.net/{dataTxId}/custom-file-1
https://arweave.net/{dataTxId}/custom-file-2

How is this guide?