<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/rfc-10008-left-a-slot-open-and-somebody-is-standing-in-it-jx5iml04m" -->

---
title: RFC 10008 Left A Slot Open And Somebody Is Standing In It
description: RFC 10008 standardizes the HTTP QUERY method — safe and idempotent like GET but carrying a request body like POST — finally giving search endpoints a way to...
canonical: https://daily.dev/posts/rfc-10008-left-a-slot-open-and-somebody-is-standing-in-it-jx5iml04m
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: RFC 10008 Left A Slot Open And Somebody Is Standing In It | daily.dev
og:description: RFC 10008 standardizes the HTTP QUERY method — safe and idempotent like GET but carrying a request body like POST — finally giving search endpoints a way to...
og:url: https://daily.dev/posts/rfc-10008-left-a-slot-open-and-somebody-is-standing-in-it-jx5iml04m
og:image: https://api.daily.dev/og/posts/Jx5IML04M.png
og:image:alt: RFC 10008 Left A Slot Open And Somebody Is Standing In It
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# RFC 10008 Left A Slot Open And Somebody Is Standing In It

**[API Evangelist](https://daily.dev/sources/apievangelist)** · 9 min read · 5 upvotes · 1 comments

## Summary

RFC 10008 standardizes the HTTP QUERY method — safe and idempotent like GET but carrying a request body like POST — finally giving search endpoints a way to avoid the long-standing POST /resource/search workaround that breaks caching and retries. The RFC also defines an Accept-Query header for resources to advertise supported query media types, but deliberately leaves the query language itself undefined. The piece explores JSON Query Language, a new single-author, pre-1.0 predicate grammar built for OpenAPI and MCP tool schemas, cataloging its strengths and rough edges (broken schema URL, no adopters), and reports that zero of 26,641 tracked API providers currently declare Accept-Query support.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://apievangelist.com/2026/09/03/rfc-10008-left-a-slot-open-and-somebody-is-standing-in-it>

## Questions this post answers

### What is the HTTP QUERY method defined in RFC 10008?

RFC 10008 standardizes HTTP QUERY as a new method that is safe and idempotent like GET but carries a request body like POST, letting search operations be expressed as reads instead of the POST /resource/search workaround. It was published in June, came out of draft-ietf-httpbis-safe-method-w-body after six years of work, and is authored by Julian Reschke, James Snell, and Mike Bishop.

_Track new HTTP methods like QUERY on daily.dev before they reshape how you design search endpoints._

### What does the Accept-Query HTTP header do?

Accept-Query is a header defined alongside the QUERY method in RFC 10008 that lets a resource advertise, at request time, that it accepts QUERY requests and which query media types it understands, such as application/jsonpath or application/sql. It is served directly by the resource rather than documented separately in a spec file, catalog, or manifest, so an agent can discover query capability without out-of-band documentation.

_Developers wiring agent-facing APIs can follow header-level discovery standards like Accept-Query on daily.dev._

### Is there a standard query language to use with the HTTP QUERY method?

No, RFC 10008 deliberately defines no query language, leaving the request body contents entirely to a negotiated media type. Candidates like JSONPath and JMESPath are selection languages rather than predicate languages and don't fit; OData's $filter is an opaque string; GraphQL requires adopting its whole surface; and a new single-author project called JSON Query Language (v0.2.0, MIT licensed) is one early predicate-language contender, though it currently has zero known adopters and a broken schema URL.

_Anyone choosing a filter grammar for search APIs can watch this open standards gap develop on daily.dev._

## Community discussion

Top comments from developers on daily.dev.

**@ahmetozel** · 1 upvotes

> Zero of 26,641 providers declaring Accept-Query is the number that tells the whole story. QUERY solves a real problem - POST search throws away caching and makes retries unsafe - but the payoff only arrives when intermediaries participate, and no CDN is going to cache a method its config language has never heard of. Leaving the query language undefined is defensible for the RFC and brutal for adoption, because now each provider has to pick a grammar and clients cannot assume anything. My guess is this lands first in vector and document search APIs, where the request body is genuinely too big...

---

Tags: [#architecture](https://daily.dev/tags/architecture), [#mcp](https://daily.dev/tags/mcp), [#rest-api](https://daily.dev/tags/rest-api), [#openapi](https://daily.dev/tags/openapi)

[View this post on daily.dev](https://daily.dev/posts/rfc-10008-left-a-slot-open-and-somebody-is-standing-in-it-jx5iml04m)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"RFC 10008 Left A Slot Open And Somebody Is Standing In It","url":"https://daily.dev/posts/rfc-10008-left-a-slot-open-and-somebody-is-standing-in-it-jx5iml04m","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/rfc-10008-left-a-slot-open-and-somebody-is-standing-in-it-jx5iml04m"},"datePublished":"2026-09-03T00:08:58.945Z","dateModified":"2026-09-13T19:59:35.799Z","description":"RFC 10008 standardizes the HTTP QUERY method — safe and idempotent like GET but carrying a request body like POST — finally giving search endpoints a way to...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/da84bb5274f48b270d60972aa0bd4a53?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/da84bb5274f48b270d60972aa0bd4a53?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"API Evangelist","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"API Evangelist","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/a36244ae67bc4f41a605f780267ecb5f","url":"https://daily.dev/sources/apievangelist"},"commentCount":1,"discussionUrl":"https://daily.dev/posts/rfc-10008-left-a-slot-open-and-somebody-is-standing-in-it-jx5iml04m","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":5},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":1}],"keywords":"architecture,mcp,rest-api,openapi","timeRequired":"PT9M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"API Evangelist","item":"https://daily.dev/sources/apievangelist"},{"@type":"ListItem","position":3,"name":"RFC 10008 Left A Slot Open And Somebody Is Standing In It"}]}
{"@context":"https://schema.org","@type":"WebPage","@id":"https://daily.dev/posts/rfc-10008-left-a-slot-open-and-somebody-is-standing-in-it-jx5iml04m","comment":[{"@type":"Comment","text":"Zero of 26,641 providers declaring Accept-Query is the number that tells the whole story. QUERY solves a real problem - POST search throws away caching and makes retries unsafe - but the payoff only arrives when intermediaries participate, and no CDN is going to cache a method its config language has never heard of. Leaving the query language undefined is defensible for the RFC and brutal for adoption, because now each provider has to pick a grammar and clients cannot assume anything. My guess is this lands first in vector and document search APIs, where the request body is genuinely too big for a URL and teams already hand-roll their own predicate syntax.","datePublished":"2026-09-04T20:55:33.598Z","url":"https://daily.dev/posts/Jx5IML04M#c-eJbgIzgOi","author":{"@type":"Person","name":"Ahmet Özel","url":"https://daily.dev/ahmetozel","image":"https://avatars.githubusercontent.com/u/70992231?v=4"},"interactionStatistic":{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":1}}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/rfc-10008-left-a-slot-open-and-somebody-is-standing-in-it-jx5iml04m#faq","mainEntity":[{"@type":"Question","name":"What is the HTTP QUERY method defined in RFC 10008?","acceptedAnswer":{"@type":"Answer","text":"RFC 10008 standardizes HTTP QUERY as a new method that is safe and idempotent like GET but carries a request body like POST, letting search operations be expressed as reads instead of the POST /resource/search workaround. It was published in June, came out of draft-ietf-httpbis-safe-method-w-body after six years of work, and is authored by Julian Reschke, James Snell, and Mike Bishop. Track new HTTP methods like QUERY on daily.dev before they reshape how you design search endpoints."}},{"@type":"Question","name":"What does the Accept-Query HTTP header do?","acceptedAnswer":{"@type":"Answer","text":"Accept-Query is a header defined alongside the QUERY method in RFC 10008 that lets a resource advertise, at request time, that it accepts QUERY requests and which query media types it understands, such as application/jsonpath or application/sql. It is served directly by the resource rather than documented separately in a spec file, catalog, or manifest, so an agent can discover query capability without out-of-band documentation. Developers wiring agent-facing APIs can follow header-level discovery standards like Accept-Query on daily.dev."}},{"@type":"Question","name":"Is there a standard query language to use with the HTTP QUERY method?","acceptedAnswer":{"@type":"Answer","text":"No, RFC 10008 deliberately defines no query language, leaving the request body contents entirely to a negotiated media type. Candidates like JSONPath and JMESPath are selection languages rather than predicate languages and don't fit; OData's $filter is an opaque string; GraphQL requires adopting its whole surface; and a new single-author project called JSON Query Language (v0.2.0, MIT licensed) is one early predicate-language contender, though it currently has zero known adopters and a broken schema URL. Anyone choosing a filter grammar for search APIs can watch this open standards gap develop on daily.dev."}}]}
```

