Parameter reference does not exist (OpenAPI 2.0)

A referenced shared parameter is missing

Description

A shared parameter referenced through #/parameters/... must exist in parameters. A misspelled name or deleted definition prevents the required request parameter from being loaded.

Potential impact

Documentation generation or validation may fail, or required parameter information may be omitted.

Remediation

Match the reference name to its definition. Restore needed definitions and remove only references that are no longer required. Update all uses when renaming a parameter.

Examples

These excerpts remove the unnecessary maxParam reference while retaining the existing limitParam definition.

Before

json
{
  "paths": {
    "/": {
      "get": {
        "parameters": [
          {
            "$ref": "#/parameters/maxParam"
          },
          {
            "$ref": "#/parameters/limitParam"
          }
        ]
      }
    }
  },
  "parameters": {
    "limitParam": {
      "name": "limit",
      "in": "query",
      "required": true,
      "type": "integer"
    }
  }
}

After

json
{
  "paths": {
    "/": {
      "get": {
        "parameters": [
          {
            "$ref": "#/parameters/limitParam"
          }
        ]
      }
    }
  },
  "parameters": {
    "limitParam": {
      "name": "limit",
      "in": "query",
      "required": true,
      "type": "integer"
    }
  }
}

References