# Social

Social media content generation and publishing

## Publish social post immediately

> Publish a social media post immediately to a connected platform via Late.dev.\
> The social account must be connected in Brand Settings first.\
> Requires Power plan or higher.<br>

```json
{"openapi":"3.1.0","info":{"title":"Cuppa API","version":"1.0.0"},"tags":[{"name":"Social","description":"Social media content generation and publishing"}],"servers":[{"url":"https://api.cuppa.ai"}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"X-API-KEY"}}},"paths":{"/v1/social/publish":{"post":{"summary":"Publish social post immediately","description":"Publish a social media post immediately to a connected platform via Late.dev.\nThe social account must be connected in Brand Settings first.\nRequires Power plan or higher.\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["site_id","platform","content"],"properties":{"site_id":{"type":"string","format":"uuid"},"platform":{"type":"string","enum":["twitter","linkedin","instagram","facebook","threads","tiktok","pinterest","youtube","bluesky","telegram"]},"content":{"type":"string","maxLength":5000},"hashtags":{"type":"array","items":{"type":"string"}},"image_url":{"type":"string","format":"uri"},"video_url":{"type":"string","format":"uri","description":"URL of a video to attach (preferred over image_url for video platforms like TikTok, YouTube)"}}}}}},"responses":{"200":{"description":"Post published","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"platform":{"type":"string"},"post_id":{"type":"string","nullable":true},"late_post_id":{"type":"string","nullable":true},"error":{"type":"string","nullable":true}}}}}}},"tags":["Social"]}}}}
```

## Schedule social post for future publishing

> Schedule a social media post for future publishing.\
> The post is sent to Late.dev with the scheduled time.\
> Requires Power plan or higher.<br>

```json
{"openapi":"3.1.0","info":{"title":"Cuppa API","version":"1.0.0"},"tags":[{"name":"Social","description":"Social media content generation and publishing"}],"servers":[{"url":"https://api.cuppa.ai"}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"X-API-KEY"}}},"paths":{"/v1/social/schedule":{"post":{"summary":"Schedule social post for future publishing","description":"Schedule a social media post for future publishing.\nThe post is sent to Late.dev with the scheduled time.\nRequires Power plan or higher.\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["site_id","platform","content","scheduled_at"],"properties":{"site_id":{"type":"string","format":"uuid"},"platform":{"type":"string","enum":["twitter","linkedin","instagram","facebook","threads","tiktok","pinterest","youtube","bluesky","telegram"]},"content":{"type":"string","maxLength":5000},"scheduled_at":{"type":"string","format":"date-time","description":"ISO datetime when the post should be published"},"hashtags":{"type":"array","items":{"type":"string"}},"image_url":{"type":"string","format":"uri"},"video_url":{"type":"string","format":"uri","description":"URL of a video to attach (preferred over image_url for video platforms like TikTok, YouTube)"},"article_id":{"type":"string","format":"uuid","description":"Optional article ID to link this post to"}}}}}},"responses":{"200":{"description":"Post scheduled","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"platform":{"type":"string"},"post_id":{"type":"string","nullable":true},"late_post_id":{"type":"string","nullable":true},"scheduled_at":{"type":"string"},"status":{"type":"string","enum":["scheduled","draft"]},"warning":{"type":"string","nullable":true,"description":"Warning message if post was saved as draft"}}}}}}},"tags":["Social"]}}}}
```

## Generate a social media post

> Generate a social media post from article content or a standalone\
> topic. Provide article\_title + article\_summary, or just a topic.\
> Requires Power plan or higher. Uses your OpenAI API key for text\
> generation, and optionally Replicate API key for image generation.<br>

