41

I want to create a new stage in AWS Api Gateway, but for some reason deployment list is empty. I tried checking all the sections, but could not find a section where I can add/create a deployment item.

Any ideas how to resolve this?

enter image description here

mko
  • 6,638
  • 12
  • 67
  • 118

5 Answers5

37

This happens when you don't have any deployment for you API. You could deploy your API and create new stage.

Zoey Sun
  • 418
  • 4
  • 2
  • 78
    To be a bit more precise: you need to go to APIs - - Resources on the left hand side of the screen. Click one of your resources, you might even select "/" then click on the "Actions" button and select "Deploy API" it lets you create Stages. I find that very confusing and unintuitive too (like most of the AWS's UI). – kev Nov 01 '17 at 05:37
  • 18
    kev, you should create your own answer so we can up vote that one instead since the accepted answer is pretty unhelpful. – Michael Nov 29 '18 at 02:05
  • 5 years in and without Kev's answer I wouldn't have been able to create an API mapping for my custom domain name in API Gateway, as you need a pick a stage. Once I did that, boom, everything worked. – GFoley83 May 18 '22 at 10:04
8

To expand on Zoey Sun's answer:

If you don't have any deployments, you need to create one, which it seems can only be done when you actually deploy your API. So under your API, got to the 'Resources' tab, use the Actions dropdown. It's in this UI that you'll get the option to create a new stage. If you get warned about not having any integrations, just add a simple action like an HTTP pass through.

So you're effectively deploying before you've built it. I agree with the comments not very intuitive.

gbro3n
  • 6,729
  • 9
  • 59
  • 100
3

This happens because you have never deployed your API. You would need to deploy your API first by doing the following:

  1. From AWS Console go to API Gateway
  2. Select your API by clicking on your API name.
  3. (If not already selected) Click on the Resources menu on the left hand side of the screen.
  4. Click on the resources "Actions" menu and select "Deploy API"
  5. On the popup modal page fill out the fields Deployment Stage [New Stage] Stage Name:
  6. Click the "Deploy" button
Liran Barniv
  • 1,320
  • 1
  • 10
  • 10
2

Make sure you do not have any resources created without their integration method defined. It does not allow you to create a stag or deploy your api gateway until you define integration method for all your resource methods.

0

I was able to solve this by creating an API with the Stage empty.

I just followed-up the Stage after adding $default then save it

Dean Christian Armada
  • 6,724
  • 9
  • 67
  • 116