latestOpenAPI 3.0.32026-08-23410223.0 KB

c93447ba6b9d

publishing

Create a new post

General

Creates a new post with the provided content and optional scheduling. The post can be published immediately or scheduled for a later time.

Every post is scheduled on a queue. Failed posts are available at https://my.blotato.com/failed. The most common issue of failed post is incorrect JSON structure. Please make sure that JSON payload conforms to the structure described above. If you are still having trouble with identifying the issue, please contact support via Intercom and provide your postSubmissionId.

Post creation has a user-level rate limit of 30 requests / minute to prevent spamming / abusing social media endpoints

Examples

Post to a Platform Immediately

POST https://backend.blotato.com/v2/posts HTTP/1.1
Content-Type: application/json
Headers:

{
  "post": {
    "accountId": "acc_12345",
    "content": {
      "text": "Hello, world!",
      "mediaUrls": [],
      "platform": "twitter"
    },
    "target": {
      "targetType": "twitter"
    }
  }
}

Post at a Scheduled Time

POST https://backend.blotato.com/v2/posts HTTP/1.1
Content-Type: application/json

{
  "post": {
    "accountId": "acc_67890",
    "content": {
      "text": "Scheduled post example",
      "mediaUrls": [],
      "platform": "facebook"
    },
    "target": {
      "targetType": "facebook",
      "pageId": "987654321"
    }
  },
  "scheduledTime": "2025-03-10T15:30:00Z"
}

Post an Image or a Video

POST https://backend.blotato.com/v2/posts HTTP/1.1
Content-Type: application/json

{
  "post": {
    "accountId": "acc_24680",
    "content": {
      "text": "Check out this image!",
      "mediaUrls": [
        "https://example.com/image1.jpg",
        "https://example.com/image2.jpg"
      ],
      "platform": "instagram"
    },
    "target": {
      "targetType": "instagram"
    }
  }
}

Post a Twitter-like Thread with Multiple Posts

POST https://backend.blotato.com/v2/posts HTTP/1.1
Content-Type: application/json
Headers:

POST https://backend.blotato.com/v2/posts HTTP/1.1
Content-Type: application/json

{
  "post": {
    "accountId": "acc_13579",
    "content": {
      "text": "This is the first tweet in the thread.",
      "mediaUrls": [],
      "platform": "twitter",
      "additionalPosts": [
        {
          "text": "Here's the second tweet, adding more info.",
          "mediaUrls": []
        },
        {
          "text": "And here's the third tweet to conclude!",
          "mediaUrls": []
        }
      ]
    },
    "target": {
      "targetType": "twitter"
    }
  }
}
post/v2/posts

Request body

postDraftIdstring

The ID of the existing post draft to use for creating the post. Unused in the API call

useNextFreeSlotboolean

If provided, indicates whether to use the next available free slot for scheduling the post. If set to true, the post will be scheduled at the next available slot time for the specified platform. If neither scheduledTime nor slot is provided, and this is set to true, the post will be scheduled at the next available slot time.

scheduledTimestring

The timestamp (ISO 8601) when the post should be published.

Example request

{
  "post": {
    "target": {
      "targetType": "tiktok",
      "isYourBrand": false,
      "autoAddMusic": false,
      "disabledDuet": false,
      "privacyLevel": "SELF_ONLY",
      "isAiGenerated": false,
      "disabledStitch": false,
      "disabledComments": false,
      "isBrandedContent": false
    },
    "content": {
      "text": "Hello, blotato!",
      "mediaUrls": [
        "https://database.blotato.io/some-media-path.mp4"
      ]
    }
  }
}

Response

Submitted

postSubmissionIdstring required

The ID of the post submission. Use this ID to track the status of the post. This status code is returned when the post is already scheduled.

scheduledTimestring

The resolved UTC time the post is scheduled to publish. Omitted when the post is published immediately.

Example response

{
  "postSubmissionId": "123e4567-e89b-12d3-a456-426614174000",
  "scheduledTime": "2025-03-10T15:30:00Z"
}