# Ghost

Manage Ghost: posts, pages, members, newsletters, tags, tiers, webhooks. Exposes **34 actions** covering the full API surface
the agent needs - read and write.

## What it can do

| Method | What it does |
| --- | --- |
| `ghost_posts_list` | List posts - GET /posts/. |
| `ghost_post_get` | Get one post by UUID or slug - GET /posts/&#123;id&#125;/. |
| `ghost_post_create` | Create a new post - POST /posts/. |
| `ghost_post_update` | Update a post - PUT /posts/&#123;id&#125;/. |
| `ghost_post_delete` | Delete a post - DELETE /posts/&#123;id&#125;/. |
| `ghost_pages_list` | List pages - GET /pages/. |
| `ghost_page_get` | Get one page by UUID or slug - GET /pages/&#123;id&#125;/. |
| `ghost_page_create` | Create a page - POST /pages/. |
| `ghost_page_update` | Update a page - PUT /pages/&#123;id&#125;/. |
| `ghost_page_delete` | Delete a page - DELETE /pages/&#123;id&#125;/. |
| `ghost_members_list` | List members - GET /members/. |
| `ghost_member_get` | Get one member by UUID or email - GET /members/&#123;id&#125;/. |
| `ghost_member_create` | Create a member - POST /members/. |
| `ghost_member_update` | Update a member - PUT /members/&#123;id&#125;/. |
| `ghost_member_delete` | Delete a member - DELETE /members/&#123;id&#125;/. |
| `ghost_tags_list` | List tags - GET /tags/. |
| `ghost_tag_get` | Get one tag by UUID or slug - GET /tags/&#123;id&#125;/. |
| `ghost_tag_create` | Create a tag - POST /tags/. |
| `ghost_tag_update` | Update a tag - PUT /tags/&#123;id&#125;/. |
| `ghost_tag_delete` | Delete a tag - DELETE /tags/&#123;id&#125;/. |
| `ghost_tiers_list` | List tiers (products) - GET /tiers/. |
| `ghost_tier_get` | Get one tier by UUID or slug - GET /tiers/&#123;id&#125;/. |
| `ghost_tier_create` | Create a tier - POST /tiers/. |
| `ghost_tier_update` | Update a tier - PUT /tiers/&#123;id&#125;/. |
| `ghost_newsletters_list` | List newsletters - GET /newsletters/. |
| `ghost_newsletter_get` | Get one newsletter by UUID or slug - GET /newsletters/&#123;id&#125;/. |
| `ghost_newsletter_create` | Create a newsletter - POST /newsletters/. |
| `ghost_newsletter_update` | Update a newsletter - PUT /newsletters/&#123;id&#125;/. |
| `ghost_offers_list` | List offers - GET /offers/. |
| `ghost_offer_get` | Get one offer by UUID - GET /offers/&#123;id&#125;/. |
| `ghost_offer_create` | Create an offer - POST /offers/. |
| `ghost_offer_update` | Update an offer - PUT /offers/&#123;id&#125;/. |
| `ghost_settings_get` | Get site settings - GET /settings/. |
| `ghost_settings_update` | Update site settings - PUT /settings/. |

## How to get credentials

This connector uses an **API key / token**. Create one in the provider
dashboard, then paste it into FlyMyAI:

- **`GHOST_ADMIN_API_KEY`** - Ghost Admin - Settings - Integrations - Add custom integration. (https://ghost.org/docs/admin-api/)
- **`GHOST_API_URL`** - Your Ghost site URL, e.g. https://blog.example.com .

## Fields to fill in FlyMyAI

| FlyMyAI field | Where it comes from |
| --- | --- |
| `GHOST_ADMIN_API_KEY` | Ghost Admin - Settings - Integrations - Add custom integration. |
| `GHOST_API_URL` | Your Ghost site URL, e.g. https://blog.example.com . |

## Troubleshooting

- **`401 Unauthorized` / `403 Forbidden`** - the token is wrong, expired, or missing a required scope - regenerate it.
- **`429 Too Many Requests`** - you hit the provider rate limit; retry after a short backoff.
- **Unexpected `4xx` on writes** - double-check required fields; the agent confirms before write actions.

## Links

- [Ghost API documentation](https://ghost.org/docs/admin-api)
