Skip to content

Updated Sep 2026

Error message index

This page lists the error and confirmation messages you can see anywhere in PostSignoff, grouped by area. Use your browser’s find function (Ctrl+F or Cmd+F) and paste in the exact wording you saw. Messages are quoted verbatim, including capitalization and punctuation. Where a message includes a variable, it’s shown in curly braces, for example {platform} or {N}.

If you can’t find your exact message, check the generic messages row at the end of the relevant section. Most one-off wording that isn’t listed here falls back to one of those.

Most common problems

MessageWhereFix
{platform} rejected the access token ({detail}) — reconnect the account (platform appears lowercase, e.g. “twitter”)Failed posts, publishingYour connection expired or was revoked. Reconnect the account. See Connect your social accounts.
No connected {platform} account for this brandFailed posts, publishingConnect the account for that brand. See Connect your social accounts.
You’ve hit your plan limit / “You’ve used {used} of {limit} {label}.”Anywhere you hit an AI, storage, or post capWait for the monthly reset, free up the resource, or select Upgrade your plan. See Understand your plan and usage.
This form isn’t available.Public capture form or Permission to Contact formThe link may be disabled, expired, or requires a paid plan. The message is deliberately the same for all three. Contact the agency that sent you the link.
Invalid email or password.Sign inShown for any sign-in problem (wrong password, unknown email, unverified account). Double-check your email and password, or use Forgot your password?
Storage {N}% full / Storage fullMedia pageMove media you no longer need to the trash and empty it, or buy more storage. See Manage your storage space.
This post has not been analyzed against its current content. Run the compliance analysis before approving.Approving a postSelect Analyze, resolve or acknowledge the findings, then approve. See Run a compliance check before approving.
Publishing is turned off in this environment — approved posts stay in the queue for manual posting.Post Now, RetryReal publishing is disabled for this environment. An administrator has to turn it on. Approved posts still queue up correctly.

Signing in

MessageWhen it appearsWhat to do
Email is requiredSign in, forgot password, with the field left blankEnter your email address.
Enter your passwordSign in, password field left blankEnter your password.
Invalid email or password.Sign in fails for any reason: wrong password, unknown email, unverified account, or rate-limitedThis message is intentionally the same regardless of cause, so it can’t be used to check whether an email is registered. Re-check your email and password, or use Forgot your password?
Name is required / Create a password / Use at least 12 charactersCreating an account, with a field missing or the password under 12 charactersFill in the field. Passwords need at least 12 characters. There’s no other complexity rule.
Could not create account.Signing up, server rejects the request for a reason other than the field checksTry again. If it keeps happening, contact support.
(no message: signup appears to succeed)Signing up with an email that already has an accountThis is by design. PostSignoff never reveals whether an email is already registered. If you already have an account, use Sign in or Forgot your password? instead.
That X account isn’t linked to anything here yet — create an account first, then connect X from your Profile.Continue with X on the sign-up pageX can’t create a new account on its own. Sign up with email or another provider first, then link X from your Profile page.
An account with this email already exists. Verify your email first, then try again or sign in with your password.Continue with Google/Facebook/X, email already registered a different wayVerify your email, then sign in with your password, or link the social account from your Profile page afterward.
That account is already connected to a different user.Continue with Google/Facebook/X, account already linked elsewhereSign in with the account it’s already linked to, or use a different sign-in method.
Social sign-in failed. Please try again or use your password.Continue with Google/Facebook/X, any other failureTry again, or sign in with your email and password instead.
If an account exists for that address, a reset link is on its way.Forgot your passwordThis message shows whether or not the email is registered, by design. Check your inbox (and spam folder).
Missing or expired reset token. / That reset link is invalid or expired.Opening a password reset linkRequest a new reset link from Forgot your password?
Use at least 12 characters / Passwords don’t matchSetting a new passwordEnter a password of at least 12 characters, and make sure both fields match.
Your confirmation link has expiredClicking an old email verification linkSelect Resend email (or enter your email) to get a new link.
This confirmation link is invalidClicking a malformed or already-used verification linkRequest a new link the same way.
Could not send the email — try again in a moment.Requesting a new verification emailWait a moment and try again.
If that account exists, we’ve sent a new link. Check your inbox.Requesting a new verification email while signed outCheck your inbox and spam folder.
Code redeemed./verify-email, after signing up with an invite codeYour invite code applied successfully. Nothing further to do.
That code is not valid — you can redeem a code any time on the Billing & Usage page./verify-email, invite code entered at signup didn’t workRedeem the code later from the Billing page, or check you typed it correctly.
We could not redeem your code — you can redeem it any time on the Billing & Usage page./verify-email, code redemption failed for a reason other than an invalid codeTry redeeming the code again from the Billing page.
Your session has expired. Please sign in again.Any action that returns a 401 while signed inSign in again. This message covers every cause of a 401: an actually-expired session or a server-side sign-out.
Account suspended: {reason}. You are in read-only mode.Persistent banner after a payment failure or other suspensionIf the reason reads literally “payment_failed”, your last payment didn’t go through. Update your payment method. See Fix a suspended account.
(silently redirected to /login with no message)Your account was banned or deletedContact support if you believe this is a mistake. The app currently gives no on-screen explanation for this case.
For security, sign in again before removing a sign-in method.Profile page, removing a sign-in method with an older sessionSign out and back in, then try removing the sign-in method again.
Couldn’t remove that sign-in method. It may be your only way to sign in.Profile page, removing a sign-in method fails for another reasonYou need at least one way to sign in. Connect another method first if this is your only one.
Couldn’t start linking. Please try again.Profile page, connecting a new sign-in methodTry again in a moment.

