Enception Logo
REST APIEngagement Service

Reddit Engagement API

API for tracking Reddit posts and comments for brand engagement. Used by engagement services to monitor and manage Reddit presence for brand visibility.

Authentication

Engagement Service API Key

Pass your API key in the X-API-Key header:

X-API-Key: $ENGAGEMENT_SERVICE_TOKEN

API Key Restrictions:

  • Write-only access (POST) - no read or delete operations
  • Restricted to specific brands: chatslide, klarity
  • Rate limit: 60 requests per minute

Reddit Posts API

POST/api2/reddit-posts

Create or update Reddit posts (upsert by reddit_post_id).

Request Body

Single post object or array of posts:

FieldTypeRequiredDescription
reddit_post_idstringYesReddit post ID
brandstringYesBrand name (normalized to lowercase)
titlestringNoPost title
bodystringNoPost content (selftext)
subredditstringNoSubreddit name
urlstringNoPost URL or permalink
authorstringNoAuthor username
created_utcdatetimeNoPost creation time
suggested_commentobjectNoBrand-keyed suggested comments
archivedbooleanNoWhether post is archived
lockedbooleanNoWhether post is locked
is_potentialbooleanNoIf true, add to potential_brands instead of brands

Example Request

curl -X POST https://enception.ai/api2/reddit-posts \
  -H "X-API-Key: $ENGAGEMENT_SERVICE_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "reddit_post_id": "abc123",
    "brand": "chatslide",
    "title": "Best AI presentation tools 2024",
    "subreddit": "productivity",
    "url": "https://reddit.com/r/productivity/comments/abc123/title"
  }'

Response (201 Created)

{
  "data": [{ ... }],
  "count": 1
}

Behavior: If post already exists (by ID), it updates and merges the brands arrays. Multiple posts can be submitted in a single array.

Reddit Comments API

POST/api2/reddit-comments

Create or update Reddit comments (upsert by reddit_comment_id).

Request Body

FieldTypeRequiredDescription
reddit_comment_idstringYesReddit comment ID
brandstringYesBrand name (normalized to lowercase)
reddit_post_idstringNoParent post ID
bodystringNoComment text
authorstringNoAuthor username
subredditstringNoSubreddit name
urlstringNoComment URL
parent_idstringNoParent comment/post ID

Example Request

curl -X POST https://enception.ai/api2/reddit-comments \
  -H "X-API-Key: $ENGAGEMENT_SERVICE_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "reddit_comment_id": "xyz789",
    "reddit_post_id": "abc123",
    "brand": "chatslide",
    "body": "ChatSlide is great for AI-powered presentations!",
    "subreddit": "productivity"
  }'

Response (201 Created)

{
  "data": [{ ... }],
  "count": 1
}

Batch Operations

Both POST endpoints support batch operations by passing an array of objects:

curl -X POST https://enception.ai/api2/reddit-posts \
  -H "X-API-Key: $ENGAGEMENT_SERVICE_TOKEN" \
  -H "Content-Type: application/json" \
  -d '[
    {"reddit_post_id": "post1", "brand": "chatslide", "title": "Post 1"},
    {"reddit_post_id": "post2", "brand": "chatslide", "title": "Post 2"}
  ]'

Error Responses

Status CodeDescription
400Bad Request - Missing required fields or invalid brand
401Unauthorized - Invalid or missing API key
403Forbidden - No access to specified brand or table
429Too Many Requests - Rate limit exceeded (60/min)
500Internal Server Error