Errors

How the Pallyy API reports errors: HTTP status codes, the machine-readable error code in the response body, and validation error details.

The Pallyy API uses conventional HTTP status codes and returns a JSON body with a human-readable message. Most errors also carry a machine-readable code in data.code, plus extra fields describing the problem.

{
  "statusCode": 403,
  "statusMessage": "This API key is missing the required scope: post-sets:write.",
  "data": {
    "code": "api-key:missing_scope"
  }
}

Status codes

StatusMeaning
400Invalid request: the body or query failed validation, or the input references something it cannot use
401Missing, invalid, disabled, or revoked API key
403The key is missing a required scope, or the account's plan does not allow the action
404The resource does not exist, is not yours, or is outside the key's social set restriction
409Conflict with an existing resource, data.conflictId points at it
412A precondition has failed, for example a post set that is publishing or published that cannot be modified
429Rate limit exceeded, see rate limits

Error codes

CodeStatusMeaning
api-key:invalid401The key is invalid, disabled, or revoked
api-key:missing_scope403The key is missing the scope the endpoint requires
not_found404The resource was not found
rate_limit_exceeded429Too many requests, includes count and max
conflict409A duplicate exists, includes conflictId
post-set:invalid_posts400One or more posts failed validation, includes an errors array
post-set:monthly_posts_exceeded403The plan's monthly post limit would be exceeded, includes used, planned, and max
post-set:carousels_not_available403The plan does not allow carousel posts
post-set:videos_not_available403The plan does not allow video posts
post-set:repeats_not_available403The plan does not allow repeating posts
post-set:media_not_found400A referenced media item was not found, includes the id
post-set:media_social_set_mismatch400A referenced media item belongs to a different social set
post-set:duplicate_references400The same post or media id is referenced more than once, includes ids
post-set:post_not_found400An update references a post id that is not part of the set
post-set:post_account_type_mismatch400An update tries to change a post's account type
post-set:repeat_not_updatable400The repeat rule of a set that already belongs to a series cannot change
post-set:read_only412The post set is publishing or published and can no longer be edited
media-upload:pending_exceeded400Too many pending media uploads for the social set, includes count and max
media-upload:unavailable_upload_bytes400The file exceeds the plan's remaining monthly upload allowance, includes avail
media-upload:unavailable_storage400The file exceeds the plan's remaining storage, includes avail

Validation errors

Requests whose body or query does not match the endpoint's schema return a 400 where statusMessage describes the first violation and data is an array of every violation found.

Post content that is structurally valid but cannot be scheduled, for example a caption over the network's limit or an Instagram post with no media, returns post-set:invalid_posts with one entry per problem:

{
  "statusCode": 400,
  "statusMessage": "Post-set cannot be scheduled since posts are invalid",
  "data": {
    "code": "post-set:invalid_posts",
    "errors": [
      { "index": 0, "accountType": "INSTAGRAM", "message": "Instagram posts require at least one media item" }
    ]
  }
}
View as markdown

More in Getting started

Questions about the API? Email us at hey@pallyy.com and we'll get back to you.