A lot of explanations seem to be very verbose and it's hard to find this easy definitions.
Let's go through all parts of the acronym step by step!
In conventional dynamic applications, communication mostly happened when requesting a site.
Requesting dynamic data moves to being requested from the frontend code, once an initial version of the site is loaded.
That's where the API part comes in.
The site you deploy is a folder with lots of files in it. That's the markup part.
You don't have code which generates those files on the fly. Repeated requests to any file will result in the same file, unless a new version is deployed.
Those markup folders are generated using static site generators.
The initial meaning of Jamstack got broader and looser with time.
It's still about static-first sites, and having a clean separation to dynamic functionality. It will probably be explained a little different by any given person.
Words like "secure", "fast" "cheap", "scalable", "convenient" or "immutable" might be used.
The idea behind the Jamstack is a powerful tool, and something which can benefit a certain type of project tremendeously!
It's a poor fit for some other ideas though.
If your idea is a good fit for a static-first site, which might be improved with interactivity progressively, you're riding the Jamstack train!