Quester Studio

Collections & requests

Standalone HTTP requests stored as *.request.json under collections/

Collections group reusable HTTP requests as files. They are independent of flows: open and edit them in the desktop Request editor, or keep them as API docs in git.

Layout

collections/
  Auth/
    login.request.json
    me.request.json
  Products/
    search-products.request.json
    add-product.request.json
  System/
    ping.request.json
  Users/
    get-user.request.json
  health.request.json          # at collection root
  • Folder names are collection groups (e.g. Auth, Users).
  • Files must end with .request.json.
  • Nested folders are allowed; the request path is the relative path without the extension (e.g. Auth/login).

The directory name comes from collectionsDir in quester.json (default "collections").

Request file (*.request.json)

FieldTypeDefaultDescription
version"v1"requiredFormat version
idstringrequiredStable id
namestringrequiredDisplay name
methodenum"GET"GET · POST · PUT · PATCH · DELETE · HEAD · OPTIONS
urlstringrequiredAbsolute or template-ready URL
headersobject{}String header map
bodystring | objectoptionalRequest body

Example — POST with JSON body

{
  "version": "v1",
  "id": "login",
  "name": "Login",
  "method": "POST",
  "url": "https://dummyjson.com/auth/login",
  "headers": {
    "Content-Type": "application/json"
  },
  "body": {
    "username": "emilys",
    "password": "emilyspass"
  }
}

Example — GET

{
  "version": "v1",
  "id": "get-user",
  "name": "Get user",
  "method": "GET",
  "url": "https://dummyjson.com/users/1",
  "headers": {}
}

Example — string body

{
  "version": "v1",
  "id": "raw-post",
  "name": "Raw POST",
  "method": "POST",
  "url": "https://httpbin.org/post",
  "headers": {
    "Content-Type": "text/plain"
  },
  "body": "plain text payload"
}

Example — auth header placeholder

Requests can store the same {{…}} tokens as HTTP nodes; resolve them when you run from a flow or a future runner that applies an environment:

{
  "version": "v1",
  "id": "me",
  "name": "Current user",
  "method": "GET",
  "url": "{{env.API_BASE}}/me",
  "headers": {
    "Authorization": "Bearer {{secrets.API_TOKEN}}"
  }
}

Requests vs http nodes

Collection requestFlow http node
File*.request.jsonInside *.flow.json
PurposeReusable single-call docs / editorStep in a multi-node graph
GraphNoneConnected with edges, extract, assert, …

You can mirror a request’s method/url/headers/body into an http node when building a flow.

Validate

Request files are validated with the same schema as the engine (request v1). Invalid JSON or missing required fields fail load/save.

See also Workspace files and HTTP node.