Pinecone is a fully managed vector database purpose-built for semantic search. Gateco connects to Pinecone as a Tier 1 connector, supporting full document ingestion, retroactive registration, and RAG access control — adding identity-aware retrieval and vector database RBAC on top of your Pinecone indexes. Gateco's policy layer complements Pinecone metadata filtering and namespace isolation by enforcing identity-based access at the retrieval layer.
Step 1 — Create a Pinecone index
If you already have an index, skip to Step 2.
- Log in to app.pinecone.io.
- Click Create index.
- Name: any name meaningful to your project (e.g. production-docs).
- Dimensions: must match your embedding model (e.g. 1536 for text-embedding-3-small).
- Metric: cosine (recommended for semantic search).
- Select Serverless (default) or pod-based depending on your plan.
- Click Create index.
Step 2 — Get your API key
- In the Pinecone console, navigate to API Keys.
- Copy your default API key, or click Create API key to create one dedicated to Gateco.
Step 3 — Note your index host
- In the Pinecone console, click into your index.
- On the index detail page, copy the Host URL (e.g. production-docs-abc123.svc.us-east-1-aws.pinecone.io).
Step 4 — Add the connector in Gateco
- Navigate to Connectors → Add connector → Pinecone.
- Enter your API key and index name.
- Click Test connection. Gateco will display the index stats (dimension, vector count).
- Click Save.
| Field | Example | Description |
|---|---|---|
api_key | pc-xxxxxxxxxxxxxxxx | Your Pinecone API key |
index_name | production-docs | The index name (not the host URL) |
Ingest and retrieve
from gateco_sdk import GatecoClient
client = GatecoClient(api_key="gck_live_...")
# Ingest a document
client.ingest.document(
connector_id="your-connector-id",
resource_id="doc-001",
content="Quarterly revenue report Q4 2025",
embedding=[0.1, 0.2, ...],
metadata={"classification": "confidential", "department": "finance"},
)
# Retrieve with policy enforcement
result = client.retrievals.execute(
query="What was Q4 revenue?",
principal_id="user-alice",
connector_id="your-connector-id",
search_mode="vector",
)
print(f"Allowed: {len(result.allowed_chunks)}, Denied: {result.denied_count}")Troubleshooting
| Error | Cause | Fix |
|---|---|---|
UNAUTHENTICATED | Invalid API key | Verify the API key in Pinecone console → API Keys |
NOT_FOUND: index not found | Wrong index name | Use the index name (not the host URL) in the connector config |
Dimension mismatch | Index dimension does not match embedding size | Verify your embedding model output size matches the index dimension |