Changelog

All the latest updates, improvements, and fixes to Outstand

v2026.08.18

Threads length checks, editable tenant IDs, and accurate platform counts

Today's release adds upfront validation for Threads posts, gives you more control over social account organization in the dashboard, and cleans up platform counts across our site and docs

  • Threads posts over 500 characters are now rejected immediately: Creating or updating a post that targets a Threads account now fails fast with a clear 400 error if any container exceeds Threads' 500-character limit, instead of silently succeeding and failing later at publish time with a raw error from Meta. The error message tells you exactly which containers are too long and by how much. This applies whether you're posting to Threads alone or cross-posting to multiple networks at once, and covers both the REST API and MCP tools. Character counts are based on visible characters, so emoji and other multi-byte characters are counted the way you'd expect.
  • Edit tenant IDs and see account IDs directly in the dashboard: Social accounts connected through the dashboard could previously only get a tenant ID at connect time via the API, leaving web-connected accounts stuck with no way to organize them by tenant short of disconnecting and reconnecting. You can now set or clear an account's tenant ID directly from the accounts page using a new edit button. Each account row also now shows its public ID (the same id format used in API responses, webhooks, and MCP output) with click-to-copy, making it easy to match a dashboard row to what you see in your integration.
  • Platform counts across our site and docs now correctly say 12: Reddit shipped as our 12th supported network, but several customer-facing spots, including the homepage headline, the platforms section, the shared preview image, docs, and API descriptions, still referenced 11 or fewer platforms and sometimes omitted Reddit from lists entirely. All of these now consistently reflect all 12 supported platforms.
Read more2 min read
v2026.08.17

Reddit joins Outstand

Outstand now supports Reddit as its 12th connected network:

  • Post and engage on Reddit: Publish text and link posts to any subreddit, with support for flair, NSFW/spoiler tags, and reply preferences. Multi-part posts are supported too, publishing follow-up parts as a comment chain under your post.
  • Manage Reddit comments: Publish replies, read the full comment tree on a post, and delete comments, all through the same API you use for other networks.
  • Track Reddit performance: Pull public post metrics (score, upvote ratio, comment count) and a karma snapshot for the connected account, plus import a history of previously submitted posts.
  • Reddit requires your own app credentials: Reddit is a Bring-Your-Own-Key network, so you'll need to register your own Reddit application to connect accounts; Outstand does not offer managed keys for Reddit.
  • Clearer guidance on which networks need your own keys: Docs now call out that X, Google Business Profile, Vimeo, and Reddit require your own app credentials, while the other 8 supported networks work with Outstand's managed keys, so there's no more ambiguity when connecting an account.
Read more1 min read
v2026.08.15

MCP Server Upgraded to the Latest Protocol Revision

Our MCP server now speaks the latest protocol revision with better tool metadata and fixed connectivity issues, while staying fully compatible with existing clients:

  • MCP server on the newest protocol revision: The MCP server now supports the latest protocol revision (2026-07-28). Existing clients on the previous revision, including Claude's connector, continue to work exactly as before with no changes required on your end.
  • Fixed browser-based MCP clients failing to connect: A missing set of headers in cross-origin requests was silently blocking browser-based MCP clients from connecting at all. This is now fixed.
  • Fixed OAuth discovery returning 404: Clients doing OAuth resource discovery against our MCP server's protected resource path were getting a 404 instead of the metadata document. Discovery now works correctly, including additional metadata like supported scopes and a link to documentation.
  • Structured output on every MCP tool: All 28 MCP tools now return a structured, machine-readable result alongside the existing text output, so clients that support the new revision can consume results directly instead of parsing text.
  • Clearer tool titles and behavior hints: Every tool now carries a human-readable title and accurate annotations, so MCP clients can correctly show which actions are read-only versus which make changes, and which changes are destructive.
  • Corrected MCP documentation: The MCP README and docs now correctly list all 28 tools (previously showing 26 and missing two), the correct port, an up-to-date authentication section, and the correct platform count of 11, including Vimeo which had been missing from the list.
  • Claude Code Plugin documentation: Added a new documentation page covering installation, features, and commands for the Claude Code Plugin, with links to it from the docs navigation and llms.txt.
Read more2 min read
v2026.08.14

A Posts view for your dashboard

This release adds a new way to see everything you've scheduled and published, plus some polish that makes the dashboard more trustworthy:

  • New Posts page: See what's about to go out and what already has, right from your dashboard. Switch between a chronological Queue (split into Upcoming and History) and a full month Calendar, so you can finally answer "what's coming up?" and "did that land?" without going back to the API.
  • Full post content in the calendar: Click any post in the calendar to see everything in it, not just a one-line snippet. Multi-container posts show every reply in order, attached images and video render as preview tiles, and long text expands with a Show more / Show less toggle. This same detail view is also available from the Queue.
  • Draft posts no longer clutter your calendar: Drafts were showing up on the calendar dated by when they were created, inflating day counts with posts that were never actually scheduled. They're now hidden from the default view and only appear when you filter specifically for drafts.
  • Fixed a visual glitch on the dashboard: The marketing site's wordmark was briefly bleeding through the sidebar on the Posts page, and the sidebar background was rendering the wrong shade throughout the dashboard. Both are now fixed.
  • TikTok Business API plan: A new plan tier is available for customers who need TikTok's business API access.
Read more1 min read
v2026.08.12

More Reliable Facebook and Instagram Authentication

Today's release improves how token issues and authentication errors are detected for Meta-powered networks:

  • Better authentication error detection for Facebook and Instagram: Errors from Meta's API are now recognized more accurately, including its distinct authentication error codes, so expired or invalid tokens are correctly flagged instead of being misclassified. This means health checks on your connected Facebook and Instagram accounts are more trustworthy, and you get clearer signals when a reconnection is actually needed.
