Hi @SDusane ,
Yes, you can use a single Client ID for all your environments. You do not need to create a separate Client ID or a separate project in the Adobe Developer Console for each domain.
The solution is to configure your single Client ID to recognize and allow all the domains where your AEM environments are running.
How to Configure a Single Client ID for Multiple Domains
The Adobe PDF Embed API uses the Client ID to authenticate requests. For security reasons, each Client ID has an "Allowed Domains" list. The API will only work on domains specified in this list.
Here is how to set it up:
1. Configure the Adobe Developer Console Project
- Go to your Adobe Developer Console project: https://console.adobe.io/
- Select the project that contains your PDF Embed API credential.
- Find your PDF Embed API service and click on it to view its details.
- Look for the "Allowed Domains" field (it might also be called "Redirect URI patterns" or "Authorized domains").
- In this field, you need to list all the domains for your Author and Publish instances. You can separate them with a comma.
author-aem.mycompany.com, publish-aem.mycompany.com, localhost:4502, localhost:4503, dev-author.myapp.com, dev-publish.myapp.com, qa-author.myapp.com, qa-publish.myapp.com

Include all your environment URLs (author/publish, dev, stage, prod).
Don't forget to include localhost for local development instances.
- Save the changes to your project.
2. Configure AEM's OSGi Configuration
Your approach of using a Configuration override file (pdf-viewer.cfg.json) is correct. You just need to point all your environments to use that same, single Client ID.
Your pdf-viewer.cfg.json file should contain the one Client ID:
{
"clientId": "your-single-client-id-here"
}
Ensure this configuration is deployed to all your AEM environments (Author and Publish for all stages). This ensures every instance uses the same Client ID.
Thanks,
Amit