* fix: use zod for validation * fix: use slug instead of url Co-authored-by: Peer Richelsen <peeroke@gmail.com>