Docs
Reddit

Posts

Create Reddit posts through the shared posts API.

Publish to a Reddit subreddit through POST /v1/posts.

Cross-platform flow: Media guide. Helpers: Overview — Subreddits / Flairs.

Supported formats

mediaKindSupportedNotes
textYesSelf post when link omitted; link post when destinations[].link is set
imageYesOne image URL
multi-imageYes2–20 image URLs → gallery
videoYesOne video URL + required thumbnailUrl poster
storiesNoUNSUPPORTED_MEDIA_KIND

Features

FeatureSupportedNotes
Thread / quoteNo
ScheduleYesscheduledFor + timezone
TitleYesRequired destinations[].title (max 300)
BodyYesPost text → selftext (Markdown)
SubredditYesRequired destinations[].subreddit (no r/ prefix)
FlairYesOptional flairId / flairText
NSFW / spoilerYesnsfw, spoiler booleans
LinkYesdestinations[].link for link posts
ThumbnailYesthumbnailUrl required for video
Remote deleteYesDELETE …/destinations/:id

Required destination fields

{
  "connectionId": "YOUR_REDDIT_CONNECTION_ID",
  "title": "Hello from Onepostly",
  "subreddit": "test"
}
FieldRequiredMeaning
titleYesPost title
subredditYesCommunity name without r/
flairIdNoLink flair template id
flairTextNoEditable flair text
linkNoURL for link posts (mediaKind: "text")
thumbnailUrlVideo onlyPoster image URL
nsfw / spoilerNoFlags

Create (self / text)

curl -X POST https://api.onepostly.com/v1/posts \
  -H "x-api-key: op_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "text": "Optional markdown body.",
    "mediaKind": "text",
    "destinations": [
      {
        "connectionId": "YOUR_REDDIT_CONNECTION_ID",
        "title": "Hello from Onepostly",
        "subreddit": "test"
      }
    ]
  }'
{
  "text": "",
  "mediaKind": "text",
  "destinations": [
    {
      "connectionId": "YOUR_REDDIT_CONNECTION_ID",
      "title": "Interesting article",
      "subreddit": "test",
      "link": "https://example.com/article"
    }
  ]
}

Create (image)

{
  "text": "",
  "mediaKind": "image",
  "mediaUrls": ["https://cdn.example.com/photo.jpg"],
  "destinations": [
    {
      "connectionId": "YOUR_REDDIT_CONNECTION_ID",
      "title": "Product shot",
      "subreddit": "test",
      "flairId": "OPTIONAL_FLAIR_ID"
    }
  ]
}
{
  "mediaKind": "multi-image",
  "mediaUrls": [
    "https://cdn.example.com/1.jpg",
    "https://cdn.example.com/2.jpg"
  ],
  "destinations": [
    {
      "connectionId": "YOUR_REDDIT_CONNECTION_ID",
      "title": "Album",
      "subreddit": "test"
    }
  ]
}

Create (video)

{
  "mediaKind": "video",
  "mediaUrls": ["https://cdn.example.com/clip.mp4"],
  "destinations": [
    {
      "connectionId": "YOUR_REDDIT_CONNECTION_ID",
      "title": "Demo clip",
      "subreddit": "test",
      "thumbnailUrl": "https://cdn.example.com/poster.jpg"
    }
  ]
}

Remote delete

curl -X DELETE "https://api.onepostly.com/v1/posts/POST_ID/destinations/DEST_ID" \
  -H "x-api-key: op_YOUR_KEY"

See also