Imagine a busy port city with hundreds of ships in a medieval setting without gun power. The city is not heavily walled, and is located on a remote corner of the world, away from the jurisdiction and protection of the Empire. The city is a bit smaller than Amsterdam and it's northern, western and eastern sides are surrounded by a sea. A stretch of land to it's south connects it to the rest of the continent (think of the heel on the boot of Italy). The city has a small barracks and city guards with a small naval fleet to protect against pirates. Lets say the amount of guards and soldiers is 500 (is this number too low?)
Is it believable, or possible, for an enemy army to successful conduct a sneak attack on land to the city without warning? What would the enemy force need to execute in order to interfere with the personnel of the city from relaying an impending attack? The land leading to this city is mostly green with some hills, but no mountains. This army does not have access to ships of their own, and travel on horseback. They total somewhere between 500-1000 men (is this too little or too many?).
If relevant, the attacking army has magic which can manipulate minds, but the access to this kind of magic is limited.