Postpone Logo
Scheduling Posts

Reddit

Schedule images, vieos, links, and text posts to multiple subreddits with media attachments

Mutation

Use the scheduleRedditPost mutation to schedule posts to Reddit:

Mutation
mutation ScheduleRedditPost($input: ScheduleRedditPostInput!) {
  scheduleRedditPost(input: $input) {
    success
    errors {
      field
      message
    }
    post {
      id
      socialAccount {
        id
        username
      }
      publishingStatus
      title
      content
      link
      nsfw
      spoiler
      submissions {
        id
        subreddit
        postAt
        title
        comment
        flairId
        profileCrosspost
        removeAtAmount
        removeAtUnit
        removeMinLikes
        publishingMethod
      }
    }
  }
}

Input Parameters

ScheduleRedditPostInput

username
String! required
The username of the connected Reddit account to post from
title
String! required
The title of the Reddit post (max 300 characters)
submissions
[RedditPostSubmissionInput!]! required
Array of subreddit submissions (minimum 1, maximum 50 per post)
content
String
Text content for text posts (cannot be combined with link)
link
String
URL for link posts (cannot be combined with content)
comment
String
Optional comment to post after submission (max 10,000 characters)
pollChoices
[String!]
Array of poll options (2-6 choices, each max 180 characters)
pollDuration
Int
Poll duration in days (1-7 days, default: 3)
mediaName
String
Name of a file from your Content Library (case-insensitive)
mediaUrl
String
URL of media to upload and attach to the post
gallery
GalleryInput
Media gallery with multiple images/videos (max 20 items)
sendRepliesToInbox
Boolean
Whether to receive reply notifications (default: true)
nsfw
Boolean
Mark post as NSFW/18+ content (default: false)
spoiler
Boolean
Mark post as containing spoilers (default: false)
publishingStatus
PublishingStatusType
Publishing status. Options: READY_TO_PUBLISH, DRAFT (default: READY_TO_PUBLISH)
postTags
[ID!]
Array of post tag IDs to organize your content
skipPostRequirementsValidation
Boolean
Skip subreddit rule validation (default: false)
id
ID
ID of existing post when updating (only for updates)

RedditPostSubmissionInput

Each submission to a subreddit supports these parameters:

validationId
String! required
Internal ID to map response validation errors to specific submissions
subreddit
String! required
Name of the subreddit to post to (without r/ prefix)
postAt
DateTime! required
When to publish the post (must be in the future)
title
String
Title override for this specific subreddit (max 300 characters)
comment
String
Comment override for this specific subreddit
overrideComment
Boolean
Whether to override the post-level comment (default: false)
profileCrosspost
Boolean
Automatically crosspost to your Reddit profile (default: false)
flairId
String
Subreddit flair ID to apply to the post
removeAtAmount
Int
Number of time units before auto-deleting the post
removeAtUnit
String
Time unit for auto-deletion. Options: hour, day
removeMinLikes
Int
Minimum upvotes required to prevent auto-deletion
publishingMethod
PublishingMethodType
How to publish. Options: AUTOMATIC, MANUAL (default: AUTOMATIC)
id
ID
ID of existing submission when updating (only for updates)

Examples

Simple Text Post

Schedule a basic text post to a single subreddit.

{
  "input": {
    "username": "myreddituser",
    "title": "Just discovered this amazing productivity hack!",
    "content": "I've been using the Pomodoro Technique for a week now and my productivity has increased by 40%. Here's how it works...",
    "submissions": [
      {
        "validationId": "sub1",
        "subreddit": "productivity",
        "postAt": "2025-12-01T15:30:00Z"
      }
    ]
  }
}

Link Post with Multiple Subreddits

Schedule a link post to multiple subreddits with different timing.

Important: Always space posts to different subreddits at least 1 hour apart to help avoid Reddit rate limits and potential shadowbans.
{
  "input": {
    "username": "myreddituser",
    "title": "New open-source project for developers",
    "link": "https://github.com/username/awesome-project",
    "submissions": [
      {
        "validationId": "sub1",
        "subreddit": "programming",
        "postAt": "2025-12-01T09:00:00Z"
      },
      {
        "validationId": "sub2",
        "subreddit": "opensource",
        "postAt": "2025-12-01T14:00:00Z"
      },
      {
        "validationId": "sub3",
        "subreddit": "webdev",
        "postAt": "2025-12-02T10:00:00Z"
      }
    ]
  }
}

Image Post with Content Library Media

Schedule an image post using media from your Content Library.

{
  "input": {
    "username": "myreddituser",
    "title": "My latest photography work",
    "mediaName": "sunset-landscape.jpg",
    "nsfw": false,
    "submissions": [
      {
        "validationId": "sub1",
        "subreddit": "photography",
        "postAt": "2025-12-01T18:00:00Z",
        "flairId": "original_content"
      }
    ]
  }
}

Post with External Media URL

Schedule a post by uploading media from an external URL.

