Platform rules
What every platform accepts, so you can write a post that publishes the first time.
GET
https://antwork.io/api/v1/platformsRequest
curl https://antwork.io/api/v1/platforms \
-H "Authorization: Bearer $ANTWORK_API_KEY"Read from the same rules file the publishers enforce, so it cannot disagree with what a publish checks. It describes the platforms, not your account, and any valid key can read it.
Response
200 OK
{
"object": "list",
"platforms": [
{
"object": "platform",
"id": "x",
"name": "X (Twitter)",
"text": {
"limit": 280,
"required": true,
"counting": "weighted"
},
"media": {
"required": false,
"maxItems": 4,
"canMixImageAndVideo": false,
"types": {
"image": {
"extensions": [
".jpg",
".jpeg",
".png",
".webp"
],
"mimeTypes": [
"image/jpeg",
"image/png",
"image/webp"
],
"maxSizeBytes": 5242880,
"maxItems": 4,
"maxDurationSeconds": null,
"aspectRatios": [
"16:9",
"1:1"
]
},
"gif": {
"extensions": [
".gif"
],
"mimeTypes": [
"image/gif"
],
"maxSizeBytes": 15728640,
"maxItems": 1,
"maxDurationSeconds": null,
"aspectRatios": [
"16:9",
"1:1"
]
},
"video": {
"extensions": [
".mp4",
".mov"
],
"mimeTypes": [
"video/mp4",
"video/quicktime"
],
"maxSizeBytes": 536870912,
"maxItems": 1,
"maxDurationSeconds": 140,
"aspectRatios": [
"16:9",
"1:1"
]
},
"document": {
"extensions": [
".pdf"
],
"mimeTypes": [
"application/pdf"
],
"maxSizeBytes": 104857600,
"maxItems": 1,
"maxDurationSeconds": null,
"aspectRatios": []
}
}
},
"dailyPostCap": {
"free": 15,
"paid": 50
},
"mentions": {
"links": "handle",
"maxPerPost": null
},
"derivedTitleLimit": null,
"settings": []
},
"..."
]
}text.counting says how text.limit is measured: weighted is X's count (a link is 23, most emoji 2), graphemes counts what a person sees as one character, characters counts characters.
settings lists the per-post fields a platform takes, with their type, options and default. dailyPostCap is posts per account in any rolling 24 hours, on the free and paid plans.