Postpone Logo
Scheduling Posts

Example Mutations

Common GraphQL mutations you can execute against the Postpone API to manage your posts.

Here are common GraphQL mutations you can execute against the Postpone API to create, update, and manage your social media posts across different platforms.

Scheduling Posts

To schedule posts for specific platforms, check out the platform-specific post scheduling documentation.

Submit Platform Post

Immediately submit a scheduled post to the platform. This mutation publishes a post that was previously scheduled, sending it to the platform right away.

mutation submitPlatformPost($platform: SocialPlatform!, $postId: ID!) {
  submitPlatformPost(platform: $platform, postId: $postId) {
    success
    errors {
      field
      code
      message
    }
    submissionError {
      errorCode
      message
      suggestedFix
    }
    post {
      id
      platform
      submissions {
        id
        url
      }
    }
  }
}
platform
SocialPlatform required
The social media platform. Valid values: TWITTER, INSTAGRAM, FACEBOOK, THREADS, BLUESKY, TIKTOK, YOUTUBE, LINKEDIN, PINTEREST, MASTODON, TUMBLR. Note: Reddit is not supported via this mutation.
postId
ID required
The unique identifier of the post to submit.

Reschedule Platform Post

Change the scheduled time for a post. This mutation updates when a post will be published to the platform.

mutation reschedulePlatformPost(
  $platform: SocialPlatform!
  $postId: ID!
  $postAt: DateTime!
) {
  reschedulePlatformPost(
    platform: $platform
    postId: $postId
    postAt: $postAt
  ) {
    success
    errors {
      field
      code
      message
    }
    post {
      id
      platform
      submissions {
        id
        postAt
      }
    }
  }
}
platform
SocialPlatform required
The social media platform. Valid values: TWITTER, INSTAGRAM, FACEBOOK, THREADS, BLUESKY, TIKTOK, YOUTUBE, LINKEDIN, PINTEREST, MASTODON, TUMBLR. Note: Reddit is not supported via this mutation.
postId
ID required
The unique identifier of the post to reschedule.
postAt
DateTime required
The new scheduled date and time for the post in ISO 8601 format. Must be in the future.

Schedule Platform Submission

Schedule a specific submission for publishing at a given time. This is useful for scheduling individual submissions within a multi-platform post.

mutation schedulePlatformSubmission(
  $platform: SocialPlatform!
  $submissionId: ID!
  $postAt: DateTime!
) {
  schedulePlatformSubmission(
    platform: $platform
    submissionId: $submissionId
    postAt: $postAt
  ) {
    success
    errors {
      field
      code
      message
    }
  }
}
platform
SocialPlatform required
The social media platform for this submission.
submissionId
ID required
The unique identifier of the submission to schedule.
postAt
DateTime required
The scheduled date and time for the submission in ISO 8601 format. Must be in the future.
If the submission is in the trash, it will be automatically restored when scheduled. If the post is a draft, it will be converted to ready-to-publish status.

Remove Submission From Platform

Delete a published post from the social media platform. This removes the content from the platform itself (not just from Postpone).

mutation removeSubmissionFromPlatform(
  $platform: SocialPlatform!
  $submissionId: ID!
) {
  removeSubmissionFromPlatform(
    platform: $platform
    submissionId: $submissionId
  ) {
    success
    errors {
      field
      code
      message
    }
  }
}
platform
SocialPlatform required
The social media platform where the submission was published. Supported platforms: THREADS, TWITTER, YOUTUBE, BLUESKY, MASTODON.
submissionId
ID required
The unique identifier of the submission to remove from the platform.
This action permanently deletes the post from the social media platform. The submission must have already been published to the platform. Only supported on Threads, Twitter, YouTube, Bluesky, and Mastodon.

Delete Platform Post

Move a post to the trash or permanently delete it from Postpone. By default, this performs a soft delete (moves to trash).

mutation deletePlatformPost(
  $platform: SocialPlatform!
  $postId: ID!
  $hardDelete: Boolean
) {
  deletePlatformPost(
    platform: $platform
    postId: $postId
    hardDelete: $hardDelete
  ) {
    success
    errors {
      field
      code
      message
    }
  }
}
platform
SocialPlatform required
The social media platform for this post.
postId
ID required
The unique identifier of the post to delete.
hardDelete
Boolean
If true, permanently deletes the post. If false or omitted, moves the post to trash (soft delete). Default is false.
Soft-deleted posts can be restored from the trash. Hard-deleted posts are permanently removed and cannot be recovered.

Cancel Platform Auto Repost

Cancel the automatic reposting schedule for a submission. This stops a submission from being automatically reposted in the future.

mutation cancelPlatformAutoRepost(
  $platform: SocialPlatform!
  $submissionId: ID!
) {
  cancelPlatformAutoRepost(
    platform: $platform
    submissionId: $submissionId
  ) {
    success
    errors {
      code
      message
    }
  }
}
platform
SocialPlatform required
The social media platform for this submission.
submissionId
ID required
The unique identifier of the submission with auto-repost enabled.
This mutation is only supported for platforms that support auto-reposting. You'll receive an error if the platform doesn't support this feature.

Cancel Platform Auto Remove

Cancel the automatic removal schedule for a submission. This prevents a submission from being automatically deleted from the platform at a scheduled time.

mutation cancelPlatformAutoRemove(
  $platform: SocialPlatform!
  $submissionId: ID!
) {
  cancelPlatformAutoRemove(
    platform: $platform
    submissionId: $submissionId
  ) {
    success
    errors {
      code
      message
    }
  }
}
platform
SocialPlatform required
The social media platform for this submission.
submissionId
ID required
The unique identifier of the submission with auto-remove enabled.
This mutation is only supported for platforms that support auto-removal (like Reddit). You'll receive an error if the platform doesn't support this feature.

Save Platform Submission As Draft

Convert a scheduled submission back to draft status. This allows you to make changes before publishing.

mutation savePlatformSubmissionAsDraft(
  $platform: SocialPlatform!
  $submissionId: ID!
) {
  savePlatformSubmissionAsDraft(
    platform: $platform
    submissionId: $submissionId
  ) {
    success
    errors {
      field
      code
      message
    }
  }
}
platform
SocialPlatform required
The social media platform for this submission.
submissionId
ID required
The unique identifier of the submission to convert to draft.
The submission must not have been published yet. Only scheduled submissions can be saved as drafts.