```json
{"openapi":"3.1.0","info":{"title":"Cuppa API","version":"1.0.0"},"tags":[{"name":"Social","description":"Social media content generation and publishing"}],"servers":[{"url":"https://api.cuppa.ai"}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"X-API-KEY"}},"schemas":{"GenerateSocialPost":{"type":"object","required":["site_id","platform"],"description":"Provide article_title + article_summary for article-derived posts,\nor provide topic for standalone posts.\n","properties":{"site_id":{"type":"string","format":"uuid"},"article_id":{"type":"string","format":"uuid","nullable":true},"topic":{"type":"string","maxLength":500,"description":"Standalone topic (alternative to article_title/article_summary)"},"article_title":{"type":"string","description":"Required if topic not provided"},"article_summary":{"type":"string","description":"Required if topic not provided"},"article_url":{"type":"string","format":"uri","nullable":true},"platform":{"type":"string","enum":["twitter","instagram","facebook","linkedin","tiktok","youtube","pinterest","reddit","bluesky","threads"]},"tone":{"type":"string","enum":["casual","professional","witty","inspiring","educational","engaging"],"default":"engaging"},"include_hashtags":{"type":"boolean","default":true},"max_hashtags":{"type":"integer","minimum":0,"maximum":30},"hook_type":{"type":"string","enum":["curiosity","story","value","contrarian","social_proof"]},"generate_image":{"type":"boolean","default":false}}},"SocialPost":{"type":"object","properties":{"content":{"type":"string"},"hashtags":{"type":"array","items":{"type":"string"}},"image_prompt":{"type":"string"},"image_url":{"type":"string","nullable":true},"platform":{"type":"string"},"character_count":{"type":"integer"},"hook":{"type":"string","nullable":true},"metadata":{"type":"object","properties":{"tokens_used":{"type":"integer"},"model":{"type":"string"},"generated_at":{"type":"string","format":"date-time"},"brand_context_used":{"type":"boolean"}}}}}}},"paths":{"/v1/social":{"post":{"summary":"Generate a social media post","description":"Generate a social media post from article content or a standalone\ntopic. Provide article_title + article_summary, or just a topic.\nRequires Power plan or higher. Uses your OpenAI API key for text\ngeneration, and optionally Replicate API key for image generation.\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateSocialPost"}}}},"responses":{"201":{"description":"Social post generated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SocialPost"}}}}},"tags":["Social"]}}}}
```

## Generate social posts for multiple platforms

> Generate optimized social media posts for up to 5 platforms at once.\
> Each platform gets tailored content based on its character limits\
> and best practices. Provide article\_title + article\_summary,\
> or topic for standalone posts. Requires Power plan or higher.<br>

```json
{"openapi":"3.1.0","info":{"title":"Cuppa API","version":"1.0.0"},"tags":[{"name":"Social","description":"Social media content generation and publishing"}],"servers":[{"url":"https://api.cuppa.ai"}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"X-API-KEY"}},"schemas":{"SocialPost":{"type":"object","properties":{"content":{"type":"string"},"hashtags":{"type":"array","items":{"type":"string"}},"image_prompt":{"type":"string"},"image_url":{"type":"string","nullable":true},"platform":{"type":"string"},"character_count":{"type":"integer"},"hook":{"type":"string","nullable":true},"metadata":{"type":"object","properties":{"tokens_used":{"type":"integer"},"model":{"type":"string"},"generated_at":{"type":"string","format":"date-time"},"brand_context_used":{"type":"boolean"}}}}}}},"paths":{"/v1/social/multi":{"post":{"summary":"Generate social posts for multiple platforms","description":"Generate optimized social media posts for up to 5 platforms at once.\nEach platform gets tailored content based on its character limits\nand best practices. Provide article_title + article_summary,\nor topic for standalone posts. Requires Power plan or higher.\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["site_id","platforms"],"properties":{"site_id":{"type":"string","format":"uuid","description":"Site/brand ID"},"topic":{"type":"string","maxLength":500,"description":"Standalone topic (alternative to article fields)"},"article_title":{"type":"string","description":"Title of the article"},"article_summary":{"type":"string","description":"Brief summary of the article"},"article_url":{"type":"string","description":"Public URL of the article"},"platforms":{"type":"array","items":{"type":"string","enum":["twitter","instagram","facebook","linkedin","tiktok","youtube","pinterest","bluesky","threads","telegram"]},"minItems":1,"maxItems":5,"description":"Target platforms (1-5)"},"tone":{"type":"string","enum":["casual","professional","witty","inspiring","educational","engaging"],"default":"engaging"},"include_hashtags":{"type":"boolean","default":true},"generate_images":{"type":"boolean","default":false,"description":"Generate images for each platform (requires Replicate API key)"}}}}}},"responses":{"201":{"description":"Posts generated for each platform","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/SocialPost"},"description":"Map of platform name to generated post"}}}}},"tags":["Social"]}}}}
```

