Example Mutations
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": "TWITTER",
"postId": "12345"
}
{
"data": {
"submitPlatformPost": {
"success": true,
"errors": [],
"submissionError": null,
"post": {
"id": "12345",
"platform": "twitter",
"submissions": [
{
"id": "67890",
"url": "https://twitter.com/user/status/123456789"
}
]
}
}
}
}
TWITTER, INSTAGRAM, FACEBOOK, THREADS, BLUESKY, TIKTOK, YOUTUBE, LINKEDIN, PINTEREST, MASTODON, TUMBLR. Note: Reddit is not supported via this mutation.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": "TWITTER",
"postId": "12345",
"postAt": "2025-02-01T14:30:00Z"
}
{
"data": {
"reschedulePlatformPost": {
"success": true,
"errors": [],
"post": {
"id": "12345",
"platform": "twitter",
"submissions": [
{
"id": "67890",
"postAt": "2025-02-01T14:30:00Z"
}
]
}
}
}
}
TWITTER, INSTAGRAM, FACEBOOK, THREADS, BLUESKY, TIKTOK, YOUTUBE, LINKEDIN, PINTEREST, MASTODON, TUMBLR. Note: Reddit is not supported via this mutation.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": "INSTAGRAM",
"submissionId": "67890",
"postAt": "2025-02-01T16:00:00Z"
}
{
"data": {
"schedulePlatformSubmission": {
"success": true,
"errors": []
}
}
}
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": "TWITTER",
"submissionId": "67890"
}
{
"data": {
"removeSubmissionFromPlatform": {
"success": true,
"errors": []
}
}
}
THREADS, TWITTER, YOUTUBE, BLUESKY, 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": "INSTAGRAM",
"postId": "12345",
"hardDelete": false
}
{
"data": {
"deletePlatformPost": {
"success": true,
"errors": []
}
}
}
true, permanently deletes the post. If false or omitted, moves the post to trash (soft delete). Default is false.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": "TWITTER",
"submissionId": "67890"
}
{
"data": {
"cancelPlatformAutoRepost": {
"success": true,
"errors": []
}
}
}
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": "REDDIT",
"submissionId": "67890"
}
{
"data": {
"cancelPlatformAutoRemove": {
"success": true,
"errors": []
}
}
}
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": "LINKEDIN",
"submissionId": "67890"
}
{
"data": {
"savePlatformSubmissionAsDraft": {
"success": true,
"errors": []
}
}
}