yeetpost

API Reference

Complete API documentation with endpoints and examples.

#Table of Contents


#Base URL

https://api.yeetpost.com/api/v2

#Authentication

All API requests require an API key. Include it in the x-api-key header:

x-api-key: <your-api-key>

Get your API key from https://app.yeetpost.com/app/settings.

#Supported Platforms

PlatformDefault SlugUsage TypeLength LimitsDocs
EmailemailMessageSee docsDocs
LinkedInlinkedinPostSee docsDocs
SlackslackMessageSee docsDocs
SMSsmsMessageSee docsDocs
X (Twitter)xPostSee docsDocs

#Slugs

Each connection has a unique slug used to identify it in API calls. When you connect a platform for the first time, it uses the default slug (e.g., linkedin, x).

If you connect the same platform multiple times, subsequent connections include your username: alexdoe_linkedin, alexdoe_x. Further duplicates get numbered: alexdoe_linkedin_2, etc. You can also customize slugs in the dashboard.

#Usage Types

Usage is tracked monthly based on your plan. There are two types:


#Endpoints

#GET /connections

List all connected accounts for the authenticated user.

Request

curl https://api.yeetpost.com/api/v2/connections \ -H "x-api-key: <your-api-key>"

Response

200 OK

{ "connections": [ { "slug": "linkedin", "description": "Alex Doe (LinkedIn)" }, { "slug": "x", "description": "@alexdoe (X)" }, { "slug": "sms", "description": "+1 555 123 4567 (SMS)" }, { "slug": "email", "description": "alex@example.com (Email)" }, { "slug": "slack", "description": "#general (Slack)" } ] }

#POST /post/{connection}

Post content to a connected platform.

Request

curl -X POST https://api.yeetpost.com/api/v2/post/linkedin \ -H "x-api-key: <your-api-key>" \ -d 'Hello, world!'

Path Parameters

ParameterTypeRequiredDescription
connectionstringYesThe connection slug (e.g., linkedin, x, sms)

Headers

HeaderValueRequiredDescription
x-api-key<your-api-key>YesYour API key

Request Body

The request body is plain text containing the content to post. Must not be empty.

Responses

200 OK - LinkedIn/X

{ "platform": "linkedin", "link": "https://www.linkedin.com/feed/update/urn:li:share:1234567890" }

200 OK - SMS/Email/Slack

{ "platform": "sms", "sent": true }

#Error Responses

All errors follow this structure:

{ "error": "<error_code>", "message": "<human-readable message>", "reqId": "<request_id>" // Only for 422 and 500 errors }

#400 Bad Request

Invalid request parameters or connection not found.

Example response:

{ "error": "invalid_connection", "message": "Connection 'linkedin' not found. Available connections: x, sms" }

#401 Unauthorized

Missing or invalid API key.

Example response:

{ "error": "unauthorized", "message": "Unauthorized (missing API key; set x-api-key header)" }

#403 Forbidden

Monthly usage limit exceeded.

Example response:

{ "error": "limit_exceeded", "message": "You have reached your monthly post limit (5). Upgrade your plan for more posts." }

#422 Unprocessable Entity

The platform rejected the post (e.g., duplicate content, policy violation).

Example response:

{ "error": "platform_rejected", "message": "LinkedIn: duplicate post was detected", "reqId": "req_12345678" }

#500 Internal Server Error

Unexpected server error.

Example response:

{ "error": "internal_server_error", "message": "An unexpected error occurred", "reqId": "req_12345678" }