# Oura: agent door 28, human door not measured
- Site: ouraring.com
- Scanned: 2026-09-08
- Scan type: Basic scan
- Business type: hybrid
- Report: https://www.seconddoor.io/r/ouraring-n24fmu
- Scanner version: 12
A wearable and software company with no published API, no machine-readable pricing, and no agent checkout path.
## Scores
| Measure | Score |
| --- | --- |
| Humans | not measured |
| Agents | 28/100 |
| Composite | 28/100 |
Agent door only. The human door could not be measured on this scan. A Door Gap needs both doors, so this scan does not report one.
## What the machine actually did
The agent got through 8 of 18 requests, but could not read the site's own guide for language models. It came up empty on 9 other checks too. That is enough missing for a machine to give up before it reaches a purchase.
- ok      reach the site at all
- ok      find out whether machines are welcome
- ok      ask whether the door opens for requests carrying the AI crawlers' names
- missing read the site's own guide for language models
- ok      find out what pages exist
- missing find a contact route for machines
- missing find a published agent interface
- missing find an agent plugin manifest
- missing find out whether verified agents are recognised
- ok      read the homepage as data rather than as a page
- missing find a machine readable API spec
- missing read the developer documentation
- ok      read the prices without running JavaScript
- missing read the product catalogue as data
- ok      read a product page as data
- missing read the returns and shipping terms
- missing find a comparison page worth citing
- ok      walk the way a visitor would, to a signup form or a product
## Top issues
1. **No comparison or alternatives page exists, which is the page an assistant cites when a buyer asks it to shortlist vendors.** (machine_discoverability)
2. **No developer documentation is linked from the homepage, in raw HTML or the rendered page, so integration starts with a search engine.** (programmatic_onboarding)
3. **No OpenAPI specification was found at the 6 standard paths checked, so a client must be written from prose instead of generated.** (programmatic_onboarding)
The evidence and the recommended fix for each are on the report page: https://www.seconddoor.io/r/ouraring-n24fmu
## Files generated from this scan
- **A pricing page that states a price** at `/pricing.md`, 1 hour, no developer needed. Verify: The next scan reads at least one price in the raw HTML of the pricing page.
- **robots.txt rules for AI crawlers** at `/robots.txt`, 10 minutes, no developer needed. Verify: The next scan reads robots.txt and finds every search and agent crawler allowed, none of them kept off product or pricing paths.
- **Returns and refunds page** at `/returns`, 30 minutes, no developer needed. Verify: The next scan reads the returns policy page as text without JavaScript and finds it linked from a product page.
- **Shipping and delivery page** at `/shipping`, 30 minutes, no developer needed. Verify: The next scan reads the shipping policy page as text without JavaScript and finds it linked from a product page.
- **A comparison page brief** at `/compare/oura-vs-competitor`, 3 hours, no developer needed. Verify: The next scan finds a comparison page listed in the sitemap or linked from the homepage, and reads its text without JavaScript.
- **Agent checkout: where you stand** at `notes`, 10 minutes, no developer needed. Verify: The next scan finds a UCP manifest, a storefront MCP endpoint or another discovery file answering, and the checkout check passes.
- **Machine interfaces: where you stand** at `notes`, 10 minutes, no developer needed. Verify: The next scan finds the interface you published answering at its well-known path, and that check passes.
- **Organization structured data** at `homepage`, 15 minutes, developer. Verify: The next scan reads Organization and WebSite nodes in the homepage JSON-LD and the structured data check passes.
- **security.txt** at `/.well-known/security.txt`, 10 minutes, no developer needed. Verify: The next scan fetches /.well-known/security.txt as text and the security.txt check passes.
- **llms.txt** at `/llms.txt`, 15 minutes, no developer needed. Verify: The next scan fetches /llms.txt as text and the llms.txt check passes.
Each file is written from what this scan found on the site. The content is in the JSON once the evidence is opened: https://www.seconddoor.io/api/reports/ouraring-n24fmu
## The agent door
- **machine_discoverability** 77/100. AI crawlers are not blocked by robots.txt or user agent rules, and a real browser is served the page normally. The sitemap lists 80 URLs and the homepage publishes one JSON-LD Organization block.
- **programmatic_onboarding** 10/100. The developer documentation at /developer contains 24,654 characters of text but no API credentials, endpoints, code samples, authentication documentation, or self-serve key issuance. An agent cannot programmatically access the service.
- **pricing_legibility** 20/100. The pricing page at /oura-preferred-pricing says 'starting at' once but provides no figure after it. No prices appear in the raw HTML or after rendering.
- **agent_aware_instrumentation** 8/100. No MCP manifest.
- **machine_fetchable_trust** 40/100. No security.txt file is published at /.well-known/security.txt. The homepage responds normally to automated requests and publishes an Organization schema, but provides no security contact, vulnerability disclosure policy, or trust signals.
- **commercial_rails** 10/100. No UCP manifest, commerce platform detection, payment processor signals, or agent checkout path is published. The homepage contains 26 prices in raw HTML but no cart, checkout link, or machine-readable commerce endpoint.
## The human door
- **steps_to_first_value** null/100. Could not verify: this scan did not reach the pages that would show it.
- **required_fields** null/100. Could not verify: this scan did not reach the pages that would show it.
- **verification_walls** null/100. Could not verify: this scan did not reach the pages that would show it.
- **error_recovery** null/100. Could not verify: this scan did not reach the pages that would show it.
---
Scored by SecondDoor. Method: https://www.seconddoor.io/methodology
Scan another site: https://www.seconddoor.io
Rate an issue or this report: POST https://www.seconddoor.io/api/feedback, or the rate_fix tool on https://www.seconddoor.io/api/mcp
