# JSON Schema

Published articles for JSON Schema.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## DACA-GRPO: Denoising-Aware Credit Assignment for Reinforcement Learning in Diffusion Language Models

DevFeed: [DACA-GRPO: Denoising-Aware Credit Assignment for Reinforcement Learning in Diffusion Language Models](<https://devfeed.tech/articles/daca-grpo-denoising-aware-credit-assignment-for-reinforcement-learning-in-diffusion-language-models-31489.md>)

Original publisher: [Read original article](<https://machinelearning.apple.com/research/denoising-aware-credit-assignment>)

Published: 2026-09-16T00:00:00Z

Content type: article

Language: en

Sources: [Apple Machine Learning Research](<https://devfeed.tech/sources/apple-machine-learning-research.md>)

Topics: [grpo](<https://devfeed.tech/topics/grpo.md>), [Reinforcement learning](<https://devfeed.tech/topics/reinforcement-learning.md>), [large-language-models](<https://devfeed.tech/topics/large-language-models.md>), [LLM Techniques](<https://devfeed.tech/topics/llm-techniques.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [code-generation](<https://devfeed.tech/tags/code-generation.md>), [denoising](<https://devfeed.tech/tags/denoising.md>), [diffusion](<https://devfeed.tech/tags/diffusion.md>), [grpo](<https://devfeed.tech/tags/grpo.md>), [json-schema](<https://devfeed.tech/tags/json-schema.md>), [optimization](<https://devfeed.tech/tags/optimization.md>), [reinforcement-learning](<https://devfeed.tech/tags/reinforcement-learning.md>)

### AI overview

The article introduces DACA-GRPO, a denoising-aware enhancement for GRPO-style reinforcement-learning trainers used with diffusion language models. It uses per-token denoising progress scores and stratified masking likelihood to improve credit assignment and reduce bias in likelihood estimates. Across seven benchmarks, the method reports gains in mathematical reasoning, code generation, constraint satisfaction, and JSON Schema adherence.

### Source excerpt

Diffusion large language models are a compelling alternative to autoregressive models, yet existing RL methods for diffusion treat all denoising steps as equally important and rely on biased, high-variance likelihood estimates. We identify two fundamental weaknesses: the absence of temporal credit assignment across the denoising trajectory, and the systematic bias of mean-field likelihood estimates used for policy optimization. To address these, we propose Denoising-Aware Credit Assignment for GRPO (DACA-GRPO), a lightweight, plug-and-play enhancement for any GRPO-style trainer. DACA-GRPO...

## A better way to build MCP servers with Laravel

DevFeed: [A better way to build MCP servers with Laravel](<https://devfeed.tech/articles/a-better-way-to-build-mcp-servers-with-laravel-20840.md>)

Original publisher: [Read original article](<https://laravel.com/blog/a-better-way-to-build-mcp-servers-with-laravel>)

Author: Pushpak Chhajed

Published: 2026-09-11T12:01:00Z

Content type: article

Language: en

Sources: [Laravel Blog](<https://devfeed.tech/sources/laravel-blog.md>)

Topics: [MCP](<https://devfeed.tech/topics/mcp.md>), [Laravel](<https://devfeed.tech/topics/laravel.md>), [MCP Server](<https://devfeed.tech/topics/mcp-server.md>), [context window](<https://devfeed.tech/topics/context-window.md>), [JSON Schema](<https://devfeed.tech/topics/json-schema.md>), [Cloudflare](<https://devfeed.tech/topics/cloudflare.md>)

Tags: [cloudflare](<https://devfeed.tech/tags/cloudflare.md>), [context-window](<https://devfeed.tech/tags/context-window.md>), [json-schema](<https://devfeed.tech/tags/json-schema.md>), [laravel](<https://devfeed.tech/tags/laravel.md>), [mcp](<https://devfeed.tech/tags/mcp.md>), [mcp-server](<https://devfeed.tech/tags/mcp-server.md>)

### AI overview

The article explains how Laravel MCP 1.0 uses searchable tool catalogs to avoid loading every MCP tool definition into an agent's context on every request. It describes the context costs of large tool surfaces and the evolution of the author's implementation.

### Source excerpt

Every MCP tool loads on every request. Laravel MCP 1.0 fixes that with searchable tool catalogs: the same payload for 10 or 100 tools.

## 10 Tips for Preparing APIs for Agentic Access

DevFeed: [10 Tips for Preparing APIs for Agentic Access](<https://devfeed.tech/articles/10-tips-for-preparing-apis-for-agentic-access-12643.md>)

Original publisher: [Read original article](<https://nordicapis.com/10-tips-for-preparing-apis-for-agentic-access/>)

Author: J Simpson

Published: 2026-08-27T11:40:00Z

Content type: article

Language: en

Sources: [Nordic APIs](<https://devfeed.tech/sources/nordic-apis.md>)

Topics: [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [observability](<https://devfeed.tech/topics/observability.md>), [Security](<https://devfeed.tech/topics/security.md>), [Architecture & Design](<https://devfeed.tech/topics/architecture-design.md>), [Cloudflare](<https://devfeed.tech/topics/cloudflare.md>)

Tags: [agentic](<https://devfeed.tech/tags/agentic.md>), [agentic-ai](<https://devfeed.tech/tags/agentic-ai.md>), [ai](<https://devfeed.tech/tags/ai.md>), [ai-agents](<https://devfeed.tech/tags/ai-agents.md>), [api-best-practices](<https://devfeed.tech/tags/api-best-practices.md>), [api-design](<https://devfeed.tech/tags/api-design.md>), [api-discovery](<https://devfeed.tech/tags/api-discovery.md>), [api-documentation](<https://devfeed.tech/tags/api-documentation.md>), [api-monitoring](<https://devfeed.tech/tags/api-monitoring.md>), [api-security](<https://devfeed.tech/tags/api-security.md>), [apis](<https://devfeed.tech/tags/apis.md>), [artificial-intelligence](<https://devfeed.tech/tags/artificial-intelligence.md>), [blog](<https://devfeed.tech/tags/blog.md>), [json-schema](<https://devfeed.tech/tags/json-schema.md>), [oauth](<https://devfeed.tech/tags/oauth.md>), [observability](<https://devfeed.tech/tags/observability.md>), [openapi-specification](<https://devfeed.tech/tags/openapi-specification.md>), [security](<https://devfeed.tech/tags/security.md>), [workflows](<https://devfeed.tech/tags/workflows.md>)

### AI overview

Ten ways to prepare APIs for agentic access by improving discovery, security, observability, workflows, and predictable design for AI agents.

### Source excerpt

In May 2026, Cloudflare released a new tool called isitagentready.com. It analyzes a URL for everything an agentic AI would need to interact with a site and then returns a score out of 100. Even better still, it breaks down its assessment by category, letting you know how your site performs for discoverability, accessibility from ...

## Haiku Activity & Contract Report, April 2026

DevFeed: [Haiku Activity & Contract Report, April 2026](<https://devfeed.tech/articles/haiku-activity-contract-report-april-2026-34784.md>)

Original publisher: [Read original article](<https://www.haiku-os.org/blog/waddlesplash/2026-05-11-haiku_activity_contract_report_april_2026/>)

Author: waddlesplash

Published: 2026-05-12T03:30:00Z

Content type: article

Language: en

Sources: [Haiku Project](<https://devfeed.tech/sources/haiku-project.md>)

Topics: [Code](<https://devfeed.tech/topics/code.md>), [JSON Schema](<https://devfeed.tech/topics/json-schema.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [Memory Leaks](<https://devfeed.tech/topics/memory-leaks.md>), [bug](<https://devfeed.tech/topics/bug.md>)

Tags: [2026](<https://devfeed.tech/tags/2026.md>), [activity-report](<https://devfeed.tech/tags/activity-report.md>), [bug](<https://devfeed.tech/tags/bug.md>), [code](<https://devfeed.tech/tags/code.md>), [command-line](<https://devfeed.tech/tags/command-line.md>), [contractor](<https://devfeed.tech/tags/contractor.md>), [json-schema](<https://devfeed.tech/tags/json-schema.md>), [memory-leak](<https://devfeed.tech/tags/memory-leak.md>), [report](<https://devfeed.tech/tags/report.md>)

### AI overview

Haiku's April 2026 activity and contract report covers revisions hrev59570 through hrev59671, documenting performance improvements, bug fixes, memory-leak fixes, JSON Schema code-generation work, and command-line tool changes.

### Source excerpt

This report covers hrev59570 through hrev59671. GSoC selection happened at the end of last month; you can read the news post announcing this year's selectees. Thanks to everyone who applied! Applications phoudoin disabled some redundant filetype checking in TextSearch, improving performance a bit. nipos dropped some obsolete code from WebPositive's tab bar. jscipione continued his work on Tracker, removing redundant code, fixing problems with Copy/Paste, the Trash icon, and much more. waddlesplash came by and made a few fixes too, including one to avoid a lot of unnecessary node monitoring syscalls. aquamatic123 did some cleanups to the Devices internals, solving another TODO. He also tracked down and fixed a memory leak. apl refactored the JSON schema code generation system in HaikuDepot, to prepare for potential use with REST APIs (among other reasons.) He also fixed the "Featured" tab displaying as disabled incorrectly in some circumstances (which also entailed fixing a bug in BTabView), and reworked how the package view data is updated. humdinger removed some unnecessary spacing in the Appearance preferences. jscipione made the message body text colors in Mail automatically update when the system colors change. nathan242 fixed a crash in SoftwareUpdater when trying to quit while a download was running. waddlesplash implemented automatic cleanup of the "admin" directory in it, meaning that older states will now automatically be deleted to free up space (unless the setting is disabled.) jscipione cleaned up some code and added some missing functions to DeskCalc's math backend. Command line tools waddlesplash improved the (not yet ready for general use) ltrace implementation, fixing a number of TODOs and inefficiencies. However, it's still not ready for general consumption, as it causes problems and crashes when it traces calls. waddlesplash split the "clean up admin directory" functionality of pkgman into a separate subcommand (pkgman cleanup), and changed install

## Structured outputs with Pydantic AI

DevFeed: [Structured outputs with Pydantic AI](<https://devfeed.tech/articles/structured-outputs-with-pydantic-ai-30003.md>)

Original publisher: [Read original article](<https://engineering.freeagent.com/2026/03/24/structured-outputs-with-pydantic-ai/>)

Author: Ed Berry

Published: 2026-03-24T10:34:08Z

Content type: tutorial

Language: en

Sources: [FreeAgent](<https://devfeed.tech/sources/freeagent.md>)

Topics: [Large Language Model](<https://devfeed.tech/topics/llm.md>), [JSON Schema](<https://devfeed.tech/topics/json-schema.md>), [Prompt Engineering](<https://devfeed.tech/topics/prompt-engineering.md>), [Pydantic](<https://devfeed.tech/topics/pydantic.md>), [Python](<https://devfeed.tech/topics/python.md>), [Structured-data](<https://devfeed.tech/topics/structured-data.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [data](<https://devfeed.tech/tags/data.md>), [data-ml](<https://devfeed.tech/tags/data-ml.md>), [data-science](<https://devfeed.tech/tags/data-science.md>), [data-validation](<https://devfeed.tech/tags/data-validation.md>), [genai](<https://devfeed.tech/tags/genai.md>), [json-schema](<https://devfeed.tech/tags/json-schema.md>), [llms](<https://devfeed.tech/tags/llms.md>), [prompt-engineering](<https://devfeed.tech/tags/prompt-engineering.md>), [python](<https://devfeed.tech/tags/python.md>), [schema](<https://devfeed.tech/tags/schema.md>), [structured-output](<https://devfeed.tech/tags/structured-output.md>)

### AI overview

This article explains structured outputs for LLMs using Pydantic AI. It introduces the relationship between Python type hints, static analysis, Pydantic, and runtime data validation, while noting that Pydantic AI is model-agnostic.

### Source excerpt

One of the challenges of working with LLMs is getting them to respond with a consistent format, such as a given JSON schema. Anyone who has tried to solve this issue with prompt engineering knows how frustrating it can be. You add a 'MUST' here and an 'always return JSON' there, but still the output [...]

## How to Get Structured Responses back from OpenAI

DevFeed: [How to Get Structured Responses back from OpenAI](<https://devfeed.tech/articles/how-to-get-structured-responses-back-from-openai-30854.md>)

Original publisher: [Read original article](<https://www.packetcoders.io/how-to-get-structured-responses-back-from-openai/>)

Author: Rick Donato

Published: 2026-01-28T08:00:56Z

Content type: tutorial

Language: en

Sources: [Packet Coders - Learn Network Automation](<https://devfeed.tech/sources/packet-coders-learn-network-automation.md>)

Topics: [JSON Schema](<https://devfeed.tech/topics/json-schema.md>), [OpenAI](<https://devfeed.tech/topics/openai.md>), [Large Language Model](<https://devfeed.tech/topics/llm.md>)

Tags: [example](<https://devfeed.tech/tags/example.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [json](<https://devfeed.tech/tags/json.md>), [json-schema](<https://devfeed.tech/tags/json-schema.md>), [llm](<https://devfeed.tech/tags/llm.md>), [openai](<https://devfeed.tech/tags/openai.md>), [responses](<https://devfeed.tech/tags/responses.md>), [schema](<https://devfeed.tech/tags/schema.md>), [structured](<https://devfeed.tech/tags/structured.md>), [structured-output](<https://devfeed.tech/tags/structured-output.md>), [tips](<https://devfeed.tech/tags/tips.md>)

### AI overview

This tutorial explains that structured responses from OpenAI can be obtained by defining the expected output format with JSON Schema. It includes a Python example using the OpenAI client.

### Source excerpt

OpenAI Tip: If you need structured output from the LLM, use structured responses and define the expected format with JSON Schema. Here's an example: from openai import OpenAI import os client = OpenAI(api_key=os.getenv("OPENAI_API_KEY")) # Define the exact shape you want back.

## AI agent steps in Windmill flows

DevFeed: [AI agent steps in Windmill flows](<https://devfeed.tech/articles/ai-agent-steps-in-windmill-flows-30709.md>)

Original publisher: [Read original article](<https://www.windmill.dev/blog/ai-agents>)

Author: Hugo Casademont

Published: 2025-11-12T00:00:00Z

Content type: article

Language: en

Sources: [Windmill Blog](<https://devfeed.tech/sources/windmill-blog.md>)

Topics: [AI Agent](<https://devfeed.tech/topics/ai-agent.md>), [workflow automation](<https://devfeed.tech/topics/workflow-automation.md>), [Model Context Protocol](<https://devfeed.tech/topics/model-context-protocol.md>), [JSON Schema](<https://devfeed.tech/topics/json-schema.md>), [Streaming](<https://devfeed.tech/topics/streaming.md>)

Tags: [agents](<https://devfeed.tech/tags/agents.md>), [ai](<https://devfeed.tech/tags/ai.md>), [ai-agent](<https://devfeed.tech/tags/ai-agent.md>), [ai-windmill-agents](<https://devfeed.tech/tags/ai-windmill-agents.md>), [automation](<https://devfeed.tech/tags/automation.md>), [json-schema](<https://devfeed.tech/tags/json-schema.md>), [mcp](<https://devfeed.tech/tags/mcp.md>), [model-context-protocol](<https://devfeed.tech/tags/model-context-protocol.md>), [streaming](<https://devfeed.tech/tags/streaming.md>), [webhooks](<https://devfeed.tech/tags/webhooks.md>), [windmill](<https://devfeed.tech/tags/windmill.md>)

### AI overview

This article explains how Windmill AI agent steps let workflows dynamically select and orchestrate tools based on context. It covers tool integration through Windmill scripts and MCP servers, JSON Schema-based tool definitions, structured output across AI providers, MCP compliance, and webhook or HTTP-triggered workflows with streaming options.

### Source excerpt

Implementing AI agent steps in Windmill flows: architecture decisions, multi-provider structured output handling, and MCP protocol compliance challenges.

## Spotlight on Policy Working Group

DevFeed: [Spotlight on Policy Working Group](<https://devfeed.tech/articles/spotlight-on-policy-working-group-17591.md>)

Original publisher: [Read original article](<https://www.kubernetes.dev/blog/2025/10/18/wg-policy-spotlight-2025/>)

Author: The Kubernetes Authors

Published: 2025-10-18T00:00:00Z

Content type: article

Language: en

Sources: [Kubernetes Contributors Blog](<https://devfeed.tech/sources/kubernetes-contributors-blog.md>)

Topics: [Kubernetes](<https://devfeed.tech/topics/kubernetes.md>), [Security](<https://devfeed.tech/topics/security.md>), [Architecture & Design](<https://devfeed.tech/topics/architecture-design.md>), [Kyverno](<https://devfeed.tech/topics/kyverno.md>), [JSON Schema](<https://devfeed.tech/topics/json-schema.md>)

Tags: [architecture](<https://devfeed.tech/tags/architecture.md>), [article](<https://devfeed.tech/tags/article.md>), [blog-post](<https://devfeed.tech/tags/blog-post.md>), [json-schema](<https://devfeed.tech/tags/json-schema.md>), [kubernetes](<https://devfeed.tech/tags/kubernetes.md>), [kyverno](<https://devfeed.tech/tags/kyverno.md>), [security](<https://devfeed.tech/tags/security.md>)

### AI overview

This retrospective examines the completed Kubernetes Policy Working Group, its goal of developing an overall architecture for current and future policy implementations, and insights from former co-chairs about policy management in the Kubernetes ecosystem.

### Source excerpt

(Note: The Policy Working Group has completed its mission and is no longer active. This article reflects its work, accomplishments, and insights into how a working group operates.) In the complex world of Kubernetes, policies play a crucial role in managing and securing clusters. But have you ever wondered how these policies are developed, implemented, and standardized across the Kubernetes ecosystem? To answer that, let's take a look back at the work of the Policy Working Group. The Policy Working Group was dedicated to a critical mission: providing an overall architecture that encompasses both current policy-related implementations and future policy proposals in Kubernetes. Their goal was both ambitious and essential: to develop a universal policy architecture that benefits developers and end-users alike. Through collaborative methods, this working group strove to bring clarity and consistency to the often complex world of Kubernetes policies. By focusing on both existing implementations and future proposals, they ensured that the policy landscape in Kubernetes remains coherent and accessible as the technology evolves. This blog post dives deeper into the work of the Policy Working Group, guided by insights from its former co-chairs: Jim Bugwadia Poonam Lamba Andy Suderman Interviewed by Arujjwal Negi . These co-chairs explained what the Policy Working Group was all about. Introduction Hello, thank you for the time! Let's start with some introductions, could you tell us a bit about yourself, your role, and how you got involved in Kubernetes? Jim Bugwadia: My name is Jim Bugwadia, and I am a co-founder and the CEO at Nirmata which provides solutions that automate security and compliance for cloud-native workloads. At Nirmata, we have been working with Kubernetes since it started in 2014. We initially built a Kubernetes policy engine in our commercial platform and later donated it to CNCF as the Kyverno project. I joined the CNCF Kubernetes Policy Working Group to h

## Supabase MCP Server

DevFeed: [Supabase MCP Server](<https://devfeed.tech/articles/supabase-mcp-server-450.md>)

Original publisher: [Read original article](<https://supabase.com/blog/mcp-server>)

Author: Greg Richardson

Published: 2025-04-04T07:00:00Z

Content type: article

Language: en

Sources: [Supabase Blog](<https://devfeed.tech/sources/supabase-blog.md>)

Topics: [MCP Server](<https://devfeed.tech/topics/mcp-server.md>), [Supabase](<https://devfeed.tech/topics/supabase.md>), [Model Context Protocol](<https://devfeed.tech/topics/model-context-protocol.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Database](<https://devfeed.tech/topics/database.md>), [Claude](<https://devfeed.tech/topics/claude.md>), [cursor](<https://devfeed.tech/topics/cursor.md>), [JSON Schema](<https://devfeed.tech/topics/json-schema.md>), [SQL](<https://devfeed.tech/topics/sql.md>), [TypeScript](<https://devfeed.tech/topics/typescript.md>), [Next.js](<https://devfeed.tech/topics/next-js.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [ai-tools](<https://devfeed.tech/tags/ai-tools.md>), [claude](<https://devfeed.tech/tags/claude.md>), [cursor](<https://devfeed.tech/tags/cursor.md>), [database](<https://devfeed.tech/tags/database.md>), [json](<https://devfeed.tech/tags/json.md>), [json-schema](<https://devfeed.tech/tags/json-schema.md>), [mcp](<https://devfeed.tech/tags/mcp.md>), [mcp-server](<https://devfeed.tech/tags/mcp-server.md>), [model-context-protocol](<https://devfeed.tech/tags/model-context-protocol.md>), [next-js](<https://devfeed.tech/tags/next-js.md>), [sql](<https://devfeed.tech/tags/sql.md>), [typescript](<https://devfeed.tech/tags/typescript.md>)

### AI overview

Supabase introduces an official MCP server that connects AI tools such as Cursor and Claude directly to Supabase. The server provides tools for managing databases, tables, projects, configuration, data, logs, migrations, and generated TypeScript types, with setup requiring a personal access token and client-specific configuration.

### Source excerpt

Connect your AI tools to Supabase using MCP

## Blog: Introducing Falco 0.39.1

DevFeed: [Blog: Introducing Falco 0.39.1](<https://devfeed.tech/articles/blog-introducing-falco-0-39-1-32488.md>)

Original publisher: [Read original article](<https://falco.org/blog/falco-0-39-1/>)

Published: 2024-10-09T00:00:00Z

Content type: release

Language: en

Sources: [Falco - Falco](<https://devfeed.tech/sources/falco-falco.md>), [Falco - The Falco blog](<https://devfeed.tech/sources/falco-the-falco-blog.md>)

Topics: [Falco](<https://devfeed.tech/topics/falco.md>), [bug](<https://devfeed.tech/topics/bug.md>), [Parsing](<https://devfeed.tech/topics/parsing.md>), [JSON Schema](<https://devfeed.tech/topics/json-schema.md>), [Docker](<https://devfeed.tech/topics/docker.md>), [Amazon Web Services](<https://devfeed.tech/topics/aws.md>)

Tags: [aws](<https://devfeed.tech/tags/aws.md>), [bug](<https://devfeed.tech/tags/bug.md>), [docker](<https://devfeed.tech/tags/docker.md>), [falco](<https://devfeed.tech/tags/falco.md>), [json-schema](<https://devfeed.tech/tags/json-schema.md>), [parsing](<https://devfeed.tech/tags/parsing.md>), [release](<https://devfeed.tech/tags/release.md>)

### AI overview

Falco 0.39.1 is a small patch release that fixes a plugin event-parsing crash, a command-line parsing bug involving commas in object definitions, and a JSON Schema issue allowing null plugin init_config values.

### Source excerpt

Today we announce the release of Falco 0.39.1 🦅! Fixes Falco's 0.39.1 is a small patch release that includes some important bugfixes: Fixed a crash when using plugin with event parsing capabilities (eg: k8smeta plugin) Fixed a bug while parsing -o key={object} command line arguments, when the object definition contains a comma Improved config json schema to allow null init_config for plugin info Thanks to everyone in the community for helping us with spotting these annoying bugs and improving Falco every day 🐛! You make Falco successful 🦅! Thanks as always to the Falco maintainers for their support and effort during the entire release process. Try it! 🏎 As usual, in case you just want to try out the stable Falco 0.39.1, you can install its packages following the process outlined in the docs: CentOS/Amazon Linux Debian/Ubuntu openSUSE Linux binary package Prefer to use a container image? No problem at all! 🐳 You can read more about running Falco with Docker in the docs. You can also find the Falcosecurity container images on the public AWS ECR gallery: falco falco-no-driver falco-driver-loader Let's meet 🤝 We meet every Wednesday in our community calls, if you want to know the latest and the greatest you should join us there! If you have any questions Join the #falco channel on the Kubernetes Slack Join the Falco mailing list Thanks to all the amazing contributors! Enjoy 😎, Federico

## AWS API Gateway's Request Validation: Navigating the Quirks

DevFeed: [AWS API Gateway's Request Validation: Navigating the Quirks](<https://devfeed.tech/articles/aws-api-gateway-s-request-validation-navigating-the-quirks-23894.md>)

Original publisher: [Read original article](<https://medium.com/smg-real-estate/aws-api-gateways-request-validation-navigating-the-quirks-38285cb0a1c1?source=rss----2186e5b9bd8f---4>)

Author: Thomas Klein

Published: 2024-08-09T12:07:11Z

Content type: tutorial

Language: en

Sources: [Homegate Engineering Blog - Medium](<https://devfeed.tech/sources/homegate-engineering-blog-medium.md>)

Topics: [Amazon API Gateway](<https://devfeed.tech/topics/amazon-api-gateway.md>), [Amazon Web Services](<https://devfeed.tech/topics/aws.md>), [API](<https://devfeed.tech/topics/api.md>), [gateway](<https://devfeed.tech/topics/gateway.md>), [JSON Schema](<https://devfeed.tech/topics/json-schema.md>), [TypeScript](<https://devfeed.tech/topics/typescript.md>), [configuration](<https://devfeed.tech/topics/configuration.md>), [enum](<https://devfeed.tech/topics/enum.md>), [HTTP](<https://devfeed.tech/topics/http.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [api-gateway](<https://devfeed.tech/tags/api-gateway.md>), [aws](<https://devfeed.tech/tags/aws.md>), [aws-api-gateway](<https://devfeed.tech/tags/aws-api-gateway.md>), [aws-lambda](<https://devfeed.tech/tags/aws-lambda.md>), [enum](<https://devfeed.tech/tags/enum.md>), [gateway](<https://devfeed.tech/tags/gateway.md>), [handler](<https://devfeed.tech/tags/handler.md>), [http](<https://devfeed.tech/tags/http.md>), [json](<https://devfeed.tech/tags/json.md>), [json-schema](<https://devfeed.tech/tags/json-schema.md>), [middleware](<https://devfeed.tech/tags/middleware.md>), [middy](<https://devfeed.tech/tags/middy.md>), [tests](<https://devfeed.tech/tags/tests.md>), [type-safety](<https://devfeed.tech/tags/type-safety.md>), [typescript](<https://devfeed.tech/tags/typescript.md>), [validation](<https://devfeed.tech/tags/validation.md>), [zod](<https://devfeed.tech/tags/zod.md>)

### AI overview

This tutorial examines AWS API Gateway request validation. It explains that query-parameter presence is checked, but enum values may not be enforced, while POST and PUT payloads are validated with JSON Schema Draft 4. It also discusses generic error messages and TypeScript-based validation approaches.

### Source excerpt

AWS API Gateway's request validation follows a specific set of rules that developers should be aware of when setting up their APIs. While it offers some validation features, it's important to understand its scope and limitations. Let's examine how it works with a common API configuration: parameters: - name: offerType in: query required: true description: RENT or BUY schema: type: string enum: - RENT - BUY With this configuration, API Gateway diligently checks for the presence of the query parameter, returning an HTTP 400 error if it's missing. However, it falls short when it comes to validating the actual value. Surprisingly, it would accept "KERMIT" without batting an eye, despite the clear enum specification. This behavior, while documented, can be a source of frustration for developers expecting more comprehensive validation. Interestingly, API Gateway shows more validation prowess with POST and PUT requests. It validates request payloads using JSON Schema Draft 4, demonstrating a somewhat inconsistent approach to input validation across different HTTP methods. Even when it does catch an error, API Gateway's feedback is less than illuminating. Instead of specific error details, you're met with a generic {"message": "Invalid request body"}. For more information, you'll need to dig into the associated log streams, which isn't ideal for surfacing error details in API responses. Example output in AWS console from a failed request validation when a body request validator is setup. API Gateway's validation is handy, but it leaves a lot to be desired. Developers often need to add extra checks for a truly robust API. While API Gateway supports various integrations and Lambda languages, let's focus on TypeScript. TypeScript's strong typing and runtime checks can catch issues early, sparing your users from cryptic error messages. Let's explore how to use this to make your API smarter and your users happier. Option 1: DIY Validation (AKA The "I've Got Trust Issues" Approac

## A brief introduction to OpenAPI

DevFeed: [A brief introduction to OpenAPI](<https://devfeed.tech/articles/a-brief-introduction-to-openapi-19081.md>)

Original publisher: [Read original article](<https://httptoolkit.com/blog/introduction-to-openapi/>)

Author: HTTP Toolkit; Phil Sturgeon

Published: 2023-11-28T09:30:00Z

Content type: tutorial

Language: en

Sources: [HTTP Toolkit](<https://devfeed.tech/sources/http-toolkit.md>)

Topics: [OpenAPI Specification](<https://devfeed.tech/topics/openapi.md>), [API](<https://devfeed.tech/topics/api.md>), [HTTP](<https://devfeed.tech/topics/http.md>), [JSON Schema](<https://devfeed.tech/topics/json-schema.md>), [Documentation](<https://devfeed.tech/topics/documentation.md>), [JSON](<https://devfeed.tech/topics/json.md>), [SDKs](<https://devfeed.tech/topics/sdks.md>), [Testing](<https://devfeed.tech/topics/testing.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [api-documentation](<https://devfeed.tech/tags/api-documentation.md>), [apis](<https://devfeed.tech/tags/apis.md>), [graphql](<https://devfeed.tech/tags/graphql.md>), [http](<https://devfeed.tech/tags/http.md>), [json-schema](<https://devfeed.tech/tags/json-schema.md>), [openapi](<https://devfeed.tech/tags/openapi.md>), [sdks](<https://devfeed.tech/tags/sdks.md>), [standards](<https://devfeed.tech/tags/standards.md>), [swagger](<https://devfeed.tech/tags/swagger.md>), [validation](<https://devfeed.tech/tags/validation.md>)

### AI overview

An introduction to OpenAPI as a machine-readable description format for HTTP APIs. The article explains how OpenAPI describes endpoints, requests, responses, authentication, and validation, and how it supports documentation, testing, validation, SDK generation, server stubs, and mock servers.

### Source excerpt

It's hard to work on APIs without hearing about OpenAPI. OpenAPI is an API description format, which is essentially metadata that describes an HTTP API: where it lives, how it works, what data is available, and how it's authenticated. Additional keywords can be used to provide all sorts of validation information, adding a type system to what would otherwise just be arbitrary JSON flying around the internet. OpenAPI has been around for donkeys years, previously known as Swagger but renamed to OpenAPI in 2016. It's powered by JSON Schema, which is also pretty popular in certain circles, but it's only in the last few years that OpenAPI has solidified its place as the description format for HTTP APIs, pushing aside others like RAML and API Blueprint. Elder developers will remember working with WSDLs and XML Schema, and gRPC and GraphQL folks might be thinking "hang on this sounds a bit familiar", and absolutely. Type systems for APIs are pretty common, but here's an excellent one you can use for your REST/RESTish API. Here's an example to give you an idea: openapi: 3.1.3 info: title: Your Awesome API version: '1.0.3' description: More information and introduction. paths: /things: post: summary: Create a thing requestBody: content: application/json: schema: type: object properties: name: type: string examples: - Tim responses: '201': description: "Created" content: application/json: schema: type: object properties: id: type: string format: uuid name: type: string examples: - Tim created_at: type: string format: date-time example: 2020-01-01T00:00:00Z This describes an API in a machine-readable format, including overall metadata, endpoint paths, request formats, and the details of possible responses you might receive. What can OpenAPI do? OpenAPI specifications provide a machine-readable base on top of which lots of neat API tools can be used and even generated. One of the most common uses by many API teams to to generate API reference documentation, which helps end-users

## Supabase Beta August 2022

DevFeed: [Supabase Beta August 2022](<https://devfeed.tech/articles/supabase-beta-august-2022-602.md>)

Original publisher: [Read original article](<https://supabase.com/blog/supabase-beta-update-august-2022>)

Author: Ant Wilson

Published: 2022-09-07T07:00:00Z

Content type: article

Language: en

Sources: [Supabase Blog](<https://devfeed.tech/sources/supabase-blog.md>)

Topics: [Supabase](<https://devfeed.tech/topics/supabase.md>), [API](<https://devfeed.tech/topics/api.md>), [REST API](<https://devfeed.tech/topics/rest-api.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [TypeScript](<https://devfeed.tech/topics/typescript.md>), [JSON Schema](<https://devfeed.tech/topics/json-schema.md>), [GraphQL](<https://devfeed.tech/topics/graphql.md>), [Cache](<https://devfeed.tech/topics/cache.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [GitHub](<https://devfeed.tech/topics/github.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [cache](<https://devfeed.tech/tags/cache.md>), [cli](<https://devfeed.tech/tags/cli.md>), [github](<https://devfeed.tech/tags/github.md>), [graphql](<https://devfeed.tech/tags/graphql.md>), [hackathon](<https://devfeed.tech/tags/hackathon.md>), [json-schema](<https://devfeed.tech/tags/json-schema.md>), [launch](<https://devfeed.tech/tags/launch.md>), [mfa](<https://devfeed.tech/tags/mfa.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [rest-api](<https://devfeed.tech/tags/rest-api.md>), [typescript](<https://devfeed.tech/tags/typescript.md>)

### AI overview

Supabase's August 2022 Beta Update covers Launch Week 5 releases, including Supabase CLI v1, the Management API Beta, supabase-js v2, SOC2 compliance, Realtime features, and several additional platform capabilities.

### Source excerpt

Launch Week Special. See everything we shipped, plus winners of the Hackathon and the extended Community Highlights

## Supabase Launch Week releases: Vault, Auth UI, Dashboard permissions, JSON Schema validation, and pg\_graphql updates

DevFeed: [Supabase Launch Week releases: Vault, Auth UI, Dashboard permissions, JSON Schema validation, and pg\_graphql updates](<https://devfeed.tech/articles/one-more-thing-426.md>)

Original publisher: [Read original article](<https://supabase.com/blog/launch-week-5-one-more-thing>)

Author: Paul Copplestone

Published: 2022-08-19T07:00:00Z

Content type: release

Language: en

Sources: [Supabase Blog](<https://devfeed.tech/sources/supabase-blog.md>)

Topics: [Supabase](<https://devfeed.tech/topics/supabase.md>), [Database](<https://devfeed.tech/topics/database.md>), [JSON Schema](<https://devfeed.tech/topics/json-schema.md>), [Authorization](<https://devfeed.tech/topics/authorization.md>), [Encryption](<https://devfeed.tech/topics/encryption.md>), [GraphQL](<https://devfeed.tech/topics/graphql.md>), [React](<https://devfeed.tech/topics/react.md>), [ui](<https://devfeed.tech/topics/ui.md>), [Rust](<https://devfeed.tech/topics/rust.md>)

Tags: [database](<https://devfeed.tech/tags/database.md>), [encryption](<https://devfeed.tech/tags/encryption.md>), [graphql](<https://devfeed.tech/tags/graphql.md>), [json-schema](<https://devfeed.tech/tags/json-schema.md>), [new-feature](<https://devfeed.tech/tags/new-feature.md>), [permissions](<https://devfeed.tech/tags/permissions.md>), [react](<https://devfeed.tech/tags/react.md>), [release](<https://devfeed.tech/tags/release.md>), [rust](<https://devfeed.tech/tags/rust.md>), [ui](<https://devfeed.tech/tags/ui.md>), [vault](<https://devfeed.tech/tags/vault.md>)

### AI overview

Supabase announces several Launch Week updates: Vault, a Postgres extension for managing secrets and encryption; a separately installable and customizable Auth UI package with initial React support; granular Dashboard permissions with Owner, Administrator, and Developer roles; JSON Schema validation through a new Postgres extension; and pg_graphql v0.4.0 with additional type support, filtering, larger-schema introspection, and bug fixes.

### Source excerpt

Let's be honest, it's never just one more thing.

## pg\_jsonschema: JSON Schema support for Postgres

DevFeed: [pg\_jsonschema: JSON Schema support for Postgres](<https://devfeed.tech/articles/pg-jsonschema-json-schema-support-for-postgres-484.md>)

Original publisher: [Read original article](<https://supabase.com/blog/pg-jsonschema-a-postgres-extension-for-json-validation>)

Author: Oliver Rice

Published: 2022-08-19T07:00:00Z

Content type: article

Language: en

Sources: [Supabase Blog](<https://devfeed.tech/sources/supabase-blog.md>)

Topics: [JSON Schema](<https://devfeed.tech/topics/json-schema.md>), [JSON](<https://devfeed.tech/topics/json.md>), [Supabase](<https://devfeed.tech/topics/supabase.md>), [SQL](<https://devfeed.tech/topics/sql.md>), [Databases](<https://devfeed.tech/topics/databases.md>), [MongoDB](<https://devfeed.tech/topics/mongodb.md>)

Tags: [blog](<https://devfeed.tech/tags/blog.md>), [json](<https://devfeed.tech/tags/json.md>), [json-schema](<https://devfeed.tech/tags/json-schema.md>), [postgres](<https://devfeed.tech/tags/postgres.md>), [relational-databases](<https://devfeed.tech/tags/relational-databases.md>), [sql](<https://devfeed.tech/tags/sql.md>), [validation](<https://devfeed.tech/tags/validation.md>)

### AI overview

Supabase introduces pg_jsonschema, a Postgres extension that adds JSON Schema validation for JSON data. The article explains how validating document-shaped webhook payloads can preserve flexibility while enforcing required structure and constraints.

### Source excerpt

Today we're releasing pg_jsonschema, a Postgres extension for JSON validation.

## Separate data schema from data representation

DevFeed: [Separate data schema from data representation](<https://devfeed.tech/articles/separate-data-schema-from-data-representation-37566.md>)

Original publisher: [Read original article](<https://blog.klipse.tech/databook/2022/06/22/data-validation.html>)

Author: Yehonathan Sharvit

Published: 2022-06-22T02:35:24Z

Content type: article

Language: en

Sources: [Klipse](<https://devfeed.tech/sources/klipse.md>)

Topics: [JSON Schema](<https://devfeed.tech/topics/json-schema.md>), [Data validation](<https://devfeed.tech/topics/data-validation.md>), [Programming](<https://devfeed.tech/topics/programming.md>)

Tags: [code](<https://devfeed.tech/tags/code.md>), [d](<https://devfeed.tech/tags/d.md>), [data-validation](<https://devfeed.tech/tags/data-validation.md>), [dop](<https://devfeed.tech/tags/dop.md>), [json-schema](<https://devfeed.tech/tags/json-schema.md>), [programming](<https://devfeed.tech/tags/programming.md>)

### AI overview

An exploration of the fourth principle of Data-Oriented Programming: keeping data schemas separate from data representations. The article explains how schemas describe expected data shapes and how validation libraries such as Ajv can check data against JSON Schema and report validation errors.

### Source excerpt

With data separated from code and represented with generic and immutable data structures, now comes the question of how do we express the shape of the data? In DOP, the expected shape is expressed as a data schema that is kept separated from the data itself. The main benefit of Principle #4 is that it allows developers to decide which pieces of data should have a schema and which pieces of data should not.

## Note to future me -- Adding GraphQL to an app

DevFeed: [Note to future me -- Adding GraphQL to an app](<https://devfeed.tech/articles/note-to-future-me-adding-graphql-to-an-app-32072.md>)

Original publisher: [Read original article](<https://www.maiatoday.net/p/note-to-future-me-adding-graphql-to-an-app/>)

Published: 2018-04-08T21:36:13Z

Content type: tutorial

Language: en

Sources: [maiatoday](<https://devfeed.tech/sources/maiatoday.md>)

Topics: [GraphQL](<https://devfeed.tech/topics/graphql.md>), [API](<https://devfeed.tech/topics/api.md>), [JSON](<https://devfeed.tech/topics/json.md>), [JSON Schema](<https://devfeed.tech/topics/json-schema.md>), [Query (disambiguation)](<https://devfeed.tech/topics/query.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [dependencies](<https://devfeed.tech/tags/dependencies.md>), [graphql](<https://devfeed.tech/tags/graphql.md>), [json](<https://devfeed.tech/tags/json.md>), [json-schema](<https://devfeed.tech/tags/json-schema.md>), [node](<https://devfeed.tech/tags/node.md>), [plugin](<https://devfeed.tech/tags/plugin.md>), [query](<https://devfeed.tech/tags/query.md>), [sample](<https://devfeed.tech/tags/sample.md>)

### AI overview

A practical note on adding GraphQL to an application: install and run a Node service, obtain its schema with Apollo Codegen, add a query and schema to the app, and call the service.

### Source excerpt

Adding the library to the app see commit 03bd7a7534f7a23276fc47c4f7c94d7ac153bc0b plugin dependencies Making a service wrapping and existing endpoint https://github.com/joakin/wikimedia-graphql install node if you don't have it. node -- version running the service `node index.js` play with the service https://gist.github.com/maiatoday/578aebcee3bd9decb6e3c6833c73a4ba#file-wikipage-graphql getting the json.schema https://github.com/apollographql/apollo-codegen cd app/src/main/graphql/net/maiatoday/helloblondie apollo-codegen download-schema http://localhost:3002/graphql -- output schema.json Adding the service to the app adding a query adding the schema a5a47f0ff45f6bc5d5a3aa6f1fee50af363f7893 getting access to the service calling the service Some pointers on query syntax Gitrepo `sudo apollo-codegen introspect-schema https://api.blargh.com/graphql -- header "Authorization: Bearer xxxx" -- output schema.json`

## fdoc: an API Documentation Tool

DevFeed: [fdoc: an API Documentation Tool](<https://devfeed.tech/articles/fdoc-an-api-documentation-tool-15652.md>)

Original publisher: [Read original article](<https://developer.squareup.com/blog/fdoc-an-api-documentation-tool>)

Author: Square Engineering

Published: 2012-06-19T16:01:00Z

Content type: article

Language: en

Sources: [Square Corner Blog](<https://devfeed.tech/sources/square-corner-blog-medium.md>), [Square Corner Blog RSS Feed](<https://devfeed.tech/sources/square-corner-blog-rss-feed.md>)

Topics: [Documentation](<https://devfeed.tech/topics/documentation.md>), [API](<https://devfeed.tech/topics/api.md>), [JSON Schema](<https://devfeed.tech/topics/json-schema.md>), [Tool](<https://devfeed.tech/topics/tool.md>), [Markdown](<https://devfeed.tech/topics/markdown.md>), [YAML](<https://devfeed.tech/topics/yaml.md>), [Rails](<https://devfeed.tech/topics/rails.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [api-documentation](<https://devfeed.tech/tags/api-documentation.md>), [documentation](<https://devfeed.tech/tags/documentation.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [json](<https://devfeed.tech/tags/json.md>), [json-schema](<https://devfeed.tech/tags/json-schema.md>), [markdown](<https://devfeed.tech/tags/markdown.md>), [rails](<https://devfeed.tech/tags/rails.md>), [tool](<https://devfeed.tech/tags/tool.md>), [tooling](<https://devfeed.tech/tags/tooling.md>)

### AI overview

Square describes fdoc, an open-source tool for keeping API documentation consistent. It uses a machine-readable format and generates HTML documentation, while also checking specifications for undocumented parameters.

### Source excerpt

How we maintain consistent API documentation.