> ## 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.

# Blogs Overview

> Create, publish, and manage blog posts, authors, categories, and RSS feeds with the HoopAI Platform REST API.

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.

## Base URL

```
https://services.leadconnectorhq.com
```

## Authentication

Every request requires a Bearer token and an API version header.

```bash theme={null}
Authorization: Bearer <access_token>
Version: 2021-07-28
```

Use an access token generated with user type **Account**, or a **Private Integration Token** from an Account. See [OAuth 2.0](/api-reference/oauth/overview) for details.

## 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:

```bash theme={null}
curl -X GET "https://services.leadconnectorhq.com/blogs/site/all?locationId=<locationId>&skip=0&limit=10&searchTerm=" \
  -H "Authorization: Bearer <access_token>" \
  -H "Version: 2021-07-28"
```

## 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                |

## Related

* [OAuth 2.0 overview](/api-reference/oauth/overview)
* [Funnels API overview](/api-reference/funnels/overview)
* [Contacts API overview](/api-reference/contacts/overview)
