Private function doesn't require API key when deployed

When I define a function as private and also define an API key in serverless.yml, the deployed API Gateway method entry appears with “API Key Required” still set to false.

For example:

functions:
  SomeFunction:
    handler: SomeFunc.handler
    private: true
    events:
      - http:
          path: v1/somefunc
          method: get

Bug or am I missing something?

Per the Serverless API Gateway docs
You need to move the private property to the http event like so:

functions:
  SomeFunction:
    handler: SomeFunc.handler
    events:
      - http:
          path: v1/somefunc
          method: get
          private: true

Hope it helps.