What you’ll learn

• How to page through /content results
• How to DELETE specific content items

Endpoints used

GET /content · DELETE /content/{content_id}

# cleanup_script.py
#
# Delete any content older than 30 days.

import os, requests, datetime
API = "https://sdk.senso.ai/api/v1"
HDR = {"X-API-Key": os.environ["SENSO_KEY"]}

# Config
DAYS_OLD = 30
cutoff = datetime.datetime.utcnow() - datetime.timedelta(days=DAYS_OLD)

deleted = 0
offset = 0
while True:
    page = requests.get(f"{API}/content?limit=100&offset={offset}", headers=HDR).json()
    items = page["items"]
    if not items:
        break

    for item in items:
        created = datetime.datetime.fromisoformat(item["created_at"].rstrip("Z"))
        if created < cutoff:
            cid = item["id"]
            requests.delete(f"{API}/content/{cid}", headers=HDR)
            deleted += 1
            print("Deleted", cid)

    offset += len(items)

print(f"\nDone. Removed {deleted} stale content items (> {DAYS_OLD} days old).")

Run:

export SENSO_KEY=your_api_key
python cleanup_script.py