curl -X PUT "https://api.shortkit.dev/v1/ad-config" \
-H "Authorization: Bearer sk_live_your_secret_key" \
-H "Content-Type: application/json" \
-d '{
"enabled": true,
"adTagUrl": "https://ads.example.com/vast?placement=shortkit",
"frequency": 4,
"firstAdOffset": 2,
"skipPolicy": "skippable_after",
"skipDelaySeconds": 3,
"defaultTargeting": {
"content_type": "news",
"audience": "general"
}
}'
curl -X PUT "https://api.shortkit.dev/v1/ad-config" \
-H "Authorization: Bearer sk_live_your_secret_key" \
-H "Content-Type: application/json" \
-d '{
"nativeEnabled": true,
"nativeFormatId": "vertical_video_card",
"nativeAdUnitId": "/12345/native-feed",
"nativeVideoUrlKey": "media_url",
"nativeHeadlineKey": "title",
"nativeCtaKey": "call_to_action"
}'
curl -X PUT "https://api.shortkit.dev/v1/ad-config" \
-H "Authorization: Bearer sk_live_your_secret_key" \
-H "Content-Type: application/json" \
-d '{ "enabled": false }'
{
"data": {
"enabled": true,
"frequency": 4,
"firstAdOffset": 2,
"maxPerPage": 3,
"adTagUrl": "https://ads.example.com/vast?placement=shortkit",
"adUnitId": null,
"skipPolicy": "skippable_after",
"skipDelaySeconds": 3,
"defaultTargeting": {
"content_type": "news",
"audience": "general"
},
"nativeEnabled": false,
"nativeFormatId": null,
"nativeAdUnitId": null,
"nativeVideoUrlKey": "video_url",
"nativeHeadlineKey": "headline",
"nativeCtaKey": "cta_text",
"nativeSponsorKey": "sponsor_name",
"nativeSponsorLogoKey": "sponsor_logo"
},
"meta": {
"request_id": "req_def456"
}
}
Ad Configuration
Update Ad Config
Update ad configuration settings. Only the fields you include are changed.
PUT
/
v1
/
ad-config
curl -X PUT "https://api.shortkit.dev/v1/ad-config" \
-H "Authorization: Bearer sk_live_your_secret_key" \
-H "Content-Type: application/json" \
-d '{
"enabled": true,
"adTagUrl": "https://ads.example.com/vast?placement=shortkit",
"frequency": 4,
"firstAdOffset": 2,
"skipPolicy": "skippable_after",
"skipDelaySeconds": 3,
"defaultTargeting": {
"content_type": "news",
"audience": "general"
}
}'
curl -X PUT "https://api.shortkit.dev/v1/ad-config" \
-H "Authorization: Bearer sk_live_your_secret_key" \
-H "Content-Type: application/json" \
-d '{
"nativeEnabled": true,
"nativeFormatId": "vertical_video_card",
"nativeAdUnitId": "/12345/native-feed",
"nativeVideoUrlKey": "media_url",
"nativeHeadlineKey": "title",
"nativeCtaKey": "call_to_action"
}'
curl -X PUT "https://api.shortkit.dev/v1/ad-config" \
-H "Authorization: Bearer sk_live_your_secret_key" \
-H "Content-Type: application/json" \
-d '{ "enabled": false }'
{
"data": {
"enabled": true,
"frequency": 4,
"firstAdOffset": 2,
"maxPerPage": 3,
"adTagUrl": "https://ads.example.com/vast?placement=shortkit",
"adUnitId": null,
"skipPolicy": "skippable_after",
"skipDelaySeconds": 3,
"defaultTargeting": {
"content_type": "news",
"audience": "general"
},
"nativeEnabled": false,
"nativeFormatId": null,
"nativeAdUnitId": null,
"nativeVideoUrlKey": "video_url",
"nativeHeadlineKey": "headline",
"nativeCtaKey": "cta_text",
"nativeSponsorKey": "sponsor_name",
"nativeSponsorLogoKey": "sponsor_logo"
},
"meta": {
"request_id": "req_def456"
}
}
This is a sparse update — only the fields you include in the request body are changed. Omitted fields retain their current values.
Request body
All fields are optional.boolean
Enable or disable ad slot injection.
integer
Content items between ads after the first ad.
integer
Content position of the first ad.
integer
Maximum ad slots per feed page.
string | null
VAST/VMAP ad tag URL.
string | null
Default ad unit identifier.
string
Skip behavior string passed to the SDK.
integer
Seconds before the skip button appears.
object
Default targeting key-value pairs.
boolean
Enable native ad format.
string | null
Native ad format template identifier.
string | null
Ad unit ID for native ad slots.
string
Asset key for video URL in native ad responses.
string
Asset key for headline text.
string
Asset key for CTA text.
string
Asset key for sponsor name.
string
Asset key for sponsor logo URL.
curl -X PUT "https://api.shortkit.dev/v1/ad-config" \
-H "Authorization: Bearer sk_live_your_secret_key" \
-H "Content-Type: application/json" \
-d '{
"enabled": true,
"adTagUrl": "https://ads.example.com/vast?placement=shortkit",
"frequency": 4,
"firstAdOffset": 2,
"skipPolicy": "skippable_after",
"skipDelaySeconds": 3,
"defaultTargeting": {
"content_type": "news",
"audience": "general"
}
}'
curl -X PUT "https://api.shortkit.dev/v1/ad-config" \
-H "Authorization: Bearer sk_live_your_secret_key" \
-H "Content-Type: application/json" \
-d '{
"nativeEnabled": true,
"nativeFormatId": "vertical_video_card",
"nativeAdUnitId": "/12345/native-feed",
"nativeVideoUrlKey": "media_url",
"nativeHeadlineKey": "title",
"nativeCtaKey": "call_to_action"
}'
curl -X PUT "https://api.shortkit.dev/v1/ad-config" \
-H "Authorization: Bearer sk_live_your_secret_key" \
-H "Content-Type: application/json" \
-d '{ "enabled": false }'
{
"data": {
"enabled": true,
"frequency": 4,
"firstAdOffset": 2,
"maxPerPage": 3,
"adTagUrl": "https://ads.example.com/vast?placement=shortkit",
"adUnitId": null,
"skipPolicy": "skippable_after",
"skipDelaySeconds": 3,
"defaultTargeting": {
"content_type": "news",
"audience": "general"
},
"nativeEnabled": false,
"nativeFormatId": null,
"nativeAdUnitId": null,
"nativeVideoUrlKey": "video_url",
"nativeHeadlineKey": "headline",
"nativeCtaKey": "cta_text",
"nativeSponsorKey": "sponsor_name",
"nativeSponsorLogoKey": "sponsor_logo"
},
"meta": {
"request_id": "req_def456"
}
}