{
  "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_01kzf0m4x62a9z5fqb4kvp1hme",
    "entity_id": "ent_01kyh8jtf535570d9z2bng6j1t",
    "scope": {
      "product": {
        "key": "cloudflare-developer-platform",
        "name": "Cloudflare Developer Platform"
      },
      "funnel": {
        "key": "api-resource-management",
        "name": "API resource management"
      }
    },
    "catalog_binding": {
      "base_release_id": "sha256:5082ec07047a2324648f569d234cc64342ce2707b2f3d77fde8fc06af517cee6",
      "entity_revision_digest": "sha256:cddeb11506db30b6ffb13fcff407b1931f123a1eb2cc8edf5ca023ba03c71100"
    },
    "declaration_revision_digest": "sha256:9e4d62f8757f8b48837ce33aac88803f98801c9f13df2ce57c533a21858b97c0",
    "declaration": {
      "declaration_id": "declaration_cloudflare_api_resource_management",
      "provenance": {
        "repository": "sourcey/agent-ready-services",
        "commit": "00f00edd170194cc1cf3081b97b218474537ffdb",
        "path": "vendors/cl/cloudflare.yaml",
        "git_blob_oid": "a868b047ee97f36691b1532ae8969089144153c8",
        "blob_digest": "sha256:1b43a335de0df3c2a669900df45c947688b4682638e270ec802f4313264bad94"
      },
      "status": "community_declared"
    },
    "lifecycle": "active",
    "effective_from": "2026-08-08T02:06:52.645Z",
    "signals": [
      {
        "stage": "evaluate",
        "signal_code": "decidable_eligibility",
        "value": "yes",
        "observed_at": "2026-08-07T21:13:09.736Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "service-terms"
          }
        ],
        "assessment_method": {
          "name": "http",
          "version": "1",
          "method_digest": "sha256:2d2f445064222c234cbaf541a627226a2c4be06a90e226b98a4389cb49e2d66b"
        },
        "note": "Eligibility criteria and subscription terms are explicitly defined and decidable in the Self-Serve Subscription Agreement."
      },
      {
        "stage": "evaluate",
        "signal_code": "machine_discovery",
        "value": "yes",
        "observed_at": "2026-08-07T21:25:30.357Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "api-reference"
          }
        ],
        "assessment_method": {
          "name": "http",
          "version": "1",
          "method_digest": "sha256:2d2f445064222c234cbaf541a627226a2c4be06a90e226b98a4389cb49e2d66b"
        },
        "note": "The product API endpoints and account resource management methods are machine-discoverable via public API documentation."
      },
      {
        "stage": "evaluate",
        "signal_code": "readable_pricing",
        "value": "yes",
        "observed_at": "2026-08-07T21:13:12.026Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "plans"
          }
        ],
        "assessment_method": {
          "name": "http",
          "version": "1",
          "method_digest": "sha256:2d2f445064222c234cbaf541a627226a2c4be06a90e226b98a4389cb49e2d66b"
        },
        "note": "Pricing plans and rates for compute, storage, and developer services are explicitly stated and machine-readable on the plans page."
      },
      {
        "stage": "evaluate",
        "signal_code": "structured_terms",
        "value": "partial",
        "observed_at": "2026-08-07T21:13:09.736Z",
        "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": "The service terms are provided in stable HTML format but lack structured machine-readable formats such as JSON or Schema.org legal metadata."
      },
      {
        "stage": "sign_up",
        "signal_code": "captcha_free",
        "value": "no",
        "observed_at": "2026-08-07T21:13:19.261Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "dashboard-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": "dashboard-signup"
            }
          ]
        },
        "note": "The dashboard sign-up path was unavailable during testing due to a temporary dashboard error page."
      },
      {
        "stage": "sign_up",
        "signal_code": "machine_operable_form",
        "value": "no",
        "observed_at": "2026-08-07T21:13:19.261Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "dashboard-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": "dashboard-signup"
            }
          ]
        },
        "note": "The sign-up form could not be operated because the Cloudflare Dashboard page was temporarily unavailable."
      },
      {
        "stage": "sign_up",
        "signal_code": "phone_verification_free",
        "value": "unknown",
        "observed_at": "2026-08-07T21:13:19.261Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "dashboard-signup"
          }
        ],
        "assessment_method": {
          "name": "headless",
          "version": "1",
          "method_digest": "sha256:5c58a6d3f59d1910064324a215209f16f177b8021442dcbf1465f4c3ccd78ed1"
        },
        "note": "Phone verification requirements could not be established as the sign-up page was temporarily unavailable."
      },
      {
        "stage": "sign_up",
        "signal_code": "stable_entrypoint",
        "value": "yes",
        "observed_at": "2026-08-07T21:13:26.160Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "dashboard-signup"
          }
        ],
        "assessment_method": {
          "name": "http",
          "version": "1",
          "method_digest": "sha256:2d2f445064222c234cbaf541a627226a2c4be06a90e226b98a4389cb49e2d66b"
        },
        "note": "The sign-up URL is a stable HTTP entrypoint that responds with Cloudflare Dashboard metadata."
      },
      {
        "stage": "sign_up",
        "signal_code": "supported_identity_flow",
        "value": "yes",
        "observed_at": "2026-08-07T21:13:25.177Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "api-tokens"
          }
        ],
        "assessment_method": {
          "name": "headless",
          "version": "1",
          "method_digest": "sha256:5c58a6d3f59d1910064324a215209f16f177b8021442dcbf1465f4c3ccd78ed1"
        },
        "note": "Cloudflare documents API tokens supporting scoped, revocable permissions across Account, User, or Zone resources with explicit human authorization in the dashboard."
      },
      {
        "stage": "pay",
        "signal_code": "explicit_price",
        "value": "yes",
        "observed_at": "2026-08-07T21:13:12.026Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "plans"
          }
        ],
        "assessment_method": {
          "name": "http",
          "version": "1",
          "method_digest": "sha256:2d2f445064222c234cbaf541a627226a2c4be06a90e226b98a4389cb49e2d66b"
        },
        "note": "Cloudflare provides explicit, transparent pricing for its plans and individual compute, storage, and developer platform services prior to sign-up commitment."
      },
      {
        "stage": "pay",
        "signal_code": "machine_operable_checkout",
        "value": "no",
        "observed_at": "2026-08-07T21:13:19.261Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "dashboard-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": "dashboard-signup"
            }
          ]
        },
        "note": "Machine-operable checkout was unavailable as the Cloudflare Dashboard sign-up page was temporarily unavailable during testing."
      },
      {
        "stage": "pay",
        "signal_code": "sales_intervention_free",
        "value": "unknown",
        "observed_at": "2026-08-07T21:13:19.261Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "dashboard-signup"
          }
        ],
        "assessment_method": {
          "name": "headless",
          "version": "1",
          "method_digest": "sha256:5c58a6d3f59d1910064324a215209f16f177b8021442dcbf1465f4c3ccd78ed1"
        },
        "note": "Whether sales-free purchase can be completed could not be determined because the dashboard sign-up interface was unavailable."
      },
      {
        "stage": "pay",
        "signal_code": "supported_payment_rail",
        "value": "unknown",
        "observed_at": "2026-08-07T21:13:19.261Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "dashboard-signup"
          }
        ],
        "assessment_method": {
          "name": "headless",
          "version": "1",
          "method_digest": "sha256:5c58a6d3f59d1910064324a215209f16f177b8021442dcbf1465f4c3ccd78ed1"
        },
        "note": "Supported payment rails could not be verified because the sign-up page returned a temporary error."
      },
      {
        "stage": "provision",
        "signal_code": "automatic_activation",
        "value": "unknown",
        "observed_at": "2026-08-07T21:25:35.294Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "api-reference"
          }
        ],
        "assessment_method": {
          "name": "headless",
          "version": "1",
          "method_digest": "sha256:5c58a6d3f59d1910064324a215209f16f177b8021442dcbf1465f4c3ccd78ed1"
        },
        "note": "Automatic provisioning activation parameters or automated completion guarantees are not established in the provided API reference endpoint list."
      },
      {
        "stage": "provision",
        "signal_code": "bounded_delay",
        "value": "unknown",
        "observed_at": "2026-08-07T21:13:13.067Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "api-errors"
          }
        ],
        "assessment_method": {
          "name": "http",
          "version": "1",
          "method_digest": "sha256:2d2f445064222c234cbaf541a627226a2c4be06a90e226b98a4389cb49e2d66b"
        },
        "note": "The API troubleshooting documentation does not document or define a bounded provisioning completion delay guarantee."
      },
      {
        "stage": "provision",
        "signal_code": "credential_delivery",
        "value": "yes",
        "observed_at": "2026-08-07T21:13:25.177Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "api-tokens"
          }
        ],
        "assessment_method": {
          "name": "headless",
          "version": "1",
          "method_digest": "sha256:5c58a6d3f59d1910064324a215209f16f177b8021442dcbf1465f4c3ccd78ed1"
        },
        "note": "Cloudflare provides a documented API token generation flow delivering secret API token credentials directly upon creation."
      },
      {
        "stage": "provision",
        "signal_code": "machine_readable_status",
        "value": "partial",
        "observed_at": "2026-08-07T21:13:13.067Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "api-errors"
          }
        ],
        "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": "api-errors"
            }
          ]
        },
        "note": "Cloudflare API token verification endpoints return machine-readable JSON status indicating terminal status states like 'active'."
      },
      {
        "stage": "operate",
        "signal_code": "api_tool_access",
        "value": "yes",
        "observed_at": "2026-08-07T21:25:30.357Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "api-reference"
          }
        ],
        "assessment_method": {
          "name": "http",
          "version": "1",
          "method_digest": "sha256:2d2f445064222c234cbaf541a627226a2c4be06a90e226b98a4389cb49e2d66b"
        },
        "note": "Cloudflare provides a documented REST API with endpoints to list accounts and manage various platform resources."
      },
      {
        "stage": "operate",
        "signal_code": "delegated_recovery",
        "value": "yes",
        "observed_at": "2026-08-07T21:13:13.067Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "api-errors"
          }
        ],
        "assessment_method": {
          "name": "http",
          "version": "1",
          "method_digest": "sha256:2d2f445064222c234cbaf541a627226a2c4be06a90e226b98a4389cb49e2d66b"
        },
        "note": "Cloudflare documents API token management including creation, verification, rolling (rotation), restriction, and revocation."
      },
      {
        "stage": "operate",
        "signal_code": "documented_limits_errors",
        "value": "yes",
        "observed_at": "2026-08-07T21:13:13.067Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "api-errors"
          }
        ],
        "assessment_method": {
          "name": "http",
          "version": "1",
          "method_digest": "sha256:2d2f445064222c234cbaf541a627226a2c4be06a90e226b98a4389cb49e2d66b"
        },
        "note": "Cloudflare documents API rate limits, troubleshooting token errors, and standard error response structures."
      },
      {
        "stage": "operate",
        "signal_code": "usable_authentication",
        "value": "yes",
        "observed_at": "2026-08-07T21:13:14.057Z",
        "tested_surfaces": [
          {
            "node_kind": "resource",
            "node_id": "api-tokens"
          }
        ],
        "assessment_method": {
          "name": "http",
          "version": "1",
          "method_digest": "sha256:2d2f445064222c234cbaf541a627226a2c4be06a90e226b98a4389cb49e2d66b"
        },
        "note": "Cloudflare supports API Tokens with Bearer authentication and granular permission scopes for agent access."
      }
    ],
    "revision_digest": "sha256:42e8529be907412f63353afb87a6a0ad580798114eb369e8eb2634207cc75b80"
  }
}
