client_id: the API key prefixclient_secret: the full API key shown once at creation
Authorization header.
Choose API permissions
Create each API key with only the API permissions your integration needs. The public client portal requires at least one API permission when you create a key. API permissions are fixed at key creation. To change them later, create a replacement key and revoke the old key after you cut over. Read and write are independent. For example,payment_methods:write does not include payment_methods:read, and autopay:read does not include autopay:write.
Legacy or manual zero-permission keys are different. If one of those keys still has a valid organization allowlist, it can exchange for an access token, but every resource endpoint returns 403 with {"detail":{"error_code":"insufficient_scope"}}.
Exchange your API key
Call the API
The same access token also works on
https://secure-api.montereyfinancial.app/v1/payment-methods/cards. That route requires the payment_methods:write scope.Organization scoping
An API key is bound to an explicit organization allowlist. Every token minted from that key carries the same allowlist. Account, person, transaction, payment-method, and autopay queries enforce it on every request.401, 403, and 404
An empty result is not a 403. A valid query with no matching rows returns
200 with {"items": []}.
Lookups by resource ID—such as /v1/accounts/{id}, /v1/payment-methods/{id}, and /v1/autopay/{id}—return 404 for both nonexistent and out-of-scope IDs. This prevents callers from probing for resources they cannot see.
Rotate an API key
- Create a replacement API key with the organization allowlist and API permissions you want.
- Update your token-exchange configuration with the new
client_idandclient_secret. - Confirm your integration can mint and use a token from the new key.
- Revoke the old key.