Thunder Client · Schema

Thunder Client Collection

JSON Schema for a Thunder Client collection file containing API requests, folders, and metadata

API ClientAPI TestingCI/CDCLICollectionGraphQLREST ClientVS Code

Properties

Name Type Description
version string Thunder Client collection format version
name string Collection name
description string Collection description
dateExported string ISO 8601 timestamp when the collection was exported
client string Client identifier
requests array Array of request definitions in the collection
folders array Array of folder definitions for organizing requests
View JSON Schema on GitHub

JSON Schema

thunder-client-collection-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://www.thunderclient.com/schema/collection",
  "title": "Thunder Client Collection",
  "description": "JSON Schema for a Thunder Client collection file containing API requests, folders, and metadata",
  "type": "object",
  "required": ["version", "name", "requests"],
  "properties": {
    "version": {
      "type": "string",
      "description": "Thunder Client collection format version",
      "examples": ["1.2"]
    },
    "name": {
      "type": "string",
      "description": "Collection name"
    },
    "description": {
      "type": "string",
      "description": "Collection description"
    },
    "dateExported": {
      "type": "string",
      "format": "date-time",
      "description": "ISO 8601 timestamp when the collection was exported"
    },
    "client": {
      "type": "string",
      "description": "Client identifier",
      "const": "Thunder Client"
    },
    "requests": {
      "type": "array",
      "description": "Array of request definitions in the collection",
      "items": { "$ref": "#/$defs/ThunderRequest" }
    },
    "folders": {
      "type": "array",
      "description": "Array of folder definitions for organizing requests",
      "items": { "$ref": "#/$defs/ThunderFolder" }
    }
  },
  "$defs": {
    "ThunderRequest": {
      "type": "object",
      "required": ["_id", "colId", "name", "url", "method"],
      "properties": {
        "_id": {
          "type": "string",
          "description": "Unique request identifier (UUID)"
        },
        "colId": {
          "type": "string",
          "description": "Collection ID this request belongs to"
        },
        "containerId": {
          "type": "string",
          "description": "Folder ID this request belongs to (if in a folder)"
        },
        "name": {
          "type": "string",
          "description": "Request name"
        },
        "url": {
          "type": "string",
          "description": "Request URL; may contain environment variable references like {{baseUrl}}"
        },
        "method": {
          "type": "string",
          "enum": ["GET", "POST", "PUT", "PATCH", "DELETE", "OPTIONS", "HEAD"],
          "description": "HTTP method"
        },
        "sortNum": {
          "type": "number",
          "description": "Sort order within the collection or folder"
        },
        "created": {
          "type": "string",
          "format": "date-time"
        },
        "modified": {
          "type": "string",
          "format": "date-time"
        },
        "headers": {
          "type": "array",
          "description": "Request headers",
          "items": { "$ref": "#/$defs/KeyValueItem" }
        },
        "params": {
          "type": "array",
          "description": "Query string parameters",
          "items": { "$ref": "#/$defs/KeyValueItem" }
        },
        "body": {
          "$ref": "#/$defs/RequestBody"
        },
        "auth": {
          "$ref": "#/$defs/RequestAuth"
        },
        "tests": {
          "type": "array",
          "description": "Scriptless test assertions for this request",
          "items": { "$ref": "#/$defs/TestAssertion" }
        },
        "preScripts": {
          "type": "array",
          "description": "Pre-request scripts (JavaScript)",
          "items": { "type": "string" }
        },
        "postScripts": {
          "type": "array",
          "description": "Post-request scripts (JavaScript)",
          "items": { "type": "string" }
        },
        "settings": {
          "type": "object",
          "description": "Per-request settings",
          "properties": {
            "followRedirects": { "type": "boolean" },
            "timeout": { "type": "integer" },
            "verifyCertificate": { "type": "boolean" }
          }
        }
      }
    },
    "ThunderFolder": {
      "type": "object",
      "required": ["_id", "name", "colId"],
      "properties": {
        "_id": {
          "type": "string",
          "description": "Unique folder identifier (UUID)"
        },
        "name": {
          "type": "string",
          "description": "Folder name"
        },
        "colId": {
          "type": "string",
          "description": "Collection ID this folder belongs to"
        },
        "containerId": {
          "type": "string",
          "description": "Parent folder ID for nested folders"
        },
        "sortNum": {
          "type": "number"
        }
      }
    },
    "KeyValueItem": {
      "type": "object",
      "required": ["name", "value"],
      "properties": {
        "name": {
          "type": "string",
          "description": "Header or parameter name"
        },
        "value": {
          "type": "string",
          "description": "Header or parameter value; may contain {{variable}} references"
        },
        "isDisabled": {
          "type": "boolean",
          "default": false
        }
      }
    },
    "RequestBody": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "enum": ["json", "text", "xml", "formdata", "formencoded", "graphql", "binary", "none"],
          "description": "Body content type"
        },
        "raw": {
          "type": "string",
          "description": "Raw body content (for json, text, xml types)"
        },
        "form": {
          "type": "array",
          "description": "Form fields (for formdata and formencoded types)",
          "items": { "$ref": "#/$defs/KeyValueItem" }
        },
        "graphql": {
          "type": "object",
          "properties": {
            "query": { "type": "string" },
            "variables": { "type": "string" }
          }
        }
      }
    },
    "RequestAuth": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "enum": ["none", "basic", "bearer", "oauth2", "apikey", "digest", "awsv4", "ntlm"],
          "description": "Authentication type"
        },
        "username": { "type": "string" },
        "password": { "type": "string" },
        "token": { "type": "string" },
        "key": { "type": "string" },
        "value": { "type": "string" },
        "placement": {
          "type": "string",
          "enum": ["header", "query"],
          "description": "Where to place the API key"
        }
      }
    },
    "TestAssertion": {
      "type": "object",
      "required": ["type", "custom", "action", "value"],
      "properties": {
        "type": {
          "type": "string",
          "enum": ["status", "json", "header", "text", "ms", "size"],
          "description": "Assertion target type"
        },
        "custom": {
          "type": "string",
          "description": "Field path or header name to check (e.g., 'json.id', 'header.content-type')"
        },
        "action": {
          "type": "string",
          "enum": ["equals", "notequals", "isNull", "notNull", "contains", "notContains", "startsWith", "endsWith", "isType", "lt", "gt", "lte", "gte"],
          "description": "Comparison operator"
        },
        "value": {
          "description": "Expected value for comparison"
        }
      }
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/thunder-client-collection"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.