{
  "contract": "sourcey.site-record/v1alpha1",
  "release_id": "sha256:2fbbef898f76ba47f54ef0fdf7585060968f5e9f04fed731ced83efb3d376e94",
  "snapshot_id": "sha256:b26a8a5eb7be48e03c2bfcf5657c69ff3b1c055d42d37ba60214f516fa83f8c3",
  "artifact_sha256": "sha256:09d0e4cb56c1db3fa3ba012530cfe29c948b1374adb7435befa11ea100edf477",
  "data": {
    "entity_id": "ent_01kyygma823nzqdmttehnq0v5m",
    "entity_slug": "msg91",
    "profile": {
      "projection_contract": "sourcey.agent-readiness-projection/v1alpha1",
      "agent_readiness_profile_id": "arp_01m4vt8az17hvh036wd3pzcs3f",
      "entity_id": "ent_01kyygma823nzqdmttehnq0v5m",
      "scope": {
        "product": {
          "key": "msg91-sms",
          "name": "MSG91 SMS"
        },
        "job": {
          "key": "sms-send",
          "name": "Send a text message"
        }
      },
      "catalog_binding": {
        "base_release_id": "sha256:d5cac847a2533432a67a96e8ccbaeb8f9eebab87f9bda0bc5f5142fcea2b0079",
        "entity_revision_digest": "sha256:626e8c0392c18ccd9a588fc32c37eb8143bf805980827242bbb76695334e3c03"
      },
      "declaration_revision_digest": "sha256:50a50c18d2ca8beffe406ea13c25d83905cb1f66604b38e5ef48313fac157153",
      "declaration": {
        "declaration_id": "declaration_msg91_msg91_sms_sms_send",
        "provenance": {
          "repository": "sourcey/agent-ready-services",
          "commit": "e1e231904985b5c91a07982b36a21b0597f8c50a",
          "path": "entities/ms/msg91.yaml",
          "git_blob_oid": "37eeda2395e10176af48af16dfa8b9cda8c2deb2",
          "blob_digest": "sha256:151b88fc562c6fd80e5a6ad4fa1951ca2580bf1d6612c381fcc8280aab3c0839"
        },
        "status": "community_declared"
      },
      "surface_catalog": {
        "participants": [
          {
            "participant_id": "msg91",
            "roles": [
              "access_operator",
              "identity_provider",
              "operations_provider",
              "payment_provider",
              "provisioning_provider",
              "subject"
            ],
            "identity": {
              "entity_id": "ent_01kyygma823nzqdmttehnq0v5m"
            }
          }
        ],
        "resources": [
          {
            "resource_id": "account-signup",
            "uri": "https://msg91.com/signup",
            "roles": [
              "access"
            ],
            "operated_by_participant_id": "msg91",
            "standard_bindings": []
          },
          {
            "resource_id": "api-reference",
            "uri": "https://docs.msg91.com/sms/send-sms",
            "roles": [
              "discovery",
              "documentation",
              "operations",
              "provisioning"
            ],
            "operated_by_participant_id": "msg91",
            "standard_bindings": []
          },
          {
            "resource_id": "authentication",
            "uri": "https://msg91.com/help/api/where-can-i-find-my-authentication-ke",
            "roles": [
              "authentication",
              "documentation"
            ],
            "operated_by_participant_id": "msg91",
            "standard_bindings": []
          },
          {
            "resource_id": "auto-recharge",
            "uri": "https://msg91.com/help/credits/how-to-create-an-e-mandate-for-auto-recharge",
            "roles": [
              "documentation"
            ],
            "operated_by_participant_id": "msg91",
            "standard_bindings": []
          },
          {
            "resource_id": "checkout",
            "uri": "https://control.msg91.com/signin/",
            "roles": [
              "checkout"
            ],
            "operated_by_participant_id": "msg91",
            "standard_bindings": []
          },
          {
            "resource_id": "pricing",
            "uri": "https://msg91.com/help/credits",
            "roles": [
              "pricing"
            ],
            "operated_by_participant_id": "msg91",
            "standard_bindings": []
          },
          {
            "resource_id": "service-terms",
            "uri": "https://msg91.com/terms-of-use",
            "roles": [
              "terms"
            ],
            "operated_by_participant_id": "msg91",
            "standard_bindings": []
          }
        ],
        "endpoints": [
          {
            "endpoint_id": "registration",
            "uri": "https://msg91.com/signup",
            "transport": "http",
            "roles": [
              "registration"
            ],
            "operated_by_participant_id": "msg91",
            "standard_bindings": []
          },
          {
            "endpoint_id": "service-api",
            "uri": "https://control.msg91.com/api/v5",
            "transport": "http",
            "roles": [
              "service"
            ],
            "operated_by_participant_id": "msg91",
            "standard_bindings": []
          }
        ],
        "interfaces": [
          {
            "interface_id": "api-authentication",
            "modality": "network_api",
            "functions": [
              "authentication"
            ],
            "endpoint_ids": [],
            "resource_ids": [
              "authentication"
            ],
            "operated_by_participant_id": "msg91",
            "standard_bindings": []
          },
          {
            "interface_id": "service-api",
            "modality": "network_api",
            "functions": [
              "service_operation"
            ],
            "endpoint_ids": [
              "service-api"
            ],
            "resource_ids": [
              "api-reference"
            ],
            "operated_by_participant_id": "msg91",
            "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": "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-13T23:42:05.940Z",
      "revision_digest": "sha256:b82b62860eb4bac2a5b55b27dea6877bb6a724fd4827cfd5bba9a4600d35d47f",
      "policy_digest": "sha256:b612172aad277b54461de84e006815126f2df566563954b02f4432a39cad89ac",
      "policy_version": "kind-2026-10-12.2",
      "policy_as_of": "2026-10-05T00:00:00Z",
      "job": {
        "job_id": "sms-send",
        "job_digest": "sha256:07f97793f42f674eaa8f3c29c8fb421f5e2f8b8e5a69b3416e39a66ebf0b1eb4",
        "category": "sms-messaging",
        "name": "Send a text message",
        "statement": "Send a text message carrying the run's nonce to the number its runner supplies, then read its delivery status."
      },
      "interface_id": "service-api",
      "label": "probed",
      "label_run_at": null,
      "grade": {
        "letter": "B",
        "statement": "A card on file.",
        "steps": [
          {
            "step": "discover",
            "outcome": "machine",
            "timing": null
          },
          {
            "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": "workaround",
            "timing": "setup"
          }
        ],
        "job": "reachable",
        "approvals": [],
        "workarounds": [
          {
            "step": "authority",
            "timing": "setup"
          },
          {
            "step": "onboard",
            "timing": "setup"
          },
          {
            "step": "pay",
            "timing": "setup"
          },
          {
            "step": "sustain",
            "timing": "setup"
          }
        ]
      },
      "discovery": [
        {
          "fact": "agent_documentation",
          "value": "https://docs.msg91.com/llms.txt",
          "descriptor_url": "https://docs.msg91.com/llms.txt",
          "attempt_digest": "sha256:b9d295170112fe880d92270f36f8e800b91ec464e9ebced590a11dcc392e3b49",
          "adapter": {
            "namespace": "llms.txt",
            "version": "1"
          }
        },
        {
          "fact": "documentation_route",
          "value": "https://control.msg91.com/",
          "descriptor_url": "https://docs.msg91.com/sms/send-sms",
          "attempt_digest": "sha256:be4c05174a960c00e463c78fa02c12af928fc8574affdbe45745dbc536c5a373",
          "adapter": {
            "namespace": "llms.txt",
            "version": "route"
          }
        }
      ],
      "discovery_run_at": null,
      "run": {
        "started_at": "2026-10-13T23:41:13.490Z",
        "finished_at": "2026-10-13T23:42:05.940Z",
        "discovery_reads": 31,
        "exchanges": [
          {
            "purpose": "probe_operation",
            "role": "request",
            "method": "POST",
            "url": "https://control.msg91.com/api/v5/flow",
            "started_at": "2026-10-13T23:41:41.549Z",
            "finished_at": "2026-10-13T23:41:41.864Z",
            "response": {
              "status": 200,
              "media_type": "application/json",
              "content_bytes": 48,
              "content_digest": "sha256:7fc3499c8549321f8f6f7bd486590a0a704b542f36edc1fee69e5099cced4577"
            },
            "transport_error": null,
            "exchange_digest": "sha256:b04d704ac4c6c36480492a4e8a5aaec73e94ab6afbe590929bbcf6d432c70420"
          },
          {
            "purpose": "probe_resource_metadata",
            "role": "request",
            "method": "GET",
            "url": "https://control.msg91.com/.well-known/oauth-protected-resource/api/v5/flow",
            "started_at": "2026-10-13T23:41:47.130Z",
            "finished_at": "2026-10-13T23:41:47.406Z",
            "response": {
              "status": 404,
              "media_type": "text/html",
              "content_bytes": 146,
              "content_digest": "sha256:55f7d9e99b8e2d4e0e193b2f0275501e6d9c1ebd29cadbea6a0da48a8587e3e0"
            },
            "transport_error": null,
            "exchange_digest": "sha256:f421e6c2a55986749d47a2cad4d9d8a9b8f1eb28003009557740a45d0f22a6f9"
          },
          {
            "purpose": "probe_resource_metadata",
            "role": "request",
            "method": "GET",
            "url": "https://control.msg91.com/.well-known/oauth-protected-resource",
            "started_at": "2026-10-13T23:41:51.351Z",
            "finished_at": "2026-10-13T23:41:51.642Z",
            "response": {
              "status": 404,
              "media_type": "text/html",
              "content_bytes": 146,
              "content_digest": "sha256:55f7d9e99b8e2d4e0e193b2f0275501e6d9c1ebd29cadbea6a0da48a8587e3e0"
            },
            "transport_error": null,
            "exchange_digest": "sha256:0ad20e2739c0775412880ffc7735894b57f5a7325b7bfbdbed4657d77946c065"
          },
          {
            "purpose": "probe_page",
            "role": "request",
            "method": "GET",
            "url": "https://msg91.com/signup",
            "started_at": "2026-10-13T23:41:54.806Z",
            "finished_at": "2026-10-13T23:41:54.975Z",
            "response": {
              "status": 200,
              "media_type": "text/html",
              "content_bytes": 20088,
              "content_digest": "sha256:0ad967b087ab5d66dd0ce9868cd50c34201027227e8f4d99118feadef5193de7"
            },
            "transport_error": null,
            "exchange_digest": "sha256:20d20d8346e6d5621017712039f2885accb693825fe16a1ae0674a8d36e32ccb"
          },
          {
            "purpose": "probe_page",
            "role": "request",
            "method": "GET",
            "url": "https://control.msg91.com/signin/",
            "started_at": "2026-10-13T23:41:59.593Z",
            "finished_at": "2026-10-13T23:42:00.596Z",
            "response": {
              "status": 200,
              "media_type": "text/html",
              "content_bytes": 102567,
              "content_digest": "sha256:e5af85284590936da377890890b2296106274b6db457fe73cb91d33862973280"
            },
            "transport_error": null,
            "exchange_digest": "sha256:7aa4b6a73975ccbb86b57280ddf85937d83aea86b9cec2b544751426c365ebcc"
          }
        ],
        "assertions": []
      },
      "last_run_at": "2026-10-13T23:42:05.940Z",
      "publication": {
        "visibility": "discoverable",
        "reasons": []
      },
      "provenance": {
        "dispute": "none",
        "vendor_attestation": {
          "status": "none"
        },
        "basis_event_ids": []
      },
      "canonical_url": "https://sourcey.com/c/msg91/agent-readiness/msg91-sms/sms-send",
      "projection_digest": "sha256:0c9191acbe5327ed14bbc0a008e4a9153f7dc8a1555f768b603e944ea5d6642d"
    }
  }
}
