{
  "contract": "sourcey.site-record/v1alpha1",
  "release_id": "sha256:18550f7afedf69eb260b01d3a1a9a2b7572850bdde414507e8a41ac0b68bcdc9",
  "snapshot_id": "sha256:4d80224dc2a3adda07a8344abb9a8345fc83c6967801b0450d45c243fe8f2b74",
  "artifact_sha256": "sha256:d26738b65d9d43b6863d3b555667eebf0510a1839ee8e04d9392c3b6e9ef276d",
  "data": {
    "entity_id": "ent_01kyy6rm112acrfvna23vhdx0y",
    "entity_slug": "linode",
    "profile": {
      "projection_contract": "sourcey.agent-readiness-projection/v1alpha1",
      "agent_readiness_profile_id": "arp_01m4t7dqqsz44n7r9x7gxxrdpb",
      "entity_id": "ent_01kyy6rm112acrfvna23vhdx0y",
      "scope": {
        "product": {
          "key": "linode-object-storage",
          "name": "Linode Object Storage"
        },
        "job": {
          "key": "bucket-create",
          "name": "Create a storage bucket"
        }
      },
      "catalog_binding": {
        "base_release_id": "sha256:d5cac847a2533432a67a96e8ccbaeb8f9eebab87f9bda0bc5f5142fcea2b0079",
        "entity_revision_digest": "sha256:f7e4b23e10ce994f6ae550bd6a36a6e59df7cd57c7858ec30528324296efa310"
      },
      "declaration_revision_digest": "sha256:2a63dfb14ec4cc89ca861083cdf0a5a4e9d4a8f8f67b9b9960279ec5afd7c9e3",
      "declaration": {
        "declaration_id": "declaration_linode_linode_object_storage_bucket_create",
        "provenance": {
          "repository": "sourcey/agent-ready-services",
          "commit": "bddbb502792714e049b1e63aa2b9445bf59c2619",
          "path": "entities/li/linode.yaml",
          "git_blob_oid": "d3ee362029b7ccbf0f1fbe3559a1488ff9395385",
          "blob_digest": "sha256:23abe54ad072bea306957acd51f622941770d6c1effcc7feee36bba5888e4496"
        },
        "status": "community_declared"
      },
      "surface_catalog": {
        "participants": [
          {
            "participant_id": "linode",
            "roles": [
              "access_operator",
              "identity_provider",
              "operations_provider",
              "payment_provider",
              "provisioning_provider",
              "subject"
            ],
            "identity": {
              "entity_id": "ent_01kyy6rm112acrfvna23vhdx0y"
            }
          }
        ],
        "resources": [
          {
            "resource_id": "api-reference",
            "uri": "https://techdocs.akamai.com/linode-api/reference/post-object-storage-bucket",
            "roles": [
              "discovery",
              "documentation",
              "operations",
              "provisioning"
            ],
            "operated_by_participant_id": "linode",
            "standard_bindings": []
          },
          {
            "resource_id": "authentication",
            "uri": "https://techdocs.akamai.com/linode-api/reference/get-started",
            "roles": [
              "authentication",
              "documentation"
            ],
            "operated_by_participant_id": "linode",
            "standard_bindings": []
          },
          {
            "resource_id": "checkout",
            "uri": "https://login.linode.com/signup",
            "roles": [
              "access",
              "checkout"
            ],
            "operated_by_participant_id": "linode",
            "standard_bindings": []
          },
          {
            "resource_id": "create-personal-access-token",
            "uri": "https://techdocs.akamai.com/linode-api/reference/post-personal-access-token",
            "roles": [
              "documentation",
              "provisioning"
            ],
            "operated_by_participant_id": "linode",
            "standard_bindings": []
          },
          {
            "resource_id": "pricing",
            "uri": "https://www.linode.com/pricing/",
            "roles": [
              "pricing"
            ],
            "operated_by_participant_id": "linode",
            "standard_bindings": []
          },
          {
            "resource_id": "service-terms",
            "uri": "https://www.linode.com/legal-msa/",
            "roles": [
              "terms"
            ],
            "operated_by_participant_id": "linode",
            "standard_bindings": []
          }
        ],
        "endpoints": [
          {
            "endpoint_id": "registration",
            "uri": "https://login.linode.com/signup",
            "transport": "http",
            "roles": [
              "registration"
            ],
            "operated_by_participant_id": "linode",
            "standard_bindings": []
          },
          {
            "endpoint_id": "service-api",
            "uri": "https://api.linode.com/v4",
            "transport": "http",
            "roles": [
              "service"
            ],
            "operated_by_participant_id": "linode",
            "standard_bindings": []
          }
        ],
        "interfaces": [
          {
            "interface_id": "api-authentication",
            "modality": "network_api",
            "functions": [
              "authentication"
            ],
            "endpoint_ids": [],
            "resource_ids": [
              "authentication"
            ],
            "operated_by_participant_id": "linode",
            "standard_bindings": []
          },
          {
            "interface_id": "service-api",
            "modality": "network_api",
            "functions": [
              "service_operation"
            ],
            "endpoint_ids": [
              "service-api"
            ],
            "resource_ids": [
              "api-reference"
            ],
            "operated_by_participant_id": "linode",
            "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": "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": "checkout"
            },
            "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-13T23:43:00.856Z",
      "revision_digest": "sha256:e0dbb4e88f643c4821e0a468077c5c6a2e58c42e7b658dcf478cfeca14a908eb",
      "policy_digest": "sha256:b612172aad277b54461de84e006815126f2df566563954b02f4432a39cad89ac",
      "policy_version": "kind-2026-10-12.2",
      "policy_as_of": "2026-10-05T00:00:00Z",
      "job": {
        "job_id": "bucket-create",
        "job_digest": "sha256:3bdec33773c8eadcbadc195142ce1631a5c8495091d0a6a6d4212c2aecde2c9b",
        "category": "cloud-platform",
        "name": "Create a storage bucket",
        "statement": "Create a storage bucket named with the run's nonce, then read it back."
      },
      "interface_id": "service-api",
      "label": "probed",
      "label_run_at": null,
      "grade": {
        "letter": "B",
        "statement": "A card on file.",
        "steps": [
          {
            "step": "discover",
            "outcome": "workaround",
            "timing": "setup"
          },
          {
            "step": "authority",
            "outcome": "workaround",
            "timing": "setup"
          },
          {
            "step": "onboard",
            "outcome": "workaround",
            "timing": "setup"
          },
          {
            "step": "pay",
            "outcome": "workaround",
            "timing": "setup"
          },
          {
            "step": "confirm",
            "outcome": "machine",
            "timing": null
          },
          {
            "step": "sustain",
            "outcome": "machine",
            "timing": null
          }
        ],
        "job": "reachable",
        "approvals": [],
        "workarounds": [
          {
            "step": "discover",
            "timing": "setup"
          },
          {
            "step": "authority",
            "timing": "setup"
          },
          {
            "step": "onboard",
            "timing": "setup"
          },
          {
            "step": "pay",
            "timing": "setup"
          }
        ]
      },
      "discovery": [],
      "discovery_run_at": null,
      "run": {
        "started_at": "2026-10-13T23:42:22.561Z",
        "finished_at": "2026-10-13T23:43:00.856Z",
        "discovery_reads": 29,
        "exchanges": [
          {
            "purpose": "probe_operation",
            "role": "request",
            "method": "POST",
            "url": "https://api.linode.com/v4/object-storage/buckets",
            "started_at": "2026-10-13T23:42:40.599Z",
            "finished_at": "2026-10-13T23:42:40.721Z",
            "response": {
              "status": 401,
              "media_type": "application/json",
              "content_bytes": 41,
              "content_digest": "sha256:9ddf5507a7636f45df066ca14ba6ab8635cf76dbf9a8015b2d08ea6b0629858d"
            },
            "transport_error": null,
            "exchange_digest": "sha256:08f27076c71f88728397379a2465f12cbad9689c9249b5bffcbf65eb2b3678e6"
          },
          {
            "purpose": "probe_resource_metadata",
            "role": "request",
            "method": "GET",
            "url": "https://api.linode.com/.well-known/oauth-protected-resource/v4/object-storage/buckets",
            "started_at": "2026-10-13T23:42:44.295Z",
            "finished_at": "2026-10-13T23:42:44.382Z",
            "response": {
              "status": 301,
              "media_type": "text/html",
              "content_bytes": 0,
              "content_digest": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
            },
            "transport_error": null,
            "exchange_digest": "sha256:ce2e41fa740e62dd4fa6f93d32502e7d5b3be30329f891dbc2f0d888257870fe"
          },
          {
            "purpose": "probe_resource_metadata",
            "role": "request",
            "method": "GET",
            "url": "https://api.linode.com/.well-known/oauth-protected-resource",
            "started_at": "2026-10-13T23:42:48.022Z",
            "finished_at": "2026-10-13T23:42:48.096Z",
            "response": {
              "status": 301,
              "media_type": "text/html",
              "content_bytes": 0,
              "content_digest": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
            },
            "transport_error": null,
            "exchange_digest": "sha256:9c1d884bf426ccf5fa0b2aadf2dcb8a263f3e2913c859fd6a9f4bcfac8f25109"
          },
          {
            "purpose": "probe_page",
            "role": "request",
            "method": "GET",
            "url": "https://login.linode.com/signup",
            "started_at": "2026-10-13T23:42:51.624Z",
            "finished_at": "2026-10-13T23:42:51.927Z",
            "response": {
              "status": 200,
              "media_type": "text/html",
              "content_bytes": 98377,
              "content_digest": "sha256:6668a13605c8324f03a4ffc1ad39f0d5db143f4a7008eed9aa5c61c6a028c540"
            },
            "transport_error": null,
            "exchange_digest": "sha256:9597d65f74ca4bc2dc26bcdaba2f5981d46c0a770dfefb3ccc3751fe98a9cede"
          },
          {
            "purpose": "probe_page",
            "role": "request",
            "method": "GET",
            "url": "https://login.linode.com/signup",
            "started_at": "2026-10-13T23:42:57.208Z",
            "finished_at": "2026-10-13T23:42:57.410Z",
            "response": {
              "status": 200,
              "media_type": "text/html",
              "content_bytes": 98377,
              "content_digest": "sha256:6668a13605c8324f03a4ffc1ad39f0d5db143f4a7008eed9aa5c61c6a028c540"
            },
            "transport_error": null,
            "exchange_digest": "sha256:3dbca356f31ff77352985e9d46b75d57977baf457b62a08d71e3fbc94620a418"
          }
        ],
        "assertions": []
      },
      "last_run_at": "2026-10-13T23:43:00.856Z",
      "publication": {
        "visibility": "discoverable",
        "reasons": []
      },
      "provenance": {
        "dispute": "none",
        "vendor_attestation": {
          "status": "none"
        },
        "basis_event_ids": []
      },
      "canonical_url": "https://sourcey.com/c/linode/agent-readiness/linode-object-storage/bucket-create",
      "projection_digest": "sha256:1b39776f5865972d64dc00771275dbca3053314cc520b4f62df4f861df91510d"
    }
  }
}
