Minecraft wiki entry for Spawn, associated text: the spawning block and the block above must be liquid (water) but it cannot be waterlogged
the block below the spawning block must be water or waterlogged
If it is cod, salmon, pufferfish, tropical fish, then the water ambient mobcap must not be full
If it is squid or dolphin, the water creature mobcap must not be full
*If it is a squid, then...
the spawning block must be between level 46 and 62, inclusive
the spawning block must be in an ocean or river
If it is a dolphin then.....
the height of the spawn must be greater than 45 and less than sea level (62).
the spawning block must be in an ocean or deep ocean