Update Campaign
Updates a campaign’s dates, cost, units and other details.
const url = 'https://backend.podscribe.ai/api/public/campaign/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0';const options = { method: 'PUT', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"type":"Baked-in","startDate":"2026-04-15T12:00:00Z","endDate":"2026-04-15T12:00:00Z","expectedDate":"2026-04-15T12:00:00Z","totalCost":1,"cpm":1,"currency":"USD","expectedImpressions":1,"itunesOrYtId":"example","geo":"GLOBAL","expectedUnits":[[{"position":"pre","length":1}]],"promo":"example","expectedLandingUrl":"https://example.com","product":"example","initiative":"example","mediaType":"podcast","tags":["example"],"teamMembers":["example"],"creativeIds":["example"]}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}import requests
url = "https://backend.podscribe.ai/api/public/campaign/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0"
payload = { "type": "Baked-in", "startDate": "2026-04-15T12:00:00Z", "endDate": "2026-04-15T12:00:00Z", "expectedDate": "2026-04-15T12:00:00Z", "totalCost": 1, "cpm": 1, "currency": "USD", "expectedImpressions": 1, "itunesOrYtId": "example", "geo": "GLOBAL", "expectedUnits": [[ { "position": "pre", "length": 1 } ]], "promo": "example", "expectedLandingUrl": "https://example.com", "product": "example", "initiative": "example", "mediaType": "podcast", "tags": ["example"], "teamMembers": ["example"], "creativeIds": ["example"]}headers = { "Authorization": "Bearer <token>", "Content-Type": "application/json"}
response = requests.put(url, json=payload, headers=headers)
print(response.json())curl --request PUT \ --url https://backend.podscribe.ai/api/public/campaign/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0 \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "type": "Baked-in", "startDate": "2026-04-15T12:00:00Z", "endDate": "2026-04-15T12:00:00Z", "expectedDate": "2026-04-15T12:00:00Z", "totalCost": 1, "cpm": 1, "currency": "USD", "expectedImpressions": 1, "itunesOrYtId": "example", "geo": "GLOBAL", "expectedUnits": [ [ { "position": "pre", "length": 1 } ] ], "promo": "example", "expectedLandingUrl": "https://example.com", "product": "example", "initiative": "example", "mediaType": "podcast", "tags": [ "example" ], "teamMembers": [ "example" ], "creativeIds": [ "example" ] }'Path Parameters
Section titled “Path Parameters”Campaign ID
Request Bodyrequired
Section titled “Request Bodyrequired”Campaign type. Instagram campaigns (mediaType instagram) take story, reel or feed; other media types take DAI or Baked-in.
start of the campaign in ISO format for DAI campaigns
end of the campaign in ISO format for DAI campaigns
expected date in ISO format for Baked-in campaings
Rate of the campaign. When currency is omitted, the amount is read in the stored currency, not USD.
CPM rate of the campaign. When currency is omitted, the amount is read in the stored currency, not USD.
Currency code (USD, EUR, GBP). When sent, the exchange rate is calculated automatically. When omitted, the stored currency and exchange rate are left unchanged.
expected impressions of the campaign
ITunes ID / YouTube Channel ID / YouTube Playlist ID
Country
Expected units of the campaign
Array<Array<{position,length}>>
Ad position
Ad length in seconds
The discount code
Expected landing URL of the campaign
Product metadata
Initiative metadata
Media type of the campaign
Tags
Team members metadata
creative IDs metadata
Response Body
Section titled “Response Body”OK