## Get supported social platforms

> Returns all supported platforms with character limits, format support, and content tips.<br>

```json
{"openapi":"3.1.0","info":{"title":"Cuppa API","version":"1.0.0"},"tags":[{"name":"Social","description":"Social media content generation and publishing"}],"servers":[{"url":"https://api.cuppa.ai"}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"X-API-KEY"}}},"paths":{"/v1/social/platforms":{"get":{"summary":"Get supported social platforms","description":"Returns all supported platforms with character limits, format support, and content tips.\n","responses":{"200":{"description":"List of platforms","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"label":{"type":"string"},"max_characters":{"type":"integer"},"hashtags_supported":{"type":"boolean"},"max_hashtags":{"type":"integer"},"best_practices":{"type":"string"},"content_tips":{"type":"string","description":"Platform-specific caption and hook guidance for Brand DNA and content tools"}}}}}}}}}},"tags":["Social"]}}}}
```

## List social posts

> List social media posts with optional filters.

```json
{"openapi":"3.1.0","info":{"title":"Cuppa API","version":"1.0.0"},"tags":[{"name":"Social","description":"Social media content generation and publishing"}],"servers":[{"url":"https://api.cuppa.ai"}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"X-API-KEY"}},"schemas":{"SocialPostRecord":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"platform":{"type":"string"},"content":{"type":"string"},"hashtags":{"type":"array","items":{"type":"string"}},"image_url":{"type":"string","nullable":true},"status":{"type":"string","enum":["draft","scheduled","published","failed"]},"scheduled_at":{"type":"string","format":"date-time","nullable":true},"published_at":{"type":"string","format":"date-time","nullable":true},"article_id":{"type":"string","format":"uuid","nullable":true},"late_post_id":{"type":"string","nullable":true},"error_message":{"type":"string","nullable":true},"metadata":{"type":"object","nullable":true},"post_type":{"type":"string","nullable":true},"voice_mode":{"type":"string","nullable":true},"site_id":{"type":"string","format":"uuid","nullable":true},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time","nullable":true}}}}},"paths":{"/v1/social/posts":{"get":{"summary":"List social posts","description":"List social media posts with optional filters.","parameters":[{"in":"query","name":"page","schema":{"type":"integer"},"description":"Page number for pagination"},{"in":"query","name":"limit","schema":{"type":"integer","default":20,"maximum":100},"description":"Maximum number of posts to return"},{"in":"query","name":"site_id","schema":{"type":"string","format":"uuid"},"description":"Filter by site ID"},{"in":"query","name":"platform","schema":{"type":"string"},"description":"Filter by platform"},{"in":"query","name":"status","schema":{"type":"string","enum":["draft","scheduled","published","failed"]},"description":"Filter by status"}],"responses":{"200":{"description":"A list of social posts","content":{"application/json":{"schema":{"type":"object","properties":{"posts":{"type":"array","items":{"$ref":"#/components/schemas/SocialPostRecord"}},"total":{"type":"integer"},"page":{"type":"integer"},"limit":{"type":"integer"}}}}}}},"tags":["Social"]}}}}
```

## Get social post

> Get a single social post by ID.

