Documentation Index
Fetch the complete documentation index at: https://docs.foodsave.kz/llms.txt
Use this file to discover all available pages before exploring further.
Create Campaign
Base path: /api/v1/admin/ads
Overview
Create, update and manage advertising campaigns for banners and placements.
Campaign creation requires ADMIN scope; posting large budgets without campaign caps may trigger moderation.
POST /api/v1/admin/ads/campaigns
Create a campaign.
curl --request POST \
--url https://api.foodsave.kz/api/v1/admin/ads/campaigns \
-H 'Authorization: Bearer $ADMIN_TOKEN' \
-H 'Content-Type: application/json' \
-d '{"name":"May promotions","placements":["home","checkout"],"budget":10000}'
const response = await fetch('https://api.foodsave.kz/api/v1/admin/ads/campaigns', {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.ADMIN_TOKEN}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({ name: 'May promotions', placements: ['home', 'checkout'], budget: 10000 })
})
console.log(await response.json())
import os
import requests
response = requests.post(
'https://api.foodsave.kz/api/v1/admin/ads/campaigns',
headers={'Authorization': f"Bearer {os.environ['ADMIN_TOKEN']}"},
json={'name': 'May promotions', 'placements': ['home', 'checkout'], 'budget': 10000}
)
print(response.json())
{
"id": "789",
"name": "May promotions",
"status": "DRAFT"
}
Errors
| Code | Meaning | How to fix |
|---|
| 400 | BAD_REQUEST | Validate body fields |
| 401 | UNAUTHORIZED | Use admin token |
| 403 | FORBIDDEN | Missing admin role |