yeetpostyeetpost

Changelog

Analytics, key management over HTTP, an MCP login, team members

One day of what shipped in yeetpost.

#90 #91 #92 #93 #94 #95 #96 #97 #98

Analytics, key management over HTTP, an MCP login and team members.

New

  • API: Once a post is out, yeetpost reads its numbers back off the platform and keeps every read.
  • API: The first read is an hour after the post goes out, then hourly for 48 hours, then daily until the post is 30 days old.
  • API: GET /posts/{postId}/metrics gives you the latest read and the whole history.
  • API: GET /analytics?from&to gives totals, a per-day series and a per-platform split.
  • API: A post.metrics webhook fires once a post per day while the numbers are still moving.
  • MCP: get_post carries metrics.latest too.
  • API: What each platform reports differs, and the API says so rather than guessing.
  • API: A number a platform does not report is null, never 0.
  • API: Bluesky and Mastodon report likes, reposts and replies.
  • LinkedIn: LinkedIn reports reactions and comments from any account.
  • LinkedIn: LinkedIn reports impressions and clicks only for a company page, the only surface it answers statistics for.
  • API: Discord, Telegram, Slack, SMS and email report nothing back at all.
  • X: X reads are metered at 1 cent a read on the same monthly X spend cap as the post fees, because X charges for reads.
  • X: The 1 cent X read price is a placeholder.
  • X: X analytics is off by default, so X posts are not read unless the deployment turns it on.
  • API: Everything else in analytics works today and is free.
  • API: POST /profiles/{profileId}/keys mints a key scoped to that profile and answers the secret once.
  • API: GET /profiles/{profileId}/keys and GET /keys list keys by prefix.
  • API: DELETE /profiles/{profileId}/keys/{keyId} and DELETE /keys/{keyId} revoke a key.
  • API: Only an unscoped key may use the key management endpoints.
  • API: A test key mints and manages test keys only.
  • API: A key minted through the API is always scoped to the profile in the path.
  • API: The cap is 50 live plus 50 test keys per profile.
  • API: Revoking a key takes effect on the next request across REST, MCP and connect URLs.
  • MCP: Add https://api.yeetpost.com/api/v2/mcp as a custom connector in claude.ai with no key.
  • MCP: The client discovers the authorization server and registers itself, and then opens a consent screen where you sign in.
  • MCP: On the consent screen you pick your whole account or one profile, pick live or test, and approve.
  • MCP: yeetpost runs the OAuth 2.1 server behind the login, with RFC 9728 and RFC 8414 discovery and RFC 7591 registration.
  • MCP: The OAuth server requires PKCE and uses rotating refresh tokens with reuse detection.
  • MCP: A grant is scoped and paced exactly like a key.
  • MCP: The apps you approved are listed on the MCP screen in the console.
  • MCP: Revoking an app on the MCP screen kills its tokens at their next request.
  • MCP: Clients that can hold a key keep using a key, and REST stays key-only.
  • Console: An account can now be shared by several people: invite by email, and each member is an owner, an admin or a member.
  • Console: Owners do everything including billing and deleting the account.
  • Console: Admins do everything except billing and deleting the account.
  • Console: Members post, read and manage connections and profiles but cannot touch keys, members or billing.
  • Console: A user can belong to several accounts and switch between them in the sidebar.
  • Billing: Team members do not change billing: every account has one owner and one bill.
  • Console: Posts have grid, list and calendar views, with the list as the default and 30 rows at a time.
  • Queue: A Queues screen draws a week of every connection's slots with the queued posts on them.
  • Console: CSV import parses the file in your browser and shows every row before anything is sent.
  • Console: An Analytics screen draws the numbers with a 7, 30 or 90 day window.
  • Console: A dark mode toggle in the sidebar follows your system until you pick.

Improvements

  • API: The docs are regenerated from the OpenAPI spec: 38 endpoints, including the five key management endpoints.
  • API: The regenerated docs also cover the two analytics endpoints and the post.metrics webhook event.
  • SDKs: Still unpublished: the CLI in [email protected] is not on npm.
  • SDKs: Still unpublished: the Node, Python and Go SDKs are not on npm, PyPI or reachable by go get.
  • API: The API, the MCP server and the console are the ways in today.

All changes