Validate Post Length

The Validate API runs stateless pre-flight checks against each platform’s publishing limits. Use it to warn users before they schedule, without creating anything.

Every response is keyed by platform, so you can validate one piece of content against all of your targets at once.

POST/v1/validate/post-length
POST /v1/validate/post-length
curl -X POST https://api.socialit.com/v1/validate/post-length \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{ "text": "Hello world" }'
{
  "length": 11,
  "platforms": {
    "x": { "length": 11, "limit": 280, "remaining": 269, "valid": true },
    "bluesky": { "length": 11, "limit": 300, "remaining": 289, "valid": true }
  }
}

Validate Media

POST/v1/validate/media

Pass a media url; Socialit inspects its type and size and checks per-platform limits.

POST /v1/validate/media
curl -X POST https://api.socialit.com/v1/validate/media \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{ "url": "https://cdn.example.com/image.jpg" }'
{
  "type": "image",
  "size": 204800,
  "platforms": {
    "x": { "valid": true, "max_bytes": 5242880, "errors": [] }
  }
}

Validate Post

POST/v1/validate/post

Accepts the same body shape as creating a post and returns a dry-run validation. When target_account_ids are given, only those platforms are checked; otherwise all platforms are returned.

POST /v1/validate/post
curl -X POST https://api.socialit.com/v1/validate/post \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "content": "Hello world",
    "media_ids": ["med_..."],
    "target_account_ids": ["sa_..."]
  }'
{
  "length": 11,
  "image_count": 1,
  "video_count": 0,
  "platforms": {
    "instagram": { "valid": true, "errors": [] },
    "x": { "valid": false, "errors": ["image_format_unsupported"] }
  }
}

Validate Subreddit

POST/v1/validate/subreddit

Reddit is not yet a supported platform, so this returns 501 Not Implemented.

POST /v1/validate/subreddit
curl -X POST https://api.socialit.com/v1/validate/subreddit \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{ "subreddit": "programming" }'
{
  "error": "Not Implemented"
}