{
  "input": {
    "username": "myreddituser",
    "title": "Check out this incredible time-lapse!",
    "mediaUrl": "https://example.com/timelapse-video.mp4",
    "submissions": [
      {
        "validationId": "sub1",
        "subreddit": "timelapse",
        "postAt": "2025-12-01T20:00:00Z"
      }
    ]
  }
}

Poll Post

Schedule a post with a poll for community engagement.

{
  "input": {
    "username": "myreddituser",
    "title": "What's your favorite programming language in 2024?",
    "pollChoices": ["JavaScript", "Python", "Rust", "Go", "TypeScript", "Other"],
    "pollDuration": 168,
    "submissions": [
      {
        "validationId": "sub1",
        "subreddit": "programming",
        "postAt": "2025-12-01T12:00:00Z"
      }
    ]
  }
}

Post with Auto-Deletion

Schedule a post that automatically deletes after a certain time or if it doesn't reach minimum upvotes.

{
  "input": {
    "username": "myreddituser",
    "title": "Daily discussion thread",
    "content": "What are you working on today? Share your progress!",
    "submissions": [
      {
        "validationId": "sub1",
        "subreddit": "dailyprogrammer",
        "postAt": "2025-12-01T08:00:00Z",
        "removeAtAmount": 24,
        "removeAtUnit": "hour",
        "removeMinLikes": 10
      }
    ]
  }
}

Cross-posting with Profile

Schedule a post that automatically crossposts to your profile.

{
  "input": {
    "username": "myreddituser",
    "title": "My journey learning machine learning",
    "content": "After 6 months of studying ML, here are the key insights I've gained...",
    "submissions": [
      {
        "validationId": "sub1",
        "subreddit": "MachineLearning",
        "postAt": "2025-12-01T16:00:00Z",
        "profileCrosspost": true
      }
    ]
  }
}

Post with Link Flair

Schedule a post with subreddit-specific link flair. Use the linkFlair query to get available flair options for each subreddit.

{
  "input": {
    "username": "myreddituser",
    "title": "Tutorial: Building REST APIs with Node.js",
    "link": "https://myblog.com/nodejs-rest-api-tutorial",
    "submissions": [
      {
        "validationId": "sub1",
        "subreddit": "node",
        "postAt": "2025-12-01T14:00:00Z",
        "flairId": "tutorial-flair-id"
      }
    ]
  }
}

First, query available link flair for the subreddit:

Query Available Flair
query linkFlair($subreddit: String!) {
  linkFlair(subreddit: $subreddit) {
    id
    text
  }
}

Post with Custom Comments per Subreddit

Schedule a post with different comments for different subreddits.

{
  "input": {
    "username": "myreddituser",
    "title": "New web framework comparison",
    "link": "https://myblog.com/framework-comparison-2024",
    "comment": "I spent 3 months comparing these frameworks. AMA!",
    "submissions": [
      {
        "validationId": "sub1",
        "subreddit": "webdev",
        "postAt": "2025-12-01T10:00:00Z"
      },
      {
        "validationId": "sub2",
        "subreddit": "javascript",
        "postAt": "2025-12-01T15:00:00Z",
        "comment": "Focused on JavaScript frameworks in this comparison. Thoughts?",
        "overrideComment": true
      }
    ]
  }
}

Response Types

Success Response

{
  "data": {
    "scheduleRedditPost": {
      "success": true,
      "errors": [],
      "post": {
        "id": "123",
        "socialAccount": {
          "id": "456",
          "username": "myreddituser"
        },
        "publishingStatus": "READY_TO_PUBLISH",
        "title": "Just discovered this amazing productivity hack!",
        "content": "I've been using the Pomodoro Technique...",
        "link": "",
        "nsfw": false,
        "spoiler": false,
        "submissions": [
          {
            "id": "789",
            "subreddit": "productivity",
            "postAt": "2025-12-01T15:30:00Z",
            "title": "",
            "comment": "",
            "flairId": "",
            "profileCrosspost": false,
            "removeAtAmount": null,
            "removeAtUnit": "",
            "removeMinLikes": null,
            "publishingMethod": "AUTOMATIC"
          }
        ]
      }
    }
  }
}

Error Response

{
  "data": {
    "scheduleRedditPost": {
      "success": false,
      "errors": [
        {
          "field": "title",
          "message": "Post titles can't be longer than 300 characters."
        },
        {
          "field": "submissions",
          "message": "You must submit to at least one subreddit"
        }
      ],
      "post": null
    }
  }
}

Validation Rules

The API enforces Reddit's content policies and technical limitations:
  • Title Length: Maximum 300 characters (1,000 with spintax)
  • Content: No length limit for text posts
  • Comments: Maximum 10,000 characters per comment
  • Media: Images up to 20MB, videos up to 1GB
  • Galleries: Maximum 20 media items per gallery
  • Polls: 2-6 options, each max 180 characters, duration specified in hours
  • Submissions: Maximum 100 subreddit submissions per post
  • Scheduling: Posts must be scheduled for future dates only
  • Account Limits: Respects your plan's monthly submission limits

Common Errors