HivePost API
Menu

Guides

Errors

Errors are always { "error": { "code", "message", "docs" } }. code never changes, message may, and docs links here. Post checks list every problem in details, with the account it is about.

API errors

CodeStatusHow to fix it
unauthorized401Send a valid API key as Authorization: Bearer <key>.Send the key as Authorization: Bearer hp_test_… or hp_live_…; check it wasn't rolled or revoked.
forbidden403This API key can't do that. Check its access.Use a key whose access covers this, or change it under API keys.
drafts_only403This key can only save drafts. Send "draft": true, or use a key that can publish.Send "draft": true, or use a key that can publish.
network_not_available403This network isn't open in the API yet.Publish to an open network (Bluesky), save a draft, or schedule this one from the Planner.
not_found404Nothing here with that id.Check the id. Test keys see only test objects, live keys only live ones.
idempotency_conflict409This Idempotency-Key was already used for a different request.Use a new Idempotency-Key for a different request, or wait for the first one to finish.
payload_too_large413The request body is too large (64 KB at most).Keep the body under 64 KB; send files as links with POST /v1/media.
validation_failed422Some fields are missing or not valid.Fix the field named in the message; details lists every one.
return_url_not_allowed422return_url must be https on one of your allowed return domains.Use https and add the domain under Developers → Connect links → Allowed return domains.
account_not_connected422Reconnect this account in HivePost before posting to it.Reconnect the account in HivePost, then send the request again.
rate_limited429Too many requests. Wait and try again.Wait the Retry-After seconds; stay under 60 requests a minute per key.
internal_error500Something went wrong on our side. Try again.Try again with the same Idempotency-Key. If it keeps failing, send us the request ID.

Post checks

A network refuses the post as it is. All answer 422; the message names the network's limit.

CodeStatusHow to fix it
no_targets422Add at least one account id to accounts.
time_in_past422Set publish_at in the future, or leave it out to publish now.
text_too_long422Shorten the text, or give that account its own shorter text.
too_many_hashtags422Use fewer hashtags for that network.
too_many_mentions422Mention fewer people for that network.
media_required422This network needs a photo or video; add one to media.
video_only422This network takes video only; send a video.
mixed_media422Send photos or a video, not both.
too_many_images422Send fewer photos for that network.
too_many_videos422Send one video.
image_format422Send the photo in a format the message names.
video_format422Send the video in a format the message names.
image_too_large422Send a smaller photo.
video_too_large422Send a smaller or shorter video.
aspect_ratio422Crop the photo or video to a shape the network takes.
video_too_short422Send a longer video.
video_too_long422Send a shorter video.
alt_text_missing422Add alt_text to each photo.
alt_text_too_long422Shorten the alt text.
title_required422Add a title for that account.
title_too_long422Shorten the title.
board_required422Add board_id for the Pinterest account.
tiktok_privacy_required422Add tiktok_privacy for the TikTok account.
reel_needs_one_video422A reel takes exactly one video.
first_comment_unsupported422Leave out first_comment for that network.