diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,4 +1,12 @@
 
+50200.3.0
+=========
+
+Bug fixes:
+ * Fixed a bug in the Team JSON decoder where the `invite_id`
+   field was required despite it truly being optional (see also
+   https://github.com/matterhorn-chat/matterhorn/issues/550)
+
 50200.2.0
 =========
 
diff --git a/mattermost-api.cabal b/mattermost-api.cabal
--- a/mattermost-api.cabal
+++ b/mattermost-api.cabal
@@ -1,5 +1,5 @@
 name:                mattermost-api
-version:             50200.2.0
+version:             50200.3.0
 synopsis:            Client API for Mattermost chat system
 
 description:         Client API for Mattermost chat system.  Mattermost is a
diff --git a/src/Network/Mattermost/Types.hs b/src/Network/Mattermost/Types.hs
--- a/src/Network/Mattermost/Types.hs
+++ b/src/Network/Mattermost/Types.hs
@@ -242,7 +242,7 @@
   , teamType            :: Type
   , teamCompanyName     :: UserText
   , teamAllowedDomains  :: UserText
-  , teamInviteId        :: Id
+  , teamInviteId        :: Maybe Id
   , teamAllowOpenInvite :: Bool
   }
   deriving (Read, Show, Eq, Ord)
@@ -262,7 +262,7 @@
     teamType            <- v .: "type"
     teamCompanyName     <- v .: "company_name"
     teamAllowedDomains  <- v .: "allowed_domains"
-    teamInviteId        <- v .: "invite_id"
+    teamInviteId        <- maybeFail (v .: "invite_id")
     teamAllowOpenInvite <- v .: "allow_open_invite"
     return Team { .. }
 
