No integration defined for method - Choose a stage where your API will be deployed

Hasan Abdullah picture Hasan Abdullah · Sep 7, 2017 · Viewed 14.5k times · Source

I'm working with AWS API Gateway and AWS Lambda. Often I face this type of error message when attempt to deploy API. The error message says to select a deployment stage. But I still selecting and trying to deploy! but same error occur!

Screenshot of pop up error message

In this API I have multiple resources with multiple methods. Previously I succeed to deploy this same API with the same way. But now I can't deploy it.

Please anyone help me to fix it. For addition: I don't use AWS CLI tool, just use AWS web dashboard.

Answer

Hasan Abdullah picture Hasan Abdullah · Sep 7, 2017

I talked with customer service center of AWS. The problem was:

In this API there was an unintegrated method. Suppose there are a resource image and I create a POST method for this resource. But I forgot to integrate it to any AWS Lambda Function or HTTP. So the API cannot be deployed.

If the method is unnecessary then delete the method. OR you can integrate it as Mock endpoint. You can change this endpoint anytime.

Note: For this unintegration problem AWS gives this type of wrong error message. They should update their message to save developer's time.