{
  "data": {
    "a": {
      "slug": "1uphealth",
      "name": "1upHealth",
      "vendor": "1upHealth, Inc.",
      "vendorUrl": "https://1up.health",
      "kind": "http-api",
      "category": "health-data",
      "summary": "1upHealth runs FHIR APIs for US health plans, including the CMS Patient Access, Provider Access and Payer-to-Payer APIs, which let member-authorised third-party apps read claims, coverage and clinical data.",
      "url": "https://www.anchorterminal.com/tools/1uphealth",
      "markdownUrl": "https://www.anchorterminal.com/tools/1uphealth.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/1uphealth.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/1uphealth.json",
      "license": "Proprietary service under 1upHealth's Terms of Service (effective 1 August 2024)",
      "transports": [
        "http"
      ],
      "packages": [],
      "auth": "oauth",
      "authNotes": "Developers register in the 1up Dev Portal, verify an email and create sandbox client credentials. Patient Access uses the authorisation code grant, with the member signing in to the health plan's auth app, and access tokens last 15 minutes. Provider Access and Payer-to-Payer use client credentials with scopes such as `bulk-data|user/*.rs`. Client secrets can be regenerated in the Dev Portal. Production access follows 1upHealth's vetting of the app.",
      "pricing": "paid",
      "pricingNotes": "No public prices. The terms set fees in Order Forms, with one price increase a year on 90 days' notice. The Dev Portal sandbox clients need only a verified email, and no card was mentioned (checked 2026-10-14).",
      "priceSummary": "Paid",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs, llms.txt or the terms (checked 2026-10-14).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-14"
      },
      "docsUrl": "https://docs.1up.health",
      "llmsTxt": "https://docs.1up.health/llms.txt",
      "capabilities": [
        "health.records",
        "health.fhir",
        "health.consent"
      ],
      "tags": [
        "hosted",
        "health-records",
        "claims",
        "fhir",
        "bulk-data",
        "oauth",
        "llms-txt",
        "status-page",
        "sla",
        "free-tier",
        "hitrust",
        "soc2"
      ],
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 46.8,
        "grade": "D",
        "agentReady": false,
        "rank": 903,
        "ranked": true,
        "rankOf": 1076,
        "categoryRank": 12,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 32,
          "maintenance": 37,
          "payments": 20,
          "reliability": 52,
          "schema": 50,
          "security": 63,
          "transparency": 72
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-14"
        },
        "negative": 0,
        "verdict": "Self-serve Dev Portal sandbox clients and a demo health plan let an app test the CMS Patient Access, Provider Access and Payer-to-Payer FHIR APIs, backed by HITRUST and SOC 2 Type 2. No rate limits, error formats or dated releases are documented, and the Patient Access OAuth step needs the member in a browser.",
        "bestFor": "Consumer and care apps that read a member's health plan claims and clinical data under the CMS rules, and payers meeting those rules.",
        "strengths": [
          "Sandbox client credentials from the Dev Portal with only an email verification",
          "Patient Access client IDs work across every payer production environment 1upHealth runs, once vetted",
          "Privacy policy with stated retention periods and US-only processing",
          "HITRUST, SOC 2 Type 2 and CSA STAR on a public trust centre"
        ],
        "weaknesses": [
          "No rate limits, 429 handling or error formats documented",
          "Release notes are undated",
          "The status page lists no components",
          "Patient Connect, the patient-mediated exchange across health systems, was sunset on 30 September 2026"
        ],
        "agentNotes": [
          "Hand the Patient Access sign-in to the member, who must authorise in the health plan's auth app",
          "Exchange the authorisation code within five minutes, and refresh before the 15-minute token expires",
          "Email payer-patient-access@1up.health with the client ID to get the app synced to the demo environment",
          "Expect only claims and coverage resources from some payers, and read /r4/metadata first"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 46.8
          }
        ],
        "editorialScores": {
          "ergonomics": 32,
          "maintenance": 37,
          "payments": 20,
          "reliability": 52,
          "schema": 50,
          "security": 63,
          "transparency": 61
        },
        "provenanceScore": 82
      },
      "connect": {
        "http": "GET https://api.1uphealthdemo.com/r4/ExplanationOfBenefit\nAuthorization: Bearer \u003caccess-token\u003e"
      },
      "letme": {
        "capability": "https://letme.dev/health.records",
        "tool": "https://letme.dev/1uphealth"
      },
      "area": "domain-data",
      "provenance": {
        "legalEntity": "1upHealth, Inc.",
        "domain": "1up.health",
        "domainRegistered": "2017-07-20",
        "endpointOnVendorDomain": true,
        "terms": "https://1up.health/terms-of-service/",
        "privacy": "https://1up.health/privacy-policy/",
        "statusPage": "https://status.1up.health",
        "changelog": "https://docs.1up.health/docs/release-notes",
        "securityTxt": "none",
        "checked": "2026-10-14",
        "notes": [
          "The Terms of Service (effective 1 August 2024) name 1upHealth, Inc., 280 Summer Street, Boston, MA 02210, and include the SLA as Exhibit A.",
          "The privacy policy (last updated 25 June 2026) covers the website, keeps logs up to 24 months, clears production data within 30 days and backups within 90 days of a deletion request, keeps data in the US, and leaves PHI to customer BAAs.",
          "The demo API answers on 1uphealthdemo.com, a separate domain.",
          "1up.health/.well-known/security.txt returns 404. The trust centre sends vulnerability reports to security@1up.health.",
          "Release notes carry version numbers such as 26.09.2 but no dates.",
          "RDAP gives 1up.health a registration date of 2017-07-20."
        ],
        "score": 82
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/1uphealth.json",
      "live": {
        "slug": "1uphealth",
        "vendorStatus": {
          "page": "https://status.1up.health",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-14T09:38:50.511902685Z"
        },
        "updatedAt": "2026-10-14T09:38:50.511902685Z"
      }
    },
    "answer": "ROOK scores 54.9 (C) on agent readiness against 1upHealth's 46.8 (D), and leads in 5 of 7 scored categories. 1upHealth leads on security \u0026 auth and transparency \u0026 trust.",
    "b": {
      "slug": "rook",
      "name": "ROOK",
      "vendor": "Rookeries Development Corp.",
      "vendorUrl": "https://www.tryrook.io",
      "kind": "http-api",
      "category": "health-data",
      "summary": "ROOK Connect, from Rookeries Development Corp., collects health data from wearables and phone health stores, normalises it into sleep, physical and body summaries and events, and sends it by webhook or a REST API.",
      "url": "https://www.anchorterminal.com/tools/rook",
      "markdownUrl": "https://www.anchorterminal.com/tools/rook.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/rook.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/rook.json",
      "repo": "https://github.com/RookeriesDevelopment",
      "license": "Proprietary service under ROOK's Terms and Conditions for ROOK services",
      "transports": [
        "http"
      ],
      "packages": [
        {
          "registry": "npm",
          "name": "react-native-rook-sdk"
        },
        {
          "registry": "npm",
          "name": "capacitor-rook-sdk"
        }
      ],
      "auth": "api-key",
      "authNotes": "A person registers an organisation in the ROOK Portal, which enables a Sandbox project, then generates a client UUID and secret key. The secret is shown once. Calls use HTTP Basic auth with the UUID as username and the secret as password. Production needs new credentials, an active plan and signed agreements. No scopes or key rotation were found. End users authorise each data source through ROOK's authoriser pages, the mobile SDKs or the ROOK App.",
      "pricing": "paid",
      "pricingNotes": "Core $399 a month for up to 750 active users, Core+ $999 for 5,000, Business $1,999 for 15,000, Enterprise custom. Add-ons cost $79 to $499 a month. A Sandbox is available before buying a plan. The standard term is 12 months with 30 days' notice to cancel (checked 2026-10-14).",
      "priceSummary": "$399 / mo",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs, the OpenAPI file or the pricing page (checked 2026-10-14).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-14"
      },
      "docsUrl": "https://docs.tryrook.io",
      "llmsTxt": "https://docs.tryrook.io/llms.txt",
      "openapi": "https://docs.tryrook.io/redocusaurus/plugin-redoc-0.yaml",
      "capabilities": [
        "health.wearables",
        "health.consent",
        "health.fhir"
      ],
      "tags": [
        "hosted",
        "wearables",
        "health-data",
        "api-key",
        "openapi",
        "llms-txt",
        "sandbox",
        "webhooks",
        "status-page",
        "hipaa"
      ],
      "lastRelease": "2026-10-07",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 54.9,
        "grade": "C",
        "agentReady": false,
        "rank": 718,
        "ranked": true,
        "rankOf": 1076,
        "categoryRank": 8,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 49,
          "maintenance": 73,
          "payments": 25,
          "reliability": 75,
          "schema": 74,
          "security": 32,
          "transparency": 55
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-14"
        },
        "negative": 0,
        "verdict": "Graded on the REST API. A public OpenAPI file, a free Sandbox from the self-serve portal, published plan prices and a dated changelog. Credentials are one client UUID and secret per environment with no scopes, 429 handling isn't documented, the API is meant for occasional queries rather than bulk reads, and no SOC 2 report or security contact was found.",
        "bestFor": "A wellness, insurance, corporate wellness or remote monitoring product that wants normalised wearable data pushed to its backend, with plan prices it can see up front.",
        "strengths": [
          "OpenAPI 3.0.3 file with 29 operations and production and sandbox servers, linked from the API reference",
          "A self-serve portal enables a Sandbox on registration, and the pricing FAQ says it can be tested before buying a plan",
          "Plan prices are public, from $399 a month for 750 active users, with add-on prices listed",
          "Data webhooks carry an X-ROOK-HASH HMAC header and are retried on a published schedule",
          "Dated changelog with five entries between 25 August and 7 October 2026, and SDK LTS releases with a six-month support period"
        ],
        "weaknesses": [
          "Credentials are one client UUID and secret per environment, sent by Basic auth, with no scopes or rotation documented",
          "Typical limits of 60 requests a minute and 10,000 a day vary by plan, and no 429 or Retry-After behaviour is documented",
          "No server-side SDK. The official SDKs are mobile libraries for iOS, Android, Flutter, React Native and Capacitor",
          "The services terms cite an SLA page that isn't linked or published, and no SOC 2 or ISO 27001 report was found",
          "A WAF blocks requests without a User-Agent header and parameters containing localhost or SQL-like text"
        ],
        "agentNotes": [
          "Send HTTP Basic auth with client_uuid as the username and the secret key as the password, plus a User-Agent header, or the WAF returns 403",
          "Use https://api.rook-connect.review for Sandbox and https://api.rook-connect.com for production. Each has its own credentials",
          "Read health data from the data webhook. Use the API only for occasional queries, and stay under 60 requests a minute",
          "Deduplicate summaries on document_version and datetime. ROOK resends a summary with a higher document_version when it changes",
          "Call POST /api/v1/user_id/{user_id}/data_sources/revoke_auth to end a connection. Some providers take hours to stop sending data"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 54.9
          }
        ],
        "editorialScores": {
          "ergonomics": 49,
          "maintenance": 73,
          "payments": 25,
          "reliability": 75,
          "schema": 74,
          "security": 32,
          "transparency": 52
        },
        "provenanceScore": 58
      },
      "connect": {
        "http": "curl https://api.rook-connect.review/api/v1/client/users/status \\\n  -u \u003cclient_uuid\u003e:\u003csecret_key\u003e \\\n  -H 'User-Agent: MyApp/1.0.0'"
      },
      "letme": {
        "capability": "https://letme.dev/health.wearables",
        "tool": "https://letme.dev/rook"
      },
      "area": "domain-data",
      "unitPrices": [
        {
          "item": "Core plan, up to 750 active users",
          "unit": "month",
          "usd": 399,
          "note": "tryrook.io/pricing, 2026-10-14"
        },
        {
          "item": "Business plan, up to 15,000 active users, all add-ons",
          "unit": "month",
          "usd": 1999,
          "note": "tryrook.io/pricing, 2026-10-14"
        }
      ],
      "provenance": {
        "legalEntity": "Rookeries Development Corp.",
        "domain": "tryrook.io",
        "domainRegistered": "",
        "endpointOnVendorDomain": false,
        "terms": "https://www.tryrook.io/terms-rook-connect/",
        "privacy": "https://www.tryrook.io/privacy-policy/",
        "statusPage": "https://rook.statuspage.io",
        "changelog": "https://rook.canny.io/changelog",
        "securityTxt": "none",
        "checked": "2026-10-14",
        "notes": [
          "The Terms and Conditions for ROOK services (last updated August 2026) and the website terms (4 June 2026) name Rookeries Development Corp., 224 NE 59th St, Miami, FL 33137.",
          "The website terms forbid robots, spiders and page scraping to acquire, copy or monitor any part of the site. robots.txt on www.tryrook.io and docs.tryrook.io allows all paths, and we read public pages only.",
          "The API answers at api.rook-connect.com and api.rook-connect.review, which are not on tryrook.io.",
          "rookmotion.com, the domain in the founder's list, did not load (expired certificate). The current site is www.tryrook.io.",
          "www.tryrook.io/.well-known/security.txt returns 404."
        ],
        "score": 58
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/rook.json",
      "live": {
        "slug": "rook",
        "vendorStatus": {
          "page": "https://rook.statuspage.io",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-14T09:39:39.74478552Z"
        },
        "updatedAt": "2026-10-14T09:39:39.74478552Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "1upHealth, Inc.",
        "b": "Rookeries Development Corp.",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Paid",
        "b": "Paid",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under 1upHealth's Terms of Service (effective 1 August 2024)",
        "b": "Proprietary service under ROOK's Terms and Conditions for ROOK services",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "none",
        "b": "2026-10-07",
        "name": "Last release"
      },
      {
        "a": "no date given",
        "b": "2026-08-01",
        "name": "Terms last updated"
      },
      {
        "a": "2026-06-25",
        "b": "2026-05-28",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      }
    ],
    "faq": [
      {
        "answer": "ROOK scores 54.9 (C) on agent readiness against 1upHealth's 46.8 (D), and leads in 5 of 7 scored categories. 1upHealth leads on security \u0026 auth and transparency \u0026 trust.",
        "question": "Which is better for AI agents, 1upHealth or ROOK?"
      },
      {
        "answer": "1upHealth uses an OAuth sign-in. ROOK needs an API key.",
        "question": "Do 1upHealth and ROOK need an API key?"
      },
      {
        "answer": "No hosted endpoint is listed for 1upHealth. No hosted endpoint is listed for ROOK.",
        "question": "Can an agent call 1upHealth and ROOK without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Security \u0026 auth, 63 against 32",
          "Transparency \u0026 trust, 72 against 55"
        ],
        "also": null,
        "goodFor": "Consumer and care apps that read a member's health plan claims and clinical data under the CMS rules, and payers meeting those rules.",
        "slug": "1uphealth",
        "watchFor": "No rate limits, 429 handling or error formats documented"
      },
      {
        "aheadOn": [
          "Reliability, 75 against 52",
          "Schema \u0026 documentation, 74 against 50",
          "Agent ergonomics, 49 against 32",
          "Payments \u0026 pricing, 25 against 20",
          "Maintenance \u0026 community, 73 against 37"
        ],
        "also": null,
        "goodFor": "A wellness, insurance, corporate wellness or remote monitoring product that wants normalised wearable data pushed to its backend, with plan prices it can see up front.",
        "slug": "rook",
        "watchFor": "Credentials are one client UUID and secret per environment, sent by Basic auth, with no scopes or rotation documented"
      }
    ],
    "job": {
      "capability": "health.fhir",
      "name": "FHIR servers"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/1uphealth-vs-terra.json",
        "title": "1upHealth vs Terra API",
        "url": "https://www.anchorterminal.com/compare/1uphealth-vs-terra"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aidbox-vs-rook.json",
        "title": "Aidbox vs ROOK",
        "url": "https://www.anchorterminal.com/compare/aidbox-vs-rook"
      },
      {
        "json": "https://www.anchorterminal.com/compare/health-gorilla-vs-rook.json",
        "title": "Health Gorilla vs ROOK",
        "url": "https://www.anchorterminal.com/compare/health-gorilla-vs-rook"
      },
      {
        "json": "https://www.anchorterminal.com/compare/medplum-vs-rook.json",
        "title": "Medplum vs ROOK",
        "url": "https://www.anchorterminal.com/compare/medplum-vs-rook"
      },
      {
        "json": "https://www.anchorterminal.com/compare/metriport-vs-rook.json",
        "title": "Metriport Medical API vs ROOK",
        "url": "https://www.anchorterminal.com/compare/metriport-vs-rook"
      },
      {
        "json": "https://www.anchorterminal.com/compare/particle-health-vs-rook.json",
        "title": "Particle Health vs ROOK",
        "url": "https://www.anchorterminal.com/compare/particle-health-vs-rook"
      },
      {
        "json": "https://www.anchorterminal.com/compare/redox-vs-rook.json",
        "title": "Redox vs ROOK",
        "url": "https://www.anchorterminal.com/compare/redox-vs-rook"
      },
      {
        "json": "https://www.anchorterminal.com/compare/1uphealth-vs-aidbox.json",
        "title": "1upHealth vs Aidbox",
        "url": "https://www.anchorterminal.com/compare/1uphealth-vs-aidbox"
      },
      {
        "json": "https://www.anchorterminal.com/compare/1uphealth-vs-health-gorilla.json",
        "title": "1upHealth vs Health Gorilla",
        "url": "https://www.anchorterminal.com/compare/1uphealth-vs-health-gorilla"
      },
      {
        "json": "https://www.anchorterminal.com/compare/1uphealth-vs-medblocks.json",
        "title": "1upHealth vs Medblocks",
        "url": "https://www.anchorterminal.com/compare/1uphealth-vs-medblocks"
      },
      {
        "json": "https://www.anchorterminal.com/compare/1uphealth-vs-medplum.json",
        "title": "1upHealth vs Medplum",
        "url": "https://www.anchorterminal.com/compare/1uphealth-vs-medplum"
      },
      {
        "json": "https://www.anchorterminal.com/compare/1uphealth-vs-metriport.json",
        "title": "1upHealth vs Metriport Medical API",
        "url": "https://www.anchorterminal.com/compare/1uphealth-vs-metriport"
      },
      {
        "json": "https://www.anchorterminal.com/compare/1uphealth-vs-particle-health.json",
        "title": "1upHealth vs Particle Health",
        "url": "https://www.anchorterminal.com/compare/1uphealth-vs-particle-health"
      },
      {
        "json": "https://www.anchorterminal.com/compare/1uphealth-vs-redox.json",
        "title": "1upHealth vs Redox",
        "url": "https://www.anchorterminal.com/compare/1uphealth-vs-redox"
      },
      {
        "json": "https://www.anchorterminal.com/compare/1uphealth-vs-zus-health.json",
        "title": "1upHealth vs Zus Health",
        "url": "https://www.anchorterminal.com/compare/1uphealth-vs-zus-health"
      },
      {
        "json": "https://www.anchorterminal.com/compare/1uphealth-vs-validic.json",
        "title": "1upHealth vs Validic Inform",
        "url": "https://www.anchorterminal.com/compare/1uphealth-vs-validic"
      },
      {
        "json": "https://www.anchorterminal.com/compare/medblocks-vs-rook.json",
        "title": "Medblocks vs ROOK",
        "url": "https://www.anchorterminal.com/compare/medblocks-vs-rook"
      },
      {
        "json": "https://www.anchorterminal.com/compare/rook-vs-zus-health.json",
        "title": "ROOK vs Zus Health",
        "url": "https://www.anchorterminal.com/compare/rook-vs-zus-health"
      },
      {
        "json": "https://www.anchorterminal.com/compare/rook-vs-terra.json",
        "title": "ROOK vs Terra API",
        "url": "https://www.anchorterminal.com/compare/rook-vs-terra"
      },
      {
        "json": "https://www.anchorterminal.com/compare/rook-vs-validic.json",
        "title": "ROOK vs Validic Inform",
        "url": "https://www.anchorterminal.com/compare/rook-vs-validic"
      }
    ],
    "scores": [
      {
        "1uphealth": 52,
        "by": 23,
        "edge": "rook",
        "key": "reliability",
        "name": "Reliability",
        "rook": 75,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "1uphealth": 50,
        "by": 24,
        "edge": "rook",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "rook": 74,
        "weight": 13
      },
      {
        "1uphealth": 32,
        "by": 17,
        "edge": "rook",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "rook": 49,
        "weight": 13
      },
      {
        "1uphealth": 63,
        "by": 31,
        "edge": "1uphealth",
        "key": "security",
        "name": "Security \u0026 auth",
        "rook": 32,
        "weight": 14
      },
      {
        "1uphealth": 20,
        "by": 5,
        "edge": "rook",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "rook": 25,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "1uphealth": 37,
        "by": 36,
        "edge": "rook",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "rook": 73,
        "weight": 7
      },
      {
        "1uphealth": 72,
        "by": 17,
        "edge": "1uphealth",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "rook": 55,
        "weight": 7
      }
    ],
    "summary": "ROOK scores 54.9 (C) on agent readiness against 1upHealth's 46.8 (D), and leads in 5 of 7 scored categories. 1upHealth leads on security \u0026 auth and transparency \u0026 trust. Both do fhir servers.",
    "verdicts": {
      "1uphealth": "Self-serve Dev Portal sandbox clients and a demo health plan let an app test the CMS Patient Access, Provider Access and Payer-to-Payer FHIR APIs, backed by HITRUST and SOC 2 Type 2. No rate limits, error formats or dated releases are documented, and the Patient Access OAuth step needs the member in a browser.",
      "rook": "Graded on the REST API. A public OpenAPI file, a free Sandbox from the self-serve portal, published plan prices and a dated changelog. Credentials are one client UUID and secret per environment with no scopes, 429 handling isn't documented, the API is meant for occasional queries rather than bulk reads, and no SOC 2 report or security contact was found."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/1uphealth-vs-rook",
    "json": "https://www.anchorterminal.com/compare/1uphealth-vs-rook.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/1uphealth-vs-rook.md",
    "slim": "https://www.anchorterminal.com/compare/1uphealth-vs-rook.min.md"
  },
  "markdown": "ROOK scores 54.9 (C) on agent readiness against 1upHealth's 46.8 (D), and leads in 5 of 7 scored categories. 1upHealth leads on security \u0026 auth and transparency \u0026 trust. Both do fhir servers.\n\n- 1upHealth: grade D, 46.8/100, rank #903 of 1076. Markdown https://www.anchorterminal.com/tools/1uphealth.md · JSON https://www.anchorterminal.com/api/v1/tools/1uphealth.json\n- ROOK: grade C, 54.9/100, rank #718 of 1076. Markdown https://www.anchorterminal.com/tools/rook.md · JSON https://www.anchorterminal.com/api/v1/tools/rook.json\n- Best health record and wellness data APIs for AI agents: https://www.anchorterminal.com/best/health-data/index.md\n- All 63 health comparisons: https://www.anchorterminal.com/compare/health-data/index.md\n\n## Which one, for what\n\n### 1upHealth (D)\n\nGood for: Consumer and care apps that read a member's health plan claims and clinical data under the CMS rules, and payers meeting those rules.\n\nAhead on:\n- Security \u0026 auth, 63 against 32\n- Transparency \u0026 trust, 72 against 55\n\nWatch for: No rate limits, 429 handling or error formats documented\n\n### ROOK (C)\n\nGood for: A wellness, insurance, corporate wellness or remote monitoring product that wants normalised wearable data pushed to its backend, with plan prices it can see up front.\n\nAhead on:\n- Reliability, 75 against 52\n- Schema \u0026 documentation, 74 against 50\n- Agent ergonomics, 49 against 32\n- Payments \u0026 pricing, 25 against 20\n- Maintenance \u0026 community, 73 against 37\n\nWatch for: Credentials are one client UUID and secret per environment, sent by Basic auth, with no scopes or rotation documented\n\n\n## Score by category\n\n| Category | Weight | 1upHealth | ROOK | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 52 | 75 | ROOK +23 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 50 | 74 | ROOK +24 |\n| Agent ergonomics | 13% (16.2 this run) | 32 | 49 | ROOK +17 |\n| Security \u0026 auth | 14% (17.5 this run) | 63 | 32 | 1upHealth +31 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 20 | 25 | ROOK +5 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 37 | 73 | ROOK +36 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 72 | 55 | 1upHealth +17 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **46.8 · D** | **54.9 · C** | |\n\n## Facts side by side\n\n| Fact | 1upHealth | ROOK |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | 1upHealth, Inc. | Rookeries Development Corp. |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports | HTTP | HTTP |\n| Auth | OAuth | API key |\n| Pricing | Paid | Paid |\n| x402 | no | no |\n| Licence | Proprietary service under 1upHealth's Terms of Service (effective 1 August 2024) | Proprietary service under ROOK's Terms and Conditions for ROOK services |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | none | 2026-10-07 |\n| Terms last updated | no date given | 2026-08-01 |\n| Privacy policy last updated | 2026-06-25 | 2026-05-28 |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | not found in the text | not found in the text |\n| Terms restrict benchmarking | yes | yes |\n| Terms or service can change without notice | not found in the text | not found in the text |\n| Arbitration or class-action waiver | not found in the text | yes |\n\n## Verdicts\n\n**1upHealth.** Self-serve Dev Portal sandbox clients and a demo health plan let an app test the CMS Patient Access, Provider Access and Payer-to-Payer FHIR APIs, backed by HITRUST and SOC 2 Type 2. No rate limits, error formats or dated releases are documented, and the Patient Access OAuth step needs the member in a browser.\n\n**ROOK.** Graded on the REST API. A public OpenAPI file, a free Sandbox from the self-serve portal, published plan prices and a dated changelog. Credentials are one client UUID and secret per environment with no scopes, 429 handling isn't documented, the API is meant for occasional queries rather than bulk reads, and no SOC 2 report or security contact was found.\n\n## Before you call either\n\n### 1upHealth\n\n1. Hand the Patient Access sign-in to the member, who must authorise in the health plan's auth app\n2. Exchange the authorisation code within five minutes, and refresh before the 15-minute token expires\n3. Email payer-patient-access@1up.health with the client ID to get the app synced to the demo environment\n4. Expect only claims and coverage resources from some payers, and read /r4/metadata first\n\n### ROOK\n\n1. Send HTTP Basic auth with client_uuid as the username and the secret key as the password, plus a User-Agent header, or the WAF returns 403\n2. Use https://api.rook-connect.review for Sandbox and https://api.rook-connect.com for production. Each has its own credentials\n3. Read health data from the data webhook. Use the API only for occasional queries, and stay under 60 requests a minute\n4. Deduplicate summaries on document_version and datetime. ROOK resends a summary with a higher document_version when it changes\n5. Call POST /api/v1/user_id/{user_id}/data_sources/revoke_auth to end a connection. Some providers take hours to stop sending data\n\n## Questions\n\n### Which is better for AI agents, 1upHealth or ROOK?\n\nROOK scores 54.9 (C) on agent readiness against 1upHealth's 46.8 (D), and leads in 5 of 7 scored categories. 1upHealth leads on security \u0026 auth and transparency \u0026 trust.\n\n### Do 1upHealth and ROOK need an API key?\n\n1upHealth uses an OAuth sign-in. ROOK needs an API key.\n\n### Can an agent call 1upHealth and ROOK without installing anything?\n\nNo hosted endpoint is listed for 1upHealth. No hosted endpoint is listed for ROOK.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/1uphealth-vs-rook.json, and with the fewest tokens: https://www.anchorterminal.com/compare/1uphealth-vs-rook.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"1uphealth\", \"b\": \"rook\"}`. From a terminal: `anchor compare 1uphealth rook`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/1uphealth.json and https://www.anchorterminal.com/api/v1/tools/rook.json\n\n## Other comparisons with 1upHealth or ROOK\n\n- [1upHealth vs Terra API](https://www.anchorterminal.com/compare/1uphealth-vs-terra.md)\n- [Aidbox vs ROOK](https://www.anchorterminal.com/compare/aidbox-vs-rook.md)\n- [Health Gorilla vs ROOK](https://www.anchorterminal.com/compare/health-gorilla-vs-rook.md)\n- [Medplum vs ROOK](https://www.anchorterminal.com/compare/medplum-vs-rook.md)\n- [Metriport Medical API vs ROOK](https://www.anchorterminal.com/compare/metriport-vs-rook.md)\n- [Particle Health vs ROOK](https://www.anchorterminal.com/compare/particle-health-vs-rook.md)\n- [Redox vs ROOK](https://www.anchorterminal.com/compare/redox-vs-rook.md)\n- [1upHealth vs Aidbox](https://www.anchorterminal.com/compare/1uphealth-vs-aidbox.md)\n- [1upHealth vs Health Gorilla](https://www.anchorterminal.com/compare/1uphealth-vs-health-gorilla.md)\n- [1upHealth vs Medblocks](https://www.anchorterminal.com/compare/1uphealth-vs-medblocks.md)\n- [1upHealth vs Medplum](https://www.anchorterminal.com/compare/1uphealth-vs-medplum.md)\n- [1upHealth vs Metriport Medical API](https://www.anchorterminal.com/compare/1uphealth-vs-metriport.md)\n- [1upHealth vs Particle Health](https://www.anchorterminal.com/compare/1uphealth-vs-particle-health.md)\n- [1upHealth vs Redox](https://www.anchorterminal.com/compare/1uphealth-vs-redox.md)\n- [1upHealth vs Zus Health](https://www.anchorterminal.com/compare/1uphealth-vs-zus-health.md)\n- [1upHealth vs Validic Inform](https://www.anchorterminal.com/compare/1uphealth-vs-validic.md)\n- [Medblocks vs ROOK](https://www.anchorterminal.com/compare/medblocks-vs-rook.md)\n- [ROOK vs Zus Health](https://www.anchorterminal.com/compare/rook-vs-zus-health.md)\n- [ROOK vs Terra API](https://www.anchorterminal.com/compare/rook-vs-terra.md)\n- [ROOK vs Validic Inform](https://www.anchorterminal.com/compare/rook-vs-validic.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-14",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "1upHealth vs ROOK",
        "url": ""
      }
    ],
    "description": "ROOK scores 54.9 (C) to 1upHealth's 46.8 (D) for fhir servers. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "1upHealth D 46.8",
      "ROOK C 54.9",
      "scores"
    ],
    "h1": "1upHealth vs ROOK",
    "image": "https://www.anchorterminal.com/assets/og/compare-1uphealth-vs-rook.png",
    "path": "/compare/1uphealth-vs-rook",
    "published": "2026-10-01",
    "section": "tools",
    "title": "1upHealth vs ROOK for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-10-14",
    "url": "https://www.anchorterminal.com/compare/1uphealth-vs-rook"
  },
  "tokens": {
    "markdown": 2200,
    "slim": 580
  },
  "version": 1
}
