Errors and status codes

Every response uses the same JSON envelope. Errors return a readable message in error and a standard HTTP status code.

Last checked against the API October 10, 2026 · View as Markdown

Response envelope

Success
{ "data": { "id": "3f1c2a9e-0000-4000-8000-00000000a001", "status": "draft" }, "error": null }
Error
{ "data": null, "error": "base_content and platforms are required." }

Check the HTTP status first, then show error to a person or log it. DELETE returns 204 with no body. Messages name the field that failed, for example media[2].type must be "image" or "video".

Status codes

StatusMeaningWhat to do
200, 201Success (201 when something was created)Read data.
204DeletedNothing to read.
400The request is invalidFix the field named in error. Don’t retry unchanged.
401Missing, malformed or revoked API keyCheck the Authorization header.
404The post or workspace was not foundCheck the ID and workspace_id.
413The file is too largeSee Media requirements.
415The file type is not acceptedUpload JPEG, PNG, GIF, WebP, MP4 or MOV.
422The file contents don’t match its type, or can’t be readRe-export the file and declare the right type.
429Too many requestsWait and retry. See Rate limits.
500Something went wrong on our sideRetry with backoff; contact support if it persists.

Error messages

StatusMessageWhen
400base_content and platforms are required.base_content is empty or platforms is missing or empty.
400media[0].url must be a URL returned by POST /api/v1/media.A media URL was not uploaded through the API by you.
400media accepts at most 10 items.More than 10 files were attached.
400platform_content.linkedin.media contains a URL that was not returned by POST /api/v1/media.A per-platform media URL (or a YouTube thumbnailUrl) was not uploaded through the API.
400platform_content.youtube.settings: YouTube title: YouTube titles are limited to 100 characters.A platform setting failed validation. The message names the field.
400Request body was empty.No file was sent.
400data is not valid base64.JSON uploads only: data could not be decoded. filename, mime_type and data are all required.
401Invalid or revoked API keyThe Authorization header is missing, malformed, or the key was revoked.
404Workspace not found, or you are not a member of it.The workspace_id you passed (or your key’s default workspace) is not one you belong to.
404Post not foundNo post with that ID exists in the workspace.
413File too large. Maximum is 10MB for images.The file is over 10 MB (images or base64) or 100 MB (raw video).
415Unsupported mime_type "image/svg+xml". Allowed: JPEG, PNG, GIF, WebP images; MP4, MOV videos.The file type is not accepted.
422File content is image/jpeg but was declared as image/png.The bytes do not match the declared type, or the image could not be read.
429Too many requestsYou went over the hourly limit. See Rate limits.
500Failed to delete post.The post could not be deleted. Try again.
Problems at publish time (a Pinterest post without an image, a disconnected account) don’t fail the API request. The post moves to failed, and Postprism shows the reason on the post.