Creating posts

MessageWhen it appearsWhat to do
Select at least one platformCreate Post dialog, submitting with no platform chip selectedSelect at least one platform.
We couldn’t find your business profile. Pick or create one on the Brands page, then try again.Create Post dialog, AI generation, no brand set upGo to the Brands page and create a brand first.
Content is requiredCreate Post dialog, “Write it myself” mode, submitting with empty contentEnter your post text.
Generation failedCreate Post dialog, AI generation fails for a reason not otherwise mappedTry again in a moment. See the generic-failure note at the end of this section.
Failed to create postCreate Post dialog, submitting failsTry again. If it keeps happening, check your connection.
Instagram requires an image or video — its post can’t publish until you add one here or on the post’s page.Create Post dialog, Instagram selected with no image added yetThis is a warning, not a block. You can still create the post, but add an image or video before it can publish. See Add images to a post.
That’s the maximum of 10 images. Remove one to add another.Create Post dialog, image tray already has 10 imagesRemove an image from the tray before adding another.
{N} pick(s) weren’t added — the tray is full. They were still imported to your library.Create Post dialog, selecting more stock/library images than the tray has room forThe extra picks are safely in your media library. Add them to a different post later if you want them.
{Platform} will use the first {max}Create Post dialog, more images added than a selected platform allowsNo action needed. That platform publishes only its first allowed images. The rest are ignored for that platform only.
Failed to update campaignAssigning a campaign from a post’s campaign dropdownTry again.
Template with id ‘{id}’ not foundGenerating from a template that no longer existsPick a different template, or create a new one.
Built-in templates cannot be modifiedEditing one of PostSignoff’s starter templatesSave your changes as a new template instead of editing the built-in one.
Draft added — review and approve it to include this channelPost’s page, + Add channel, successConfirmation only. Open the new platform version to review and approve it.
Failed to add the channelPost’s page, + Add channel failsTry again.
Group already has a {platform} postPost’s page, adding a platform that’s already part of this postThat platform already has a version in this post. Edit the existing one instead.
Generic: Generation failed / Request failed with status 500 / Internal server errorAny AI text or image generationThe server hides most underlying OpenAI failures (rate limits, content-policy rejections, outages) behind a generic error so you can’t tell them apart from this message alone. Wait a minute and try again. If your prompt or brand topic might be unusual, try rewording it. If it keeps failing, contact support.

Images & media