Read more1 min read
v2026.08.11

AI Disclosure for Instagram, Billing History, and TikTok Reliability

This release adds transparency and visibility features across Instagram, billing, and TikTok publishing:

  • AI content disclosure for Instagram: You can now mark Instagram media as AI-generated using a new isAiGenerated field, available for feed posts, Reels, carousels, and Stories. Instagram will surface this with an "AI info" label, helping you stay compliant with content labeling requirements and keep your audience informed.
  • Invoice history in billing settings: Your billing settings page now includes an Invoices panel showing your past charges, so you no longer need to leave the app to check billing history. History remains visible even if your subscription is cancelled or past due, and each invoice links to both a hosted view and a downloadable PDF.
  • More reliable TikTok publishing: TikTok enforces a shared cap on distinct creator accounts that can post within a 24-hour window. Publishing now checks against this quota before attempting a post, reducing failed or rejected publishes tied to TikTok's platform-wide limits.
  • Clearer errors for expired Instagram Story insights: When Instagram Story insights are no longer retrievable because they've expired, the API now returns a specific, clearer error instead of a generic failure.
  • Fewer false alarms on metrics retrieval: Error handling for Facebook and Threads metrics now distinguishes recoverable issues from real permission problems, cutting down on noisy errors during normal account states.
  • Updated Terms of Service: Our Terms of Service have been updated to reflect current API rate limits.
Read more2 min read
v2026.08.10

Better Instagram Story Analytics

This release improves how you get metrics for Instagram Stories versus standard posts:

  • Story-specific metrics: Requesting metrics for Instagram Stories now returns replies, profile visits, and navigation actions, giving you insight into how people interact with Stories specifically.
  • Accurate metrics for Stories: Since Instagram Stories don't support likes, comments, or saves, those fields now correctly return null instead of misleading zero values.
  • Clearer error messages for expired Stories: If you request metrics for a Story after its 24-hour insight window has expired, you'll now get a clear, properly classified error instead of a confusing failure.
  • Updated documentation: API docs now clearly explain the differences between Story metrics and standard post metrics, including the 24-hour expiration window for Story insights.
Read more1 min read
v2026.08.09

Deleted Posts Stay Deleted

A fix ensures the published posts list reflects reality after you delete a post:

  • Deleted posts no longer reappear: Removing a post that was live on multiple networks used to show it again after refreshing the published posts list, even though it was truly gone from the network you deleted it from. The list now correctly reflects deletion status per network, so a post only disappears entirely once it's been removed from all the networks it was published to, and stays gone.
Read more1 min read
v2026.08.07

A Live Demo, a Facebook Fix, and Cleaner Docs

Today's release adds a hosted demo you can try with your own API key, keeps Facebook page posting ahead of an upcoming API sunset, and cleans up inconsistent tool counts across our documentation:

  • Try the API live at test-ui.outstand.so: A new hosted demo scheduler lets you paste in your own API key and try posting, scheduling, and managing accounts through the Outstand API directly in your browser, no setup required. Your key stays in your browser session and is never stored on our servers.
  • Threads "Who can reply" setting now works in the demo: Fixed an issue in the demo scheduler where the reply-control selector for Threads posts displayed a value but didn't actually apply it when posting.
  • Facebook page post fetching stays reliable long-term: Updated the Facebook Graph API version used for fetching page posts so this endpoint won't be affected by Meta's upcoming API sunset, keeping page post retrieval working without interruption.
  • Consistent tool counts across all documentation: Our docs, landing page, and integration guides now consistently report the accurate number of available MCP tools (28), so you can trust the numbers no matter where you look.
Read more1 min read
v2026.08.05

Safer billing, safer accounts, and a TikTok audit guide

This release focuses on protecting your accounts and billing from surprises, plus new documentation for TikTok's toughest approval step:

  • No more accidental double subscriptions: If a payment fails and your subscription goes past-due, you'll now see a clear "payment failed" warning with a link to update your card, instead of being prompted to start a brand new subscription. This closes the gap where retrying checkout could leave you paying for two plans at once while the failed one is still unresolved.
  • Cancelling your subscription no longer disconnects your accounts: Previously, a cancelled or lapsed subscription could remove your managed social credentials and, with them, every social account connected through them. That connected-account teardown has been disabled, so cancelling a plan no longer risks losing your connections.
  • New guide to passing TikTok's Direct Post audit: TikTok requires apps to pass its Content Posting API audit before Direct Post works without restrictions. We've published a step-by-step guide covering the application checklist, a demo video shot list, the exact UI text reviewers look for, and common mistakes to avoid.
  • New known issue page for TikTok's active creator cap: If you're hitting reached_active_user_cap on TikTok, a new known-issues page explains why: the cap counts distinct creators (not posts), applies at the app level rather than per organization, and rolls over gradually rather than resetting all at once.
  • Instagram media import kept on a supported API version: Instagram media fetching now runs on a newer, longer-supported version of Meta's API, avoiding a future disruption to media import as the older version approaches its retirement date.
Read more2 min read
v2026.08.04

Facebook Analytics Now Return Real Numbers

