This feature is in alpha testing! Please reach out to spencer@knak.com if you would like to participate.
Before You Begin
Before you start, make sure you have:
An active Adobe Experience Manager as a Cloud Service (AEM as a Cloud Service) subscription
Access to the Adobe Developer Console for your organization
An AEM administrator with access to:
Your AEM Git repository
Adobe Cloud Manager
Admin permissions in Knak
Dynamic Media enabled using either:
OpenAPI
Dynamic Media Classic (Scene7)
Setup Responsibilities
The setup process involves three different roles.
Role | Responsibility |
Adobe | Provides the IMS Client ID and related credentials |
AEM Administrator | Allow-lists the Client ID in each AEM environment |
Knak Administrator | Configures the integration inside Knak |
Important: This guide covers the AEM Asset Selector integration, which uses Adobe's native Asset Selector inside Knak.
If you are setting up the legacy AEM Assets integration, see Setting Up the Adobe Experience Manager Integration instead.
Step 1: Request Credentials from Adobe
Contact your Adobe account team and request provisioning for the AEM Asset Selector.
Adobe will provide the following values:
Value | Description | Example |
IMS Client ID | Identifies the Asset Selector application |
|
IMS Organization ID | Your Adobe organization identifier |
|
Repository ID | The hostname of your AEM author environment |
|
IMS Scope (optional) | The default Asset Selector scopes are almost always correct; Adobe will tell you if anything custom is required | — |
Important: Adobe must provision the IMS Client ID before the integration can authenticate.
Without it, the Asset Selector returns 403 Forbidden or Network Error messages.
Register Your Knak URLs
Tell Adobe the exact URL(s) where your users access Knak (e.g. https://enterprise.knak.io, plus any custom/white-label Knak domain).
Adobe must register these origins with the IMS Client ID. If they are not registered, authentication fails with a browser Cross-Origin Resource Sharing (CORS) error.
Step 2: Allow-List the Client ID in AEM
Your AEM administrator must allow-list the IMS Client ID in every environment.
For example:
Development
Stage
Production
Skipping this step is the most common cause of 403 Forbidden errors.
Create the Configuration File
Clone the appropriate Git repository.
Create the following file:
config/api.yamlReplace
<provided-clientId>with the value Adobe supplied.kind: "API"
version: "1"
metadata:
envTypes: ["dev"] # or ["stage"] / ["prod"] for other environments
data:
allowedClientIDs:
author:
- "<provided-clientId>"
Deploy the Configuration
Commit the changes.
Push the repository.
Open Adobe Cloud Manager.
Create a Config Pipeline for the repository and branch.
Run the pipeline.
After deployment finishes, the Client ID becomes available for that environment.
Important: Only the author entry is required.
The Asset Selector communicates with the author environment. Public assets are served from the delivery environment.
Find Your Repository
To access your Git repository:
Open your Adobe Cloud Manager program.
Navigate to Repositories.
Select Access Repo Info.
Copy the repository URL and credentials.
Clone the repository locally.
Add the YAML file.
Commit and push your changes.
For Adobe's reference, see Introduction to CI/CD Pipelines.
Step 3: Configure the Integration in Knak
Open Knak.
Go to Admin.
Select Integrations.
Click Platforms.
Navigate to the AEM Asset Selector tile under the Digital Asset Management section
Click Connect.
Enter the credentials provided by Adobe.
Leave Dynamic Media Delivery for the next step.
Click Create New Integration.
Step 4: Choose a Dynamic Media Delivery Option
The Dynamic Media Delivery setting determines how Knak builds public asset URLs.
OpenAPI (Recommended)
Choose OpenAPI if you use:
Adobe Experience Manager as a Cloud Service
Adobe Assets Delivery OpenAPI
This is the correct option for most customers.
Scene7 (Dynamic Media Classic)
Choose Scene7 only if your organization delivers assets through Dynamic Media Classic.
Scene7 environments have:
A dedicated dashboard
Separate delivery domains
Not Sure Which Option to Choose?
Start with OpenAPI. If approved assets cannot load, ask your AEM administrator whether your organization uses Scene7.
Both delivery methods must be enabled in AEM before they can be used.
Step 5: Approve and Publish Assets
The Asset Selector displays all repository assets.
Knak only accepts assets that are:
Images
Approved
Published
Publicly accessible
Non-image files, such as PDFs or videos, cannot be inserted.
Scene7 Requirements
If you selected Scene7, every asset must also:
Sync successfully to Dynamic Media
Have a publish status of PublishComplete
Tip: Publish and approve your assets before authors begin building emails or landing pages. This ensures assets are available for selection in Knak. It also makes troubleshooting easier because unpublished assets can appear in the Asset Selector but cannot be inserted.
Step 6: Verify Network Requirements
Adobe's authentication services require HTTPS. Knak already uses HTTPS.
If your organization blocks external services, ask your IT team to allow:
experience.adobe.com— loads the Asset Selector JavaScript library*.adobeaemcloud.com— your author and delivery tier hostnames (repository discovery, asset metadata, public URL delivery)Adobe IMS authentication domains
ims-na1.adobelogin.comauth.services.adobe.com
If your organization uses a Content Security Policy (CSP), verify these directives allow Adobe services:
script-srcconnect-srcimg-srcframe-src
Use the Integration
After setup, authors can insert AEM images anywhere Knak supports image uploads.
Open an email or landing page.
Open the image picker.
Select AEM Asset Selector.
Sign in using your Adobe ID.
Browse your repository.
Select an approved image.
Click Select.
Knak validates the asset before inserting it.
Insertion fails if the asset:
Is not an image
Is unpublished
Is not publicly accessible
Troubleshooting
"Network Error" or "403 Forbidden" when opening the Asset Selector
The IMS Client ID has not been allow-listed in your AEM environment.
To resolve this issue:
Verify that
config/api.yamlexists in the correct Git branch.Confirm the IMS Client ID matches the value provided by Adobe exactly.
Make sure the configuration was committed and pushed successfully.
Verify that the Config Pipeline completed successfully for the environment you are testing.
If you use multiple environments (development, stage, or production), ensure the Client ID has been allow-listed in each one.
"Authentication failed. Please try again."
Adobe Identity Management Services (IMS) rejected the authentication request.
To resolve this issue:
Verify that the IMS Client ID and IMS Organization ID in Knak exactly match the values provided by Adobe.
Remove any leading or trailing spaces from the values.
Confirm you are signing in with an Adobe ID that belongs to the same Adobe organization.
If you entered a custom IMS Scope, remove it unless Adobe specifically instructed you to use one.
"This asset is not available for public delivery. Ensure it is approved and published in AEM."
The selected asset is not publicly available through the configured delivery method.
To resolve this issue:
Verify the asset has completed your organization's approval and publishing workflow.
Confirm the asset is publicly accessible using its delivery URL.
If you are using OpenAPI delivery, verify that the Assets Delivery endpoint is enabled in your AEM environment.
"This asset is not available via Scene7." or "The Scene7 delivery URL is not reachable."
The asset is not available through Dynamic Media Classic (Scene7).
To resolve this issue:
Verify the asset has synchronized to Dynamic Media.
Confirm the asset's publish status is PublishComplete.
Verify that your organization uses Scene7 for asset delivery.
If your organization does not use Scene7, change the Dynamic Media Delivery setting in Knak to OpenAPI.
"Failed to load AEM Asset Selector. Please try again."
The Adobe-hosted Asset Selector could not load.
To resolve this issue:
Open your browser's developer tools and look for blocked requests to
experience.adobe.com.If your organization uses a firewall, proxy, or Content Security Policy (CSP), ask your IT team to allow the Adobe domains listed in the HTTPS and Network Requirements section.
Unpublished or non-image assets appear in the Asset Selector
This behavior is expected. Adobe's Asset Selector displays all assets in the repository. Knak validates assets when you select them.
To insert an asset successfully, it must:
Be an image.
Be approved.
Be published.
Have a publicly accessible delivery URL.
To make browsing easier, organize approved images into dedicated folders within AEM.
Need more help? Contact support via live chat within Knak using the chat bubble in the bottom right corner or email support@knak.com.




