---
title: "Check agent evidence (alias)"
method: POST
path: "/api/check"
tags: ["Checks"]
---

# Check agent evidence (alias)

`POST /api/check`

## Request

- Base URL: `https://agenticcom.ai`
- URL: `https://agenticcom.ai/api/check`
- Auth: none declared

Backward-compatible alias for `POST /api/v1/check`.

No authentication required. Rate limited to 5 requests/minute/IP (D1-backed, shared across isolates).
Agent assistants should preserve `utm_source`, `utm_campaign`, and `product`
query parameters when calling this endpoint so merchant handoffs can be measured.

## Query parameters

- `utm_source` string
- `utm_campaign` string
- `product` string

## Request body

- CheckRequest
  - `url` string, required: Store URL to check.

## Response `200`

Check completed successfully.

- CheckResponse
  - `url` string, required
  - `agent_ready` boolean, required: Stable legacy protocol-evidence flag. It does not mean an AI tool found or recommended a product.
  - `fully_covered` boolean, required: Stable legacy protocol-evidence flag. It does not establish AI-engine coverage.
  - `protocols` ProtocolStatus, required
    - `ucp` ProtocolCheck, required
      - `detected` boolean
      - `endpoint` string
      - `version` string
      - `error` string
    - `acp` ProtocolCheck, required
      - `detected` boolean
      - `endpoint` string
      - `version` string
      - `error` string
    - `mcp` ProtocolCheck, required
      - `detected` boolean
      - `endpoint` string
      - `version` string
      - `error` string
    - `webmcp` WebMCPCheck
      - `detected` boolean
  - `store` StoreStatus, required
    - `platform` string
    - `platform_confidence` number
    - `product_count` integer
    - `psp` string
    - `detectable` boolean
    - `vertical` StoreVertical
      - `primary` string
      - `secondary` string
      - `confidence` number
      - `signals` string[]
  - `coverage` CoverageStatus, required
    - `google_ecosystem` boolean: Deprecated compatibility name that mirrors UCP endpoint detection only; not evidence of Google placement or behavior.
    - `openai_ecosystem` boolean: Deprecated compatibility name that mirrors ACP endpoint detection only; not evidence of OpenAI placement or behavior.
  - `web_signals` WebSignals, required
    - `json_ld_found` boolean
    - `json_ld_types` string[]
    - `sitemap_found` boolean
    - `robots_txt_found` boolean
    - `og_tags_found` boolean
    - `webmcp_html_found` boolean
    - `webmcp_html_tools` integer
    - `webmcp_html_tool_names` string[]
    - `webmcp_html_checkout_tools` boolean
    - `webmcp_html_param_desc` boolean
    - `webmcp_html_param_desc_count` integer
    - `webmcp_html_total_fields` integer
    - `webmcp_html_auto_submit` boolean
    - `webmcp_html_auto_submit_count` integer
    - `webmcp_html_avg_desc_len` number
    - `webmcp_html_categories` string[]
    - `markdown_for_agents` boolean
    - `agents_md` boolean
    - `product_count` integer
  - `verdict` 'AGENT-READY' | 'PARTIALLY AGENT-READY' | 'NOT AGENT-READY', required: Colter's stable public-evidence label, not an AI-engine outcome.
  - `interpretation` PublicEvidenceInterpretation, required
    - `basis` 'legacy_protocol_presence', required
    - `limitation` string, required: Explicit boundary for deprecated compatibility labels.
    - `compatibility_fields` string[], required
  - `recommendation` string, required
  - `next_step` NextStep
    - `kind` 'cli'
    - `command` 'colter'
    - `args` string[]
    - `reason` string
  - `plain_language` PlainLanguage, required
    - `merchant` string
    - `agency` string
    - `developer` string
  - `checked_at` string, date-time, required
  - `result_id` string, uuid
  - `google_ucp` GoogleUCPAssessment
    - `generic_ucp_readiness` string
    - `google_ucp_relevance` string
    - `google_native_readiness_state` string
    - `runtime_validation_required` boolean
    - `summary_counts` GoogleUCPSummaryCounts
      - `verified_now` integer
      - `merchant_review_needed` integer
      - `runtime_test_required` integer
      - `fixable_now` integer
      - `not_supported_yet` integer
    - `findings` object
      - `verified_now` GoogleUCPFinding[]
        - `id` string
        - `title` string
        - `importance` string
        - `bucket` string
        - `verification_status` string
        - `status` string
        - `rationale` string
        - `recommended_next_step` string
        - `route_to_product` string
        - `fixable_now` boolean
      - `merchant_review_needed` GoogleUCPFinding[]
        - `id` string
        - `title` string
        - `importance` string
        - `bucket` string
        - `verification_status` string
        - `status` string
        - `rationale` string
        - `recommended_next_step` string
        - `route_to_product` string
        - `fixable_now` boolean
      - `runtime_test_required` GoogleUCPFinding[]
        - `id` string
        - `title` string
        - `importance` string
        - `bucket` string
        - `verification_status` string
        - `status` string
        - `rationale` string
        - `recommended_next_step` string
        - `route_to_product` string
        - `fixable_now` boolean
      - `fixable_now` GoogleUCPFinding[]
        - `id` string
        - `title` string
        - `importance` string
        - `bucket` string
        - `verification_status` string
        - `status` string
        - `rationale` string
        - `recommended_next_step` string
        - `route_to_product` string
        - `fixable_now` boolean
      - `not_supported_yet` GoogleUCPFinding[]
        - `id` string
        - `title` string
        - `importance` string
        - `bucket` string
        - `verification_status` string
        - `status` string
        - `rationale` string
        - `recommended_next_step` string
        - `route_to_product` string
        - `fixable_now` boolean
  - `site_type` string
  - `agentic_level` number
  - `agentic_level_label` string
  - `scores` ScoreBreakdown
    - `discovery` DimensionScore
      - `name` string
      - `score` integer
      - `grade` string
      - `details` string[]
      - `fixes` ScoreFix[]
        - `key` string
        - `description` string
        - `impact` string
        - `score_improvement` integer
        - `tier` string
      - `commentary` string[]
      - `platform_provided` string[]
    - `transaction` DimensionScore
      - `name` string
      - `score` integer
      - `grade` string
      - `details` string[]
      - `fixes` ScoreFix[]
        - `key` string
        - `description` string
        - `impact` string
        - `score_improvement` integer
        - `tier` string
      - `commentary` string[]
      - `platform_provided` string[]
    - `security` DimensionScore
      - `name` string
      - `score` integer
      - `grade` string
      - `details` string[]
      - `fixes` ScoreFix[]
        - `key` string
        - `description` string
        - `impact` string
        - `score_improvement` integer
        - `tier` string
      - `commentary` string[]
      - `platform_provided` string[]
    - `ecosystem` DimensionScore
      - `name` string
      - `score` integer
      - `grade` string
      - `details` string[]
      - `fixes` ScoreFix[]
        - `key` string
        - `description` string
        - `impact` string
        - `score_improvement` integer
        - `tier` string
      - `commentary` string[]
      - `platform_provided` string[]
    - `content_quality` DimensionScore
      - `name` string
      - `score` integer
      - `grade` string
      - `details` string[]
      - `fixes` ScoreFix[]
        - `key` string
        - `description` string
        - `impact` string
        - `score_improvement` integer
        - `tier` string
      - `commentary` string[]
      - `platform_provided` string[]
  - `composite_score` number: Legacy aggregate public-evidence score, not a placement or recommendation probability.
  - `grade` string
  - `content_hashes` object
  - `cdn_propagation_suspected` boolean
  - `previous_check_at` string, date-time
  - `previous_check_minutes_ago` integer
  - `evidence_summary` EvidenceSummary
    - `verified` integer
    - `inferred` integer
    - `runtime_test_required` integer
    - `gaps` integer
    - `top_verified` string[]
    - `top_runtime_required` string[]
    - `note` string
  - `catalog_readiness` CatalogReadiness
    - `status` 'strong' | 'partial' | 'limited'
    - `summary` string
    - `items` CatalogReadinessItem[]
      - `key` string
      - `label` string
      - `status` 'verified' | 'inferred' | 'runtime_test_required' | 'gap' | 'not_checked'
      - `evidence` string
      - `next_step` string
  - `agent_handoff` AgentHandoff
    - `summary` string
    - `risk` string
    - `next_actions` string[]
    - `fix_url` string, uri: Compatibility field containing an attributed Recommendation Audit URL.
    - `lens_url` string, uri: Compatibility field containing an attributed Shopify monitoring-plans URL.
    - `report_url` string, uri: Attributed human-readable result report URL. Use verbatim.
    - `attribution` object
      - `utm_source` string
      - `utm_campaign` string
      - `product` string
      - `check_id` string, uuid
      - `result_id` string, uuid
      - `score` number
  - `usage` CheckUsage
    - `checks_remaining` integer: Remaining checks in the current period; -1 means unmetered.
    - `plan` string
    - `period` string

## Other responses

- `400`: Invalid JSON body or missing `url` field.
- `422`: URL validation failed.
- `429`: Rate limit exceeded.

---

[API](https://skmtc.dev/agenticcom/apis/colter-public-api.md) · [All operations](https://skmtc.dev/agenticcom/apis/colter-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/agenticcom/apis/colter-public-api/revisions/c86a6b9228f0?raw)
