Cybercyber.gc.ca

ScoredOct 28, 2026, 08:47 PM

Your API design surface is strong — schema and types are well-structured, giving partners and their agents a solid contract to build against. However, the program has critical gaps in two areas that directly block partner adoption: partners and agents cannot discover your APIs without a sales conversation (no machine-readable discovery file, no self-service portal, no code samples), and once they do find your APIs, errors and descriptions are neither machine-readable nor consistent enough for agents to act on reliably.

API DesignA clean, typed, well-governed API contract agents can reason about3 pass1 warn0 fail99A+
SignalPointsFindingsRationale
passAuth declared & discoverablevia mcp25/25The MCP server at https://api.contrastcyber.com/mcp/ accepts unauthenticated requests, so an agent knows it needs no credentials. Investigated: mcp 100%.Agents can only call an API when they can determine its auth posture — a declared scheme, or an explicit statement that none is required.
warnSchema coverage & depthvia sdk24.4/2521/21 (100%) public params are fully typed (no any/**kwargs). Analyzer confirms all methods have a derivable input schema. Investigated: sdk 98%.Typed, complete request/response schemas are what make agent function-calling possible.
passSecurity & governance hygienevia sdk15/15Code is formatter-clean with zero linter errors and zero style warnings. Investigated: sdk 100%, wellknown 0%.No leaked secrets, no critical lint violations, no OWASP API Top-10 spec smells, and a published vulnerability-disclosure channel.
passExample coveragevia sdk10/10README is present and includes a runnable quickstart. Investigated: sdk 100%, docs 0%.Examples carry shape semantics schemas under-specify — for humans and agents alike.
naMachine-readable, versioned contract—/25No surface produced evidence for this capability in this run.A current OpenAPI version with a declared versioning scheme lets agents reason about the contract.
Developer ExperienceThe context both developers and agents need to integrate fast — onboarding, code samples, complete descriptions and worked examples0 pass2 warn2 fail45F
SignalPointsFindingsRationale
warnQuickstart presentvia docs12.5/25Quickstart page is reachable at https://www.cyber.gc.ca/en/tools-services/sms/quickstart (1 variants scanned) but has no runnable code sample in its HTML or .md variant, so there's nothing to copy and run. Investigated: docs 50%.
Fix: Add a copy-pasteable curl or SDK call, with the expected response, to the quickstart page (or its .md variant).
A quickstart is the fastest path from landing page to first successful call.
warnDescription completenessvia sdk5/1512/18 operations lack a description. Investigated: sdk 33%.
Fix: Add descriptions to operations so agents can route to the right tool by reading them.
Complete descriptions are the context humans and agents need to use endpoints.
failSelf-service developer portalvia docs0/29No self-service signup detected — no signup link on the homepage or docs, and no conventional signup path (/signup, /sign-up, /register, /get-started, /console/signup, /dashboard/signup, /try, /try-free, /free, /free-trial, /start, /start-free, /join, /create-account, /account/signup, /auth/signup, /users/sign_up) resolved — so an agent can't onboard on its own. Investigated: docs 0%.
Fix: Publish a public signup endpoint and link it from your homepage/docs to compress time-to-first-call.
A first call without a human in the loop — self-serve credentials, a free tier, or an API that needs none.
failCode samples in docsvia docs0/18No code samples detected across 1 sampled docs pages, so a coding agent gets no ready-to-use examples. Investigated: docs 0%.
Fix: Add copy-pasteable code samples to API reference and quickstart pages.
Multi-language samples shorten time-to-first-call.
naChangelog published—/13No surface produced evidence for this capability in this run.A published changelog lets partners track changes without surprise.
Agent DiscoveryPartners and their agents can find your APIs — llms.txt, registries, crawlable and reachable docs2 pass1 warn1 fail71B
SignalPointsFindingsRationale
passDocs reachable, not hard auth-gatedvia docs30/30All 1 pages are publicly accessible. Investigated: docs 100%.Agents can only index and fetch docs they can reach — past auth gates and over correct HTTP semantics.
passRegistry & SDK presencevia docs28/28Indexed on Context7 (llmstxt/cyberar_io_llms-full_txt, 0 snippets). Investigated: docs 100%, wellknown 100%, sdk 58%, cli 0%, mcp 0%.Listing in MCP registries and publishing SDKs puts the API where agents and their tooling look.
warnCrawlable / AEOvia wellknown6/12No sitemap found via robots.txt or /sitemap.xml on the docs host, so AI search engines have no crawl map for your docs. Investigated: wellknown 50%.
Fix: Publish an XML sitemap and reference it from robots.txt.
Bots allowed plus a fresh sitemap make docs findable by agent crawlers.
failllms.txt present, valid & comprehensivevia docs0/30No llms.txt found at any candidate location (https://www.cyber.gc.ca/en/tools-services/llms.txt, https://www.cyber.gc.ca/llms.txt, https://www.cyber.gc.ca/docs/llms.txt). Investigated: docs 0%, sdk 0%.A valid, comprehensive llms.txt is the machine-readable entry point for agents.
Agent UnderstandingAgents can correctly interpret your APIs — machine-readable errors, consistent descriptions, structured data, parseable docs1 pass3 warn2 fail57D
SignalPointsFindingsRationale
passAgent-navigable, token-efficient docsvia docs22/22All 1 pages contain server-rendered content. Investigated: docs 100%.Server-rendered, clean, small-footprint docs are what an agent can cheaply fetch and parse correctly.
warnOperation purpose clarityvia sdk12.5/25Read/write classification is mostly ambiguous: only 0/18 operations classified. Investigated: sdk 50%.
Fix: Use standard verbs (get/list/create/update/delete) and clear mutation semantics so agents can tell reads from writes.
Agents select the right endpoint from its summary + operationId; clear, named operations make tool-selection reliable — the strongest driver of correct tool choice.
warnAgent instructions file (AGENTS.md)via sdk5/10No agents.md or skill.md context file found (nice-to-have for agent operation). Investigated: sdk 50%, wellknown 0%.
Fix: Add an agents.md or skill.md describing how an agent should use this SDK (auth setup, key operations, gotchas).
An AGENTS.md gives coding agents explicit setup, auth, and usage instructions to interpret and operate the API — beyond llms.txt's link index.
warnDocs structured datavia docs4/8Only OpenGraph/meta tags across 1 assessed pages — no JSON-LD for AI answer engines to cite. Investigated: docs 50%.
Fix: Emit JSON-LD with Article/TechArticle @type and dateModified in the rendered docs head.
Structured data (JSON-LD/schema.org) on docs pages gives agents an unambiguous parse target and is what answer engines cite. Detected on the JS-rendered head (Firecrawl) for a bounded page budget, so JS-injected JSON-LD is now caught; pages we can't render are excluded rather than failed.
failMachine-readable errors (RFC 9457)via sdk0/28No single common SDK base error class was found; errors do not share one root. Investigated: sdk 0%.
Fix: Introduce a single base error class that every SDK error subclasses, so consumers can catch the whole SDK with one type.
RFC 9457 problem details and a documented error-code inventory let agents parse failures without burning tokens.
failDescription consistency across surfaces0/7Mean pairwise description similarity across 2 surfaces (docs, sdk) is 0% (threshold 35% for full credit).
Fix: Align the API description across spec, docs, and SDK so an agent reading any one surface gets the same story.
Every surface tells the same story about what the product is.
Agent UsabilityAgents have the context to use your APIs reliably, not just find them2 pass1 warn0 fail85A
SignalPointsFindingsRationale
passIdempotency documentedvia sdk27/27Built-in retry machinery is present (grep-derived). Investigated: sdk 100%.Documented idempotency lets agents retry safely.
warnSandbox separationvia sdk10/20No test-mode flag or sandbox environment is exposed. Investigated: sdk 50%.
Fix: Expose a test-mode flag or sandbox environment so agents can exercise the SDK safely.
An isolated environment lets agents exercise destructive operations safely.
passRunnable collection with test scriptsvia sdk9/9README is present and includes a runnable quickstart. Investigated: sdk 100%, platform 0%.A public, maintained collection with assertions is runnable truth agents validate against.
naRate-limit signaling—/22No surface produced evidence for this capability in this run.Machine-readable rate-limit headers let agents throttle adaptively.
naPagination documented & consistent—/22No surface produced evidence for this capability in this run.Consistent, documented pagination lets agents traverse collections.
Resources Discovered

The public resources we found for Cyber — the evidence behind the score. All discovered from public sources; nothing here requires access to your systems.

Agent hintsContext7 (0)
Want to improve your results?