This release fixes Facebook analytics that were silently reporting zero and expands the permissions we request so you get richer data going forward:

  • Facebook post analytics now show real impressions, reach, and engagement rate: Previously, Facebook posts always reported zero impressions, zero reach, and no engagement rate because those metrics were never actually requested from Facebook, even though the analytics response advertised them. That data now comes through correctly, and likes/comments/shares are untouched if the extra metrics ever fail to load.
  • Facebook Page-level insights no longer show false "not enough activity" messages: Facebook retired several Page metrics we were still requesting, and the failed request was being silently turned into all-zeros with a misleading note about low activity. Page insights now use the current metric names and report the real reason if a metric can't be measured, instead of masking it as low engagement.
  • Engagement rate on Facebook posts now reflects total reactions, not just Likes: The engagement calculation now includes all reaction types (Love, Haha, Wow, etc.), not just the Like reaction, so it better matches what you'd see in Facebook's own Page tools.
  • Instagram and Facebook connections now request broader default permissions: New connections request instagram_business_manage_comments on Instagram and read_insights on Facebook by default, enabling comment management and analytics access without extra configuration. Accounts connected before this change keep their existing permissions and will pick up the new ones the next time they reconnect.
Read more1 min read
v2026.08.03

Reliable multi-account connections and consistent account data

Today's release fixes how multiple accounts on the same network get connected and how account data is listed and returned:

  • Force account selection when connecting a network: Most networks were silently reusing whatever account was already signed in on the browser, so connecting a second account often just re-authorized the first one. Pass a new force_account_selection flag to POST /v1/social-networks/:network/auth-url (also available on the get_auth_url tool) to make the network show its account picker instead. Supported today for TikTok, Facebook, Instagram, YouTube, and Google Business Profile, with no effect on networks that don't support it, so you can send it unconditionally. Existing integrations are unaffected when the flag is left off.
  • tenant_id now included on every social account response: Connecting a Bluesky account without passing tenantId previously created the account with a null tenant and gave no indication anything was missing, which could later cause tenant-filtered lookups to come back empty with no explanation. The Bluesky connect response, and account list responses, now consistently include tenant_id so you can catch a missing tenant immediately instead of debugging it downstream.
  • Fixed missing and duplicate accounts when paginating GET /v1/social-accounts: Paging through accounts with limit/offset could skip some accounts entirely and return others twice, especially on orgs with many accounts under active token refresh. Results are now returned in a stable order, so paginating through your accounts returns every account exactly once.
Read more1 min read
v2026.07.31

Idempotent post creation and a multi-tenant connection fix

Today's release makes retrying a post creation safe and fixes a bug that affected multi-tenant Facebook and LinkedIn connections:

  • Safe retries on POST /v1/posts: Send an Idempotency-Key header with your post creation requests and retry safely if a request times out or your connection drops. A retry with the same key and body returns the original result (marked with Idempotency-Replayed: true) instead of creating a duplicate post. Reusing a key with a different body returns a 422, a request still in flight returns 409 with Retry-After, and keys expire after 24 hours so you can reuse them for a genuinely new request. If a post was created but publishing hadn't been scheduled yet when a retry comes in, we return that post as-is rather than scheduling it again; use PATCH to set a scheduledAt when you're ready.
  • Fixed tenant isolation for Facebook and LinkedIn connections: Accounts connected through the dashboard with a tenant_id for Facebook or LinkedIn are now correctly tagged with that tenant, matching how Google Business connections already worked. Previously these accounts lost their tenant association, so they could be missing from tenant-filtered account and post lists, and reconnecting the same account under a tenant could create a duplicate entry.
Read more1 min read
v2026.07.30

Tenant-aware post filtering, safer reconnects, and tighter token security

Today's release rounds out multi-tenant post management, makes reconnecting an account behave the way you'd expect, and closes a gap that could expose stored auth tokens:

  • Filter posts by tenant: GET /v1/posts now accepts a tenant_id (or tenantId) filter, matching what GET /v1/social-accounts already supported. Multi-tenant apps no longer need to fetch every tenant's accounts and filter posts client-side - the API does it for you, returning each matching post with its full list of connected accounts.
  • Filtered post pages are now complete: Filtering posts by social_account_id could previously return a short page (e.g. 3 posts for limit=50) even when more results existed, because the filter was applied after pagination. Paged, filtered results are now always full and correct.
  • Accurate pagination totals: pagination.total now reflects the real number of matching posts instead of just the number returned on the current page, so you can reliably tell how many results exist across all pages. The previous page-length value is still available as pagination.count.
  • Encoded account IDs now filter correctly: Filtering posts by social_account_id using the encoded IDs returned elsewhere in the API previously matched the wrong account under the hood. Both encoded and numeric IDs now work as expected, and invalid IDs return a clear error.
  • Reconnecting an account no longer creates duplicates: Reconnecting the same social account - even after its underlying platform identifier changed (a recreated page, a re-registered handle, etc.) - now updates the existing connected account instead of creating a duplicate with stale credentials. Reconnecting under a different tenant still creates a separate account, as intended.
  • Bluesky reconnect no longer fails on repeat connect: Connecting a Bluesky account you'd already connected previously returned a conflict error; it now succeeds and updates the existing connection.
  • Auth tokens are no longer exposed in API responses: Stored credentials (OAuth tokens, Bluesky session tokens, app passwords, and similar secrets) could previously appear in responses from fetching a single post, the MCP get_post tool, and the web accounts page. These fields are now stripped from every response by default; the existing opt-in includeTokens parameter on the accounts list endpoint is unaffected.
  • Automatic rich text in Bluesky posts: Links, mentions, and hashtags in Bluesky post text are now automatically detected and turned into proper rich-text links, including resolving mentions to the correct account.
  • More reliable Bluesky account connection: The connection flow now keeps your session alive for longer during setup and no longer clears your session on recoverable errors, so a retry doesn't force you to start over.
Read more2 min read
v2026.07.29

Safer post updates and clearer billing status

