NGINX · JSON Structure

Njs Http Request Structure

The HTTP request object (r) available in ngx_http_js_module handlers. Provides access to client request data and methods to produce a response.

Type: object Properties: 0
API GatewayCachingCloud-NativeLoad BalancerOpen-SourceReverse ProxyWeb Server

HttpRequest is a JSON Structure definition published by NGINX. It conforms to the https://json-structure.org/meta/core/v0/# meta-schema.

Meta-schema: https://json-structure.org/meta/core/v0/#

JSON Structure

Raw ↑
{
  "$schema": "https://json-structure.org/meta/core/v0/#",
  "name": "HttpRequest",
  "description": "The HTTP request object (r) available in ngx_http_js_module handlers. Provides access to client request data and methods to produce a response.",
  "type": "object",
  "members": {
    "args": {
      "description": "Request arguments object parsed from the query string. Duplicate keys are returned as arrays.",
      "type": "object",
      "additionalProperties": {
        "oneOf": [
          {
            "type": "string"
          },
          {
            "type": "array",
            "values": {
              "type": "string"
            }
          }
        ]
      },
      "readOnly": true,
      "example": {}
    },
    "headersIn": {
      "description": "Incoming request headers object.",
      "type": "object",
      "additionalProperties": {
        "type": "string"
      },
      "readOnly": true,
      "example": {}
    },
    "headersOut": {
      "description": "Outgoing response headers object (writable before headers are sent).",
      "type": "object",
      "additionalProperties": {
        "oneOf": [
          {
            "type": "string"
          },
          {
            "type": "array",
            "values": {
              "type": "string"
            }
          }
        ]
      },
      "example": {}
    },
    "httpVersion": {
      "description": "HTTP version of the request.",
      "type": "string",
      "readOnly": true,
      "example": "1.1"
    },
    "internal": {
      "description": "True if the request is to an internal location.",
      "type": "boolean",
      "readOnly": true,
      "example": false
    },
    "method": {
      "description": "HTTP method (GET, POST, etc.).",
      "type": "string",
      "readOnly": true,
      "example": "GET"
    },
    "remoteAddress": {
      "description": "Client IP address.",
      "type": "string",
      "readOnly": true,
      "example": "192.168.1.100"
    },
    "requestBuffer": {
      "description": "Client request body as a Buffer (since 0.5.0).",
      "type": "string",
      "readOnly": true,
      "example": "AQID"
    },
    "requestText": {
      "description": "Client request body as a string.",
      "type": "string",
      "readOnly": true,
      "example": "{\"action\":\"process\"}"
    },
    "responseBuffer": {
      "description": "Subrequest response body as a Buffer.",
      "type": "string",
      "readOnly": true,
      "example": "AQID"
    },
    "responseText": {
      "description": "Subrequest response body as a string.",
      "type": "string",
      "readOnly": true,
      "example": "{\"result\":\"success\"}"
    },
    "rawHeadersIn": {
      "description": "Raw incoming headers as an array of [name, value] pairs.",
      "type": "array",
      "values": {
        "type": "array",
        "values": {
          "type": "string"
        },
        "minItems": 2,
        "maxItems": 2
      },
      "readOnly": true,
      "example": []
    },
    "rawHeadersOut": {
      "description": "Raw outgoing headers as an array of [name, value] pairs.",
      "type": "array",
      "values": {
        "type": "array",
        "values": {
          "type": "string"
        },
        "minItems": 2,
        "maxItems": 2
      },
      "readOnly": true,
      "example": []
    },
    "status": {
      "description": "HTTP response status code (writable).",
      "type": "int32",
      "example": 200
    },
    "uri": {
      "description": "Current URI of the request.",
      "type": "string",
      "readOnly": true,
      "example": "/api/v1/resource"
    },
    "variables": {
      "description": "NGINX variables object (writable for variables declared in config).",
      "type": "object",
      "additionalProperties": {
        "type": "string"
      },
      "example": {}
    },
    "rawVariables": {
      "description": "NGINX variables as Buffers (writable, since 0.5.0).",
      "type": "object",
      "additionalProperties": {
        "type": "string"
      },
      "example": {}
    },
    "parent": {
      "allOf": [
        {
          "$ref": "#/definitions/HttpRequest"
        }
      ],
      "description": "Reference to the parent request object (for subrequests).",
      "readOnly": true
    }
  }
}

Work with this as data

Every JSON Structure 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 json structure

4 MCP tools reach this
  • find_json_structuresBrowse and filter every JSON Structure 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 Structure
curl "https://apis.io/api/v1/json-structures/njs-http-request-structure"
All json structure
curl "https://apis.io/api/v1/json-structures?limit=25"

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

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

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