delivery-sdk-net

You can configure the DeliveryClient to retrieve either secured or unpublished content at one time.

Secure your keys first

For security reasons, the PreviewApiKey and SecureAccessApiKey key should be stored outside of the project file structure. It’s recommended to use Secret Manager or Azure Key Vault to store sensitive data. Avoid using appsettings.json for API keys.

Secured content

To retrieve secured content, you need to create an instance of the IDeliveryClient with a Secure API key. Each Kontent.ai environment has its own Secure API key.

IDeliveryClient client = DeliveryClientBuilder
    .WithOptions(builder => builder
        .WithEnvironmentId("<YOUR_ENVIRONMENT_ID>")
        .UseProductionApi("<YOUR_SECURE_API_KEY>")
        .Build())
    .Build();

or set it to the IConfiguration object using the Configuration["DeliveryOptions:SecureAccessApiKey"] and Configuration["DeliveryOptions:UseSecureAccess"]

Configuration structure:

"DeliveryOptions": {
    "UseSecureAccess": true,
    "SecureAccessApiKey": "<YOUR_SECURE_API_KEY>"
  }

Unpublished content

Similarly, to retrieve unpublished content, you need to create an instance of the IDeliveryClient with both Environment ID and Preview API key. Each Kontent.ai environment has its own Preview API key.

IDeliveryClient client = DeliveryClientBuilder
    .WithOptions(builder => builder
        .WithEnvironmentId("<YOUR_ENVIRONMENT_ID>")
        .UsePreviewApi("<YOUR_PREVIEW_API_KEY>")
        .Build())
    .Build();

or set it to the IConfiguration object using the Configuration["DeliveryOptions:PreviewApiKey"] and Configuration["DeliveryOptions:UsePreviewApi"]

Configuration structure:

"DeliveryOptions": {
    "UsePreviewApi": true,
    "PreviewApiKey": "<YOUR_SECURE_API_KEY>"
  }

Learn more about configuring content preview for your app and Kontent.ai environment.