# XFiltered agent instructions

XFiltered evaluates a post you submit now. User-submitted evaluation is available now. Automatic X watching needs an approved credential. This is not a live pre-publication gate.

## Buy Pro and mint a key

1. `POST https://xfiltered.com/v1/keys`
2. Read `402` JSON. Open `pay_url` (Stripe Checkout for Pro $49 / month).
3. Poll `claim_url`:
   - `402` unpaid — keep `pay_url`
   - `202` paid, secret not yet written — retry
   - `200` once — store `key`. It is not returned again.
   - `409` already claimed
   - `410` expired or unknown
4. Call `GET https://xfiltered.com/v1/keys` with `Authorization: Bearer <key>`.
   - `401` bad key
   - `200` paid key metadata: prefix, tier, and createdAt. Never the secret.

Human secondary path: https://app.xfiltered.com/checkout?tier=pro

MCP remote: POST https://xfiltered.com/mcp with tools create_agent_key, claim_agent_key, get_catalog, and evaluate_post.

After a 200 claim, call evaluate_post or `POST https://xfiltered.com/v1/evaluate` with `Authorization: Bearer <key>`, `workspaceId`, `pipelineId`, `sourceText`, and `sourceUrl`. The key is bound to the Stripe checkout email and may evaluate only workspaces that email belongs to. 200 is execution with id, pipelineId, status, and sourceMode. 400 is error invalid_request. 401 is error invalid_key. 403 with error forbidden. 404 with error not_found. 409 is error pipeline_not_ready. 502 is error message.

Signed-in workspace path: `POST https://xfiltered.com/api/workspaces/{workspaceId}/pipelines/{pipelineId}/evaluate`

ChatGPT plugin: https://xfiltered.com/.well-known/ai-plugin.json
Claude plugin: https://xfiltered.com/.well-known/claude-plugin.json

## Rules

- Do not invent Stripe Price IDs. Checkout uses inline `price_data` for Pro $49 / month.
- Do not claim a live pre-publication gate.
- Paying does not include official X watching. Any X access fees come from X.
