sendgridが大嫌いなのでメール配信サービスはpostmarkを使っている。
postmarkで新規サーバーを作成する処理をつくったら、謎にエラーになったのでメモ。
Servers API | Postmark Developer Documentation
このAPIに対してPOSTでリクエストしたらエラーになった。
エラーには
Request failed with status code 422
という情報しか含まれておらず手詰まり。
リクエストの仕方が悪いのかと思って試しにpostmanからリクエストしてみたところ、エラーは相変わらず422だが、
{ "ErrorCode": 602, "Message": "This inbound domain is already in use on another server in Postmark." }
というdataが返ってきていることがわかった。
原因はbody.InboundDomainに指定したドメインがすでに別サーバーで使用されているとのこと。
言われてみれば確かに、既存のサーバーにて *.inbound.test.com をInboundDomainに設定してある状態で、 新規サーバーの作成時に
{ "InboundDomain": "sandbox.inbound.test.com"}
という値をリクエストしていた。
明示的なサブドメイン指定>ワイルドカードのサブドメイン指定という扱いにはならないらしい。
既存サーバーの設定値を変更したら無事にリクエストが通るようになったので解決。