{
  "data": {
    "a": {
      "slug": "truto-calendar",
      "name": "Truto Unified Calendar API",
      "vendor": "Yin Yang Inc.",
      "vendorUrl": "https://truto.one",
      "kind": "http-api",
      "category": "scheduling",
      "summary": "Truto's Unified Calendar API gives one REST interface over Google Calendar, Outlook Calendar, Cal.com and Calendly, with calendars, events, availability, event types, contacts and users. It is part of Truto's unified API platform for software companies.",
      "url": "https://www.anchorterminal.com/tools/truto-calendar",
      "markdownUrl": "https://www.anchorterminal.com/tools/truto-calendar.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/truto-calendar.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/truto-calendar.json",
      "dns": "truto-calendar.grade.anchorterminal.com",
      "transports": [],
      "packages": [
        {
          "registry": "npm",
          "name": "@truto/truto-link-sdk"
        }
      ],
      "auth": "api-key",
      "authNotes": "A Truto API token, created in app.truto.one under Settings \u003e API Tokens for one environment (development, staging or production), sent as `Authorization: Bearer`. Every request names an `integrated_account_id`, the end customer's connected calendar account, whose OAuth tokens Truto holds. Per-account MCP servers can be limited to read or write methods and tags, and given an expiry.",
      "pricing": "paid",
      "pricingNotes": "Expansion from $999 per connector a year and Enterprise from $1,999, each with unlimited connections and API calls, sold through a demo. A free 30-day sandbox is given on request with a work email, usually within one business day.",
      "priceSummary": "$83.25 / mo",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs index, the pricing page or the API catalogue (checked 2026-11-06).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-06"
      },
      "docsUrl": "https://truto.one/docs/api-reference/unified-calendar-api/",
      "llmsTxt": "https://truto.one/docs/llms.txt",
      "openapi": "https://api.truto.one/schema/openapi.yml",
      "capabilities": [
        "calendar.read",
        "calendar.write",
        "calendar.availability",
        "calendar.booking",
        "automation.auth"
      ],
      "tags": [
        "hosted",
        "unified-api",
        "paid",
        "sales-led",
        "openapi",
        "llms-txt",
        "status-page",
        "webhooks",
        "google-calendar",
        "outlook"
      ],
      "lastRelease": "2026-10-26",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 60.4,
        "grade": "C",
        "agentReady": false,
        "rank": 652,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 5,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 71,
          "maintenance": 50,
          "payments": 20,
          "reliability": 77,
          "schema": 75,
          "security": 52,
          "transparency": 61
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-06"
        },
        "negative": 0,
        "verdict": "Truto's calendar API is well documented for agents, with Markdown docs, field exclusion, normalised rate-limit headers and errors that name the failing side, across Google, Outlook, Cal.com and Calendly. It is sold from $999 a connector a year through a demo, had an API outage on 29 October 2026 and has no public changelog.",
        "bestFor": "Software companies that need their product's agent to read and book across customers' Google, Outlook, Cal.com and Calendly accounts.",
        "strengths": [
          "One REST shape for Google Calendar, Outlook Calendar, Cal.com and Calendly, including availability and event types",
          "Markdown copy of every docs page and an llms.txt index",
          "`truto_exclude_fields`, `truto_ignore_remote_data` and response formats to size replies",
          "Errors say whether Truto or the provider failed, and vendor rate limits come back as standard headers",
          "Pass-through design with no stored customer data, and a public DPA"
        ],
        "weaknesses": [
          "Priced from $999 per connector a year with a demo-led sandbox",
          "An outage of the APIs and dashboard on 29 October 2026 is on the status page",
          "No public changelog for the API",
          "API tokens are per environment with no scopes found",
          "Only five calendar integrations, and Calendly support is partial on events"
        ],
        "agentNotes": [
          "Pass `integrated_account_id` on every call; the token alone reaches nothing",
          "Call the meta endpoint for the method first to see which filters the vendor supports",
          "Set `truto_ignore_remote_data=true` and list fields in `truto_exclude_fields` to keep responses small",
          "On 429 wait for Retry-After; stay under 50 requests every 10 seconds per integrated account",
          "Set `expand_recurring=true` when the task needs each instance of a repeating event"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 60.4
          }
        ],
        "editorialScores": {
          "ergonomics": 71,
          "maintenance": 50,
          "payments": 20,
          "reliability": 77,
          "schema": 75,
          "security": 52,
          "transparency": 54
        },
        "provenanceScore": 67,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-06",
            "maintenance": "2026-11-06",
            "payments": "2026-11-06",
            "reliability": "2026-11-06",
            "schema": "2026-11-06",
            "security": "2026-11-06",
            "transparency": "2026-11-06"
          },
          "last": "2026-11-06",
          "oldest": "2026-11-06",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "http": "curl \"https://api.truto.one/unified/calendar/events?integrated_account_id=$ACCOUNT_ID\" -H \"Authorization: Bearer $TRUTO_API_TOKEN\""
      },
      "letme": {
        "capability": "https://letme.dev/calendar.read",
        "tool": "https://letme.dev/truto-calendar"
      },
      "area": "everyday",
      "unitPrices": [
        {
          "item": "Expansion plan connector",
          "unit": "month",
          "usd": 83.25,
          "note": "From $999 per connector a year"
        },
        {
          "item": "Enterprise plan connector",
          "unit": "month",
          "usd": 166.58,
          "note": "From $1,999 per connector a year"
        }
      ],
      "provenance": {
        "legalEntity": "Yin Yang Inc.",
        "domain": "truto.one",
        "domainRegistered": "",
        "endpointOnVendorDomain": true,
        "terms": "https://truto.one/tos/",
        "privacy": "https://truto.one/privacy/",
        "statusPage": "https://status.truto.one",
        "changelog": "",
        "securityTxt": "unknown",
        "checked": "2026-11-06",
        "notes": [
          "truto.one/robots.txt allows all and points to llms.txt, an RFC 9727 API catalogue and agent skills; every page has a Markdown sibling. api.truto.one/robots.txt returned 404. status.truto.one's robots.txt returned no rules.",
          "The terms name Yin Yang Inc. No clause on automated access was found in the parts read.",
          "The OpenAPI file at api.truto.one/schema/openapi.yml timed out after 30 seconds and was not read.",
          "security.txt was not checked. SOC 2 compliance is stated only in a blog post of 24 August 2023; no trust page was found."
        ],
        "score": 67
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/truto-calendar.json",
      "live": {
        "slug": "truto-calendar",
        "vendorStatus": {
          "page": "https://status.truto.one",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-11-07T04:48:53.753341884Z"
        },
        "versions": [
          {
            "registry": "npm",
            "name": "@truto/truto-link-sdk",
            "version": "1.3.5",
            "seenAt": "2026-11-07T00:12:59.774757597Z"
          }
        ],
        "npmWeekly": 6850,
        "securityTxt": {
          "url": "https://truto.one/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T15:59:30.982914489Z"
        },
        "llmsTxt": {
          "url": "https://truto.one/docs/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:34:12.104383057Z"
        },
        "pages": [
          {
            "url": "https://truto.one/privacy/",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:22:35.56420207Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "83d604dc7090"
          },
          {
            "url": "https://truto.one/tos/",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:22:37.675377248Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "fa7045806b26"
          }
        ],
        "updatedAt": "2026-11-07T15:59:30.982914489Z"
      }
    },
    "answer": "Truto Unified Calendar API scores 60.4 (C) on agent readiness against Zoom Scheduler API's 51.9 (D), and leads in 4 of 7 scored categories. Zoom Scheduler API leads on payments \u0026 pricing and transparency \u0026 trust.",
    "b": {
      "slug": "zoom-scheduler",
      "name": "Zoom Scheduler API",
      "vendor": "Zoom Communications, Inc.",
      "vendorUrl": "https://www.zoom.com",
      "kind": "http-api",
      "category": "scheduling",
      "summary": "Zoom's REST API for Zoom Scheduler, its appointment booking product. It reads schedules, availability and scheduled events, lists open slots, creates and cancels bookings and sends booking webhooks, with OAuth access on api.zoom.us.",
      "url": "https://www.anchorterminal.com/tools/zoom-scheduler",
      "markdownUrl": "https://www.anchorterminal.com/tools/zoom-scheduler.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/zoom-scheduler.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/zoom-scheduler.json",
      "dns": "zoom-scheduler.grade.anchorterminal.com",
      "license": "Proprietary service under the Zoom API Licence and Terms of Use",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.zoom.us/v2",
      "packages": [],
      "auth": "oauth",
      "authNotes": "OAuth 2.0 only. A person creates an app in the Zoom App Marketplace and picks Scheduler scopes. User apps use the authorisation code grant (PKCE supported) and get one-hour access tokens with 90-day refresh tokens. Server-to-Server OAuth apps exchange an account ID, client ID and client secret for a one-hour token with no user step, and an account administrator authorises the scopes. Granular scopes exist per operation, each with an `:admin` variant. The docs show refresh tokens and device codes sent as URL query parameters as one option.",
      "pricing": "paid",
      "pricingNotes": "Scheduler costs $5.99 a user a month, or $4.99 billed yearly, and is included in Workplace Business ($21.99 monthly). The pricing page lists \"Connect to Scheduler APIs\" under the paid Scheduler plan. Scheduler Basic is free with no card, with one booking page and one calendar, and whether it can call the API was not established. A 14-day trial is advertised. No per-call charge was found (checked 2026-10-09).",
      "priceSummary": "$5.99 / seat-mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the Scheduler reference, the rate limit and OAuth docs or the pricing page (checked 2026-10-09).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-09"
      },
      "docsUrl": "https://developers.zoom.us/docs/api/scheduler/",
      "llmsTxt": "https://developers.zoom.us/llms.txt",
      "capabilities": [
        "calendar.read",
        "calendar.availability",
        "calendar.booking",
        "calendar.webhooks"
      ],
      "tags": [
        "hosted",
        "paid",
        "free-plan",
        "rest",
        "oauth",
        "webhooks",
        "llms-txt",
        "closed-source",
        "status-page",
        "soc2",
        "bug-bounty"
      ],
      "lastRelease": "2026-10-19",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 51.9,
        "grade": "D",
        "agentReady": false,
        "rank": 1003,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 8,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 43,
          "maintenance": 38,
          "payments": 25,
          "reliability": 65,
          "schema": 61,
          "security": 54,
          "transparency": 70
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-04"
        },
        "negative": 0,
        "verdict": "Each of the 24 operations has its own granular OAuth scope, and Zoom Scheduler and the REST API are separate components on the status page. No operation moves a booking, no official SDK covers Scheduler, and Zoom's API terms forbid benchmarking or monitoring the service.",
        "bestFor": "An agent booking into a Zoom Scheduler user's or team's booking pages, with slot lookup, booking, cancellation and three webhooks.",
        "strengths": [
          "Granular OAuth scopes per operation, with separate read, write, update and delete scopes and user and admin variants",
          "A slot lookup (`GET /scheduler/schedules/{scheduleId}/available_times`) and a booking call (`POST /scheduler/attendee`), added in July and June 2026",
          "llms.txt and a Markdown copy of the full reference, with request examples and 400, 401, 404, 409, 429 and 500 responses listed",
          "Rate limits published by plan. Every Scheduler operation is labelled Light, 30 requests a second on Pro",
          "SOC 2 Type 2 report (October 2024 to October 2025) names Zoom Scheduler and Zoom APIs in scope, and security.txt is valid to 2029"
        ],
        "weaknesses": [
          "Zoom's API terms (section 3.7.9) forbid using the APIs to monitor availability or performance, or for benchmarking. This matters before any probe is run",
          "No operation moves a booking. `PATCH /scheduler/events/{eventId}` changes status, notes and no-show marks only",
          "No idempotency key or safe-retry guidance for booking writes was found in the reviewed documentation",
          "No official SDK covers Scheduler. Zoom Rivet 0.3.0 has no Scheduler module",
          "No downloadable OpenAPI file is linked, and the Markdown reference omits query and path parameters",
          "The API terms allow Zoom to change or deprecate APIs without prior notice and disclaim any uptime guarantee"
        ],
        "agentNotes": [
          "Call `GET /scheduler/schedules/{scheduleId}/available_times` and book only a spot whose status is `available`",
          "Send `start_date_time` in ISO 8601 with the booker's IANA `time_zone` to `POST /scheduler/attendee`. Expect 409 on a conflict",
          "To move a booking, cancel it with `PATCH /scheduler/events/{eventId}` and `status` set to `cancelled`, then book the new slot",
          "List scheduled events before retrying a booking, because no idempotency key is documented",
          "Request a new Server-to-Server OAuth token every hour. That grant issues no refresh token"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 51.9
          }
        ],
        "editorialScores": {
          "ergonomics": 43,
          "maintenance": 38,
          "payments": 25,
          "reliability": 65,
          "schema": 61,
          "security": 54,
          "transparency": 59
        },
        "provenanceScore": 80,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-04",
            "maintenance": "2026-11-04",
            "payments": "2026-11-04",
            "reliability": "2026-11-04",
            "schema": "2026-11-04",
            "security": "2026-11-04",
            "transparency": "2026-11-04"
          },
          "last": "2026-11-04",
          "lastMoved": "2026-11-04",
          "oldest": "2026-11-04",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "http": "curl -H \"Authorization: Bearer $ZOOM_ACCESS_TOKEN\" \"https://api.zoom.us/v2/scheduler/schedules\""
      },
      "letme": {
        "capability": "https://letme.dev/calendar.read",
        "tool": "https://letme.dev/zoom-scheduler"
      },
      "sameCompany": [
        "zoom-rtms"
      ],
      "area": "everyday",
      "unitPrices": [
        {
          "item": "Zoom Scheduler (the plan that lists Scheduler API access)",
          "unit": "seat-month",
          "usd": 5.99,
          "note": "Monthly billing. $4.99 a user a month billed yearly"
        }
      ],
      "provenance": {
        "legalEntity": "Zoom Communications, Inc.",
        "domain": "zoom.us",
        "domainRegistered": "",
        "endpointOnVendorDomain": true,
        "terms": "https://www.zoom.com/en/trust/legal/zoom-api-license-and-tou/",
        "privacy": "https://www.zoom.com/en/trust/privacy/privacy-statement/",
        "statusPage": "https://status.zoom.us",
        "changelog": "https://developers.zoom.us/changelog/",
        "securityTxt": "valid",
        "checked": "2026-11-04",
        "notes": [
          "The Zoom API Licence and Terms of Use (last updated 16 July 2025) and the Privacy Statement (last updated 17 September 2026) both name Zoom Communications, Inc., 55 Almaden Blvd, Suite 600, San Jose, CA 95113.",
          "The API answers at https://api.zoom.us/v2 and tokens are issued at https://zoom.us/oauth/token. Legal pages sit on www.zoom.com.",
          "zoom.us/.well-known/security.txt gives a report form, security-reports@zoom.us, a PGP key and an expiry of 31 December 2029.",
          "status.zoom.us redirects to www.zoomstatus.com, an Atlassian Statuspage site.",
          "The account holder's use of Scheduler itself falls under the Zoom Terms of Service (effective 11 August 2023), which the API terms cite for the definition of Customer Content.",
          "The Zoom Terms of Service (effective 11 August 2023), whose Services include the Zoom Website, and the Acceptable Use Guidelines were read on 4 November 2026. Neither bars automated access to Zoom's sites."
        ],
        "score": 80
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/zoom-scheduler.json",
      "live": {
        "slug": "zoom-scheduler",
        "probe": {
          "target": "https://api.zoom.us/v2",
          "method": "get",
          "lastAt": "2026-11-07T18:21:07.922645742Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 169,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 150,
          "p95ms24h": 294,
          "samples24h": 239,
          "samples30d": 7205,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 85,
              "ok": 85
            },
            {
              "date": "2026-10-10",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-11",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-12",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-13",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-14",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-15",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-16",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-17",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-18",
              "probes": 256,
              "ok": 256
            },
            {
              "date": "2026-10-19",
              "probes": 255,
              "ok": 255
            },
            {
              "date": "2026-10-20",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-21",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-22",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-23",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-24",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-10-25",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-26",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-27",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-28",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-29",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-30",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-31",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-11-01",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-11-02",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-11-03",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-11-04",
              "probes": 246,
              "ok": 246
            },
            {
              "date": "2026-11-05",
              "probes": 185,
              "ok": 185
            },
            {
              "date": "2026-11-06",
              "probes": 241,
              "ok": 241
            },
            {
              "date": "2026-11-07",
              "probes": 187,
              "ok": 187
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.zoom.us",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-11-07T18:22:13.225223701Z"
        },
        "securityTxt": {
          "url": "https://zoom.us/.well-known/security.txt",
          "state": "valid",
          "expires": "2029-12-31T00:00:00.000Z",
          "checkedAt": "2026-11-07T16:00:10.393077783Z"
        },
        "llmsTxt": {
          "url": "https://developers.zoom.us/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:34:33.200406518Z"
        },
        "domain": {
          "domain": "zoom.us",
          "checkedAt": "2026-11-01T14:10:46.976026774Z"
        },
        "pages": [
          {
            "url": "https://developers.zoom.us/changelog/",
            "kind": "changelog",
            "status": 404,
            "checkedAt": "2026-11-07T14:04:42.892074187Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "e3b0c44298fc"
          },
          {
            "url": "https://www.zoom.com/en/trust/privacy/privacy-statement/",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-06T13:57:45.041429376Z",
            "changedAt": "2026-10-22T01:39:12.393937492Z",
            "fingerprint": "c0d31e14e3ee"
          },
          {
            "url": "https://www.zoom.com/en/trust/legal/zoom-api-license-and-tou/",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-06T13:57:42.566882673Z",
            "changedAt": "2026-10-22T01:39:09.991974204Z",
            "fingerprint": "62f6354085e2"
          }
        ],
        "updatedAt": "2026-11-07T18:22:13.225223701Z"
      }
    },
    "edges": [
      {
        "by": 28,
        "category": "ergonomics",
        "leads": "truto-calendar",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "`truto_exclude_fields`, `truto_ignore_remote_data`, `truto_key_by` and response formats (`unified`, `raw`, `normalized`) size the reply (22 of 25). Query operators such as `[gt]` and `[in]`, `sort_by`, `limit` and cursors, with a meta endpoint that says which filters each vendor supports (18 of 20). Errors name the HTTP status and say whether Truto or the provider failed, with the provider's message extracted (18 of 20). No idempotency key found for creates (5 of 20). Every call needs only the token and `integrated_account_id`; a CLI and the Link SDK exist, with no general API SDK found (8 of 15). 22 + 18 + 18 + 5 + 8 = 71.",
          "b": "No field selection was found, and a schedule object runs to several hundred lines of fields. Query parameters could not be read (8). List responses return `next_page_token`, and the changelog records filters by team, account scope and created or updated time. The parameter list itself was not readable (14). Errors carry a status and a short code name such as InvalidArgument, NotFound or Conflict, with a 409 on booking conflicts and little detail (12). No idempotency key or safe-retry guidance for `POST /scheduler/attendee` (3). Booking needs six fields. No official SDK covers Scheduler, and Zoom Rivet 0.3.0 has no Scheduler module (6). Total 43."
        },
        "scores": {
          "a": 71,
          "b": 43
        }
      },
      {
        "by": 14,
        "category": "schema",
        "leads": "truto-calendar",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "An OpenAPI specification is linked from the RFC 9727 API catalogue, but the file timed out and was not read, so it is credited as published and unverified (20 of 25). llms.txt and a Markdown sibling for every page (10). Parameter descriptions say what each does and what it falls back to, such as `end_time` defaulting to the month of `start_time` (15 of 20). Types, required marks and allowed values such as `focus_time` and `out_of_office` (13 of 15). One documented error shape with provider and Truto fields; few request examples on the reference pages read (12 of 15). Deprecated admin endpoints are marked, but no API changelog was found (5 of 15). 20 + 10 + 15 + 13 + 12 + 5 = 75.",
          "b": "The reference states OpenAPI version 3.1.1, but no specification file is linked from the page, the API catalogue or llms.txt. A Markdown copy of the whole reference is published (10). Markdown copies of pages and an API catalogue at `/.well-known/api-catalog.json`. The llms.txt that every docs page links answered 404 on 4 November 2026, so the line rests on the Markdown copies (10). Most operations carry one line such as \"Patches a scheduled event\". The available times and booking operations say when to use them (8). Request bodies are typed, with 55 required marks, 38 enumerated fields and email, date and date-time formats. The Markdown copy and the static page omit query and path parameters (9). Every request body has an example and each operation lists its error statuses with a code name, some misspelt (11). The path is versioned v2 and the changelog has dated Scheduler entries (13). Total 61."
        },
        "scores": {
          "a": 75,
          "b": 61
        }
      },
      {
        "by": 12,
        "category": "reliability",
        "leads": "truto-calendar",
        "name": "Reliability",
        "reasons": {
          "a": "Graded as a hosted service on the Unified Calendar API. Better Stack status page with components for api.truto.one health, ping and link-token endpoints and the static IP proxy, with incident history (20). The feed lists \"APIs and Dashboard are down\" on 29 October 2026 and delayed sync jobs and webhooks on 1 November, which counts as one major outage (10). Truto's own limit is 50 requests every 10 seconds per integrated account, in front of each vendor's (15). A vendor 429 comes back with Retry-After and normalised `ratelimit-limit`, `-remaining` and `-reset` headers, with no idempotency guidance for creates (12 of 15). The Enterprise plan lists an SLA guarantee (10). Generally available (10). 20 + 10 + 15 + 12 + 10 + 10 = 77.",
          "b": "Graded as a hosted API. Statuspage site at status.zoom.us (redirects to www.zoomstatus.com) with Zoom Scheduler as its own component and REST API and Webhooks under Zoom Developer Platform, per the 9 October check (20). The Atom feed read on 4 November holds 25 entries from 19 October to 4 November 2026, none naming Scheduler or the REST API. The 23 October degradation of \"multiple Zoom Services\" (09:01 to 09:48 PDT, an external vendor) names no product. The window from 6 August to 18 October could not be read, because the history page is drawn by script and robots.txt closes /api/, so the line keeps its recorded 10. Every Scheduler operation is labelled Light, which is 4 a second and 6,000 a day on Free, 30 a second on Pro and 80 a second on Business and above, per account (15). The rate-limit page says to handle 429 by waiting before retrying and to build retry mechanisms, and the daily-limit message points to a response header for when to resume. No idempotency key or safe-retry guidance exists for booking writes, so the settled value for backoff guidance alone applies (10). No SLA found, and the API terms say Zoom does not guarantee uptime (0). No beta label on the Scheduler API, and Zoom's lifecycle page treats an initial release as stable (10). 20 + 10 + 15 + 10 + 0 + 10 = 65."
        },
        "scores": {
          "a": 77,
          "b": 65
        }
      },
      {
        "by": 12,
        "category": "maintenance",
        "leads": "truto-calendar",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "No API changelog, so the last API change can't be dated; the official @truto/truto-link-sdk was published as 1.3.5 on 26 October 2026, which we take as the latest dated release (20 of 30, since it is the connection widget, not the calendar API). Six Link SDK versions since 8 August (10 of 20, for the same reason). Support through Slack on paid plans, with no public tracker (5 of 15). A CLI and the Link SDK are official, with no API client (10 of 15). Package health not checked (5 of 10). 20 + 10 + 5 + 10 + 5 = 50.",
          "b": "The latest Scheduler changelog entry is 19 October 2026, an API release adding the `scheduler.routing_form_submission_created` webhook, 16 days before this check (30). Two dated entries in the 90 days from 6 August, 17 August and 19 October (0). A public changelog with a developer forum thread for each entry and a developer support page. Whether the forum answers was not checked (8). No official SDK covers Scheduler, and Zoom Rivet 0.3.0 still has no Scheduler module (0). No package to assess (0). 30 + 0 + 8 + 0 + 0 = 38."
        },
        "scores": {
          "a": 50,
          "b": 38
        }
      },
      {
        "by": 9,
        "category": "transparency",
        "leads": "zoom-scheduler",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "Closed service under terms naming Yin Yang Inc. (15 of 30). Truto says it stores no customer data and calls vendors live, logs are kept 30 or 90 days by plan, data is kept 15 days after termination, and a DPA is public (25 of 30). Deprecated admin endpoints are marked with no policy or dates (6 of 20). Enterprise customers can choose a data region and tokens can be stored regionally; no subprocessor list was found (8 of 20). 15 + 25 + 6 + 8 = 54.",
          "b": "Closed service under the Zoom API Licence and Terms of Use of 16 July 2025 (15). The Privacy Statement of 17 September 2026 gives no fixed retention periods. The Terms of Service delete customer content 30 days after termination, and both documents say communications-like customer content is not used to train AI models. The DPA is a PDF we did not read (18). A lifecycle page describes deprecation and sunset stages and the changelog tags them, but the API terms let Zoom change or deprecate APIs without prior notice, with only commercially reasonable efforts to tell developers (8). The sub-processor list, updated 2 October 2026, names 24 third parties and 23 affiliates with locations and has an email sign-up for changes (18). Total 59."
        },
        "scores": {
          "a": 61,
          "b": 70
        }
      },
      {
        "by": 5,
        "category": "payments",
        "leads": "zoom-scheduler",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "No x402, MPP or L402 (0). Plan prices per connector a year are public, with unlimited calls (10). A free 30-day sandbox is given after a work-email request reviewed within a business day (10 of 20). A person requests access or books a demo (0). 0 + 10 + 10 + 0 = 20.",
          "b": "No x402, MPP or L402 (0). Seat prices are public, $5.99 a user a month or $4.99 billed yearly, with nothing per call (10). Scheduler Basic is free with no card and a 14-day trial is advertised, but the pricing page lists API access under the paid plan and whether the free plan or the trial can call the API was not established (15). A person signs up and creates a Marketplace app in a browser (0). Total 25."
        },
        "scores": {
          "a": 20,
          "b": 25
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Yin Yang Inc.",
        "b": "Zoom Communications, Inc.",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "https://api.zoom.us/v2",
        "name": "Hosted endpoint"
      },
      {
        "a": "",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "OAuth",
        "name": "Auth"
      },
      {
        "a": "Paid",
        "b": "Paid",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "none",
        "b": "Proprietary service under the Zoom API Licence and Terms of Use",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-26",
        "b": "2026-10-19",
        "name": "Last release"
      },
      {
        "a": "no date given",
        "b": "2025-07-16",
        "name": "Terms last updated"
      },
      {
        "a": "2024-10-19",
        "b": "2026-09-17",
        "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": "yes",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      }
    ],
    "faq": [
      {
        "answer": "Truto Unified Calendar API scores 60.4 (C) on agent readiness against Zoom Scheduler API's 51.9 (D), and leads in 4 of 7 scored categories. Zoom Scheduler API leads on payments \u0026 pricing and transparency \u0026 trust.",
        "question": "Which is better for AI agents, Truto Unified Calendar API or Zoom Scheduler API?"
      },
      {
        "answer": "Truto Unified Calendar API needs an API key. Zoom Scheduler API uses an OAuth sign-in.",
        "question": "Do Truto Unified Calendar API and Zoom Scheduler API need an API key?"
      },
      {
        "answer": "No hosted endpoint is listed for Truto Unified Calendar API. Zoom Scheduler API has a hosted endpoint at https://api.zoom.us/v2.",
        "question": "Can an agent call Truto Unified Calendar API and Zoom Scheduler API without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 77 against 65",
          "Schema \u0026 documentation, 75 against 61",
          "Agent ergonomics, 71 against 43",
          "Maintenance \u0026 community, 50 against 38"
        ],
        "also": null,
        "goodFor": "Software companies that need their product's agent to read and book across customers' Google, Outlook, Cal.com and Calendly accounts.",
        "slug": "truto-calendar",
        "watchFor": "Priced from $999 per connector a year with a demo-led sandbox"
      },
      {
        "aheadOn": [
          "Payments \u0026 pricing, 25 against 20",
          "Transparency \u0026 trust, 70 against 61"
        ],
        "also": [
          "A hosted endpoint, with nothing to install"
        ],
        "goodFor": "An agent booking into a Zoom Scheduler user's or team's booking pages, with slot lookup, booking, cancellation and three webhooks.",
        "slug": "zoom-scheduler",
        "watchFor": "Zoom's API terms (section 3.7.9) forbid using the APIs to monitor availability or performance, or for benchmarking. This matters before any probe is run"
      }
    ],
    "history": {
      "truto-calendar": null,
      "zoom-scheduler": [
        {
          "causes": [
            "product",
            "correction"
          ],
          "date": "2026-11-04",
          "delta": 1.2,
          "from": 50.7,
          "fromGrade": "D",
          "to": 51.9,
          "toGrade": "D"
        },
        {
          "causes": [
            "correction"
          ],
          "date": "2026-10-28",
          "delta": 0,
          "from": 50.7,
          "fromGrade": "D",
          "to": 50.7,
          "toGrade": "D"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-27",
          "delta": 0.1,
          "from": 50.6,
          "fromGrade": "D",
          "to": 50.7,
          "toGrade": "D"
        }
      ]
    },
    "job": {
      "capability": "calendar.read",
      "name": "Calendar access"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/acuity-scheduling-vs-truto-calendar.json",
        "title": "Acuity Scheduling API vs Truto Unified Calendar API",
        "url": "https://www.anchorterminal.com/compare/acuity-scheduling-vs-truto-calendar"
      },
      {
        "json": "https://www.anchorterminal.com/compare/acuity-scheduling-vs-zoom-scheduler.json",
        "title": "Acuity Scheduling API vs Zoom Scheduler API",
        "url": "https://www.anchorterminal.com/compare/acuity-scheduling-vs-zoom-scheduler"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agenda-hero-vs-truto-calendar.json",
        "title": "Agenda Hero vs Truto Unified Calendar API",
        "url": "https://www.anchorterminal.com/compare/agenda-hero-vs-truto-calendar"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agenda-hero-vs-zoom-scheduler.json",
        "title": "Agenda Hero vs Zoom Scheduler API",
        "url": "https://www.anchorterminal.com/compare/agenda-hero-vs-zoom-scheduler"
      },
      {
        "json": "https://www.anchorterminal.com/compare/apiroc-vs-truto-calendar.json",
        "title": "Apiroc Unified Calendar API vs Truto Unified Calendar API",
        "url": "https://www.anchorterminal.com/compare/apiroc-vs-truto-calendar"
      },
      {
        "json": "https://www.anchorterminal.com/compare/apiroc-vs-zoom-scheduler.json",
        "title": "Apiroc Unified Calendar API vs Zoom Scheduler API",
        "url": "https://www.anchorterminal.com/compare/apiroc-vs-zoom-scheduler"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aurinko-calendar-vs-truto-calendar.json",
        "title": "Aurinko Calendar API vs Truto Unified Calendar API",
        "url": "https://www.anchorterminal.com/compare/aurinko-calendar-vs-truto-calendar"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aurinko-calendar-vs-zoom-scheduler.json",
        "title": "Aurinko Calendar API vs Zoom Scheduler API",
        "url": "https://www.anchorterminal.com/compare/aurinko-calendar-vs-zoom-scheduler"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cal-com-vs-truto-calendar.json",
        "title": "Cal.com API v2 + MCP vs Truto Unified Calendar API",
        "url": "https://www.anchorterminal.com/compare/cal-com-vs-truto-calendar"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cal-com-vs-zoom-scheduler.json",
        "title": "Cal.com API v2 + MCP vs Zoom Scheduler API",
        "url": "https://www.anchorterminal.com/compare/cal-com-vs-zoom-scheduler"
      },
      {
        "json": "https://www.anchorterminal.com/compare/calendly-vs-truto-calendar.json",
        "title": "Calendly API + MCP vs Truto Unified Calendar API",
        "url": "https://www.anchorterminal.com/compare/calendly-vs-truto-calendar"
      },
      {
        "json": "https://www.anchorterminal.com/compare/calendly-vs-zoom-scheduler.json",
        "title": "Calendly API + MCP vs Zoom Scheduler API",
        "url": "https://www.anchorterminal.com/compare/calendly-vs-zoom-scheduler"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cozi-vs-truto-calendar.json",
        "title": "Cozi Family Organizer vs Truto Unified Calendar API",
        "url": "https://www.anchorterminal.com/compare/cozi-vs-truto-calendar"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cozi-vs-zoom-scheduler.json",
        "title": "Cozi Family Organizer vs Zoom Scheduler API",
        "url": "https://www.anchorterminal.com/compare/cozi-vs-zoom-scheduler"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cronofy-vs-truto-calendar.json",
        "title": "Cronofy API vs Truto Unified Calendar API",
        "url": "https://www.anchorterminal.com/compare/cronofy-vs-truto-calendar"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cronofy-vs-zoom-scheduler.json",
        "title": "Cronofy API vs Zoom Scheduler API",
        "url": "https://www.anchorterminal.com/compare/cronofy-vs-zoom-scheduler"
      },
      {
        "json": "https://www.anchorterminal.com/compare/google-calendar-api-vs-truto-calendar.json",
        "title": "Google Calendar API vs Truto Unified Calendar API",
        "url": "https://www.anchorterminal.com/compare/google-calendar-api-vs-truto-calendar"
      },
      {
        "json": "https://www.anchorterminal.com/compare/google-calendar-api-vs-zoom-scheduler.json",
        "title": "Google Calendar API vs Zoom Scheduler API",
        "url": "https://www.anchorterminal.com/compare/google-calendar-api-vs-zoom-scheduler"
      },
      {
        "json": "https://www.anchorterminal.com/compare/microsoft-graph-calendar-vs-truto-calendar.json",
        "title": "Microsoft Graph Calendar API vs Truto Unified Calendar API",
        "url": "https://www.anchorterminal.com/compare/microsoft-graph-calendar-vs-truto-calendar"
      },
      {
        "json": "https://www.anchorterminal.com/compare/microsoft-graph-calendar-vs-zoom-scheduler.json",
        "title": "Microsoft Graph Calendar API vs Zoom Scheduler API",
        "url": "https://www.anchorterminal.com/compare/microsoft-graph-calendar-vs-zoom-scheduler"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nylas-calendar-vs-truto-calendar.json",
        "title": "Nylas Calendar and Scheduler API vs Truto Unified Calendar API",
        "url": "https://www.anchorterminal.com/compare/nylas-calendar-vs-truto-calendar"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nylas-calendar-vs-zoom-scheduler.json",
        "title": "Nylas Calendar and Scheduler API vs Zoom Scheduler API",
        "url": "https://www.anchorterminal.com/compare/nylas-calendar-vs-zoom-scheduler"
      },
      {
        "json": "https://www.anchorterminal.com/compare/reclaim-ai-vs-truto-calendar.json",
        "title": "Reclaim.ai vs Truto Unified Calendar API",
        "url": "https://www.anchorterminal.com/compare/reclaim-ai-vs-truto-calendar"
      },
      {
        "json": "https://www.anchorterminal.com/compare/reclaim-ai-vs-zoom-scheduler.json",
        "title": "Reclaim.ai vs Zoom Scheduler API",
        "url": "https://www.anchorterminal.com/compare/reclaim-ai-vs-zoom-scheduler"
      },
      {
        "json": "https://www.anchorterminal.com/compare/savvycal-vs-truto-calendar.json",
        "title": "SavvyCal API + MCP vs Truto Unified Calendar API",
        "url": "https://www.anchorterminal.com/compare/savvycal-vs-truto-calendar"
      },
      {
        "json": "https://www.anchorterminal.com/compare/savvycal-vs-zoom-scheduler.json",
        "title": "SavvyCal API + MCP vs Zoom Scheduler API",
        "url": "https://www.anchorterminal.com/compare/savvycal-vs-zoom-scheduler"
      },
      {
        "json": "https://www.anchorterminal.com/compare/truto-calendar-vs-youcanbookme.json",
        "title": "Truto Unified Calendar API vs YouCanBookMe API",
        "url": "https://www.anchorterminal.com/compare/truto-calendar-vs-youcanbookme"
      },
      {
        "json": "https://www.anchorterminal.com/compare/youcanbookme-vs-zoom-scheduler.json",
        "title": "YouCanBookMe API vs Zoom Scheduler API",
        "url": "https://www.anchorterminal.com/compare/youcanbookme-vs-zoom-scheduler"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 12,
        "edge": "truto-calendar",
        "key": "reliability",
        "name": "Reliability",
        "truto-calendar": 77,
        "weight": 16,
        "zoom-scheduler": 65
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 14,
        "edge": "truto-calendar",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "truto-calendar": 75,
        "weight": 13,
        "zoom-scheduler": 61
      },
      {
        "by": 28,
        "edge": "truto-calendar",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "truto-calendar": 71,
        "weight": 13,
        "zoom-scheduler": 43
      },
      {
        "by": 2,
        "edge": "zoom-scheduler",
        "key": "security",
        "name": "Security \u0026 auth",
        "truto-calendar": 52,
        "weight": 14,
        "zoom-scheduler": 54
      },
      {
        "by": 5,
        "edge": "zoom-scheduler",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "truto-calendar": 20,
        "weight": 10,
        "zoom-scheduler": 25
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 12,
        "edge": "truto-calendar",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "truto-calendar": 50,
        "weight": 7,
        "zoom-scheduler": 38
      },
      {
        "by": 9,
        "edge": "zoom-scheduler",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "truto-calendar": 61,
        "weight": 7,
        "zoom-scheduler": 70
      }
    ],
    "summary": "Truto Unified Calendar API scores 60.4 (C) on agent readiness against Zoom Scheduler API's 51.9 (D), and leads in 4 of 7 scored categories. Zoom Scheduler API leads on payments \u0026 pricing and transparency \u0026 trust. Both do calendar access.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "truto-calendar": "Truto's calendar API is well documented for agents, with Markdown docs, field exclusion, normalised rate-limit headers and errors that name the failing side, across Google, Outlook, Cal.com and Calendly. It is sold from $999 a connector a year through a demo, had an API outage on 29 October 2026 and has no public changelog.",
      "zoom-scheduler": "Each of the 24 operations has its own granular OAuth scope, and Zoom Scheduler and the REST API are separate components on the status page. No operation moves a booking, no official SDK covers Scheduler, and Zoom's API terms forbid benchmarking or monitoring the service."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/truto-calendar-vs-zoom-scheduler",
    "json": "https://www.anchorterminal.com/compare/truto-calendar-vs-zoom-scheduler.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/truto-calendar-vs-zoom-scheduler.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/truto-calendar-vs-zoom-scheduler.min.md"
  },
  "markdown": "Truto Unified Calendar API scores 60.4 (C) on agent readiness against Zoom Scheduler API's 51.9 (D), and leads in 4 of 7 scored categories. Zoom Scheduler API leads on payments \u0026 pricing and transparency \u0026 trust. Both do calendar access.\n\n- Truto Unified Calendar API: grade C, 60.4/100, rank #652 of 1486. Markdown https://www.anchorterminal.com/tools/truto-calendar.md · JSON https://www.anchorterminal.com/api/v1/tools/truto-calendar.json\n- Zoom Scheduler API: grade D, 51.9/100, rank #1003 of 1486. Markdown https://www.anchorterminal.com/tools/zoom-scheduler.md · JSON https://www.anchorterminal.com/api/v1/tools/zoom-scheduler.json\n- Best calendar and scheduling APIs for AI agents: https://www.anchorterminal.com/best/scheduling/index.md\n- All 118 scheduling comparisons: https://www.anchorterminal.com/compare/scheduling/index.md\n\n## Which one, for what\n\n### Truto Unified Calendar API (C)\n\nGood for: Software companies that need their product's agent to read and book across customers' Google, Outlook, Cal.com and Calendly accounts.\n\nAhead on:\n- Reliability, 77 against 65\n- Schema \u0026 documentation, 75 against 61\n- Agent ergonomics, 71 against 43\n- Maintenance \u0026 community, 50 against 38\n\nWatch for: Priced from $999 per connector a year with a demo-led sandbox\n\n### Zoom Scheduler API (D)\n\nGood for: An agent booking into a Zoom Scheduler user's or team's booking pages, with slot lookup, booking, cancellation and three webhooks.\n\nAhead on:\n- Payments \u0026 pricing, 25 against 20\n- Transparency \u0026 trust, 70 against 61\n\nAlso in its favour:\n- A hosted endpoint, with nothing to install\n\nWatch for: Zoom's API terms (section 3.7.9) forbid using the APIs to monitor availability or performance, or for benchmarking. This matters before any probe is run\n\n\n## Why the edge\n\n### Agent ergonomics: Truto Unified Calendar API +28\n\n- Truto Unified Calendar API (71): `truto_exclude_fields`, `truto_ignore_remote_data`, `truto_key_by` and response formats (`unified`, `raw`, `normalized`) size the reply (22 of 25). Query operators such as `[gt]` and `[in]`, `sort_by`, `limit` and cursors, with a meta endpoint that says which filters each vendor supports (18 of 20). Errors name the HTTP status and say whether Truto or the provider failed, with the provider's message extracted (18 of 20). No idempotency key found for creates (5 of 20). Every call needs only the token and `integrated_account_id`; a CLI and the Link SDK exist, with no general API SDK found (8 of 15). 22 + 18 + 18 + 5 + 8 = 71.\n- Zoom Scheduler API (43): No field selection was found, and a schedule object runs to several hundred lines of fields. Query parameters could not be read (8). List responses return `next_page_token`, and the changelog records filters by team, account scope and created or updated time. The parameter list itself was not readable (14). Errors carry a status and a short code name such as InvalidArgument, NotFound or Conflict, with a 409 on booking conflicts and little detail (12). No idempotency key or safe-retry guidance for `POST /scheduler/attendee` (3). Booking needs six fields. No official SDK covers Scheduler, and Zoom Rivet 0.3.0 has no Scheduler module (6). Total 43.\n\n### Schema \u0026 documentation: Truto Unified Calendar API +14\n\n- Truto Unified Calendar API (75): An OpenAPI specification is linked from the RFC 9727 API catalogue, but the file timed out and was not read, so it is credited as published and unverified (20 of 25). llms.txt and a Markdown sibling for every page (10). Parameter descriptions say what each does and what it falls back to, such as `end_time` defaulting to the month of `start_time` (15 of 20). Types, required marks and allowed values such as `focus_time` and `out_of_office` (13 of 15). One documented error shape with provider and Truto fields; few request examples on the reference pages read (12 of 15). Deprecated admin endpoints are marked, but no API changelog was found (5 of 15). 20 + 10 + 15 + 13 + 12 + 5 = 75.\n- Zoom Scheduler API (61): The reference states OpenAPI version 3.1.1, but no specification file is linked from the page, the API catalogue or llms.txt. A Markdown copy of the whole reference is published (10). Markdown copies of pages and an API catalogue at `/.well-known/api-catalog.json`. The llms.txt that every docs page links answered 404 on 4 November 2026, so the line rests on the Markdown copies (10). Most operations carry one line such as \"Patches a scheduled event\". The available times and booking operations say when to use them (8). Request bodies are typed, with 55 required marks, 38 enumerated fields and email, date and date-time formats. The Markdown copy and the static page omit query and path parameters (9). Every request body has an example and each operation lists its error statuses with a code name, some misspelt (11). The path is versioned v2 and the changelog has dated Scheduler entries (13). Total 61.\n\n### Reliability: Truto Unified Calendar API +12\n\n- Truto Unified Calendar API (77): Graded as a hosted service on the Unified Calendar API. Better Stack status page with components for api.truto.one health, ping and link-token endpoints and the static IP proxy, with incident history (20). The feed lists \"APIs and Dashboard are down\" on 29 October 2026 and delayed sync jobs and webhooks on 1 November, which counts as one major outage (10). Truto's own limit is 50 requests every 10 seconds per integrated account, in front of each vendor's (15). A vendor 429 comes back with Retry-After and normalised `ratelimit-limit`, `-remaining` and `-reset` headers, with no idempotency guidance for creates (12 of 15). The Enterprise plan lists an SLA guarantee (10). Generally available (10). 20 + 10 + 15 + 12 + 10 + 10 = 77.\n- Zoom Scheduler API (65): Graded as a hosted API. Statuspage site at status.zoom.us (redirects to www.zoomstatus.com) with Zoom Scheduler as its own component and REST API and Webhooks under Zoom Developer Platform, per the 9 October check (20). The Atom feed read on 4 November holds 25 entries from 19 October to 4 November 2026, none naming Scheduler or the REST API. The 23 October degradation of \"multiple Zoom Services\" (09:01 to 09:48 PDT, an external vendor) names no product. The window from 6 August to 18 October could not be read, because the history page is drawn by script and robots.txt closes /api/, so the line keeps its recorded 10. Every Scheduler operation is labelled Light, which is 4 a second and 6,000 a day on Free, 30 a second on Pro and 80 a second on Business and above, per account (15). The rate-limit page says to handle 429 by waiting before retrying and to build retry mechanisms, and the daily-limit message points to a response header for when to resume. No idempotency key or safe-retry guidance exists for booking writes, so the settled value for backoff guidance alone applies (10). No SLA found, and the API terms say Zoom does not guarantee uptime (0). No beta label on the Scheduler API, and Zoom's lifecycle page treats an initial release as stable (10). 20 + 10 + 15 + 10 + 0 + 10 = 65.\n\n### Maintenance \u0026 community: Truto Unified Calendar API +12\n\n- Truto Unified Calendar API (50): No API changelog, so the last API change can't be dated; the official @truto/truto-link-sdk was published as 1.3.5 on 26 October 2026, which we take as the latest dated release (20 of 30, since it is the connection widget, not the calendar API). Six Link SDK versions since 8 August (10 of 20, for the same reason). Support through Slack on paid plans, with no public tracker (5 of 15). A CLI and the Link SDK are official, with no API client (10 of 15). Package health not checked (5 of 10). 20 + 10 + 5 + 10 + 5 = 50.\n- Zoom Scheduler API (38): The latest Scheduler changelog entry is 19 October 2026, an API release adding the `scheduler.routing_form_submission_created` webhook, 16 days before this check (30). Two dated entries in the 90 days from 6 August, 17 August and 19 October (0). A public changelog with a developer forum thread for each entry and a developer support page. Whether the forum answers was not checked (8). No official SDK covers Scheduler, and Zoom Rivet 0.3.0 still has no Scheduler module (0). No package to assess (0). 30 + 0 + 8 + 0 + 0 = 38.\n\n### Transparency \u0026 trust: Zoom Scheduler API +9\n\n- Truto Unified Calendar API (61): Closed service under terms naming Yin Yang Inc. (15 of 30). Truto says it stores no customer data and calls vendors live, logs are kept 30 or 90 days by plan, data is kept 15 days after termination, and a DPA is public (25 of 30). Deprecated admin endpoints are marked with no policy or dates (6 of 20). Enterprise customers can choose a data region and tokens can be stored regionally; no subprocessor list was found (8 of 20). 15 + 25 + 6 + 8 = 54.\n- Zoom Scheduler API (70): Closed service under the Zoom API Licence and Terms of Use of 16 July 2025 (15). The Privacy Statement of 17 September 2026 gives no fixed retention periods. The Terms of Service delete customer content 30 days after termination, and both documents say communications-like customer content is not used to train AI models. The DPA is a PDF we did not read (18). A lifecycle page describes deprecation and sunset stages and the changelog tags them, but the API terms let Zoom change or deprecate APIs without prior notice, with only commercially reasonable efforts to tell developers (8). The sub-processor list, updated 2 October 2026, names 24 third parties and 23 affiliates with locations and has an email sign-up for changes (18). Total 59.\n\n### Payments \u0026 pricing: Zoom Scheduler API +5\n\n- Truto Unified Calendar API (20): No x402, MPP or L402 (0). Plan prices per connector a year are public, with unlimited calls (10). A free 30-day sandbox is given after a work-email request reviewed within a business day (10 of 20). A person requests access or books a demo (0). 0 + 10 + 10 + 0 = 20.\n- Zoom Scheduler API (25): No x402, MPP or L402 (0). Seat prices are public, $5.99 a user a month or $4.99 billed yearly, with nothing per call (10). Scheduler Basic is free with no card and a 14-day trial is advertised, but the pricing page lists API access under the paid plan and whether the free plan or the trial can call the API was not established (15). A person signs up and creates a Marketplace app in a browser (0). Total 25.\n\n## Score by category\n\n| Category | Weight | Truto Unified Calendar API | Zoom Scheduler API | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 77 | 65 | Truto Unified Calendar API +12 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 75 | 61 | Truto Unified Calendar API +14 |\n| Agent ergonomics | 13% (16.2 this run) | 71 | 43 | Truto Unified Calendar API +28 |\n| Security \u0026 auth | 14% (17.5 this run) | 52 | 54 | Zoom Scheduler API +2 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 20 | 25 | Zoom Scheduler API +5 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 50 | 38 | Truto Unified Calendar API +12 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 61 | 70 | Zoom Scheduler API +9 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **60.4 · C** | **51.9 · D** | |\n\n## Facts side by side\n\n| Fact | Truto Unified Calendar API | Zoom Scheduler API |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Yin Yang Inc. | Zoom Communications, Inc. |\n| Hosted endpoint | no (local only) | `https://api.zoom.us/v2` |\n| Transports |  | HTTP |\n| Auth | API key | OAuth |\n| Pricing | Paid | Paid |\n| x402 | no | no |\n| Licence | none | Proprietary service under the Zoom API Licence and Terms of Use |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-10-26 | 2026-10-19 |\n| Terms last updated | no date given | 2025-07-16 |\n| Privacy policy last updated | 2024-10-19 | 2026-09-17 |\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 | yes |\n| Terms restrict benchmarking | not found in the text | yes |\n| Terms or service can change without notice | not found in the text | yes |\n| Arbitration or class-action waiver | yes | yes |\n\n## How the scores have moved\n\n### Truto Unified Calendar API\n\nNo score change since it was listed.\n\n### Zoom Scheduler API\n\n- +1.2 on 4 November 2026: product, correction\n- no change on 28 October 2026: correction\n- +0.1 on 27 October 2026: checklist\n\n## Verdicts\n\n**Truto Unified Calendar API.** Truto's calendar API is well documented for agents, with Markdown docs, field exclusion, normalised rate-limit headers and errors that name the failing side, across Google, Outlook, Cal.com and Calendly. It is sold from $999 a connector a year through a demo, had an API outage on 29 October 2026 and has no public changelog.\n\n**Zoom Scheduler API.** Each of the 24 operations has its own granular OAuth scope, and Zoom Scheduler and the REST API are separate components on the status page. No operation moves a booking, no official SDK covers Scheduler, and Zoom's API terms forbid benchmarking or monitoring the service.\n\n## Before you call either\n\n### Truto Unified Calendar API\n\n1. Pass `integrated_account_id` on every call; the token alone reaches nothing\n2. Call the meta endpoint for the method first to see which filters the vendor supports\n3. Set `truto_ignore_remote_data=true` and list fields in `truto_exclude_fields` to keep responses small\n4. On 429 wait for Retry-After; stay under 50 requests every 10 seconds per integrated account\n5. Set `expand_recurring=true` when the task needs each instance of a repeating event\n\n### Zoom Scheduler API\n\n1. Call `GET /scheduler/schedules/{scheduleId}/available_times` and book only a spot whose status is `available`\n2. Send `start_date_time` in ISO 8601 with the booker's IANA `time_zone` to `POST /scheduler/attendee`. Expect 409 on a conflict\n3. To move a booking, cancel it with `PATCH /scheduler/events/{eventId}` and `status` set to `cancelled`, then book the new slot\n4. List scheduled events before retrying a booking, because no idempotency key is documented\n5. Request a new Server-to-Server OAuth token every hour. That grant issues no refresh token\n\n## Questions\n\n### Which is better for AI agents, Truto Unified Calendar API or Zoom Scheduler API?\n\nTruto Unified Calendar API scores 60.4 (C) on agent readiness against Zoom Scheduler API's 51.9 (D), and leads in 4 of 7 scored categories. Zoom Scheduler API leads on payments \u0026 pricing and transparency \u0026 trust.\n\n### Do Truto Unified Calendar API and Zoom Scheduler API need an API key?\n\nTruto Unified Calendar API needs an API key. Zoom Scheduler API uses an OAuth sign-in.\n\n### Can an agent call Truto Unified Calendar API and Zoom Scheduler API without installing anything?\n\nNo hosted endpoint is listed for Truto Unified Calendar API. Zoom Scheduler API has a hosted endpoint at https://api.zoom.us/v2.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/truto-calendar-vs-zoom-scheduler.json, and with the fewest tokens: https://www.anchorterminal.com/compare/truto-calendar-vs-zoom-scheduler.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"truto-calendar\", \"b\": \"zoom-scheduler\"}`. From a terminal: `anchor compare truto-calendar zoom-scheduler`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/truto-calendar.json and https://www.anchorterminal.com/api/v1/tools/zoom-scheduler.json\n\n## Other comparisons with Truto Unified Calendar API or Zoom Scheduler API\n\n- [Acuity Scheduling API vs Truto Unified Calendar API](https://www.anchorterminal.com/compare/acuity-scheduling-vs-truto-calendar.md)\n- [Acuity Scheduling API vs Zoom Scheduler API](https://www.anchorterminal.com/compare/acuity-scheduling-vs-zoom-scheduler.md)\n- [Agenda Hero vs Truto Unified Calendar API](https://www.anchorterminal.com/compare/agenda-hero-vs-truto-calendar.md)\n- [Agenda Hero vs Zoom Scheduler API](https://www.anchorterminal.com/compare/agenda-hero-vs-zoom-scheduler.md)\n- [Apiroc Unified Calendar API vs Truto Unified Calendar API](https://www.anchorterminal.com/compare/apiroc-vs-truto-calendar.md)\n- [Apiroc Unified Calendar API vs Zoom Scheduler API](https://www.anchorterminal.com/compare/apiroc-vs-zoom-scheduler.md)\n- [Aurinko Calendar API vs Truto Unified Calendar API](https://www.anchorterminal.com/compare/aurinko-calendar-vs-truto-calendar.md)\n- [Aurinko Calendar API vs Zoom Scheduler API](https://www.anchorterminal.com/compare/aurinko-calendar-vs-zoom-scheduler.md)\n- [Cal.com API v2 + MCP vs Truto Unified Calendar API](https://www.anchorterminal.com/compare/cal-com-vs-truto-calendar.md)\n- [Cal.com API v2 + MCP vs Zoom Scheduler API](https://www.anchorterminal.com/compare/cal-com-vs-zoom-scheduler.md)\n- [Calendly API + MCP vs Truto Unified Calendar API](https://www.anchorterminal.com/compare/calendly-vs-truto-calendar.md)\n- [Calendly API + MCP vs Zoom Scheduler API](https://www.anchorterminal.com/compare/calendly-vs-zoom-scheduler.md)\n- [Cozi Family Organizer vs Truto Unified Calendar API](https://www.anchorterminal.com/compare/cozi-vs-truto-calendar.md)\n- [Cozi Family Organizer vs Zoom Scheduler API](https://www.anchorterminal.com/compare/cozi-vs-zoom-scheduler.md)\n- [Cronofy API vs Truto Unified Calendar API](https://www.anchorterminal.com/compare/cronofy-vs-truto-calendar.md)\n- [Cronofy API vs Zoom Scheduler API](https://www.anchorterminal.com/compare/cronofy-vs-zoom-scheduler.md)\n- [Google Calendar API vs Truto Unified Calendar API](https://www.anchorterminal.com/compare/google-calendar-api-vs-truto-calendar.md)\n- [Google Calendar API vs Zoom Scheduler API](https://www.anchorterminal.com/compare/google-calendar-api-vs-zoom-scheduler.md)\n- [Microsoft Graph Calendar API vs Truto Unified Calendar API](https://www.anchorterminal.com/compare/microsoft-graph-calendar-vs-truto-calendar.md)\n- [Microsoft Graph Calendar API vs Zoom Scheduler API](https://www.anchorterminal.com/compare/microsoft-graph-calendar-vs-zoom-scheduler.md)\n- [Nylas Calendar and Scheduler API vs Truto Unified Calendar API](https://www.anchorterminal.com/compare/nylas-calendar-vs-truto-calendar.md)\n- [Nylas Calendar and Scheduler API vs Zoom Scheduler API](https://www.anchorterminal.com/compare/nylas-calendar-vs-zoom-scheduler.md)\n- [Reclaim.ai vs Truto Unified Calendar API](https://www.anchorterminal.com/compare/reclaim-ai-vs-truto-calendar.md)\n- [Reclaim.ai vs Zoom Scheduler API](https://www.anchorterminal.com/compare/reclaim-ai-vs-zoom-scheduler.md)\n- [SavvyCal API + MCP vs Truto Unified Calendar API](https://www.anchorterminal.com/compare/savvycal-vs-truto-calendar.md)\n- [SavvyCal API + MCP vs Zoom Scheduler API](https://www.anchorterminal.com/compare/savvycal-vs-zoom-scheduler.md)\n- [Truto Unified Calendar API vs YouCanBookMe API](https://www.anchorterminal.com/compare/truto-calendar-vs-youcanbookme.md)\n- [YouCanBookMe API vs Zoom Scheduler API](https://www.anchorterminal.com/compare/youcanbookme-vs-zoom-scheduler.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-11-07",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.7",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Truto Unified Calendar API vs Zoom Scheduler API",
        "url": ""
      }
    ],
    "description": "Truto Unified Calendar scores 60.4 (C) to Zoom Scheduler's 51.9 (D) for calendar access. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Truto Unified Calendar API C 60.4",
      "Zoom Scheduler API D 51.9",
      "scores"
    ],
    "h1": "Truto Unified Calendar API vs Zoom Scheduler API",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/truto-calendar-vs-zoom-scheduler",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Truto Unified Calendar vs Zoom Scheduler for AI agents (2026)",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/truto-calendar-vs-zoom-scheduler"
  },
  "tokens": {
    "markdown": 4950,
    "slim": 2780
  },
  "version": 1
}
