import requests # pip install requests import jwt # pip install pyjwt from datetime import datetime as date # Admin API key goes here key = '' # Split the key into ID and SECRET id, secret = key.split(':') # Prepare header and payload iat = int(date.now().timestamp()) header = {'alg': 'HS256', 'typ': 'JWT', 'kid': id} payload = { 'iat': iat, 'exp': iat + 5 * 60, 'aud': '/admin/' } # Create the token (including decoding secret) token = jwt.encode(payload, bytes.fromhex(secret), algorithm='HS256', headers=header) headers = {'Authorization': 'Ghost {}'.format(token)} url = 'https://ghost.example.com/ghost/api/admin/posts/' def deletePost(id): r = requests.delete(url + id + '/', headers=headers) print(r) r = requests.get(url + '?limit=all', headers=headers) posts = r.json()['posts'] [deletePost(post['id']) for post in posts]