Pour que API Platform ne réclame pas un paramètre d'identification dans les requêtes Custom Controller, il est possible de mettre la définition de requête dans collectionOperations plutôt que dans itemOperations. On peut ainsi définir ce que l'on souhaite comme paramètres et API Platform ne rajoute pas l'ID (qui n'est pas défini) !

Exemple :
<?php
/**
* @ApiResource(
 *      attributes={"security"="is_granted('ROLE_USER')"},
 *      iri="http://schema.org/UserEntity",
 *      collectionOperations={
 *          "userentitysite"={
 *              "method"="GET",
 *              "path"="/userentities/entitysite/{identitysite}",
 *              "pagination_enabled"=false,
 *              "controller"=UserEntitysiteList::class,
 *              "read"=false,
 *              "openapi_context" = {
 *                  "summary" = "List attached to the requested entity/site pair",
 *                  "parameters" = {
 *                      {
 *                          "name"="identitysite",
 *                          "in" = "path",
 *                          "required" = true,
 *                          "type"="identity",
 *                      },
 *                  },
 *              },
 *      },
 *      itemOperations={
 *      },
 *      formats={"jsonld", "json"},
 * )
 */
class UserEntity
{
    // To force API Platform to not use identifier, you must put the new actions in
    // collectionOperations, even if there is some parameters ! In collections,
    // API Platform do not add the ID parameter !
}