Provider.stage is not used when creating new Http Apis - They are created with $default stage

The issue is essentially this closed github issue - Serverless framework creating $default stage even if we provide explicit stage name when creating HTTP API. · Issue #8367 · serverless/serverless · GitHub

I believe this is a bug, as the provider.stage is used in the naming convention for http apis (though in the wrong order - shouldStartNameWithService ignored for HTTP API gateway · Issue #9631 · serverless/serverless · GitHub), however it isn’t used to control the actual stage that is created (like occurs with the REST apis). But that github issue was closed, saying to post here.

1 Like

We do not rely on stage functionality on AWS, instead for each stage we create different instance of HTTP API.

It’s for the same reason as with API Gateway, see: AWS API Gateway stages are deployed as different API instances (no AWS stages are used) · Issue #2445 · serverless/serverless · GitHub

If you’d like each API to be deployed to some specific stage, please open a new request and provide a good reasoning (note that Framework won’t create multiple stages in context of one HTTP API, it’s always about single stage on AWS side, it’s the reason why it makes most sense to go on with $default)