{
  "type": "record",
  "Aspect": {
    "name": "restApiProperties"
  },
  "name": "RestApiProperties",
  "namespace": "com.linkedin.pegasus2avro.api",
  "fields": [
    {
      "Searchable": {
        "addToFilters": true,
        "fieldType": "KEYWORD",
        "filterNameOverride": "HTTP Method"
      },
      "type": {
        "type": "enum",
        "name": "HttpMethod",
        "namespace": "com.linkedin.pegasus2avro.api",
        "symbols": [
          "GET",
          "POST",
          "PUT",
          "PATCH",
          "DELETE",
          "HEAD",
          "OPTIONS",
          "TRACE"
        ]
      },
      "name": "method",
      "doc": "The HTTP method this endpoint responds to."
    },
    {
      "Searchable": {
        "addToFilters": true,
        "fieldType": "KEYWORD",
        "filterNameOverride": "Route"
      },
      "type": "string",
      "name": "path",
      "doc": "The route/path template of the endpoint, relative to the owning service's\nbase URL, e.g. \"/orders/{orderId}\". Endpoints that share a path (across\nmethods) can be grouped by filtering on this value."
    }
  ],
  "doc": "REST-specific properties for APIs of subtype REST_ENDPOINT.\n\nOnly attached to API entities where subType = REST_ENDPOINT. The (method, path)\npair identifies a REST operation, so an endpoint that serves the same path\nunder multiple HTTP methods (e.g. GET vs POST /orders) is modeled as a\ndistinct API entity per method, each carrying its own apiSignature. Kept on\nthis subtype-specific aspect rather than the protocol-agnostic apiProperties\nso callers can filter by method and group endpoints that share a path."
}