diff --git a/aws-lambda-haskell-runtime.cabal b/aws-lambda-haskell-runtime.cabal
--- a/aws-lambda-haskell-runtime.cabal
+++ b/aws-lambda-haskell-runtime.cabal
@@ -5,7 +5,7 @@
 -- see: https://github.com/sol/hpack
 
 name:           aws-lambda-haskell-runtime
-version:        4.0.1
+version:        4.1.0
 synopsis:       Haskell runtime for AWS Lambda
 description:    Please see the README on GitHub at <https://github.com/theam/aws-lambda-haskell-runtime#readme>
 category:       AWS
diff --git a/src/Aws/Lambda/Runtime/APIGateway/Types.hs b/src/Aws/Lambda/Runtime/APIGateway/Types.hs
--- a/src/Aws/Lambda/Runtime/APIGateway/Types.hs
+++ b/src/Aws/Lambda/Runtime/APIGateway/Types.hs
@@ -26,6 +26,7 @@
     eitherDecodeStrict,
     object,
     (.:),
+    (.:?)
   )
 import Data.Aeson.Types (Parser)
 import qualified Data.Aeson.Types as T
@@ -110,7 +111,7 @@
     apiGatewayRequestContextDomainName :: !Text,
     apiGatewayRequestContextApiId :: !Text,
     apiGatewayRequestContextIdentity :: !ApiGatewayRequestContextIdentity,
-    apiGatewayRequestContextAuthorizer :: !Value
+    apiGatewayRequestContextAuthorizer :: !(Maybe Value)
   }
   deriving (Show)
 
@@ -131,7 +132,7 @@
       <*> v .: "domainName"
       <*> v .: "apiId"
       <*> v .: "identity"
-      <*> v .: "authorizer"
+      <*> v .:? "authorizer"
   parseJSON _ = fail "Expected ApiGatewayRequestContext to be an object."
 
 data ApiGatewayRequestContextIdentity = ApiGatewayRequestContextIdentity
