Those docs are confusing.. docs say "type" must be "PRIMARY" or "SECONDARY", but the examples and the code require that it's a record type ("A", "AAAA" etc.).
Figured it out. It was because the hosted zone wasn't explicitly named. Realized this after noticing all the suffixes were the same... Oops. Thanks for help though 🙂