Get the processor catalog

OpenAPI contract

Method
GET
Path
/api/v1/processors/catalog
Security
None
Response status
200 400 404 429 500
Request and response schemas
JSON
{
  "requestBody": {},
  "responses": {
    "200": {
      "description": "Processor catalog",
      "content": {
        "application/json": {
          "$ref": "#/components/schemas/ProcessorDefinitionResponse"
        }
      }
    },
    "400": {
      "description": "Invalid request",
      "content": {
        "application/json": {
          "$ref": "#/components/schemas/RequestError"
        }
      }
    },
    "404": {
      "description": "Requested processor preset was not found",
      "content": {
        "application/json": {
          "$ref": "#/components/schemas/ApiError"
        }
      }
    },
    "429": {
      "description": "Rate limit exceeded",
      "content": {
        "application/json": {
          "$ref": "#/components/schemas/SecurityError"
        }
      }
    },
    "500": {
      "description": "Unexpected server error",
      "content": {
        "application/json": {
          "$ref": "#/components/schemas/ApiError"
        }
      }
    }
  }
}

GET /api/v1/processors/catalog is the only public operation in the projects/processors surface; it needs no JWT. It exposes the current UI-visible compiler features with ID, display metadata, category, and stability. STABLE means supported and tested, while EXPERIMENTAL can have edge-case bugs or API changes. Treat this as a current catalog, not a version-pinned compatibility promise.

The catalog can list both native-unsafe and native-llvm-direct-call. They are independent LLVM_CONFIG compiler features and may be selected together in a project default, explicit feature list, or processor preset. Their combination has been validated with the existing Java 8 workloads, not exhaustively across every JVM, platform, or input; test the exact configuration with representative workloads before release.

http
GET /api/v1/processors/catalog