{
  "id": 3979217,
  "title": "How I Mapped an Undocumented Vendor API in 2 Days With Claude Code",
  "url": "https://urgent.news/2026/08/28/how-i-mapped-an-undocumented-vendor-api-in-2-days-with-claude-code",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-08-28T14:32:31.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/yureki_lab/how-i-mapped-an-undocumented-vendor-api-in-2-days-with-claude-code-1c4d"
  },
  "original_language": "en",
  "account": "The challenge was integrating a partner's billing API using only a sandbox key, a 6-page PDF with example requests, and no OpenAPI spec or SDK. The PDF mentioned the amount field was an integer, but the real payloads contained string values in three endpoints. The invoice object had six fields according to the PDF, but thirty-one fields in practice. To avoid issues where documented types and nullability didn't match actual responses, the author's solution required tracing every type, enum, and nullability decision back to actual HTTP responses observed during testing.",
  "summary": "TL;DR A vendor handed us a sandbox key, a 6-page PDF, and no OpenAPI spec. I used Claude Code to turn ~40 exploratory requests into an inferred schema, a typed client, and a contract test suite in two days. The trick was never letting the agent write types from the docs — only from captured responses. Here's the loop, plus the three times it confidently made things up. The Problem We had to…",
  "key_points": [
    "Author mapped undocumented vendor API in 2 days",
    "Used Claude Code to trace actual HTTP responses",
    "Discovered 31 fields in invoice object vs 6 per PDF"
  ],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}