MessageWhen it appearsWhat to do
PNG, JPG, GIF, WebP, MP4, MOV, or PDF only.Uploading media, unsupported file typeConvert or choose a file in one of the listed formats.
File too large — max {N}MB for {category}.Uploading media over the size cap (10MB images, 100MB video, 50MB documents)Compress the file or choose a smaller one.
File doesn’t look like a real {type}.Uploading a file whose contents don’t match its extensionRe-export or re-save the file in a genuine supported format, then re-upload.
Upload failedMedia upload fails for another reasonCheck your connection and try again.
Instagram posts require an image or videoAdding media in the post editor for an Instagram platform version with noneAdd an image or video before this platform version can publish.
Only images can be edited.Opening the image editor on a video or documentThe image editor only works on images. Videos and documents can’t be edited in-app.
Media not found.Opening the image editor with a stale or deleted media linkGo back to the Media page and open the item from there.
Could not load the image.Image editor fails to load the source fileTry again. If it persists, the original file may be unavailable.
Original image unavailable — editing the flattened copy.Image editor, re-editing an image whose original was purgedInformational only. Your edit still works, starting from the last saved version instead of the true original.
Save failed / Export failed / Copy failedImage editor, saving/exporting/copyingTry again.
Aspect differs — the export will be center-cropped. Tip: use the matching crop preset.Image editor, exporting at a size with a different aspect ratio than your cropInformational. Pick the crop preset matching your export size to avoid an unwanted crop.
No stock providers configured — set PEXELS_API_KEY on the server to enable Pexels.Opening the stock photo picker with no provider configuredThis is a server configuration issue. Contact whoever manages your PostSignoff environment.
You can import up to {N} items at a timeStock picker, selecting more than the import capDeselect down to the limit, import, then repeat for the rest.
Imported {n} item to your library / Imported {n} items to your library (singular for 1, plural otherwise)Stock picker, successful importConfirmation only.
{n} import(s) failed: {firstError}Stock picker, some imports failedRetry the failed ones. The message shows the first underlying error.
Pexels rate limit reached — try again in a bit.Stock search or import, Pexels API rate-limitedWait a few minutes and try again.
No results for “{query}“Stock picker search with no matchesTry a different search term.
Color search isn’t available for videosStock picker, using the color filter while browsing videosSwitch to photo search to use the color filter, or clear it.
{n} of 4 images failed to generateAI image generation, partial batch failureUse the images that succeeded, or select Generate again for a fresh batch of 4.
{err.message} — your posts are saved; you can try again or add an image later from the post page.AI image generation, the generated image failed to attach to the postYour post and its text are safe. Retry attaching, or add an image from the post’s page later.
Failed to load mediaMedia page fails to load your libraryRefresh the page.
Archive failed / Unarchive failed / Trash failed / Restore failed / Delete failedMedia page, the corresponding action failsTry again.
Permanently delete this item? This can’t be undone.Media page, Delete now confirmationConfirm only if you’re sure. This is the one place media is truly, permanently removed.
Items in the trash are deleted permanently after 30 days.Media page, Trash tabInformational. Restore anything you want to keep before the 30 days are up.
Storage {N}% full ({used} of {limit} MB). Move media you no longer need to the trash and empty it, or buy more storage on the Billing page.Media page, storage gauge at 90% or moreFree up space via the trash, or buy a storage add-on. See Manage your storage space.
Trash is empty. / No archived media. / No media yet — drop a file above to get started.Media page, empty states for the corresponding tabInformational, not an error.
Media is attached to a pending or approved postTrying to archive or trash media still in useRemove it from the post, or wait until the post is published/rejected, then try again.
Only images can be edited. / Media is in the trash — restore it firstVarious media-state guard errorsFollow the message: restore, reject, or otherwise change the item’s state before retrying the action.
Generic: Request failed with status 500 / Internal server errorAny media, stock, or AI-image actionAs with generation, uploads and image AI can surface a bare server error for problems the app can’t identify more specifically (a too-large multipart upload is one known case). Try a smaller file or a different image, and try again.

Publishing & connections

