Migration Checklist
Create a unified API key
Switch to Bearer authentication
Authorization: Bearer <api key> and remove any x-api-key header.Update your endpoint URLs
parrot.prod.pagosapi.com with bin.pagos.ai (or parrot.sandbox.pagosapi.com with bin.sandbox.pagos.ai).Allowlist the new IP addresses
13.248.157.210 and 166.117.218.160 to any firewall rules.Check how you handle batch download URLs
url value returned in the batch response as-is, rather than rebuilding it from a hardcoded domain—and if you allowlist that download hostname anywhere, add the new one before September 1.Revoke your legacy keys
1. Unified API Keys
Pagos originally issued a separate API key for each product, each with its own authentication format. The unified API key replaces all of them: one key that works across the entire Pagos suite and authenticates with a standardAuthorization: Bearer header.
Am I using a legacy key?
You’re using a legacy key if either of the following is true:- Your integration sends the API key in an
x-api-keyheader - You created the key under a product-specific tab in the Pagos Service Panel
Creating a unified key
ak_. A single key covers every Pagos product your organization is entitled to, so most integrations replace several product keys with one.
Switching your authentication header
2. New API Domains
The BIN Data APIs have moved to new domains:bin.pagos.ai doesn’t mean it will survive September 1—if it’s a legacy key, it still needs to be replaced. See Unified API Keys.3. New Static IP Addresses
The new domains resolve to new static IP addresses. If you allowlist Pagos traffic in a firewall, add these:13.248.157.210166.117.218.160
99.83.189.213 and 75.2.25.63—until they’re retired on September 1, 2026. Keep both sets allowlisted while you’re mid-migration, and remove the legacy pair once you’ve fully cut over.
4. Batch Download URLs
Responses from the BIN Data Batch/batch/files endpoint contain a url field pointing at the file to download.
Today, that URL still references the legacy domain even when you call the new one:
Your code
Use the returnedurl exactly as given, rather than extracting the path and appending it to a hardcoded domain. Integrations that follow the returned URL pick up the new domain automatically.
Your network controls
This is easy to miss, because nothing in your own code changes and the failure appears without a deploy. Check for the download hostname in:- Outbound proxy or egress firewall rules
- URL or domain allowlists on a corporate network
- Any allowlist maintained by a data platform or ETL tool that fetches the file on your behalf
bin.pagos.ai (or bin.sandbox.pagos.ai) alongside your existing entry now, and remove the legacy hostname after the cutover. If you allowlist by IP rather than hostname, add the new IP addresses.
What Doesn’t Change
- Request and response formats. Apart from the batch
urldomain described above, no field is added, removed, or reformatted by this migration. Switching to a unified key has no effect on response bodies. - Other headers. Account Updater and Network Tokenization still require
X-Merchant-ID, unchanged. - Paths and query parameters. Only the domain changes;
/bins,/batch/files, and every other path stays the same. - Rate limits and entitlements. Your unified key inherits the product access your organization already has.
Troubleshooting
401: This API key is invalid.
401: This API key is invalid.
x-api-keyis always validated as a legacy keyAuthorization: Beareris always validated as a unified key
x-api-key, or a legacy key sent as Authorization: Bearer, fails even though the key itself is valid. Confirm the key type and header match.Also check the key matches the environment you’re calling—Test Mode keys don’t authenticate production requests.401: API requires an API key in 'x-api-key' header.
401: API requires an API key in 'x-api-key' header.
Authorization: Bearer <api key> and that the header isn’t being stripped by a proxy or gateway in front of your integration.I created a new key but it still doesn't work.
I created a new key but it still doesn't work.
Authorization: Bearer. Create the key on the main API Keys tab instead.My key works on one product but not another.
My key works on one product but not another.
Requests time out or are refused after switching domains.
Requests time out or are refused after switching domains.
Batch file downloads started failing and we didn't change anything.
Batch file downloads started failing and we didn't change anything.
url returned by /batch/files points at bin.pagos.ai instead of parrot.prod.pagosapi.com. If an egress firewall, outbound proxy, or URL filter only permits the legacy hostname, the download is blocked even though your integration is behaving correctly and nothing was deployed.Add bin.pagos.ai to the allowlist—or the new IP addresses if you filter by IP. See Your network controls.I lost the key value after creating it.
I lost the key value after creating it.
Frequently Asked Questions
My existing key works on both the legacy and new domains. Do I still need a new key?
My existing key works on both the legacy and new domains. Do I still need a new key?
What happens on September 1, 2026?
What happens on September 1, 2026?
Do I need a separate key for each Pagos product?
Do I need a separate key for each Pagos product?
Can I run legacy and unified keys side by side?
Can I run legacy and unified keys side by side?
Does migrating change my API responses?
Does migrating change my API responses?
url domain, and only on September 1, 2026. Switching your key or your endpoint has no effect on response bodies. If you’re seeing another difference, it isn’t caused by this migration—contact support@pagos.ai and we’ll look into it.How many unified keys can I create?
How many unified keys can I create?

