Some APIs have abnormal authentication methods which prevents you from using the standard API Poller Credentials. For example, the vRNI API requires that you send the credentials in the JSON body of a POST in order to create a temporary token, as shown below. I've seen others which use custom authentication headers or query strings as well.
{ "domain": { "domain_type": "LDAP", "value": "example.com" }, "password": "password", "username": "admin@vrni.com" }
It would not be a good practice to actually hard code the credentials in the request body where anybody could see them like below.

In addition, managing these credentials in the future would be painful if they were embedded in the request body for various API pollers.
If we could use a variable or macro like ${username} and ${password} which pulled the credentials from the API Poller Credential store, this open up the use cases of the API pollers in SAM and make API pollers like this a real option.
Reference: https://developer.vmware.com/apis/vrealize-network-insight-api/latest/api/ni/auth/token/post/