{"uid":"cap_rB2cs8OsBIH9C5JBWoZY_","slug":"gedx402-batch-document-upsert-bada2958","name":"GEDX402 Batch Document Upsert","description":"Batch upsert up to 64 documents into a namespace — one paid request for agent memory ingest.","url":"https://search.gedx402.com/v1/search/upsert/batch","method":"GET","headers":{},"bodySchema":{"type":"object","properties":{"documents":{"type":"array","items":{"type":"object"}},"namespace":{"type":"string"}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.06","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.06/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.06","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.06","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_tec8rgIGYuZwdHge9gPR9","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.06","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Batch-inserts or updates documents (with embeddings) into a namespaced vector collection, payable via USDC on-chain with no API keys.","exampleAgentPrompt":"Index these 3 documents into my 'project-alpha' namespace: {id: 'doc1', text: 'Cloudflare Workers are serverless functions...'}, {id: 'doc2', text: 'Vector search enables semantic retrieval...'}, {id: 'doc3', text: 'x402 allows micropayments for APIs...'} — no API key, pay with USDC on Base.","exampleUseCases":[{"title":"Agent memory ingestion for chat history","prompt":"Store the last 50 customer support conversations into my 'support-agent' namespace as embeddings so my agent can retrieve relevant past interactions when handling new tickets — use my USDC wallet to pay."},{"title":"Knowledge base indexing for retrieval","prompt":"Batch-load all 32 pages of our product documentation into the 'kb-prod' namespace with embeddings so semantic search can find answers to user questions without needing API keys."},{"title":"Bulk update search collection content","prompt":"Upsert these 64 research papers with their summaries into my 'research-index' namespace for RAG pipeline ingestion — pay per transaction in USDC so I only pay for what I use."}],"resultDescription":"A JSON object confirming how many documents were successfully upserted, e.g. {\"upserted\": 2}. The count reflects the number of documents processed and stored in the specified namespace.","failureModes":["Invalid document format — missing required 'id' or 'text' fields returns a 400 error","Namespace string outside 2-64 character range causes a validation failure","Payment not completed or insufficient USDC balance results in a 402 Payment Required response","Empty documents array returns an error or zero upserted count","Unsupported blockchain network for payment causes transaction rejection"],"whenToPreferThis":"Choose this endpoint when you need to bulk-load or update multiple documents into a namespaced vector store in a single call, especially when you want to avoid managing API keys and prefer paying per-use in USDC on Base, Polygon, Arbitrum, World, or Solana. Ideal for agent memory systems, knowledge base indexing, or RAG pipeline ingestion.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-14T18:41:25.377Z","isFirstParty":false}