Inspect analysis input symbols

OpenAPI contract

Method
GET
Path
/api/v1/analyses/{id}/input-index
Security
jwtBearer (bearer)
Response status
200 400 401 403 404 429 500
Request and response schemas
JSON
{
  "requestBody": {},
  "responses": {
    "200": {
      "description": "Input class and member metadata",
      "content": {
        "application/json": {
          "$ref": "#/components/schemas/Index"
        }
      }
    },
    "400": {
      "description": "Invalid request",
      "content": {
        "application/json": {
          "$ref": "#/components/schemas/RequestError"
        }
      }
    },
    "401": {
      "description": "Authentication required",
      "content": {
        "application/json": {
          "$ref": "#/components/schemas/SecurityError"
        }
      }
    },
    "403": {
      "description": "Not permitted",
      "content": {
        "application/json": {
          "$ref": "#/components/schemas/SecurityError"
        }
      }
    },
    "404": {
      "description": "Analysis or input not found",
      "content": {
        "application/json": {
          "$ref": "#/components/schemas/ApiError"
        }
      }
    },
    "429": {
      "description": "Request or concurrency limit exceeded",
      "content": {
        "application/json": {
          "$ref": "#/components/schemas/RateLimitError"
        }
      }
    },
    "500": {
      "description": "Unexpected server error",
      "content": {
        "application/json": {
          "$ref": "#/components/schemas/ApiError"
        }
      }
    }
  }
}

Read the input class, member and resource index to choose NOL declarations. Search for exact class names, member signatures or resource paths. Class names and JVM descriptors preserve exact symbol identity, including method overloads, while the UI presents readable Java signatures. Indexing reads archive metadata without executing application classes. External symbols can still be entered manually.

The response retains classes, resources, and inputInspection, and adds entryPointCandidates. Each candidate contains className, method, descriptor, entryName, and source: "PUBLIC_STATIC_MAIN". Candidates are derived only from inspected methods named main with descriptor ([Ljava/lang/String;)V and public/static access. They are proposals requiring user selection, not exhaustive entry declarations; manifest or annotation detection is not included.