```json
{"openapi":"3.1.0","info":{"title":"Cuppa API","version":"1.0.0"},"tags":[{"name":"Social","description":"Social media content generation and publishing"}],"servers":[{"url":"https://api.cuppa.ai"}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"X-API-KEY"}},"schemas":{"SocialPostRecord":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"platform":{"type":"string"},"content":{"type":"string"},"hashtags":{"type":"array","items":{"type":"string"}},"image_url":{"type":"string","nullable":true},"status":{"type":"string","enum":["draft","scheduled","published","failed"]},"scheduled_at":{"type":"string","format":"date-time","nullable":true},"published_at":{"type":"string","format":"date-time","nullable":true},"article_id":{"type":"string","format":"uuid","nullable":true},"late_post_id":{"type":"string","nullable":true},"error_message":{"type":"string","nullable":true},"metadata":{"type":"object","nullable":true},"post_type":{"type":"string","nullable":true},"voice_mode":{"type":"string","nullable":true},"site_id":{"type":"string","format":"uuid","nullable":true},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time","nullable":true}}}}},"paths":{"/v1/social/posts/{id}":{"get":{"summary":"Get social post","description":"Get a single social post by ID.","responses":{"200":{"description":"The social post","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SocialPostRecord"}}}}},"tags":["Social"]}}}}
```

## Delete social post

> Delete a draft or scheduled social post. Cannot delete published posts.

```json
{"openapi":"3.1.0","info":{"title":"Cuppa API","version":"1.0.0"},"tags":[{"name":"Social","description":"Social media content generation and publishing"}],"servers":[{"url":"https://api.cuppa.ai"}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"X-API-KEY"}}},"paths":{"/v1/social/posts/{id}":{"delete":{"summary":"Delete social post","description":"Delete a draft or scheduled social post. Cannot delete published posts.","responses":{"200":{"description":"Post deleted","content":{"application/json":{"schema":{"type":"object","properties":{"deleted":{"type":"boolean"}}}}}}},"tags":["Social"]}}}}
```

## Update social post

> Update a draft or scheduled social post. Cannot edit published posts.

```json
{"openapi":"3.1.0","info":{"title":"Cuppa API","version":"1.0.0"},"tags":[{"name":"Social","description":"Social media content generation and publishing"}],"servers":[{"url":"https://api.cuppa.ai"}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"X-API-KEY"}},"schemas":{"SocialPostRecord":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"platform":{"type":"string"},"content":{"type":"string"},"hashtags":{"type":"array","items":{"type":"string"}},"image_url":{"type":"string","nullable":true},"status":{"type":"string","enum":["draft","scheduled","published","failed"]},"scheduled_at":{"type":"string","format":"date-time","nullable":true},"published_at":{"type":"string","format":"date-time","nullable":true},"article_id":{"type":"string","format":"uuid","nullable":true},"late_post_id":{"type":"string","nullable":true},"error_message":{"type":"string","nullable":true},"metadata":{"type":"object","nullable":true},"post_type":{"type":"string","nullable":true},"voice_mode":{"type":"string","nullable":true},"site_id":{"type":"string","format":"uuid","nullable":true},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time","nullable":true}}}}},"paths":{"/v1/social/posts/{id}":{"patch":{"summary":"Update social post","description":"Update a draft or scheduled social post. Cannot edit published posts.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"content":{"type":"string"},"hashtags":{"type":"array","items":{"type":"string"}},"scheduled_at":{"type":"string","format":"date-time"},"image_url":{"type":"string"}}}}}},"responses":{"200":{"description":"Post updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SocialPostRecord"}}}}},"tags":["Social"]}}}}
```

## Schedule a draft social post

> Takes an existing draft social post and schedules it via Late.dev.\
> Uses the post's scheduled\_at timestamp, or defaults to tomorrow 9am UTC.\
> The post must be in "draft" status and have a connected platform account.<br>

