{"api_name":"Linear API","docs_url":"https://linear.app/docs/api-and-webhooks","domain":"linear.app","generated_at":"2026-10-05T22:34:25.213268+00:00","agent_readiness_score":75,"certification_level":"Yoofooz Ready","agent_commerce_score":40,"agent_commerce_level":"Agent Commerce Emerging","agent_commerce":{"generated_at":"2026-10-05T22:34:25.122262+00:00","agent_commerce_score":40,"agent_commerce_level":"Agent Commerce Emerging","machine_payment_capable":false,"detected_protocols":["MCP"],"category_scores":{"mcp_support":10,"agent_identity_auth":5,"machine_payments":0,"machine_pricing":0,"budget_controls":0,"agent_rate_controls":10,"deterministic_errors":0,"auditability":10,"agent_security":5,"agent_observability":0},"strengths":["MCP support","Agent rate and quota controls","Auditability / receipts / traceability"],"gaps":["Machine-native payments","Machine-readable consumption pricing","Budget / spend controls","Deterministic machine-readable errors","Agent traffic observability"],"matched_signals":{"mcp_support":{"score":10,"matched_terms":["model context protocol","mcp server","mcp tools","mcp endpoint","mcp"]},"agent_identity_auth":{"score":5,"matched_terms":["oauth","authorization","scopes","access token"]},"machine_payments":{"score":0,"matched_terms":[]},"machine_pricing":{"score":0,"matched_terms":[]},"budget_controls":{"score":0,"matched_terms":["limit"]},"agent_rate_controls":{"score":10,"matched_terms":["rate limit","rate limits","quota","limits"]},"deterministic_errors":{"score":0,"matched_terms":["errors"]},"auditability":{"score":10,"matched_terms":["audit log","history"]},"agent_security":{"score":5,"matched_terms":["security","permissions","scopes"]},"agent_observability":{"score":0,"matched_terms":["usage"]}},"evidence_signals":{"mcp_support":[{"source_url":"https://linear.app/docs/mcp","matched_terms":["model context protocol","mcp server","mcp tools","mcp endpoint","mcp"],"snippet":"k Zapier Zendesk Diffs Integrations Analytics Importers Docs Developers Learn Contact support AI MCP server Copy page Sign up Open app MCP server The Model Context Protocol (MCP) server provides a standardized interface that allows any compatible AI model or agent to access your Linear data in a simple and secure way...."}],"agent_identity_auth":[{"source_url":"https://linear.app/docs/api-and-webhooks","matched_terms":["oauth"],"snippet":"t as the payload. We’ll also let you know what the previous values for all changed properties were. Create a webhook ⁠ Create and manage webhooks and OAuth applications in Settings > Administration > API. Admin permissions in your workspace are necessary to view this page. Third-party apps ⁠ Third-party integrations..."},{"source_url":"https://linear.app/docs/mcp","matched_terms":["oauth","authorization","access token"],"snippet":"Setup ⁠ General ⁠ Our MCP server uses Streamable HTTP as the primary transport, accessible at the following address. The interactive setup flow uses OAuth 2.1 with dynamic client registration. You can also authenticate directly with a bearer token or Linear API key — see the FAQ for details. Read-write access is..."}],"budget_controls":[{"source_url":"https://linear.app/docs/api-and-webhooks","matched_terms":["limit"],"snippet":"ll access to the data your user can access, or restrict it to certain permissions ( Read, Write, Admin, Create issues, Create comments). You can also limit an API key’s access to specific teams in your workspace. Webhooks ⁠ Our webhooks support data change events for Issues, Comments, Issue attachments, Documents,..."},{"source_url":"https://linear.app/developers/webhooks","matched_terms":["limit"],"snippet":"Skip to content → Developers Sign up Open app GraphQL API Getting started Pagination Filtering Rate limiting Deprecations Webhooks Attachments Managing Customers GraphQL Schema ↗ Authentication OAuth 2.0 authentication OAuth actor authorization OAuth application manifests Fi"}],"agent_rate_controls":[{"source_url":"https://linear.app/developers/webhooks","matched_terms":["rate limit"],"snippet":"Skip to content → Developers Sign up Open app GraphQL API Getting started Pagination Filtering Rate limiting Deprecations Webhooks Attachments Managing Customers GraphQL Schema ↗ Authentication OAuth 2.0 authentication OAuth actor authorization OAuth application manifests Fi"},{"source_url":"https://linear.app/developers/oauth-2-0-authentication","matched_terms":["rate limit"],"snippet":"Skip to content → Developers Sign up Open app GraphQL API Getting started Pagination Filtering Rate limiting Deprecations Webhooks Attachments Managing Customers GraphQL Schema ↗ Authentication OAuth 2.0 authentication OAuth actor authorization OAuth application manifests Fi"}],"deterministic_errors":[{"source_url":"https://linear.app/developers/webhooks","matched_terms":["errors"],"snippet":"es (AIG) Getting Started Developing the Agent Interaction Interaction Best Practices Signals TypeScript SDK Getting started Fetching & modifying data Errors Advanced usage Webhooks Migrating from 1.x to 2.x GitHub ↗ Guides How to upload a file to Linear Create issues using linear.new Integration Directory Docs..."},{"source_url":"https://linear.app/developers/oauth-2-0-authentication","matched_terms":["errors"],"snippet":"es (AIG) Getting Started Developing the Agent Interaction Interaction Best Practices Signals TypeScript SDK Getting started Fetching & modifying data Errors Advanced usage Webhooks Migrating from 1.x to 2.x GitHub ↗ Guides How to upload a file to Linear Create issues using linear.new Integration Directory Docs..."}],"auditability":[{"source_url":"https://linear.app/docs/api-and-webhooks","matched_terms":["audit log"],"snippet":"Workspaces Login methods Invite members Members and roles Security SAML SCIM API and Webhooks Third-Party App Approvals Billing and plans AI Credits Audit log Exporting Data AI Your sidebar Teams Issues Issue properties Projects Initiatives Cycles Views Find and filter Linear Asks Integrations Analytics Importers Docs..."},{"source_url":"https://linear.app/docs/mcp","matched_terms":["history"],"snippet":"rk in Linear around a topic, so teams can understand how a project, incident, or theme evolved over time. Example prompt You are helping document the history of work in Linear around a specific topic. Gather the relevant issues and projects connected to that topic, review their historical activity, and produce a..."}],"agent_security":[{"source_url":"https://linear.app/docs/api-and-webhooks","matched_terms":["security","permissions"],"snippet":"Skip to content → Docs Sign up Open app Getting started Account Administration Workspaces Login methods Invite members Members and roles Security SAML SCIM API and Webhooks Third-Party App Approvals Billing and plans AI Credits Audit log Exporting Data AI Your sidebar Teams Issues Issue properties Projects Initiat"},{"source_url":"https://linear.app/docs/mcp","matched_terms":["security"],"snippet":"CP to Cursor, you can install by clicking here , or searching for Linear from Cursor’s MCP tools page . Jules ⁠ In Linear, go to Settings > Account > Security & Access Generate a new API key and copy it somewhere secure Now in Jules, go to MCP Settings Select Connect on the Linear server and paste your API key Visual..."}],"agent_observability":[{"source_url":"https://linear.app/developers/webhooks","matched_terms":["usage"],"snippet":"Started Developing the Agent Interaction Interaction Best Practices Signals TypeScript SDK Getting started Fetching & modifying data Errors Advanced usage Webhooks Migrating from 1.x to 2.x GitHub ↗ Guides How to upload a file to Linear Create issues using linear.new Integration Directory Docs Developers Learn Contact..."},{"source_url":"https://linear.app/developers/oauth-2-0-authentication","matched_terms":["usage"],"snippet":"Started Developing the Agent Interaction Interaction Best Practices Signals TypeScript SDK Getting started Fetching & modifying data Errors Advanced usage Webhooks Migrating from 1.x to 2.x GitHub ↗ Guides How to upload a file to Linear Create issues using linear.new Integration Directory Docs Developers Learn Contact..."}]},"scoring_signals":{"docs_fetched":true,"pages_fetched":10,"candidate_pages":10,"fetched_urls":["https://linear.app/docs/api-and-webhooks","https://linear.app/docs/mcp","https://linear.app/developers/webhooks","https://linear.app/developers/oauth-2-0-authentication","https://linear.app/developers/oauth-actor-authorization","https://linear.app/developers/rate-limiting","https://linear.app/developers/sdk-errors","https://linear.app/developers/agents","https://linear.app/developers/advanced-usage","https://linear.app/developers/sdk-webhooks"],"scoring_source":"YoofoozBot bounded crawl"},"methodology":{"separate_from_agent_readiness":true,"category_count":10,"category_scale":[0,5,10],"max_score":100,"evidence_required_for_public_claims":true}},"category_scores":{"documentation_clarity":10,"machine_readable_spec":10,"authentication_clarity":10,"error_handling":10,"rate_limit_clarity":10,"agent_safe_workflow_support":0,"sandbox_availability":0,"webhook_event_support":10,"commercial_trust":5,"developer_experience":10},"strengths":["Documentation clarity","Machine-readable specification (OpenAPI/GraphQL/etc.)","Authentication model clarity","Error handling and status codes","Rate-limit / quota behavior","Webhook / event support","Developer experience (SDKs, quickstart, CLI)"],"risks":["Agent-safe workflow primitives (idempotency, retries) signal not detected in docs.","Sandbox / test-mode availability signal not detected in docs.","Commercial trust (status, SLA, compliance) signal is partial; clearer documentation recommended."],"recommended_next_steps":["Document idempotency keys, test mode, dry runs, and safe retry semantics for agents.","Provide a sandbox / test mode with test API keys for safe agent testing.","Strengthen: Publish status page, SLA, and security/compliance posture (SOC 2, GDPR, PCI as applicable)."],"scoring_signals":{"docs_fetched":true,"docs_chars_used":66094,"pages_fetched":10,"candidate_pages":10,"fetched_urls":["https://linear.app/docs/api-and-webhooks","https://linear.app/docs/mcp","https://linear.app/developers/webhooks","https://linear.app/developers/oauth-2-0-authentication","https://linear.app/developers/oauth-actor-authorization","https://linear.app/developers/rate-limiting","https://linear.app/developers/sdk-errors","https://linear.app/developers/agents","https://linear.app/developers/advanced-usage","https://linear.app/developers/sdk-webhooks"],"scoring_source":"yoofoozbot_crawl_documents"},"matched_signals":{"documentation_clarity":{"score":10,"matched_terms":["getting started","parameters","request","response","docs","guide","reference","overview"]},"machine_readable_spec":{"score":10,"matched_terms":["graphql schema","endpoints","schema","graphql","schema explorer"]},"authentication_clarity":{"score":10,"matched_terms":["bearer token","oauth","access token","client secret","scopes","authentication","authorization","api key","keys"]},"error_handling":{"score":10,"matched_terms":["400","401","404","409","500","errors"]},"rate_limit_clarity":{"score":10,"matched_terms":["rate limit","rate limits","quota","limits"]},"agent_safe_workflow_support":{"score":0,"matched_terms":[]},"sandbox_availability":{"score":0,"matched_terms":[]},"webhook_event_support":{"score":10,"matched_terms":["webhooks","signing secret","webhook","events","callback"]},"commercial_trust":{"score":5,"matched_terms":["support","security"]},"developer_experience":{"score":10,"matched_terms":["sdk","cli","guides"]}},"evidence_signals":{"documentation_clarity":[{"source_url":"https://linear.app/developers/oauth-2-0-authentication","matched_terms":["getting started","parameters","request","response","docs","guide"],"snippet":"skip to content → developers sign up open app graphql api getting started pagination filtering rate limiting deprecations webhooks attachments managing customers graphql schema ↗ authentication oauth 2.0 authentication..."},{"source_url":"https://linear.app/developers/rate-limiting","matched_terms":["getting started","parameters","request","response","docs","guide"],"snippet":"skip to content → developers sign up open app graphql api getting started pagination filtering rate limiting deprecations webhooks attachments managing customers graphql schema ↗ authentication oauth 2.0 authentication..."}],"machine_readable_spec":[{"source_url":"https://linear.app/developers/webhooks","matched_terms":["graphql schema","endpoints","schema","graphql","schema explorer"],"snippet":"...→ developers sign up open app graphql api getting started pagination filtering rate limiting deprecations webhooks attachments managing customers graphql schema ↗ authentication oauth 2.0 authentication oauth actor authorization oauth application manifests file storage authentication agents agent interaction..."},{"source_url":"https://linear.app/developers/oauth-2-0-authentication","matched_terms":["graphql schema","endpoints","schema","graphql"],"snippet":"...→ developers sign up open app graphql api getting started pagination filtering rate limiting deprecations webhooks attachments managing customers graphql schema ↗ authentication oauth 2.0 authentication oauth actor authorization oauth application manifests file storage authentication agents agent interaction..."}],"authentication_clarity":[{"source_url":"https://linear.app/developers/oauth-2-0-authentication","matched_terms":["oauth","access token","client secret","scopes","authentication","authorization","api key"],"snippet":"...graphql api getting started pagination filtering rate limiting deprecations webhooks attachments managing customers graphql schema ↗ authentication oauth 2.0 authentication oauth actor authorization oauth application manifests file storage authentication agents agent interaction guidelines (aig)..."},{"source_url":"https://linear.app/docs/mcp","matched_terms":["bearer token","oauth","access token","authentication","authorization","api key","keys"],"snippet":"...at the following address. the interactive setup flow uses oauth 2.1 with dynamic client registration. you can also authenticate directly with a bearer token or linear api key — see the faq for details. read-write access is provided through https://mcp.linear.app/mcp by default. for read-only access, you..."}],"error_handling":[{"source_url":"https://linear.app/developers/rate-limiting","matched_terms":["400","404","500","errors"],"snippet":"...the time at which the current rate limit window resets in utc epoch milliseconds . when authenticated using an api key you can make up to 2,500 requests per hour . requests are associated with the authenticated user, which means all requests by the same user share the same quota even when..."},{"source_url":"https://linear.app/developers/oauth-2-0-authentication","matched_terms":["400","401","errors"],"snippet":"...should use the token field. the token field must not be combined with legacy fields. response ⁠ expected http status: 200 - token was revoked 400 - unable to revoke token (e.g. token was already revoked) 401 - unable to authenticate with the token rotating your client secret ⁠ if your..."}],"rate_limit_clarity":[{"source_url":"https://linear.app/developers/rate-limiting","matched_terms":["rate limit","rate limits","quota","limits"],"snippet":"skip to content → developers sign up open app graphql api getting started pagination filtering rate limiting deprecations webhooks attachments managing customers graphql schema ↗ authentication oauth 2.0 authentication oauth actor authorization oauth..."},{"source_url":"https://linear.app/developers/webhooks","matched_terms":["rate limit"],"snippet":"skip to content → developers sign up open app graphql api getting started pagination filtering rate limiting deprecations webhooks attachments managing customers graphql schema ↗ authentication oauth 2.0 authentication oauth actor authorization oauth..."}],"webhook_event_support":[{"source_url":"https://linear.app/developers/oauth-2-0-authentication","matched_terms":["webhooks","signing secret","webhook","events","callback"],"snippet":"skip to content → developers sign up open app graphql api getting started pagination filtering rate limiting deprecations webhooks attachments managing customers graphql schema ↗ authentication oauth 2.0 authentication oauth actor authorization oauth application manifests file..."},{"source_url":"https://linear.app/developers/webhooks","matched_terms":["webhooks","signing secret","webhook","events"],"snippet":"skip to content → developers sign up open app graphql api getting started pagination filtering rate limiting deprecations webhooks attachments managing customers graphql schema ↗ authentication oauth 2.0 authentication oauth actor authorization oauth application manifests file..."}],"commercial_trust":[{"source_url":"https://linear.app/docs/api-and-webhooks","matched_terms":["support","security"],"snippet":"...issues issue properties projects initiatives cycles views find and filter linear asks integrations analytics importers docs developers learn contact support administration api and webhooks copy page sign up open app api and webhooks linear’s graphql api and webhooks lets you extend linear’s functionality..."},{"source_url":"https://linear.app/docs/mcp","matched_terms":["support","security"],"snippet":"...intercom jira microsoft teams notion salesforce sentry slack zapier zendesk diffs integrations analytics importers docs developers learn contact support ai mcp server copy page sign up open app mcp server the model context protocol (mcp) server provides a standardized interface that allows any..."}],"developer_experience":[{"source_url":"https://linear.app/developers/webhooks","matched_terms":["sdk","cli","guides"],"snippet":"...agents agent interaction guidelines (aig) getting started developing the agent interaction interaction best practices signals typescript sdk getting started fetching & modifying data errors advanced usage webhooks migrating from 1.x to 2.x github ↗ guides how to upload a file to linear..."},{"source_url":"https://linear.app/developers/oauth-2-0-authentication","matched_terms":["sdk","cli","guides"],"snippet":"...agents agent interaction guidelines (aig) getting started developing the agent interaction interaction best practices signals typescript sdk getting started fetching & modifying data errors advanced usage webhooks migrating from 1.x to 2.x github ↗ guides how to upload a file to linear..."}]},"yoofoozbot":{"run_id":"20261005T223358Z_linear_api_52939356","user_agent":"YoofoozBot/1.10 (+https://yoofooz.com/yoofoozbot; contact: submit@yoofooz.com)","pages_fetched":10,"total_bytes":2097152,"robots_respected":true,"crawl_record_path":"outputs/yoofoozbot/20261005T223358Z_linear_api_52939356.json","spec_candidates":[],"signal_summary":{"openapi":{"detected":false,"matched_terms":[]},"authentication":{"detected":true,"matched_terms":["authentication","oauth","bearer token","api key"]},"errors":{"detected":false,"matched_terms":[]},"rate_limits":{"detected":true,"matched_terms":["rate limit","quota"]},"webhooks":{"detected":true,"matched_terms":["webhook"]},"sandbox":{"detected":false,"matched_terms":[]},"agent_workflows":{"detected":true,"matched_terms":["mcp","agent"]},"developer_experience":{"detected":true,"matched_terms":["sdk","cli"]},"commercial_trust":{"detected":true,"matched_terms":["security","sla"]},"mcp_support":{"detected":true,"matched_terms":["model context protocol","mcp server","mcp tools","mcp endpoint"]},"machine_payments":{"detected":false,"matched_terms":[]},"machine_pricing":{"detected":false,"matched_terms":[]},"budget_controls":{"detected":false,"matched_terms":[]},"agent_identity":{"detected":false,"matched_terms":[]},"auditability":{"detected":true,"matched_terms":["audit log"]},"agent_observability":{"detected":false,"matched_terms":[]}},"readiness_scoring_pages":10,"readiness_scoring_source":"yoofoozbot_crawl_documents","agent_commerce_probe":{"score":40,"level":"Agent Commerce Emerging","machine_payment_capable":false,"detected_protocols":["MCP"],"evidence_categories":["agent_identity_auth","agent_observability","agent_rate_controls","agent_security","auditability","budget_controls","deterministic_errors","mcp_support"]}},"ai_analysis":{"provider":"nvidia","enabled":true,"model":"meta/llama-4-maverick-17b-128e-instruct","summary":null,"credibility_notes":[],"next_actions":[],"error":"NVIDIA analysis failed: http 410"}}