> ## Documentation Index
> Fetch the complete documentation index at: https://docs.xquik.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Changelog

> Latest API updates, new endpoints, and breaking changes for xQuik.

<blockquote className="agent-llms-directive">
  For the complete documentation index, see <a href="/llms.txt">llms.txt</a>.
</blockquote>

<Update label="July 2026" description="v1">
  **New**

  * Accountless guest wallets prepay 33 GET routes through a scoped `paid_reads` key
  * `POST /guest-wallets`, `GET /guest-wallets/status`, and `POST /guest-wallets/topups` support confirmed Stripe Payment Links without an account
  * Active guest keys expose the same 33-route read-only catalog through API MCP

  **Changed**

  * Direct MPP now covers 7 fixed-price `charge` operations; result-sized reads use guest or full account credits
  * Follow checks and article reads cost USD 0.00075 per direct MPP call
  * Every response after an accepted MPP payment includes `Payment-Receipt`, including non-2xx responses
  * The 26 non-MPP anonymous paid reads return `401` with `WWW-Authenticate: Bearer` and a guest wallet action
  * The 7 direct MPP reads return `402` with `WWW-Authenticate: Payment` and the same guest action

  **Removed**

  * Obsolete public `proxy_country` and `loginCountry` account fields. Custom, dedicated, and fixed per-account proxy configuration is not supported.
</Update>

<Update label="April 2026" description="v1">
  **New**

  * `POST /x/tweets` - added `media` field (1-4 image URLs); `text` is now optional when media is present
  * `POST /x/accounts/{id}/reauth` - added `email` and `proxy_country` parameters
  * `POST /x/media` - now accepts `image/webp` and `image/avif` (allowed: AVIF, GIF, JPEG, PNG, WebP, MP4)
  * `POST /x/accounts` and `POST /x/accounts/{id}/reauth` responses now include a `health` field (enum: `healthy`, `locked`, `needsReauth`, `recovering`, `suspended`, `temporaryIssue`); same field added to `GET /x/accounts` list and detail responses
  * `POST /x/accounts` and `POST /x/accounts/{id}/reauth` may include an optional `loginCountry` field (ISO-3166-1 alpha-2) when the login session country differs from the selected `proxy_country`
  * New error code `login_cooldown` (429) for `POST /x/accounts` and `POST /x/accounts/{id}/reauth`, with `reason` and `retryAfterMs` in the body and a `Retry-After` header
  * All 17 write endpoints (under `/x/tweets`, `/x/users`, `/x/dm`, `/x/profile`, `/x/media`, `/x/communities`) now document standardised error responses: `403 account_needs_reauth`, `403 account_restricted`, `422 write_rejected`, `429 rate_limited_by_x`, `503 transient_error`
  * `GET /radar` items now expose 15 metadata fields per source (was 8): `mrr`, `growthPercent`, `last30Days`, `total` (required), `customers`, `activeSubscriptions`, `onSale`, plus optionals `askingPrice`, `country`, `growthMrrPercent`, `multiple`, `paymentProvider`, `rank`, `category`, `xHandle`
  * Expanded Machine Payments Protocol (MPP) pay-per-use to 31 endpoints (tweets, communities, lists, user data)
  * New framework guides: LangChain, Pydantic AI, CrewAI, Mastra, Google ADK, Microsoft Agent Framework

  **Changed**

  * Billing migrated to credits-only model (usage-quota removed)
  * `GET /account` response: `creditInfo` replaces `currentPeriod`
  * `POST /extractions/estimate` response: `creditsRequired` / `creditsAvailable` replace `usagePercent` / `projectedPercent`
  * Real-time WebSocket monitor sync retired in favour of an async poller. No public API contract change; underlying delivery model changed.
  * `POST /x/tweets/{id}/like` and `POST /x/tweets/{id}/retweet` are now end-to-end idempotent. Calling either on an already-acted-on tweet returns 200 success rather than the prior silent rejection that produced a 500 plus an account cooldown.

  **Removed**

  * Event types `follower.gained` and `follower.lost` are no longer emitted. Valid event types: `tweet.new`, `tweet.quote`, `tweet.reply`, `tweet.retweet` (plus `webhook.test`).
  * Error code `shadow_account` (422) removed from `POST /monitors` (shadow-check subsystem deleted)
  * Error code `stream_registration_failed` (502) removed from `POST /monitors` (monitor activation is now asynchronous)
  * Telegram bot endpoints and integrations pipeline endpoints removed
</Update>

<Update label="March 2026" description="v1">
  **New**

  * MPP expanded from 16 to 31 eligible endpoints
  * Webhook delivery signing now uses HMAC-SHA256 with `X-Xquik-Signature` header

  **Changed**

  * OAuth 2.1 discovery metadata now served from `/.well-known/oauth-authorization-server`
  * Rate limit responses include `Retry-After` header
</Update>
