{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/talend/json-schema/talend-component-query-request-schema.json",
  "title": "ComponentQueryRequest",
  "x-generated": "2026-11-04",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/talend-monitoring-api-openapi.yml#/components/schemas/ComponentQueryRequest",
  "type": "object",
  "required": [
    "endTime",
    "environmentId",
    "startTime"
  ],
  "properties": {
    "environmentId": {
      "type": "string",
      "description": "Environment ID"
    },
    "startTime": {
      "type": "string",
      "description": "Start time of metrics generation and collection. This time corresponds approximately to when your Job task starts to work.  \n- Using ISO format `yyyy-MM-dd'T'HH:mm:ss.SSS'Z'`"
    },
    "endTime": {
      "type": "string",
      "description": "End time of metrics generation and collection. This time corresponds approximately to when this component in your Job task finishes its work\n- Using ISO format `yyyy-MM-dd'T'HH:mm:ss.SSS'Z'`\n- `endTime` must be greater than or equals to `startTime`"
    },
    "limit": {
      "type": "number",
      "description": "Page size, `1~200`",
      "default": 50
    },
    "offset": {
      "type": "number",
      "description": "Page offset, `>=0`",
      "default": 0
    },
    "sortBy": {
      "type": "string",
      "description": "Sort by field",
      "default": "component_start_time_seconds",
      "enum": [
        "engine_id",
        "workspace_id",
        "task_id",
        "task_execution_id",
        "process_id",
        "job_name",
        "pid",
        "father_pid",
        "root_pid",
        "connector_type",
        "connector_label",
        "connector_id",
        "target_connector_type",
        "target_label",
        "target_id",
        "connection_type",
        "connection_name",
        "component_start_time_seconds",
        "component_connection_rows_total",
        "component_execution_duration_milliseconds",
        "stracktrace"
      ]
    },
    "sortOrder": {
      "type": "string",
      "description": "Sort order",
      "default": "asc",
      "enum": [
        "asc",
        "desc"
      ]
    },
    "filters": {
      "type": "array",
      "description": "Field filters",
      "items": {
        "$ref": "#/$defs/ComponentFieldFilter"
      }
    }
  },
  "$defs": {
    "ComponentFieldFilter": {
      "type": "object",
      "required": [
        "field",
        "operator",
        "value"
      ],
      "properties": {
        "field": {
          "type": "string",
          "description": "Field filter name",
          "enum": [
            "engine_id",
            "workspace_id",
            "task_id",
            "task_execution_id",
            "job_name",
            "connector_type",
            "connector_label",
            "connector_id",
            "component_start_time_seconds",
            "operator",
            "operator_type"
          ]
        },
        "operator": {
          "type": "string",
          "description": "Field filter operator\n- Field `component_start_time_seconds` supports `gt, gte, lt, lte`, others support `in`\n- Can't use more than `2` operators\n- Can't use any `2` same operators\n- Can't use `gt` together with `gte`\n- Can't use `lt`together with `lte`\n- When use `gt/gte` and `lt` together, value of `lt` must be greater than value of `gt/gte`\n- When use `gte` and `lt` together, value of `lt` must be greater than value of `gte`\n- When use `gte` and `lte` together, value of `lte` must be greater than or equals to value of `gte`",
          "enum": [
            "in",
            "gt",
            "gte",
            "lt",
            "lte"
          ]
        },
        "value": {
          "type": "object",
          "description": "Field filter value\n\nFor operator `in` requires an array, like \n- `\"value\" : [\"value\"]`\n- `\"value\" : [\"value1\", \"value2\"]`\n\nFor operator `gt, gte, lt, lte` requres a number(or a string of number), like \n- `\"value\" : 1628266578`\n- `\"value\" : 1628266578.78`\n- `\"value\" : \"1628266578\"`\n-  `\"value\" : \"1628266578.78\"`"
        }
      }
    }
  }
}