You can also combine all previous mentioned configuration types in a single request:
curl -i -X POST \
-H "Authorization:<your-authorization-token>" \
-H "Content-Type:multipart/form-data" \
-F "infoMap= {\"configs\":[{\"configId\":\"<your-first-configuration-id>\",\"templateId\":\"<your-first-template-id>\"}, \
{\"configId\":\"<your-second-configuration-id>\",\"templateId\":\"<your-second-template-id>\", \
\"editedTemplateText\":\"{\n\t\\"tab1\\":\\"##$hello$##\\"\n}\"},{\"configId\":\"<your-third-configuration-id>\", \
\"versionId\":\"<your-configuration-version-id>\"}, \
{\"configId\":\"<your-fourth-configuration-id>\",\"fileId\":\"<unique-file-id>\"}],\"devices\":[\"<your-device-id>\"]}" \
-F "<unique-file-id>=@\"/home/Desktop/temp/example.txt\";filename=\"example.txt\"" \
'https://<your-iem-url>/portal/api/v1/batches?appid=<your-app-id>&operation=installApplication'