MessageWhen it appearsWhat to do
{platform} rejected the access token ({detail}) — reconnect the account (platform appears lowercase, e.g. “twitter”)Publishing to any platform whose connection is expired or revoked ({detail} is usually “HTTP 401”)Reconnect the account from Settings → Connections. See Connect your social accounts.
No connected {platform} account for this brandPublishing when no account is connected for that platform on this brandConnect an account for that platform.
Posts to {platform} will fail until you reconnect.Settings → Connections, a connection shows expired or errorSelect Reconnect.
No connected accounts yet.Settings → Connections, empty stateSelect + Connect account to add your first one.
No {kind} available — make sure you are an Admin of the {Page/kind}.Connecting Facebook or LinkedIn, the target picker comes back emptyYou need admin access to at least one Facebook Page or LinkedIn organization to connect it. Ask an existing admin to add you.
Could not finish connectingFacebook/LinkedIn target picker, finalizing the chosen Page/org failsRetry from Settings → Connections.
Connection failed: {message}Returning from an OAuth connect attempt that failedRetry Connect or Reconnect. The message shows the platform’s own reported reason.
Failed to disconnect the accountSettings → Connections, DisconnectTry again. If it persists, contact support.
Failed to remove the accountSettings → Connections, RemoveTry again. If it persists, contact support.
{moved} {Platform} post(s) moved to PendingDisconnecting/removing an account with approved posts, choosing to move themConfirmation. Those posts are back in your review queue and need re-approving once you reconnect.
Scheduled posts can’t publish without this connection… / they will fail at their scheduled time unless you reconnect {label} first.Disconnect/Remove dialog, choosing whether to move affected posts to PendingChoose Move posts to Pending (recommended) unless you’re reconnecting immediately.
Not configured for this environmentSettings → Connections, a platform tile is greyed outThat platform isn’t set up on this server yet. Contact whoever manages your PostSignoff environment.
Publishing to social platforms is turned off in this environment. Approved posts stay in the queue for manual posting. An administrator can enable it by setting PUBLISH_EXTERNAL_ENABLED=true.Server-side, publishing disabledReal publishing is off for this environment. Approved posts still queue correctly. An administrator has to enable publishing.
Publishing is turned off in this environment — approved posts stay in the queue for manual posting.Content/History page, same condition as aboveSame as above. This is the client-facing version of the same message.
Post must be approved before publishing. Current status: ‘{status}’.Trying to publish a post that isn’t approvedApprove the post first.
Publish now? This goes live immediately.Post Now confirmationConfirm only if you want it to publish right away, bypassing any schedule.
Publishing nowPost Now / Retry, action startedConfirmation only. Wait for the result.
Failed to publishPost Now or Retry fails without a more specific reasonCheck the failure detail on the post, then retry.
Some posts failed to approve (2 of 5) (count varies)Bulk approve with partial failuresOpen the posts that didn’t approve to see why (often a missing compliance analysis).
needs compliance analysis — open the postBulk approve, a post skipped because it hasn’t been analyzedOpen the post, select Analyze, then approve it individually.
Cannot approve post with status ‘{status}’. Must be ‘pending’.Approving a post that isn’t pendingOnly pending posts can be approved.
Cannot reject post with status ‘{status}’. Must be ‘pending’ or ‘approved’.Rejecting a post in another statusOnly pending or approved posts can be rejected.
Cannot reactivate post with status ‘{status}’. Must be ‘expired’ or ‘rejected’.Reactivating a post that isn’t expired or rejectedOnly expired or rejected posts can be reactivated.
Post moved back to the queue / ReactivatedReactivating an expired or rejected post, successConfirmation. The post is pending again.
Failed to reactivateReactivating failsTry again.
Failed to duplicateDuplicating a post failsTry again.
Moved to Pending — {Platform} was disconnected ({date}). Re-approve it once the account is reconnected.A post’s status note, after its connection was disconnected/removedReconnect the account, then re-approve the post.
This channel isn’t connected — the post can’t publish until you connect it on the Brands page.Post’s page, a platform version with no connectionConnect that platform’s account from Settings → Connections (the banner’s link goes to the Brands page, which links onward).
Failed to load outcomeHistory page, opening the outcome drawer failsRefresh and try again.
No platform reference availableHistory outcome drawer, no link to the live post existsThe platform didn’t return a link for this post, so there’s nothing to view live.
Generic: Unknown publish error / Request failed with status 500Publish attempts with no more specific mapped causeRetry once. If it keeps happening on the same post, open it and check for missing media or an expired connection first.

Approving & compliance

