{
  "contract": "sourcey.site-record/v1alpha1",
  "release_id": "sha256:945ae5a4d6a91fc17857d229d41d61d09bb93c08f37ff39ea83327d1b6c5c6b4",
  "snapshot_id": "sha256:623c2e834aa9ebea28beb4d62e2f4cef396b60d08afadf69d4b61632ea501792",
  "artifact_sha256": "sha256:7a9fb231ee32edc8efd1bb45ec9b432ded8fcf80b5db6d7336fca878f67c1058",
  "data": {
    "entity_id": "ent_01kyh8fpe40rzz1tgnr4prd3tr",
    "entity_slug": "mixpanel",
    "profile": {
      "projection_contract": "sourcey.agent-readiness-projection/v1alpha1",
      "agent_readiness_profile_id": "arp_01m4t96s3qh6jcp35xsw6z7ybg",
      "entity_id": "ent_01kyh8fpe40rzz1tgnr4prd3tr",
      "scope": {
        "product": {
          "key": "mixpanel-ingestion-api",
          "name": "Mixpanel Ingestion API"
        },
        "job": {
          "key": "product-event-capture",
          "name": "Capture a product event"
        }
      },
      "catalog_binding": {
        "base_release_id": "sha256:b8d2307bdb2bd192cdb6e4a0586bf54e4c306eb8bae6a6f3c48ddff04bcdcee1",
        "entity_revision_digest": "sha256:b8bc7ac93d4950a89ff6f58082a739f046598b9847085d28c66b4e2b35827d01"
      },
      "declaration_revision_digest": "sha256:e2ca4510cfbc3e9906f56417e118ae0c14df7ba3f7333ac6dea361f6fdbe8632",
      "declaration": {
        "declaration_id": "declaration_mixpanel_mixpanel_ingestion_api_product_event_capture",
        "provenance": {
          "repository": "sourcey/agent-ready-services",
          "commit": "de1148784db9547de861d4669ba397968e6787cc",
          "path": "entities/mi/mixpanel.yaml",
          "git_blob_oid": "fb63dbfb4e223436cb6b4970f5d789aa43877e33",
          "blob_digest": "sha256:dc5bc6d60ff58213cf0320464fc402c59e9512524f07fea698fe0705103d22cf"
        },
        "status": "community_declared"
      },
      "surface_catalog": {
        "participants": [
          {
            "participant_id": "mixpanel",
            "roles": [
              "access_operator",
              "identity_provider",
              "operations_provider",
              "payment_provider",
              "provisioning_provider",
              "subject"
            ],
            "identity": {
              "entity_id": "ent_01kyh8fpe40rzz1tgnr4prd3tr"
            }
          }
        ],
        "resources": [
          {
            "resource_id": "account-signup",
            "uri": "https://mixpanel.com/register/",
            "roles": [
              "access"
            ],
            "operated_by_participant_id": "mixpanel",
            "standard_bindings": []
          },
          {
            "resource_id": "api-reference",
            "uri": "https://docs.mixpanel.com/reference/import-events",
            "roles": [
              "discovery",
              "documentation",
              "operations",
              "provisioning"
            ],
            "operated_by_participant_id": "mixpanel",
            "standard_bindings": []
          },
          {
            "resource_id": "authentication",
            "uri": "https://docs.mixpanel.com/reference/authentication",
            "roles": [
              "authentication",
              "documentation"
            ],
            "operated_by_participant_id": "mixpanel",
            "standard_bindings": []
          },
          {
            "resource_id": "pricing",
            "uri": "https://mixpanel.com/pricing/",
            "roles": [
              "pricing"
            ],
            "operated_by_participant_id": "mixpanel",
            "standard_bindings": []
          },
          {
            "resource_id": "service-terms",
            "uri": "https://mixpanel.com/legal/terms-of-use/",
            "roles": [
              "terms"
            ],
            "operated_by_participant_id": "mixpanel",
            "standard_bindings": []
          }
        ],
        "endpoints": [
          {
            "endpoint_id": "registration",
            "uri": "https://mixpanel.com/register/",
            "transport": "http",
            "roles": [
              "registration"
            ],
            "operated_by_participant_id": "mixpanel",
            "standard_bindings": []
          },
          {
            "endpoint_id": "service-api",
            "uri": "https://api.mixpanel.com",
            "transport": "http",
            "roles": [
              "service"
            ],
            "operated_by_participant_id": "mixpanel",
            "standard_bindings": []
          }
        ],
        "interfaces": [
          {
            "interface_id": "api-authentication",
            "modality": "network_api",
            "functions": [
              "authentication"
            ],
            "endpoint_ids": [],
            "resource_ids": [
              "authentication"
            ],
            "operated_by_participant_id": "mixpanel",
            "standard_bindings": []
          },
          {
            "interface_id": "service-api",
            "modality": "network_api",
            "functions": [
              "service_operation"
            ],
            "endpoint_ids": [
              "service-api"
            ],
            "resource_ids": [
              "api-reference"
            ],
            "operated_by_participant_id": "mixpanel",
            "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": "free-job-no-checkout",
            "role": "checkout",
            "rationale": "Mixpanel's Free plan is free forever with no credit card required, for up to 1M events a month."
          },
          {
            "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-13T09:25:08.192Z",
      "revision_digest": "sha256:dfd3f9d2f785054ee60f71af127add24f8e8062f899aca98c1898abc3d37a1c0",
      "policy_digest": "sha256:b612172aad277b54461de84e006815126f2df566563954b02f4432a39cad89ac",
      "policy_version": "kind-2026-10-12.2",
      "policy_as_of": "2026-10-05T00:00:00Z",
      "job": {
        "job_id": "product-event-capture",
        "job_digest": "sha256:1af94524069568a8ffb8ac8583808bed5b6288dd675feb3a165e0fe52883d770",
        "category": "product-analytics",
        "name": "Capture a product event",
        "statement": "Capture a product event carrying the run's nonce, then read it back."
      },
      "interface_id": "service-api",
      "label": "probed",
      "label_run_at": null,
      "grade": {
        "letter": "B+",
        "statement": "A person signs up and hands over a key.",
        "steps": [
          {
            "step": "discover",
            "outcome": "workaround",
            "timing": "setup"
          },
          {
            "step": "authority",
            "outcome": "workaround",
            "timing": "setup"
          },
          {
            "step": "onboard",
            "outcome": "workaround",
            "timing": "setup"
          },
          {
            "step": "pay",
            "outcome": "not_applicable",
            "timing": null
          },
          {
            "step": "confirm",
            "outcome": "machine",
            "timing": null
          },
          {
            "step": "sustain",
            "outcome": "workaround",
            "timing": "setup"
          }
        ],
        "job": "reachable",
        "approvals": [],
        "workarounds": [
          {
            "step": "discover",
            "timing": "setup"
          },
          {
            "step": "authority",
            "timing": "setup"
          },
          {
            "step": "onboard",
            "timing": "setup"
          },
          {
            "step": "sustain",
            "timing": "setup"
          }
        ]
      },
      "discovery": [
        {
          "fact": "agent_documentation",
          "value": "https://docs.mixpanel.com/llms.txt",
          "descriptor_url": "https://docs.mixpanel.com/llms.txt",
          "attempt_digest": "sha256:43114b6c9ca50407041bf3cfc552d5cc4a453318a86a6b9878df5ee99f9f9391",
          "adapter": {
            "namespace": "llms.txt",
            "version": "1"
          }
        }
      ],
      "discovery_run_at": null,
      "run": {
        "started_at": "2026-10-13T09:24:12.615Z",
        "finished_at": "2026-10-13T09:25:08.192Z",
        "discovery_reads": 37,
        "exchanges": [
          {
            "purpose": "probe_operation",
            "role": "request",
            "method": "POST",
            "url": "https://api.mixpanel.com/import",
            "started_at": "2026-10-13T09:24:51.410Z",
            "finished_at": "2026-10-13T09:24:51.478Z",
            "response": {
              "status": 401,
              "media_type": "application/json",
              "content_bytes": 183,
              "content_digest": "sha256:3a8b13f249d06a2e2453c34bc319a53c749f4c439f50b3982aa3569b39800d75"
            },
            "transport_error": null,
            "exchange_digest": "sha256:19a7cd4172193415a91cd23e054460582c3f42bffb602b3ec0b43dd8ef670617"
          },
          {
            "purpose": "probe_resource_metadata",
            "role": "request",
            "method": "GET",
            "url": "https://api.mixpanel.com/.well-known/oauth-protected-resource/import",
            "started_at": "2026-10-13T09:24:55.462Z",
            "finished_at": "2026-10-13T09:24:55.527Z",
            "response": {
              "status": 404,
              "media_type": "application/xml",
              "content_bytes": 127,
              "content_digest": "sha256:bde9c2949e64d059c18d8f93566a64dafc6d2e8e259a70322fb804831dfd0b5b"
            },
            "transport_error": null,
            "exchange_digest": "sha256:26c938c47d216ff2eebc948f9019442556eea7afa3820c3aa4d16656c913eccb"
          },
          {
            "purpose": "probe_resource_metadata",
            "role": "request",
            "method": "GET",
            "url": "https://api.mixpanel.com/.well-known/oauth-protected-resource",
            "started_at": "2026-10-13T09:25:00.134Z",
            "finished_at": "2026-10-13T09:25:00.265Z",
            "response": {
              "status": 404,
              "media_type": "application/xml",
              "content_bytes": 127,
              "content_digest": "sha256:bde9c2949e64d059c18d8f93566a64dafc6d2e8e259a70322fb804831dfd0b5b"
            },
            "transport_error": null,
            "exchange_digest": "sha256:204ab08cd58562b9d3b95d5136f84bcff13cb91bac5e94681e47bf033e2f1cb6"
          },
          {
            "purpose": "probe_page",
            "role": "request",
            "method": "GET",
            "url": "https://mixpanel.com/register/",
            "started_at": "2026-10-13T09:25:03.524Z",
            "finished_at": "2026-10-13T09:25:03.657Z",
            "response": {
              "status": 200,
              "media_type": "text/html",
              "content_bytes": 29234,
              "content_digest": "sha256:393d3f259614ae6f5c40b77ea93ba3df7f4225ceded3d20551e159f34065632a"
            },
            "transport_error": null,
            "exchange_digest": "sha256:b37fa9fcbbc7c095fe9c64e15b40bf1abc05e19036c4515fba2505b3a9c4aa1d"
          }
        ],
        "assertions": []
      },
      "last_run_at": "2026-10-13T09:25:08.192Z",
      "publication": {
        "visibility": "discoverable",
        "reasons": []
      },
      "provenance": {
        "dispute": "none",
        "vendor_attestation": {
          "status": "none"
        },
        "basis_event_ids": []
      },
      "canonical_url": "https://sourcey.com/c/mixpanel/agent-readiness/mixpanel-ingestion-api/product-event-capture",
      "projection_digest": "sha256:2356b01e96dcb19aa1853e3a6a57262a4b5c133b6ac2b897160676566315b181"
    }
  }
}
