The HoopAI Platform Blogs REST API gives you programmatic control over every layer of your blog infrastructure. Use it to create and publish posts, manage authors and categories, configure RSS feeds, import posts from external URLs or CSV files, and retrieve performance statistics — all without leaving your own application.Documentation Index
Fetch the complete documentation index at: https://help.hoopai.com/llms.txt
Use this file to discover all available pages before exploring further.
Base URL
Authentication
Every request requires a Bearer token and an API version header.OAuth scopes
| Scope | Access granted |
|---|---|
blogs.readonly | Read blog sites, posts, authors, and categories |
blogs.write | Create, update, and delete blog sites, posts, authors, and categories |
Quick start
Retrieve all blogs for a location:Endpoints
| Method | Path | Description |
|---|---|---|
GET | /blogs/site/all | Get blogs by location ID |
POST | /blogs/site | Create a blog site |
POST | /blogs/site/rss | Create an RSS feed |
GET | /blogs/site/rss | Get RSS feeds |
PUT | /blogs/site/rss/{id} | Update an RSS feed |
DELETE | /blogs/site/rss/{id} | Delete an RSS feed |
GET | /blogs/site/rss-migration | Get RSS migration status |
POST | /blogs/site/rss-migration | Update RSS migration status |
POST | /blogs/site/load-snapshot | Load a blog snapshot |
POST | /blogs/site/create-import | Create a blog import |
POST | /blogs/site/import-csv | Import blog posts from CSV/XLSX file |
GET | /blogs/site/imports | Fetch blog imports |
GET | /blogs/site/imports/all | Fetch all imports by ID |
GET | /blogs/site/import/{importId} | Fetch a blog import by ID |
PUT | /blogs/site/import/{importId} | Update a blog import |
DELETE | /blogs/site/import/{importId} | Delete a blog import |
PUT | /blogs/site/create/import/{importId} | Import blog posts from an import job |
PUT | /blogs/site/refresh/import/{importId} | Refresh a blog import |
PUT | /blogs/site/import/link/{importId} | Delete an import link |
PUT | /blogs/site/import/csv/{linkId} | Update blog data for an import link |
GET | /blogs/site/check-sitemap | Check if sitemap exists |
POST | /blogs/posts | Create a blog post |
PUT | /blogs/posts/{postId} | Update a blog post |
GET | /blogs/posts/all | Get blog posts by blog ID |
DELETE | /blogs/posts/duplicate | Remove duplicate blog posts |
GET | /blogs/posts/url-slug-exists | Check URL slug availability |
GET | /blogs/posts/snapshot/all | Get blog post snapshots |
POST | /blogs/posts/check-snapshot-conflict | Check snapshot conflicts |
GET | /blogs/posts/unique/author | Get author list by blog ID |
GET | /blogs/posts/unique/category | Get category list by blog ID |
POST | /blogs/posts/top-category-by-view-count | Get top categories by view count |
GET | /blogs/posts/stats/imported-blog-post-ratio | Get imported blog post ratio stats |
GET | /blogs/posts/stats/{locationId} | Get blog post stats for a location |
POST | /blogs/posts/verify/blog-path | Verify a blog path |
GET | /blogs/authors | Get all blog authors |
POST | /blogs/authors/update-canonical | Update canonical links for authors |
GET | /blogs/categories | Get all blog categories |
DELETE | /blogs/categories/{categoryId} | Delete a blog category |
POST | /blogs/site/contact/tags | Add tags to a contact |