I'm pushing back on the claims I've read that security tokens "only change when user changes the password, or regenerates the token."
My API access stopped working unexpectedly, and I couldn't get any API requests to go through. (This was a big problem for the business I work for.)
When I tried to log in normally the website kicked me over to a password change page, as if Salesforce had expired my password and was demanding that I make a new one.
The API only started working again when I changed my password and generated a new token. Changing these was the ONLY change I made, and it has worked fine since then.
In other words, I experienced the token expiring or changing, WITHOUT the user changing the password or regenerating the security token. There was no warning of any kind.
How can I set up my API access to function more reliably, so that I'm not blindsided by the sudden enforced failure of my requests by Salesforce?