{"uid":"cap_hvdt5FqZPAVsyVuesqg_K","slug":"csv-join-by-key-af18600a","name":"CSV Join By Key","description":"CSV Join By Key: CSV Join By Key inner-joins two bounded CSV tables on one key column from bounded caller-supplied values without an external provider. Call CSV Join By Key before an agent hands structured data or a batch plan to a downstream tool with a stricter contract. Returns the bounded transformation or validation finding with counts, normalized values, and a versioned result contract for CSV Join By Key as versioned deterministic JSON. Price: $0.001 USDC via x402 on Base. First-party, s…","url":"https://api.delx.ai/api/v1/x402/csv-join-by-key","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"key":{"type":"string","maxLength":8192,"description":"Key supplied to CSV Join By Key; used only for this bounded calculation and processed in memory without retention."},"left":{"type":"string","maxLength":8192,"description":"Left supplied to CSV Join By Key; used only for this bounded calculation and processed in memory without retention."},"right":{"type":"string","maxLength":8192,"description":"Right supplied to CSV Join By Key; used only for this bounded calculation and processed in memory without retention."}}},"responseSchema":{"type":"json","example":{"result":{"csv":"id,name,score\n1,Ada,10","row_count":1},"schema":"delx/util-csv-join-by-key/v1","status":"pass","evidence":{"retained":false,"input_sha256":"57022525cee3a1a6a7c28356dba473bc310bef220434f10ff449553cbb91cf73","external_calls":0},"operation":"data_batch:csv_join_by_key"}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.001","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.001/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.001","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.001","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_dCYiDfVnRQPlRObw4l8ZX","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.001","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Inner-joins two CSV tables on a shared key column and returns the merged result as deterministic JSON with row counts and normalized values.","exampleAgentPrompt":"Inner-join these two CSV tables on the 'order_id' key column — left table is my orders export and right table is my shipments export — and give me the merged rows with counts.","exampleUseCases":[{"title":"Merging orders with shipment data","prompt":"I have two CSVs — one with customer orders and one with shipment tracking records — join them on 'order_id' so I can see which orders have been shipped and which haven't."},{"title":"Enriching product list with inventory","prompt":"Take my product catalog CSV and my inventory CSV and inner-join them on 'sku' so I only see products that exist in both tables along with their stock levels."},{"title":"Combining survey responses with participant metadata","prompt":"Join my survey responses CSV with my participant metadata CSV on the 'respondent_id' column so I can analyze responses alongside demographic info."}],"resultDescription":"A versioned deterministic JSON object containing the inner-joined rows from both CSV inputs matched on the specified key column, along with row counts for left, right, and matched rows, normalized column values, and a versioned result contract identifier. All processing is done in memory with no data retention.","failureModes":["Key column not found in one or both CSV inputs — returns validation error identifying the missing column","Malformed CSV input that cannot be parsed — returns parse error with line/column details","Key column values produce zero matches — returns empty result set with zero match count","Input size exceeds 8192 character limit per field — returns size exceeded error","Mismatched column types on key column cause no matches — empty result with counts showing mismatch"],"whenToPreferThis":"Use this endpoint when an agent needs to perform a deterministic, in-memory inner join of two small-to-medium bounded CSV datasets on a single key column without standing up external database infrastructure. It is ideal as a pre-processing step before handing structured merged data to a downstream tool with a strict schema contract. Prefer this over SQL-based joins when no database is available, and over Python/pandas when code execution is not permitted in the agent's environment.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-15T07:07:51.246Z","isFirstParty":false}