{
  "contract": "sourcey.site-record/v1alpha1",
  "release_id": "sha256:2fbbef898f76ba47f54ef0fdf7585060968f5e9f04fed731ced83efb3d376e94",
  "snapshot_id": "sha256:b26a8a5eb7be48e03c2bfcf5657c69ff3b1c055d42d37ba60214f516fa83f8c3",
  "artifact_sha256": "sha256:09d0e4cb56c1db3fa3ba012530cfe29c948b1374adb7435befa11ea100edf477",
  "data": {
    "entity_id": "ent_01kyh8fpe4a7e0sp2h5gjz9xbm",
    "entity_slug": "pinecone",
    "profile": {
      "projection_contract": "sourcey.agent-readiness-projection/v1alpha1",
      "agent_readiness_profile_id": "arp_01m4pmq16f654bd72rqvshaye0",
      "entity_id": "ent_01kyh8fpe4a7e0sp2h5gjz9xbm",
      "scope": {
        "product": {
          "key": "pinecone-database-api",
          "name": "Pinecone Database API"
        },
        "job": {
          "key": "vector-upsert-query",
          "name": "Find a vector by query"
        }
      },
      "catalog_binding": {
        "base_release_id": "sha256:db2b6fb8d8036900d15f82e2db30e1b346cef582f11f9fdc1299cf17666935f8",
        "entity_revision_digest": "sha256:e9e189b94a2779ae87069ff0564d9b42af13a48dd09efba1da4d509f66e08195"
      },
      "declaration_revision_digest": "sha256:f646857ee7ead37dbc5436b9466fbabace6550e6b929190895f0c914a9986fd3",
      "declaration": {
        "declaration_id": "declaration_pinecone_pinecone_database_api_vector_upsert_query",
        "provenance": {
          "repository": "sourcey/agent-ready-services",
          "commit": "d0349b59eac1f864862be6cae9c25d97bec9e731",
          "path": "entities/pi/pinecone.yaml",
          "git_blob_oid": "c8f1591900243b746793abd3d71463875e7e4f91",
          "blob_digest": "sha256:6a508856d99245fff1da09f94aa43f5521b6691bde1ebc684f31e412d2823bce"
        },
        "status": "community_declared"
      },
      "surface_catalog": {
        "participants": [
          {
            "participant_id": "pinecone",
            "roles": [
              "access_operator",
              "identity_provider",
              "operations_provider",
              "payment_provider",
              "provisioning_provider",
              "subject"
            ],
            "identity": {
              "entity_id": "ent_01kyh8fpe4a7e0sp2h5gjz9xbm"
            }
          }
        ],
        "resources": [
          {
            "resource_id": "api-errors",
            "uri": "https://docs.pinecone.io/reference/api/errors",
            "roles": [
              "documentation",
              "operations",
              "recovery",
              "status"
            ],
            "operated_by_participant_id": "pinecone",
            "standard_bindings": []
          },
          {
            "resource_id": "api-reference",
            "uri": "https://docs.pinecone.io/reference/api/introduction",
            "roles": [
              "discovery",
              "documentation",
              "operations"
            ],
            "operated_by_participant_id": "pinecone",
            "standard_bindings": []
          },
          {
            "resource_id": "authentication",
            "uri": "https://docs.pinecone.io/reference/api/authentication",
            "roles": [
              "authentication",
              "descriptor",
              "documentation",
              "provisioning"
            ],
            "operated_by_participant_id": "pinecone",
            "standard_bindings": []
          },
          {
            "resource_id": "console-access",
            "uri": "https://app.pinecone.io/",
            "roles": [
              "access"
            ],
            "operated_by_participant_id": "pinecone",
            "standard_bindings": [],
            "allowed_redirect_hosts": [
              "login.pinecone.io"
            ]
          },
          {
            "resource_id": "create-index",
            "uri": "https://docs.pinecone.io/reference/api/2026-07/control-plane/create_index",
            "roles": [
              "documentation",
              "provisioning",
              "status"
            ],
            "operated_by_participant_id": "pinecone",
            "standard_bindings": []
          },
          {
            "resource_id": "database-limits",
            "uri": "https://docs.pinecone.io/reference/api/database-limits",
            "roles": [
              "documentation",
              "operations",
              "status"
            ],
            "operated_by_participant_id": "pinecone",
            "standard_bindings": []
          },
          {
            "resource_id": "manage-service-accounts",
            "uri": "https://docs.pinecone.io/guides/organizations/manage-service-accounts",
            "roles": [
              "authentication",
              "documentation"
            ],
            "operated_by_participant_id": "pinecone",
            "standard_bindings": []
          },
          {
            "resource_id": "pricing",
            "uri": "https://www.pinecone.io/pricing/",
            "roles": [
              "pricing"
            ],
            "operated_by_participant_id": "pinecone",
            "standard_bindings": []
          },
          {
            "resource_id": "query-vectors",
            "uri": "https://docs.pinecone.io/reference/api/2026-07/data-plane/query",
            "roles": [
              "documentation",
              "operations"
            ],
            "operated_by_participant_id": "pinecone",
            "standard_bindings": []
          },
          {
            "resource_id": "service-terms",
            "uri": "https://www.pinecone.io/legal/master-subscription-agreement/",
            "roles": [
              "terms"
            ],
            "operated_by_participant_id": "pinecone",
            "standard_bindings": []
          },
          {
            "resource_id": "support",
            "uri": "https://docs.pinecone.io/troubleshooting/how-to-work-with-support",
            "roles": [
              "documentation",
              "recovery"
            ],
            "operated_by_participant_id": "pinecone",
            "standard_bindings": []
          },
          {
            "resource_id": "understanding-organizations",
            "uri": "https://docs.pinecone.io/guides/organizations/understanding-organizations",
            "roles": [
              "access",
              "documentation"
            ],
            "operated_by_participant_id": "pinecone",
            "standard_bindings": []
          },
          {
            "resource_id": "upsert-vectors",
            "uri": "https://docs.pinecone.io/reference/api/2026-07/data-plane/upsert",
            "roles": [
              "documentation",
              "operations"
            ],
            "operated_by_participant_id": "pinecone",
            "standard_bindings": []
          }
        ],
        "endpoints": [
          {
            "endpoint_id": "registration",
            "uri": "https://app.pinecone.io/",
            "transport": "http",
            "roles": [
              "registration"
            ],
            "operated_by_participant_id": "pinecone",
            "standard_bindings": [],
            "allowed_redirect_hosts": [
              "login.pinecone.io"
            ]
          }
        ],
        "interfaces": [
          {
            "interface_id": "api-authentication",
            "modality": "network_api",
            "functions": [
              "authentication"
            ],
            "endpoint_ids": [],
            "resource_ids": [
              "authentication"
            ],
            "operated_by_participant_id": "pinecone",
            "standard_bindings": []
          },
          {
            "interface_id": "data-plane-api",
            "modality": "network_api",
            "functions": [
              "service_operation"
            ],
            "endpoint_ids": [],
            "resource_ids": [
              "api-errors",
              "api-reference",
              "create-index",
              "database-limits",
              "query-vectors",
              "upsert-vectors"
            ],
            "operated_by_participant_id": "pinecone",
            "standard_bindings": []
          }
        ],
        "relations": [
          {
            "relation_id": "authentication-authenticates-api",
            "kind": "authenticates",
            "from": {
              "node_kind": "interface",
              "node_id": "api-authentication"
            },
            "to": {
              "node_kind": "interface",
              "node_id": "data-plane-api"
            }
          },
          {
            "relation_id": "console-precedes-authentication",
            "kind": "precedes",
            "from": {
              "node_kind": "resource",
              "node_id": "console-access"
            },
            "to": {
              "node_kind": "interface",
              "node_id": "api-authentication"
            }
          },
          {
            "relation_id": "create-index-describes-api",
            "kind": "describes",
            "from": {
              "node_kind": "resource",
              "node_id": "create-index"
            },
            "to": {
              "node_kind": "interface",
              "node_id": "data-plane-api"
            }
          },
          {
            "relation_id": "manage-service-accounts-describes-api-authentication",
            "kind": "describes",
            "from": {
              "node_kind": "resource",
              "node_id": "manage-service-accounts"
            },
            "to": {
              "node_kind": "interface",
              "node_id": "api-authentication"
            }
          },
          {
            "relation_id": "reference-describes-api",
            "kind": "describes",
            "from": {
              "node_kind": "resource",
              "node_id": "api-reference"
            },
            "to": {
              "node_kind": "interface",
              "node_id": "data-plane-api"
            }
          }
        ],
        "surface_exclusions": [
          {
            "exclusion_id": "free-job-no-checkout",
            "role": "checkout",
            "rationale": "Pinecone's free Starter plan upserts and queries vectors with no card on file."
          },
          {
            "exclusion_id": "separate-eligibility-resource",
            "role": "eligibility",
            "rationale": "Applicable access conditions are published within the service terms; no separate eligibility resource is declared."
          }
        ]
      },
      "lifecycle": "active",
      "effective_from": "2026-10-12T00:09:56.802Z",
      "revision_digest": "sha256:5b4491fe99b4c2e92e7041a4a9dd77b3080301ba9ad0eb7db2e19866f82e68c7",
      "policy_digest": "sha256:0a4e4996176ce674b4f3ce910c5fca4f37c9b53bcdf51656d53a1a92fcf2c879",
      "policy_version": "kind-2026-10-12",
      "policy_as_of": "2026-10-05T00:00:00Z",
      "job": {
        "job_id": "vector-upsert-query",
        "job_digest": "sha256:45b3231eda9ad0fb3dace8afa683dec9937e9fd0fbf11d2afddf08a95672cdaf",
        "category": "vector-database",
        "name": "Find a vector by query",
        "statement": "Write a vector whose metadata value is the run's nonce, then query for the nonce."
      },
      "interface_id": "data-plane-api",
      "label": "probed",
      "label_run_at": null,
      "grade": {
        "letter": "B+",
        "statement": "A person signs up and hands over a key.",
        "steps": [
          {
            "step": "discover",
            "outcome": "machine",
            "timing": null
          },
          {
            "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": "authority",
            "timing": "setup"
          },
          {
            "step": "onboard",
            "timing": "setup"
          },
          {
            "step": "sustain",
            "timing": "setup"
          }
        ]
      },
      "discovery": [
        {
          "fact": "api_catalog_link",
          "value": "https://www.pinecone.io/",
          "descriptor_url": "https://www.pinecone.io/.well-known/api-catalog",
          "attempt_digest": "sha256:8470b30ac7a6ae8c78203a734a4b3768286cda8a797b818640df53e63c815970",
          "adapter": {
            "namespace": "rfc9727",
            "version": "linkset"
          }
        },
        {
          "fact": "agent_documentation",
          "value": "https://www.pinecone.io/llms.txt",
          "descriptor_url": "https://www.pinecone.io/llms.txt",
          "attempt_digest": "sha256:154442409e522a590403a32ba36d1388510ab7b369063bf8621949867f784fa0",
          "adapter": {
            "namespace": "llms.txt",
            "version": "1"
          }
        },
        {
          "fact": "openapi_server",
          "value": "https://api.pinecone.io/",
          "descriptor_url": "https://www.pinecone.io/openapi.json",
          "attempt_digest": "sha256:27c23b7395e792f8af7e261b4611a0eea12d3e0f5531a10aa1726172cdabaf10",
          "adapter": {
            "namespace": "openapi",
            "version": "3.0.3"
          }
        },
        {
          "fact": "openapi_server",
          "value": "https://unknown/",
          "descriptor_url": "https://www.pinecone.io/openapi.json",
          "attempt_digest": "sha256:27c23b7395e792f8af7e261b4611a0eea12d3e0f5531a10aa1726172cdabaf10",
          "adapter": {
            "namespace": "openapi",
            "version": "3.0.3"
          }
        },
        {
          "fact": "openapi_server",
          "value": "https://api.pinecone.io/assistant",
          "descriptor_url": "https://www.pinecone.io/openapi.json",
          "attempt_digest": "sha256:27c23b7395e792f8af7e261b4611a0eea12d3e0f5531a10aa1726172cdabaf10",
          "adapter": {
            "namespace": "openapi",
            "version": "3.0.3"
          }
        },
        {
          "fact": "openapi_server",
          "value": "https://prod-1-data.ke.pinecone.io/assistant",
          "descriptor_url": "https://www.pinecone.io/openapi.json",
          "attempt_digest": "sha256:27c23b7395e792f8af7e261b4611a0eea12d3e0f5531a10aa1726172cdabaf10",
          "adapter": {
            "namespace": "openapi",
            "version": "3.0.3"
          }
        },
        {
          "fact": "openapi_server",
          "value": "https://prod-eu-data.ke.pinecone.io/assistant",
          "descriptor_url": "https://www.pinecone.io/openapi.json",
          "attempt_digest": "sha256:27c23b7395e792f8af7e261b4611a0eea12d3e0f5531a10aa1726172cdabaf10",
          "adapter": {
            "namespace": "openapi",
            "version": "3.0.3"
          }
        },
        {
          "fact": "openapi_server",
          "value": "https://login.pinecone.io/",
          "descriptor_url": "https://www.pinecone.io/openapi.json",
          "attempt_digest": "sha256:27c23b7395e792f8af7e261b4611a0eea12d3e0f5531a10aa1726172cdabaf10",
          "adapter": {
            "namespace": "openapi",
            "version": "3.0.3"
          }
        }
      ],
      "discovery_run_at": null,
      "run": {
        "started_at": "2026-10-12T00:09:44.098Z",
        "finished_at": "2026-10-12T00:09:56.802Z",
        "discovery_reads": 13,
        "exchanges": [
          {
            "purpose": "probe_page",
            "role": "request",
            "method": "GET",
            "url": "https://app.pinecone.io/",
            "started_at": "2026-10-12T00:09:52.911Z",
            "finished_at": "2026-10-12T00:09:52.973Z",
            "response": {
              "status": 200,
              "media_type": "text/html",
              "content_bytes": 3922,
              "content_digest": "sha256:44ed16765afd51fd86404692044af4c35a75ab8953c04414cc1053a2c39e1f08"
            },
            "transport_error": null,
            "exchange_digest": "sha256:23574dc506aafa8e1eb6f56757de6b07079a4d3f89187a6b84ea909be9f09d4f"
          }
        ],
        "assertions": []
      },
      "last_run_at": "2026-10-12T00:09:56.802Z",
      "publication": {
        "visibility": "discoverable",
        "reasons": []
      },
      "provenance": {
        "dispute": "none",
        "vendor_attestation": {
          "status": "none"
        },
        "basis_event_ids": []
      },
      "canonical_url": "https://sourcey.com/c/pinecone/agent-readiness/pinecone-database-api/vector-upsert-query",
      "projection_digest": "sha256:48502c883bb2fcb90d994b83f173f04c1bd6a25d80a036c57a3c4b1c8b4379c8"
    }
  }
}