```json
{"openapi":"3.1.0","info":{"title":"Cuppa API","version":"1.0.0"},"tags":[{"name":"Social","description":"Social media content generation and publishing"}],"servers":[{"url":"https://api.cuppa.ai"}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"X-API-KEY"}}},"paths":{"/v1/social/posts/{id}/schedule":{"post":{"summary":"Schedule a draft social post","description":"Takes an existing draft social post and schedules it via Late.dev.\nUses the post's scheduled_at timestamp, or defaults to tomorrow 9am UTC.\nThe post must be in \"draft\" status and have a connected platform account.\n","responses":{"200":{"description":"Post scheduled","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"status":{"type":"string","enum":["scheduled"]},"late_post_id":{"type":"string"},"scheduled_at":{"type":"string","format":"date-time"}}}}}},"422":{"description":"Post cannot be scheduled (not draft, no account connected, etc.)"}},"tags":["Social"]}}}}
```

## Publish a draft social post immediately

> Takes an existing draft social post and publishes it immediately via Late.dev.\
> The post must be in "draft" status and have a connected platform account.<br>

```json
{"openapi":"3.1.0","info":{"title":"Cuppa API","version":"1.0.0"},"tags":[{"name":"Social","description":"Social media content generation and publishing"}],"servers":[{"url":"https://api.cuppa.ai"}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"X-API-KEY"}}},"paths":{"/v1/social/posts/{id}/publish":{"post":{"summary":"Publish a draft social post immediately","description":"Takes an existing draft social post and publishes it immediately via Late.dev.\nThe post must be in \"draft\" status and have a connected platform account.\n","responses":{"200":{"description":"Post published","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"status":{"type":"string","enum":["published"]},"late_post_id":{"type":"string"},"published_at":{"type":"string","format":"date-time"}}}}}},"422":{"description":"Post cannot be published (not draft, no account connected, etc.)"}},"tags":["Social"]}}}}
```

## Bulk schedule or publish draft social posts

> Schedule or publish multiple draft social posts at once. Processes posts\
> sequentially to respect Late.dev rate limits. Returns partial success:\
> individual post failures don't block others.<br>

```json
{"openapi":"3.1.0","info":{"title":"Cuppa API","version":"1.0.0"},"tags":[{"name":"Social","description":"Social media content generation and publishing"}],"servers":[{"url":"https://api.cuppa.ai"}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"X-API-KEY"}}},"paths":{"/v1/social/posts/bulk-schedule":{"post":{"summary":"Bulk schedule or publish draft social posts","description":"Schedule or publish multiple draft social posts at once. Processes posts\nsequentially to respect Late.dev rate limits. Returns partial success:\nindividual post failures don't block others.\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["post_ids"],"properties":{"post_ids":{"type":"array","items":{"type":"string","format":"uuid"},"minItems":1,"maxItems":50,"description":"Array of draft social post IDs"},"action":{"type":"string","enum":["schedule","publish"],"default":"schedule","description":"Action to perform on each post"}}}}}},"responses":{"200":{"description":"Bulk operation results","content":{"application/json":{"schema":{"type":"object","properties":{"results":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"status":{"type":"string","enum":["scheduled","published","failed"]},"late_post_id":{"type":"string"},"scheduled_at":{"type":"string","format":"date-time"},"published_at":{"type":"string","format":"date-time"},"error":{"type":"string"}}}}}}}}}},"tags":["Social"]}}}}
```

## Get social media analytics

> Returns social media analytics for a site including impressions,\
> engagements, clicks, shares, per-platform breakdowns, and top\
> performing posts. Requires Solo plan or higher.<br>