MessageWhen it appearsWhat to do
This post has not been analyzed against its current content. Run the compliance analysis before approving.Approving a post with compliance review enabled, no current analysisSelect Analyze, then approve. See Run a compliance check before approving.
Resolve the findings or tick the acknowledgement to approve as-isApprove button disabled, unresolved compliance findingsFix the flagged content, or tick the acknowledgement checkbox and use Acknowledge & approve.
Compliance analysis failed. Please try again.Running Analyze fails outrightTry again in a moment.
We couldn’t fully check this post — the review service was unavailable. You can still proceed, but please review carefully.Analyze runs in a degraded state (review service unavailable)Review the content yourself before approving. The automatic check couldn’t fully run.
No compliance issues detected.Analyze completes cleanNothing to fix. You can approve.
This is review assistance, not a compliance certification.Always shown alongside compliance findingsInformational. A clean or acknowledged result isn’t a legal sign-off. Use your own judgment.
Findings acknowledged{ on date}. Approving will publish as-is.After you’ve acknowledged findingsInformational. Approving now publishes the content with the findings on record, unresolved.
Could not insert the disclaimer.Findings panel, Insert disclaimer failsTry again.
Check unavailable / Compliance: OK / Reviewed by {who} · {date} / Needs reviewCompliance status badge on a postMatch the label to the state. “Needs review” means you still need to Analyze or resolve findings before approving.
Restore this version? Your current edits will be overwritten.Version history, RestoreConfirm only if you want to discard your current edits in favor of the older version.
Restore failedVersion history restore failsTry again.
Posted content is locked — the published record can’t be edited.Trying to edit a post that has already publishedPublished posts are permanent. Create a new post instead.
Rule packs are not available right now — the default Medicare (CMS marketing rules) pack applies.Brand settings, choosing a compliance rule packInformational. Your posts are still checked against the Medicare pack even if the picker is unavailable.
Cannot enable this form: {blockers}Permission to Contact form settings, activating with unresolved blockersResolve each listed blocker (agency name, agent NPN, etc.), then try enabling again. See Set up the Permission to Contact form.
Generic: Request failed with status 500Analyze or approve action with no more specific mapped causeTry again. If a specific post keeps failing to analyze, note its content and contact support.

Contacts & forms

MessageWhen it appearsWhat to do
This form isn’t available. / The link may have expired or been turned off.Public capture form or PTC form, link is unknown, disabled, or plan-lockedThese three causes look identical on purpose. If it’s your own form, check it’s enabled and your plan supports it. Otherwise contact the agency that shared the link.
This form is not accepting submissions right now.Public capture form submit, form disabled or its monthly quota is used upTry again later, or contact the agency directly.
Verification failed — please try again.Public form submit, CAPTCHA check failedRetry the form. This can happen from a slow connection as well as a failed CAPTCHA.
Generate a new link? The current link stops working immediately — posts that already include it will point to a dead page.Brand settings, Lead Capture, New linkOnly regenerate the link if you’re ready to update every post and page that shares the old one. This confirmation is your only guard.
Could not load lead-capture settings.Brand settings, Lead Capture section fails to loadRefresh the page.
Collect emails and phone numbers from your posts with a branded signup page. Available on paid plans — upgrade to unlock.Brand settings, Lead Capture on a free planUpgrade to a paid plan to enable lead capture.
Your capture form is disabled. Enable it in brand settings.Post editor, Capture button, form exists but is offEnable the capture form in Brand settings, then try again.
Export failedContacts page, CSV export failsTry again.
No contacts match your search. / No contacts yet. Add a capture link to a post to start collecting signups.Contacts page, empty statesInformational, not an error.
Delete {email}? This permanently removes their data.Contacts page, deleting a contactThis is a genuine permanent deletion, unlike most other deletes in PostSignoff. Confirm only if you mean it.
Check the box confirming you have read and understand this form. / Type your full name to sign.Public Permission to Contact form, signing without completing the acknowledgementTick the checkbox and type your name exactly as asked.
Select at least one type of coverage. / Enter your first name. / Enter your last name. / Enter a 5-digit ZIP code, for example 27601.Public Permission to Contact form, field-level validationFill in the field as described.
Choose at least one way for us to contact you.Public PTC form, no contact method selectedSelect at least one contact method (phone, text, email, or mail).
Text messages can only be sent to a mobile number. Choose “Cell phone (mobile)” above.Public PTC form, texting selected with a landline phone typeChange the phone type to Cell phone (mobile), or deselect texting.
This form has not been reviewed by counsel or approved by your carriers. Do not enable it until both are complete.Permission to Contact settings, permanent bannerThis banner never goes away automatically. It’s a standing reminder to get legal and carrier sign-off before enabling.
Resolve these before you can activate this form:Permission to Contact settings, unresolved activation blockersFill in each listed item (agency legal name, agent NPN, coverage types, etc.).
Enter your agency’s legal name. / Enter the licensed agent’s full name. / Enter a valid National Producer Number (1–10 digits).Permission to Contact settings, specific missing fieldsFill in the named field.
Remove the carrier name. This form must stay carrier-neutral — naming a carrier limits the permission to that carrier’s products.Permission to Contact settings, a carrier name was enteredRemove any carrier name from the form text. It must stay carrier-neutral.
Could not export your consents. Check your connection and try again.PTC Consents page, CSV export failsCheck your connection and retry.
Generic: Something went wrong. Please try again.Public capture or PTC form, unmapped submit failureRetry the form once. If it keeps failing, contact the agency directly rather than resubmitting repeatedly.

