{
  "api_contract": "sourcey.catalog-api/v1",
  "release_id": "sha256:1042b2f7b6130b564b0059e00560960c50db2d7578dfa5178d401e5d14d9b11f",
  "artifact_sha256": "sha256:a695609a4d6872bd447e3125d912e7f84e605d0f064df0b08e62a9f24d9d2e80",
  "data": {
    "revision_contract": "sourcey.agent-readiness-revision/v1alpha1",
    "agent_readiness_profile_id": "arp_01kzf0m4xd8y5ms1v7q3kc9pg2",
    "entity_id": "ent_01kyyts97tbppvx69rh3v86sk2",
    "scope": {
      "product": {
        "key": "notion-api",
        "name": "Notion API"
      },
      "funnel": {
        "key": "api-integration-lifecycle",
        "name": "API integration lifecycle"
      }
    },
    "catalog_binding": {
      "base_release_id": "sha256:5082ec07047a2324648f569d234cc64342ce2707b2f3d77fde8fc06af517cee6",
      "entity_revision_digest": "sha256:62f4d66bedfeb994302976356b77a20495b191e04e9d44060282e358d80c8f71"
    },
    "declaration_revision_digest": "sha256:4fbf69da9679af5d11f2657758de0482c9363d5766f3df6c0207741659eef141",
    "declaration": {
      "declaration_id": "declaration_notion_api_integration_lifecycle",
      "provenance": {
        "repository": "sourcey/agent-ready-services",
        "commit": "00f00edd170194cc1cf3081b97b218474537ffdb",
        "path": "vendors/no/notion.yaml",
        "git_blob_oid": "f4d57f252216910893d6f0c5719b464475ee7c09",
        "blob_digest": "sha256:d9c6334dfe8f41a6f1a4f76b2d9badf1de5cd95dbd7efc459bc9500d7486b344"
      },
      "status": "community_declared"
    },
    "lifecycle": "active",
    "effective_from": "2026-08-08T02:07:05.231Z",
    "signals": [
      {
        "stage": "evaluate",
        "signal_code": "decidable_eligibility",
        "value": "unknown",
        "observed_at": "2026-08-07T21:25:59.188Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "service-terms"
          }
        ],
        "assessment_method": {
          "name": "http",
          "version": "1",
          "method_digest": "sha256:2d2f445064222c234cbaf541a627226a2c4be06a90e226b98a4389cb49e2d66b"
        },
        "note": "The retained terms text provides metadata and title info, but lacks explicit criteria to establish decidable eligibility."
      },
      {
        "stage": "evaluate",
        "signal_code": "machine_discovery",
        "value": "yes",
        "observed_at": "2026-08-07T21:13:46.924Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "api-overview"
          }
        ],
        "assessment_method": {
          "name": "http",
          "version": "1",
          "method_digest": "sha256:2d2f445064222c234cbaf541a627226a2c4be06a90e226b98a4389cb49e2d66b"
        },
        "note": "Machine discovery is supported via canonical links and explicit document references to llms.txt and API navigation routes."
      },
      {
        "stage": "evaluate",
        "signal_code": "readable_pricing",
        "value": "yes",
        "observed_at": "2026-08-07T21:13:48.501Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "pricing"
          }
        ],
        "assessment_method": {
          "name": "http",
          "version": "1",
          "method_digest": "sha256:2d2f445064222c234cbaf541a627226a2c4be06a90e226b98a4389cb49e2d66b"
        },
        "note": "Pricing details across Free, Plus, and Business tiers with specific pricing values are explicitly published and machine-readable."
      },
      {
        "stage": "evaluate",
        "signal_code": "structured_terms",
        "value": "partial",
        "observed_at": "2026-08-07T21:25:59.188Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "service-terms"
          }
        ],
        "assessment_method": {
          "name": "http",
          "version": "1",
          "method_digest": "sha256:2d2f445064222c234cbaf541a627226a2c4be06a90e226b98a4389cb49e2d66b"
        },
        "negative_coverage": {
          "kind": "complete-response-inspection",
          "scope": "exact-resource",
          "covered_surfaces": [
            {
              "node_kind": "resource",
              "node_id": "service-terms"
            }
          ]
        },
        "note": "Terms are published via HTML, representing a readable but un-structured terms contract format."
      },
      {
        "stage": "sign_up",
        "signal_code": "captcha_free",
        "value": "yes",
        "observed_at": "2026-08-07T21:54:24.665Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "workspace-signup"
          }
        ],
        "assessment_method": {
          "name": "headless",
          "version": "1",
          "method_digest": "sha256:5c58a6d3f59d1910064324a215209f16f177b8021442dcbf1465f4c3ccd78ed1"
        },
        "note": "No CAPTCHA challenge was encountered on the Notion signup page during headless evaluation."
      },
      {
        "stage": "sign_up",
        "signal_code": "machine_operable_form",
        "value": "yes",
        "observed_at": "2026-08-07T21:54:24.665Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "workspace-signup"
          }
        ],
        "assessment_method": {
          "name": "headless",
          "version": "1",
          "method_digest": "sha256:5c58a6d3f59d1910064324a215209f16f177b8021442dcbf1465f4c3ccd78ed1"
        },
        "note": "The account creation page presents standard machine-operable form controls, including input fields for work email and submission buttons."
      },
      {
        "stage": "sign_up",
        "signal_code": "phone_verification_free",
        "value": "yes",
        "observed_at": "2026-08-07T21:54:24.665Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "workspace-signup"
          }
        ],
        "assessment_method": {
          "name": "headless",
          "version": "1",
          "method_digest": "sha256:5c58a6d3f59d1910064324a215209f16f177b8021442dcbf1465f4c3ccd78ed1"
        },
        "note": "The signup interface allows registration using work email or single sign-on without requiring phone or SMS verification."
      },
      {
        "stage": "sign_up",
        "signal_code": "stable_entrypoint",
        "value": "yes",
        "observed_at": "2026-08-07T21:54:26.289Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "workspace-signup"
          }
        ],
        "assessment_method": {
          "name": "http",
          "version": "1",
          "method_digest": "sha256:2d2f445064222c234cbaf541a627226a2c4be06a90e226b98a4389cb49e2d66b"
        },
        "note": "The signup URL returned a valid and stable HTTP response."
      },
      {
        "stage": "sign_up",
        "signal_code": "supported_identity_flow",
        "value": "yes",
        "observed_at": "2026-08-07T21:14:15.518Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "authorization"
          }
        ],
        "assessment_method": {
          "name": "headless",
          "version": "1",
          "method_digest": "sha256:5c58a6d3f59d1910064324a215209f16f177b8021442dcbf1465f4c3ccd78ed1"
        },
        "note": "Notion documents scoped and revocable authorization flows, including OAuth 2.0 public connections with explicit user page-picking consent and internal integration tokens."
      },
      {
        "stage": "pay",
        "signal_code": "explicit_price",
        "value": "yes",
        "observed_at": "2026-08-07T21:13:48.501Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "pricing"
          }
        ],
        "assessment_method": {
          "name": "http",
          "version": "1",
          "method_digest": "sha256:2d2f445064222c234cbaf541a627226a2c4be06a90e226b98a4389cb49e2d66b"
        },
        "note": "Notion explicitly publishes plan pricing details (e.g. Free at $0, Plus at $10/member/month, Business at $20/member/month) on its public pricing page."
      },
      {
        "stage": "pay",
        "signal_code": "machine_operable_checkout",
        "value": "no",
        "observed_at": "2026-08-07T21:54:24.665Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "workspace-signup"
          }
        ],
        "assessment_method": {
          "name": "headless",
          "version": "1",
          "method_digest": "sha256:5c58a6d3f59d1910064324a215209f16f177b8021442dcbf1465f4c3ccd78ed1"
        },
        "negative_coverage": {
          "kind": "bounded-rendered-flow-inspection",
          "scope": "tested-surfaces",
          "covered_surfaces": [
            {
              "node_kind": "resource",
              "node_id": "workspace-signup"
            }
          ]
        },
        "note": "The signup flow at app.notion.com presents interactive email and single sign-on registration forms that require human interaction rather than a machine-operable API checkout."
      },
      {
        "stage": "pay",
        "signal_code": "sales_intervention_free",
        "value": "yes",
        "observed_at": "2026-08-07T21:54:24.665Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "workspace-signup"
          }
        ],
        "assessment_method": {
          "name": "headless",
          "version": "1",
          "method_digest": "sha256:5c58a6d3f59d1910064324a215209f16f177b8021442dcbf1465f4c3ccd78ed1"
        },
        "note": "The standard account creation and onboarding flow allows self-service signup via work email or direct provider authentication (Google/Microsoft) without sales intervention."
      },
      {
        "stage": "pay",
        "signal_code": "supported_payment_rail",
        "value": "no",
        "observed_at": "2026-08-07T21:54:24.665Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "workspace-signup"
          }
        ],
        "assessment_method": {
          "name": "headless",
          "version": "1",
          "method_digest": "sha256:5c58a6d3f59d1910064324a215209f16f177b8021442dcbf1465f4c3ccd78ed1"
        },
        "negative_coverage": {
          "kind": "bounded-rendered-flow-inspection",
          "scope": "tested-surfaces",
          "covered_surfaces": [
            {
              "node_kind": "resource",
              "node_id": "workspace-signup"
            }
          ]
        },
        "note": "The workspace signup flow does not expose an automated or supported programmatic payment rail for machine operations."
      },
      {
        "stage": "provision",
        "signal_code": "automatic_activation",
        "value": "yes",
        "observed_at": "2026-08-07T21:14:03.955Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "quickstart"
          }
        ],
        "assessment_method": {
          "name": "headless",
          "version": "1",
          "method_digest": "sha256:5c58a6d3f59d1910064324a215209f16f177b8021442dcbf1465f4c3ccd78ed1"
        },
        "note": "Notion API quickstart shows that creating a personal access token automatically grants usable access for immediate page creation requests."
      },
      {
        "stage": "provision",
        "signal_code": "bounded_delay",
        "value": "unknown",
        "observed_at": "2026-08-07T21:13:50.607Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "request-limits"
          }
        ],
        "assessment_method": {
          "name": "http",
          "version": "1",
          "method_digest": "sha256:2d2f445064222c234cbaf541a627226a2c4be06a90e226b98a4389cb49e2d66b"
        },
        "note": "Notion documentation specifies rate limits and retry guidelines, but does not provide an explicit bounded timing guarantee for API request or credential provisioning."
      },
      {
        "stage": "provision",
        "signal_code": "credential_delivery",
        "value": "yes",
        "observed_at": "2026-08-07T21:14:15.518Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "authorization"
          }
        ],
        "assessment_method": {
          "name": "headless",
          "version": "1",
          "method_digest": "sha256:5c58a6d3f59d1910064324a215209f16f177b8021442dcbf1465f4c3ccd78ed1"
        },
        "note": "Notion delivers usable credentials via static tokens for internal connections and PATs, and via an OAuth 2.0 exchange endpoint delivering an access_token and refresh_token for public connections."
      },
      {
        "stage": "provision",
        "signal_code": "machine_readable_status",
        "value": "partial",
        "observed_at": "2026-08-07T21:13:50.607Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "request-limits"
          }
        ],
        "assessment_method": {
          "name": "http",
          "version": "1",
          "method_digest": "sha256:2d2f445064222c234cbaf541a627226a2c4be06a90e226b98a4389cb49e2d66b"
        },
        "negative_coverage": {
          "kind": "complete-response-inspection",
          "scope": "exact-resource",
          "covered_surfaces": [
            {
              "node_kind": "resource",
              "node_id": "request-limits"
            }
          ]
        },
        "note": "Notion documents structured machine-readable status and error codes (such as rate_limited and HTTP 429/529 errors), but does not detail complete machine-readable asynchronous progress, reconciliation, or cancellation status for all provisioning stages."
      },
      {
        "stage": "operate",
        "signal_code": "api_tool_access",
        "value": "yes",
        "observed_at": "2026-08-07T21:13:46.924Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "api-overview"
          }
        ],
        "assessment_method": {
          "name": "http",
          "version": "1",
          "method_digest": "sha256:2d2f445064222c234cbaf541a627226a2c4be06a90e226b98a4389cb49e2d66b"
        },
        "note": "Notion provides a documented REST API allowing machine access to pages, databases, users, comments, and other workspace content."
      },
      {
        "stage": "operate",
        "signal_code": "delegated_recovery",
        "value": "partial",
        "observed_at": "2026-08-07T21:13:49.584Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "status-codes"
          }
        ],
        "assessment_method": {
          "name": "http",
          "version": "1",
          "method_digest": "sha256:2d2f445064222c234cbaf541a627226a2c4be06a90e226b98a4389cb49e2d66b"
        },
        "negative_coverage": {
          "kind": "complete-response-inspection",
          "scope": "exact-resource",
          "covered_surfaces": [
            {
              "node_kind": "resource",
              "node_id": "status-codes"
            }
          ]
        },
        "note": "Status code documentation provides retry guidance for transient errors, conflicts, and rate limits, but full credential rotation and recovery pathways require human intervention or standard OAuth handling."
      },
      {
        "stage": "operate",
        "signal_code": "documented_limits_errors",
        "value": "yes",
        "observed_at": "2026-08-07T21:13:50.607Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "request-limits"
          }
        ],
        "assessment_method": {
          "name": "http",
          "version": "1",
          "method_digest": "sha256:2d2f445064222c234cbaf541a627226a2c4be06a90e226b98a4389cb49e2d66b"
        },
        "note": "Notion documents rate limits, parameter size limits, structured error codes, Retry-After header guidance, and explicit idempotency semantics for retries."
      },
      {
        "stage": "operate",
        "signal_code": "usable_authentication",
        "value": "yes",
        "observed_at": "2026-08-07T21:13:51.750Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "authorization"
          }
        ],
        "assessment_method": {
          "name": "http",
          "version": "1",
          "method_digest": "sha256:2d2f445064222c234cbaf541a627226a2c4be06a90e226b98a4389cb49e2d66b"
        },
        "note": "Notion supports usable agent and application authentication via Bearer tokens for internal connections/PATs and OAuth 2.0 access tokens for public connections."
      }
    ],
    "revision_digest": "sha256:9a87be92ab1e3705cf482e99015d9a8fd0403a75f650f298e3ababeee826504e"
  }
}
