# xAgent ID > Customer-controlled installation and evidence for SEO, AEO, GEO and AGO. ## Start here 1. Installation contract: `/.well-known/xagent-install.json?url=https://example.com`. 2. A2A interfaces and skills: `/.well-known/agent-card.json`. 3. Credentials and stop conditions: `/auth.md`. 4. Canonical installation workflow: `/skill.md`. 5. Quickstart: `/agent-quickstart.md`. The install manifest is the source of truth for package version, npm integrity, target host, requested grants, bounded files, workflow commands and rollback. Do not reconstruct install commands from this page or from marketing copy. ## What the service does xAgent ID connects a customer-owned website Agent to measurement and recommendations: - audit public SEO, AEO, GEO and AGO readiness; - collect observed crawler reads, fixed-question citations and conversion events; - return evidence-backed improvement work to the website Agent; - verify bounded changes with a customer receipt and an independent public refetch; - retain rollback evidence and keep missing data separate from zero results; - expose A2A, MCP and OpenAPI contracts for implemented operations. ## Authority boundary - Default access is public read only. - Domain ownership must be verified before private website actions. - Site Agent credentials remain in a customer-controlled server, worker, CMS connector or repository Agent. - xAgent ID does not request general source repository or deployment access. - A bounded write requires explicit owner approval, an allowlisted AI-related path and a rollback method. - Installation does not guarantee ranking, citation, recommendation, conversion or revenue lift. - Synthetic and sample outcomes are not reportable evidence. ## Canonical public contracts - Installation manifest: `/.well-known/xagent-install.json` - A2A Agent Card: `/.well-known/agent-card.json` - Release manifest: `/.well-known/agent-id-release.json` - Release receipt: `/.well-known/agent-id-release-receipt.json` - Public identity: `/.well-known/agent-id.json` - OAuth metadata: `/.well-known/oauth-authorization-server` - OpenAPI: `/agent/openapi.json` - MCP manifest: `/agent/mcp.json` - Machine pricing: `/agent/pricing.json` - Human dashboard: `/dashboard` ## Installation sequence 1. Fetch the target-bound install manifest. 2. Run the production preflight with no side effect. 3. Produce a dry-run plan in the actual website project root. 4. Show the owner the exact files, grants and rollback action. 5. Apply only after explicit owner approval. 6. Publish and verify the domain proof. 7. Activate read-only managed inspection if requested. 8. Use a one-time Dashboard pairing link for human review. Stop when the release is not ready, the target host does not match, domain ownership is unverified, owner approval is missing or public refetch does not match the submitted receipt. ## Evidence channels - A1: observed AI crawler requests from customer-authorized CDN or server logs. - A2: observed answers from a fixed prompt set, with pending and failed rows kept separate. - B1: observed leads, RFQs, orders, CRM events or disclosed attribution surveys. A1 does not prove citation. A2 does not prove conversion. B1 attribution does not prove incrementality. Reports preserve those boundaries. ## Agent calls - Public audit: `POST /api/agent/audit` - A2A audit task: `POST /a2a/v1/message:send` with `A2A-Version: 1.0` - Gemini Enterprise compatibility: `POST /a2a/v0.3/v1/message:send` with `A2A-Version: 0.3` - Private website actions: `POST /api/site_agents/call` with a verified-domain Site Agent Key - Read installation guide: `GET /api/site_agents/install_guide?url=https://example.com` - Read capabilities: `GET /api/agent/capabilities` Do not navigate to POST endpoints with a browser GET request. Use the Agent Card, OpenAPI or installation guide to construct the request. ## Operational workflow registry - Route before modules: `POST /api/agent/workflow_router` (`w1_workflow_router`). Choose the route before running modules. - Review a package: `POST /api/agent/package_review` (`s2_package_review`) for Agent marketplace review. - Validate a skill package: `POST /api/agent/skill_package_validate` (`s1_skill_package_validation`); `validation_does_not_execute_package_code`. - Prepare marketplace evidence: `POST /api/agent/marketplace_submission` (`marketplace_submission_pack`); result is `not_marketplace_approved` until external approval exists. - Read readiness: `GET /api/agent/marketplace_readiness` (`marketplace_readiness_score`). - Record approvals: `POST /api/agent/marketplace_approval_receipts` (`marketplace_approval_receipts`); `approved_only_for_listed_platforms`. - Read billing guidance: `GET /api/agent/billing_guide` (`agent_billing_guide`); `checkout_intent_is_not_payment_confirmation`. Customer SDK helpers and evidence boundaries: - `createSiteAgentClient().contentWorkflow` returns `content_workflow_package` for content diagnosis, answer-first rewrite and review. - `createSiteAgentClient().contentPublication` returns `content_publication_package`. - `createSiteAgentClient().promptTestCycle` follows `prompt_test_run_sheet -> prompt_test_results`. - `createSiteAgentClient().contentPack` prepares bounded content evidence. - `createSiteAgentClient().aiReads` returns `a1_ai_reads` from observed server/CDN logs. - `createSiteAgentClient().a1ReadPackage` returns `a1_read_evidence_package`. - `createSiteAgentClient().conversions` returns `b1_conversions`; this is not incrementality proof. - `createSiteAgentClient().b1ConversionPackage` returns `b1_conversion_evidence_package`. - `createSiteAgentClient().outcomeReport` returns `outcome_report`. - `createSiteAgentClient().outcomePackage` returns `m1_outcome_evidence_package`. - `createSiteAgentClient().outcomeReview` reviews the same evidence boundary. - `createSiteAgentClient().optimizationCycle` returns `optimization_cycle`. - `createSiteAgentClient().jobDrafts` returns `job_drafts`. - `createSiteAgentClient().acceptJobDraft` performs `accept_job_draft` only after explicit approval. - `createSiteAgentClient().decideJobDraft` performs `decide_job_draft`. - `createSiteAgentClient().draftDecisions` returns `draft_decisions`; do not start implementation work from an undecided draft and the service does not accept drafts automatically. - `createSiteAgentClient().monthlyEvidenceLoop` requires: Required request field: url. Optional request fields: audit_url, questions, competitors, engines, content, content_pack, period. Response fields: ok, action, pack, review, review_gate, repair_pack when blocked or advisory, repair_job_drafts when blocked or advisory, package, tracker, scorecard, dashboard, delivery_summary, steps. The base sequence is `content_pack -> content_workflow_review -> monthly_package -> monthly_tracker -> monthly_scorecard -> monthly_dashboard`. It may return `content_repair_pack`, `repair_job_drafts`, `delivery_summary.decision_queue` and `review_gate repair_items`; it does not accept or start jobs automatically and is not an AI citation claim. ## Google identity boundary The `agt_*` identifier is an xAgent ID portable alias and portable website Agent alias. It is not Google Agent Identity or a Google principal. Google Agent Identity is provisioned by Google for supported Agent Runtime or Gemini Enterprise resources under the enterprise's authority. xAgent ID can prepare and verify a binding candidate, but does not issue Google Agent Identity. Read `/api/agent/google_identity_bridge` for the no-side-effect onboarding plan. A verified Google binding requires authenticated server-side Google API evidence and an issuer-signed receipt. Domain proof, Agent Card metadata or operator-submitted JSON alone is insufficient. ## Human and legal routes - Product home: `/` - Dashboard: `/dashboard` - Privacy: `/privacy` - Terms: `/terms` - Contact: `/contact`