From c8380d95529ce2a16967968d2ccdb9a2066e4111 Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Sat, 19 Jul 2025 22:52:41 +0300 Subject: [PATCH] Add `format` query parameter to `GET /state/{eventType}/{stateKey}` (#2175) --- .../client_server/newsfragments/2175.feature | 1 + data/api/client-server/rooms.yaml | 22 +++++++++++++++++-- 2 files changed, 21 insertions(+), 2 deletions(-) create mode 100644 changelogs/client_server/newsfragments/2175.feature diff --git a/changelogs/client_server/newsfragments/2175.feature b/changelogs/client_server/newsfragments/2175.feature new file mode 100644 index 00000000..ddd71d27 --- /dev/null +++ b/changelogs/client_server/newsfragments/2175.feature @@ -0,0 +1 @@ +Add `format` query parameter to `GET /state/{eventType}/{stateKey}` to allow fetching metadata of a specific state event. diff --git a/data/api/client-server/rooms.yaml b/data/api/client-server/rooms.yaml index a2197f34..a5c9977e 100644 --- a/data/api/client-server/rooms.yaml +++ b/data/api/client-server/rooms.yaml @@ -105,13 +105,31 @@ paths: example: "" schema: type: string + - in: query + name: format + x-addedInMatrixVersion: "1.16" + description: |- + The format to use for the returned data. `content` (the default) will + return only the content of the state event. `event` will return the entire + event in the usual format suitable for clients, including fields like event + ID, sender and timestamp. + example: event + schema: + type: string + enum: + - content + - event responses: "200": - description: The content of the state event. + description: |- + The content of the state event, or the entire client-formatted event + if `?format=event` was used. content: application/json: schema: - type: object + oneOf: + - type: object + - $ref: "../../event-schemas/schema/core-event-schema/state_event.yaml" examples: response: value: {