{
  "contract": "sourcey.site-record/v1alpha1",
  "release_id": "sha256:2fbbef898f76ba47f54ef0fdf7585060968f5e9f04fed731ced83efb3d376e94",
  "snapshot_id": "sha256:b26a8a5eb7be48e03c2bfcf5657c69ff3b1c055d42d37ba60214f516fa83f8c3",
  "artifact_sha256": "sha256:09d0e4cb56c1db3fa3ba012530cfe29c948b1374adb7435befa11ea100edf477",
  "data": {
    "entity_id": "ent_01kz0n0vm1ny7a1fwg2b0jba92",
    "entity_slug": "rootly",
    "profile": {
      "projection_contract": "sourcey.agent-readiness-projection/v1alpha1",
      "agent_readiness_profile_id": "arp_01m4tgmem1x18qk66c2qab5sk9",
      "entity_id": "ent_01kz0n0vm1ny7a1fwg2b0jba92",
      "scope": {
        "product": {
          "key": "rootly-incident-response",
          "name": "Rootly Incident Response"
        },
        "job": {
          "key": "incident-declare",
          "name": "Declare an incident"
        }
      },
      "catalog_binding": {
        "base_release_id": "sha256:b8d2307bdb2bd192cdb6e4a0586bf54e4c306eb8bae6a6f3c48ddff04bcdcee1",
        "entity_revision_digest": "sha256:efadf05062ca0aa86a460ffbb6c0fcef11060efb72cc08282183c8b1cbba6eee"
      },
      "declaration_revision_digest": "sha256:6962a0795208f93f5e415e70fd2c53be1da8f4266f3446c3a415638eb0c66246",
      "declaration": {
        "declaration_id": "declaration_rootly_rootly_incident_response_incident_declare",
        "provenance": {
          "repository": "sourcey/agent-ready-services",
          "commit": "f043bdaf4c67371ac4b3de2fd84021f92abdacf0",
          "path": "entities/ro/rootly.yaml",
          "git_blob_oid": "18de0e5ac5172932ceeed1f025fd04ce42e1b586",
          "blob_digest": "sha256:dd1e9f185b7df9e91ba0396f299420fb7a7c433517cdec18459a0e54d2c84526"
        },
        "status": "community_declared"
      },
      "surface_catalog": {
        "participants": [
          {
            "participant_id": "rootly",
            "roles": [
              "access_operator",
              "identity_provider",
              "operations_provider",
              "payment_provider",
              "provisioning_provider",
              "subject"
            ],
            "identity": {
              "entity_id": "ent_01kz0n0vm1ny7a1fwg2b0jba92"
            }
          }
        ],
        "resources": [
          {
            "resource_id": "account-signup",
            "uri": "https://rootly.com/users/sign_up",
            "roles": [
              "access"
            ],
            "operated_by_participant_id": "rootly",
            "standard_bindings": []
          },
          {
            "resource_id": "api-reference",
            "uri": "https://docs.rootly.com/api-reference/incidents/creates-an-incident",
            "roles": [
              "discovery",
              "documentation",
              "operations",
              "provisioning"
            ],
            "operated_by_participant_id": "rootly",
            "standard_bindings": []
          },
          {
            "resource_id": "authentication",
            "uri": "https://docs.rootly.com/integrations/api",
            "roles": [
              "authentication",
              "documentation"
            ],
            "operated_by_participant_id": "rootly",
            "standard_bindings": []
          },
          {
            "resource_id": "checkout",
            "uri": "https://rootly.com/demo",
            "roles": [
              "checkout"
            ],
            "operated_by_participant_id": "rootly",
            "standard_bindings": []
          },
          {
            "resource_id": "mcp-documentation",
            "uri": "https://docs.rootly.com/integrations/mcp-server",
            "roles": [
              "documentation",
              "operations"
            ],
            "operated_by_participant_id": "rootly",
            "standard_bindings": []
          },
          {
            "resource_id": "pricing",
            "uri": "https://rootly.com/pricing",
            "roles": [
              "pricing"
            ],
            "operated_by_participant_id": "rootly",
            "standard_bindings": []
          },
          {
            "resource_id": "service-terms",
            "uri": "https://rootly.com/legal/terms",
            "roles": [
              "terms"
            ],
            "operated_by_participant_id": "rootly",
            "standard_bindings": []
          }
        ],
        "endpoints": [
          {
            "endpoint_id": "mcp-server",
            "uri": "https://mcp.rootly.com/mcp-codemode",
            "transport": "http",
            "roles": [
              "service"
            ],
            "operated_by_participant_id": "rootly",
            "standard_bindings": []
          },
          {
            "endpoint_id": "registration",
            "uri": "https://rootly.com/users/sign_up",
            "transport": "http",
            "roles": [
              "registration"
            ],
            "operated_by_participant_id": "rootly",
            "standard_bindings": []
          },
          {
            "endpoint_id": "sales",
            "uri": "https://rootly.com/demo",
            "transport": "http",
            "roles": [
              "access_request"
            ],
            "operated_by_participant_id": "rootly",
            "standard_bindings": []
          },
          {
            "endpoint_id": "service-api",
            "uri": "https://api.rootly.com",
            "transport": "http",
            "roles": [
              "service"
            ],
            "operated_by_participant_id": "rootly",
            "standard_bindings": []
          }
        ],
        "interfaces": [
          {
            "interface_id": "api-authentication",
            "modality": "network_api",
            "functions": [
              "authentication"
            ],
            "endpoint_ids": [],
            "resource_ids": [
              "authentication"
            ],
            "operated_by_participant_id": "rootly",
            "standard_bindings": []
          },
          {
            "interface_id": "mcp-server",
            "modality": "tool_server",
            "functions": [
              "service_operation"
            ],
            "endpoint_ids": [
              "mcp-server",
              "sales"
            ],
            "resource_ids": [
              "mcp-documentation"
            ],
            "operated_by_participant_id": "rootly",
            "standard_bindings": []
          },
          {
            "interface_id": "service-api",
            "modality": "network_api",
            "functions": [
              "service_operation"
            ],
            "endpoint_ids": [
              "sales",
              "service-api"
            ],
            "resource_ids": [
              "api-reference"
            ],
            "operated_by_participant_id": "rootly",
            "standard_bindings": []
          }
        ],
        "relations": [
          {
            "relation_id": "authentication-authenticates-api",
            "kind": "authenticates",
            "from": {
              "node_kind": "interface",
              "node_id": "api-authentication"
            },
            "to": {
              "node_kind": "interface",
              "node_id": "service-api"
            }
          },
          {
            "relation_id": "documentation-describes-mcp",
            "kind": "describes",
            "from": {
              "node_kind": "resource",
              "node_id": "mcp-documentation"
            },
            "to": {
              "node_kind": "interface",
              "node_id": "mcp-server"
            }
          },
          {
            "relation_id": "reference-describes-api",
            "kind": "describes",
            "from": {
              "node_kind": "resource",
              "node_id": "api-reference"
            },
            "to": {
              "node_kind": "interface",
              "node_id": "service-api"
            }
          },
          {
            "relation_id": "signup-precedes-authentication",
            "kind": "precedes",
            "from": {
              "node_kind": "resource",
              "node_id": "account-signup"
            },
            "to": {
              "node_kind": "interface",
              "node_id": "api-authentication"
            }
          }
        ],
        "surface_exclusions": [
          {
            "exclusion_id": "separate-eligibility-resource",
            "role": "eligibility",
            "rationale": "Access conditions are published within the vendor's terms; no separate eligibility resource is declared."
          }
        ]
      },
      "lifecycle": "active",
      "effective_from": "2026-10-13T11:35:26.866Z",
      "revision_digest": "sha256:b9a9cff25c87cff687348c543049851ef50b5a74b4f6edfe4f00789cf08e4b1c",
      "policy_digest": "sha256:b612172aad277b54461de84e006815126f2df566563954b02f4432a39cad89ac",
      "policy_version": "kind-2026-10-12.2",
      "policy_as_of": "2026-10-05T00:00:00Z",
      "job": {
        "job_id": "incident-declare",
        "job_digest": "sha256:606f47cf781499f24b836fe41347281a94d5ee4b164fcfb85364035c0a05558a",
        "category": "incident-management",
        "name": "Declare an incident",
        "statement": "Declare an incident named with the run's nonce, then read it back."
      },
      "interface_id": "service-api",
      "label": "probed",
      "label_run_at": null,
      "grade": {
        "letter": "D",
        "statement": "Access depends on sales or approval.",
        "steps": [
          {
            "step": "discover",
            "outcome": "machine",
            "timing": null
          },
          {
            "step": "authority",
            "outcome": "workaround",
            "timing": "setup"
          },
          {
            "step": "onboard",
            "outcome": "gated",
            "timing": null
          },
          {
            "step": "pay",
            "outcome": "workaround",
            "timing": "setup"
          },
          {
            "step": "confirm",
            "outcome": "machine",
            "timing": null
          },
          {
            "step": "sustain",
            "outcome": "machine",
            "timing": null
          }
        ],
        "job": "reachable",
        "approvals": [],
        "workarounds": [
          {
            "step": "authority",
            "timing": "setup"
          },
          {
            "step": "pay",
            "timing": "setup"
          }
        ]
      },
      "discovery": [
        {
          "fact": "oauth_authorization_server",
          "value": "https://rootly.com/",
          "descriptor_url": "https://rootly.com/.well-known/oauth-authorization-server",
          "attempt_digest": "sha256:fc37bffa1cfa7ba5b4bf53d72f26f4e26081f54eaddbcba4c6f9fdc747417dcc",
          "adapter": {
            "namespace": "rfc8414",
            "version": "1"
          }
        },
        {
          "fact": "agent_documentation",
          "value": "https://rootly.com/llms.txt",
          "descriptor_url": "https://rootly.com/llms.txt",
          "attempt_digest": "sha256:0a69ab8a3d6ef5af03ab043adf4935b1e4b34dd9667123cc9b3a16fa65ea3fcf",
          "adapter": {
            "namespace": "llms.txt",
            "version": "1"
          }
        },
        {
          "fact": "oauth_protected_resource",
          "value": "https://mcp.rootly.com/",
          "descriptor_url": "https://mcp.rootly.com/.well-known/oauth-protected-resource/mcp-codemode",
          "attempt_digest": "sha256:61b9308b37e27e03757b92aa6b250c427fd4dc77b0e691cf3ee5fbd6582a815d",
          "adapter": {
            "namespace": "rfc9728",
            "version": "1"
          }
        },
        {
          "fact": "oauth_authorization_server",
          "value": "https://rootly.com/",
          "descriptor_url": "https://mcp.rootly.com/.well-known/oauth-protected-resource/mcp-codemode",
          "attempt_digest": "sha256:61b9308b37e27e03757b92aa6b250c427fd4dc77b0e691cf3ee5fbd6582a815d",
          "adapter": {
            "namespace": "rfc9728",
            "version": "1"
          }
        },
        {
          "fact": "oauth_authorization_server",
          "value": "https://rootly.com/",
          "descriptor_url": "https://api.rootly.com/.well-known/oauth-authorization-server",
          "attempt_digest": "sha256:596200c3d9dfba4b40ef1389d4c9431446c2ae7d7495d047f9ce72f82844c479",
          "adapter": {
            "namespace": "rfc8414",
            "version": "1"
          }
        },
        {
          "fact": "unsupported_descriptor",
          "value": "https://api.rootly.com/llms.txt",
          "descriptor_url": "https://api.rootly.com/llms.txt",
          "attempt_digest": "sha256:33907b7768bbe632b491082cded2bdb7da476055461ee098edf26711b3542db6",
          "adapter": {
            "namespace": "llms.txt",
            "version": "unknown"
          }
        },
        {
          "fact": "oauth_authorization_server",
          "value": "https://rootly.com/",
          "descriptor_url": "https://mcp.rootly.com/.well-known/oauth-authorization-server",
          "attempt_digest": "sha256:340b56ac24afefec311313bde18148304cd1ef1fe3a3070bf461f0798a1064fe",
          "adapter": {
            "namespace": "rfc8414",
            "version": "1"
          }
        },
        {
          "fact": "oauth_protected_resource",
          "value": "https://mcp.rootly.com/",
          "descriptor_url": "https://mcp.rootly.com/.well-known/oauth-protected-resource",
          "attempt_digest": "sha256:328ec0f0a6ada90eaa3fb12335515e588c83aed13ab82aee2fa8ce06bec214d3",
          "adapter": {
            "namespace": "rfc9728",
            "version": "1"
          }
        },
        {
          "fact": "oauth_authorization_server",
          "value": "https://rootly.com/",
          "descriptor_url": "https://mcp.rootly.com/.well-known/oauth-protected-resource",
          "attempt_digest": "sha256:328ec0f0a6ada90eaa3fb12335515e588c83aed13ab82aee2fa8ce06bec214d3",
          "adapter": {
            "namespace": "rfc9728",
            "version": "1"
          }
        },
        {
          "fact": "agent_documentation",
          "value": "https://docs.rootly.com/llms.txt",
          "descriptor_url": "https://docs.rootly.com/llms.txt",
          "attempt_digest": "sha256:f5153a556f0fd0e8ed1d34cfeead5e03e48a972da4734ddbc7502b2fa627f5e9",
          "adapter": {
            "namespace": "llms.txt",
            "version": "1"
          }
        },
        {
          "fact": "documentation_route",
          "value": "https://api.rootly.com/",
          "descriptor_url": "https://rootly.com/llms.txt",
          "attempt_digest": "sha256:0a69ab8a3d6ef5af03ab043adf4935b1e4b34dd9667123cc9b3a16fa65ea3fcf",
          "adapter": {
            "namespace": "llms.txt",
            "version": "route"
          }
        },
        {
          "fact": "documentation_route",
          "value": "https://mcp.rootly.com/",
          "descriptor_url": "https://rootly.com/llms.txt",
          "attempt_digest": "sha256:0a69ab8a3d6ef5af03ab043adf4935b1e4b34dd9667123cc9b3a16fa65ea3fcf",
          "adapter": {
            "namespace": "llms.txt",
            "version": "route"
          }
        }
      ],
      "discovery_run_at": null,
      "run": {
        "started_at": "2026-10-13T11:33:55.379Z",
        "finished_at": "2026-10-13T11:35:26.866Z",
        "discovery_reads": 43,
        "exchanges": [
          {
            "purpose": "probe_operation",
            "role": "request",
            "method": "POST",
            "url": "https://api.rootly.com/v1/incidents",
            "started_at": "2026-10-13T11:34:29.945Z",
            "finished_at": "2026-10-13T11:34:30.140Z",
            "response": {
              "status": 401,
              "media_type": "application/json",
              "content_bytes": 53,
              "content_digest": "sha256:fd60c8ec11823cef5ed8b7d91dbe5f09b48dfc6aa1a9d240f0e49e8671ddec0b"
            },
            "transport_error": null,
            "exchange_digest": "sha256:867b51cba4aaa7e5b8cf9aaf694bcdce5a84de1280cd3d425a969d229773e42f"
          },
          {
            "purpose": "probe_resource_metadata",
            "role": "request",
            "method": "GET",
            "url": "https://api.rootly.com/.well-known/oauth-protected-resource/v1/incidents",
            "started_at": "2026-10-13T11:34:35.828Z",
            "finished_at": "2026-10-13T11:34:35.894Z",
            "response": {
              "status": 404,
              "media_type": "text/html",
              "content_bytes": 25577,
              "content_digest": "sha256:5e670b92ff2ddab84a0f6d4a62df37b510c2b4c56d6626e5c0a0739a4770b46c"
            },
            "transport_error": null,
            "exchange_digest": "sha256:1e86b39b4c9f2e0ffae7f371874c6ce3f79652329a49e51844fa55e6905dc9d7"
          },
          {
            "purpose": "probe_resource_metadata",
            "role": "request",
            "method": "GET",
            "url": "https://api.rootly.com/.well-known/oauth-protected-resource",
            "started_at": "2026-10-13T11:34:41.491Z",
            "finished_at": "2026-10-13T11:34:41.550Z",
            "response": {
              "status": 404,
              "media_type": "text/html",
              "content_bytes": 25577,
              "content_digest": "sha256:5e670b92ff2ddab84a0f6d4a62df37b510c2b4c56d6626e5c0a0739a4770b46c"
            },
            "transport_error": null,
            "exchange_digest": "sha256:57e1aeea0c8769e26971b4906bd954af307025be97c956cb8948e8992decce67"
          },
          {
            "purpose": "probe_operation",
            "role": "session_opening",
            "method": "POST",
            "url": "https://mcp.rootly.com/mcp-codemode",
            "started_at": "2026-10-13T11:34:45.995Z",
            "finished_at": "2026-10-13T11:34:46.039Z",
            "response": {
              "status": 401,
              "media_type": "application/json",
              "content_bytes": 99,
              "content_digest": "sha256:3365416cc9cc82fd9c0a6dfbc39ad788251d26ac689fd9a4fd7ea81d3f86dff6"
            },
            "transport_error": null,
            "exchange_digest": "sha256:88518b95c7b96989fa51e02ecba42fa6fd5fa78f22fa5778374bd2717d02fef4"
          },
          {
            "purpose": "probe_resource_metadata",
            "role": "request",
            "method": "GET",
            "url": "https://mcp.rootly.com/.well-known/oauth-protected-resource",
            "started_at": "2026-10-13T11:34:52.194Z",
            "finished_at": "2026-10-13T11:34:52.237Z",
            "response": {
              "status": 200,
              "media_type": "application/json",
              "content_bytes": 176,
              "content_digest": "sha256:3bdfd9cf4417b3c2aeedc0972d77948426581b91dbab2e2b6cd2c2dbf1ce7d37"
            },
            "transport_error": null,
            "exchange_digest": "sha256:3017a1d0a3c48eccae076ce9b1881d7205088ab187c14b9d6102294519414ae2"
          },
          {
            "purpose": "probe_authorization_server",
            "role": "request",
            "method": "GET",
            "url": "https://rootly.com/.well-known/oauth-authorization-server",
            "started_at": "2026-10-13T11:34:56.473Z",
            "finished_at": "2026-10-13T11:34:56.533Z",
            "response": {
              "status": 200,
              "media_type": "application/json",
              "content_bytes": 2105,
              "content_digest": "sha256:da635c65e7fef1280c5a249a17a38167d7fa4027f5c8d1a21f49ec083866c598"
            },
            "transport_error": null,
            "exchange_digest": "sha256:49cef0f78faacc91fb94a569f5ddc4af6d3be9b2a373b1fa65a7236291812e78"
          },
          {
            "purpose": "probe_client_registration",
            "role": "request",
            "method": "POST",
            "url": "https://rootly.com/oauth/register",
            "started_at": "2026-10-13T11:35:01.442Z",
            "finished_at": "2026-10-13T11:35:01.565Z",
            "response": {
              "status": 201,
              "media_type": "application/json",
              "content_bytes": 1648,
              "content_digest": "sha256:bbd015f01ac8d1ddd0e63bae808ac2e6d53e6500a70943f86098a232bea3c0dc"
            },
            "transport_error": null,
            "exchange_digest": "sha256:8a3c103642df636315ee787da63c111ab3e2a4f26e2c14d5d2afed6ba4858c7e"
          },
          {
            "purpose": "probe_authorization",
            "role": "request",
            "method": "GET",
            "url": "https://rootly.com/oauth/authorize?response_type=code&client_id=UWwi-3QR76Fvhq_x241RhACH1lGVLAxkZIaSJfnfxsI&redirect_uri=https%3A%2F%2Fapi.sourcey.com%2F.well-known%2Fagent-readiness%2Fcallback&state=a22a728273957fb377adec14aaec2ffa&code_challenge=J3JoQF2kSStdTNi2AilIn6BFpigh6BPBcbzcLjC_trs&code_challenge_method=S256&resource=https%3A%2F%2Fmcp.rootly.com%2Fmcp-codemode&scope=openid+profile+email+all",
            "started_at": "2026-10-13T11:35:07.166Z",
            "finished_at": "2026-10-13T11:35:07.236Z",
            "response": {
              "status": 302,
              "media_type": "text/html",
              "content_bytes": 0,
              "content_digest": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
            },
            "transport_error": null,
            "exchange_digest": "sha256:b79c6a5d5216e432319b3e02c2a9aeb6cb6753e56d9532bcde68201949e1b1ad"
          },
          {
            "purpose": "probe_page",
            "role": "request",
            "method": "GET",
            "url": "https://rootly.com/users/sign_up",
            "started_at": "2026-10-13T11:35:11.388Z",
            "finished_at": "2026-10-13T11:35:11.429Z",
            "response": {
              "status": 403,
              "media_type": "text/html",
              "content_bytes": 5522,
              "content_digest": "sha256:55c2bdf0f0f4c5327c38691d26feb41bc5ea6573f3e3277ac5afc845c732c9ee"
            },
            "transport_error": null,
            "exchange_digest": "sha256:2342c68ce7847157416d0a0ea089c5e34a5c07e0b00dfebbbf8dfeba5a922b01"
          },
          {
            "purpose": "probe_page",
            "role": "request",
            "method": "GET",
            "url": "https://rootly.com/demo",
            "started_at": "2026-10-13T11:35:16.881Z",
            "finished_at": "2026-10-13T11:35:16.934Z",
            "response": {
              "status": 200,
              "media_type": "text/html",
              "content_bytes": 58657,
              "content_digest": "sha256:6160fd4db10283d270ede547320f38eba74147945b0b37c0449e82cfdf60f715"
            },
            "transport_error": null,
            "exchange_digest": "sha256:284f0df43bfdff9c88789a768a61d880875a1bdddfbbe4e2be24342b901153cf"
          },
          {
            "purpose": "probe_page",
            "role": "request",
            "method": "GET",
            "url": "https://rootly.com/demo",
            "started_at": "2026-10-13T11:35:22.518Z",
            "finished_at": "2026-10-13T11:35:22.581Z",
            "response": {
              "status": 200,
              "media_type": "text/html",
              "content_bytes": 58657,
              "content_digest": "sha256:6160fd4db10283d270ede547320f38eba74147945b0b37c0449e82cfdf60f715"
            },
            "transport_error": null,
            "exchange_digest": "sha256:35c5db0b4b584ae11c8acb4aa8c564dd2862fa4fae736ca5f0ca7eca182e6ea4"
          }
        ],
        "assertions": []
      },
      "last_run_at": "2026-10-13T11:35:26.866Z",
      "publication": {
        "visibility": "discoverable",
        "reasons": []
      },
      "provenance": {
        "dispute": "none",
        "vendor_attestation": {
          "status": "none"
        },
        "basis_event_ids": []
      },
      "canonical_url": "https://sourcey.com/c/rootly/agent-readiness/rootly-incident-response/incident-declare",
      "projection_digest": "sha256:4df5225d5510b0d98d5940422e521b5346593e877116b63079c00bb25fa09cc5"
    }
  }
}
