The limitations to fileID's goes both to length and allowed characters.
The maximum length is 250, and is limited by the file system - as it allows for a maximum of 255 characters. The 5 character difference is due to the last 5 available characters is reserved for use in the back-end.
The allowed characters is for security reasons. As the Java part communicates with the back-end using a bash shell, input has to be limited to avoid a malformed fileID executing something illegal on the command line. As such a cautionary approach is used, only letting needed characters through.
Currently the allowed values are best described by the following regex: [a-zA-Z_.0-9]
Characters for consideration is '-' and '%' as they have viable use cases.