Published on: April 27, 2026 9 min read Give your AI agent direct, structured GitLab access with glab CLI The GitLab CLI (glab) provides AI agents structured, reliable access to projects via the MCP, eliminating friction. This tutorial shows how you can speed up code review and…
들어가며 안녕하세요. ABC Platform 팀에서 메시징 플랫폼(이하 MessagingHub)을 만들고 있는 송재욱입니다. 메시징은 이제 거의 모든 서비스에서 요구되는 기본 스펙인데요. 이번 글에서는 그중에서도 ‘채팅’에 초점을 맞춰 이야기해 보겠습니다. 서비스에는 여러 종류의 채팅이 있습니다. 상호작용을 통해 답을 얻는 챗봇, 고객 상담을 위한 문의형 채팅, 1:1 채팅과 그룹 채팅까지. 모두 같은 채팅이지만 요구 사항에 따라 세부 스펙과 구현 방식은 달라집니다. 그렇다면 서비스를 추가할 때…
How we optimized Dash's relevance judge with DSPy Dropbox Dash brings your files, messages, and team’s knowledge together in one place, so you can ask questions and get useful answers that are actually grounded in your company’s context. Under the hood, that experience relies he…
Slashing agent token costs by 98% with RFC 9457-compliant error responses 2026-03-11 Sam Marsh AI agents are no longer experiments. They are production infrastructure, making billions of HTTP requests per day, navigating the web, calling APIs, and orchestrating complex workflows…
Reilly Wood I work on Datadog's official MCP (Model Context Protocol) server, our first observability interface designed specifically for customers' AI agents. Our first version was a thin wrapper around existing APIs, the kind of thing you can build in a weekend. It worked well…
Toss Payments treats its Open API not just as a communication tool, but as a long-term infrastructure designed to support over 200,000 merchants for decades. By focusing on resource-oriented design and developer experience, the platform ensures that its interfaces remain intuitive, consistent, and easy to maintain. This strategic approach prioritizes structural stability and clear communication over mere functionality, fostering a reliable ecosystem for both developers and businesses.
### Resource-Oriented Interface Design
* The API follows a predictable path structure (e.g., `/v1/payments/{id}`) where the root indicates the version, followed by the domain and a unique identifier.
* Request and response bodies utilize structured JSON with nested objects (like `card` or `cashReceipt`) to modularize data and reduce redundancy.
* Consistency is maintained by reusing the same domain objects across different APIs, such as payment approval, inquiry, and cancellation, which minimizes the learning curve for external developers.
* Data representation shifts from cryptic legacy codes (e.g., SC0010) to human-readable strings, supporting localization into multiple languages via the `Accept-Language` HTTP header.
* Standardized error handling utilizes HTTP status codes paired with a JSON error object containing specific `code` and `message` fields, allowing developers to either display messages directly or implement custom logic.
### Asynchronous Communication via Webhooks
* Webhooks are provided alongside standard APIs to handle asynchronous events where immediate responses are not possible, such as status changes in complex payment flows.
* Event types are clearly categorized (e.g., `PAYMENT_STATUS_CHANGED`), and the payloads mirror the exact resource structures used in the REST APIs to simplify parsing.
* The system ensures reliability by implementing an Exponential Backoff strategy for retries, preventing network congestion during recipient service outages.
* A dedicated developer center allows merchants to register custom endpoints, monitor transmission history, and perform manual retries if automated attempts fail.
### External Ecosystem and Documentation Automation
* Developer Experience (DX) is treated as the core metric for API quality, focusing on how quickly and efficiently a developer can integrate and operate the service.
* To prevent the common issue of outdated manuals, Toss Payments uses a documentation automation system based on the OpenAPI Specification (OAS).
* By utilizing libraries like `springdoc`, the platform automatically syncs the technical documentation with the actual server code, ensuring that parameters, schemas, and endpoints are always up-to-date and trustworthy.
To ensure the longevity of a high-traffic Open API, organizations should prioritize automated documentation and resource-based consistency. Moving away from cryptic codes toward human-readable, localized data and providing robust asynchronous notification tools like webhooks are essential steps for building a developer-friendly infrastructure.
Gabriel Reid Package delivery services like UPS, FedEx, and the postal service have a tough job. They contend with a never-ending stream of packages to be delivered, with expectations of prompt and reliable delivery. In building the Datadog Log Forwarding feature, we had to cont…
Austin Lai Heston Hoffman Kari Halsted “I notice that you use plain, simple language, short words and brief sentences. That is the way to write English—it is the modern way and the best way.” - Mark Twain Just as development teams adopt linters such as Prettier in their workflow…