Skip to main content
SCT
Step-by-Step Setup 5-10 minutes

Social Categories Setup

Social Media Basic
Need more detail? Read the full guide for config deep-dives and best practices.

Social Categories Setup

Retrieve content categories used to organize social media posts in GoHighLevel. Categories help you group posts by topic, campaign, or content type for better planning and reporting. This quick-start covers authentication, fetching categories, and using them with posts.

Prerequisites

Before making your first Social Categories call, confirm you have:

  • A GoHighLevel sub-account with the Social Planner feature enabled
  • Access to Settings > Integrations > Private Integrations in your sub-account
  • A REST client such as Postman, Insomnia, or curl in your terminal
  • Your sub-account’s locationId (found in Settings > Business Profile)

Categories are typically created through the GHL dashboard under Marketing > Social Planner. You should have at least one category configured before testing the API.

Set Up Authentication

All Social Categories endpoints require a Private Integration Token (PIT) with the social-media-posting scope.

Navigate to Settings > Integrations > Private Integrations. Click Create New Integration, name it “Social Categories API,” and enable the social-media-posting scope. Click Save and copy the generated token.

Pass this token in the Authorization header as a Bearer token. Set your base URL to https://services.leadconnectorhq.com. Include the Version: 2021-07-28 header with each request.

Make Your First Call

Start by listing all categories for your location. Send a GET request:

GET /social-media-posting/categories?locationId=your-location-id
Authorization: Bearer {your-pit-token}

This returns all content categories configured for your sub-account. Each category includes an id, name, and optional color or description fields.

To retrieve a single category by its ID, call:

GET /social-media-posting/category/{categoryId}
Authorization: Bearer {your-pit-token}

Use category IDs when creating or filtering social posts. Pass the categoryId field in your POST /social-media-posting/post request body to assign a post to a specific category.

Handle the Response

A successful GET /social-media-posting/categories call returns a 200 status:

{
  "categories": [
    {
      "id": "cat-001",
      "name": "Promotions",
      "color": "#FF5733"
    },
    {
      "id": "cat-002",
      "name": "Educational Content",
      "color": "#33A1FF"
    }
  ]
}

Store the category id values for use in post creation and search filtering. Categories are location-specific, so different sub-accounts may have different category lists.

Common errors: 401 means your token is invalid or the social-media-posting scope is not enabled. 404 on a single category lookup means the category ID does not exist. An empty categories array means no categories have been created in the GHL dashboard yet.

Test Your Setup

Run through this checklist to confirm everything works:

  1. List all categories with GET /social-media-posting/categories and verify results match what you see in GHL
  2. Get a single category with GET /social-media-posting/category/{id} using an ID from the list
  3. Create a post with POST /social-media-posting/post that includes the categoryId field
  4. Search posts by category using the Social Post Search endpoint with a category filter
  5. Cross-reference the results with the Social Planner view in GHL

If the categories list is empty, create a few categories in Marketing > Social Planner through the GHL dashboard first, then re-test the API.

Next Steps

Read the full Social Categories Guide for strategies on organizing content across multiple campaigns. From here, explore Social Tags for additional post organization and Social Post CRUD for creating categorized posts.

Stay sharp. New guides and playbooks as they drop.