```json
{"openapi":"3.1.0","info":{"title":"Cuppa API","version":"1.0.0"},"tags":[{"name":"Social","description":"Social media content generation and publishing"}],"servers":[{"url":"https://api.cuppa.ai"}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"X-API-KEY"}}},"paths":{"/v1/social/analytics":{"get":{"summary":"Get social media analytics","description":"Returns social media analytics for a site including impressions,\nengagements, clicks, shares, per-platform breakdowns, and top\nperforming posts. Requires Solo plan or higher.\n","parameters":[{"in":"query","name":"site_id","required":true,"schema":{"type":"string","format":"uuid"},"description":"Site/brand ID"},{"in":"query","name":"platform","schema":{"type":"string"},"description":"Filter by platform (e.g. twitter, linkedin)"},{"in":"query","name":"from_date","schema":{"type":"string","format":"date-time"},"description":"Start date filter (ISO 8601)"},{"in":"query","name":"to_date","schema":{"type":"string","format":"date-time"},"description":"End date filter (ISO 8601)"},{"in":"query","name":"top_n","schema":{"type":"integer","default":5,"maximum":20},"description":"Number of top posts to include"}],"responses":{"200":{"description":"Social analytics summary","content":{"application/json":{"schema":{"type":"object","properties":{"totalPosts":{"type":"integer"},"totalImpressions":{"type":"integer"},"totalEngagements":{"type":"integer"},"totalClicks":{"type":"integer"},"totalShares":{"type":"integer"},"averageEngagementRate":{"type":"number"},"byPlatform":{"type":"object","description":"Per-platform breakdown","additionalProperties":{"type":"object","properties":{"posts":{"type":"integer"},"impressions":{"type":"integer"},"engagements":{"type":"integer"}}}},"topPosts":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"platform":{"type":"string"},"content":{"type":"string"},"analytics":{"type":"object","properties":{"impressions":{"type":"integer"},"engagements":{"type":"integer"},"clicks":{"type":"integer"},"engagement_rate":{"type":"number"}}}}}},"period":{"type":"object","properties":{"from":{"type":"string","nullable":true},"to":{"type":"string","nullable":true}}}}}}}}},"tags":["Social"]}}}}
```

## Generate carousel

> Generate a LinkedIn carousel with AI-generated slides. Requires Business plan or higher.<br>

```json
{"openapi":"3.1.0","info":{"title":"Cuppa API","version":"1.0.0"},"tags":[{"name":"Social","description":"Social media content generation and publishing"}],"servers":[{"url":"https://api.cuppa.ai"}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"X-API-KEY"}}},"paths":{"/v1/social/carousel":{"post":{"summary":"Generate carousel","description":"Generate a LinkedIn carousel with AI-generated slides. Requires Business plan or higher.\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["site_id","topic"],"properties":{"site_id":{"type":"string","format":"uuid"},"topic":{"type":"string","description":"Topic for the carousel"},"hook":{"type":"string","description":"Opening hook text"},"target_audience":{"type":"string"},"slide_count":{"type":"integer","minimum":3,"maximum":15,"default":6},"tone":{"type":"string","enum":["casual","professional","educational","inspirational"]},"include_stats":{"type":"boolean"},"cta_text":{"type":"string"},"cta_url":{"type":"string"},"generate_images":{"type":"boolean","default":true}}}}}},"responses":{"201":{"description":"Carousel generated","content":{"application/json":{"schema":{"type":"object","description":"Carousel data with slides"}}}}},"tags":["Social"]}}}}
```

## Publish carousel

> Publish a carousel to LinkedIn.

```json
{"openapi":"3.1.0","info":{"title":"Cuppa API","version":"1.0.0"},"tags":[{"name":"Social","description":"Social media content generation and publishing"}],"servers":[{"url":"https://api.cuppa.ai"}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"X-API-KEY"}}},"paths":{"/v1/social/carousel/publish":{"post":{"summary":"Publish carousel","description":"Publish a carousel to LinkedIn.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["site_id","caption","image_urls"],"properties":{"site_id":{"type":"string","format":"uuid"},"caption":{"type":"string"},"image_urls":{"type":"array","items":{"type":"string"}},"hashtags":{"type":"array","items":{"type":"string"}},"scheduled_at":{"type":"string","format":"date-time","description":"Omit for immediate publishing"}}}}}},"responses":{"201":{"description":"Carousel published","content":{"application/json":{"schema":{"type":"object","description":"Publish result"}}}}},"tags":["Social"]}}}}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://learn.cuppa.ai/rest-api/social.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