Today's release closes a set of silent-failure gaps in post updates and TikTok publishing, and makes API access rules match your billing status:

  • Partial updates no longer wipe your platform settings: Sending a partial update to PATCH /v1/posts/:id (or the update_post MCP tool) that only touches one field of a network's config, like TikTok's disableComment, used to silently erase every other field you'd set for that network, including things like privacy level and post mode. These updates now merge field-by-field within each network's config, so untouched settings are preserved.
  • Unrecognized config fields now trigger a warning: Typos or wrong casing in platform-specific config (like post_mode instead of postMode, or a tiktok field that doesn't exist) were previously stripped silently, sometimes causing a post to land as a draft instead of publishing. Both post creation and updates now warn on unrecognized keys anywhere inside a network's config block, with a suggestion when your key is a close match to a real one.
  • Clearer API errors when a subscription lapses: Requests to the API or MCP server from an organization without an active subscription now return a clear 402 Payment Required response with a link to your billing page, instead of continuing to work indefinitely or failing with confusing errors. Access resumes immediately once your subscription is active again.
  • Faster, more reliable TikTok post lookups: GET /v1/posts/:id now saves the resolved TikTok video ID the first time it's looked up, instead of re-resolving it on every request. Post URLs and future lookups are quicker as a result, with no change in behavior for you.
Read more2 min read
v2026.07.27

Edit posts after scheduling, and org-wide 2FA

Today's release lets you update scheduled posts instead of recreating them, gives organizations a way to require two-factor auth from every member, and publishes our pricing in a format agents can read directly

  • Update posts instead of deleting and recreating them: A new PATCH /v1/posts/:id endpoint (and matching update_post MCP tool) lets you change a scheduled post's content, media, platform-specific config, or publish time without losing the post id. Every field is optional and only what you send changes; platform config is merged per network, so updating TikTok settings leaves your YouTube settings untouched. Posts that have already published (fully or to any account) return a clear 409 instead of silently doing nothing.
  • Require two-factor authentication across your organization: Owners and admins can now turn on "Require two-factor authentication" from the team page, once every member already has it enabled. The switch names anyone still missing 2FA. Once enabled, no member can disable their 2FA and no invitation can be accepted without it, both enforced server-side.
  • See who has 2FA enabled on your team: The team page now shows a two-factor status column for every member, along with passkey counts for context.
  • Accepting an invite with 2FA required now works in one pass: Completing the inline two-factor setup on the invitation page now correctly reveals the Accept/Decline buttons right away, instead of requiring a manual page reload.
  • Banned users now see why: If your account has been banned, the login error now includes the reason your admin recorded, along with the expiry date if the ban is temporary.
  • Pricing is now readable by AI agents: The full pricing model, including billable-post definitions, tier costs, and the Unlimited Posting add-on, is now published as plain markdown at outstand.so/pricing.md for agents and LLM crawlers to read directly.
Read more2 min read
v2026.07.26

Two-Factor Auth, Passkeys, and More Reliable TikTok Publishing

This release adds account-level security features and fixes a class of TikTok publishing failures

  • Two-factor authentication and passkeys: A new Security settings page lets you enable TOTP-based two-factor authentication with backup codes, or register a passkey for passwordless sign-in, and see at a glance which sign-in methods are active on your account.
  • Sign in with a passkey: The sign-in page now offers a "Sign in with a passkey" option alongside password sign-in, and accounts with 2FA enabled are guided through a dedicated verification step.
  • Clearer messages for banned accounts: If your account has been banned, the sign-in error now shows the actual reason (and expiry date for temporary bans) instead of a generic message.
  • Fixed TikTok posts silently hitting the account cap: Video posts that didn't explicitly set a post mode were incorrectly going through TikTok's Direct Post flow, which is capped at 5 creators per day on our shared TikTok app. These now correctly land as drafts in the creator's TikTok inbox, avoiding the cap. Note that this changes default behavior: draft posts don't go live automatically, don't carry a caption for video, and won't have analytics until the creator publishes them from the TikTok app.
  • More actionable TikTok error messages: Publishing errors from TikTok (rate limits, spam checks, unverified accounts, and more) now come with clear guidance instead of a raw error code.
  • Fewer failed TikTok uploads: TikTok now pulls video and image media directly from your media library instead of requiring a separate file upload, and the maximum upload size has increased, reducing upload failures.
  • Bigger Bluesky image uploads: The maximum image size for Bluesky posts has increased from 1MB to 2MB, matching Bluesky's current limits.
  • Improved OAuth/OpenID compatibility: Added a JWKS endpoint and updated OAuth discovery metadata, fixing discovery errors for OAuth and MCP clients that follow the OpenID Connect Discovery spec.
Read more2 min read
v2026.07.25

TikTok drafts by default, and a login spinner fix

This release changes a default behavior for TikTok posting and fixes a bug that could leave you stuck on a loading screen after signing in:

  • TikTok posts default to drafts for review: If you don't explicitly set a post mode when posting to TikTok, your posts now land in the creator's inbox/drafts for review instead of publishing immediately. This matches TikTok's recommended flow for most integrations. If your integration depends on posts publishing immediately, set postMode explicitly in your request to keep that behavior.
  • Fixed a login issue that could cause an endless loading spinner: After signing in, some accounts could get stuck on an infinite spinner on Connected Accounts and other pages, especially after signing out and back in. Signing in now correctly refreshes your organization data, and if no organization is selected, you'll see a clear message instead of a page that never finishes loading.
Read more1 min read
v2026.07.23

Clearer Link Previews and Account Reconnect Alerts

Today's release polishes link previews and makes it easier to spot and fix expired social accounts:

  • Fixed link preview images: Shared links to our docs and website now show the correct preview image when posted in Slack, Twitter, or other apps that render link previews.
  • Correct organization selected on login: When you log in, you're automatically taken to the right organization instead of having to switch manually.
  • New banner for expired account connections: If one of your connected social accounts loses access, a banner now appears prompting you to reconnect it, so you can catch and fix expired connections before they cause missed posts.
Read more1 min read
v2026.07.21

Comment and Reply Controls for Instagram and Threads

This release gives you finer control over conversations on Instagram and Threads posts

  • Control who replies to your Threads posts: Set a reply control option when publishing to Threads so you can choose who is allowed to reply to each post.
  • Delete comments on Threads and Instagram: Remove unwanted comments directly through the API on both platforms.
  • Hide or unhide comments on Instagram and Threads: Toggle the visibility of comments without deleting them, giving you a lighter touch for moderating conversations.
  • Manage pending replies on Threads: Review pending replies on your Threads posts and approve or ignore them before they go live.
Read more1 min read
v2026.07.19

A Clearer Path to Priority Support

This release is about making it easier to find and choose the right level of support for your team:

  • Priority Support plans, laid out clearly: The support page now shows a full breakdown of Priority Support tiers, including what each tier includes, pricing, and billing details, so you can compare options and pick the plan that fits your team.
  • More ways to reach us: A dedicated section makes it simple to contact the team directly by email or Slack Connect, right from the support page.
  • A cleaner support page overall: The layout has been refined throughout for easier browsing and a better experience when you're looking for help.
Read more1 min read
v2026.07.18

Real Engagement Numbers for X and Pinterest

Account metrics get more useful today, with real engagement data now flowing for two more networks and a new badge you can show off on your own site:

  • X account engagement is no longer null: GET /v1/social-accounts/:id/metrics now returns real engagement totals (views, likes, comments, shares, quotes) for X accounts, calculated from the account's own posts in the requested date range. Previously this field always returned null since X's free tier doesn't expose engagement totals directly. Note that X bills this lookup against your own connected app at roughly $0.005 per post (up to ~$2.50 per call), and if X's rate limits or API tier block the request, engagement gracefully falls back to null with an explanatory note instead of failing the whole call.
  • Pinterest account engagement is no longer null: The same metrics endpoint now maps Pinterest's existing analytics data into the standard engagement object, giving you views, saves, pin clicks, and outbound clicks instead of an empty field. Full raw analytics remain available for anyone who needs the extra detail.
  • "Powered by Outstand" badge: A new embeddable badge is available for customer sites, with light and dark theme variants. Documentation now includes previews on different backgrounds along with ready-to-use HTML snippets.
Read more1 min read
v2026.07.17

Clearer Guidance on Comment Support by Network

Documentation now spells out exactly which networks support comments and replies so you can plan integrations accordingly:

  • TikTok comment limitations documented: The TikTok configuration guide now explains that posting and reading comments, replies, and first-comment containers isn't available for TikTok accounts, along with what is available instead, such as disabling comments at publish time and viewing comment count analytics.
  • Network support note for first comments: The first-comment guide now lists which networks don't support a comments API, including TikTok, Pinterest, and Google Business Profile, and clarifies that your root post still publishes successfully even if a first-comment reply targets one of these networks.
  • API reference reflects comment restrictions: The reply endpoint descriptions in the API reference now call out which networks are unsupported, so you can catch limitations while reading the docs instead of hitting an error at runtime.
Read more1 min read
v2026.07.16

Accessibility, PDFs, and Clearer Account Targeting

This release focuses on richer media support and better guidance for connecting the right accounts to your posts:

  • Alt text for media: Add alt text to images and other media attached to your posts, improving accessibility for your audience. Supported across platforms, including Bluesky.
  • PDF uploads to LinkedIn: You can now attach PDF documents to LinkedIn posts. They're automatically detected and rendered as native document posts.
  • More reliable Bluesky posting: Session handling for Bluesky accounts has been improved, reducing the chance of failed posts due to expired credentials.
  • Clearer errors on post creation: The API now warns you when a post request includes unrecognized fields, helping you catch mistakes before they cause issues.
  • Simplified account targeting: Target accounts using the new accounts field, which lets you reference connected accounts by network name or username instead of the old socialAccountIds field.
  • Billing cycle visibility: Organization details now include your billing cycle, so you can see when it renews at a glance.
  • Updated X posting requirements: Documentation now clarifies that, starting February 2026, new developers need an active access plan on the POST /2/tweets endpoint to post to X.
Read more1 min read
v2026.07.15

Post URLs for Every Network, Smarter API Key Access

This release brings post link visibility to every supported network and smooths out API key setup:

  • Post URLs now available for all networks: Every publish, analytics, and import response can now include a direct link to the published post, not just for Instagram. Facebook, LinkedIn, YouTube, Bluesky, X, Pinterest, Threads, TikTok, Google Business Profile, and Vimeo all now return a platformPostUrl so you can link straight to the live post without building the URL yourself.
  • More reliable X media uploads: Uploading media to X is now more robust, with better handling of different response formats so media IDs are picked up correctly and issues are easier to diagnose if an upload fails.
  • Smoother API key setup: API key creation now reflects your subscription status more accurately, with clearer loading states and button behavior so you're not left waiting or confused about whether you're able to create a key.
Read more1 min read
v2026.07.13

Reliable Pinterest Video, Reposting via MCP, and One-Click OAuth

Today's release fixes large Pinterest video uploads, adds a repost tool to the MCP server, and makes MCP sign-in easier:

  • Large Pinterest videos now upload reliably: Pinterest videos are streamed to Pinterest instead of being loaded into memory all at once, so large files (up to Pinterest's ~2 GB limit) no longer fail to upload. Upload failures are now also reported clearly instead of showing up later as a confusing timeout.
  • Repost or reshare posts from MCP clients: A new repost_post tool lets MCP clients reshare an already-published post to the networks it was posted to, with an optional quote/commentary on networks that support it (X, Bluesky, LinkedIn, Threads).
  • Sign in to MCP with one click: In addition to API keys, you can now connect to the MCP server with one-click OAuth sign-in from ChatGPT, Claude, Cursor, or any client that supports remote MCP connectors. API keys remain supported for CLI and headless setups.
  • Pinterest profile pictures now load correctly: Pinterest avatars, served from Pinterest's own CDN, now display properly on the accounts page instead of showing as broken images.
  • Clearer media requirements and rate limits per network: Each network's configuration guide now documents its media requirements (file size, formats, duration, dimensions, text limits) and publishing rate limits, cross-referenced against each platform's official documentation, so you can plan uploads and posting frequency with confidence.
Read more1 min read
v2026.07.12

Repost, Reel Covers, and a Redesigned Dashboard

This release adds a repost endpoint, custom Instagram Reel cover images, a billing fix for plan switches, and a full visual refresh of the web dashboard:

  • Repost existing posts: A new endpoint lets you reshare an already-published post across connected networks, with optional added commentary, so you can amplify content without recreating it from scratch.
  • Custom Instagram Reel cover images: You can now set a custom cover image and thumbnail offset when publishing Reels, so your Reels grid looks intentional instead of relying on an auto-picked frame.
  • No more double-billing on plan switch: Legacy subscribers who previously added the standalone Managed Keys add-on and then switch to the new plan (which bundles Managed Keys for free) are no longer charged for it twice.
  • Redesigned dashboard and account pages: The dashboard, sign-in and account screens, settings, billing, API keys, webhooks, and accounts pages all got a visual refresh for a cleaner, more consistent look.
  • Unlimited Posting add-on is easier to find: The Unlimited Posting add-on is now promoted directly in the web app so you can discover and enable it without digging through settings.
  • Faster docs updates: Documentation changes now go live noticeably faster.
  • Legible code samples in light mode: Code blocks and inline code chips on documentation pages now render with proper contrast in light mode instead of dark text on a dark background.
Read more1 min read
v2026.07.11

More Reliable Large Video Uploads

Here's what's new today:

  • Large video uploads to YouTube and LinkedIn now succeed reliably: Previously, large video files could fail to upload to YouTube or LinkedIn due to memory limits. Videos are now uploaded in small pieces instead of all at once, so even large files post successfully.
  • Copy improvements across the board: Various wording and messaging updates throughout the product for clarity.
  • No more duplicate charges when upgrading your plan: Customers who previously added the standalone Managed Keys addon and then migrated to a plan that includes it for free will no longer be billed for both the addon and the bundled feature.

ps: as you might have noticed, we have started following a new Changelog-reporting format, using dates.

Read more1 min read
v2026.07.10

Instagram Post URLs, Now Included Automatically

Here's what's new today:

  • Instagram post links in your API responses: Every Instagram post now includes a platformPostUrl field with the live permalink to the post, available when you fetch a single post, list posts, or receive the post.published webhook. If a permalink can't be fetched for any reason, publishing still succeeds and the field simply returns null.
  • Post links in analytics too: The analytics endpoint (and the corresponding MCP tool) now returns the Instagram permalink as platform_post_url alongside your other metrics.
  • Older Instagram posts get their links filled in automatically: If you fetch analytics for an Instagram post published before this feature existed, we now fetch and save its permalink on the fly so it shows up in that same response going forward, no action needed on your end.
  • Clearer error when importing personal LinkedIn accounts: Attempting to import posts for a personal LinkedIn account (rather than a company page) now fails immediately with a clear, human-readable error instead of silently failing later. Our docs also now note that this permission isn't currently available for personal accounts.
Read more1 min read
v2026.07.09

Bigger YouTube uploads, richer docs, more metrics

This release fixes a reliability issue with large YouTube uploads, expands available metrics, and adds substantial new documentation to help you build and reason about integrations

  • Large YouTube uploads now succeed: Videos that previously failed to upload due to an internal memory limit now stream reliably regardless of file size, so long or high-resolution videos published to YouTube no longer get stuck or error out.
  • Instagram Reels views metric: You can now fetch the views count for Instagram Reels as part of media insights, giving you a fuller picture of Reels performance alongside your other engagement metrics.
  • More reliable TikTok metrics: TikTok metrics fetching has been improved for better accuracy and reliability when pulling post performance data.
  • New "Building a Social Media Scheduler" guide: A step-by-step, copy-paste walkthrough for authenticating, scheduling posts, listing your queue, and interpreting per-account outcomes, with full TypeScript and Python examples, plus corrected request/response examples in the Quick Start.
  • New architecture explainer: A new "How It Works: Architecture" page walks through how posts flow from request to publish, including synchronous vs. asynchronous handling, partial-success behavior, rate limiting and retries, and what to expect for scheduling accuracy and performance under load.
  • New developer quickstart, platform list, and pricing guide: A one-page quickstart for connecting an account and creating your first post, a clear table of supported platforms, and worked cost examples at 1k, 10k, and 100k posts per month to help you estimate integration effort and spend.
  • Refreshed MCP and white-label pages: The MCP and white-label landing pages have been updated to our latest design.
Read more2 min read
v0.27.0

v0.27.0

TikTok and General Improvements and Fixes

Changelog

- Added TikTok Managed Keys

- Improved the Facebook Page health check returning accurate health status for Facebook Pages

- Added per-account publish results: multi-account publishes now return an individual success/failure result for each target account instead of a single combined status

Read more1 min read
v0.26.0

v0.26.0

LinkedIn and Facebook tagging

Changelog

- Added LinkedIn page mention validation: rejects posts where the mention text doesn't match the organization's exact registered name on LinkedIn (case-sensitive), preventing silent plain-text fallback

- Added Facebook mention validation: rejects posts where the anchor text is missing from comment containers, or where the target page ID is inaccessible

- Moved Facebook page tagging from the post body to comment containers — Meta's Graph API only supports @[pageId] mentions in comments, not feed posts

- facebook.mentions now requires at least one comment container (second containers entry) whose text contains the anchor; posting mentions without a comment container returns a clear error

Read more1 min read
v0.25.0

v0.25.0

We're adding Pinterest to the Outstand network lineup. You can now connect Pinterest accounts and publish to them through the same unified API you already use for every other platform.

Connect with zero setup - managed keys

Unlike networks that require you to bring your own OAuth credentials, Pinterest connections run on Outstand-managed keys. There's no Pinterest developer app to register, no client ID and secret to provision - your customers can authorize a Pinterest account and start publishing immediately.

Publish pins - images and video

Create pins through the unified posts API, with full Pinterest options:

  • Target a board - choose which board a pin lands on
  • Destination link, title, and alt text - set the pin's link, title, and accessibility text
  • Video pins - upload video natively. Pinterest doesn't accept a video URL as a source, so Outstand handles the whole flow for you: we download the media, request an upload slot from Pinterest, and upload it - you just pass the media and we take care of the rest.

Manage boards and profiles

New Pinterest-specific endpoints let you work with the account directly:

  • Get profile - read the connected Pinterest profile
  • List boards - fetch the account's boards
  • Create a board - create a new board to publish into

Get started

Connect a Pinterest account from your dashboard or via the API, then publish using the standard posts endpoint with Pinterest options. Full reference is in the Pinterest API docs.


Read more2 min read
v0.24.0

v0.24.0

Added custom scopes support

Just added support for custom scopes. That means you can easily use the scopes parameter in the authentication endpoint and customize the default list of scopes for its network that supports it.

Read more1 min read
v0.23.0

v0.23.0

Added the ability to invite and manage team members.

Added the ability to invite and manage team members.

Owners and admins of teams can now invite more team members. There is no limit in how many members a team can have.

Read more1 min read
v0.21.0

v0.21.0

LinkedIn articles improvements and profile pics refresh updates

Improvemenets:

  • Adjustable LinkedIn articles in feed. Content customization is now possible to the extent that LinkedIn API allows. More docs here: https://www.outstand.so/docs/create-a-post
  • We have started automatically refreshing profile picture URLs which had been expired. This runs automatically to all connected accounts without any further configuration required.
Read more1 min read
v0.20.0

v0.20.0

Pinterest OAuth connect flow and composer in Outstand web app

We've added Pinterest as a fully supported network in Outstand. You can now connect Pinterest business accounts to your organization, list and create boards, publish image pins with titles, descriptions, links, and alt text, and pull pin analytics.

What's new

  • OAuth connect flow - one-click Pinterest connection from the Settings → Accounts screen
  • Pinterest composer - a dedicated /compose/pinterest page that walks you through selecting an account, picking or creating a board, and publishing a pin with full Pinterest-specific fields: title, description, destination link, and alt text.
  • Board management - list a connected user's boards and create new ones (public) from inside the composer.
Read more1 min read
v0.19.0

v0.19.0

LinkedIn integration improvements and MCP server fixes

LinkedIn improvements:

  • personal accounts can now pull metrics using the latest LinkedIn APIs
  • fixed MCP integration with LinkedIn which resulted in some cases in wrong personal profiles URNs

MCP server fixes:

  • posts in some cases were stuck in "pending" mode. This issue has been resolved.
Read more1 min read
v0.18.0

v0.18.0

Introduced support for Instagram Stories

Introduced support for Instagram Stories

  • You can now publish Instagram Stories by configuring instagram: { publishAsStory: true }
Read more1 min read
v0.17.0

v0.17.0

Add accountId field to webhook payload and post publishing results

- Updated webhook payload structure to include accountId for social accounts.

Read more1 min read
v0.16.0

v0.16.0

Google My Business BYOK is out

Added:

  • Experimental support for BYOK Google-My-Business has been rolled out

Updated/Fixed:

  • Instagram connection failures
  • Documentation clarifications for 3-leg auth networks (LinkedIn and Facebook)
  • Billing screen improvements and bug fixes, which caused significant toil when managing a subscription
Read more1 min read
v0.15.0

v0.15.0

Bluesky is here, again!

Added (experimental) Bluesky support.


After a short period of Bluesky being unavailable in our platform, it's now back in rotation with a simpler API as well as web UI-first approach for connecting accounts!

Read more1 min read
v0.14.1

v0.14.1

Added support for personal LinkedIn profiles.

Fixed issues with media uploads on X (using the v2 endpoints).

Read more1 min read
v0.14.0

v0.14.0

TikTok is now part of our Managed Keys offering

TikTok is now available under our Managed Keys offering.

Read more1 min read
v0.13.0

v0.13.0

Introducing @outstand-so/ui package

Introducing @outstand-so/ui npm package, delivering extendable React UI components and directly integrating with the Outstand API.

Install with npm i @outstand-so/ui

UI Components included:

  • ConnectAccountButton & ConnectAccountButtonGroup
  • MediaUploader & MediaList
  • CreatePostForm
  • OAuthCallback
  • PostMetrics and PostsWithMetrics

Hooks:

  • useAccounts
  • usePosts
  • usePostMetrics
  • useMediaUpload
  • useOAuthFlow
  • useOutstandApi

https://www.npmjs.com/package/@outstand-so/ui

Read more1 min read
v0.12.0

v0.12.0

Facebook integration improvements

Improvements:

  • Facebook integration for business Pages.
  • CDN integration for media endpoints
Read more1 min read
v0.11.0

v0.11.0

Added media endpoints

Added:

  • Media endpoints: now you can add smaller or larger media files, host them and distribute them via our API. This is particularly useful for media-first social channels, eg. TikTok or Instagram.
  • Docs can be found here: https://www.outstand.so/docs/get-upload-url
Read more1 min read
v0.10.0

v0.10.0

Added support for tenant ids in Social Accounts

Added:

  • Support for tenant_id in the Social Accounts. Now you can attach a tenant id in the social accounts connected via the API and thereafter filter social accounts based on this id. This is a feature primarily interesting for white-labeling and BYOK customers.
Read more1 min read
v0.8.0

v0.8.0

Revamped Facebook integration

Updated:

  • Rolled out the revamped Facebook integration - now available for BYOK. Using Graph API v24.0 and officially supporting all functions for posts, metrics, statistics and engagement.
Read more1 min read
v0.6.0

v0.6.0

Added new API endpoint that allows customers to maintain their own branding during the end user authentication workflow

Today we have a big announcement which caters for all our customers, especially the ones that rely on white labeling solutions: we are introducing a crucial API endpoint which allows you to generate authentication URLs that you can safely share with your customers and maintain your own branding throughout the whole process.

The new API endpoint is documented here: https://www.outstand.so/docs/get-social-network-authentication-url

Read more1 min read
v0.5.0

v0.5.0

Introduced YouTube support, both for videos and shorts

Added

  • YouTube Integration: Full support for YouTube posts and Shorts publishing
    • OAuth authentication handling with minimal permissions required
    • Full video support with listing visibility, tags, categories and age level.
    • Shorts support
    • View docs for BYOK
Read more1 min read
v0.4.0

version 0.4.0

Instagram, X (Twitter), LinkedIn and LLMs.txt

Added

  • Instagram Integration: Full support for Instagram feed posts and Reels publishing
    • OAuth authentication with Meta
    • Media upload and post creation
    • Reels support with video uploads
    • View docs
  • LinkedIn Publishing: Complete LinkedIn integration with 3-leg OAuth
    • Post to profiles and organization pages
    • Supports text, link, and media posts
    • Organization selection during auth flow
    • View docs
  • Per-Network Post Configuration: Customize post content for each social network in a single API call
    • Network-specific settings via networkOverrideConfiguration
    • Type-safe configuration with platform-specific options
    • Automatically merges with base post content
  • ScheduleThreads Migration Tool: Import your social accounts from ScheduleThreads
    • One-click account migration
    • Contact us for migration assistance
  • Enterprise Tier: New enterprise plan for high-volume customers
    • 500,000 posts per month minimum
    • Custom pricing and dedicated support
    • Learn more
  • LLM-Accessible Docs: Documentation now optimized for AI assistants
    • /llms.txt endpoint for AI crawlers
    • Improved discoverability via Perplexity and ChatGPT

Changed

  • Threads: Added countries allowlist for better targeting
  • Improved documentation structure and navigation
  • Updated enterprise pricing to enforce 500k posts/month minimum
Read more1 min read
v0.3.0

version 0.3.0

X support and security improvements

Added

  • Social Networks Management API — Full CRUD operations for managing OAuth credentials (BYOK model). Connect, list, update, and delete social network configurations for 9 platforms
  • Account Usage API — Track social account limits, post usage, and billing period details. Real-time visibility into subscription utilization
  • Comments & Replies API — Publish comments on posts and fetch conversation threads. Unified engagement across all platforms
  • Post Analytics API — Retrieve metrics (likes, comments, shares, views, impressions, reach) with per-account and aggregated views
  • Post Management — Enhanced endpoints for listing, retrieving details, and cancelling scheduled posts
  • X OAuth 2.0 Migration — Migrated from OAuth 1.0a to OAuth 2.0 for improved security and reliability
  • Comprehensive Documentation — Added configuration guides for all 9 social platforms with step-by-step OAuth setup instructions

Changed

  • API Security — All social network credentials now encrypted at rest with industry-standard encryption.
  • Post ID Format — Switched from numeric IDs to encoded string IDs for better security and usability

Fixed

  • Improved error handling for post scheduling failures
  • Enhanced validation schemas for better developer experience
  • Fixed duplicate post ID handling in analytics queries

Documentation

  • Added platform-specific configuration guides for Threads, Bluesky, Facebook, Instagram, LinkedIn, Pinterest, TikTok, YouTube
  • Enhanced X/Twitter configuration documentation for OAuth 2.0
  • Improved API documentation with examples and use cases
  • Added code generation support for TypeScript and Swift
Read more1 min read
v0.2.0

Version 0.2.0

Cancel scheduled posts, reporting changes

Added & updated:

  • Added support for importing social accounts from ScheduleThreads
  • Switched usage reporting from daily to hourly schedule
  • Add the ability to cancel scheduled posts
  • Integrate Oauth2.0 of X API
Read more1 min read
v0.1.0

Version 0.1.0

Initial public release

Initial public release - v0.1.0


Added

  • Support for X (Twitter) post publishing via the API
  • Support for Threads post publishing via the API
  • Organization-based API keys
  • Documentation for Posts and Social Accounts
  • Web UI for social accounts management
  • BYOK (Bring Your Own Keys) support in web UI settings
Read more1 min read