Earlier quoted context omitted.
Or, the API's plan IDs could correspond to specific plans, and never change. New plans mean new IDs. Like how IDs are supposed to work.
The plans themselves have changed many times before. They become obsolete over time. What if your plan ID becomes unavailble, or the specs change in a way your application can't handle? Don't shrug off your bad design decisions on someone else.
The API should throw an error, so I can adjust my scripts, instead of silently provisioning a server I never intended to provision.
There should be a deprecation process when a plan is discontinued, so this doesn't happen unexpectedly.
If AWS can't provision me a t1.micro, they don't just go and give me a m3.small instead.