Performing an ingest with object XML through the REST API does not generate a PID if one is not provided. A PID is only generated when no object content is included in the request. When object content is available, the PID is assumed to be included, which is not always the case.
Attempting to perform an ingest through the REST API with FOXML that does not specify the PID results in the error:
javax.ws.rs.WebApplicationException: fedora.server.errors.LowlevelStorageException: PID delimiter (:) is missing. PID delimiter (:) is missing. at fedora.server.rest.BaseRestResource.handleException(BaseRestResource.java:98) at fedora.server.rest.FedoraObjectResource.createObject(FedoraObjectResource.java:402)
This bug was originally reported by Rudi Stouffs.