{"uid":"cap_QV6P3vxMwj4UnYK_GTXIR","slug":"csv-left-join-by-key-f3d19096","name":"CSV Left Join By Key","description":"CSV Left Join By Key: CSV Left Join By Key left-joins two bounded CSV tables on one key column from bounded caller-supplied values without an external provider. Call CSV Left 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 Left Join By Key as versioned deterministic JSON. Price: $0.001 USDC via x402 on B…","url":"https://api.delx.ai/api/v1/x402/csv-left-join-by-key","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"key":{"type":"string","maxLength":8192,"description":"Key supplied to CSV Left 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 Left 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 Left 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\n2,Lin,","row_count":2},"schema":"delx/util-csv-left-join-by-key/v1","status":"pass","evidence":{"retained":false,"input_sha256":"fc7b0105dea0cd7ff481614e8ba999b4ca60e2975a5ef301fc7efdbece9ea9cc","external_calls":0},"operation":"data_batch:csv_left_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_jbIr-zYIECsPoMpmIfd65","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":"Performs a SQL-style left join of two CSV tables on a specified key column, returning the merged result as deterministic versioned JSON with row counts and normalized values.","exampleAgentPrompt":"Left join these two CSV tables on the 'customer_id' column — the left table is my orders export and the right table is my customers export — and give me the merged result with row counts.","exampleUseCases":[{"title":"Enrich orders with customer details","prompt":"I have two CSVs: one with order records and one with customer profiles. Can you left join them on 'customer_id' so every order row gets the matching customer name and email appended?"},{"title":"Match product catalog with inventory data","prompt":"Join my product catalog CSV with my inventory CSV on the 'sku' column — I want to keep all products even if they have no inventory entry yet."},{"title":"Combine survey responses with participant metadata","prompt":"I've got a survey responses CSV and a participants CSV. Left join them on 'participant_id' so I can see each response alongside the participant's demographic info, keeping all responses even if the participant record is missing."}],"resultDescription":"A versioned deterministic JSON object containing the left-joined rows from both CSV tables, normalized column values, row counts (total left rows, matched rows, unmatched rows), and a versioned result contract describing the output schema.","failureModes":["Key column not found in one or both CSVs — returns validation error with column name details","Malformed or unparseable CSV input — returns parse error with row/column location","CSV input exceeds 8192-character limit — returns size exceeded error","Mismatched column types for the key column — may result in zero matches with count of 0","Empty left CSV — returns empty result with zero rows"],"whenToPreferThis":"Use this endpoint when you need to merge two in-memory CSV datasets relationally without spinning up a database or external data processing service. It is ideal when both tables fit within the 8KB input limit, you need a left join (preserving all left-table rows), and you want a fast, deterministic, versioned JSON result you can pass directly to a downstream tool. Prefer this over generic CSV utilities when you need row counts and a normalized result contract included automatically.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-15T06:55:09.714Z","isFirstParty":false}