Billing & limits

MessageWhen it appearsWhat to do
Could not start the upgrade. Try again, or contact support if it keeps failing.Billing page, selecting Upgrade to Starter / Upgrade to Pro, checkout fails to startTry again. If it keeps failing, contact support.
There is no billing account to manage yet — upgrade to a paid plan first.Billing page, Manage subscription on a free plan with no Stripe customer recordUpgrade to a paid plan first. The billing portal only exists for paying accounts.
Could not open the billing portal. Try again in a moment.Billing page, Manage subscription fails for another reasonTry again shortly.
Could not open the billing portal. Try again from the Billing page.The Update payment method shortcut fails to reach StripeYou’re redirected back to the Billing page automatically. Retry Manage subscription from there.
Storage add-ons are not configured yet. Contact support.Billing page, buying a storage add-on, no SKU configuredContact support to get storage add-ons enabled for your account.
Could not start the storage purchase.Billing page, buying storage fails for another reasonTry again.
Storage added — your new limit is active.Billing page, storage add-on purchase completes without a Stripe redirectConfirmation only. Your new storage limit applies immediately.
Code redeemed.Billing page, Redeem with a valid invite/promo codeConfirmation only.
That code is not valid.Billing page, Redeem with an unrecognized, expired, deactivated, or already-maxed-out codeDouble check the code, or ask whoever gave it to you for a fresh one.
Redemption failed.Billing page, Redeem fails for another reasonTry again. If it’s a special code tied to a specific plan, make sure you’re on the right plan first.
You’re boosted to {SLUG} until {date}.Billing page banner, an active plan override/promotionInformational. The all-caps text is the plan’s internal name. It still refers to a real plan on your account.
You’ve hit your plan limit / “You’ve used {used} of {limit} {label}{ this month}.”Anywhere you exceed a plan limit (AI generations, storage, posts, brands, and so on)Select Maybe later to dismiss for now, or Upgrade your plan. See Understand your plan and usage.
{used} of {limit} / of unlimitedBilling page usage cardsShows how much of each monthly or standing allowance you’ve used.
(a raw label like “contacts_stored” instead of plain text)Usage cards or the plan-limit popup, for the Contacts and Permission to Contact dimensionsThis is a known display gap. The raw internal name leaks through for two specific usage types. It still refers to a real limit. Treat it the same as any other plan-limit message.
Account suspended: payment_failed. You are in read-only mode.Persistent banner after a failed paymentThe raw wording is a known display issue, but the meaning is real: update your payment method to restore full access. See Fix a suspended account.
Generic: Request failed with status 500 / Internal server errorAny billing action with no more specific mapped causeTry again. If a checkout or portal redirect never completes, refresh the Billing page and retry rather than resubmitting.

A note on generic errors

A few messages aren’t specific to any one feature:

  • Request failed with status 500
  • Internal server error
  • Unknown error
  • Unknown API error

You can see any of these from almost any action in PostSignoff. The server deliberately hides most of the underlying detail behind a generic message in production. This is especially common for AI text and image generation, where the real cause (an OpenAI rate limit, a content-policy rejection, or a temporary outage) gets masked the same way an unrelated bug would. If you see one of these:

  1. Wait a minute and try the same action again.
  2. If it’s an AI generation, try rewording the prompt or topic. Some rejections are caused by the content itself.
  3. If the same specific action keeps failing the same way, contact support and describe exactly what you were doing.