{
  "ApiCancelFlowHandler": [
    {
      "api_method": "CancelFlow",
      "method": "POST",
      "response": {
        "args": {
          "type": "ListProcessesArgs",
          "value": {}
        },
        "client_id": "C.1000000000000000",
        "creator": "",
        "error_description": "Cancelled by user",
        "flow_id": "W:ABCDEF",
        "is_robot": false,
        "last_active_at": 4242000000,
        "name": "ListProcesses",
        "runner_args": {
          "type": "FlowRunnerArgs",
          "value": {
            "client_id": {
              "type": "ClientURN",
              "value": "aff4:/C.1000000000000000"
            },
            "flow_name": {
              "type": "unicode",
              "value": "ListProcesses"
            }
          }
        },
        "started_at": 42000000,
        "state": "ERROR",
        "urn": "aff4:/C.1000000000000000/W:ABCDEF"
      },
      "test_class": "ApiCancelFlowHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "args": {},
        "client_id": "C.1000000000000000",
        "creator": "",
        "error_description": "Cancelled by user",
        "flow_id": "W:ABCDEF",
        "is_robot": false,
        "last_active_at": 4242000000,
        "name": "ListProcesses",
        "runner_args": {
          "client_id": "aff4:/C.1000000000000000",
          "flow_name": "ListProcesses"
        },
        "started_at": 42000000,
        "state": "ERROR",
        "urn": "aff4:/C.1000000000000000/W:ABCDEF"
      },
      "url": "/api/clients/C.1000000000000000/flows/W:ABCDEF/actions/cancel"
    }
  ],
  "ApiCountHuntResultsByTypeHandler": [
    {
      "api_method": "CountHuntResultsByType",
      "method": "GET",
      "response": {
        "items": [
          {
            "type": "ApiTypeCount",
            "value": {
              "count": {
                "type": "long",
                "value": 1
              },
              "type": {
                "type": "unicode",
                "value": "DummyFlowResult"
              }
            }
          }
        ]
      },
      "test_class": "ApiCountHuntResultsByTypeRegressionTest_http_v1",
      "type_stripped_response": {
        "items": [
          {
            "count": 1,
            "type": "DummyFlowResult"
          }
        ]
      },
      "url": "/api/hunts/H:123456/result-counts"
    }
  ],
  "ApiCreateClientApprovalHandler": [
    {
      "api_method": "CreateClientApproval",
      "method": "POST",
      "request_payload": {
        "approval": {
          "email_cc_addresses": [
            "test@example.com"
          ],
          "notified_users": [
            "approver1",
            "approver2"
          ],
          "reason": "really important reason!"
        }
      },
      "response": {
        "type": "ApiClientApproval",
        "value": {
          "approvers": [
            {
              "type": "unicode",
              "value": "api_test_user"
            }
          ],
          "email_cc_addresses": [
            {
              "type": "unicode",
              "value": "test@example.com"
            }
          ],
          "email_message_id": {
            "type": "unicode",
            "value": "<message id stub>"
          },
          "expiration_time_us": {
            "type": "RDFDatetime",
            "value": 2419326000000
          },
          "id": {
            "type": "unicode",
            "value": "approval:112233"
          },
          "is_valid": {
            "type": "bool",
            "value": false
          },
          "is_valid_message": {
            "type": "unicode",
            "value": "Need at least 1 additional approver for access."
          },
          "notified_users": [
            {
              "type": "unicode",
              "value": "approver1"
            },
            {
              "type": "unicode",
              "value": "approver2"
            }
          ],
          "reason": {
            "type": "unicode",
            "value": "really important reason!"
          },
          "requestor": {
            "type": "unicode",
            "value": "api_test_user"
          },
          "subject": {
            "type": "ApiClient",
            "value": {
              "age": {
                "type": "RDFDatetime",
                "value": 42000000
              },
              "agent_info": {
                "type": "ClientInformation",
                "value": {
                  "build_time": {
                    "type": "unicode",
                    "value": "1980-01-01T12:00:00.000000+00:00"
                  },
                  "client_name": {
                    "type": "unicode",
                    "value": "GRR Monitor"
                  },
                  "client_version": {
                    "type": "long",
                    "value": 1234
                  },
                  "labels": [
                    {
                      "type": "unicode",
                      "value": "label1"
                    },
                    {
                      "type": "unicode",
                      "value": "label2"
                    }
                  ]
                }
              },
              "client_id": {
                "type": "ApiClientId",
                "value": "C.1000000000000000"
              },
              "hardware_info": {
                "type": "HardwareInfo",
                "value": {
                  "bios_version": {
                    "type": "unicode",
                    "value": "Bios-Version-0"
                  },
                  "system_manufacturer": {
                    "type": "unicode",
                    "value": "System-Manufacturer-0"
                  }
                }
              },
              "interfaces": [
                {
                  "type": "Interface",
                  "value": {
                    "addresses": [
                      {
                        "type": "NetworkAddress",
                        "value": {
                          "address_type": {
                            "type": "EnumNamedValue",
                            "value": "INET"
                          },
                          "packed_bytes": {
                            "type": "bytes",
                            "value": "wKgAAA=="
                          }
                        }
                      },
                      {
                        "type": "NetworkAddress",
                        "value": {
                          "address_type": {
                            "type": "EnumNamedValue",
                            "value": "INET6"
                          },
                          "packed_bytes": {
                            "type": "bytes",
                            "value": "IAGrzQAAAAAAAAAAAAAAAA=="
                          }
                        }
                      }
                    ],
                    "ifname": {
                      "type": "unicode",
                      "value": "if0"
                    }
                  }
                },
                {
                  "type": "Interface",
                  "value": {
                    "ifname": {
                      "type": "unicode",
                      "value": "if1"
                    },
                    "mac_address": {
                      "type": "MacAddress",
                      "value": "qrvM3e4A"
                    }
                  }
                },
                {
                  "type": "Interface",
                  "value": {
                    "ifname": {
                      "type": "unicode",
                      "value": "if2"
                    },
                    "mac_address": {
                      "type": "MacAddress",
                      "value": "u8zd7v8A"
                    }
                  }
                }
              ],
              "knowledge_base": {
                "type": "KnowledgeBase",
                "value": {
                  "fqdn": {
                    "type": "unicode",
                    "value": "Host-0.example.com"
                  },
                  "os": {
                    "type": "unicode",
                    "value": "Linux"
                  },
                  "users": [
                    {
                      "type": "User",
                      "value": {
                        "username": {
                          "type": "unicode",
                          "value": "user1"
                        }
                      }
                    },
                    {
                      "type": "User",
                      "value": {
                        "username": {
                          "type": "unicode",
                          "value": "user2"
                        }
                      }
                    }
                  ]
                }
              },
              "last_seen_at": {
                "type": "RDFDatetime",
                "value": 42000000
              },
              "os_info": {
                "type": "Uname",
                "value": {
                  "fqdn": {
                    "type": "unicode",
                    "value": "Host-0.example.com"
                  },
                  "kernel": {
                    "type": "unicode",
                    "value": "4.0.0"
                  },
                  "machine": {
                    "type": "unicode",
                    "value": "x86_64"
                  },
                  "system": {
                    "type": "unicode",
                    "value": "Linux"
                  },
                  "version": {
                    "type": "unicode",
                    "value": "buster/sid"
                  }
                }
              },
              "urn": {
                "type": "ClientURN",
                "value": "aff4:/C.1000000000000000"
              }
            }
          }
        }
      },
      "test_class": "ApiCreateClientApprovalHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "approvers": [
          "api_test_user"
        ],
        "email_cc_addresses": [
          "test@example.com"
        ],
        "email_message_id": "<message id stub>",
        "expiration_time_us": 2419326000000,
        "id": "approval:112233",
        "is_valid": false,
        "is_valid_message": "Need at least 1 additional approver for access.",
        "notified_users": [
          "approver1",
          "approver2"
        ],
        "reason": "really important reason!",
        "requestor": "api_test_user",
        "subject": {
          "age": 42000000,
          "agent_info": {
            "build_time": "1980-01-01T12:00:00.000000+00:00",
            "client_name": "GRR Monitor",
            "client_version": 1234,
            "labels": [
              "label1",
              "label2"
            ]
          },
          "client_id": "C.1000000000000000",
          "hardware_info": {
            "bios_version": "Bios-Version-0",
            "system_manufacturer": "System-Manufacturer-0"
          },
          "interfaces": [
            {
              "addresses": [
                {
                  "address_type": "INET",
                  "packed_bytes": "wKgAAA=="
                },
                {
                  "address_type": "INET6",
                  "packed_bytes": "IAGrzQAAAAAAAAAAAAAAAA=="
                }
              ],
              "ifname": "if0"
            },
            {
              "ifname": "if1",
              "mac_address": "qrvM3e4A"
            },
            {
              "ifname": "if2",
              "mac_address": "u8zd7v8A"
            }
          ],
          "knowledge_base": {
            "fqdn": "Host-0.example.com",
            "os": "Linux",
            "users": [
              {
                "username": "user1"
              },
              {
                "username": "user2"
              }
            ]
          },
          "last_seen_at": 42000000,
          "os_info": {
            "fqdn": "Host-0.example.com",
            "kernel": "4.0.0",
            "machine": "x86_64",
            "system": "Linux",
            "version": "buster/sid"
          },
          "urn": "aff4:/C.1000000000000000"
        }
      },
      "url": "/api/users/me/approvals/client/C.1000000000000000"
    }
  ],
  "ApiCreateCronJobApprovalHandler": [
    {
      "api_method": "CreateCronJobApproval",
      "method": "POST",
      "request_payload": {
        "approval": {
          "email_cc_addresses": [
            "test@example.com"
          ],
          "notified_users": [
            "approver1",
            "approver2"
          ],
          "reason": "really important reason!"
        }
      },
      "response": {
        "type": "ApiCronJobApproval",
        "value": {
          "approvers": [
            {
              "type": "unicode",
              "value": "api_test_user"
            }
          ],
          "email_cc_addresses": [
            {
              "type": "unicode",
              "value": "test@example.com"
            }
          ],
          "email_message_id": {
            "type": "unicode",
            "value": "<message id stub>"
          },
          "id": {
            "type": "unicode",
            "value": "approval:112233"
          },
          "is_valid": {
            "type": "bool",
            "value": false
          },
          "is_valid_message": {
            "type": "unicode",
            "value": "Need at least 1 additional approver for access."
          },
          "notified_users": [
            {
              "type": "unicode",
              "value": "approver1"
            },
            {
              "type": "unicode",
              "value": "approver2"
            }
          ],
          "reason": {
            "type": "unicode",
            "value": "really important reason!"
          },
          "requestor": {
            "type": "unicode",
            "value": "api_test_user"
          },
          "subject": {
            "type": "ApiCronJob",
            "value": {
              "allow_overruns": {
                "type": "bool",
                "value": false
              },
              "args": {
                "type": "CronJobAction",
                "value": {
                  "action_type": {
                    "type": "EnumNamedValue",
                    "value": "HUNT_CRON_ACTION"
                  },
                  "hunt_cron_action": {
                    "type": "HuntCronAction",
                    "value": {
                      "flow_args": {
                        "type": "InterrogateArgs",
                        "value": {}
                      },
                      "flow_name": {
                        "type": "unicode",
                        "value": "Interrogate"
                      },
                      "hunt_runner_args": {
                        "type": "HuntRunnerArgs",
                        "value": {
                          "avg_cpu_seconds_per_client_limit": {
                            "type": "long",
                            "value": 60
                          },
                          "avg_network_bytes_per_client_limit": {
                            "type": "long",
                            "value": 10485760
                          },
                          "avg_results_per_client_limit": {
                            "type": "long",
                            "value": 1000
                          },
                          "client_rate": {
                            "type": "float",
                            "value": 20.0
                          },
                          "crash_limit": {
                            "type": "long",
                            "value": 100
                          }
                        }
                      }
                    }
                  }
                }
              },
              "cron_job_id": {
                "type": "ApiCronJobId",
                "value": "CronJob_123456"
              },
              "description": {
                "type": "unicode",
                "value": ""
              },
              "enabled": {
                "type": "bool",
                "value": true
              },
              "frequency": {
                "type": "DurationSeconds",
                "value": 86400
              },
              "is_failing": {
                "type": "bool",
                "value": false
              }
            }
          }
        }
      },
      "test_class": "ApiCreateCronJobApprovalHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "approvers": [
          "api_test_user"
        ],
        "email_cc_addresses": [
          "test@example.com"
        ],
        "email_message_id": "<message id stub>",
        "id": "approval:112233",
        "is_valid": false,
        "is_valid_message": "Need at least 1 additional approver for access.",
        "notified_users": [
          "approver1",
          "approver2"
        ],
        "reason": "really important reason!",
        "requestor": "api_test_user",
        "subject": {
          "allow_overruns": false,
          "args": {
            "action_type": "HUNT_CRON_ACTION",
            "hunt_cron_action": {
              "flow_args": {},
              "flow_name": "Interrogate",
              "hunt_runner_args": {
                "avg_cpu_seconds_per_client_limit": 60,
                "avg_network_bytes_per_client_limit": 10485760,
                "avg_results_per_client_limit": 1000,
                "client_rate": 20.0,
                "crash_limit": 100
              }
            }
          },
          "cron_job_id": "CronJob_123456",
          "description": "",
          "enabled": true,
          "frequency": 86400,
          "is_failing": false
        }
      },
      "url": "/api/users/me/approvals/cron-job/CronJob_123456"
    }
  ],
  "ApiCreateCronJobHandler": [
    {
      "api_method": "CreateCronJob",
      "method": "POST",
      "request_payload": {
        "description": "Foobar!",
        "flow_args": {
          "paths": [
            "c:\\windows\\system32\\notepad.*"
          ]
        },
        "flow_name": "FileFinder",
        "hunt_runner_args": {
          "avg_cpu_seconds_per_client_limit": 60,
          "avg_network_bytes_per_client_limit": 10485760,
          "avg_results_per_client_limit": 1000,
          "client_rate": 20.0,
          "client_rule_set": {
            "rules": [
              {
                "os": {
                  "os_windows": true
                }
              }
            ]
          },
          "crash_limit": 100,
          "description": "Foobar! (cron)"
        },
        "lifetime": 3600,
        "periodicity": 604800
      },
      "response": {
        "type": "ApiCronJob",
        "value": {
          "allow_overruns": {
            "type": "bool",
            "value": false
          },
          "args": {
            "type": "CronJobAction",
            "value": {
              "action_type": {
                "type": "EnumNamedValue",
                "value": "HUNT_CRON_ACTION"
              },
              "hunt_cron_action": {
                "type": "HuntCronAction",
                "value": {
                  "flow_args": {
                    "type": "FileFinderArgs",
                    "value": {
                      "paths": [
                        {
                          "type": "GlobExpression",
                          "value": "c:\\windows\\system32\\notepad.*"
                        }
                      ]
                    }
                  },
                  "flow_name": {
                    "type": "unicode",
                    "value": "FileFinder"
                  },
                  "hunt_runner_args": {
                    "type": "HuntRunnerArgs",
                    "value": {
                      "avg_cpu_seconds_per_client_limit": {
                        "type": "long",
                        "value": 60
                      },
                      "avg_network_bytes_per_client_limit": {
                        "type": "long",
                        "value": 10485760
                      },
                      "avg_results_per_client_limit": {
                        "type": "long",
                        "value": 1000
                      },
                      "client_rate": {
                        "type": "float",
                        "value": 20.0
                      },
                      "client_rule_set": {
                        "type": "ForemanClientRuleSet",
                        "value": {
                          "rules": [
                            {
                              "type": "ForemanClientRule",
                              "value": {
                                "os": {
                                  "type": "ForemanOsClientRule",
                                  "value": {
                                    "os_windows": {
                                      "type": "bool",
                                      "value": true
                                    }
                                  }
                                }
                              }
                            }
                          ]
                        }
                      },
                      "crash_limit": {
                        "type": "long",
                        "value": 100
                      },
                      "description": {
                        "type": "unicode",
                        "value": "Foobar! (cron)"
                      }
                    }
                  }
                }
              }
            }
          },
          "cron_job_id": {
            "type": "ApiCronJobId",
            "value": "CreateAndRunGenericHuntFlow_1234"
          },
          "description": {
            "type": "unicode",
            "value": "Foobar!"
          },
          "enabled": {
            "type": "bool",
            "value": false
          },
          "frequency": {
            "type": "DurationSeconds",
            "value": 604800
          },
          "is_failing": {
            "type": "bool",
            "value": false
          },
          "lifetime": {
            "type": "DurationSeconds",
            "value": 3600
          }
        }
      },
      "test_class": "ApiCreateCronJobHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "allow_overruns": false,
        "args": {
          "action_type": "HUNT_CRON_ACTION",
          "hunt_cron_action": {
            "flow_args": {
              "paths": [
                "c:\\windows\\system32\\notepad.*"
              ]
            },
            "flow_name": "FileFinder",
            "hunt_runner_args": {
              "avg_cpu_seconds_per_client_limit": 60,
              "avg_network_bytes_per_client_limit": 10485760,
              "avg_results_per_client_limit": 1000,
              "client_rate": 20.0,
              "client_rule_set": {
                "rules": [
                  {
                    "os": {
                      "os_windows": true
                    }
                  }
                ]
              },
              "crash_limit": 100,
              "description": "Foobar! (cron)"
            }
          }
        },
        "cron_job_id": "CreateAndRunGenericHuntFlow_1234",
        "description": "Foobar!",
        "enabled": false,
        "frequency": 604800,
        "is_failing": false,
        "lifetime": 3600
      },
      "url": "/api/cron-jobs"
    }
  ],
  "ApiCreateFlowHandler": [
    {
      "api_method": "CreateFlow",
      "method": "POST",
      "request_payload": {
        "flow": {
          "args": {
            "fetch_binaries": true,
            "filename_regex": "."
          },
          "name": "ListProcesses",
          "runner_args": {}
        }
      },
      "response": {
        "type": "ApiFlow",
        "value": {
          "args": {
            "type": "ListProcessesArgs",
            "value": {
              "fetch_binaries": {
                "type": "bool",
                "value": true
              },
              "filename_regex": {
                "type": "RegularExpression",
                "value": "."
              }
            }
          },
          "client_id": {
            "type": "ApiClientId",
            "value": "C.1000000000000000"
          },
          "creator": {
            "type": "unicode",
            "value": "api_test_user"
          },
          "flow_id": {
            "type": "ApiFlowId",
            "value": "W:ABCDEF"
          },
          "is_robot": {
            "type": "bool",
            "value": false
          },
          "last_active_at": {
            "type": "RDFDatetime",
            "value": 42000000
          },
          "name": {
            "type": "unicode",
            "value": "ListProcesses"
          },
          "runner_args": {
            "type": "FlowRunnerArgs",
            "value": {
              "client_id": {
                "type": "ClientURN",
                "value": "aff4:/C.1000000000000000"
              },
              "flow_name": {
                "type": "unicode",
                "value": "ListProcesses"
              }
            }
          },
          "started_at": {
            "type": "RDFDatetime",
            "value": 42000000
          },
          "state": {
            "type": "EnumNamedValue",
            "value": "RUNNING"
          },
          "urn": {
            "type": "SessionID",
            "value": "aff4:/C.1000000000000000/flows/W:ABCDEF"
          }
        }
      },
      "test_class": "ApiCreateFlowHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "args": {
          "fetch_binaries": true,
          "filename_regex": "."
        },
        "client_id": "C.1000000000000000",
        "creator": "api_test_user",
        "flow_id": "W:ABCDEF",
        "is_robot": false,
        "last_active_at": 42000000,
        "name": "ListProcesses",
        "runner_args": {
          "client_id": "aff4:/C.1000000000000000",
          "flow_name": "ListProcesses"
        },
        "started_at": 42000000,
        "state": "RUNNING",
        "urn": "aff4:/C.1000000000000000/flows/W:ABCDEF"
      },
      "url": "/api/clients/C.1000000000000000/flows"
    }
  ],
  "ApiCreateHuntApprovalHandler": [
    {
      "api_method": "CreateHuntApproval",
      "method": "POST",
      "request_payload": {
        "approval": {
          "email_cc_addresses": [
            "test@example.com"
          ],
          "notified_users": [
            "approver1",
            "approver2"
          ],
          "reason": "really important reason!"
        }
      },
      "response": {
        "type": "ApiHuntApproval",
        "value": {
          "approvers": [
            {
              "type": "unicode",
              "value": "api_test_user"
            }
          ],
          "email_cc_addresses": [
            {
              "type": "unicode",
              "value": "test@example.com"
            }
          ],
          "email_message_id": {
            "type": "unicode",
            "value": "<message id stub>"
          },
          "expiration_time_us": {
            "type": "RDFDatetime",
            "value": 2419326000000
          },
          "id": {
            "type": "unicode",
            "value": "approval:112233"
          },
          "is_valid": {
            "type": "bool",
            "value": false
          },
          "is_valid_message": {
            "type": "unicode",
            "value": "Need at least 1 additional approver for access."
          },
          "notified_users": [
            {
              "type": "unicode",
              "value": "approver1"
            },
            {
              "type": "unicode",
              "value": "approver2"
            }
          ],
          "reason": {
            "type": "unicode",
            "value": "really important reason!"
          },
          "requestor": {
            "type": "unicode",
            "value": "api_test_user"
          },
          "subject": {
            "type": "ApiHunt",
            "value": {
              "all_clients_count": {
                "type": "long",
                "value": 0
              },
              "client_limit": {
                "type": "long",
                "value": 100
              },
              "client_rate": {
                "type": "float",
                "value": 0.0
              },
              "client_rule_set": {
                "type": "ForemanClientRuleSet",
                "value": {
                  "rules": [
                    {
                      "type": "ForemanClientRule",
                      "value": {
                        "regex": {
                          "type": "ForemanRegexClientRule",
                          "value": {
                            "attribute_regex": {
                              "type": "RegularExpression",
                              "value": "GRR"
                            },
                            "field": {
                              "type": "EnumNamedValue",
                              "value": "CLIENT_NAME"
                            }
                          }
                        },
                        "rule_type": {
                          "type": "EnumNamedValue",
                          "value": "REGEX"
                        }
                      }
                    }
                  ]
                }
              },
              "clients_with_results_count": {
                "type": "long",
                "value": 0
              },
              "completed_clients_count": {
                "type": "long",
                "value": 0
              },
              "crash_limit": {
                "type": "long",
                "value": 100
              },
              "crashed_clients_count": {
                "type": "long",
                "value": 0
              },
              "created": {
                "type": "RDFDatetime",
                "value": 42000000
              },
              "creator": {
                "type": "unicode",
                "value": "api_test_user"
              },
              "description": {
                "type": "unicode",
                "value": "foo"
              },
              "duration": {
                "type": "DurationSeconds",
                "value": 1209600
              },
              "failed_clients_count": {
                "type": "long",
                "value": 0
              },
              "flow_args": {
                "type": "FileFinderArgs",
                "value": {
                  "action": {
                    "type": "FileFinderAction",
                    "value": {
                      "action_type": {
                        "type": "EnumNamedValue",
                        "value": "DOWNLOAD"
                      },
                      "download": {
                        "type": "FileFinderDownloadActionOptions",
                        "value": {
                          "collect_ext_attrs": {
                            "type": "bool",
                            "value": false
                          }
                        }
                      }
                    }
                  },
                  "paths": [
                    {
                      "type": "GlobExpression",
                      "value": "/tmp/evil.txt"
                    }
                  ],
                  "pathtype": {
                    "type": "EnumNamedValue",
                    "value": "OS"
                  }
                }
              },
              "flow_name": {
                "type": "unicode",
                "value": "ClientFileFinder"
              },
              "hunt_id": {
                "type": "ApiHuntId",
                "value": "H:123456"
              },
              "hunt_runner_args": {
                "type": "HuntRunnerArgs",
                "value": {
                  "avg_cpu_seconds_per_client_limit": {
                    "type": "long",
                    "value": 60
                  },
                  "avg_network_bytes_per_client_limit": {
                    "type": "long",
                    "value": 10485760
                  },
                  "avg_results_per_client_limit": {
                    "type": "long",
                    "value": 1000
                  },
                  "client_limit": {
                    "type": "long",
                    "value": 100
                  },
                  "client_rate": {
                    "type": "float",
                    "value": 0.0
                  },
                  "client_rule_set": {
                    "type": "ForemanClientRuleSet",
                    "value": {
                      "rules": [
                        {
                          "type": "ForemanClientRule",
                          "value": {
                            "regex": {
                              "type": "ForemanRegexClientRule",
                              "value": {
                                "attribute_regex": {
                                  "type": "RegularExpression",
                                  "value": "GRR"
                                },
                                "field": {
                                  "type": "EnumNamedValue",
                                  "value": "CLIENT_NAME"
                                }
                              }
                            },
                            "rule_type": {
                              "type": "EnumNamedValue",
                              "value": "REGEX"
                            }
                          }
                        }
                      ]
                    }
                  },
                  "crash_limit": {
                    "type": "long",
                    "value": 100
                  },
                  "description": {
                    "type": "unicode",
                    "value": "foo"
                  },
                  "expiry_time": {
                    "type": "DurationSeconds",
                    "value": 1209600
                  },
                  "hunt_name": {
                    "type": "unicode",
                    "value": "GenericHunt"
                  },
                  "original_object": {
                    "type": "FlowLikeObjectReference",
                    "value": {}
                  }
                }
              },
              "hunt_type": {
                "type": "EnumNamedValue",
                "value": "STANDARD"
              },
              "is_robot": {
                "type": "bool",
                "value": false
              },
              "name": {
                "type": "unicode",
                "value": "GenericHunt"
              },
              "remaining_clients_count": {
                "type": "long",
                "value": 0
              },
              "results_count": {
                "type": "long",
                "value": 0
              },
              "state": {
                "type": "EnumNamedValue",
                "value": "PAUSED"
              },
              "state_comment": {
                "type": "unicode",
                "value": ""
              },
              "state_reason": {
                "type": "EnumNamedValue",
                "value": "UNKNOWN"
              },
              "total_cpu_usage": {
                "type": "float",
                "value": 0.0
              },
              "total_net_usage": {
                "type": "long",
                "value": 0
              },
              "urn": {
                "type": "SessionID",
                "value": "aff4:/hunts/H:123456"
              }
            }
          }
        }
      },
      "test_class": "ApiCreateHuntApprovalHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "approvers": [
          "api_test_user"
        ],
        "email_cc_addresses": [
          "test@example.com"
        ],
        "email_message_id": "<message id stub>",
        "expiration_time_us": 2419326000000,
        "id": "approval:112233",
        "is_valid": false,
        "is_valid_message": "Need at least 1 additional approver for access.",
        "notified_users": [
          "approver1",
          "approver2"
        ],
        "reason": "really important reason!",
        "requestor": "api_test_user",
        "subject": {
          "all_clients_count": 0,
          "client_limit": 100,
          "client_rate": 0.0,
          "client_rule_set": {
            "rules": [
              {
                "regex": {
                  "attribute_regex": "GRR",
                  "field": "CLIENT_NAME"
                },
                "rule_type": "REGEX"
              }
            ]
          },
          "clients_with_results_count": 0,
          "completed_clients_count": 0,
          "crash_limit": 100,
          "crashed_clients_count": 0,
          "created": 42000000,
          "creator": "api_test_user",
          "description": "foo",
          "duration": 1209600,
          "failed_clients_count": 0,
          "flow_args": {
            "action": {
              "action_type": "DOWNLOAD",
              "download": {
                "collect_ext_attrs": false
              }
            },
            "paths": [
              "/tmp/evil.txt"
            ],
            "pathtype": "OS"
          },
          "flow_name": "ClientFileFinder",
          "hunt_id": "H:123456",
          "hunt_runner_args": {
            "avg_cpu_seconds_per_client_limit": 60,
            "avg_network_bytes_per_client_limit": 10485760,
            "avg_results_per_client_limit": 1000,
            "client_limit": 100,
            "client_rate": 0.0,
            "client_rule_set": {
              "rules": [
                {
                  "regex": {
                    "attribute_regex": "GRR",
                    "field": "CLIENT_NAME"
                  },
                  "rule_type": "REGEX"
                }
              ]
            },
            "crash_limit": 100,
            "description": "foo",
            "expiry_time": 1209600,
            "hunt_name": "GenericHunt",
            "original_object": {}
          },
          "hunt_type": "STANDARD",
          "is_robot": false,
          "name": "GenericHunt",
          "remaining_clients_count": 0,
          "results_count": 0,
          "state": "PAUSED",
          "state_comment": "",
          "state_reason": "UNKNOWN",
          "total_cpu_usage": 0.0,
          "total_net_usage": 0,
          "urn": "aff4:/hunts/H:123456"
        }
      },
      "url": "/api/users/me/approvals/hunt/H:123456"
    }
  ],
  "ApiCreateVfsRefreshOperationHandler": [
    {
      "api_method": "CreateVfsRefreshOperation",
      "method": "POST",
      "request_payload": {
        "file_path": "fs/os/Users/Shared",
        "max_depth": 1
      },
      "response": {
        "operation_id": "ABCDEF"
      },
      "test_class": "ApiCreateVfsRefreshOperationHandlerRegressionTest_http_v1",
      "url": "/api/clients/C.1000000000000000/vfs-refresh-operations"
    }
  ],
  "ApiDeleteHuntHandler": [
    {
      "api_method": "DeleteHunt",
      "method": "DELETE",
      "response": {
        "status": "OK"
      },
      "test_class": "ApiDeleteHuntHandlerRegressionTest_http_v1",
      "url": "/api/hunts/H:123456"
    }
  ],
  "ApiExplainGlobExpressionHandler": [
    {
      "api_method": "ExplainGlobExpression",
      "method": "POST",
      "request_payload": {
        "glob_expression": "/foo/*"
      },
      "response": {
        "components": [
          {
            "type": "GlobComponentExplanation",
            "value": {
              "glob_expression": {
                "type": "unicode",
                "value": "/foo/"
              }
            }
          },
          {
            "type": "GlobComponentExplanation",
            "value": {
              "glob_expression": {
                "type": "unicode",
                "value": "*"
              }
            }
          }
        ]
      },
      "test_class": "ApiExplainGlobExpressionHandlerTest_http_v1",
      "type_stripped_response": {
        "components": [
          {
            "glob_expression": "/foo/"
          },
          {
            "glob_expression": "*"
          }
        ]
      },
      "url": "/api/clients/C.1000000000000000/glob-expressions:explain"
    }
  ],
  "ApiForceRunCronJobHandler": [
    {
      "api_method": "ForceRunCronJob",
      "method": "POST",
      "response": {
        "status": "OK"
      },
      "test_class": "ApiForceRunCronJobRegressionTest_http_v1",
      "url": "/api/cron-jobs/FileFinder/actions/force-run"
    }
  ],
  "ApiGetClientApprovalHandler": [
    {
      "api_method": "GetClientApproval",
      "method": "GET",
      "response": {
        "type": "ApiClientApproval",
        "value": {
          "approvers": [
            {
              "type": "unicode",
              "value": "api_test_user"
            }
          ],
          "email_message_id": {
            "type": "unicode",
            "value": "<message id stub>"
          },
          "expiration_time_us": {
            "type": "RDFDatetime",
            "value": 2419244000000
          },
          "id": {
            "type": "unicode",
            "value": "approval:111111"
          },
          "is_valid": {
            "type": "bool",
            "value": false
          },
          "is_valid_message": {
            "type": "unicode",
            "value": "Need at least 1 additional approver for access."
          },
          "notified_users": [
            {
              "type": "unicode",
              "value": "approver"
            }
          ],
          "reason": {
            "type": "unicode",
            "value": "foo"
          },
          "requestor": {
            "type": "unicode",
            "value": "api_test_user"
          },
          "subject": {
            "type": "ApiClient",
            "value": {
              "age": {
                "type": "RDFDatetime",
                "value": 42000000
              },
              "agent_info": {
                "type": "ClientInformation",
                "value": {
                  "build_time": {
                    "type": "unicode",
                    "value": "1980-01-01T12:00:00.000000+00:00"
                  },
                  "client_name": {
                    "type": "unicode",
                    "value": "GRR Monitor"
                  },
                  "client_version": {
                    "type": "long",
                    "value": 1234
                  },
                  "labels": [
                    {
                      "type": "unicode",
                      "value": "label1"
                    },
                    {
                      "type": "unicode",
                      "value": "label2"
                    }
                  ]
                }
              },
              "client_id": {
                "type": "ApiClientId",
                "value": "C.1000000000000000"
              },
              "hardware_info": {
                "type": "HardwareInfo",
                "value": {
                  "bios_version": {
                    "type": "unicode",
                    "value": "Bios-Version-0"
                  },
                  "system_manufacturer": {
                    "type": "unicode",
                    "value": "System-Manufacturer-0"
                  }
                }
              },
              "interfaces": [
                {
                  "type": "Interface",
                  "value": {
                    "addresses": [
                      {
                        "type": "NetworkAddress",
                        "value": {
                          "address_type": {
                            "type": "EnumNamedValue",
                            "value": "INET"
                          },
                          "packed_bytes": {
                            "type": "bytes",
                            "value": "wKgAAA=="
                          }
                        }
                      },
                      {
                        "type": "NetworkAddress",
                        "value": {
                          "address_type": {
                            "type": "EnumNamedValue",
                            "value": "INET6"
                          },
                          "packed_bytes": {
                            "type": "bytes",
                            "value": "IAGrzQAAAAAAAAAAAAAAAA=="
                          }
                        }
                      }
                    ],
                    "ifname": {
                      "type": "unicode",
                      "value": "if0"
                    }
                  }
                },
                {
                  "type": "Interface",
                  "value": {
                    "ifname": {
                      "type": "unicode",
                      "value": "if1"
                    },
                    "mac_address": {
                      "type": "MacAddress",
                      "value": "qrvM3e4A"
                    }
                  }
                },
                {
                  "type": "Interface",
                  "value": {
                    "ifname": {
                      "type": "unicode",
                      "value": "if2"
                    },
                    "mac_address": {
                      "type": "MacAddress",
                      "value": "u8zd7v8A"
                    }
                  }
                }
              ],
              "knowledge_base": {
                "type": "KnowledgeBase",
                "value": {
                  "fqdn": {
                    "type": "unicode",
                    "value": "Host-0.example.com"
                  },
                  "os": {
                    "type": "unicode",
                    "value": "Linux"
                  },
                  "users": [
                    {
                      "type": "User",
                      "value": {
                        "username": {
                          "type": "unicode",
                          "value": "user1"
                        }
                      }
                    },
                    {
                      "type": "User",
                      "value": {
                        "username": {
                          "type": "unicode",
                          "value": "user2"
                        }
                      }
                    }
                  ]
                }
              },
              "last_seen_at": {
                "type": "RDFDatetime",
                "value": 42000000
              },
              "os_info": {
                "type": "Uname",
                "value": {
                  "fqdn": {
                    "type": "unicode",
                    "value": "Host-0.example.com"
                  },
                  "kernel": {
                    "type": "unicode",
                    "value": "4.0.0"
                  },
                  "machine": {
                    "type": "unicode",
                    "value": "x86_64"
                  },
                  "system": {
                    "type": "unicode",
                    "value": "Linux"
                  },
                  "version": {
                    "type": "unicode",
                    "value": "buster/sid"
                  }
                }
              },
              "urn": {
                "type": "ClientURN",
                "value": "aff4:/C.1000000000000000"
              }
            }
          }
        }
      },
      "test_class": "ApiGetClientApprovalHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "approvers": [
          "api_test_user"
        ],
        "email_message_id": "<message id stub>",
        "expiration_time_us": 2419244000000,
        "id": "approval:111111",
        "is_valid": false,
        "is_valid_message": "Need at least 1 additional approver for access.",
        "notified_users": [
          "approver"
        ],
        "reason": "foo",
        "requestor": "api_test_user",
        "subject": {
          "age": 42000000,
          "agent_info": {
            "build_time": "1980-01-01T12:00:00.000000+00:00",
            "client_name": "GRR Monitor",
            "client_version": 1234,
            "labels": [
              "label1",
              "label2"
            ]
          },
          "client_id": "C.1000000000000000",
          "hardware_info": {
            "bios_version": "Bios-Version-0",
            "system_manufacturer": "System-Manufacturer-0"
          },
          "interfaces": [
            {
              "addresses": [
                {
                  "address_type": "INET",
                  "packed_bytes": "wKgAAA=="
                },
                {
                  "address_type": "INET6",
                  "packed_bytes": "IAGrzQAAAAAAAAAAAAAAAA=="
                }
              ],
              "ifname": "if0"
            },
            {
              "ifname": "if1",
              "mac_address": "qrvM3e4A"
            },
            {
              "ifname": "if2",
              "mac_address": "u8zd7v8A"
            }
          ],
          "knowledge_base": {
            "fqdn": "Host-0.example.com",
            "os": "Linux",
            "users": [
              {
                "username": "user1"
              },
              {
                "username": "user2"
              }
            ]
          },
          "last_seen_at": 42000000,
          "os_info": {
            "fqdn": "Host-0.example.com",
            "kernel": "4.0.0",
            "machine": "x86_64",
            "system": "Linux",
            "version": "buster/sid"
          },
          "urn": "aff4:/C.1000000000000000"
        }
      },
      "url": "/api/users/api_test_user/approvals/client/C.1000000000000000/approval:111111"
    },
    {
      "api_method": "GetClientApproval",
      "method": "GET",
      "response": {
        "type": "ApiClientApproval",
        "value": {
          "approvers": [
            {
              "type": "unicode",
              "value": "api_test_user"
            },
            {
              "type": "unicode",
              "value": "approver"
            }
          ],
          "email_message_id": {
            "type": "unicode",
            "value": "<message id stub>"
          },
          "expiration_time_us": {
            "type": "RDFDatetime",
            "value": 2419245000000
          },
          "id": {
            "type": "unicode",
            "value": "approval:222222"
          },
          "is_valid": {
            "type": "bool",
            "value": true
          },
          "notified_users": [
            {
              "type": "unicode",
              "value": "approver"
            }
          ],
          "reason": {
            "type": "unicode",
            "value": "bar"
          },
          "requestor": {
            "type": "unicode",
            "value": "api_test_user"
          },
          "subject": {
            "type": "ApiClient",
            "value": {
              "age": {
                "type": "RDFDatetime",
                "value": 42000000
              },
              "agent_info": {
                "type": "ClientInformation",
                "value": {
                  "build_time": {
                    "type": "unicode",
                    "value": "1980-01-01T12:00:00.000000+00:00"
                  },
                  "client_name": {
                    "type": "unicode",
                    "value": "GRR Monitor"
                  },
                  "client_version": {
                    "type": "long",
                    "value": 1234
                  },
                  "labels": [
                    {
                      "type": "unicode",
                      "value": "label1"
                    },
                    {
                      "type": "unicode",
                      "value": "label2"
                    }
                  ]
                }
              },
              "client_id": {
                "type": "ApiClientId",
                "value": "C.1000000000000001"
              },
              "hardware_info": {
                "type": "HardwareInfo",
                "value": {
                  "bios_version": {
                    "type": "unicode",
                    "value": "Bios-Version-1"
                  },
                  "system_manufacturer": {
                    "type": "unicode",
                    "value": "System-Manufacturer-1"
                  }
                }
              },
              "interfaces": [
                {
                  "type": "Interface",
                  "value": {
                    "addresses": [
                      {
                        "type": "NetworkAddress",
                        "value": {
                          "address_type": {
                            "type": "EnumNamedValue",
                            "value": "INET"
                          },
                          "packed_bytes": {
                            "type": "bytes",
                            "value": "wKgAAQ=="
                          }
                        }
                      },
                      {
                        "type": "NetworkAddress",
                        "value": {
                          "address_type": {
                            "type": "EnumNamedValue",
                            "value": "INET6"
                          },
                          "packed_bytes": {
                            "type": "bytes",
                            "value": "IAGrzQAAAAAAAAAAAAAAAQ=="
                          }
                        }
                      }
                    ],
                    "ifname": {
                      "type": "unicode",
                      "value": "if0"
                    }
                  }
                },
                {
                  "type": "Interface",
                  "value": {
                    "ifname": {
                      "type": "unicode",
                      "value": "if1"
                    },
                    "mac_address": {
                      "type": "MacAddress",
                      "value": "qrvM3e4B"
                    }
                  }
                },
                {
                  "type": "Interface",
                  "value": {
                    "ifname": {
                      "type": "unicode",
                      "value": "if2"
                    },
                    "mac_address": {
                      "type": "MacAddress",
                      "value": "u8zd7v8B"
                    }
                  }
                }
              ],
              "knowledge_base": {
                "type": "KnowledgeBase",
                "value": {
                  "fqdn": {
                    "type": "unicode",
                    "value": "Host-1.example.com"
                  },
                  "os": {
                    "type": "unicode",
                    "value": "Linux"
                  },
                  "users": [
                    {
                      "type": "User",
                      "value": {
                        "username": {
                          "type": "unicode",
                          "value": "user1"
                        }
                      }
                    },
                    {
                      "type": "User",
                      "value": {
                        "username": {
                          "type": "unicode",
                          "value": "user2"
                        }
                      }
                    }
                  ]
                }
              },
              "last_seen_at": {
                "type": "RDFDatetime",
                "value": 42000000
              },
              "os_info": {
                "type": "Uname",
                "value": {
                  "fqdn": {
                    "type": "unicode",
                    "value": "Host-1.example.com"
                  },
                  "kernel": {
                    "type": "unicode",
                    "value": "4.0.0"
                  },
                  "machine": {
                    "type": "unicode",
                    "value": "x86_64"
                  },
                  "system": {
                    "type": "unicode",
                    "value": "Linux"
                  },
                  "version": {
                    "type": "unicode",
                    "value": "buster/sid"
                  }
                }
              },
              "urn": {
                "type": "ClientURN",
                "value": "aff4:/C.1000000000000001"
              }
            }
          }
        }
      },
      "test_class": "ApiGetClientApprovalHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "approvers": [
          "api_test_user",
          "approver"
        ],
        "email_message_id": "<message id stub>",
        "expiration_time_us": 2419245000000,
        "id": "approval:222222",
        "is_valid": true,
        "notified_users": [
          "approver"
        ],
        "reason": "bar",
        "requestor": "api_test_user",
        "subject": {
          "age": 42000000,
          "agent_info": {
            "build_time": "1980-01-01T12:00:00.000000+00:00",
            "client_name": "GRR Monitor",
            "client_version": 1234,
            "labels": [
              "label1",
              "label2"
            ]
          },
          "client_id": "C.1000000000000001",
          "hardware_info": {
            "bios_version": "Bios-Version-1",
            "system_manufacturer": "System-Manufacturer-1"
          },
          "interfaces": [
            {
              "addresses": [
                {
                  "address_type": "INET",
                  "packed_bytes": "wKgAAQ=="
                },
                {
                  "address_type": "INET6",
                  "packed_bytes": "IAGrzQAAAAAAAAAAAAAAAQ=="
                }
              ],
              "ifname": "if0"
            },
            {
              "ifname": "if1",
              "mac_address": "qrvM3e4B"
            },
            {
              "ifname": "if2",
              "mac_address": "u8zd7v8B"
            }
          ],
          "knowledge_base": {
            "fqdn": "Host-1.example.com",
            "os": "Linux",
            "users": [
              {
                "username": "user1"
              },
              {
                "username": "user2"
              }
            ]
          },
          "last_seen_at": 42000000,
          "os_info": {
            "fqdn": "Host-1.example.com",
            "kernel": "4.0.0",
            "machine": "x86_64",
            "system": "Linux",
            "version": "buster/sid"
          },
          "urn": "aff4:/C.1000000000000001"
        }
      },
      "url": "/api/users/api_test_user/approvals/client/C.1000000000000001/approval:222222"
    }
  ],
  "ApiGetClientHandler": [
    {
      "api_method": "GetClient",
      "method": "GET",
      "response": {
        "type": "ApiClient",
        "value": {
          "age": {
            "type": "RDFDatetime",
            "value": 42000000
          },
          "agent_info": {
            "type": "ClientInformation",
            "value": {
              "build_time": {
                "type": "unicode",
                "value": "1980-01-01T12:00:00.000000+00:00"
              },
              "client_name": {
                "type": "unicode",
                "value": "GRR Monitor"
              },
              "client_version": {
                "type": "long",
                "value": 1234
              },
              "labels": [
                {
                  "type": "unicode",
                  "value": "label1"
                },
                {
                  "type": "unicode",
                  "value": "label2"
                }
              ]
            }
          },
          "client_id": {
            "type": "ApiClientId",
            "value": "C.1000000000000000"
          },
          "hardware_info": {
            "type": "HardwareInfo",
            "value": {
              "bios_version": {
                "type": "unicode",
                "value": "Bios-Version-0"
              },
              "system_manufacturer": {
                "type": "unicode",
                "value": "System-Manufacturer-0"
              }
            }
          },
          "interfaces": [
            {
              "type": "Interface",
              "value": {
                "addresses": [
                  {
                    "type": "NetworkAddress",
                    "value": {
                      "address_type": {
                        "type": "EnumNamedValue",
                        "value": "INET"
                      },
                      "packed_bytes": {
                        "type": "bytes",
                        "value": "wKgAAA=="
                      }
                    }
                  },
                  {
                    "type": "NetworkAddress",
                    "value": {
                      "address_type": {
                        "type": "EnumNamedValue",
                        "value": "INET6"
                      },
                      "packed_bytes": {
                        "type": "bytes",
                        "value": "IAGrzQAAAAAAAAAAAAAAAA=="
                      }
                    }
                  }
                ],
                "ifname": {
                  "type": "unicode",
                  "value": "if0"
                }
              }
            },
            {
              "type": "Interface",
              "value": {
                "ifname": {
                  "type": "unicode",
                  "value": "if1"
                },
                "mac_address": {
                  "type": "MacAddress",
                  "value": "qrvM3e4A"
                }
              }
            },
            {
              "type": "Interface",
              "value": {
                "ifname": {
                  "type": "unicode",
                  "value": "if2"
                },
                "mac_address": {
                  "type": "MacAddress",
                  "value": "u8zd7v8A"
                }
              }
            }
          ],
          "knowledge_base": {
            "type": "KnowledgeBase",
            "value": {
              "fqdn": {
                "type": "unicode",
                "value": "Host-0.example.com"
              },
              "os": {
                "type": "unicode",
                "value": "Linux"
              },
              "users": [
                {
                  "type": "User",
                  "value": {
                    "username": {
                      "type": "unicode",
                      "value": "user1"
                    }
                  }
                },
                {
                  "type": "User",
                  "value": {
                    "username": {
                      "type": "unicode",
                      "value": "user2"
                    }
                  }
                }
              ]
            }
          },
          "last_seen_at": {
            "type": "RDFDatetime",
            "value": 42000000
          },
          "memory_size": {
            "type": "ByteSize",
            "value": 4294967296
          },
          "os_info": {
            "type": "Uname",
            "value": {
              "fqdn": {
                "type": "unicode",
                "value": "Host-0.example.com"
              },
              "kernel": {
                "type": "unicode",
                "value": "4.0.0"
              },
              "machine": {
                "type": "unicode",
                "value": "x86_64"
              },
              "system": {
                "type": "unicode",
                "value": "Linux"
              },
              "version": {
                "type": "unicode",
                "value": "buster/sid"
              }
            }
          },
          "urn": {
            "type": "ClientURN",
            "value": "aff4:/C.1000000000000000"
          }
        }
      },
      "test_class": "ApiGetClientHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "age": 42000000,
        "agent_info": {
          "build_time": "1980-01-01T12:00:00.000000+00:00",
          "client_name": "GRR Monitor",
          "client_version": 1234,
          "labels": [
            "label1",
            "label2"
          ]
        },
        "client_id": "C.1000000000000000",
        "hardware_info": {
          "bios_version": "Bios-Version-0",
          "system_manufacturer": "System-Manufacturer-0"
        },
        "interfaces": [
          {
            "addresses": [
              {
                "address_type": "INET",
                "packed_bytes": "wKgAAA=="
              },
              {
                "address_type": "INET6",
                "packed_bytes": "IAGrzQAAAAAAAAAAAAAAAA=="
              }
            ],
            "ifname": "if0"
          },
          {
            "ifname": "if1",
            "mac_address": "qrvM3e4A"
          },
          {
            "ifname": "if2",
            "mac_address": "u8zd7v8A"
          }
        ],
        "knowledge_base": {
          "fqdn": "Host-0.example.com",
          "os": "Linux",
          "users": [
            {
              "username": "user1"
            },
            {
              "username": "user2"
            }
          ]
        },
        "last_seen_at": 42000000,
        "memory_size": 4294967296,
        "os_info": {
          "fqdn": "Host-0.example.com",
          "kernel": "4.0.0",
          "machine": "x86_64",
          "system": "Linux",
          "version": "buster/sid"
        },
        "urn": "aff4:/C.1000000000000000"
      },
      "url": "/api/clients/C.1000000000000000"
    }
  ],
  "ApiGetClientVersionsHandler": [
    {
      "api_method": "GetClientVersions",
      "method": "GET",
      "response": {
        "items": [
          {
            "type": "ApiClient",
            "value": {
              "age": {
                "type": "RDFDatetime",
                "value": 42000000
              },
              "agent_info": {
                "type": "ClientInformation",
                "value": {
                  "build_time": {
                    "type": "unicode",
                    "value": "1980-01-01T12:00:00.000000+00:00"
                  },
                  "client_name": {
                    "type": "unicode",
                    "value": "GRR Monitor"
                  },
                  "client_version": {
                    "type": "long",
                    "value": 1234
                  },
                  "labels": [
                    {
                      "type": "unicode",
                      "value": "label1"
                    },
                    {
                      "type": "unicode",
                      "value": "label2"
                    }
                  ]
                }
              },
              "client_id": {
                "type": "ApiClientId",
                "value": "C.1000000000000000"
              },
              "hardware_info": {
                "type": "HardwareInfo",
                "value": {
                  "bios_version": {
                    "type": "unicode",
                    "value": "Bios-Version-0"
                  },
                  "system_manufacturer": {
                    "type": "unicode",
                    "value": "System-Manufacturer-0"
                  }
                }
              },
              "interfaces": [
                {
                  "type": "Interface",
                  "value": {
                    "addresses": [
                      {
                        "type": "NetworkAddress",
                        "value": {
                          "address_type": {
                            "type": "EnumNamedValue",
                            "value": "INET"
                          },
                          "packed_bytes": {
                            "type": "bytes",
                            "value": "wKgAAA=="
                          }
                        }
                      },
                      {
                        "type": "NetworkAddress",
                        "value": {
                          "address_type": {
                            "type": "EnumNamedValue",
                            "value": "INET6"
                          },
                          "packed_bytes": {
                            "type": "bytes",
                            "value": "IAGrzQAAAAAAAAAAAAAAAA=="
                          }
                        }
                      }
                    ],
                    "ifname": {
                      "type": "unicode",
                      "value": "if0"
                    }
                  }
                },
                {
                  "type": "Interface",
                  "value": {
                    "ifname": {
                      "type": "unicode",
                      "value": "if1"
                    },
                    "mac_address": {
                      "type": "MacAddress",
                      "value": "qrvM3e4A"
                    }
                  }
                },
                {
                  "type": "Interface",
                  "value": {
                    "ifname": {
                      "type": "unicode",
                      "value": "if2"
                    },
                    "mac_address": {
                      "type": "MacAddress",
                      "value": "u8zd7v8A"
                    }
                  }
                }
              ],
              "knowledge_base": {
                "type": "KnowledgeBase",
                "value": {
                  "fqdn": {
                    "type": "unicode",
                    "value": "Host-0.example.com"
                  },
                  "os": {
                    "type": "unicode",
                    "value": "Linux"
                  },
                  "users": [
                    {
                      "type": "User",
                      "value": {
                        "username": {
                          "type": "unicode",
                          "value": "user1"
                        }
                      }
                    },
                    {
                      "type": "User",
                      "value": {
                        "username": {
                          "type": "unicode",
                          "value": "user2"
                        }
                      }
                    }
                  ]
                }
              },
              "memory_size": {
                "type": "ByteSize",
                "value": 4294967296
              },
              "os_info": {
                "type": "Uname",
                "value": {
                  "fqdn": {
                    "type": "unicode",
                    "value": "Host-0.example.com"
                  },
                  "kernel": {
                    "type": "unicode",
                    "value": "4.0.0"
                  },
                  "machine": {
                    "type": "unicode",
                    "value": "x86_64"
                  },
                  "system": {
                    "type": "unicode",
                    "value": "Linux"
                  },
                  "version": {
                    "type": "unicode",
                    "value": "buster/sid"
                  }
                }
              },
              "urn": {
                "type": "ClientURN",
                "value": "aff4:/C.1000000000000000"
              }
            }
          },
          {
            "type": "ApiClient",
            "value": {
              "age": {
                "type": "RDFDatetime",
                "value": 45000000
              },
              "agent_info": {
                "type": "ClientInformation",
                "value": {
                  "build_time": {
                    "type": "unicode",
                    "value": "1980-01-01T12:00:00.000000+00:00"
                  },
                  "client_name": {
                    "type": "unicode",
                    "value": "GRR Monitor"
                  },
                  "client_version": {
                    "type": "long",
                    "value": 1234
                  },
                  "labels": [
                    {
                      "type": "unicode",
                      "value": "label1"
                    },
                    {
                      "type": "unicode",
                      "value": "label2"
                    }
                  ]
                }
              },
              "client_id": {
                "type": "ApiClientId",
                "value": "C.1000000000000000"
              },
              "hardware_info": {
                "type": "HardwareInfo",
                "value": {
                  "bios_version": {
                    "type": "unicode",
                    "value": "Bios-Version-0"
                  },
                  "system_manufacturer": {
                    "type": "unicode",
                    "value": "System-Manufacturer-0"
                  }
                }
              },
              "interfaces": [
                {
                  "type": "Interface",
                  "value": {
                    "addresses": [
                      {
                        "type": "NetworkAddress",
                        "value": {
                          "address_type": {
                            "type": "EnumNamedValue",
                            "value": "INET"
                          },
                          "packed_bytes": {
                            "type": "bytes",
                            "value": "wKgAAA=="
                          }
                        }
                      },
                      {
                        "type": "NetworkAddress",
                        "value": {
                          "address_type": {
                            "type": "EnumNamedValue",
                            "value": "INET6"
                          },
                          "packed_bytes": {
                            "type": "bytes",
                            "value": "IAGrzQAAAAAAAAAAAAAAAA=="
                          }
                        }
                      }
                    ],
                    "ifname": {
                      "type": "unicode",
                      "value": "if0"
                    }
                  }
                },
                {
                  "type": "Interface",
                  "value": {
                    "ifname": {
                      "type": "unicode",
                      "value": "if1"
                    },
                    "mac_address": {
                      "type": "MacAddress",
                      "value": "qrvM3e4A"
                    }
                  }
                },
                {
                  "type": "Interface",
                  "value": {
                    "ifname": {
                      "type": "unicode",
                      "value": "if2"
                    },
                    "mac_address": {
                      "type": "MacAddress",
                      "value": "u8zd7v8A"
                    }
                  }
                }
              ],
              "knowledge_base": {
                "type": "KnowledgeBase",
                "value": {
                  "fqdn": {
                    "type": "unicode",
                    "value": "some-other-hostname.org"
                  },
                  "os": {
                    "type": "unicode",
                    "value": "Linux"
                  },
                  "users": [
                    {
                      "type": "User",
                      "value": {
                        "username": {
                          "type": "unicode",
                          "value": "user1"
                        }
                      }
                    },
                    {
                      "type": "User",
                      "value": {
                        "username": {
                          "type": "unicode",
                          "value": "user2"
                        }
                      }
                    }
                  ]
                }
              },
              "memory_size": {
                "type": "ByteSize",
                "value": 4294967296
              },
              "os_info": {
                "type": "Uname",
                "value": {
                  "fqdn": {
                    "type": "unicode",
                    "value": "some-other-hostname.org"
                  },
                  "kernel": {
                    "type": "unicode",
                    "value": "4.0.0"
                  },
                  "machine": {
                    "type": "unicode",
                    "value": "x86_64"
                  },
                  "system": {
                    "type": "unicode",
                    "value": "Linux"
                  },
                  "version": {
                    "type": "unicode",
                    "value": "buster/sid"
                  }
                }
              },
              "urn": {
                "type": "ClientURN",
                "value": "aff4:/C.1000000000000000"
              }
            }
          }
        ]
      },
      "test_class": "ApiGetClientVersionsRegressionTest_http_v1",
      "type_stripped_response": {
        "items": [
          {
            "age": 42000000,
            "agent_info": {
              "build_time": "1980-01-01T12:00:00.000000+00:00",
              "client_name": "GRR Monitor",
              "client_version": 1234,
              "labels": [
                "label1",
                "label2"
              ]
            },
            "client_id": "C.1000000000000000",
            "hardware_info": {
              "bios_version": "Bios-Version-0",
              "system_manufacturer": "System-Manufacturer-0"
            },
            "interfaces": [
              {
                "addresses": [
                  {
                    "address_type": "INET",
                    "packed_bytes": "wKgAAA=="
                  },
                  {
                    "address_type": "INET6",
                    "packed_bytes": "IAGrzQAAAAAAAAAAAAAAAA=="
                  }
                ],
                "ifname": "if0"
              },
              {
                "ifname": "if1",
                "mac_address": "qrvM3e4A"
              },
              {
                "ifname": "if2",
                "mac_address": "u8zd7v8A"
              }
            ],
            "knowledge_base": {
              "fqdn": "Host-0.example.com",
              "os": "Linux",
              "users": [
                {
                  "username": "user1"
                },
                {
                  "username": "user2"
                }
              ]
            },
            "memory_size": 4294967296,
            "os_info": {
              "fqdn": "Host-0.example.com",
              "kernel": "4.0.0",
              "machine": "x86_64",
              "system": "Linux",
              "version": "buster/sid"
            },
            "urn": "aff4:/C.1000000000000000"
          },
          {
            "age": 45000000,
            "agent_info": {
              "build_time": "1980-01-01T12:00:00.000000+00:00",
              "client_name": "GRR Monitor",
              "client_version": 1234,
              "labels": [
                "label1",
                "label2"
              ]
            },
            "client_id": "C.1000000000000000",
            "hardware_info": {
              "bios_version": "Bios-Version-0",
              "system_manufacturer": "System-Manufacturer-0"
            },
            "interfaces": [
              {
                "addresses": [
                  {
                    "address_type": "INET",
                    "packed_bytes": "wKgAAA=="
                  },
                  {
                    "address_type": "INET6",
                    "packed_bytes": "IAGrzQAAAAAAAAAAAAAAAA=="
                  }
                ],
                "ifname": "if0"
              },
              {
                "ifname": "if1",
                "mac_address": "qrvM3e4A"
              },
              {
                "ifname": "if2",
                "mac_address": "u8zd7v8A"
              }
            ],
            "knowledge_base": {
              "fqdn": "some-other-hostname.org",
              "os": "Linux",
              "users": [
                {
                  "username": "user1"
                },
                {
                  "username": "user2"
                }
              ]
            },
            "memory_size": 4294967296,
            "os_info": {
              "fqdn": "some-other-hostname.org",
              "kernel": "4.0.0",
              "machine": "x86_64",
              "system": "Linux",
              "version": "buster/sid"
            },
            "urn": "aff4:/C.1000000000000000"
          }
        ]
      },
      "url": "/api/clients/C.1000000000000000/versions?mode=full"
    },
    {
      "api_method": "GetClientVersions",
      "method": "GET",
      "response": {
        "items": [
          {
            "type": "ApiClient",
            "value": {
              "age": {
                "type": "RDFDatetime",
                "value": 42000000
              },
              "agent_info": {
                "type": "ClientInformation",
                "value": {
                  "build_time": {
                    "type": "unicode",
                    "value": "1980-01-01T12:00:00.000000+00:00"
                  },
                  "client_name": {
                    "type": "unicode",
                    "value": "GRR Monitor"
                  },
                  "client_version": {
                    "type": "long",
                    "value": 1234
                  },
                  "labels": [
                    {
                      "type": "unicode",
                      "value": "label1"
                    },
                    {
                      "type": "unicode",
                      "value": "label2"
                    }
                  ]
                }
              },
              "client_id": {
                "type": "ApiClientId",
                "value": "C.1000000000000000"
              },
              "hardware_info": {
                "type": "HardwareInfo",
                "value": {
                  "bios_version": {
                    "type": "unicode",
                    "value": "Bios-Version-0"
                  },
                  "system_manufacturer": {
                    "type": "unicode",
                    "value": "System-Manufacturer-0"
                  }
                }
              },
              "interfaces": [
                {
                  "type": "Interface",
                  "value": {
                    "addresses": [
                      {
                        "type": "NetworkAddress",
                        "value": {
                          "address_type": {
                            "type": "EnumNamedValue",
                            "value": "INET"
                          },
                          "packed_bytes": {
                            "type": "bytes",
                            "value": "wKgAAA=="
                          }
                        }
                      },
                      {
                        "type": "NetworkAddress",
                        "value": {
                          "address_type": {
                            "type": "EnumNamedValue",
                            "value": "INET6"
                          },
                          "packed_bytes": {
                            "type": "bytes",
                            "value": "IAGrzQAAAAAAAAAAAAAAAA=="
                          }
                        }
                      }
                    ],
                    "ifname": {
                      "type": "unicode",
                      "value": "if0"
                    }
                  }
                },
                {
                  "type": "Interface",
                  "value": {
                    "ifname": {
                      "type": "unicode",
                      "value": "if1"
                    },
                    "mac_address": {
                      "type": "MacAddress",
                      "value": "qrvM3e4A"
                    }
                  }
                },
                {
                  "type": "Interface",
                  "value": {
                    "ifname": {
                      "type": "unicode",
                      "value": "if2"
                    },
                    "mac_address": {
                      "type": "MacAddress",
                      "value": "u8zd7v8A"
                    }
                  }
                }
              ],
              "knowledge_base": {
                "type": "KnowledgeBase",
                "value": {
                  "fqdn": {
                    "type": "unicode",
                    "value": "Host-0.example.com"
                  },
                  "os": {
                    "type": "unicode",
                    "value": "Linux"
                  },
                  "users": [
                    {
                      "type": "User",
                      "value": {
                        "username": {
                          "type": "unicode",
                          "value": "user1"
                        }
                      }
                    },
                    {
                      "type": "User",
                      "value": {
                        "username": {
                          "type": "unicode",
                          "value": "user2"
                        }
                      }
                    }
                  ]
                }
              },
              "memory_size": {
                "type": "ByteSize",
                "value": 4294967296
              },
              "os_info": {
                "type": "Uname",
                "value": {
                  "fqdn": {
                    "type": "unicode",
                    "value": "Host-0.example.com"
                  },
                  "kernel": {
                    "type": "unicode",
                    "value": "4.0.0"
                  },
                  "machine": {
                    "type": "unicode",
                    "value": "x86_64"
                  },
                  "system": {
                    "type": "unicode",
                    "value": "Linux"
                  },
                  "version": {
                    "type": "unicode",
                    "value": "buster/sid"
                  }
                }
              },
              "urn": {
                "type": "ClientURN",
                "value": "aff4:/C.1000000000000000"
              }
            }
          }
        ]
      },
      "test_class": "ApiGetClientVersionsRegressionTest_http_v1",
      "type_stripped_response": {
        "items": [
          {
            "age": 42000000,
            "agent_info": {
              "build_time": "1980-01-01T12:00:00.000000+00:00",
              "client_name": "GRR Monitor",
              "client_version": 1234,
              "labels": [
                "label1",
                "label2"
              ]
            },
            "client_id": "C.1000000000000000",
            "hardware_info": {
              "bios_version": "Bios-Version-0",
              "system_manufacturer": "System-Manufacturer-0"
            },
            "interfaces": [
              {
                "addresses": [
                  {
                    "address_type": "INET",
                    "packed_bytes": "wKgAAA=="
                  },
                  {
                    "address_type": "INET6",
                    "packed_bytes": "IAGrzQAAAAAAAAAAAAAAAA=="
                  }
                ],
                "ifname": "if0"
              },
              {
                "ifname": "if1",
                "mac_address": "qrvM3e4A"
              },
              {
                "ifname": "if2",
                "mac_address": "u8zd7v8A"
              }
            ],
            "knowledge_base": {
              "fqdn": "Host-0.example.com",
              "os": "Linux",
              "users": [
                {
                  "username": "user1"
                },
                {
                  "username": "user2"
                }
              ]
            },
            "memory_size": 4294967296,
            "os_info": {
              "fqdn": "Host-0.example.com",
              "kernel": "4.0.0",
              "machine": "x86_64",
              "system": "Linux",
              "version": "buster/sid"
            },
            "urn": "aff4:/C.1000000000000000"
          }
        ]
      },
      "url": "/api/clients/C.1000000000000000/versions?end=44000000&mode=full"
    },
    {
      "api_method": "GetClientVersions",
      "method": "GET",
      "response": {
        "items": [
          {
            "type": "ApiClient",
            "value": {
              "age": {
                "type": "RDFDatetime",
                "value": 45000000
              },
              "agent_info": {
                "type": "ClientInformation",
                "value": {
                  "build_time": {
                    "type": "unicode",
                    "value": "1980-01-01T12:00:00.000000+00:00"
                  },
                  "client_name": {
                    "type": "unicode",
                    "value": "GRR Monitor"
                  },
                  "client_version": {
                    "type": "long",
                    "value": 1234
                  },
                  "labels": [
                    {
                      "type": "unicode",
                      "value": "label1"
                    },
                    {
                      "type": "unicode",
                      "value": "label2"
                    }
                  ]
                }
              },
              "client_id": {
                "type": "ApiClientId",
                "value": "C.1000000000000000"
              },
              "hardware_info": {
                "type": "HardwareInfo",
                "value": {
                  "bios_version": {
                    "type": "unicode",
                    "value": "Bios-Version-0"
                  },
                  "system_manufacturer": {
                    "type": "unicode",
                    "value": "System-Manufacturer-0"
                  }
                }
              },
              "interfaces": [
                {
                  "type": "Interface",
                  "value": {
                    "addresses": [
                      {
                        "type": "NetworkAddress",
                        "value": {
                          "address_type": {
                            "type": "EnumNamedValue",
                            "value": "INET"
                          },
                          "packed_bytes": {
                            "type": "bytes",
                            "value": "wKgAAA=="
                          }
                        }
                      },
                      {
                        "type": "NetworkAddress",
                        "value": {
                          "address_type": {
                            "type": "EnumNamedValue",
                            "value": "INET6"
                          },
                          "packed_bytes": {
                            "type": "bytes",
                            "value": "IAGrzQAAAAAAAAAAAAAAAA=="
                          }
                        }
                      }
                    ],
                    "ifname": {
                      "type": "unicode",
                      "value": "if0"
                    }
                  }
                },
                {
                  "type": "Interface",
                  "value": {
                    "ifname": {
                      "type": "unicode",
                      "value": "if1"
                    },
                    "mac_address": {
                      "type": "MacAddress",
                      "value": "qrvM3e4A"
                    }
                  }
                },
                {
                  "type": "Interface",
                  "value": {
                    "ifname": {
                      "type": "unicode",
                      "value": "if2"
                    },
                    "mac_address": {
                      "type": "MacAddress",
                      "value": "u8zd7v8A"
                    }
                  }
                }
              ],
              "knowledge_base": {
                "type": "KnowledgeBase",
                "value": {
                  "fqdn": {
                    "type": "unicode",
                    "value": "some-other-hostname.org"
                  },
                  "os": {
                    "type": "unicode",
                    "value": "Linux"
                  },
                  "users": [
                    {
                      "type": "User",
                      "value": {
                        "username": {
                          "type": "unicode",
                          "value": "user1"
                        }
                      }
                    },
                    {
                      "type": "User",
                      "value": {
                        "username": {
                          "type": "unicode",
                          "value": "user2"
                        }
                      }
                    }
                  ]
                }
              },
              "memory_size": {
                "type": "ByteSize",
                "value": 4294967296
              },
              "os_info": {
                "type": "Uname",
                "value": {
                  "fqdn": {
                    "type": "unicode",
                    "value": "some-other-hostname.org"
                  },
                  "kernel": {
                    "type": "unicode",
                    "value": "4.0.0"
                  },
                  "machine": {
                    "type": "unicode",
                    "value": "x86_64"
                  },
                  "system": {
                    "type": "unicode",
                    "value": "Linux"
                  },
                  "version": {
                    "type": "unicode",
                    "value": "buster/sid"
                  }
                }
              },
              "urn": {
                "type": "ClientURN",
                "value": "aff4:/C.1000000000000000"
              }
            }
          }
        ]
      },
      "test_class": "ApiGetClientVersionsRegressionTest_http_v1",
      "type_stripped_response": {
        "items": [
          {
            "age": 45000000,
            "agent_info": {
              "build_time": "1980-01-01T12:00:00.000000+00:00",
              "client_name": "GRR Monitor",
              "client_version": 1234,
              "labels": [
                "label1",
                "label2"
              ]
            },
            "client_id": "C.1000000000000000",
            "hardware_info": {
              "bios_version": "Bios-Version-0",
              "system_manufacturer": "System-Manufacturer-0"
            },
            "interfaces": [
              {
                "addresses": [
                  {
                    "address_type": "INET",
                    "packed_bytes": "wKgAAA=="
                  },
                  {
                    "address_type": "INET6",
                    "packed_bytes": "IAGrzQAAAAAAAAAAAAAAAA=="
                  }
                ],
                "ifname": "if0"
              },
              {
                "ifname": "if1",
                "mac_address": "qrvM3e4A"
              },
              {
                "ifname": "if2",
                "mac_address": "u8zd7v8A"
              }
            ],
            "knowledge_base": {
              "fqdn": "some-other-hostname.org",
              "os": "Linux",
              "users": [
                {
                  "username": "user1"
                },
                {
                  "username": "user2"
                }
              ]
            },
            "memory_size": 4294967296,
            "os_info": {
              "fqdn": "some-other-hostname.org",
              "kernel": "4.0.0",
              "machine": "x86_64",
              "system": "Linux",
              "version": "buster/sid"
            },
            "urn": "aff4:/C.1000000000000000"
          }
        ]
      },
      "url": "/api/clients/C.1000000000000000/versions?end=46000000&mode=full&start=44000000"
    }
  ],
  "ApiGetConfigOptionHandler": [
    {
      "api_method": "GetConfigOption",
      "method": "GET",
      "response": {
        "is_invalid": false,
        "name": "Client.company_name",
        "type": "StringValue",
        "value": {
          "type": "StringValue",
          "value": {
            "value": {
              "type": "unicode",
              "value": "Monstros S.A."
            }
          }
        }
      },
      "test_class": "ApiGetConfigOptionHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "value": "Monstros S.A."
      },
      "url": "/api/config/Client.company_name"
    },
    {
      "api_method": "GetConfigOption",
      "method": "GET",
      "response": {
        "is_invalid": false,
        "name": "AdminUI.hunt_config",
        "type": "AdminUIHuntConfig",
        "value": {
          "type": "AdminUIHuntConfig",
          "value": {
            "default_exclude_labels": [
              {
                "type": "unicode",
                "value": "oh-oh"
              }
            ]
          }
        }
      },
      "test_class": "ApiGetConfigOptionHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "default_exclude_labels": [
          "oh-oh"
        ]
      },
      "url": "/api/config/AdminUI.hunt_config"
    },
    {
      "api_method": "GetConfigOption",
      "method": "GET",
      "response": {
        "is_invalid": false,
        "name": "Source.version_major",
        "type": "Int64Value",
        "value": {
          "type": "Int64Value",
          "value": {
            "value": {
              "type": "long",
              "value": 42
            }
          }
        }
      },
      "test_class": "ApiGetConfigOptionHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "value": 42
      },
      "url": "/api/config/Source.version_major"
    },
    {
      "api_method": "GetConfigOption",
      "method": "GET",
      "response": {
        "is_invalid": false,
        "name": "Source.version_major",
        "type": "Int64Value",
        "value": {
          "type": "Int64Value",
          "value": {
            "value": {
              "type": "long",
              "value": 42
            }
          }
        }
      },
      "test_class": "ApiGetConfigOptionHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "value": 42
      },
      "url": "/api/config/Source.version_major"
    },
    {
      "api_method": "GetConfigOption",
      "method": "GET",
      "response": {
        "is_invalid": false,
        "name": "Source.version_major",
        "type": "Int64Value",
        "value": {
          "type": "Int64Value",
          "value": {
            "value": {
              "type": "long",
              "value": 42
            }
          }
        }
      },
      "test_class": "ApiGetConfigOptionHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "value": 42
      },
      "url": "/api/config/Source.version_major"
    },
    {
      "api_method": "GetConfigOption",
      "method": "GET",
      "response": {
        "is_invalid": false,
        "name": "Source.version_major",
        "type": "Int64Value",
        "value": {
          "type": "Int64Value",
          "value": {
            "value": {
              "type": "long",
              "value": 42
            }
          }
        }
      },
      "test_class": "ApiGetConfigOptionHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "value": 42
      },
      "url": "/api/config/Source.version_major"
    },
    {
      "api_method": "GetConfigOption",
      "method": "GET",
      "response": {
        "is_invalid": false,
        "name": "Hunt.default_client_rate",
        "type": "Int64Value",
        "value": {
          "type": "Int64Value",
          "value": {
            "value": {
              "type": "long",
              "value": 42
            }
          }
        }
      },
      "test_class": "ApiGetConfigOptionHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "value": 42
      },
      "url": "/api/config/Hunt.default_client_rate"
    },
    {
      "api_method": "GetConfigOption",
      "method": "GET",
      "response": {
        "is_invalid": false,
        "name": "Email.enable_custom_email_address",
        "type": "BoolValue",
        "value": {
          "type": "BoolValue",
          "value": {
            "value": {
              "type": "bool",
              "value": true
            }
          }
        }
      },
      "test_class": "ApiGetConfigOptionHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "value": true
      },
      "url": "/api/config/Email.enable_custom_email_address"
    },
    {
      "api_method": "GetConfigOption",
      "method": "GET",
      "response": {
        "is_invalid": true,
        "name": "Cron.disabled_cron_jobs"
      },
      "test_class": "ApiGetConfigOptionHandlerRegressionTest_http_v1",
      "url": "/api/config/Cron.disabled_cron_jobs"
    },
    {
      "api_method": "GetConfigOption",
      "method": "GET",
      "response": {
        "is_invalid": false,
        "name": "Server.fleetspeak_last_ping_threshold",
        "type": "Int64Value",
        "value": {
          "type": "Int64Value",
          "value": {
            "value": {
              "type": "long",
              "value": 3600000000
            }
          }
        }
      },
      "test_class": "ApiGetConfigOptionHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "value": 3600000000
      },
      "url": "/api/config/Server.fleetspeak_last_ping_threshold"
    },
    {
      "api_method": "GetConfigOption",
      "method": "GET",
      "response": {
        "is_invalid": false,
        "name": "Server.raw_filesystem_access_pathtype",
        "type": "StringValue",
        "value": {
          "type": "StringValue",
          "value": {
            "value": {
              "type": "unicode",
              "value": "TSK"
            }
          }
        }
      },
      "test_class": "ApiGetConfigOptionHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "value": "TSK"
      },
      "url": "/api/config/Server.raw_filesystem_access_pathtype"
    },
    {
      "api_method": "GetConfigOption",
      "method": "GET",
      "response": {
        "is_invalid": false,
        "name": "ClientBuilder.build_type",
        "type": "StringValue",
        "value": {
          "type": "StringValue",
          "value": {
            "value": {
              "type": "unicode",
              "value": "Debug"
            }
          }
        }
      },
      "test_class": "ApiGetConfigOptionHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "value": "Debug"
      },
      "url": "/api/config/ClientBuilder.build_type"
    },
    {
      "api_method": "GetConfigOption",
      "method": "GET",
      "response": {
        "is_invalid": true,
        "name": "ClientBuilder.target_platforms"
      },
      "test_class": "ApiGetConfigOptionHandlerRegressionTest_http_v1",
      "url": "/api/config/ClientBuilder.target_platforms"
    },
    {
      "api_method": "GetConfigOption",
      "method": "GET",
      "response": {
        "is_invalid": false,
        "name": "ClientRepacker.output_filename",
        "type": "StringValue",
        "value": {
          "type": "StringValue",
          "value": {
            "value": {
              "type": "unicode",
              "value": "GRR_0.0.0.0_"
            }
          }
        }
      },
      "test_class": "ApiGetConfigOptionHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "value": "GRR_0.0.0.0_"
      },
      "url": "/api/config/ClientRepacker.output_filename"
    },
    {
      "api_method": "GetConfigOption",
      "method": "GET",
      "response": {
        "is_redacted": true,
        "name": "Mysql.password"
      },
      "test_class": "ApiGetConfigOptionHandlerRegressionTest_http_v1",
      "url": "/api/config/Mysql.password"
    }
  ],
  "ApiGetCronJobApprovalHandler": [
    {
      "api_method": "GetCronJobApproval",
      "method": "GET",
      "response": {
        "type": "ApiCronJobApproval",
        "value": {
          "approvers": [
            {
              "type": "unicode",
              "value": "api_test_user"
            }
          ],
          "email_message_id": {
            "type": "unicode",
            "value": "<message id stub>"
          },
          "id": {
            "type": "unicode",
            "value": "approval:111111"
          },
          "is_valid": {
            "type": "bool",
            "value": false
          },
          "is_valid_message": {
            "type": "unicode",
            "value": "Need at least 1 additional approver for access."
          },
          "notified_users": [
            {
              "type": "unicode",
              "value": "approver"
            }
          ],
          "reason": {
            "type": "unicode",
            "value": "foo"
          },
          "requestor": {
            "type": "unicode",
            "value": "api_test_user"
          },
          "subject": {
            "type": "ApiCronJob",
            "value": {
              "allow_overruns": {
                "type": "bool",
                "value": false
              },
              "args": {
                "type": "CronJobAction",
                "value": {
                  "action_type": {
                    "type": "EnumNamedValue",
                    "value": "HUNT_CRON_ACTION"
                  },
                  "hunt_cron_action": {
                    "type": "HuntCronAction",
                    "value": {
                      "flow_args": {
                        "type": "InterrogateArgs",
                        "value": {}
                      },
                      "flow_name": {
                        "type": "unicode",
                        "value": "Interrogate"
                      },
                      "hunt_runner_args": {
                        "type": "HuntRunnerArgs",
                        "value": {
                          "avg_cpu_seconds_per_client_limit": {
                            "type": "long",
                            "value": 60
                          },
                          "avg_network_bytes_per_client_limit": {
                            "type": "long",
                            "value": 10485760
                          },
                          "avg_results_per_client_limit": {
                            "type": "long",
                            "value": 1000
                          },
                          "client_rate": {
                            "type": "float",
                            "value": 20.0
                          },
                          "crash_limit": {
                            "type": "long",
                            "value": 100
                          }
                        }
                      }
                    }
                  }
                }
              },
              "cron_job_id": {
                "type": "ApiCronJobId",
                "value": "CronJob_123456"
              },
              "description": {
                "type": "unicode",
                "value": ""
              },
              "enabled": {
                "type": "bool",
                "value": true
              },
              "frequency": {
                "type": "DurationSeconds",
                "value": 86400
              },
              "is_failing": {
                "type": "bool",
                "value": false
              }
            }
          }
        }
      },
      "test_class": "ApiGetCronJobApprovalHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "approvers": [
          "api_test_user"
        ],
        "email_message_id": "<message id stub>",
        "id": "approval:111111",
        "is_valid": false,
        "is_valid_message": "Need at least 1 additional approver for access.",
        "notified_users": [
          "approver"
        ],
        "reason": "foo",
        "requestor": "api_test_user",
        "subject": {
          "allow_overruns": false,
          "args": {
            "action_type": "HUNT_CRON_ACTION",
            "hunt_cron_action": {
              "flow_args": {},
              "flow_name": "Interrogate",
              "hunt_runner_args": {
                "avg_cpu_seconds_per_client_limit": 60,
                "avg_network_bytes_per_client_limit": 10485760,
                "avg_results_per_client_limit": 1000,
                "client_rate": 20.0,
                "crash_limit": 100
              }
            }
          },
          "cron_job_id": "CronJob_123456",
          "description": "",
          "enabled": true,
          "frequency": 86400,
          "is_failing": false
        }
      },
      "url": "/api/users/api_test_user/approvals/cron-job/CronJob_123456/approval:111111"
    },
    {
      "api_method": "GetCronJobApproval",
      "method": "GET",
      "response": {
        "type": "ApiCronJobApproval",
        "value": {
          "approvers": [
            {
              "type": "unicode",
              "value": "api_test_user"
            },
            {
              "type": "unicode",
              "value": "approver"
            }
          ],
          "email_message_id": {
            "type": "unicode",
            "value": "<message id stub>"
          },
          "id": {
            "type": "unicode",
            "value": "approval:222222"
          },
          "is_valid": {
            "type": "bool",
            "value": true
          },
          "notified_users": [
            {
              "type": "unicode",
              "value": "approver"
            }
          ],
          "reason": {
            "type": "unicode",
            "value": "bar"
          },
          "requestor": {
            "type": "unicode",
            "value": "api_test_user"
          },
          "subject": {
            "type": "ApiCronJob",
            "value": {
              "allow_overruns": {
                "type": "bool",
                "value": false
              },
              "args": {
                "type": "CronJobAction",
                "value": {
                  "action_type": {
                    "type": "EnumNamedValue",
                    "value": "HUNT_CRON_ACTION"
                  },
                  "hunt_cron_action": {
                    "type": "HuntCronAction",
                    "value": {
                      "flow_args": {
                        "type": "InterrogateArgs",
                        "value": {}
                      },
                      "flow_name": {
                        "type": "unicode",
                        "value": "Interrogate"
                      },
                      "hunt_runner_args": {
                        "type": "HuntRunnerArgs",
                        "value": {
                          "avg_cpu_seconds_per_client_limit": {
                            "type": "long",
                            "value": 60
                          },
                          "avg_network_bytes_per_client_limit": {
                            "type": "long",
                            "value": 10485760
                          },
                          "avg_results_per_client_limit": {
                            "type": "long",
                            "value": 1000
                          },
                          "client_rate": {
                            "type": "float",
                            "value": 20.0
                          },
                          "crash_limit": {
                            "type": "long",
                            "value": 100
                          }
                        }
                      }
                    }
                  }
                }
              },
              "cron_job_id": {
                "type": "ApiCronJobId",
                "value": "CronJob_567890"
              },
              "description": {
                "type": "unicode",
                "value": ""
              },
              "enabled": {
                "type": "bool",
                "value": true
              },
              "frequency": {
                "type": "DurationSeconds",
                "value": 86400
              },
              "is_failing": {
                "type": "bool",
                "value": false
              }
            }
          }
        }
      },
      "test_class": "ApiGetCronJobApprovalHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "approvers": [
          "api_test_user",
          "approver"
        ],
        "email_message_id": "<message id stub>",
        "id": "approval:222222",
        "is_valid": true,
        "notified_users": [
          "approver"
        ],
        "reason": "bar",
        "requestor": "api_test_user",
        "subject": {
          "allow_overruns": false,
          "args": {
            "action_type": "HUNT_CRON_ACTION",
            "hunt_cron_action": {
              "flow_args": {},
              "flow_name": "Interrogate",
              "hunt_runner_args": {
                "avg_cpu_seconds_per_client_limit": 60,
                "avg_network_bytes_per_client_limit": 10485760,
                "avg_results_per_client_limit": 1000,
                "client_rate": 20.0,
                "crash_limit": 100
              }
            }
          },
          "cron_job_id": "CronJob_567890",
          "description": "",
          "enabled": true,
          "frequency": 86400,
          "is_failing": false
        }
      },
      "url": "/api/users/api_test_user/approvals/cron-job/CronJob_567890/approval:222222"
    }
  ],
  "ApiGetCronJobRunHandler": [
    {
      "api_method": "GetCronJobRun",
      "method": "GET",
      "response": {
        "type": "ApiCronJobRun",
        "value": {
          "cron_job_id": {
            "type": "ApiCronJobId",
            "value": "InterrogateClientsCronJob"
          },
          "finished_at": {
            "type": "RDFDatetime",
            "value": 44000000
          },
          "log_message": {
            "type": "unicode",
            "value": "Started hunt ABCDEFGH12."
          },
          "run_id": {
            "type": "ApiCronJobRunId",
            "value": "F:ABCDEF11"
          },
          "started_at": {
            "type": "RDFDatetime",
            "value": 44000000
          },
          "status": {
            "type": "EnumNamedValue",
            "value": "FINISHED"
          }
        }
      },
      "test_class": "ApiGetCronJobRunHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "cron_job_id": "InterrogateClientsCronJob",
        "finished_at": 44000000,
        "log_message": "Started hunt ABCDEFGH12.",
        "run_id": "F:ABCDEF11",
        "started_at": 44000000,
        "status": "FINISHED"
      },
      "url": "/api/cron-jobs/InterrogateClientsCronJob/runs/F:ABCDEF11"
    }
  ],
  "ApiGetFileDownloadCommandHandler": [
    {
      "api_method": "GetFileDownloadCommand",
      "method": "GET",
      "response": {
        "command": "/usr/bin/grr_api_shell 'http://localhost:8000/' --exec_code 'grrapi.Client(\"C.1000000000000000\").File(r\"\"\"fs/os/etc\"\"\").GetBlob().WriteToFile(\"./etc\")'"
      },
      "test_class": "ApiGetFileDownloadCommandHandlerRegressionTest_http_v1",
      "url": "/api/clients/C.1000000000000000/vfs-download-command/fs/os/etc"
    }
  ],
  "ApiGetFileTextHandler": [
    {
      "api_method": "GetFileText",
      "method": "GET",
      "response": {
        "content": "Goodbye World",
        "total_size": 13
      },
      "test_class": "ApiGetFileTextHandlerRegressionTest_http_v1",
      "url": "/api/clients/C.1000000000000000/vfs-text/fs/os/c/Downloads/a.txt"
    },
    {
      "api_method": "GetFileText",
      "method": "GET",
      "response": {
        "content": "dby",
        "total_size": 13
      },
      "test_class": "ApiGetFileTextHandlerRegressionTest_http_v1",
      "url": "/api/clients/C.1000000000000000/vfs-text/fs/os/c/Downloads/a.txt?length=3&offset=3"
    },
    {
      "api_method": "GetFileText",
      "method": "GET",
      "response": {
        "content": "Hello World",
        "total_size": 11
      },
      "test_class": "ApiGetFileTextHandlerRegressionTest_http_v1",
      "url": "/api/clients/C.1000000000000000/vfs-text/fs/os/c/Downloads/a.txt?timestamp=86400000042"
    }
  ],
  "ApiGetFileVersionTimesHandler": [
    {
      "api_method": "GetFileVersionTimes",
      "method": "GET",
      "response": {
        "times": [
          {
            "type": "RDFDatetime",
            "value": 172800000042
          },
          {
            "type": "RDFDatetime",
            "value": 86400000042
          }
        ]
      },
      "test_class": "ApiGetFileVersionTimesHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "times": [
          172800000042,
          86400000042
        ]
      },
      "url": "/api/clients/C.1000000000000000/vfs-version-times/fs/os/c/Downloads/a.txt"
    }
  ],
  "ApiGetFlowHandler": [
    {
      "api_method": "GetFlow",
      "method": "GET",
      "response": {
        "type": "ApiFlow",
        "value": {
          "args": {
            "type": "InterrogateArgs",
            "value": {}
          },
          "client_id": {
            "type": "ApiClientId",
            "value": "C.1000000000000000"
          },
          "context": {
            "type": "FlowContext",
            "value": {
              "client_resources": {
                "type": "ClientResources",
                "value": {
                  "cpu_usage": {
                    "type": "CpuSeconds",
                    "value": {
                      "system_cpu_time": {
                        "type": "float",
                        "value": 0.0
                      },
                      "user_cpu_time": {
                        "type": "float",
                        "value": 0.0
                      }
                    }
                  }
                }
              },
              "create_time": {
                "type": "RDFDatetime",
                "value": 42000000
              },
              "creator": {
                "type": "unicode",
                "value": "api_test_user"
              },
              "current_state": {
                "type": "unicode",
                "value": "Start"
              },
              "next_outbound_id": {
                "type": "long",
                "value": 9
              },
              "outstanding_requests": {
                "type": "long",
                "value": 8
              },
              "session_id": {
                "type": "SessionID",
                "value": "aff4:/C.1000000000000000/flows/F:ABCDEF12"
              },
              "state": {
                "type": "EnumNamedValue",
                "value": "RUNNING"
              }
            }
          },
          "creator": {
            "type": "unicode",
            "value": "api_test_user"
          },
          "flow_id": {
            "type": "ApiFlowId",
            "value": "F:ABCDEF12"
          },
          "is_robot": {
            "type": "bool",
            "value": false
          },
          "last_active_at": {
            "type": "RDFDatetime",
            "value": 42000000
          },
          "name": {
            "type": "unicode",
            "value": "Interrogate"
          },
          "progress": {
            "type": "DefaultFlowProgress",
            "value": {}
          },
          "result_metadata": {
            "type": "FlowResultMetadata",
            "value": {
              "is_metadata_set": {
                "type": "bool",
                "value": true
              }
            }
          },
          "runner_args": {
            "type": "FlowRunnerArgs",
            "value": {
              "client_id": {
                "type": "ClientURN",
                "value": "aff4:/C.1000000000000000"
              },
              "cpu_limit": {
                "type": "long",
                "value": 60
              },
              "flow_name": {
                "type": "unicode",
                "value": "Interrogate"
              },
              "network_bytes_limit": {
                "type": "long",
                "value": 8192
              }
            }
          },
          "started_at": {
            "type": "RDFDatetime",
            "value": 42000000
          },
          "state": {
            "type": "EnumNamedValue",
            "value": "RUNNING"
          },
          "state_data": {
            "type": "ApiDataObject",
            "value": {}
          },
          "store": {
            "type": "AnyValue",
            "value": {
              "type_url": {
                "type": "unicode",
                "value": "type.googleapis.com/grr.InterrogateStore"
              }
            }
          },
          "urn": {
            "type": "SessionID",
            "value": "aff4:/C.1000000000000000/flows/F:ABCDEF12"
          }
        }
      },
      "test_class": "ApiGetFlowHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "args": {},
        "client_id": "C.1000000000000000",
        "context": {
          "client_resources": {
            "cpu_usage": {
              "system_cpu_time": 0.0,
              "user_cpu_time": 0.0
            }
          },
          "create_time": 42000000,
          "creator": "api_test_user",
          "current_state": "Start",
          "next_outbound_id": 9,
          "outstanding_requests": 8,
          "session_id": "aff4:/C.1000000000000000/flows/F:ABCDEF12",
          "state": "RUNNING"
        },
        "creator": "api_test_user",
        "flow_id": "F:ABCDEF12",
        "is_robot": false,
        "last_active_at": 42000000,
        "name": "Interrogate",
        "progress": {},
        "result_metadata": {
          "is_metadata_set": true
        },
        "runner_args": {
          "client_id": "aff4:/C.1000000000000000",
          "cpu_limit": 60,
          "flow_name": "Interrogate",
          "network_bytes_limit": 8192
        },
        "started_at": 42000000,
        "state": "RUNNING",
        "state_data": {},
        "store": {
          "type_url": "type.googleapis.com/grr.InterrogateStore"
        },
        "urn": "aff4:/C.1000000000000000/flows/F:ABCDEF12"
      },
      "url": "/api/clients/C.1000000000000000/flows/F:ABCDEF12"
    },
    {
      "api_method": "GetFlow",
      "method": "GET",
      "response": {
        "type": "ApiFlow",
        "value": {
          "args": {
            "type": "InterrogateArgs",
            "value": {}
          },
          "client_id": {
            "type": "ApiClientId",
            "value": "C.1000000000000000"
          },
          "context": {
            "type": "FlowContext",
            "value": {
              "client_resources": {
                "type": "ClientResources",
                "value": {
                  "cpu_usage": {
                    "type": "CpuSeconds",
                    "value": {
                      "system_cpu_time": {
                        "type": "float",
                        "value": 0.0
                      },
                      "user_cpu_time": {
                        "type": "float",
                        "value": 0.0
                      }
                    }
                  }
                }
              },
              "create_time": {
                "type": "RDFDatetime",
                "value": 42000000
              },
              "creator": {
                "type": "unicode",
                "value": "api_test_user"
              },
              "current_state": {
                "type": "unicode",
                "value": "Start"
              },
              "next_outbound_id": {
                "type": "long",
                "value": 9
              },
              "outstanding_requests": {
                "type": "long",
                "value": 8
              },
              "session_id": {
                "type": "SessionID",
                "value": "aff4:/C.1000000000000000/flows/F:ABCDEF13"
              },
              "state": {
                "type": "EnumNamedValue",
                "value": "ERROR"
              },
              "status": {
                "type": "unicode",
                "value": "Pending termination: Some reason"
              }
            }
          },
          "creator": {
            "type": "unicode",
            "value": "api_test_user"
          },
          "error_description": {
            "type": "unicode",
            "value": "Pending termination: Some reason"
          },
          "flow_id": {
            "type": "ApiFlowId",
            "value": "F:ABCDEF13"
          },
          "is_robot": {
            "type": "bool",
            "value": false
          },
          "last_active_at": {
            "type": "RDFDatetime",
            "value": 42000000
          },
          "name": {
            "type": "unicode",
            "value": "Interrogate"
          },
          "progress": {
            "type": "DefaultFlowProgress",
            "value": {}
          },
          "result_metadata": {
            "type": "FlowResultMetadata",
            "value": {
              "is_metadata_set": {
                "type": "bool",
                "value": true
              }
            }
          },
          "runner_args": {
            "type": "FlowRunnerArgs",
            "value": {
              "client_id": {
                "type": "ClientURN",
                "value": "aff4:/C.1000000000000000"
              },
              "cpu_limit": {
                "type": "long",
                "value": 60
              },
              "flow_name": {
                "type": "unicode",
                "value": "Interrogate"
              },
              "network_bytes_limit": {
                "type": "long",
                "value": 8192
              }
            }
          },
          "started_at": {
            "type": "RDFDatetime",
            "value": 42000000
          },
          "state": {
            "type": "EnumNamedValue",
            "value": "ERROR"
          },
          "state_data": {
            "type": "ApiDataObject",
            "value": {}
          },
          "store": {
            "type": "AnyValue",
            "value": {
              "type_url": {
                "type": "unicode",
                "value": "type.googleapis.com/grr.InterrogateStore"
              }
            }
          },
          "urn": {
            "type": "SessionID",
            "value": "aff4:/C.1000000000000000/flows/F:ABCDEF13"
          }
        }
      },
      "test_class": "ApiGetFlowHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "args": {},
        "client_id": "C.1000000000000000",
        "context": {
          "client_resources": {
            "cpu_usage": {
              "system_cpu_time": 0.0,
              "user_cpu_time": 0.0
            }
          },
          "create_time": 42000000,
          "creator": "api_test_user",
          "current_state": "Start",
          "next_outbound_id": 9,
          "outstanding_requests": 8,
          "session_id": "aff4:/C.1000000000000000/flows/F:ABCDEF13",
          "state": "ERROR",
          "status": "Pending termination: Some reason"
        },
        "creator": "api_test_user",
        "error_description": "Pending termination: Some reason",
        "flow_id": "F:ABCDEF13",
        "is_robot": false,
        "last_active_at": 42000000,
        "name": "Interrogate",
        "progress": {},
        "result_metadata": {
          "is_metadata_set": true
        },
        "runner_args": {
          "client_id": "aff4:/C.1000000000000000",
          "cpu_limit": 60,
          "flow_name": "Interrogate",
          "network_bytes_limit": 8192
        },
        "started_at": 42000000,
        "state": "ERROR",
        "state_data": {},
        "store": {
          "type_url": "type.googleapis.com/grr.InterrogateStore"
        },
        "urn": "aff4:/C.1000000000000000/flows/F:ABCDEF13"
      },
      "url": "/api/clients/C.1000000000000000/flows/F:ABCDEF13"
    }
  ],
  "ApiGetFlowResultsExportCommandHandler": [
    {
      "api_method": "GetFlowResultsExportCommand",
      "method": "GET",
      "response": {
        "command": "/usr/bin/grr_api_shell 'http://localhost:8000/' --exec_code 'grrapi.Client(\"C.1000000000000000\").Flow(\"F:ABCDEF\").GetFilesArchive().WriteToFile(\"./flow_results_C_1000000000000000_F_ABCDEF.zip\")'"
      },
      "test_class": "ApiGetFlowResultsExportCommandHandlerRegressionTest_http_v1",
      "url": "/api/clients/C.1000000000000000/flows/F:ABCDEF/results/export-command"
    }
  ],
  "ApiGetGrrBinaryBlobHandler": [
    {
      "api_method": "GetGrrBinaryBlob",
      "method": "GET",
      "response": "I'm a python hack",
      "test_class": "ApiGetGrrBinaryBlobHandlerRegressionTest_http_v1",
      "url": "/api/config/binaries-blobs/python_hack/test"
    },
    {
      "api_method": "GetGrrBinaryBlob",
      "method": "GET",
      "response": "I am a binary file",
      "test_class": "ApiGetGrrBinaryBlobHandlerRegressionTest_http_v1",
      "url": "/api/config/binaries-blobs/executable/windows/test.exe"
    }
  ],
  "ApiGetGrrBinaryHandler": [
    {
      "api_method": "GetGrrBinary",
      "method": "GET",
      "response": {
        "has_valid_signature": true,
        "path": "test",
        "size": 17,
        "timestamp": 43000000,
        "type": "PYTHON_HACK"
      },
      "test_class": "ApiGetGrrBinaryHandlerRegressionTest_http_v1",
      "url": "/api/config/binaries/python_hack/test"
    },
    {
      "api_method": "GetGrrBinary",
      "method": "GET",
      "response": {
        "has_valid_signature": true,
        "path": "windows/test.exe",
        "size": 18,
        "timestamp": 42000000,
        "type": "EXECUTABLE"
      },
      "test_class": "ApiGetGrrBinaryHandlerRegressionTest_http_v1",
      "url": "/api/config/binaries/executable/windows/test.exe"
    }
  ],
  "ApiGetHuntApprovalHandler": [
    {
      "api_method": "GetHuntApproval",
      "method": "GET",
      "response": {
        "type": "ApiHuntApproval",
        "value": {
          "approvers": [
            {
              "type": "unicode",
              "value": "api_test_user"
            }
          ],
          "email_message_id": {
            "type": "unicode",
            "value": "<message id stub>"
          },
          "expiration_time_us": {
            "type": "RDFDatetime",
            "value": 2419244000000
          },
          "id": {
            "type": "unicode",
            "value": "approval:111111"
          },
          "is_valid": {
            "type": "bool",
            "value": false
          },
          "is_valid_message": {
            "type": "unicode",
            "value": "Need at least 1 additional approver for access."
          },
          "notified_users": [
            {
              "type": "unicode",
              "value": "approver"
            }
          ],
          "reason": {
            "type": "unicode",
            "value": "foo"
          },
          "requestor": {
            "type": "unicode",
            "value": "api_test_user"
          },
          "subject": {
            "type": "ApiHunt",
            "value": {
              "all_clients_count": {
                "type": "long",
                "value": 0
              },
              "client_limit": {
                "type": "long",
                "value": 100
              },
              "client_rate": {
                "type": "float",
                "value": 0.0
              },
              "client_rule_set": {
                "type": "ForemanClientRuleSet",
                "value": {
                  "rules": [
                    {
                      "type": "ForemanClientRule",
                      "value": {
                        "regex": {
                          "type": "ForemanRegexClientRule",
                          "value": {
                            "attribute_regex": {
                              "type": "RegularExpression",
                              "value": "GRR"
                            },
                            "field": {
                              "type": "EnumNamedValue",
                              "value": "CLIENT_NAME"
                            }
                          }
                        },
                        "rule_type": {
                          "type": "EnumNamedValue",
                          "value": "REGEX"
                        }
                      }
                    }
                  ]
                }
              },
              "clients_with_results_count": {
                "type": "long",
                "value": 0
              },
              "completed_clients_count": {
                "type": "long",
                "value": 0
              },
              "crash_limit": {
                "type": "long",
                "value": 100
              },
              "crashed_clients_count": {
                "type": "long",
                "value": 0
              },
              "created": {
                "type": "RDFDatetime",
                "value": 42000000
              },
              "creator": {
                "type": "unicode",
                "value": "api_test_user"
              },
              "description": {
                "type": "unicode",
                "value": "hunt1"
              },
              "duration": {
                "type": "DurationSeconds",
                "value": 1209600
              },
              "failed_clients_count": {
                "type": "long",
                "value": 0
              },
              "flow_args": {
                "type": "FileFinderArgs",
                "value": {
                  "action": {
                    "type": "FileFinderAction",
                    "value": {
                      "action_type": {
                        "type": "EnumNamedValue",
                        "value": "DOWNLOAD"
                      },
                      "download": {
                        "type": "FileFinderDownloadActionOptions",
                        "value": {
                          "collect_ext_attrs": {
                            "type": "bool",
                            "value": false
                          }
                        }
                      }
                    }
                  },
                  "paths": [
                    {
                      "type": "GlobExpression",
                      "value": "/tmp/evil.txt"
                    }
                  ],
                  "pathtype": {
                    "type": "EnumNamedValue",
                    "value": "OS"
                  }
                }
              },
              "flow_name": {
                "type": "unicode",
                "value": "ClientFileFinder"
              },
              "hunt_id": {
                "type": "ApiHuntId",
                "value": "H:123456"
              },
              "hunt_runner_args": {
                "type": "HuntRunnerArgs",
                "value": {
                  "avg_cpu_seconds_per_client_limit": {
                    "type": "long",
                    "value": 60
                  },
                  "avg_network_bytes_per_client_limit": {
                    "type": "long",
                    "value": 10485760
                  },
                  "avg_results_per_client_limit": {
                    "type": "long",
                    "value": 1000
                  },
                  "client_limit": {
                    "type": "long",
                    "value": 100
                  },
                  "client_rate": {
                    "type": "float",
                    "value": 0.0
                  },
                  "client_rule_set": {
                    "type": "ForemanClientRuleSet",
                    "value": {
                      "rules": [
                        {
                          "type": "ForemanClientRule",
                          "value": {
                            "regex": {
                              "type": "ForemanRegexClientRule",
                              "value": {
                                "attribute_regex": {
                                  "type": "RegularExpression",
                                  "value": "GRR"
                                },
                                "field": {
                                  "type": "EnumNamedValue",
                                  "value": "CLIENT_NAME"
                                }
                              }
                            },
                            "rule_type": {
                              "type": "EnumNamedValue",
                              "value": "REGEX"
                            }
                          }
                        }
                      ]
                    }
                  },
                  "crash_limit": {
                    "type": "long",
                    "value": 100
                  },
                  "description": {
                    "type": "unicode",
                    "value": "hunt1"
                  },
                  "expiry_time": {
                    "type": "DurationSeconds",
                    "value": 1209600
                  },
                  "hunt_name": {
                    "type": "unicode",
                    "value": "GenericHunt"
                  },
                  "original_object": {
                    "type": "FlowLikeObjectReference",
                    "value": {}
                  }
                }
              },
              "hunt_type": {
                "type": "EnumNamedValue",
                "value": "STANDARD"
              },
              "is_robot": {
                "type": "bool",
                "value": false
              },
              "name": {
                "type": "unicode",
                "value": "GenericHunt"
              },
              "remaining_clients_count": {
                "type": "long",
                "value": 0
              },
              "results_count": {
                "type": "long",
                "value": 0
              },
              "state": {
                "type": "EnumNamedValue",
                "value": "PAUSED"
              },
              "state_comment": {
                "type": "unicode",
                "value": ""
              },
              "state_reason": {
                "type": "EnumNamedValue",
                "value": "UNKNOWN"
              },
              "total_cpu_usage": {
                "type": "float",
                "value": 0.0
              },
              "total_net_usage": {
                "type": "long",
                "value": 0
              },
              "urn": {
                "type": "SessionID",
                "value": "aff4:/hunts/H:123456"
              }
            }
          }
        }
      },
      "test_class": "ApiGetHuntApprovalHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "approvers": [
          "api_test_user"
        ],
        "email_message_id": "<message id stub>",
        "expiration_time_us": 2419244000000,
        "id": "approval:111111",
        "is_valid": false,
        "is_valid_message": "Need at least 1 additional approver for access.",
        "notified_users": [
          "approver"
        ],
        "reason": "foo",
        "requestor": "api_test_user",
        "subject": {
          "all_clients_count": 0,
          "client_limit": 100,
          "client_rate": 0.0,
          "client_rule_set": {
            "rules": [
              {
                "regex": {
                  "attribute_regex": "GRR",
                  "field": "CLIENT_NAME"
                },
                "rule_type": "REGEX"
              }
            ]
          },
          "clients_with_results_count": 0,
          "completed_clients_count": 0,
          "crash_limit": 100,
          "crashed_clients_count": 0,
          "created": 42000000,
          "creator": "api_test_user",
          "description": "hunt1",
          "duration": 1209600,
          "failed_clients_count": 0,
          "flow_args": {
            "action": {
              "action_type": "DOWNLOAD",
              "download": {
                "collect_ext_attrs": false
              }
            },
            "paths": [
              "/tmp/evil.txt"
            ],
            "pathtype": "OS"
          },
          "flow_name": "ClientFileFinder",
          "hunt_id": "H:123456",
          "hunt_runner_args": {
            "avg_cpu_seconds_per_client_limit": 60,
            "avg_network_bytes_per_client_limit": 10485760,
            "avg_results_per_client_limit": 1000,
            "client_limit": 100,
            "client_rate": 0.0,
            "client_rule_set": {
              "rules": [
                {
                  "regex": {
                    "attribute_regex": "GRR",
                    "field": "CLIENT_NAME"
                  },
                  "rule_type": "REGEX"
                }
              ]
            },
            "crash_limit": 100,
            "description": "hunt1",
            "expiry_time": 1209600,
            "hunt_name": "GenericHunt",
            "original_object": {}
          },
          "hunt_type": "STANDARD",
          "is_robot": false,
          "name": "GenericHunt",
          "remaining_clients_count": 0,
          "results_count": 0,
          "state": "PAUSED",
          "state_comment": "",
          "state_reason": "UNKNOWN",
          "total_cpu_usage": 0.0,
          "total_net_usage": 0,
          "urn": "aff4:/hunts/H:123456"
        }
      },
      "url": "/api/users/api_test_user/approvals/hunt/H:123456/approval:111111"
    },
    {
      "api_method": "GetHuntApproval",
      "method": "GET",
      "response": {
        "type": "ApiHuntApproval",
        "value": {
          "approvers": [
            {
              "type": "unicode",
              "value": "api_test_user"
            },
            {
              "type": "unicode",
              "value": "approver"
            }
          ],
          "email_message_id": {
            "type": "unicode",
            "value": "<message id stub>"
          },
          "expiration_time_us": {
            "type": "RDFDatetime",
            "value": 2419245000000
          },
          "id": {
            "type": "unicode",
            "value": "approval:222222"
          },
          "is_valid": {
            "type": "bool",
            "value": true
          },
          "notified_users": [
            {
              "type": "unicode",
              "value": "approver"
            }
          ],
          "reason": {
            "type": "unicode",
            "value": "bar"
          },
          "requestor": {
            "type": "unicode",
            "value": "api_test_user"
          },
          "subject": {
            "type": "ApiHunt",
            "value": {
              "all_clients_count": {
                "type": "long",
                "value": 0
              },
              "client_limit": {
                "type": "long",
                "value": 100
              },
              "client_rate": {
                "type": "float",
                "value": 0.0
              },
              "client_rule_set": {
                "type": "ForemanClientRuleSet",
                "value": {
                  "rules": [
                    {
                      "type": "ForemanClientRule",
                      "value": {
                        "regex": {
                          "type": "ForemanRegexClientRule",
                          "value": {
                            "attribute_regex": {
                              "type": "RegularExpression",
                              "value": "GRR"
                            },
                            "field": {
                              "type": "EnumNamedValue",
                              "value": "CLIENT_NAME"
                            }
                          }
                        },
                        "rule_type": {
                          "type": "EnumNamedValue",
                          "value": "REGEX"
                        }
                      }
                    }
                  ]
                }
              },
              "clients_with_results_count": {
                "type": "long",
                "value": 0
              },
              "completed_clients_count": {
                "type": "long",
                "value": 0
              },
              "crash_limit": {
                "type": "long",
                "value": 100
              },
              "crashed_clients_count": {
                "type": "long",
                "value": 0
              },
              "created": {
                "type": "RDFDatetime",
                "value": 42000000
              },
              "creator": {
                "type": "unicode",
                "value": "api_test_user"
              },
              "description": {
                "type": "unicode",
                "value": "hunt2"
              },
              "duration": {
                "type": "DurationSeconds",
                "value": 1209600
              },
              "failed_clients_count": {
                "type": "long",
                "value": 0
              },
              "flow_args": {
                "type": "FileFinderArgs",
                "value": {
                  "action": {
                    "type": "FileFinderAction",
                    "value": {
                      "action_type": {
                        "type": "EnumNamedValue",
                        "value": "DOWNLOAD"
                      },
                      "download": {
                        "type": "FileFinderDownloadActionOptions",
                        "value": {
                          "collect_ext_attrs": {
                            "type": "bool",
                            "value": false
                          }
                        }
                      }
                    }
                  },
                  "paths": [
                    {
                      "type": "GlobExpression",
                      "value": "/tmp/evil.txt"
                    }
                  ],
                  "pathtype": {
                    "type": "EnumNamedValue",
                    "value": "OS"
                  }
                }
              },
              "flow_name": {
                "type": "unicode",
                "value": "ClientFileFinder"
              },
              "hunt_id": {
                "type": "ApiHuntId",
                "value": "H:567890"
              },
              "hunt_runner_args": {
                "type": "HuntRunnerArgs",
                "value": {
                  "avg_cpu_seconds_per_client_limit": {
                    "type": "long",
                    "value": 60
                  },
                  "avg_network_bytes_per_client_limit": {
                    "type": "long",
                    "value": 10485760
                  },
                  "avg_results_per_client_limit": {
                    "type": "long",
                    "value": 1000
                  },
                  "client_limit": {
                    "type": "long",
                    "value": 100
                  },
                  "client_rate": {
                    "type": "float",
                    "value": 0.0
                  },
                  "client_rule_set": {
                    "type": "ForemanClientRuleSet",
                    "value": {
                      "rules": [
                        {
                          "type": "ForemanClientRule",
                          "value": {
                            "regex": {
                              "type": "ForemanRegexClientRule",
                              "value": {
                                "attribute_regex": {
                                  "type": "RegularExpression",
                                  "value": "GRR"
                                },
                                "field": {
                                  "type": "EnumNamedValue",
                                  "value": "CLIENT_NAME"
                                }
                              }
                            },
                            "rule_type": {
                              "type": "EnumNamedValue",
                              "value": "REGEX"
                            }
                          }
                        }
                      ]
                    }
                  },
                  "crash_limit": {
                    "type": "long",
                    "value": 100
                  },
                  "description": {
                    "type": "unicode",
                    "value": "hunt2"
                  },
                  "expiry_time": {
                    "type": "DurationSeconds",
                    "value": 1209600
                  },
                  "hunt_name": {
                    "type": "unicode",
                    "value": "GenericHunt"
                  },
                  "original_object": {
                    "type": "FlowLikeObjectReference",
                    "value": {}
                  }
                }
              },
              "hunt_type": {
                "type": "EnumNamedValue",
                "value": "STANDARD"
              },
              "is_robot": {
                "type": "bool",
                "value": false
              },
              "name": {
                "type": "unicode",
                "value": "GenericHunt"
              },
              "remaining_clients_count": {
                "type": "long",
                "value": 0
              },
              "results_count": {
                "type": "long",
                "value": 0
              },
              "state": {
                "type": "EnumNamedValue",
                "value": "PAUSED"
              },
              "state_comment": {
                "type": "unicode",
                "value": ""
              },
              "state_reason": {
                "type": "EnumNamedValue",
                "value": "UNKNOWN"
              },
              "total_cpu_usage": {
                "type": "float",
                "value": 0.0
              },
              "total_net_usage": {
                "type": "long",
                "value": 0
              },
              "urn": {
                "type": "SessionID",
                "value": "aff4:/hunts/H:567890"
              }
            }
          }
        }
      },
      "test_class": "ApiGetHuntApprovalHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "approvers": [
          "api_test_user",
          "approver"
        ],
        "email_message_id": "<message id stub>",
        "expiration_time_us": 2419245000000,
        "id": "approval:222222",
        "is_valid": true,
        "notified_users": [
          "approver"
        ],
        "reason": "bar",
        "requestor": "api_test_user",
        "subject": {
          "all_clients_count": 0,
          "client_limit": 100,
          "client_rate": 0.0,
          "client_rule_set": {
            "rules": [
              {
                "regex": {
                  "attribute_regex": "GRR",
                  "field": "CLIENT_NAME"
                },
                "rule_type": "REGEX"
              }
            ]
          },
          "clients_with_results_count": 0,
          "completed_clients_count": 0,
          "crash_limit": 100,
          "crashed_clients_count": 0,
          "created": 42000000,
          "creator": "api_test_user",
          "description": "hunt2",
          "duration": 1209600,
          "failed_clients_count": 0,
          "flow_args": {
            "action": {
              "action_type": "DOWNLOAD",
              "download": {
                "collect_ext_attrs": false
              }
            },
            "paths": [
              "/tmp/evil.txt"
            ],
            "pathtype": "OS"
          },
          "flow_name": "ClientFileFinder",
          "hunt_id": "H:567890",
          "hunt_runner_args": {
            "avg_cpu_seconds_per_client_limit": 60,
            "avg_network_bytes_per_client_limit": 10485760,
            "avg_results_per_client_limit": 1000,
            "client_limit": 100,
            "client_rate": 0.0,
            "client_rule_set": {
              "rules": [
                {
                  "regex": {
                    "attribute_regex": "GRR",
                    "field": "CLIENT_NAME"
                  },
                  "rule_type": "REGEX"
                }
              ]
            },
            "crash_limit": 100,
            "description": "hunt2",
            "expiry_time": 1209600,
            "hunt_name": "GenericHunt",
            "original_object": {}
          },
          "hunt_type": "STANDARD",
          "is_robot": false,
          "name": "GenericHunt",
          "remaining_clients_count": 0,
          "results_count": 0,
          "state": "PAUSED",
          "state_comment": "",
          "state_reason": "UNKNOWN",
          "total_cpu_usage": 0.0,
          "total_net_usage": 0,
          "urn": "aff4:/hunts/H:567890"
        }
      },
      "url": "/api/users/api_test_user/approvals/hunt/H:567890/approval:222222"
    },
    {
      "api_method": "GetHuntApproval",
      "method": "GET",
      "response": {
        "type": "ApiHuntApproval",
        "value": {
          "approvers": [
            {
              "type": "unicode",
              "value": "api_test_user"
            }
          ],
          "copied_from_hunt": {
            "type": "ApiHunt",
            "value": {
              "all_clients_count": {
                "type": "long",
                "value": 0
              },
              "client_limit": {
                "type": "long",
                "value": 100
              },
              "client_rate": {
                "type": "float",
                "value": 0.0
              },
              "client_rule_set": {
                "type": "ForemanClientRuleSet",
                "value": {
                  "rules": [
                    {
                      "type": "ForemanClientRule",
                      "value": {
                        "regex": {
                          "type": "ForemanRegexClientRule",
                          "value": {
                            "attribute_regex": {
                              "type": "RegularExpression",
                              "value": "GRR"
                            },
                            "field": {
                              "type": "EnumNamedValue",
                              "value": "CLIENT_NAME"
                            }
                          }
                        },
                        "rule_type": {
                          "type": "EnumNamedValue",
                          "value": "REGEX"
                        }
                      }
                    }
                  ]
                }
              },
              "clients_with_results_count": {
                "type": "long",
                "value": 0
              },
              "completed_clients_count": {
                "type": "long",
                "value": 0
              },
              "crash_limit": {
                "type": "long",
                "value": 100
              },
              "crashed_clients_count": {
                "type": "long",
                "value": 0
              },
              "created": {
                "type": "RDFDatetime",
                "value": 42000000
              },
              "creator": {
                "type": "unicode",
                "value": "api_test_user"
              },
              "description": {
                "type": "unicode",
                "value": "original hunt"
              },
              "duration": {
                "type": "DurationSeconds",
                "value": 1209600
              },
              "failed_clients_count": {
                "type": "long",
                "value": 0
              },
              "flow_args": {
                "type": "FileFinderArgs",
                "value": {
                  "action": {
                    "type": "FileFinderAction",
                    "value": {
                      "action_type": {
                        "type": "EnumNamedValue",
                        "value": "DOWNLOAD"
                      },
                      "download": {
                        "type": "FileFinderDownloadActionOptions",
                        "value": {
                          "collect_ext_attrs": {
                            "type": "bool",
                            "value": false
                          }
                        }
                      }
                    }
                  },
                  "paths": [
                    {
                      "type": "GlobExpression",
                      "value": "/tmp/evil.txt"
                    }
                  ],
                  "pathtype": {
                    "type": "EnumNamedValue",
                    "value": "OS"
                  }
                }
              },
              "flow_name": {
                "type": "unicode",
                "value": "ClientFileFinder"
              },
              "hunt_id": {
                "type": "ApiHuntId",
                "value": "H:556677"
              },
              "hunt_runner_args": {
                "type": "HuntRunnerArgs",
                "value": {
                  "avg_cpu_seconds_per_client_limit": {
                    "type": "long",
                    "value": 60
                  },
                  "avg_network_bytes_per_client_limit": {
                    "type": "long",
                    "value": 10485760
                  },
                  "avg_results_per_client_limit": {
                    "type": "long",
                    "value": 1000
                  },
                  "client_limit": {
                    "type": "long",
                    "value": 100
                  },
                  "client_rate": {
                    "type": "float",
                    "value": 0.0
                  },
                  "client_rule_set": {
                    "type": "ForemanClientRuleSet",
                    "value": {
                      "rules": [
                        {
                          "type": "ForemanClientRule",
                          "value": {
                            "regex": {
                              "type": "ForemanRegexClientRule",
                              "value": {
                                "attribute_regex": {
                                  "type": "RegularExpression",
                                  "value": "GRR"
                                },
                                "field": {
                                  "type": "EnumNamedValue",
                                  "value": "CLIENT_NAME"
                                }
                              }
                            },
                            "rule_type": {
                              "type": "EnumNamedValue",
                              "value": "REGEX"
                            }
                          }
                        }
                      ]
                    }
                  },
                  "crash_limit": {
                    "type": "long",
                    "value": 100
                  },
                  "description": {
                    "type": "unicode",
                    "value": "original hunt"
                  },
                  "expiry_time": {
                    "type": "DurationSeconds",
                    "value": 1209600
                  },
                  "hunt_name": {
                    "type": "unicode",
                    "value": "GenericHunt"
                  },
                  "original_object": {
                    "type": "FlowLikeObjectReference",
                    "value": {}
                  }
                }
              },
              "hunt_type": {
                "type": "EnumNamedValue",
                "value": "STANDARD"
              },
              "is_robot": {
                "type": "bool",
                "value": false
              },
              "name": {
                "type": "unicode",
                "value": "GenericHunt"
              },
              "remaining_clients_count": {
                "type": "long",
                "value": 0
              },
              "results_count": {
                "type": "long",
                "value": 0
              },
              "state": {
                "type": "EnumNamedValue",
                "value": "PAUSED"
              },
              "state_comment": {
                "type": "unicode",
                "value": ""
              },
              "state_reason": {
                "type": "EnumNamedValue",
                "value": "UNKNOWN"
              },
              "total_cpu_usage": {
                "type": "float",
                "value": 0.0
              },
              "total_net_usage": {
                "type": "long",
                "value": 0
              },
              "urn": {
                "type": "SessionID",
                "value": "aff4:/hunts/H:556677"
              }
            }
          },
          "email_message_id": {
            "type": "unicode",
            "value": "<message id stub>"
          },
          "expiration_time_us": {
            "type": "RDFDatetime",
            "value": 2419244000000
          },
          "id": {
            "type": "unicode",
            "value": "approval:333333"
          },
          "is_valid": {
            "type": "bool",
            "value": false
          },
          "is_valid_message": {
            "type": "unicode",
            "value": "Need at least 1 additional approver for access."
          },
          "notified_users": [
            {
              "type": "unicode",
              "value": "approver"
            }
          ],
          "reason": {
            "type": "unicode",
            "value": "foo"
          },
          "requestor": {
            "type": "unicode",
            "value": "api_test_user"
          },
          "subject": {
            "type": "ApiHunt",
            "value": {
              "all_clients_count": {
                "type": "long",
                "value": 0
              },
              "client_limit": {
                "type": "long",
                "value": 100
              },
              "client_rate": {
                "type": "float",
                "value": 0.0
              },
              "client_rule_set": {
                "type": "ForemanClientRuleSet",
                "value": {
                  "rules": [
                    {
                      "type": "ForemanClientRule",
                      "value": {
                        "regex": {
                          "type": "ForemanRegexClientRule",
                          "value": {
                            "attribute_regex": {
                              "type": "RegularExpression",
                              "value": "GRR"
                            },
                            "field": {
                              "type": "EnumNamedValue",
                              "value": "CLIENT_NAME"
                            }
                          }
                        },
                        "rule_type": {
                          "type": "EnumNamedValue",
                          "value": "REGEX"
                        }
                      }
                    }
                  ]
                }
              },
              "clients_with_results_count": {
                "type": "long",
                "value": 0
              },
              "completed_clients_count": {
                "type": "long",
                "value": 0
              },
              "crash_limit": {
                "type": "long",
                "value": 100
              },
              "crashed_clients_count": {
                "type": "long",
                "value": 0
              },
              "created": {
                "type": "RDFDatetime",
                "value": 42000000
              },
              "creator": {
                "type": "unicode",
                "value": "api_test_user"
              },
              "description": {
                "type": "unicode",
                "value": "copied hunt"
              },
              "duration": {
                "type": "DurationSeconds",
                "value": 1209600
              },
              "failed_clients_count": {
                "type": "long",
                "value": 0
              },
              "flow_args": {
                "type": "FileFinderArgs",
                "value": {
                  "action": {
                    "type": "FileFinderAction",
                    "value": {
                      "action_type": {
                        "type": "EnumNamedValue",
                        "value": "DOWNLOAD"
                      },
                      "download": {
                        "type": "FileFinderDownloadActionOptions",
                        "value": {
                          "collect_ext_attrs": {
                            "type": "bool",
                            "value": false
                          }
                        }
                      }
                    }
                  },
                  "paths": [
                    {
                      "type": "GlobExpression",
                      "value": "/tmp/evil.txt"
                    }
                  ],
                  "pathtype": {
                    "type": "EnumNamedValue",
                    "value": "OS"
                  }
                }
              },
              "flow_name": {
                "type": "unicode",
                "value": "ClientFileFinder"
              },
              "hunt_id": {
                "type": "ApiHuntId",
                "value": "H:DDEEFF"
              },
              "hunt_runner_args": {
                "type": "HuntRunnerArgs",
                "value": {
                  "avg_cpu_seconds_per_client_limit": {
                    "type": "long",
                    "value": 60
                  },
                  "avg_network_bytes_per_client_limit": {
                    "type": "long",
                    "value": 10485760
                  },
                  "avg_results_per_client_limit": {
                    "type": "long",
                    "value": 1000
                  },
                  "client_limit": {
                    "type": "long",
                    "value": 100
                  },
                  "client_rate": {
                    "type": "float",
                    "value": 0.0
                  },
                  "client_rule_set": {
                    "type": "ForemanClientRuleSet",
                    "value": {
                      "rules": [
                        {
                          "type": "ForemanClientRule",
                          "value": {
                            "regex": {
                              "type": "ForemanRegexClientRule",
                              "value": {
                                "attribute_regex": {
                                  "type": "RegularExpression",
                                  "value": "GRR"
                                },
                                "field": {
                                  "type": "EnumNamedValue",
                                  "value": "CLIENT_NAME"
                                }
                              }
                            },
                            "rule_type": {
                              "type": "EnumNamedValue",
                              "value": "REGEX"
                            }
                          }
                        }
                      ]
                    }
                  },
                  "crash_limit": {
                    "type": "long",
                    "value": 100
                  },
                  "description": {
                    "type": "unicode",
                    "value": "copied hunt"
                  },
                  "expiry_time": {
                    "type": "DurationSeconds",
                    "value": 1209600
                  },
                  "hunt_name": {
                    "type": "unicode",
                    "value": "GenericHunt"
                  },
                  "original_object": {
                    "type": "FlowLikeObjectReference",
                    "value": {
                      "hunt_reference": {
                        "type": "HuntReference",
                        "value": {
                          "hunt_id": {
                            "type": "unicode",
                            "value": "H:556677"
                          }
                        }
                      },
                      "object_type": {
                        "type": "EnumNamedValue",
                        "value": "HUNT_REFERENCE"
                      }
                    }
                  }
                }
              },
              "hunt_type": {
                "type": "EnumNamedValue",
                "value": "STANDARD"
              },
              "is_robot": {
                "type": "bool",
                "value": false
              },
              "name": {
                "type": "unicode",
                "value": "GenericHunt"
              },
              "original_object": {
                "type": "ApiFlowLikeObjectReference",
                "value": {
                  "hunt_reference": {
                    "type": "ApiHuntReference",
                    "value": {
                      "hunt_id": {
                        "type": "ApiHuntId",
                        "value": "H:556677"
                      }
                    }
                  },
                  "object_type": {
                    "type": "EnumNamedValue",
                    "value": "HUNT_REFERENCE"
                  }
                }
              },
              "remaining_clients_count": {
                "type": "long",
                "value": 0
              },
              "results_count": {
                "type": "long",
                "value": 0
              },
              "state": {
                "type": "EnumNamedValue",
                "value": "PAUSED"
              },
              "state_comment": {
                "type": "unicode",
                "value": ""
              },
              "state_reason": {
                "type": "EnumNamedValue",
                "value": "UNKNOWN"
              },
              "total_cpu_usage": {
                "type": "float",
                "value": 0.0
              },
              "total_net_usage": {
                "type": "long",
                "value": 0
              },
              "urn": {
                "type": "SessionID",
                "value": "aff4:/hunts/H:DDEEFF"
              }
            }
          }
        }
      },
      "test_class": "ApiGetHuntApprovalHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "approvers": [
          "api_test_user"
        ],
        "copied_from_hunt": {
          "all_clients_count": 0,
          "client_limit": 100,
          "client_rate": 0.0,
          "client_rule_set": {
            "rules": [
              {
                "regex": {
                  "attribute_regex": "GRR",
                  "field": "CLIENT_NAME"
                },
                "rule_type": "REGEX"
              }
            ]
          },
          "clients_with_results_count": 0,
          "completed_clients_count": 0,
          "crash_limit": 100,
          "crashed_clients_count": 0,
          "created": 42000000,
          "creator": "api_test_user",
          "description": "original hunt",
          "duration": 1209600,
          "failed_clients_count": 0,
          "flow_args": {
            "action": {
              "action_type": "DOWNLOAD",
              "download": {
                "collect_ext_attrs": false
              }
            },
            "paths": [
              "/tmp/evil.txt"
            ],
            "pathtype": "OS"
          },
          "flow_name": "ClientFileFinder",
          "hunt_id": "H:556677",
          "hunt_runner_args": {
            "avg_cpu_seconds_per_client_limit": 60,
            "avg_network_bytes_per_client_limit": 10485760,
            "avg_results_per_client_limit": 1000,
            "client_limit": 100,
            "client_rate": 0.0,
            "client_rule_set": {
              "rules": [
                {
                  "regex": {
                    "attribute_regex": "GRR",
                    "field": "CLIENT_NAME"
                  },
                  "rule_type": "REGEX"
                }
              ]
            },
            "crash_limit": 100,
            "description": "original hunt",
            "expiry_time": 1209600,
            "hunt_name": "GenericHunt",
            "original_object": {}
          },
          "hunt_type": "STANDARD",
          "is_robot": false,
          "name": "GenericHunt",
          "remaining_clients_count": 0,
          "results_count": 0,
          "state": "PAUSED",
          "state_comment": "",
          "state_reason": "UNKNOWN",
          "total_cpu_usage": 0.0,
          "total_net_usage": 0,
          "urn": "aff4:/hunts/H:556677"
        },
        "email_message_id": "<message id stub>",
        "expiration_time_us": 2419244000000,
        "id": "approval:333333",
        "is_valid": false,
        "is_valid_message": "Need at least 1 additional approver for access.",
        "notified_users": [
          "approver"
        ],
        "reason": "foo",
        "requestor": "api_test_user",
        "subject": {
          "all_clients_count": 0,
          "client_limit": 100,
          "client_rate": 0.0,
          "client_rule_set": {
            "rules": [
              {
                "regex": {
                  "attribute_regex": "GRR",
                  "field": "CLIENT_NAME"
                },
                "rule_type": "REGEX"
              }
            ]
          },
          "clients_with_results_count": 0,
          "completed_clients_count": 0,
          "crash_limit": 100,
          "crashed_clients_count": 0,
          "created": 42000000,
          "creator": "api_test_user",
          "description": "copied hunt",
          "duration": 1209600,
          "failed_clients_count": 0,
          "flow_args": {
            "action": {
              "action_type": "DOWNLOAD",
              "download": {
                "collect_ext_attrs": false
              }
            },
            "paths": [
              "/tmp/evil.txt"
            ],
            "pathtype": "OS"
          },
          "flow_name": "ClientFileFinder",
          "hunt_id": "H:DDEEFF",
          "hunt_runner_args": {
            "avg_cpu_seconds_per_client_limit": 60,
            "avg_network_bytes_per_client_limit": 10485760,
            "avg_results_per_client_limit": 1000,
            "client_limit": 100,
            "client_rate": 0.0,
            "client_rule_set": {
              "rules": [
                {
                  "regex": {
                    "attribute_regex": "GRR",
                    "field": "CLIENT_NAME"
                  },
                  "rule_type": "REGEX"
                }
              ]
            },
            "crash_limit": 100,
            "description": "copied hunt",
            "expiry_time": 1209600,
            "hunt_name": "GenericHunt",
            "original_object": {
              "hunt_reference": {
                "hunt_id": "H:556677"
              },
              "object_type": "HUNT_REFERENCE"
            }
          },
          "hunt_type": "STANDARD",
          "is_robot": false,
          "name": "GenericHunt",
          "original_object": {
            "hunt_reference": {
              "hunt_id": "H:556677"
            },
            "object_type": "HUNT_REFERENCE"
          },
          "remaining_clients_count": 0,
          "results_count": 0,
          "state": "PAUSED",
          "state_comment": "",
          "state_reason": "UNKNOWN",
          "total_cpu_usage": 0.0,
          "total_net_usage": 0,
          "urn": "aff4:/hunts/H:DDEEFF"
        }
      },
      "url": "/api/users/api_test_user/approvals/hunt/H:DDEEFF/approval:333333"
    },
    {
      "api_method": "GetHuntApproval",
      "method": "GET",
      "response": {
        "type": "ApiHuntApproval",
        "value": {
          "approvers": [
            {
              "type": "unicode",
              "value": "api_test_user"
            }
          ],
          "copied_from_flow": {
            "type": "ApiFlow",
            "value": {
              "args": {
                "type": "InterrogateArgs",
                "value": {}
              },
              "client_id": {
                "type": "ApiClientId",
                "value": "C.1000000000000000"
              },
              "creator": {
                "type": "unicode",
                "value": "api_test_user"
              },
              "flow_id": {
                "type": "ApiFlowId",
                "value": "F:112233"
              },
              "is_robot": {
                "type": "bool",
                "value": false
              },
              "last_active_at": {
                "type": "RDFDatetime",
                "value": 42000000
              },
              "name": {
                "type": "unicode",
                "value": "Interrogate"
              },
              "runner_args": {
                "type": "FlowRunnerArgs",
                "value": {
                  "client_id": {
                    "type": "ClientURN",
                    "value": "aff4:/C.1000000000000000"
                  },
                  "flow_name": {
                    "type": "unicode",
                    "value": "Interrogate"
                  }
                }
              },
              "started_at": {
                "type": "RDFDatetime",
                "value": 42000000
              },
              "state": {
                "type": "EnumNamedValue",
                "value": "RUNNING"
              },
              "store": {
                "type": "AnyValue",
                "value": {
                  "type_url": {
                    "type": "unicode",
                    "value": "type.googleapis.com/grr.InterrogateStore"
                  }
                }
              },
              "urn": {
                "type": "SessionID",
                "value": "aff4:/C.1000000000000000/flows/F:112233"
              }
            }
          },
          "email_message_id": {
            "type": "unicode",
            "value": "<message id stub>"
          },
          "expiration_time_us": {
            "type": "RDFDatetime",
            "value": 2419244000000
          },
          "id": {
            "type": "unicode",
            "value": "approval:444444"
          },
          "is_valid": {
            "type": "bool",
            "value": false
          },
          "is_valid_message": {
            "type": "unicode",
            "value": "Need at least 1 additional approver for access."
          },
          "notified_users": [
            {
              "type": "unicode",
              "value": "approver"
            }
          ],
          "reason": {
            "type": "unicode",
            "value": "foo"
          },
          "requestor": {
            "type": "unicode",
            "value": "api_test_user"
          },
          "subject": {
            "type": "ApiHunt",
            "value": {
              "all_clients_count": {
                "type": "long",
                "value": 0
              },
              "client_limit": {
                "type": "long",
                "value": 100
              },
              "client_rate": {
                "type": "float",
                "value": 0.0
              },
              "client_rule_set": {
                "type": "ForemanClientRuleSet",
                "value": {
                  "rules": [
                    {
                      "type": "ForemanClientRule",
                      "value": {
                        "regex": {
                          "type": "ForemanRegexClientRule",
                          "value": {
                            "attribute_regex": {
                              "type": "RegularExpression",
                              "value": "GRR"
                            },
                            "field": {
                              "type": "EnumNamedValue",
                              "value": "CLIENT_NAME"
                            }
                          }
                        },
                        "rule_type": {
                          "type": "EnumNamedValue",
                          "value": "REGEX"
                        }
                      }
                    }
                  ]
                }
              },
              "clients_with_results_count": {
                "type": "long",
                "value": 0
              },
              "completed_clients_count": {
                "type": "long",
                "value": 0
              },
              "crash_limit": {
                "type": "long",
                "value": 100
              },
              "crashed_clients_count": {
                "type": "long",
                "value": 0
              },
              "created": {
                "type": "RDFDatetime",
                "value": 42000000
              },
              "creator": {
                "type": "unicode",
                "value": "api_test_user"
              },
              "description": {
                "type": "unicode",
                "value": "hunt started from flow"
              },
              "duration": {
                "type": "DurationSeconds",
                "value": 1209600
              },
              "failed_clients_count": {
                "type": "long",
                "value": 0
              },
              "flow_args": {
                "type": "FileFinderArgs",
                "value": {
                  "action": {
                    "type": "FileFinderAction",
                    "value": {
                      "action_type": {
                        "type": "EnumNamedValue",
                        "value": "DOWNLOAD"
                      },
                      "download": {
                        "type": "FileFinderDownloadActionOptions",
                        "value": {
                          "collect_ext_attrs": {
                            "type": "bool",
                            "value": false
                          }
                        }
                      }
                    }
                  },
                  "paths": [
                    {
                      "type": "GlobExpression",
                      "value": "/tmp/evil.txt"
                    }
                  ],
                  "pathtype": {
                    "type": "EnumNamedValue",
                    "value": "OS"
                  }
                }
              },
              "flow_name": {
                "type": "unicode",
                "value": "ClientFileFinder"
              },
              "hunt_id": {
                "type": "ApiHuntId",
                "value": "H:667788"
              },
              "hunt_runner_args": {
                "type": "HuntRunnerArgs",
                "value": {
                  "avg_cpu_seconds_per_client_limit": {
                    "type": "long",
                    "value": 60
                  },
                  "avg_network_bytes_per_client_limit": {
                    "type": "long",
                    "value": 10485760
                  },
                  "avg_results_per_client_limit": {
                    "type": "long",
                    "value": 1000
                  },
                  "client_limit": {
                    "type": "long",
                    "value": 100
                  },
                  "client_rate": {
                    "type": "float",
                    "value": 0.0
                  },
                  "client_rule_set": {
                    "type": "ForemanClientRuleSet",
                    "value": {
                      "rules": [
                        {
                          "type": "ForemanClientRule",
                          "value": {
                            "regex": {
                              "type": "ForemanRegexClientRule",
                              "value": {
                                "attribute_regex": {
                                  "type": "RegularExpression",
                                  "value": "GRR"
                                },
                                "field": {
                                  "type": "EnumNamedValue",
                                  "value": "CLIENT_NAME"
                                }
                              }
                            },
                            "rule_type": {
                              "type": "EnumNamedValue",
                              "value": "REGEX"
                            }
                          }
                        }
                      ]
                    }
                  },
                  "crash_limit": {
                    "type": "long",
                    "value": 100
                  },
                  "description": {
                    "type": "unicode",
                    "value": "hunt started from flow"
                  },
                  "expiry_time": {
                    "type": "DurationSeconds",
                    "value": 1209600
                  },
                  "hunt_name": {
                    "type": "unicode",
                    "value": "GenericHunt"
                  },
                  "original_object": {
                    "type": "FlowLikeObjectReference",
                    "value": {
                      "flow_reference": {
                        "type": "FlowReference",
                        "value": {
                          "client_id": {
                            "type": "unicode",
                            "value": "C.1000000000000000"
                          },
                          "flow_id": {
                            "type": "unicode",
                            "value": "F:112233"
                          }
                        }
                      },
                      "object_type": {
                        "type": "EnumNamedValue",
                        "value": "FLOW_REFERENCE"
                      }
                    }
                  }
                }
              },
              "hunt_type": {
                "type": "EnumNamedValue",
                "value": "STANDARD"
              },
              "is_robot": {
                "type": "bool",
                "value": false
              },
              "name": {
                "type": "unicode",
                "value": "GenericHunt"
              },
              "original_object": {
                "type": "ApiFlowLikeObjectReference",
                "value": {
                  "flow_reference": {
                    "type": "ApiFlowReference",
                    "value": {
                      "client_id": {
                        "type": "ApiClientId",
                        "value": "C.1000000000000000"
                      },
                      "flow_id": {
                        "type": "ApiFlowId",
                        "value": "F:112233"
                      }
                    }
                  },
                  "object_type": {
                    "type": "EnumNamedValue",
                    "value": "FLOW_REFERENCE"
                  }
                }
              },
              "remaining_clients_count": {
                "type": "long",
                "value": 0
              },
              "results_count": {
                "type": "long",
                "value": 0
              },
              "state": {
                "type": "EnumNamedValue",
                "value": "PAUSED"
              },
              "state_comment": {
                "type": "unicode",
                "value": ""
              },
              "state_reason": {
                "type": "EnumNamedValue",
                "value": "UNKNOWN"
              },
              "total_cpu_usage": {
                "type": "float",
                "value": 0.0
              },
              "total_net_usage": {
                "type": "long",
                "value": 0
              },
              "urn": {
                "type": "SessionID",
                "value": "aff4:/hunts/H:667788"
              }
            }
          }
        }
      },
      "test_class": "ApiGetHuntApprovalHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "approvers": [
          "api_test_user"
        ],
        "copied_from_flow": {
          "args": {},
          "client_id": "C.1000000000000000",
          "creator": "api_test_user",
          "flow_id": "F:112233",
          "is_robot": false,
          "last_active_at": 42000000,
          "name": "Interrogate",
          "runner_args": {
            "client_id": "aff4:/C.1000000000000000",
            "flow_name": "Interrogate"
          },
          "started_at": 42000000,
          "state": "RUNNING",
          "store": {
            "type_url": "type.googleapis.com/grr.InterrogateStore"
          },
          "urn": "aff4:/C.1000000000000000/flows/F:112233"
        },
        "email_message_id": "<message id stub>",
        "expiration_time_us": 2419244000000,
        "id": "approval:444444",
        "is_valid": false,
        "is_valid_message": "Need at least 1 additional approver for access.",
        "notified_users": [
          "approver"
        ],
        "reason": "foo",
        "requestor": "api_test_user",
        "subject": {
          "all_clients_count": 0,
          "client_limit": 100,
          "client_rate": 0.0,
          "client_rule_set": {
            "rules": [
              {
                "regex": {
                  "attribute_regex": "GRR",
                  "field": "CLIENT_NAME"
                },
                "rule_type": "REGEX"
              }
            ]
          },
          "clients_with_results_count": 0,
          "completed_clients_count": 0,
          "crash_limit": 100,
          "crashed_clients_count": 0,
          "created": 42000000,
          "creator": "api_test_user",
          "description": "hunt started from flow",
          "duration": 1209600,
          "failed_clients_count": 0,
          "flow_args": {
            "action": {
              "action_type": "DOWNLOAD",
              "download": {
                "collect_ext_attrs": false
              }
            },
            "paths": [
              "/tmp/evil.txt"
            ],
            "pathtype": "OS"
          },
          "flow_name": "ClientFileFinder",
          "hunt_id": "H:667788",
          "hunt_runner_args": {
            "avg_cpu_seconds_per_client_limit": 60,
            "avg_network_bytes_per_client_limit": 10485760,
            "avg_results_per_client_limit": 1000,
            "client_limit": 100,
            "client_rate": 0.0,
            "client_rule_set": {
              "rules": [
                {
                  "regex": {
                    "attribute_regex": "GRR",
                    "field": "CLIENT_NAME"
                  },
                  "rule_type": "REGEX"
                }
              ]
            },
            "crash_limit": 100,
            "description": "hunt started from flow",
            "expiry_time": 1209600,
            "hunt_name": "GenericHunt",
            "original_object": {
              "flow_reference": {
                "client_id": "C.1000000000000000",
                "flow_id": "F:112233"
              },
              "object_type": "FLOW_REFERENCE"
            }
          },
          "hunt_type": "STANDARD",
          "is_robot": false,
          "name": "GenericHunt",
          "original_object": {
            "flow_reference": {
              "client_id": "C.1000000000000000",
              "flow_id": "F:112233"
            },
            "object_type": "FLOW_REFERENCE"
          },
          "remaining_clients_count": 0,
          "results_count": 0,
          "state": "PAUSED",
          "state_comment": "",
          "state_reason": "UNKNOWN",
          "total_cpu_usage": 0.0,
          "total_net_usage": 0,
          "urn": "aff4:/hunts/H:667788"
        }
      },
      "url": "/api/users/api_test_user/approvals/hunt/H:667788/approval:444444"
    }
  ],
  "ApiGetHuntClientCompletionStatsHandler": [
    {
      "api_method": "GetHuntClientCompletionStats",
      "method": "GET",
      "response": {
        "complete_points": [
          {
            "x_value": 45.0,
            "y_value": 1.0
          },
          {
            "x_value": 45.900001525878906,
            "y_value": 1.0
          },
          {
            "x_value": 46.79999923706055,
            "y_value": 1.0
          },
          {
            "x_value": 47.70000076293945,
            "y_value": 1.0
          },
          {
            "x_value": 48.599998474121094,
            "y_value": 1.0
          },
          {
            "x_value": 49.5,
            "y_value": 1.0
          },
          {
            "x_value": 50.400001525878906,
            "y_value": 1.0
          },
          {
            "x_value": 51.29999923706055,
            "y_value": 1.0
          },
          {
            "x_value": 52.20000076293945,
            "y_value": 1.0
          },
          {
            "x_value": 53.099998474121094,
            "y_value": 1.0
          },
          {
            "x_value": 54.0,
            "y_value": 1.0
          },
          {
            "x_value": 54.900001525878906,
            "y_value": 2.0
          },
          {
            "x_value": 55.79999923706055,
            "y_value": 2.0
          },
          {
            "x_value": 56.70000076293945,
            "y_value": 2.0
          },
          {
            "x_value": 57.599998474121094,
            "y_value": 2.0
          },
          {
            "x_value": 58.5,
            "y_value": 2.0
          },
          {
            "x_value": 59.400001525878906,
            "y_value": 2.0
          },
          {
            "x_value": 60.29999923706055,
            "y_value": 2.0
          },
          {
            "x_value": 61.20000076293945,
            "y_value": 2.0
          },
          {
            "x_value": 62.099998474121094,
            "y_value": 2.0
          },
          {
            "x_value": 63.0,
            "y_value": 2.0
          },
          {
            "x_value": 63.900001525878906,
            "y_value": 2.0
          },
          {
            "x_value": 64.80000305175781,
            "y_value": 3.0
          },
          {
            "x_value": 65.69999694824219,
            "y_value": 3.0
          },
          {
            "x_value": 66.5999984741211,
            "y_value": 3.0
          },
          {
            "x_value": 67.5,
            "y_value": 3.0
          },
          {
            "x_value": 68.4000015258789,
            "y_value": 3.0
          },
          {
            "x_value": 69.30000305175781,
            "y_value": 3.0
          },
          {
            "x_value": 70.19999694824219,
            "y_value": 3.0
          },
          {
            "x_value": 71.0999984741211,
            "y_value": 3.0
          },
          {
            "x_value": 72.0,
            "y_value": 3.0
          },
          {
            "x_value": 72.9000015258789,
            "y_value": 3.0
          },
          {
            "x_value": 73.80000305175781,
            "y_value": 3.0
          },
          {
            "x_value": 74.69999694824219,
            "y_value": 4.0
          },
          {
            "x_value": 75.5999984741211,
            "y_value": 4.0
          },
          {
            "x_value": 76.5,
            "y_value": 4.0
          },
          {
            "x_value": 77.4000015258789,
            "y_value": 4.0
          },
          {
            "x_value": 78.30000305175781,
            "y_value": 4.0
          },
          {
            "x_value": 79.19999694824219,
            "y_value": 4.0
          },
          {
            "x_value": 80.0999984741211,
            "y_value": 4.0
          },
          {
            "x_value": 81.0,
            "y_value": 4.0
          },
          {
            "x_value": 81.9000015258789,
            "y_value": 4.0
          },
          {
            "x_value": 82.80000305175781,
            "y_value": 4.0
          },
          {
            "x_value": 83.69999694824219,
            "y_value": 4.0
          },
          {
            "x_value": 84.5999984741211,
            "y_value": 5.0
          },
          {
            "x_value": 85.5,
            "y_value": 5.0
          },
          {
            "x_value": 86.4000015258789,
            "y_value": 5.0
          },
          {
            "x_value": 87.30000305175781,
            "y_value": 5.0
          },
          {
            "x_value": 88.19999694824219,
            "y_value": 5.0
          },
          {
            "x_value": 89.0999984741211,
            "y_value": 5.0
          },
          {
            "x_value": 90.0,
            "y_value": 5.0
          },
          {
            "x_value": 90.9000015258789,
            "y_value": 5.0
          },
          {
            "x_value": 91.80000305175781,
            "y_value": 5.0
          },
          {
            "x_value": 92.69999694824219,
            "y_value": 5.0
          },
          {
            "x_value": 93.5999984741211,
            "y_value": 5.0
          },
          {
            "x_value": 94.5,
            "y_value": 6.0
          },
          {
            "x_value": 95.4000015258789,
            "y_value": 6.0
          },
          {
            "x_value": 96.30000305175781,
            "y_value": 6.0
          },
          {
            "x_value": 97.19999694824219,
            "y_value": 6.0
          },
          {
            "x_value": 98.0999984741211,
            "y_value": 6.0
          },
          {
            "x_value": 99.0,
            "y_value": 6.0
          },
          {
            "x_value": 99.9000015258789,
            "y_value": 6.0
          },
          {
            "x_value": 100.80000305175781,
            "y_value": 6.0
          },
          {
            "x_value": 101.69999694824219,
            "y_value": 6.0
          },
          {
            "x_value": 102.5999984741211,
            "y_value": 6.0
          },
          {
            "x_value": 103.5,
            "y_value": 6.0
          },
          {
            "x_value": 104.4000015258789,
            "y_value": 7.0
          },
          {
            "x_value": 105.30000305175781,
            "y_value": 7.0
          },
          {
            "x_value": 106.19999694824219,
            "y_value": 7.0
          },
          {
            "x_value": 107.0999984741211,
            "y_value": 7.0
          },
          {
            "x_value": 108.0,
            "y_value": 7.0
          },
          {
            "x_value": 108.9000015258789,
            "y_value": 7.0
          },
          {
            "x_value": 109.80000305175781,
            "y_value": 7.0
          },
          {
            "x_value": 110.69999694824219,
            "y_value": 7.0
          },
          {
            "x_value": 111.5999984741211,
            "y_value": 7.0
          },
          {
            "x_value": 112.5,
            "y_value": 7.0
          },
          {
            "x_value": 113.4000015258789,
            "y_value": 7.0
          },
          {
            "x_value": 114.30000305175781,
            "y_value": 8.0
          },
          {
            "x_value": 115.19999694824219,
            "y_value": 8.0
          },
          {
            "x_value": 116.0999984741211,
            "y_value": 8.0
          },
          {
            "x_value": 117.0,
            "y_value": 8.0
          },
          {
            "x_value": 117.9000015258789,
            "y_value": 8.0
          },
          {
            "x_value": 118.80000305175781,
            "y_value": 8.0
          },
          {
            "x_value": 119.69999694824219,
            "y_value": 8.0
          },
          {
            "x_value": 120.5999984741211,
            "y_value": 8.0
          },
          {
            "x_value": 121.5,
            "y_value": 8.0
          },
          {
            "x_value": 122.4000015258789,
            "y_value": 8.0
          },
          {
            "x_value": 123.30000305175781,
            "y_value": 8.0
          },
          {
            "x_value": 124.19999694824219,
            "y_value": 9.0
          },
          {
            "x_value": 125.0999984741211,
            "y_value": 9.0
          },
          {
            "x_value": 126.0,
            "y_value": 9.0
          },
          {
            "x_value": 126.9000015258789,
            "y_value": 9.0
          },
          {
            "x_value": 127.80000305175781,
            "y_value": 9.0
          },
          {
            "x_value": 128.6999969482422,
            "y_value": 9.0
          },
          {
            "x_value": 129.60000610351562,
            "y_value": 9.0
          },
          {
            "x_value": 130.5,
            "y_value": 9.0
          },
          {
            "x_value": 131.39999389648438,
            "y_value": 9.0
          },
          {
            "x_value": 132.3000030517578,
            "y_value": 9.0
          },
          {
            "x_value": 133.1999969482422,
            "y_value": 9.0
          },
          {
            "x_value": 134.10000610351562,
            "y_value": 10.0
          }
        ],
        "start_points": [
          {
            "x_value": 45.0,
            "y_value": 1.0
          },
          {
            "x_value": 45.900001525878906,
            "y_value": 1.0
          },
          {
            "x_value": 46.79999923706055,
            "y_value": 1.0
          },
          {
            "x_value": 47.70000076293945,
            "y_value": 1.0
          },
          {
            "x_value": 48.599998474121094,
            "y_value": 1.0
          },
          {
            "x_value": 49.5,
            "y_value": 1.0
          },
          {
            "x_value": 50.400001525878906,
            "y_value": 1.0
          },
          {
            "x_value": 51.29999923706055,
            "y_value": 1.0
          },
          {
            "x_value": 52.20000076293945,
            "y_value": 1.0
          },
          {
            "x_value": 53.099998474121094,
            "y_value": 1.0
          },
          {
            "x_value": 54.0,
            "y_value": 1.0
          },
          {
            "x_value": 54.900001525878906,
            "y_value": 2.0
          },
          {
            "x_value": 55.79999923706055,
            "y_value": 2.0
          },
          {
            "x_value": 56.70000076293945,
            "y_value": 2.0
          },
          {
            "x_value": 57.599998474121094,
            "y_value": 2.0
          },
          {
            "x_value": 58.5,
            "y_value": 2.0
          },
          {
            "x_value": 59.400001525878906,
            "y_value": 2.0
          },
          {
            "x_value": 60.29999923706055,
            "y_value": 2.0
          },
          {
            "x_value": 61.20000076293945,
            "y_value": 2.0
          },
          {
            "x_value": 62.099998474121094,
            "y_value": 2.0
          },
          {
            "x_value": 63.0,
            "y_value": 2.0
          },
          {
            "x_value": 63.900001525878906,
            "y_value": 2.0
          },
          {
            "x_value": 64.80000305175781,
            "y_value": 3.0
          },
          {
            "x_value": 65.69999694824219,
            "y_value": 3.0
          },
          {
            "x_value": 66.5999984741211,
            "y_value": 3.0
          },
          {
            "x_value": 67.5,
            "y_value": 3.0
          },
          {
            "x_value": 68.4000015258789,
            "y_value": 3.0
          },
          {
            "x_value": 69.30000305175781,
            "y_value": 3.0
          },
          {
            "x_value": 70.19999694824219,
            "y_value": 3.0
          },
          {
            "x_value": 71.0999984741211,
            "y_value": 3.0
          },
          {
            "x_value": 72.0,
            "y_value": 3.0
          },
          {
            "x_value": 72.9000015258789,
            "y_value": 3.0
          },
          {
            "x_value": 73.80000305175781,
            "y_value": 3.0
          },
          {
            "x_value": 74.69999694824219,
            "y_value": 4.0
          },
          {
            "x_value": 75.5999984741211,
            "y_value": 4.0
          },
          {
            "x_value": 76.5,
            "y_value": 4.0
          },
          {
            "x_value": 77.4000015258789,
            "y_value": 4.0
          },
          {
            "x_value": 78.30000305175781,
            "y_value": 4.0
          },
          {
            "x_value": 79.19999694824219,
            "y_value": 4.0
          },
          {
            "x_value": 80.0999984741211,
            "y_value": 4.0
          },
          {
            "x_value": 81.0,
            "y_value": 4.0
          },
          {
            "x_value": 81.9000015258789,
            "y_value": 4.0
          },
          {
            "x_value": 82.80000305175781,
            "y_value": 4.0
          },
          {
            "x_value": 83.69999694824219,
            "y_value": 4.0
          },
          {
            "x_value": 84.5999984741211,
            "y_value": 5.0
          },
          {
            "x_value": 85.5,
            "y_value": 5.0
          },
          {
            "x_value": 86.4000015258789,
            "y_value": 5.0
          },
          {
            "x_value": 87.30000305175781,
            "y_value": 5.0
          },
          {
            "x_value": 88.19999694824219,
            "y_value": 5.0
          },
          {
            "x_value": 89.0999984741211,
            "y_value": 5.0
          },
          {
            "x_value": 90.0,
            "y_value": 5.0
          },
          {
            "x_value": 90.9000015258789,
            "y_value": 5.0
          },
          {
            "x_value": 91.80000305175781,
            "y_value": 5.0
          },
          {
            "x_value": 92.69999694824219,
            "y_value": 5.0
          },
          {
            "x_value": 93.5999984741211,
            "y_value": 5.0
          },
          {
            "x_value": 94.5,
            "y_value": 6.0
          },
          {
            "x_value": 95.4000015258789,
            "y_value": 6.0
          },
          {
            "x_value": 96.30000305175781,
            "y_value": 6.0
          },
          {
            "x_value": 97.19999694824219,
            "y_value": 6.0
          },
          {
            "x_value": 98.0999984741211,
            "y_value": 6.0
          },
          {
            "x_value": 99.0,
            "y_value": 6.0
          },
          {
            "x_value": 99.9000015258789,
            "y_value": 6.0
          },
          {
            "x_value": 100.80000305175781,
            "y_value": 6.0
          },
          {
            "x_value": 101.69999694824219,
            "y_value": 6.0
          },
          {
            "x_value": 102.5999984741211,
            "y_value": 6.0
          },
          {
            "x_value": 103.5,
            "y_value": 6.0
          },
          {
            "x_value": 104.4000015258789,
            "y_value": 7.0
          },
          {
            "x_value": 105.30000305175781,
            "y_value": 7.0
          },
          {
            "x_value": 106.19999694824219,
            "y_value": 7.0
          },
          {
            "x_value": 107.0999984741211,
            "y_value": 7.0
          },
          {
            "x_value": 108.0,
            "y_value": 7.0
          },
          {
            "x_value": 108.9000015258789,
            "y_value": 7.0
          },
          {
            "x_value": 109.80000305175781,
            "y_value": 7.0
          },
          {
            "x_value": 110.69999694824219,
            "y_value": 7.0
          },
          {
            "x_value": 111.5999984741211,
            "y_value": 7.0
          },
          {
            "x_value": 112.5,
            "y_value": 7.0
          },
          {
            "x_value": 113.4000015258789,
            "y_value": 7.0
          },
          {
            "x_value": 114.30000305175781,
            "y_value": 8.0
          },
          {
            "x_value": 115.19999694824219,
            "y_value": 8.0
          },
          {
            "x_value": 116.0999984741211,
            "y_value": 8.0
          },
          {
            "x_value": 117.0,
            "y_value": 8.0
          },
          {
            "x_value": 117.9000015258789,
            "y_value": 8.0
          },
          {
            "x_value": 118.80000305175781,
            "y_value": 8.0
          },
          {
            "x_value": 119.69999694824219,
            "y_value": 8.0
          },
          {
            "x_value": 120.5999984741211,
            "y_value": 8.0
          },
          {
            "x_value": 121.5,
            "y_value": 8.0
          },
          {
            "x_value": 122.4000015258789,
            "y_value": 8.0
          },
          {
            "x_value": 123.30000305175781,
            "y_value": 8.0
          },
          {
            "x_value": 124.19999694824219,
            "y_value": 9.0
          },
          {
            "x_value": 125.0999984741211,
            "y_value": 9.0
          },
          {
            "x_value": 126.0,
            "y_value": 9.0
          },
          {
            "x_value": 126.9000015258789,
            "y_value": 9.0
          },
          {
            "x_value": 127.80000305175781,
            "y_value": 9.0
          },
          {
            "x_value": 128.6999969482422,
            "y_value": 9.0
          },
          {
            "x_value": 129.60000610351562,
            "y_value": 9.0
          },
          {
            "x_value": 130.5,
            "y_value": 9.0
          },
          {
            "x_value": 131.39999389648438,
            "y_value": 9.0
          },
          {
            "x_value": 132.3000030517578,
            "y_value": 9.0
          },
          {
            "x_value": 133.1999969482422,
            "y_value": 9.0
          },
          {
            "x_value": 134.10000610351562,
            "y_value": 10.0
          }
        ]
      },
      "test_class": "ApiGetHuntClientCompletionStatsHandlerRegressionTest_http_v1",
      "url": "/api/hunts/H:123456/client-completion-stats"
    },
    {
      "api_method": "GetHuntClientCompletionStats",
      "method": "GET",
      "response": {
        "complete_points": [
          {
            "x_value": 45.0,
            "y_value": 1.0
          },
          {
            "x_value": 45.900001525878906,
            "y_value": 1.0
          },
          {
            "x_value": 46.79999923706055,
            "y_value": 1.0
          },
          {
            "x_value": 47.70000076293945,
            "y_value": 1.0
          },
          {
            "x_value": 48.599998474121094,
            "y_value": 1.0
          },
          {
            "x_value": 49.5,
            "y_value": 1.0
          },
          {
            "x_value": 50.400001525878906,
            "y_value": 1.0
          },
          {
            "x_value": 51.29999923706055,
            "y_value": 1.0
          },
          {
            "x_value": 52.20000076293945,
            "y_value": 1.0
          },
          {
            "x_value": 53.099998474121094,
            "y_value": 1.0
          },
          {
            "x_value": 54.0,
            "y_value": 1.0
          },
          {
            "x_value": 54.900001525878906,
            "y_value": 2.0
          },
          {
            "x_value": 55.79999923706055,
            "y_value": 2.0
          },
          {
            "x_value": 56.70000076293945,
            "y_value": 2.0
          },
          {
            "x_value": 57.599998474121094,
            "y_value": 2.0
          },
          {
            "x_value": 58.5,
            "y_value": 2.0
          },
          {
            "x_value": 59.400001525878906,
            "y_value": 2.0
          },
          {
            "x_value": 60.29999923706055,
            "y_value": 2.0
          },
          {
            "x_value": 61.20000076293945,
            "y_value": 2.0
          },
          {
            "x_value": 62.099998474121094,
            "y_value": 2.0
          },
          {
            "x_value": 63.0,
            "y_value": 2.0
          },
          {
            "x_value": 63.900001525878906,
            "y_value": 2.0
          },
          {
            "x_value": 64.80000305175781,
            "y_value": 3.0
          },
          {
            "x_value": 65.69999694824219,
            "y_value": 3.0
          },
          {
            "x_value": 66.5999984741211,
            "y_value": 3.0
          },
          {
            "x_value": 67.5,
            "y_value": 3.0
          },
          {
            "x_value": 68.4000015258789,
            "y_value": 3.0
          },
          {
            "x_value": 69.30000305175781,
            "y_value": 3.0
          },
          {
            "x_value": 70.19999694824219,
            "y_value": 3.0
          },
          {
            "x_value": 71.0999984741211,
            "y_value": 3.0
          },
          {
            "x_value": 72.0,
            "y_value": 3.0
          },
          {
            "x_value": 72.9000015258789,
            "y_value": 3.0
          },
          {
            "x_value": 73.80000305175781,
            "y_value": 3.0
          },
          {
            "x_value": 74.69999694824219,
            "y_value": 4.0
          },
          {
            "x_value": 75.5999984741211,
            "y_value": 4.0
          },
          {
            "x_value": 76.5,
            "y_value": 4.0
          },
          {
            "x_value": 77.4000015258789,
            "y_value": 4.0
          },
          {
            "x_value": 78.30000305175781,
            "y_value": 4.0
          },
          {
            "x_value": 79.19999694824219,
            "y_value": 4.0
          },
          {
            "x_value": 80.0999984741211,
            "y_value": 4.0
          },
          {
            "x_value": 81.0,
            "y_value": 4.0
          },
          {
            "x_value": 81.9000015258789,
            "y_value": 4.0
          },
          {
            "x_value": 82.80000305175781,
            "y_value": 4.0
          },
          {
            "x_value": 83.69999694824219,
            "y_value": 4.0
          },
          {
            "x_value": 84.5999984741211,
            "y_value": 5.0
          },
          {
            "x_value": 85.5,
            "y_value": 5.0
          },
          {
            "x_value": 86.4000015258789,
            "y_value": 5.0
          },
          {
            "x_value": 87.30000305175781,
            "y_value": 5.0
          },
          {
            "x_value": 88.19999694824219,
            "y_value": 5.0
          },
          {
            "x_value": 89.0999984741211,
            "y_value": 5.0
          },
          {
            "x_value": 90.0,
            "y_value": 5.0
          },
          {
            "x_value": 90.9000015258789,
            "y_value": 5.0
          },
          {
            "x_value": 91.80000305175781,
            "y_value": 5.0
          },
          {
            "x_value": 92.69999694824219,
            "y_value": 5.0
          },
          {
            "x_value": 93.5999984741211,
            "y_value": 5.0
          },
          {
            "x_value": 94.5,
            "y_value": 6.0
          },
          {
            "x_value": 95.4000015258789,
            "y_value": 6.0
          },
          {
            "x_value": 96.30000305175781,
            "y_value": 6.0
          },
          {
            "x_value": 97.19999694824219,
            "y_value": 6.0
          },
          {
            "x_value": 98.0999984741211,
            "y_value": 6.0
          },
          {
            "x_value": 99.0,
            "y_value": 6.0
          },
          {
            "x_value": 99.9000015258789,
            "y_value": 6.0
          },
          {
            "x_value": 100.80000305175781,
            "y_value": 6.0
          },
          {
            "x_value": 101.69999694824219,
            "y_value": 6.0
          },
          {
            "x_value": 102.5999984741211,
            "y_value": 6.0
          },
          {
            "x_value": 103.5,
            "y_value": 6.0
          },
          {
            "x_value": 104.4000015258789,
            "y_value": 7.0
          },
          {
            "x_value": 105.30000305175781,
            "y_value": 7.0
          },
          {
            "x_value": 106.19999694824219,
            "y_value": 7.0
          },
          {
            "x_value": 107.0999984741211,
            "y_value": 7.0
          },
          {
            "x_value": 108.0,
            "y_value": 7.0
          },
          {
            "x_value": 108.9000015258789,
            "y_value": 7.0
          },
          {
            "x_value": 109.80000305175781,
            "y_value": 7.0
          },
          {
            "x_value": 110.69999694824219,
            "y_value": 7.0
          },
          {
            "x_value": 111.5999984741211,
            "y_value": 7.0
          },
          {
            "x_value": 112.5,
            "y_value": 7.0
          },
          {
            "x_value": 113.4000015258789,
            "y_value": 7.0
          },
          {
            "x_value": 114.30000305175781,
            "y_value": 8.0
          },
          {
            "x_value": 115.19999694824219,
            "y_value": 8.0
          },
          {
            "x_value": 116.0999984741211,
            "y_value": 8.0
          },
          {
            "x_value": 117.0,
            "y_value": 8.0
          },
          {
            "x_value": 117.9000015258789,
            "y_value": 8.0
          },
          {
            "x_value": 118.80000305175781,
            "y_value": 8.0
          },
          {
            "x_value": 119.69999694824219,
            "y_value": 8.0
          },
          {
            "x_value": 120.5999984741211,
            "y_value": 8.0
          },
          {
            "x_value": 121.5,
            "y_value": 8.0
          },
          {
            "x_value": 122.4000015258789,
            "y_value": 8.0
          },
          {
            "x_value": 123.30000305175781,
            "y_value": 8.0
          },
          {
            "x_value": 124.19999694824219,
            "y_value": 9.0
          },
          {
            "x_value": 125.0999984741211,
            "y_value": 9.0
          },
          {
            "x_value": 126.0,
            "y_value": 9.0
          },
          {
            "x_value": 126.9000015258789,
            "y_value": 9.0
          },
          {
            "x_value": 127.80000305175781,
            "y_value": 9.0
          },
          {
            "x_value": 128.6999969482422,
            "y_value": 9.0
          },
          {
            "x_value": 129.60000610351562,
            "y_value": 9.0
          },
          {
            "x_value": 130.5,
            "y_value": 9.0
          },
          {
            "x_value": 131.39999389648438,
            "y_value": 9.0
          },
          {
            "x_value": 132.3000030517578,
            "y_value": 9.0
          },
          {
            "x_value": 133.1999969482422,
            "y_value": 9.0
          },
          {
            "x_value": 134.10000610351562,
            "y_value": 10.0
          }
        ],
        "start_points": [
          {
            "x_value": 45.0,
            "y_value": 1.0
          },
          {
            "x_value": 45.900001525878906,
            "y_value": 1.0
          },
          {
            "x_value": 46.79999923706055,
            "y_value": 1.0
          },
          {
            "x_value": 47.70000076293945,
            "y_value": 1.0
          },
          {
            "x_value": 48.599998474121094,
            "y_value": 1.0
          },
          {
            "x_value": 49.5,
            "y_value": 1.0
          },
          {
            "x_value": 50.400001525878906,
            "y_value": 1.0
          },
          {
            "x_value": 51.29999923706055,
            "y_value": 1.0
          },
          {
            "x_value": 52.20000076293945,
            "y_value": 1.0
          },
          {
            "x_value": 53.099998474121094,
            "y_value": 1.0
          },
          {
            "x_value": 54.0,
            "y_value": 1.0
          },
          {
            "x_value": 54.900001525878906,
            "y_value": 2.0
          },
          {
            "x_value": 55.79999923706055,
            "y_value": 2.0
          },
          {
            "x_value": 56.70000076293945,
            "y_value": 2.0
          },
          {
            "x_value": 57.599998474121094,
            "y_value": 2.0
          },
          {
            "x_value": 58.5,
            "y_value": 2.0
          },
          {
            "x_value": 59.400001525878906,
            "y_value": 2.0
          },
          {
            "x_value": 60.29999923706055,
            "y_value": 2.0
          },
          {
            "x_value": 61.20000076293945,
            "y_value": 2.0
          },
          {
            "x_value": 62.099998474121094,
            "y_value": 2.0
          },
          {
            "x_value": 63.0,
            "y_value": 2.0
          },
          {
            "x_value": 63.900001525878906,
            "y_value": 2.0
          },
          {
            "x_value": 64.80000305175781,
            "y_value": 3.0
          },
          {
            "x_value": 65.69999694824219,
            "y_value": 3.0
          },
          {
            "x_value": 66.5999984741211,
            "y_value": 3.0
          },
          {
            "x_value": 67.5,
            "y_value": 3.0
          },
          {
            "x_value": 68.4000015258789,
            "y_value": 3.0
          },
          {
            "x_value": 69.30000305175781,
            "y_value": 3.0
          },
          {
            "x_value": 70.19999694824219,
            "y_value": 3.0
          },
          {
            "x_value": 71.0999984741211,
            "y_value": 3.0
          },
          {
            "x_value": 72.0,
            "y_value": 3.0
          },
          {
            "x_value": 72.9000015258789,
            "y_value": 3.0
          },
          {
            "x_value": 73.80000305175781,
            "y_value": 3.0
          },
          {
            "x_value": 74.69999694824219,
            "y_value": 4.0
          },
          {
            "x_value": 75.5999984741211,
            "y_value": 4.0
          },
          {
            "x_value": 76.5,
            "y_value": 4.0
          },
          {
            "x_value": 77.4000015258789,
            "y_value": 4.0
          },
          {
            "x_value": 78.30000305175781,
            "y_value": 4.0
          },
          {
            "x_value": 79.19999694824219,
            "y_value": 4.0
          },
          {
            "x_value": 80.0999984741211,
            "y_value": 4.0
          },
          {
            "x_value": 81.0,
            "y_value": 4.0
          },
          {
            "x_value": 81.9000015258789,
            "y_value": 4.0
          },
          {
            "x_value": 82.80000305175781,
            "y_value": 4.0
          },
          {
            "x_value": 83.69999694824219,
            "y_value": 4.0
          },
          {
            "x_value": 84.5999984741211,
            "y_value": 5.0
          },
          {
            "x_value": 85.5,
            "y_value": 5.0
          },
          {
            "x_value": 86.4000015258789,
            "y_value": 5.0
          },
          {
            "x_value": 87.30000305175781,
            "y_value": 5.0
          },
          {
            "x_value": 88.19999694824219,
            "y_value": 5.0
          },
          {
            "x_value": 89.0999984741211,
            "y_value": 5.0
          },
          {
            "x_value": 90.0,
            "y_value": 5.0
          },
          {
            "x_value": 90.9000015258789,
            "y_value": 5.0
          },
          {
            "x_value": 91.80000305175781,
            "y_value": 5.0
          },
          {
            "x_value": 92.69999694824219,
            "y_value": 5.0
          },
          {
            "x_value": 93.5999984741211,
            "y_value": 5.0
          },
          {
            "x_value": 94.5,
            "y_value": 6.0
          },
          {
            "x_value": 95.4000015258789,
            "y_value": 6.0
          },
          {
            "x_value": 96.30000305175781,
            "y_value": 6.0
          },
          {
            "x_value": 97.19999694824219,
            "y_value": 6.0
          },
          {
            "x_value": 98.0999984741211,
            "y_value": 6.0
          },
          {
            "x_value": 99.0,
            "y_value": 6.0
          },
          {
            "x_value": 99.9000015258789,
            "y_value": 6.0
          },
          {
            "x_value": 100.80000305175781,
            "y_value": 6.0
          },
          {
            "x_value": 101.69999694824219,
            "y_value": 6.0
          },
          {
            "x_value": 102.5999984741211,
            "y_value": 6.0
          },
          {
            "x_value": 103.5,
            "y_value": 6.0
          },
          {
            "x_value": 104.4000015258789,
            "y_value": 7.0
          },
          {
            "x_value": 105.30000305175781,
            "y_value": 7.0
          },
          {
            "x_value": 106.19999694824219,
            "y_value": 7.0
          },
          {
            "x_value": 107.0999984741211,
            "y_value": 7.0
          },
          {
            "x_value": 108.0,
            "y_value": 7.0
          },
          {
            "x_value": 108.9000015258789,
            "y_value": 7.0
          },
          {
            "x_value": 109.80000305175781,
            "y_value": 7.0
          },
          {
            "x_value": 110.69999694824219,
            "y_value": 7.0
          },
          {
            "x_value": 111.5999984741211,
            "y_value": 7.0
          },
          {
            "x_value": 112.5,
            "y_value": 7.0
          },
          {
            "x_value": 113.4000015258789,
            "y_value": 7.0
          },
          {
            "x_value": 114.30000305175781,
            "y_value": 8.0
          },
          {
            "x_value": 115.19999694824219,
            "y_value": 8.0
          },
          {
            "x_value": 116.0999984741211,
            "y_value": 8.0
          },
          {
            "x_value": 117.0,
            "y_value": 8.0
          },
          {
            "x_value": 117.9000015258789,
            "y_value": 8.0
          },
          {
            "x_value": 118.80000305175781,
            "y_value": 8.0
          },
          {
            "x_value": 119.69999694824219,
            "y_value": 8.0
          },
          {
            "x_value": 120.5999984741211,
            "y_value": 8.0
          },
          {
            "x_value": 121.5,
            "y_value": 8.0
          },
          {
            "x_value": 122.4000015258789,
            "y_value": 8.0
          },
          {
            "x_value": 123.30000305175781,
            "y_value": 8.0
          },
          {
            "x_value": 124.19999694824219,
            "y_value": 9.0
          },
          {
            "x_value": 125.0999984741211,
            "y_value": 9.0
          },
          {
            "x_value": 126.0,
            "y_value": 9.0
          },
          {
            "x_value": 126.9000015258789,
            "y_value": 9.0
          },
          {
            "x_value": 127.80000305175781,
            "y_value": 9.0
          },
          {
            "x_value": 128.6999969482422,
            "y_value": 9.0
          },
          {
            "x_value": 129.60000610351562,
            "y_value": 9.0
          },
          {
            "x_value": 130.5,
            "y_value": 9.0
          },
          {
            "x_value": 131.39999389648438,
            "y_value": 9.0
          },
          {
            "x_value": 132.3000030517578,
            "y_value": 9.0
          },
          {
            "x_value": 133.1999969482422,
            "y_value": 9.0
          },
          {
            "x_value": 134.10000610351562,
            "y_value": 10.0
          }
        ]
      },
      "test_class": "ApiGetHuntClientCompletionStatsHandlerRegressionTest_http_v1",
      "url": "/api/hunts/H:123456/client-completion-stats?size=4"
    },
    {
      "api_method": "GetHuntClientCompletionStats",
      "method": "GET",
      "response": {
        "complete_points": [
          {
            "x_value": 45.0,
            "y_value": 1.0
          },
          {
            "x_value": 45.900001525878906,
            "y_value": 1.0
          },
          {
            "x_value": 46.79999923706055,
            "y_value": 1.0
          },
          {
            "x_value": 47.70000076293945,
            "y_value": 1.0
          },
          {
            "x_value": 48.599998474121094,
            "y_value": 1.0
          },
          {
            "x_value": 49.5,
            "y_value": 1.0
          },
          {
            "x_value": 50.400001525878906,
            "y_value": 1.0
          },
          {
            "x_value": 51.29999923706055,
            "y_value": 1.0
          },
          {
            "x_value": 52.20000076293945,
            "y_value": 1.0
          },
          {
            "x_value": 53.099998474121094,
            "y_value": 1.0
          },
          {
            "x_value": 54.0,
            "y_value": 1.0
          },
          {
            "x_value": 54.900001525878906,
            "y_value": 2.0
          },
          {
            "x_value": 55.79999923706055,
            "y_value": 2.0
          },
          {
            "x_value": 56.70000076293945,
            "y_value": 2.0
          },
          {
            "x_value": 57.599998474121094,
            "y_value": 2.0
          },
          {
            "x_value": 58.5,
            "y_value": 2.0
          },
          {
            "x_value": 59.400001525878906,
            "y_value": 2.0
          },
          {
            "x_value": 60.29999923706055,
            "y_value": 2.0
          },
          {
            "x_value": 61.20000076293945,
            "y_value": 2.0
          },
          {
            "x_value": 62.099998474121094,
            "y_value": 2.0
          },
          {
            "x_value": 63.0,
            "y_value": 2.0
          },
          {
            "x_value": 63.900001525878906,
            "y_value": 2.0
          },
          {
            "x_value": 64.80000305175781,
            "y_value": 3.0
          },
          {
            "x_value": 65.69999694824219,
            "y_value": 3.0
          },
          {
            "x_value": 66.5999984741211,
            "y_value": 3.0
          },
          {
            "x_value": 67.5,
            "y_value": 3.0
          },
          {
            "x_value": 68.4000015258789,
            "y_value": 3.0
          },
          {
            "x_value": 69.30000305175781,
            "y_value": 3.0
          },
          {
            "x_value": 70.19999694824219,
            "y_value": 3.0
          },
          {
            "x_value": 71.0999984741211,
            "y_value": 3.0
          },
          {
            "x_value": 72.0,
            "y_value": 3.0
          },
          {
            "x_value": 72.9000015258789,
            "y_value": 3.0
          },
          {
            "x_value": 73.80000305175781,
            "y_value": 3.0
          },
          {
            "x_value": 74.69999694824219,
            "y_value": 4.0
          },
          {
            "x_value": 75.5999984741211,
            "y_value": 4.0
          },
          {
            "x_value": 76.5,
            "y_value": 4.0
          },
          {
            "x_value": 77.4000015258789,
            "y_value": 4.0
          },
          {
            "x_value": 78.30000305175781,
            "y_value": 4.0
          },
          {
            "x_value": 79.19999694824219,
            "y_value": 4.0
          },
          {
            "x_value": 80.0999984741211,
            "y_value": 4.0
          },
          {
            "x_value": 81.0,
            "y_value": 4.0
          },
          {
            "x_value": 81.9000015258789,
            "y_value": 4.0
          },
          {
            "x_value": 82.80000305175781,
            "y_value": 4.0
          },
          {
            "x_value": 83.69999694824219,
            "y_value": 4.0
          },
          {
            "x_value": 84.5999984741211,
            "y_value": 5.0
          },
          {
            "x_value": 85.5,
            "y_value": 5.0
          },
          {
            "x_value": 86.4000015258789,
            "y_value": 5.0
          },
          {
            "x_value": 87.30000305175781,
            "y_value": 5.0
          },
          {
            "x_value": 88.19999694824219,
            "y_value": 5.0
          },
          {
            "x_value": 89.0999984741211,
            "y_value": 5.0
          },
          {
            "x_value": 90.0,
            "y_value": 5.0
          },
          {
            "x_value": 90.9000015258789,
            "y_value": 5.0
          },
          {
            "x_value": 91.80000305175781,
            "y_value": 5.0
          },
          {
            "x_value": 92.69999694824219,
            "y_value": 5.0
          },
          {
            "x_value": 93.5999984741211,
            "y_value": 5.0
          },
          {
            "x_value": 94.5,
            "y_value": 6.0
          },
          {
            "x_value": 95.4000015258789,
            "y_value": 6.0
          },
          {
            "x_value": 96.30000305175781,
            "y_value": 6.0
          },
          {
            "x_value": 97.19999694824219,
            "y_value": 6.0
          },
          {
            "x_value": 98.0999984741211,
            "y_value": 6.0
          },
          {
            "x_value": 99.0,
            "y_value": 6.0
          },
          {
            "x_value": 99.9000015258789,
            "y_value": 6.0
          },
          {
            "x_value": 100.80000305175781,
            "y_value": 6.0
          },
          {
            "x_value": 101.69999694824219,
            "y_value": 6.0
          },
          {
            "x_value": 102.5999984741211,
            "y_value": 6.0
          },
          {
            "x_value": 103.5,
            "y_value": 6.0
          },
          {
            "x_value": 104.4000015258789,
            "y_value": 7.0
          },
          {
            "x_value": 105.30000305175781,
            "y_value": 7.0
          },
          {
            "x_value": 106.19999694824219,
            "y_value": 7.0
          },
          {
            "x_value": 107.0999984741211,
            "y_value": 7.0
          },
          {
            "x_value": 108.0,
            "y_value": 7.0
          },
          {
            "x_value": 108.9000015258789,
            "y_value": 7.0
          },
          {
            "x_value": 109.80000305175781,
            "y_value": 7.0
          },
          {
            "x_value": 110.69999694824219,
            "y_value": 7.0
          },
          {
            "x_value": 111.5999984741211,
            "y_value": 7.0
          },
          {
            "x_value": 112.5,
            "y_value": 7.0
          },
          {
            "x_value": 113.4000015258789,
            "y_value": 7.0
          },
          {
            "x_value": 114.30000305175781,
            "y_value": 8.0
          },
          {
            "x_value": 115.19999694824219,
            "y_value": 8.0
          },
          {
            "x_value": 116.0999984741211,
            "y_value": 8.0
          },
          {
            "x_value": 117.0,
            "y_value": 8.0
          },
          {
            "x_value": 117.9000015258789,
            "y_value": 8.0
          },
          {
            "x_value": 118.80000305175781,
            "y_value": 8.0
          },
          {
            "x_value": 119.69999694824219,
            "y_value": 8.0
          },
          {
            "x_value": 120.5999984741211,
            "y_value": 8.0
          },
          {
            "x_value": 121.5,
            "y_value": 8.0
          },
          {
            "x_value": 122.4000015258789,
            "y_value": 8.0
          },
          {
            "x_value": 123.30000305175781,
            "y_value": 8.0
          },
          {
            "x_value": 124.19999694824219,
            "y_value": 9.0
          },
          {
            "x_value": 125.0999984741211,
            "y_value": 9.0
          },
          {
            "x_value": 126.0,
            "y_value": 9.0
          },
          {
            "x_value": 126.9000015258789,
            "y_value": 9.0
          },
          {
            "x_value": 127.80000305175781,
            "y_value": 9.0
          },
          {
            "x_value": 128.6999969482422,
            "y_value": 9.0
          },
          {
            "x_value": 129.60000610351562,
            "y_value": 9.0
          },
          {
            "x_value": 130.5,
            "y_value": 9.0
          },
          {
            "x_value": 131.39999389648438,
            "y_value": 9.0
          },
          {
            "x_value": 132.3000030517578,
            "y_value": 9.0
          },
          {
            "x_value": 133.1999969482422,
            "y_value": 9.0
          },
          {
            "x_value": 134.10000610351562,
            "y_value": 10.0
          }
        ],
        "start_points": [
          {
            "x_value": 45.0,
            "y_value": 1.0
          },
          {
            "x_value": 45.900001525878906,
            "y_value": 1.0
          },
          {
            "x_value": 46.79999923706055,
            "y_value": 1.0
          },
          {
            "x_value": 47.70000076293945,
            "y_value": 1.0
          },
          {
            "x_value": 48.599998474121094,
            "y_value": 1.0
          },
          {
            "x_value": 49.5,
            "y_value": 1.0
          },
          {
            "x_value": 50.400001525878906,
            "y_value": 1.0
          },
          {
            "x_value": 51.29999923706055,
            "y_value": 1.0
          },
          {
            "x_value": 52.20000076293945,
            "y_value": 1.0
          },
          {
            "x_value": 53.099998474121094,
            "y_value": 1.0
          },
          {
            "x_value": 54.0,
            "y_value": 1.0
          },
          {
            "x_value": 54.900001525878906,
            "y_value": 2.0
          },
          {
            "x_value": 55.79999923706055,
            "y_value": 2.0
          },
          {
            "x_value": 56.70000076293945,
            "y_value": 2.0
          },
          {
            "x_value": 57.599998474121094,
            "y_value": 2.0
          },
          {
            "x_value": 58.5,
            "y_value": 2.0
          },
          {
            "x_value": 59.400001525878906,
            "y_value": 2.0
          },
          {
            "x_value": 60.29999923706055,
            "y_value": 2.0
          },
          {
            "x_value": 61.20000076293945,
            "y_value": 2.0
          },
          {
            "x_value": 62.099998474121094,
            "y_value": 2.0
          },
          {
            "x_value": 63.0,
            "y_value": 2.0
          },
          {
            "x_value": 63.900001525878906,
            "y_value": 2.0
          },
          {
            "x_value": 64.80000305175781,
            "y_value": 3.0
          },
          {
            "x_value": 65.69999694824219,
            "y_value": 3.0
          },
          {
            "x_value": 66.5999984741211,
            "y_value": 3.0
          },
          {
            "x_value": 67.5,
            "y_value": 3.0
          },
          {
            "x_value": 68.4000015258789,
            "y_value": 3.0
          },
          {
            "x_value": 69.30000305175781,
            "y_value": 3.0
          },
          {
            "x_value": 70.19999694824219,
            "y_value": 3.0
          },
          {
            "x_value": 71.0999984741211,
            "y_value": 3.0
          },
          {
            "x_value": 72.0,
            "y_value": 3.0
          },
          {
            "x_value": 72.9000015258789,
            "y_value": 3.0
          },
          {
            "x_value": 73.80000305175781,
            "y_value": 3.0
          },
          {
            "x_value": 74.69999694824219,
            "y_value": 4.0
          },
          {
            "x_value": 75.5999984741211,
            "y_value": 4.0
          },
          {
            "x_value": 76.5,
            "y_value": 4.0
          },
          {
            "x_value": 77.4000015258789,
            "y_value": 4.0
          },
          {
            "x_value": 78.30000305175781,
            "y_value": 4.0
          },
          {
            "x_value": 79.19999694824219,
            "y_value": 4.0
          },
          {
            "x_value": 80.0999984741211,
            "y_value": 4.0
          },
          {
            "x_value": 81.0,
            "y_value": 4.0
          },
          {
            "x_value": 81.9000015258789,
            "y_value": 4.0
          },
          {
            "x_value": 82.80000305175781,
            "y_value": 4.0
          },
          {
            "x_value": 83.69999694824219,
            "y_value": 4.0
          },
          {
            "x_value": 84.5999984741211,
            "y_value": 5.0
          },
          {
            "x_value": 85.5,
            "y_value": 5.0
          },
          {
            "x_value": 86.4000015258789,
            "y_value": 5.0
          },
          {
            "x_value": 87.30000305175781,
            "y_value": 5.0
          },
          {
            "x_value": 88.19999694824219,
            "y_value": 5.0
          },
          {
            "x_value": 89.0999984741211,
            "y_value": 5.0
          },
          {
            "x_value": 90.0,
            "y_value": 5.0
          },
          {
            "x_value": 90.9000015258789,
            "y_value": 5.0
          },
          {
            "x_value": 91.80000305175781,
            "y_value": 5.0
          },
          {
            "x_value": 92.69999694824219,
            "y_value": 5.0
          },
          {
            "x_value": 93.5999984741211,
            "y_value": 5.0
          },
          {
            "x_value": 94.5,
            "y_value": 6.0
          },
          {
            "x_value": 95.4000015258789,
            "y_value": 6.0
          },
          {
            "x_value": 96.30000305175781,
            "y_value": 6.0
          },
          {
            "x_value": 97.19999694824219,
            "y_value": 6.0
          },
          {
            "x_value": 98.0999984741211,
            "y_value": 6.0
          },
          {
            "x_value": 99.0,
            "y_value": 6.0
          },
          {
            "x_value": 99.9000015258789,
            "y_value": 6.0
          },
          {
            "x_value": 100.80000305175781,
            "y_value": 6.0
          },
          {
            "x_value": 101.69999694824219,
            "y_value": 6.0
          },
          {
            "x_value": 102.5999984741211,
            "y_value": 6.0
          },
          {
            "x_value": 103.5,
            "y_value": 6.0
          },
          {
            "x_value": 104.4000015258789,
            "y_value": 7.0
          },
          {
            "x_value": 105.30000305175781,
            "y_value": 7.0
          },
          {
            "x_value": 106.19999694824219,
            "y_value": 7.0
          },
          {
            "x_value": 107.0999984741211,
            "y_value": 7.0
          },
          {
            "x_value": 108.0,
            "y_value": 7.0
          },
          {
            "x_value": 108.9000015258789,
            "y_value": 7.0
          },
          {
            "x_value": 109.80000305175781,
            "y_value": 7.0
          },
          {
            "x_value": 110.69999694824219,
            "y_value": 7.0
          },
          {
            "x_value": 111.5999984741211,
            "y_value": 7.0
          },
          {
            "x_value": 112.5,
            "y_value": 7.0
          },
          {
            "x_value": 113.4000015258789,
            "y_value": 7.0
          },
          {
            "x_value": 114.30000305175781,
            "y_value": 8.0
          },
          {
            "x_value": 115.19999694824219,
            "y_value": 8.0
          },
          {
            "x_value": 116.0999984741211,
            "y_value": 8.0
          },
          {
            "x_value": 117.0,
            "y_value": 8.0
          },
          {
            "x_value": 117.9000015258789,
            "y_value": 8.0
          },
          {
            "x_value": 118.80000305175781,
            "y_value": 8.0
          },
          {
            "x_value": 119.69999694824219,
            "y_value": 8.0
          },
          {
            "x_value": 120.5999984741211,
            "y_value": 8.0
          },
          {
            "x_value": 121.5,
            "y_value": 8.0
          },
          {
            "x_value": 122.4000015258789,
            "y_value": 8.0
          },
          {
            "x_value": 123.30000305175781,
            "y_value": 8.0
          },
          {
            "x_value": 124.19999694824219,
            "y_value": 9.0
          },
          {
            "x_value": 125.0999984741211,
            "y_value": 9.0
          },
          {
            "x_value": 126.0,
            "y_value": 9.0
          },
          {
            "x_value": 126.9000015258789,
            "y_value": 9.0
          },
          {
            "x_value": 127.80000305175781,
            "y_value": 9.0
          },
          {
            "x_value": 128.6999969482422,
            "y_value": 9.0
          },
          {
            "x_value": 129.60000610351562,
            "y_value": 9.0
          },
          {
            "x_value": 130.5,
            "y_value": 9.0
          },
          {
            "x_value": 131.39999389648438,
            "y_value": 9.0
          },
          {
            "x_value": 132.3000030517578,
            "y_value": 9.0
          },
          {
            "x_value": 133.1999969482422,
            "y_value": 9.0
          },
          {
            "x_value": 134.10000610351562,
            "y_value": 10.0
          }
        ]
      },
      "test_class": "ApiGetHuntClientCompletionStatsHandlerRegressionTest_http_v1",
      "url": "/api/hunts/H:123456/client-completion-stats?size=100"
    }
  ],
  "ApiGetHuntHandler": [
    {
      "api_method": "GetHunt",
      "method": "GET",
      "response": {
        "type": "ApiHunt",
        "value": {
          "all_clients_count": {
            "type": "long",
            "value": 0
          },
          "client_limit": {
            "type": "long",
            "value": 100
          },
          "client_rate": {
            "type": "float",
            "value": 0.0
          },
          "client_rule_set": {
            "type": "ForemanClientRuleSet",
            "value": {
              "rules": [
                {
                  "type": "ForemanClientRule",
                  "value": {
                    "regex": {
                      "type": "ForemanRegexClientRule",
                      "value": {
                        "attribute_regex": {
                          "type": "RegularExpression",
                          "value": "GRR"
                        },
                        "field": {
                          "type": "EnumNamedValue",
                          "value": "CLIENT_NAME"
                        }
                      }
                    },
                    "rule_type": {
                      "type": "EnumNamedValue",
                      "value": "REGEX"
                    }
                  }
                }
              ]
            }
          },
          "clients_with_results_count": {
            "type": "long",
            "value": 0
          },
          "completed_clients_count": {
            "type": "long",
            "value": 0
          },
          "crash_limit": {
            "type": "long",
            "value": 100
          },
          "crashed_clients_count": {
            "type": "long",
            "value": 0
          },
          "created": {
            "type": "RDFDatetime",
            "value": 42000000
          },
          "creator": {
            "type": "unicode",
            "value": "api_test_user"
          },
          "description": {
            "type": "unicode",
            "value": "the hunt"
          },
          "duration": {
            "type": "DurationSeconds",
            "value": 1209600
          },
          "failed_clients_count": {
            "type": "long",
            "value": 0
          },
          "flow_args": {
            "type": "FileFinderArgs",
            "value": {
              "action": {
                "type": "FileFinderAction",
                "value": {
                  "action_type": {
                    "type": "EnumNamedValue",
                    "value": "DOWNLOAD"
                  },
                  "download": {
                    "type": "FileFinderDownloadActionOptions",
                    "value": {
                      "collect_ext_attrs": {
                        "type": "bool",
                        "value": false
                      }
                    }
                  }
                }
              },
              "paths": [
                {
                  "type": "GlobExpression",
                  "value": "/tmp/evil.txt"
                }
              ],
              "pathtype": {
                "type": "EnumNamedValue",
                "value": "OS"
              }
            }
          },
          "flow_name": {
            "type": "unicode",
            "value": "ClientFileFinder"
          },
          "hunt_id": {
            "type": "ApiHuntId",
            "value": "H:123456"
          },
          "hunt_runner_args": {
            "type": "HuntRunnerArgs",
            "value": {
              "avg_cpu_seconds_per_client_limit": {
                "type": "long",
                "value": 60
              },
              "avg_network_bytes_per_client_limit": {
                "type": "long",
                "value": 10485760
              },
              "avg_results_per_client_limit": {
                "type": "long",
                "value": 1000
              },
              "client_limit": {
                "type": "long",
                "value": 100
              },
              "client_rate": {
                "type": "float",
                "value": 0.0
              },
              "client_rule_set": {
                "type": "ForemanClientRuleSet",
                "value": {
                  "rules": [
                    {
                      "type": "ForemanClientRule",
                      "value": {
                        "regex": {
                          "type": "ForemanRegexClientRule",
                          "value": {
                            "attribute_regex": {
                              "type": "RegularExpression",
                              "value": "GRR"
                            },
                            "field": {
                              "type": "EnumNamedValue",
                              "value": "CLIENT_NAME"
                            }
                          }
                        },
                        "rule_type": {
                          "type": "EnumNamedValue",
                          "value": "REGEX"
                        }
                      }
                    }
                  ]
                }
              },
              "crash_limit": {
                "type": "long",
                "value": 100
              },
              "description": {
                "type": "unicode",
                "value": "the hunt"
              },
              "expiry_time": {
                "type": "DurationSeconds",
                "value": 1209600
              },
              "hunt_name": {
                "type": "unicode",
                "value": "GenericHunt"
              },
              "original_object": {
                "type": "FlowLikeObjectReference",
                "value": {
                  "flow_reference": {
                    "type": "FlowReference",
                    "value": {
                      "client_id": {
                        "type": "unicode",
                        "value": "C.1111111111111111"
                      },
                      "flow_id": {
                        "type": "unicode",
                        "value": "F:332211"
                      }
                    }
                  },
                  "object_type": {
                    "type": "EnumNamedValue",
                    "value": "FLOW_REFERENCE"
                  }
                }
              }
            }
          },
          "hunt_type": {
            "type": "EnumNamedValue",
            "value": "STANDARD"
          },
          "is_robot": {
            "type": "bool",
            "value": false
          },
          "name": {
            "type": "unicode",
            "value": "GenericHunt"
          },
          "original_object": {
            "type": "ApiFlowLikeObjectReference",
            "value": {
              "flow_reference": {
                "type": "ApiFlowReference",
                "value": {
                  "client_id": {
                    "type": "ApiClientId",
                    "value": "C.1111111111111111"
                  },
                  "flow_id": {
                    "type": "ApiFlowId",
                    "value": "F:332211"
                  }
                }
              },
              "object_type": {
                "type": "EnumNamedValue",
                "value": "FLOW_REFERENCE"
              }
            }
          },
          "remaining_clients_count": {
            "type": "long",
            "value": 0
          },
          "results_count": {
            "type": "long",
            "value": 0
          },
          "state": {
            "type": "EnumNamedValue",
            "value": "PAUSED"
          },
          "state_comment": {
            "type": "unicode",
            "value": ""
          },
          "state_reason": {
            "type": "EnumNamedValue",
            "value": "UNKNOWN"
          },
          "total_cpu_usage": {
            "type": "float",
            "value": 0.0
          },
          "total_net_usage": {
            "type": "long",
            "value": 0
          },
          "urn": {
            "type": "SessionID",
            "value": "aff4:/hunts/H:123456"
          }
        }
      },
      "test_class": "ApiGetHuntHandlerFlowCopyRegressionTest_http_v1",
      "type_stripped_response": {
        "all_clients_count": 0,
        "client_limit": 100,
        "client_rate": 0.0,
        "client_rule_set": {
          "rules": [
            {
              "regex": {
                "attribute_regex": "GRR",
                "field": "CLIENT_NAME"
              },
              "rule_type": "REGEX"
            }
          ]
        },
        "clients_with_results_count": 0,
        "completed_clients_count": 0,
        "crash_limit": 100,
        "crashed_clients_count": 0,
        "created": 42000000,
        "creator": "api_test_user",
        "description": "the hunt",
        "duration": 1209600,
        "failed_clients_count": 0,
        "flow_args": {
          "action": {
            "action_type": "DOWNLOAD",
            "download": {
              "collect_ext_attrs": false
            }
          },
          "paths": [
            "/tmp/evil.txt"
          ],
          "pathtype": "OS"
        },
        "flow_name": "ClientFileFinder",
        "hunt_id": "H:123456",
        "hunt_runner_args": {
          "avg_cpu_seconds_per_client_limit": 60,
          "avg_network_bytes_per_client_limit": 10485760,
          "avg_results_per_client_limit": 1000,
          "client_limit": 100,
          "client_rate": 0.0,
          "client_rule_set": {
            "rules": [
              {
                "regex": {
                  "attribute_regex": "GRR",
                  "field": "CLIENT_NAME"
                },
                "rule_type": "REGEX"
              }
            ]
          },
          "crash_limit": 100,
          "description": "the hunt",
          "expiry_time": 1209600,
          "hunt_name": "GenericHunt",
          "original_object": {
            "flow_reference": {
              "client_id": "C.1111111111111111",
              "flow_id": "F:332211"
            },
            "object_type": "FLOW_REFERENCE"
          }
        },
        "hunt_type": "STANDARD",
        "is_robot": false,
        "name": "GenericHunt",
        "original_object": {
          "flow_reference": {
            "client_id": "C.1111111111111111",
            "flow_id": "F:332211"
          },
          "object_type": "FLOW_REFERENCE"
        },
        "remaining_clients_count": 0,
        "results_count": 0,
        "state": "PAUSED",
        "state_comment": "",
        "state_reason": "UNKNOWN",
        "total_cpu_usage": 0.0,
        "total_net_usage": 0,
        "urn": "aff4:/hunts/H:123456"
      },
      "url": "/api/hunts/H:123456"
    },
    {
      "api_method": "GetHunt",
      "method": "GET",
      "response": {
        "type": "ApiHunt",
        "value": {
          "all_clients_count": {
            "type": "long",
            "value": 0
          },
          "client_limit": {
            "type": "long",
            "value": 100
          },
          "client_rate": {
            "type": "float",
            "value": 0.0
          },
          "client_rule_set": {
            "type": "ForemanClientRuleSet",
            "value": {
              "rules": [
                {
                  "type": "ForemanClientRule",
                  "value": {
                    "regex": {
                      "type": "ForemanRegexClientRule",
                      "value": {
                        "attribute_regex": {
                          "type": "RegularExpression",
                          "value": "GRR"
                        },
                        "field": {
                          "type": "EnumNamedValue",
                          "value": "CLIENT_NAME"
                        }
                      }
                    },
                    "rule_type": {
                      "type": "EnumNamedValue",
                      "value": "REGEX"
                    }
                  }
                }
              ]
            }
          },
          "clients_with_results_count": {
            "type": "long",
            "value": 0
          },
          "completed_clients_count": {
            "type": "long",
            "value": 0
          },
          "crash_limit": {
            "type": "long",
            "value": 100
          },
          "crashed_clients_count": {
            "type": "long",
            "value": 0
          },
          "created": {
            "type": "RDFDatetime",
            "value": 42000000
          },
          "creator": {
            "type": "unicode",
            "value": "api_test_user"
          },
          "description": {
            "type": "unicode",
            "value": "the hunt"
          },
          "duration": {
            "type": "DurationSeconds",
            "value": 1209600
          },
          "failed_clients_count": {
            "type": "long",
            "value": 0
          },
          "flow_args": {
            "type": "FileFinderArgs",
            "value": {
              "action": {
                "type": "FileFinderAction",
                "value": {
                  "action_type": {
                    "type": "EnumNamedValue",
                    "value": "DOWNLOAD"
                  },
                  "download": {
                    "type": "FileFinderDownloadActionOptions",
                    "value": {
                      "collect_ext_attrs": {
                        "type": "bool",
                        "value": false
                      }
                    }
                  }
                }
              },
              "paths": [
                {
                  "type": "GlobExpression",
                  "value": "/tmp/evil.txt"
                }
              ],
              "pathtype": {
                "type": "EnumNamedValue",
                "value": "OS"
              }
            }
          },
          "flow_name": {
            "type": "unicode",
            "value": "ClientFileFinder"
          },
          "hunt_id": {
            "type": "ApiHuntId",
            "value": "H:123456"
          },
          "hunt_runner_args": {
            "type": "HuntRunnerArgs",
            "value": {
              "avg_cpu_seconds_per_client_limit": {
                "type": "long",
                "value": 60
              },
              "avg_network_bytes_per_client_limit": {
                "type": "long",
                "value": 10485760
              },
              "avg_results_per_client_limit": {
                "type": "long",
                "value": 1000
              },
              "client_limit": {
                "type": "long",
                "value": 100
              },
              "client_rate": {
                "type": "float",
                "value": 0.0
              },
              "client_rule_set": {
                "type": "ForemanClientRuleSet",
                "value": {
                  "rules": [
                    {
                      "type": "ForemanClientRule",
                      "value": {
                        "regex": {
                          "type": "ForemanRegexClientRule",
                          "value": {
                            "attribute_regex": {
                              "type": "RegularExpression",
                              "value": "GRR"
                            },
                            "field": {
                              "type": "EnumNamedValue",
                              "value": "CLIENT_NAME"
                            }
                          }
                        },
                        "rule_type": {
                          "type": "EnumNamedValue",
                          "value": "REGEX"
                        }
                      }
                    }
                  ]
                }
              },
              "crash_limit": {
                "type": "long",
                "value": 100
              },
              "description": {
                "type": "unicode",
                "value": "the hunt"
              },
              "expiry_time": {
                "type": "DurationSeconds",
                "value": 1209600
              },
              "hunt_name": {
                "type": "unicode",
                "value": "GenericHunt"
              },
              "original_object": {
                "type": "FlowLikeObjectReference",
                "value": {
                  "hunt_reference": {
                    "type": "HuntReference",
                    "value": {
                      "hunt_id": {
                        "type": "unicode",
                        "value": "H:332211"
                      }
                    }
                  },
                  "object_type": {
                    "type": "EnumNamedValue",
                    "value": "HUNT_REFERENCE"
                  }
                }
              }
            }
          },
          "hunt_type": {
            "type": "EnumNamedValue",
            "value": "STANDARD"
          },
          "is_robot": {
            "type": "bool",
            "value": false
          },
          "name": {
            "type": "unicode",
            "value": "GenericHunt"
          },
          "original_object": {
            "type": "ApiFlowLikeObjectReference",
            "value": {
              "hunt_reference": {
                "type": "ApiHuntReference",
                "value": {
                  "hunt_id": {
                    "type": "ApiHuntId",
                    "value": "H:332211"
                  }
                }
              },
              "object_type": {
                "type": "EnumNamedValue",
                "value": "HUNT_REFERENCE"
              }
            }
          },
          "remaining_clients_count": {
            "type": "long",
            "value": 0
          },
          "results_count": {
            "type": "long",
            "value": 0
          },
          "state": {
            "type": "EnumNamedValue",
            "value": "PAUSED"
          },
          "state_comment": {
            "type": "unicode",
            "value": ""
          },
          "state_reason": {
            "type": "EnumNamedValue",
            "value": "UNKNOWN"
          },
          "total_cpu_usage": {
            "type": "float",
            "value": 0.0
          },
          "total_net_usage": {
            "type": "long",
            "value": 0
          },
          "urn": {
            "type": "SessionID",
            "value": "aff4:/hunts/H:123456"
          }
        }
      },
      "test_class": "ApiGetHuntHandlerHuntCopyRegressionTest_http_v1",
      "type_stripped_response": {
        "all_clients_count": 0,
        "client_limit": 100,
        "client_rate": 0.0,
        "client_rule_set": {
          "rules": [
            {
              "regex": {
                "attribute_regex": "GRR",
                "field": "CLIENT_NAME"
              },
              "rule_type": "REGEX"
            }
          ]
        },
        "clients_with_results_count": 0,
        "completed_clients_count": 0,
        "crash_limit": 100,
        "crashed_clients_count": 0,
        "created": 42000000,
        "creator": "api_test_user",
        "description": "the hunt",
        "duration": 1209600,
        "failed_clients_count": 0,
        "flow_args": {
          "action": {
            "action_type": "DOWNLOAD",
            "download": {
              "collect_ext_attrs": false
            }
          },
          "paths": [
            "/tmp/evil.txt"
          ],
          "pathtype": "OS"
        },
        "flow_name": "ClientFileFinder",
        "hunt_id": "H:123456",
        "hunt_runner_args": {
          "avg_cpu_seconds_per_client_limit": 60,
          "avg_network_bytes_per_client_limit": 10485760,
          "avg_results_per_client_limit": 1000,
          "client_limit": 100,
          "client_rate": 0.0,
          "client_rule_set": {
            "rules": [
              {
                "regex": {
                  "attribute_regex": "GRR",
                  "field": "CLIENT_NAME"
                },
                "rule_type": "REGEX"
              }
            ]
          },
          "crash_limit": 100,
          "description": "the hunt",
          "expiry_time": 1209600,
          "hunt_name": "GenericHunt",
          "original_object": {
            "hunt_reference": {
              "hunt_id": "H:332211"
            },
            "object_type": "HUNT_REFERENCE"
          }
        },
        "hunt_type": "STANDARD",
        "is_robot": false,
        "name": "GenericHunt",
        "original_object": {
          "hunt_reference": {
            "hunt_id": "H:332211"
          },
          "object_type": "HUNT_REFERENCE"
        },
        "remaining_clients_count": 0,
        "results_count": 0,
        "state": "PAUSED",
        "state_comment": "",
        "state_reason": "UNKNOWN",
        "total_cpu_usage": 0.0,
        "total_net_usage": 0,
        "urn": "aff4:/hunts/H:123456"
      },
      "url": "/api/hunts/H:123456"
    },
    {
      "api_method": "GetHunt",
      "method": "GET",
      "response": {
        "type": "ApiHunt",
        "value": {
          "all_clients_count": {
            "type": "long",
            "value": 0
          },
          "client_limit": {
            "type": "long",
            "value": 100
          },
          "client_rate": {
            "type": "float",
            "value": 0.0
          },
          "client_rule_set": {
            "type": "ForemanClientRuleSet",
            "value": {
              "rules": [
                {
                  "type": "ForemanClientRule",
                  "value": {
                    "regex": {
                      "type": "ForemanRegexClientRule",
                      "value": {
                        "attribute_regex": {
                          "type": "RegularExpression",
                          "value": "GRR"
                        },
                        "field": {
                          "type": "EnumNamedValue",
                          "value": "CLIENT_NAME"
                        }
                      }
                    },
                    "rule_type": {
                      "type": "EnumNamedValue",
                      "value": "REGEX"
                    }
                  }
                }
              ]
            }
          },
          "clients_with_results_count": {
            "type": "long",
            "value": 0
          },
          "completed_clients_count": {
            "type": "long",
            "value": 0
          },
          "crash_limit": {
            "type": "long",
            "value": 100
          },
          "crashed_clients_count": {
            "type": "long",
            "value": 0
          },
          "created": {
            "type": "RDFDatetime",
            "value": 42000000
          },
          "creator": {
            "type": "unicode",
            "value": "api_test_user"
          },
          "description": {
            "type": "unicode",
            "value": "the hunt"
          },
          "duration": {
            "type": "DurationSeconds",
            "value": 1209600
          },
          "failed_clients_count": {
            "type": "long",
            "value": 0
          },
          "flow_args": {
            "type": "FileFinderArgs",
            "value": {
              "action": {
                "type": "FileFinderAction",
                "value": {
                  "action_type": {
                    "type": "EnumNamedValue",
                    "value": "DOWNLOAD"
                  },
                  "download": {
                    "type": "FileFinderDownloadActionOptions",
                    "value": {
                      "collect_ext_attrs": {
                        "type": "bool",
                        "value": false
                      }
                    }
                  }
                }
              },
              "paths": [
                {
                  "type": "GlobExpression",
                  "value": "/tmp/evil.txt"
                }
              ],
              "pathtype": {
                "type": "EnumNamedValue",
                "value": "OS"
              }
            }
          },
          "flow_name": {
            "type": "unicode",
            "value": "ClientFileFinder"
          },
          "hunt_id": {
            "type": "ApiHuntId",
            "value": "H:123456"
          },
          "hunt_runner_args": {
            "type": "HuntRunnerArgs",
            "value": {
              "avg_cpu_seconds_per_client_limit": {
                "type": "long",
                "value": 60
              },
              "avg_network_bytes_per_client_limit": {
                "type": "long",
                "value": 10485760
              },
              "avg_results_per_client_limit": {
                "type": "long",
                "value": 1000
              },
              "client_limit": {
                "type": "long",
                "value": 100
              },
              "client_rate": {
                "type": "float",
                "value": 0.0
              },
              "client_rule_set": {
                "type": "ForemanClientRuleSet",
                "value": {
                  "rules": [
                    {
                      "type": "ForemanClientRule",
                      "value": {
                        "regex": {
                          "type": "ForemanRegexClientRule",
                          "value": {
                            "attribute_regex": {
                              "type": "RegularExpression",
                              "value": "GRR"
                            },
                            "field": {
                              "type": "EnumNamedValue",
                              "value": "CLIENT_NAME"
                            }
                          }
                        },
                        "rule_type": {
                          "type": "EnumNamedValue",
                          "value": "REGEX"
                        }
                      }
                    }
                  ]
                }
              },
              "crash_limit": {
                "type": "long",
                "value": 100
              },
              "description": {
                "type": "unicode",
                "value": "the hunt"
              },
              "expiry_time": {
                "type": "DurationSeconds",
                "value": 1209600
              },
              "hunt_name": {
                "type": "unicode",
                "value": "GenericHunt"
              },
              "original_object": {
                "type": "FlowLikeObjectReference",
                "value": {}
              }
            }
          },
          "hunt_type": {
            "type": "EnumNamedValue",
            "value": "STANDARD"
          },
          "is_robot": {
            "type": "bool",
            "value": false
          },
          "name": {
            "type": "unicode",
            "value": "GenericHunt"
          },
          "remaining_clients_count": {
            "type": "long",
            "value": 0
          },
          "results_count": {
            "type": "long",
            "value": 0
          },
          "state": {
            "type": "EnumNamedValue",
            "value": "PAUSED"
          },
          "state_comment": {
            "type": "unicode",
            "value": ""
          },
          "state_reason": {
            "type": "EnumNamedValue",
            "value": "UNKNOWN"
          },
          "total_cpu_usage": {
            "type": "float",
            "value": 0.0
          },
          "total_net_usage": {
            "type": "long",
            "value": 0
          },
          "urn": {
            "type": "SessionID",
            "value": "aff4:/hunts/H:123456"
          }
        }
      },
      "test_class": "ApiGetHuntHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "all_clients_count": 0,
        "client_limit": 100,
        "client_rate": 0.0,
        "client_rule_set": {
          "rules": [
            {
              "regex": {
                "attribute_regex": "GRR",
                "field": "CLIENT_NAME"
              },
              "rule_type": "REGEX"
            }
          ]
        },
        "clients_with_results_count": 0,
        "completed_clients_count": 0,
        "crash_limit": 100,
        "crashed_clients_count": 0,
        "created": 42000000,
        "creator": "api_test_user",
        "description": "the hunt",
        "duration": 1209600,
        "failed_clients_count": 0,
        "flow_args": {
          "action": {
            "action_type": "DOWNLOAD",
            "download": {
              "collect_ext_attrs": false
            }
          },
          "paths": [
            "/tmp/evil.txt"
          ],
          "pathtype": "OS"
        },
        "flow_name": "ClientFileFinder",
        "hunt_id": "H:123456",
        "hunt_runner_args": {
          "avg_cpu_seconds_per_client_limit": 60,
          "avg_network_bytes_per_client_limit": 10485760,
          "avg_results_per_client_limit": 1000,
          "client_limit": 100,
          "client_rate": 0.0,
          "client_rule_set": {
            "rules": [
              {
                "regex": {
                  "attribute_regex": "GRR",
                  "field": "CLIENT_NAME"
                },
                "rule_type": "REGEX"
              }
            ]
          },
          "crash_limit": 100,
          "description": "the hunt",
          "expiry_time": 1209600,
          "hunt_name": "GenericHunt",
          "original_object": {}
        },
        "hunt_type": "STANDARD",
        "is_robot": false,
        "name": "GenericHunt",
        "remaining_clients_count": 0,
        "results_count": 0,
        "state": "PAUSED",
        "state_comment": "",
        "state_reason": "UNKNOWN",
        "total_cpu_usage": 0.0,
        "total_net_usage": 0,
        "urn": "aff4:/hunts/H:123456"
      },
      "url": "/api/hunts/H:123456"
    }
  ],
  "ApiGetHuntResultsExportCommandHandler": [
    {
      "api_method": "GetHuntResultsExportCommand",
      "method": "GET",
      "response": {
        "command": "/usr/bin/grr_api_shell 'http://localhost:8000/' --exec_code 'grrapi.Hunt(\"H:123456\").GetFilesArchive().WriteToFile(\"./hunt_results_H_123456.zip\")'"
      },
      "test_class": "ApiGetHuntResultsExportCommandHandlerRegressionTest_http_v1",
      "url": "/api/hunts/H:123456/results/export-command"
    }
  ],
  "ApiGetHuntStatsHandler": [
    {
      "api_method": "GetHuntStats",
      "method": "GET",
      "response": {
        "stats": {
          "type": "ClientResourcesStats",
          "value": {
            "network_bytes_sent_stats": {
              "type": "RunningStats",
              "value": {
                "histogram": {
                  "type": "StatsHistogram",
                  "value": {
                    "bins": [
                      {
                        "type": "StatsHistogramBin",
                        "value": {
                          "num": {
                            "type": "long",
                            "value": 1
                          },
                          "range_max_value": {
                            "type": "float",
                            "value": 16.0
                          }
                        }
                      },
                      {
                        "type": "StatsHistogramBin",
                        "value": {
                          "range_max_value": {
                            "type": "float",
                            "value": 32.0
                          }
                        }
                      },
                      {
                        "type": "StatsHistogramBin",
                        "value": {
                          "range_max_value": {
                            "type": "float",
                            "value": 64.0
                          }
                        }
                      },
                      {
                        "type": "StatsHistogramBin",
                        "value": {
                          "range_max_value": {
                            "type": "float",
                            "value": 128.0
                          }
                        }
                      },
                      {
                        "type": "StatsHistogramBin",
                        "value": {
                          "range_max_value": {
                            "type": "float",
                            "value": 256.0
                          }
                        }
                      },
                      {
                        "type": "StatsHistogramBin",
                        "value": {
                          "range_max_value": {
                            "type": "float",
                            "value": 512.0
                          }
                        }
                      },
                      {
                        "type": "StatsHistogramBin",
                        "value": {
                          "range_max_value": {
                            "type": "float",
                            "value": 1024.0
                          }
                        }
                      },
                      {
                        "type": "StatsHistogramBin",
                        "value": {
                          "range_max_value": {
                            "type": "float",
                            "value": 2048.0
                          }
                        }
                      },
                      {
                        "type": "StatsHistogramBin",
                        "value": {
                          "range_max_value": {
                            "type": "float",
                            "value": 4096.0
                          }
                        }
                      },
                      {
                        "type": "StatsHistogramBin",
                        "value": {
                          "range_max_value": {
                            "type": "float",
                            "value": 8192.0
                          }
                        }
                      },
                      {
                        "type": "StatsHistogramBin",
                        "value": {
                          "range_max_value": {
                            "type": "float",
                            "value": 16384.0
                          }
                        }
                      },
                      {
                        "type": "StatsHistogramBin",
                        "value": {
                          "range_max_value": {
                            "type": "float",
                            "value": 32768.0
                          }
                        }
                      },
                      {
                        "type": "StatsHistogramBin",
                        "value": {
                          "range_max_value": {
                            "type": "float",
                            "value": 65536.0
                          }
                        }
                      },
                      {
                        "type": "StatsHistogramBin",
                        "value": {
                          "range_max_value": {
                            "type": "float",
                            "value": 131072.0
                          }
                        }
                      },
                      {
                        "type": "StatsHistogramBin",
                        "value": {
                          "range_max_value": {
                            "type": "float",
                            "value": 262144.0
                          }
                        }
                      },
                      {
                        "type": "StatsHistogramBin",
                        "value": {
                          "range_max_value": {
                            "type": "float",
                            "value": 524288.0
                          }
                        }
                      },
                      {
                        "type": "StatsHistogramBin",
                        "value": {
                          "range_max_value": {
                            "type": "float",
                            "value": 1048576.0
                          }
                        }
                      },
                      {
                        "type": "StatsHistogramBin",
                        "value": {
                          "range_max_value": {
                            "type": "float",
                            "value": 2097152.0
                          }
                        }
                      }
                    ]
                  }
                },
                "num": {
                  "type": "long",
                  "value": 1
                },
                "stddev": {
                  "type": "float",
                  "value": 0.0
                },
                "sum": {
                  "type": "float",
                  "value": 3.0
                }
              }
            },
            "system_cpu_stats": {
              "type": "RunningStats",
              "value": {
                "histogram": {
                  "type": "StatsHistogram",
                  "value": {
                    "bins": [
                      {
                        "type": "StatsHistogramBin",
                        "value": {
                          "range_max_value": {
                            "type": "float",
                            "value": 0.10000000149011612
                          }
                        }
                      },
                      {
                        "type": "StatsHistogramBin",
                        "value": {
                          "range_max_value": {
                            "type": "float",
                            "value": 0.20000000298023224
                          }
                        }
                      },
                      {
                        "type": "StatsHistogramBin",
                        "value": {
                          "range_max_value": {
                            "type": "float",
                            "value": 0.30000001192092896
                          }
                        }
                      },
                      {
                        "type": "StatsHistogramBin",
                        "value": {
                          "range_max_value": {
                            "type": "float",
                            "value": 0.4000000059604645
                          }
                        }
                      },
                      {
                        "type": "StatsHistogramBin",
                        "value": {
                          "range_max_value": {
                            "type": "float",
                            "value": 0.5
                          }
                        }
                      },
                      {
                        "type": "StatsHistogramBin",
                        "value": {
                          "range_max_value": {
                            "type": "float",
                            "value": 0.75
                          }
                        }
                      },
                      {
                        "type": "StatsHistogramBin",
                        "value": {
                          "range_max_value": {
                            "type": "float",
                            "value": 1.0
                          }
                        }
                      },
                      {
                        "type": "StatsHistogramBin",
                        "value": {
                          "range_max_value": {
                            "type": "float",
                            "value": 1.5
                          }
                        }
                      },
                      {
                        "type": "StatsHistogramBin",
                        "value": {
                          "range_max_value": {
                            "type": "float",
                            "value": 2.0
                          }
                        }
                      },
                      {
                        "type": "StatsHistogramBin",
                        "value": {
                          "num": {
                            "type": "long",
                            "value": 1
                          },
                          "range_max_value": {
                            "type": "float",
                            "value": 2.5
                          }
                        }
                      },
                      {
                        "type": "StatsHistogramBin",
                        "value": {
                          "range_max_value": {
                            "type": "float",
                            "value": 3.0
                          }
                        }
                      },
                      {
                        "type": "StatsHistogramBin",
                        "value": {
                          "range_max_value": {
                            "type": "float",
                            "value": 4.0
                          }
                        }
                      },
                      {
                        "type": "StatsHistogramBin",
                        "value": {
                          "range_max_value": {
                            "type": "float",
                            "value": 5.0
                          }
                        }
                      },
                      {
                        "type": "StatsHistogramBin",
                        "value": {
                          "range_max_value": {
                            "type": "float",
                            "value": 6.0
                          }
                        }
                      },
                      {
                        "type": "StatsHistogramBin",
                        "value": {
                          "range_max_value": {
                            "type": "float",
                            "value": 7.0
                          }
                        }
                      },
                      {
                        "type": "StatsHistogramBin",
                        "value": {
                          "range_max_value": {
                            "type": "float",
                            "value": 8.0
                          }
                        }
                      },
                      {
                        "type": "StatsHistogramBin",
                        "value": {
                          "range_max_value": {
                            "type": "float",
                            "value": 9.0
                          }
                        }
                      },
                      {
                        "type": "StatsHistogramBin",
                        "value": {
                          "range_max_value": {
                            "type": "float",
                            "value": 10.0
                          }
                        }
                      },
                      {
                        "type": "StatsHistogramBin",
                        "value": {
                          "range_max_value": {
                            "type": "float",
                            "value": 15.0
                          }
                        }
                      },
                      {
                        "type": "StatsHistogramBin",
                        "value": {
                          "range_max_value": {
                            "type": "float",
                            "value": 20.0
                          }
                        }
                      }
                    ]
                  }
                },
                "num": {
                  "type": "long",
                  "value": 1
                },
                "stddev": {
                  "type": "float",
                  "value": 0.0
                },
                "sum": {
                  "type": "float",
                  "value": 2.0
                }
              }
            },
            "user_cpu_stats": {
              "type": "RunningStats",
              "value": {
                "histogram": {
                  "type": "StatsHistogram",
                  "value": {
                    "bins": [
                      {
                        "type": "StatsHistogramBin",
                        "value": {
                          "range_max_value": {
                            "type": "float",
                            "value": 0.10000000149011612
                          }
                        }
                      },
                      {
                        "type": "StatsHistogramBin",
                        "value": {
                          "range_max_value": {
                            "type": "float",
                            "value": 0.20000000298023224
                          }
                        }
                      },
                      {
                        "type": "StatsHistogramBin",
                        "value": {
                          "range_max_value": {
                            "type": "float",
                            "value": 0.30000001192092896
                          }
                        }
                      },
                      {
                        "type": "StatsHistogramBin",
                        "value": {
                          "range_max_value": {
                            "type": "float",
                            "value": 0.4000000059604645
                          }
                        }
                      },
                      {
                        "type": "StatsHistogramBin",
                        "value": {
                          "range_max_value": {
                            "type": "float",
                            "value": 0.5
                          }
                        }
                      },
                      {
                        "type": "StatsHistogramBin",
                        "value": {
                          "range_max_value": {
                            "type": "float",
                            "value": 0.75
                          }
                        }
                      },
                      {
                        "type": "StatsHistogramBin",
                        "value": {
                          "range_max_value": {
                            "type": "float",
                            "value": 1.0
                          }
                        }
                      },
                      {
                        "type": "StatsHistogramBin",
                        "value": {
                          "num": {
                            "type": "long",
                            "value": 1
                          },
                          "range_max_value": {
                            "type": "float",
                            "value": 1.5
                          }
                        }
                      },
                      {
                        "type": "StatsHistogramBin",
                        "value": {
                          "range_max_value": {
                            "type": "float",
                            "value": 2.0
                          }
                        }
                      },
                      {
                        "type": "StatsHistogramBin",
                        "value": {
                          "range_max_value": {
                            "type": "float",
                            "value": 2.5
                          }
                        }
                      },
                      {
                        "type": "StatsHistogramBin",
                        "value": {
                          "range_max_value": {
                            "type": "float",
                            "value": 3.0
                          }
                        }
                      },
                      {
                        "type": "StatsHistogramBin",
                        "value": {
                          "range_max_value": {
                            "type": "float",
                            "value": 4.0
                          }
                        }
                      },
                      {
                        "type": "StatsHistogramBin",
                        "value": {
                          "range_max_value": {
                            "type": "float",
                            "value": 5.0
                          }
                        }
                      },
                      {
                        "type": "StatsHistogramBin",
                        "value": {
                          "range_max_value": {
                            "type": "float",
                            "value": 6.0
                          }
                        }
                      },
                      {
                        "type": "StatsHistogramBin",
                        "value": {
                          "range_max_value": {
                            "type": "float",
                            "value": 7.0
                          }
                        }
                      },
                      {
                        "type": "StatsHistogramBin",
                        "value": {
                          "range_max_value": {
                            "type": "float",
                            "value": 8.0
                          }
                        }
                      },
                      {
                        "type": "StatsHistogramBin",
                        "value": {
                          "range_max_value": {
                            "type": "float",
                            "value": 9.0
                          }
                        }
                      },
                      {
                        "type": "StatsHistogramBin",
                        "value": {
                          "range_max_value": {
                            "type": "float",
                            "value": 10.0
                          }
                        }
                      },
                      {
                        "type": "StatsHistogramBin",
                        "value": {
                          "range_max_value": {
                            "type": "float",
                            "value": 15.0
                          }
                        }
                      },
                      {
                        "type": "StatsHistogramBin",
                        "value": {
                          "range_max_value": {
                            "type": "float",
                            "value": 20.0
                          }
                        }
                      }
                    ]
                  }
                },
                "num": {
                  "type": "long",
                  "value": 1
                },
                "stddev": {
                  "type": "float",
                  "value": 0.0
                },
                "sum": {
                  "type": "float",
                  "value": 1.0
                }
              }
            },
            "worst_performers": [
              {
                "type": "ClientResources",
                "value": {
                  "client_id": {
                    "type": "ClientURN",
                    "value": "aff4:/C.1000000000000000"
                  },
                  "cpu_usage": {
                    "type": "CpuSeconds",
                    "value": {
                      "system_cpu_time": {
                        "type": "float",
                        "value": 2.0
                      },
                      "user_cpu_time": {
                        "type": "float",
                        "value": 1.0
                      }
                    }
                  },
                  "network_bytes_sent": {
                    "type": "long",
                    "value": 3
                  },
                  "session_id": {
                    "type": "SessionID",
                    "value": "aff4:/C.1000000000000000/H:123456"
                  }
                }
              }
            ]
          }
        }
      },
      "test_class": "ApiGetHuntStatsHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "stats": {
          "network_bytes_sent_stats": {
            "histogram": {
              "bins": [
                {
                  "num": 1,
                  "range_max_value": 16.0
                },
                {
                  "range_max_value": 32.0
                },
                {
                  "range_max_value": 64.0
                },
                {
                  "range_max_value": 128.0
                },
                {
                  "range_max_value": 256.0
                },
                {
                  "range_max_value": 512.0
                },
                {
                  "range_max_value": 1024.0
                },
                {
                  "range_max_value": 2048.0
                },
                {
                  "range_max_value": 4096.0
                },
                {
                  "range_max_value": 8192.0
                },
                {
                  "range_max_value": 16384.0
                },
                {
                  "range_max_value": 32768.0
                },
                {
                  "range_max_value": 65536.0
                },
                {
                  "range_max_value": 131072.0
                },
                {
                  "range_max_value": 262144.0
                },
                {
                  "range_max_value": 524288.0
                },
                {
                  "range_max_value": 1048576.0
                },
                {
                  "range_max_value": 2097152.0
                }
              ]
            },
            "num": 1,
            "stddev": 0.0,
            "sum": 3.0
          },
          "system_cpu_stats": {
            "histogram": {
              "bins": [
                {
                  "range_max_value": 0.10000000149011612
                },
                {
                  "range_max_value": 0.20000000298023224
                },
                {
                  "range_max_value": 0.30000001192092896
                },
                {
                  "range_max_value": 0.4000000059604645
                },
                {
                  "range_max_value": 0.5
                },
                {
                  "range_max_value": 0.75
                },
                {
                  "range_max_value": 1.0
                },
                {
                  "range_max_value": 1.5
                },
                {
                  "range_max_value": 2.0
                },
                {
                  "num": 1,
                  "range_max_value": 2.5
                },
                {
                  "range_max_value": 3.0
                },
                {
                  "range_max_value": 4.0
                },
                {
                  "range_max_value": 5.0
                },
                {
                  "range_max_value": 6.0
                },
                {
                  "range_max_value": 7.0
                },
                {
                  "range_max_value": 8.0
                },
                {
                  "range_max_value": 9.0
                },
                {
                  "range_max_value": 10.0
                },
                {
                  "range_max_value": 15.0
                },
                {
                  "range_max_value": 20.0
                }
              ]
            },
            "num": 1,
            "stddev": 0.0,
            "sum": 2.0
          },
          "user_cpu_stats": {
            "histogram": {
              "bins": [
                {
                  "range_max_value": 0.10000000149011612
                },
                {
                  "range_max_value": 0.20000000298023224
                },
                {
                  "range_max_value": 0.30000001192092896
                },
                {
                  "range_max_value": 0.4000000059604645
                },
                {
                  "range_max_value": 0.5
                },
                {
                  "range_max_value": 0.75
                },
                {
                  "range_max_value": 1.0
                },
                {
                  "num": 1,
                  "range_max_value": 1.5
                },
                {
                  "range_max_value": 2.0
                },
                {
                  "range_max_value": 2.5
                },
                {
                  "range_max_value": 3.0
                },
                {
                  "range_max_value": 4.0
                },
                {
                  "range_max_value": 5.0
                },
                {
                  "range_max_value": 6.0
                },
                {
                  "range_max_value": 7.0
                },
                {
                  "range_max_value": 8.0
                },
                {
                  "range_max_value": 9.0
                },
                {
                  "range_max_value": 10.0
                },
                {
                  "range_max_value": 15.0
                },
                {
                  "range_max_value": 20.0
                }
              ]
            },
            "num": 1,
            "stddev": 0.0,
            "sum": 1.0
          },
          "worst_performers": [
            {
              "client_id": "aff4:/C.1000000000000000",
              "cpu_usage": {
                "system_cpu_time": 2.0,
                "user_cpu_time": 1.0
              },
              "network_bytes_sent": 3,
              "session_id": "aff4:/C.1000000000000000/H:123456"
            }
          ]
        }
      },
      "url": "/api/hunts/H:123456/stats"
    }
  ],
  "ApiGetLastClientIPAddressHandler": [
    {
      "api_method": "GetLastClientIPAddress",
      "method": "GET",
      "response": {
        "info": "No ip information.",
        "ip": "",
        "status": "UNKNOWN"
      },
      "test_class": "ApiGetLastClientIPAddressHandlerRegressionTest_http_v1",
      "url": "/api/clients/C.1000000000000000/last-ip"
    }
  ],
  "ApiGetOwnGrrUserHandler": [
    {
      "api_method": "GetGrrUser",
      "method": "GET",
      "response": {
        "type": "ApiGrrUser",
        "value": {
          "interface_traits": {
            "type": "ApiGrrUserInterfaceTraits",
            "value": {
              "artifact_manager_nav_item_enabled": {
                "type": "bool",
                "value": true
              },
              "browse_virtual_file_system_nav_item_enabled": {
                "type": "bool",
                "value": true
              },
              "create_cron_job_action_enabled": {
                "type": "bool",
                "value": true
              },
              "create_hunt_action_enabled": {
                "type": "bool",
                "value": true
              },
              "cron_jobs_nav_item_enabled": {
                "type": "bool",
                "value": true
              },
              "hunt_approval_required": {
                "type": "bool",
                "value": false
              },
              "hunt_manager_nav_item_enabled": {
                "type": "bool",
                "value": true
              },
              "manage_binaries_nav_item_enabled": {
                "type": "bool",
                "value": true
              },
              "manage_client_flows_nav_item_enabled": {
                "type": "bool",
                "value": true
              },
              "modify_client_labels_action_enabled": {
                "type": "bool",
                "value": true
              },
              "search_clients_action_enabled": {
                "type": "bool",
                "value": true
              },
              "server_load_nav_item_enabled": {
                "type": "bool",
                "value": true
              },
              "settings_nav_item_enabled": {
                "type": "bool",
                "value": true
              },
              "show_statistics_nav_item_enabled": {
                "type": "bool",
                "value": true
              },
              "start_client_flow_nav_item_enabled": {
                "type": "bool",
                "value": true
              },
              "upload_artifact_action_enabled": {
                "type": "bool",
                "value": true
              },
              "upload_binary_action_enabled": {
                "type": "bool",
                "value": true
              }
            }
          },
          "settings": {
            "type": "GUISettings",
            "value": {
              "canary_mode": {
                "type": "bool",
                "value": true
              },
              "mode": {
                "type": "EnumNamedValue",
                "value": "ADVANCED"
              }
            }
          },
          "user_type": {
            "type": "EnumNamedValue",
            "value": "USER_TYPE_STANDARD"
          },
          "username": {
            "type": "unicode",
            "value": "api_test_user"
          }
        }
      },
      "test_class": "ApiGetOwnGrrUserHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "interface_traits": {
          "artifact_manager_nav_item_enabled": true,
          "browse_virtual_file_system_nav_item_enabled": true,
          "create_cron_job_action_enabled": true,
          "create_hunt_action_enabled": true,
          "cron_jobs_nav_item_enabled": true,
          "hunt_approval_required": false,
          "hunt_manager_nav_item_enabled": true,
          "manage_binaries_nav_item_enabled": true,
          "manage_client_flows_nav_item_enabled": true,
          "modify_client_labels_action_enabled": true,
          "search_clients_action_enabled": true,
          "server_load_nav_item_enabled": true,
          "settings_nav_item_enabled": true,
          "show_statistics_nav_item_enabled": true,
          "start_client_flow_nav_item_enabled": true,
          "upload_artifact_action_enabled": true,
          "upload_binary_action_enabled": true
        },
        "settings": {
          "canary_mode": true,
          "mode": "ADVANCED"
        },
        "user_type": "USER_TYPE_STANDARD",
        "username": "api_test_user"
      },
      "url": "/api/users/me"
    },
    {
      "api_method": "GetGrrUser",
      "method": "GET",
      "response": {
        "type": "ApiGrrUser",
        "value": {
          "interface_traits": {
            "type": "ApiGrrUserInterfaceTraits",
            "value": {
              "artifact_manager_nav_item_enabled": {
                "type": "bool",
                "value": true
              },
              "browse_virtual_file_system_nav_item_enabled": {
                "type": "bool",
                "value": true
              },
              "create_cron_job_action_enabled": {
                "type": "bool",
                "value": true
              },
              "create_hunt_action_enabled": {
                "type": "bool",
                "value": true
              },
              "cron_jobs_nav_item_enabled": {
                "type": "bool",
                "value": true
              },
              "hunt_approval_required": {
                "type": "bool",
                "value": false
              },
              "hunt_manager_nav_item_enabled": {
                "type": "bool",
                "value": true
              },
              "manage_binaries_nav_item_enabled": {
                "type": "bool",
                "value": true
              },
              "manage_client_flows_nav_item_enabled": {
                "type": "bool",
                "value": true
              },
              "modify_client_labels_action_enabled": {
                "type": "bool",
                "value": true
              },
              "search_clients_action_enabled": {
                "type": "bool",
                "value": true
              },
              "server_load_nav_item_enabled": {
                "type": "bool",
                "value": true
              },
              "settings_nav_item_enabled": {
                "type": "bool",
                "value": true
              },
              "show_statistics_nav_item_enabled": {
                "type": "bool",
                "value": true
              },
              "start_client_flow_nav_item_enabled": {
                "type": "bool",
                "value": true
              },
              "upload_artifact_action_enabled": {
                "type": "bool",
                "value": true
              },
              "upload_binary_action_enabled": {
                "type": "bool",
                "value": true
              }
            }
          },
          "settings": {
            "type": "GUISettings",
            "value": {
              "canary_mode": {
                "type": "bool",
                "value": true
              },
              "mode": {
                "type": "EnumNamedValue",
                "value": "ADVANCED"
              }
            }
          },
          "user_type": {
            "type": "EnumNamedValue",
            "value": "USER_TYPE_ADMIN"
          },
          "username": {
            "type": "unicode",
            "value": "api_test_user"
          }
        }
      },
      "test_class": "ApiGetOwnGrrUserHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "interface_traits": {
          "artifact_manager_nav_item_enabled": true,
          "browse_virtual_file_system_nav_item_enabled": true,
          "create_cron_job_action_enabled": true,
          "create_hunt_action_enabled": true,
          "cron_jobs_nav_item_enabled": true,
          "hunt_approval_required": false,
          "hunt_manager_nav_item_enabled": true,
          "manage_binaries_nav_item_enabled": true,
          "manage_client_flows_nav_item_enabled": true,
          "modify_client_labels_action_enabled": true,
          "search_clients_action_enabled": true,
          "server_load_nav_item_enabled": true,
          "settings_nav_item_enabled": true,
          "show_statistics_nav_item_enabled": true,
          "start_client_flow_nav_item_enabled": true,
          "upload_artifact_action_enabled": true,
          "upload_binary_action_enabled": true
        },
        "settings": {
          "canary_mode": true,
          "mode": "ADVANCED"
        },
        "user_type": "USER_TYPE_ADMIN",
        "username": "api_test_user"
      },
      "url": "/api/users/me"
    }
  ],
  "ApiGetPendingUserNotificationsCountHandler": [
    {
      "api_method": "GetPendingUserNotificationsCount",
      "method": "GET",
      "response": {
        "count": 2
      },
      "test_class": "ApiGetPendingUserNotificationsCountHandlerRegressionTest_http_v1",
      "url": "/api/users/me/notifications/pending/count"
    }
  ],
  "ApiGetRDFValueDescriptorHandler": [
    {
      "api_method": "GetRDFValueDescriptor",
      "method": "GET",
      "response": {
        "default": {
          "type": "DurationSeconds",
          "value": 0
        },
        "doc": "Duration that is (de)serialized with second-precision.\n\n  This class exists for compatibility purposes and to keep certain API fields\n  simple. For most uses, please prefer `Duration` directly.\n  ",
        "kind": "primitive",
        "mro": [
          "DurationSeconds",
          "Duration",
          "RDFPrimitive",
          "RDFValue",
          "object"
        ],
        "name": "DurationSeconds"
      },
      "test_class": "ApiGetRDFValueDescriptorHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "default": 0,
        "doc": "Duration that is (de)serialized with second-precision.\n\n  This class exists for compatibility purposes and to keep certain API fields\n  simple. For most uses, please prefer `Duration` directly.\n  ",
        "kind": "primitive",
        "mro": [
          "DurationSeconds",
          "Duration",
          "RDFPrimitive",
          "RDFValue",
          "object"
        ],
        "name": "DurationSeconds"
      },
      "url": "/api/reflection/rdfvalue/DurationSeconds"
    },
    {
      "api_method": "GetRDFValueDescriptor",
      "method": "GET",
      "response": {
        "default": {
          "type": "ApiFlow",
          "value": {}
        },
        "doc": "ApiFlow is used when rendering responses.\n\n  ApiFlow is meant to be more lightweight than automatically generated AFF4\n  representation. It's also meant to contain only the information needed by\n  the UI and and to not expose implementation defails.\n  ",
        "fields": [
          {
            "doc": "Flow URN.",
            "dynamic": false,
            "friendly_name": "Urn",
            "index": 1,
            "name": "urn",
            "repeated": false,
            "type": "SessionID"
          },
          {
            "doc": "Flow id.",
            "dynamic": false,
            "friendly_name": "Flow id",
            "index": 12,
            "name": "flow_id",
            "repeated": false,
            "type": "ApiFlowId"
          },
          {
            "doc": "Client id.",
            "dynamic": false,
            "friendly_name": "Client id",
            "index": 15,
            "name": "client_id",
            "repeated": false,
            "type": "ApiClientId"
          },
          {
            "default": {
              "type": "RDFString",
              "value": ""
            },
            "doc": "Flow name.",
            "dynamic": false,
            "friendly_name": "Name",
            "index": 2,
            "name": "name",
            "repeated": false,
            "type": "RDFString"
          },
          {
            "doc": "Flow arguments.",
            "dynamic": true,
            "friendly_name": "Args",
            "index": 3,
            "name": "args",
            "repeated": false
          },
          {
            "doc": "Flow progress info.",
            "dynamic": true,
            "friendly_name": "Progress",
            "index": 16,
            "name": "progress",
            "repeated": false
          },
          {
            "doc": "Metadata about results returned by the flow.",
            "dynamic": false,
            "friendly_name": "Result metadata",
            "index": 17,
            "name": "result_metadata",
            "repeated": false,
            "type": "FlowResultMetadata"
          },
          {
            "doc": "Flow runner arguments.",
            "dynamic": false,
            "friendly_name": "Runner args",
            "index": 4,
            "name": "runner_args",
            "repeated": false,
            "type": "FlowRunnerArgs"
          },
          {
            "allowed_values": [
              {
                "doc": "",
                "labels": [],
                "name": "RUNNING",
                "value": 0
              },
              {
                "doc": "",
                "labels": [],
                "name": "TERMINATED",
                "value": 1
              },
              {
                "doc": "",
                "labels": [],
                "name": "ERROR",
                "value": 3
              },
              {
                "doc": "",
                "labels": [],
                "name": "CLIENT_CRASHED",
                "value": 4
              }
            ],
            "default": {
              "type": "EnumNamedValue",
              "value": "RUNNING"
            },
            "doc": "Current flow state.",
            "dynamic": false,
            "friendly_name": "State",
            "index": 5,
            "name": "state",
            "repeated": false,
            "type": "EnumNamedValue"
          },
          {
            "default": {
              "type": "RDFString",
              "value": ""
            },
            "doc": "Describes the error that happened while executing the flow, truncated if over 4 KB.",
            "dynamic": false,
            "friendly_name": "Error description",
            "index": 18,
            "name": "error_description",
            "repeated": false,
            "type": "RDFString"
          },
          {
            "doc": "When flow was created.",
            "dynamic": false,
            "friendly_name": "Started at",
            "index": 6,
            "name": "started_at",
            "repeated": false,
            "type": "RDFDatetime"
          },
          {
            "doc": "When flow was last active.",
            "dynamic": false,
            "friendly_name": "Last active at",
            "index": 7,
            "name": "last_active_at",
            "repeated": false,
            "type": "RDFDatetime"
          },
          {
            "default": {
              "type": "RDFString",
              "value": ""
            },
            "doc": "Who started the flow.",
            "dynamic": false,
            "friendly_name": "Creator",
            "index": 8,
            "name": "creator",
            "repeated": false,
            "type": "RDFString"
          },
          {
            "default": {
              "type": "bool",
              "value": false
            },
            "doc": "Whether the flow was created by a GRRWorker.",
            "dynamic": false,
            "friendly_name": "Is robot",
            "index": 19,
            "name": "is_robot",
            "repeated": false,
            "type": "bool"
          },
          {
            "doc": "Current flow state data.",
            "dynamic": false,
            "friendly_name": "State data",
            "index": 10,
            "name": "state_data",
            "repeated": false,
            "type": "ApiDataObject"
          },
          {
            "doc": "Current flow store data.",
            "dynamic": false,
            "friendly_name": "Store",
            "index": 20,
            "name": "store",
            "repeated": false
          },
          {
            "doc": "Current flow context.",
            "dynamic": false,
            "friendly_name": "Context",
            "index": 11,
            "name": "context",
            "repeated": false,
            "type": "FlowContext"
          },
          {
            "doc": "Nested flows started by this flow.",
            "dynamic": false,
            "friendly_name": "Nested flows",
            "index": 9,
            "name": "nested_flows",
            "repeated": true,
            "type": "ApiFlow"
          },
          {
            "doc": "If this flow was copied, a reference to the source flow.",
            "dynamic": false,
            "friendly_name": "Original flow",
            "index": 13,
            "labels": [
              "HIDDEN"
            ],
            "name": "original_flow",
            "repeated": false,
            "type": "ApiFlowReference"
          },
          {
            "default": {
              "type": "RDFString",
              "value": ""
            },
            "doc": "An error that happened while reading the flow. This is not an error while executing the flow but an internal data issue.",
            "dynamic": false,
            "friendly_name": "Internal error",
            "index": 14,
            "name": "internal_error",
            "repeated": false,
            "type": "RDFString"
          }
        ],
        "kind": "struct",
        "mro": [
          "ApiFlow",
          "RDFProtoStruct",
          "RDFStruct",
          "RDFValue",
          "object"
        ],
        "name": "ApiFlow"
      },
      "test_class": "ApiGetRDFValueDescriptorHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "default": {},
        "doc": "ApiFlow is used when rendering responses.\n\n  ApiFlow is meant to be more lightweight than automatically generated AFF4\n  representation. It's also meant to contain only the information needed by\n  the UI and and to not expose implementation defails.\n  ",
        "fields": [
          {
            "doc": "Flow URN.",
            "dynamic": false,
            "friendly_name": "Urn",
            "index": 1,
            "name": "urn",
            "repeated": false,
            "type": "SessionID"
          },
          {
            "doc": "Flow id.",
            "dynamic": false,
            "friendly_name": "Flow id",
            "index": 12,
            "name": "flow_id",
            "repeated": false,
            "type": "ApiFlowId"
          },
          {
            "doc": "Client id.",
            "dynamic": false,
            "friendly_name": "Client id",
            "index": 15,
            "name": "client_id",
            "repeated": false,
            "type": "ApiClientId"
          },
          {
            "default": "",
            "doc": "Flow name.",
            "dynamic": false,
            "friendly_name": "Name",
            "index": 2,
            "name": "name",
            "repeated": false,
            "type": "RDFString"
          },
          {
            "doc": "Flow arguments.",
            "dynamic": true,
            "friendly_name": "Args",
            "index": 3,
            "name": "args",
            "repeated": false
          },
          {
            "doc": "Flow progress info.",
            "dynamic": true,
            "friendly_name": "Progress",
            "index": 16,
            "name": "progress",
            "repeated": false
          },
          {
            "doc": "Metadata about results returned by the flow.",
            "dynamic": false,
            "friendly_name": "Result metadata",
            "index": 17,
            "name": "result_metadata",
            "repeated": false,
            "type": "FlowResultMetadata"
          },
          {
            "doc": "Flow runner arguments.",
            "dynamic": false,
            "friendly_name": "Runner args",
            "index": 4,
            "name": "runner_args",
            "repeated": false,
            "type": "FlowRunnerArgs"
          },
          {
            "allowed_values": [
              {
                "doc": "",
                "labels": [],
                "name": "RUNNING",
                "value": 0
              },
              {
                "doc": "",
                "labels": [],
                "name": "TERMINATED",
                "value": 1
              },
              {
                "doc": "",
                "labels": [],
                "name": "ERROR",
                "value": 3
              },
              {
                "doc": "",
                "labels": [],
                "name": "CLIENT_CRASHED",
                "value": 4
              }
            ],
            "default": "RUNNING",
            "doc": "Current flow state.",
            "dynamic": false,
            "friendly_name": "State",
            "index": 5,
            "name": "state",
            "repeated": false,
            "type": "EnumNamedValue"
          },
          {
            "default": "",
            "doc": "Describes the error that happened while executing the flow, truncated if over 4 KB.",
            "dynamic": false,
            "friendly_name": "Error description",
            "index": 18,
            "name": "error_description",
            "repeated": false,
            "type": "RDFString"
          },
          {
            "doc": "When flow was created.",
            "dynamic": false,
            "friendly_name": "Started at",
            "index": 6,
            "name": "started_at",
            "repeated": false,
            "type": "RDFDatetime"
          },
          {
            "doc": "When flow was last active.",
            "dynamic": false,
            "friendly_name": "Last active at",
            "index": 7,
            "name": "last_active_at",
            "repeated": false,
            "type": "RDFDatetime"
          },
          {
            "default": "",
            "doc": "Who started the flow.",
            "dynamic": false,
            "friendly_name": "Creator",
            "index": 8,
            "name": "creator",
            "repeated": false,
            "type": "RDFString"
          },
          {
            "default": false,
            "doc": "Whether the flow was created by a GRRWorker.",
            "dynamic": false,
            "friendly_name": "Is robot",
            "index": 19,
            "name": "is_robot",
            "repeated": false,
            "type": "bool"
          },
          {
            "doc": "Current flow state data.",
            "dynamic": false,
            "friendly_name": "State data",
            "index": 10,
            "name": "state_data",
            "repeated": false,
            "type": "ApiDataObject"
          },
          {
            "doc": "Current flow store data.",
            "dynamic": false,
            "friendly_name": "Store",
            "index": 20,
            "name": "store",
            "repeated": false
          },
          {
            "doc": "Current flow context.",
            "dynamic": false,
            "friendly_name": "Context",
            "index": 11,
            "name": "context",
            "repeated": false,
            "type": "FlowContext"
          },
          {
            "doc": "Nested flows started by this flow.",
            "dynamic": false,
            "friendly_name": "Nested flows",
            "index": 9,
            "name": "nested_flows",
            "repeated": true,
            "type": "ApiFlow"
          },
          {
            "doc": "If this flow was copied, a reference to the source flow.",
            "dynamic": false,
            "friendly_name": "Original flow",
            "index": 13,
            "labels": [
              "HIDDEN"
            ],
            "name": "original_flow",
            "repeated": false,
            "type": "ApiFlowReference"
          },
          {
            "default": "",
            "doc": "An error that happened while reading the flow. This is not an error while executing the flow but an internal data issue.",
            "dynamic": false,
            "friendly_name": "Internal error",
            "index": 14,
            "name": "internal_error",
            "repeated": false,
            "type": "RDFString"
          }
        ],
        "kind": "struct",
        "mro": [
          "ApiFlow",
          "RDFProtoStruct",
          "RDFStruct",
          "RDFValue",
          "object"
        ],
        "name": "ApiFlow"
      },
      "url": "/api/reflection/rdfvalue/ApiFlow"
    }
  ],
  "ApiGetReportHandler": [
    {
      "api_method": "GetReport",
      "method": "GET",
      "response": {
        "data": {
          "type": "ApiReportData",
          "value": {
            "audit_chart": {
              "type": "ApiAuditChartReportData",
              "value": {
                "rows": [
                  {
                    "type": "AuditEvent",
                    "value": {
                      "action": {
                        "type": "EnumNamedValue",
                        "value": "USER_ADD"
                      },
                      "id": {
                        "type": "long",
                        "value": 42
                      },
                      "timestamp": {
                        "type": "RDFDatetime",
                        "value": 1544745600000000
                      },
                      "user": {
                        "type": "unicode",
                        "value": "user"
                      }
                    }
                  }
                ],
                "used_fields": [
                  {
                    "type": "unicode",
                    "value": "action"
                  },
                  {
                    "type": "unicode",
                    "value": "client"
                  },
                  {
                    "type": "unicode",
                    "value": "timestamp"
                  },
                  {
                    "type": "unicode",
                    "value": "user"
                  }
                ]
              }
            },
            "representation_type": {
              "type": "EnumNamedValue",
              "value": "AUDIT_CHART"
            }
          }
        },
        "desc": {
          "type": "ApiReportDescriptor",
          "value": {
            "name": {
              "type": "unicode",
              "value": "BarReportPlugin"
            },
            "requires_time_range": {
              "type": "bool",
              "value": true
            },
            "summary": {
              "type": "unicode",
              "value": "Reports bars' activity in the given time range."
            },
            "title": {
              "type": "unicode",
              "value": "Bar Activity"
            },
            "type": {
              "type": "EnumNamedValue",
              "value": "SERVER"
            }
          }
        }
      },
      "test_class": "ApiGetReportRegressionTest_http_v1",
      "type_stripped_response": {
        "data": {
          "audit_chart": {
            "rows": [
              {
                "action": "USER_ADD",
                "id": 42,
                "timestamp": 1544745600000000,
                "user": "user"
              }
            ],
            "used_fields": [
              "action",
              "client",
              "timestamp",
              "user"
            ]
          },
          "representation_type": "AUDIT_CHART"
        },
        "desc": {
          "name": "BarReportPlugin",
          "requires_time_range": true,
          "summary": "Reports bars' activity in the given time range.",
          "title": "Bar Activity",
          "type": "SERVER"
        }
      },
      "url": "/api/stats/reports/BarReportPlugin?duration=345600&start_time=1355443200000000"
    }
  ],
  "ApiGetUiConfigHandler": [
    {
      "api_method": "GetUiConfig",
      "method": "GET",
      "response": {
        "default_access_duration_seconds": 2419200,
        "default_hunt_runner_args": {
          "type": "HuntRunnerArgs",
          "value": {
            "avg_cpu_seconds_per_client_limit": {
              "type": "long",
              "value": 60
            },
            "avg_network_bytes_per_client_limit": {
              "type": "long",
              "value": 10485760
            },
            "avg_results_per_client_limit": {
              "type": "long",
              "value": 1000
            },
            "client_rate": {
              "type": "float",
              "value": 20.0
            },
            "crash_limit": {
              "type": "long",
              "value": 100
            }
          }
        },
        "grr_version": "1.2.3.4",
        "heading": "",
        "help_url": "/help/index.html",
        "max_access_duration_seconds": 31708800,
        "profile_image_url": "",
        "report_url": "https://github.com/google/grr/issues"
      },
      "test_class": "ApiGetUiConfigHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "default_access_duration_seconds": 2419200,
        "default_hunt_runner_args": {
          "avg_cpu_seconds_per_client_limit": 60,
          "avg_network_bytes_per_client_limit": 10485760,
          "avg_results_per_client_limit": 1000,
          "client_rate": 20.0,
          "crash_limit": 100
        },
        "grr_version": "1.2.3.4",
        "heading": "",
        "help_url": "/help/index.html",
        "max_access_duration_seconds": 31708800,
        "profile_image_url": "",
        "report_url": "https://github.com/google/grr/issues"
      },
      "url": "/api/config/ui"
    },
    {
      "api_method": "GetUiConfig",
      "method": "GET",
      "response": {
        "default_access_duration_seconds": 2419200,
        "default_hunt_runner_args": {
          "type": "HuntRunnerArgs",
          "value": {
            "avg_cpu_seconds_per_client_limit": {
              "type": "long",
              "value": 60
            },
            "avg_network_bytes_per_client_limit": {
              "type": "long",
              "value": 10485760
            },
            "avg_results_per_client_limit": {
              "type": "long",
              "value": 1000
            },
            "client_rate": {
              "type": "float",
              "value": 20.0
            },
            "client_rule_set": {
              "type": "ForemanClientRuleSet",
              "value": {
                "match_mode": {
                  "type": "EnumNamedValue",
                  "value": "MATCH_ALL"
                },
                "rules": [
                  {
                    "type": "ForemanClientRule",
                    "value": {
                      "label": {
                        "type": "ForemanLabelClientRule",
                        "value": {
                          "label_names": [
                            {
                              "type": "unicode",
                              "value": "oh-oh"
                            }
                          ],
                          "match_mode": {
                            "type": "EnumNamedValue",
                            "value": "DOES_NOT_MATCH_ANY"
                          }
                        }
                      },
                      "rule_type": {
                        "type": "EnumNamedValue",
                        "value": "LABEL"
                      }
                    }
                  }
                ]
              }
            },
            "crash_limit": {
              "type": "long",
              "value": 100
            }
          }
        },
        "grr_version": "1.2.3.4",
        "heading": "test heading",
        "help_url": "test help url",
        "hunt_config": {
          "type": "AdminUIHuntConfig",
          "value": {
            "default_exclude_labels": [
              {
                "type": "unicode",
                "value": "oh-oh"
              }
            ]
          }
        },
        "max_access_duration_seconds": 31708800,
        "profile_image_url": "test profile image url",
        "report_url": "test report url"
      },
      "test_class": "ApiGetUiConfigHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "default_access_duration_seconds": 2419200,
        "default_hunt_runner_args": {
          "avg_cpu_seconds_per_client_limit": 60,
          "avg_network_bytes_per_client_limit": 10485760,
          "avg_results_per_client_limit": 1000,
          "client_rate": 20.0,
          "client_rule_set": {
            "match_mode": "MATCH_ALL",
            "rules": [
              {
                "label": {
                  "label_names": [
                    "oh-oh"
                  ],
                  "match_mode": "DOES_NOT_MATCH_ANY"
                },
                "rule_type": "LABEL"
              }
            ]
          },
          "crash_limit": 100
        },
        "grr_version": "1.2.3.4",
        "heading": "test heading",
        "help_url": "test help url",
        "hunt_config": {
          "default_exclude_labels": [
            "oh-oh"
          ]
        },
        "max_access_duration_seconds": 31708800,
        "profile_image_url": "test profile image url",
        "report_url": "test report url"
      },
      "url": "/api/config/ui"
    }
  ],
  "ApiGetVfsFileContentUpdateStateHandler": [
    {
      "api_method": "GetVfsFileContentUpdateState",
      "method": "GET",
      "response": {
        "state": "RUNNING"
      },
      "test_class": "ApiGetVfsFileContentUpdateStateHandlerRegressionTest_http_v1",
      "url": "/api/clients/C.1000000000000000/vfs-update/ABCDEF"
    },
    {
      "api_method": "GetVfsFileContentUpdateState",
      "method": "GET",
      "response": {
        "state": "FINISHED"
      },
      "test_class": "ApiGetVfsFileContentUpdateStateHandlerRegressionTest_http_v1",
      "url": "/api/clients/C.1000000000000000/vfs-update/ABCDEF"
    },
    {
      "api_method": "GetVfsFileContentUpdateState",
      "method": "GET",
      "response": {
        "message": "Operation with id ABCDEF not found"
      },
      "test_class": "ApiGetVfsFileContentUpdateStateHandlerRegressionTest_http_v1",
      "url": "/api/clients/C.1000000000000000/vfs-update/ABCDEF"
    },
    {
      "api_method": "GetVfsFileContentUpdateState",
      "method": "GET",
      "response": {
        "message": "Flow id has incorrect format: `ABCDEF`"
      },
      "test_class": "ApiGetVfsFileContentUpdateStateHandlerRegressionTest_http_v1",
      "url": "/api/clients/C.1000000000000000/vfs-update/ABCDEF"
    }
  ],
  "ApiGetVfsRefreshOperationStateHandler": [
    {
      "api_method": "GetVfsRefreshOperationState",
      "method": "GET",
      "response": {
        "state": "RUNNING"
      },
      "test_class": "ApiGetVfsRefreshOperationStateHandlerRegressionTest_http_v1",
      "url": "/api/clients/C.1000000000000000/vfs-refresh-operations/ABCDEF"
    },
    {
      "api_method": "GetVfsRefreshOperationState",
      "method": "GET",
      "response": {
        "state": "FINISHED"
      },
      "test_class": "ApiGetVfsRefreshOperationStateHandlerRegressionTest_http_v1",
      "url": "/api/clients/C.1000000000000000/vfs-refresh-operations/ABCDEF"
    },
    {
      "api_method": "GetVfsRefreshOperationState",
      "method": "GET",
      "response": {
        "message": "Operation with id ABCDEF not found"
      },
      "test_class": "ApiGetVfsRefreshOperationStateHandlerRegressionTest_http_v1",
      "url": "/api/clients/C.1000000000000000/vfs-refresh-operations/ABCDEF"
    },
    {
      "api_method": "GetVfsRefreshOperationState",
      "method": "GET",
      "response": {
        "message": "Operation with id ABCDEF not found"
      },
      "test_class": "ApiGetVfsRefreshOperationStateHandlerRegressionTest_http_v1",
      "url": "/api/clients/C.1000000000000000/vfs-refresh-operations/ABCDEF"
    }
  ],
  "ApiGetVfsTimelineHandler": [
    {
      "api_method": "GetVfsTimeline",
      "method": "GET",
      "response": {
        "items": [
          {
            "type": "ApiVfsTimelineItem",
            "value": {
              "action": {
                "type": "EnumNamedValue",
                "value": "MODIFICATION"
              },
              "file_path": {
                "type": "unicode",
                "value": "fs/os/Users/中国新闻网新闻中/Shared/a.txt"
              },
              "timestamp": {
                "type": "RDFDatetime",
                "value": 4000000
              }
            }
          },
          {
            "type": "ApiVfsTimelineItem",
            "value": {
              "action": {
                "type": "EnumNamedValue",
                "value": "MODIFICATION"
              },
              "file_path": {
                "type": "unicode",
                "value": "fs/os/Users/中国新闻网新闻中/Shared/a.txt"
              },
              "timestamp": {
                "type": "RDFDatetime",
                "value": 3000000
              }
            }
          },
          {
            "type": "ApiVfsTimelineItem",
            "value": {
              "action": {
                "type": "EnumNamedValue",
                "value": "MODIFICATION"
              },
              "file_path": {
                "type": "unicode",
                "value": "fs/os/Users/中国新闻网新闻中/Shared/a.txt"
              },
              "timestamp": {
                "type": "RDFDatetime",
                "value": 2000000
              }
            }
          },
          {
            "type": "ApiVfsTimelineItem",
            "value": {
              "action": {
                "type": "EnumNamedValue",
                "value": "MODIFICATION"
              },
              "file_path": {
                "type": "unicode",
                "value": "fs/os/Users/中国新闻网新闻中/Shared/a.txt"
              },
              "timestamp": {
                "type": "RDFDatetime",
                "value": 1000000
              }
            }
          },
          {
            "type": "ApiVfsTimelineItem",
            "value": {
              "action": {
                "type": "EnumNamedValue",
                "value": "MODIFICATION"
              },
              "file_path": {
                "type": "unicode",
                "value": "fs/os/Users/中国新闻网新闻中/Shared/a.txt"
              },
              "timestamp": {
                "type": "RDFDatetime",
                "value": 0
              }
            }
          }
        ]
      },
      "test_class": "ApiGetVfsTimelineHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "items": [
          {
            "action": "MODIFICATION",
            "file_path": "fs/os/Users/中国新闻网新闻中/Shared/a.txt",
            "timestamp": 4000000
          },
          {
            "action": "MODIFICATION",
            "file_path": "fs/os/Users/中国新闻网新闻中/Shared/a.txt",
            "timestamp": 3000000
          },
          {
            "action": "MODIFICATION",
            "file_path": "fs/os/Users/中国新闻网新闻中/Shared/a.txt",
            "timestamp": 2000000
          },
          {
            "action": "MODIFICATION",
            "file_path": "fs/os/Users/中国新闻网新闻中/Shared/a.txt",
            "timestamp": 1000000
          },
          {
            "action": "MODIFICATION",
            "file_path": "fs/os/Users/中国新闻网新闻中/Shared/a.txt",
            "timestamp": 0
          }
        ]
      },
      "url": "/api/clients/C.1000000000000000/vfs-timeline/fs/os/Users/%E4%B8%AD%E5%9B%BD%E6%96%B0%E9%97%BB%E7%BD%91%E6%96%B0%E9%97%BB%E4%B8%AD/Shared"
    }
  ],
  "ApiGrantClientApprovalHandler": [
    {
      "api_method": "GrantClientApproval",
      "method": "POST",
      "response": {
        "type": "ApiClientApproval",
        "value": {
          "approvers": [
            {
              "type": "unicode",
              "value": "api_test_user"
            },
            {
              "type": "unicode",
              "value": "requestor"
            }
          ],
          "email_message_id": {
            "type": "unicode",
            "value": "<message id stub>"
          },
          "expiration_time_us": {
            "type": "RDFDatetime",
            "value": 2419244000000
          },
          "id": {
            "type": "unicode",
            "value": "approval:111111"
          },
          "is_valid": {
            "type": "bool",
            "value": true
          },
          "notified_users": [
            {
              "type": "unicode",
              "value": "api_test_user"
            }
          ],
          "reason": {
            "type": "unicode",
            "value": "foo"
          },
          "requestor": {
            "type": "unicode",
            "value": "requestor"
          },
          "subject": {
            "type": "ApiClient",
            "value": {
              "age": {
                "type": "RDFDatetime",
                "value": 42000000
              },
              "agent_info": {
                "type": "ClientInformation",
                "value": {
                  "build_time": {
                    "type": "unicode",
                    "value": "1980-01-01T12:00:00.000000+00:00"
                  },
                  "client_name": {
                    "type": "unicode",
                    "value": "GRR Monitor"
                  },
                  "client_version": {
                    "type": "long",
                    "value": 1234
                  },
                  "labels": [
                    {
                      "type": "unicode",
                      "value": "label1"
                    },
                    {
                      "type": "unicode",
                      "value": "label2"
                    }
                  ]
                }
              },
              "client_id": {
                "type": "ApiClientId",
                "value": "C.1000000000000000"
              },
              "hardware_info": {
                "type": "HardwareInfo",
                "value": {
                  "bios_version": {
                    "type": "unicode",
                    "value": "Bios-Version-0"
                  },
                  "system_manufacturer": {
                    "type": "unicode",
                    "value": "System-Manufacturer-0"
                  }
                }
              },
              "interfaces": [
                {
                  "type": "Interface",
                  "value": {
                    "addresses": [
                      {
                        "type": "NetworkAddress",
                        "value": {
                          "address_type": {
                            "type": "EnumNamedValue",
                            "value": "INET"
                          },
                          "packed_bytes": {
                            "type": "bytes",
                            "value": "wKgAAA=="
                          }
                        }
                      },
                      {
                        "type": "NetworkAddress",
                        "value": {
                          "address_type": {
                            "type": "EnumNamedValue",
                            "value": "INET6"
                          },
                          "packed_bytes": {
                            "type": "bytes",
                            "value": "IAGrzQAAAAAAAAAAAAAAAA=="
                          }
                        }
                      }
                    ],
                    "ifname": {
                      "type": "unicode",
                      "value": "if0"
                    }
                  }
                },
                {
                  "type": "Interface",
                  "value": {
                    "ifname": {
                      "type": "unicode",
                      "value": "if1"
                    },
                    "mac_address": {
                      "type": "MacAddress",
                      "value": "qrvM3e4A"
                    }
                  }
                },
                {
                  "type": "Interface",
                  "value": {
                    "ifname": {
                      "type": "unicode",
                      "value": "if2"
                    },
                    "mac_address": {
                      "type": "MacAddress",
                      "value": "u8zd7v8A"
                    }
                  }
                }
              ],
              "knowledge_base": {
                "type": "KnowledgeBase",
                "value": {
                  "fqdn": {
                    "type": "unicode",
                    "value": "Host-0.example.com"
                  },
                  "os": {
                    "type": "unicode",
                    "value": "Linux"
                  },
                  "users": [
                    {
                      "type": "User",
                      "value": {
                        "username": {
                          "type": "unicode",
                          "value": "user1"
                        }
                      }
                    },
                    {
                      "type": "User",
                      "value": {
                        "username": {
                          "type": "unicode",
                          "value": "user2"
                        }
                      }
                    }
                  ]
                }
              },
              "last_seen_at": {
                "type": "RDFDatetime",
                "value": 42000000
              },
              "os_info": {
                "type": "Uname",
                "value": {
                  "fqdn": {
                    "type": "unicode",
                    "value": "Host-0.example.com"
                  },
                  "kernel": {
                    "type": "unicode",
                    "value": "4.0.0"
                  },
                  "machine": {
                    "type": "unicode",
                    "value": "x86_64"
                  },
                  "system": {
                    "type": "unicode",
                    "value": "Linux"
                  },
                  "version": {
                    "type": "unicode",
                    "value": "buster/sid"
                  }
                }
              },
              "urn": {
                "type": "ClientURN",
                "value": "aff4:/C.1000000000000000"
              }
            }
          }
        }
      },
      "test_class": "ApiGrantClientApprovalHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "approvers": [
          "api_test_user",
          "requestor"
        ],
        "email_message_id": "<message id stub>",
        "expiration_time_us": 2419244000000,
        "id": "approval:111111",
        "is_valid": true,
        "notified_users": [
          "api_test_user"
        ],
        "reason": "foo",
        "requestor": "requestor",
        "subject": {
          "age": 42000000,
          "agent_info": {
            "build_time": "1980-01-01T12:00:00.000000+00:00",
            "client_name": "GRR Monitor",
            "client_version": 1234,
            "labels": [
              "label1",
              "label2"
            ]
          },
          "client_id": "C.1000000000000000",
          "hardware_info": {
            "bios_version": "Bios-Version-0",
            "system_manufacturer": "System-Manufacturer-0"
          },
          "interfaces": [
            {
              "addresses": [
                {
                  "address_type": "INET",
                  "packed_bytes": "wKgAAA=="
                },
                {
                  "address_type": "INET6",
                  "packed_bytes": "IAGrzQAAAAAAAAAAAAAAAA=="
                }
              ],
              "ifname": "if0"
            },
            {
              "ifname": "if1",
              "mac_address": "qrvM3e4A"
            },
            {
              "ifname": "if2",
              "mac_address": "u8zd7v8A"
            }
          ],
          "knowledge_base": {
            "fqdn": "Host-0.example.com",
            "os": "Linux",
            "users": [
              {
                "username": "user1"
              },
              {
                "username": "user2"
              }
            ]
          },
          "last_seen_at": 42000000,
          "os_info": {
            "fqdn": "Host-0.example.com",
            "kernel": "4.0.0",
            "machine": "x86_64",
            "system": "Linux",
            "version": "buster/sid"
          },
          "urn": "aff4:/C.1000000000000000"
        }
      },
      "url": "/api/users/requestor/approvals/client/C.1000000000000000/approval:111111/actions/grant"
    }
  ],
  "ApiGrantCronJobApprovalHandler": [
    {
      "api_method": "GrantCronJobApproval",
      "method": "POST",
      "response": {
        "type": "ApiCronJobApproval",
        "value": {
          "approvers": [
            {
              "type": "unicode",
              "value": "api_test_user"
            },
            {
              "type": "unicode",
              "value": "requestor"
            }
          ],
          "email_message_id": {
            "type": "unicode",
            "value": "<message id stub>"
          },
          "id": {
            "type": "unicode",
            "value": "approval:111111"
          },
          "is_valid": {
            "type": "bool",
            "value": true
          },
          "notified_users": [
            {
              "type": "unicode",
              "value": "api_test_user"
            }
          ],
          "reason": {
            "type": "unicode",
            "value": "foo"
          },
          "requestor": {
            "type": "unicode",
            "value": "requestor"
          },
          "subject": {
            "type": "ApiCronJob",
            "value": {
              "allow_overruns": {
                "type": "bool",
                "value": false
              },
              "args": {
                "type": "CronJobAction",
                "value": {
                  "action_type": {
                    "type": "EnumNamedValue",
                    "value": "HUNT_CRON_ACTION"
                  },
                  "hunt_cron_action": {
                    "type": "HuntCronAction",
                    "value": {
                      "flow_args": {
                        "type": "InterrogateArgs",
                        "value": {}
                      },
                      "flow_name": {
                        "type": "unicode",
                        "value": "Interrogate"
                      },
                      "hunt_runner_args": {
                        "type": "HuntRunnerArgs",
                        "value": {
                          "avg_cpu_seconds_per_client_limit": {
                            "type": "long",
                            "value": 60
                          },
                          "avg_network_bytes_per_client_limit": {
                            "type": "long",
                            "value": 10485760
                          },
                          "avg_results_per_client_limit": {
                            "type": "long",
                            "value": 1000
                          },
                          "client_rate": {
                            "type": "float",
                            "value": 20.0
                          },
                          "crash_limit": {
                            "type": "long",
                            "value": 100
                          }
                        }
                      }
                    }
                  }
                }
              },
              "cron_job_id": {
                "type": "ApiCronJobId",
                "value": "CronJob_123456"
              },
              "description": {
                "type": "unicode",
                "value": ""
              },
              "enabled": {
                "type": "bool",
                "value": true
              },
              "frequency": {
                "type": "DurationSeconds",
                "value": 86400
              },
              "is_failing": {
                "type": "bool",
                "value": false
              }
            }
          }
        }
      },
      "test_class": "ApiGrantCronJobApprovalHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "approvers": [
          "api_test_user",
          "requestor"
        ],
        "email_message_id": "<message id stub>",
        "id": "approval:111111",
        "is_valid": true,
        "notified_users": [
          "api_test_user"
        ],
        "reason": "foo",
        "requestor": "requestor",
        "subject": {
          "allow_overruns": false,
          "args": {
            "action_type": "HUNT_CRON_ACTION",
            "hunt_cron_action": {
              "flow_args": {},
              "flow_name": "Interrogate",
              "hunt_runner_args": {
                "avg_cpu_seconds_per_client_limit": 60,
                "avg_network_bytes_per_client_limit": 10485760,
                "avg_results_per_client_limit": 1000,
                "client_rate": 20.0,
                "crash_limit": 100
              }
            }
          },
          "cron_job_id": "CronJob_123456",
          "description": "",
          "enabled": true,
          "frequency": 86400,
          "is_failing": false
        }
      },
      "url": "/api/users/requestor/approvals/cron-job/CronJob_123456/approval:111111/actions/grant"
    }
  ],
  "ApiGrantHuntApprovalHandler": [
    {
      "api_method": "GrantHuntApproval",
      "method": "POST",
      "response": {
        "type": "ApiHuntApproval",
        "value": {
          "approvers": [
            {
              "type": "unicode",
              "value": "api_test_user"
            },
            {
              "type": "unicode",
              "value": "requestor"
            }
          ],
          "email_message_id": {
            "type": "unicode",
            "value": "<message id stub>"
          },
          "expiration_time_us": {
            "type": "RDFDatetime",
            "value": 2419244000000
          },
          "id": {
            "type": "unicode",
            "value": "approval:111111"
          },
          "is_valid": {
            "type": "bool",
            "value": true
          },
          "notified_users": [
            {
              "type": "unicode",
              "value": "api_test_user"
            }
          ],
          "reason": {
            "type": "unicode",
            "value": "foo"
          },
          "requestor": {
            "type": "unicode",
            "value": "requestor"
          },
          "subject": {
            "type": "ApiHunt",
            "value": {
              "all_clients_count": {
                "type": "long",
                "value": 0
              },
              "client_limit": {
                "type": "long",
                "value": 100
              },
              "client_rate": {
                "type": "float",
                "value": 0.0
              },
              "client_rule_set": {
                "type": "ForemanClientRuleSet",
                "value": {
                  "rules": [
                    {
                      "type": "ForemanClientRule",
                      "value": {
                        "regex": {
                          "type": "ForemanRegexClientRule",
                          "value": {
                            "attribute_regex": {
                              "type": "RegularExpression",
                              "value": "GRR"
                            },
                            "field": {
                              "type": "EnumNamedValue",
                              "value": "CLIENT_NAME"
                            }
                          }
                        },
                        "rule_type": {
                          "type": "EnumNamedValue",
                          "value": "REGEX"
                        }
                      }
                    }
                  ]
                }
              },
              "clients_with_results_count": {
                "type": "long",
                "value": 0
              },
              "completed_clients_count": {
                "type": "long",
                "value": 0
              },
              "crash_limit": {
                "type": "long",
                "value": 100
              },
              "crashed_clients_count": {
                "type": "long",
                "value": 0
              },
              "created": {
                "type": "RDFDatetime",
                "value": 42000000
              },
              "creator": {
                "type": "unicode",
                "value": "api_test_user"
              },
              "description": {
                "type": "unicode",
                "value": "a hunt"
              },
              "duration": {
                "type": "DurationSeconds",
                "value": 1209600
              },
              "failed_clients_count": {
                "type": "long",
                "value": 0
              },
              "flow_args": {
                "type": "FileFinderArgs",
                "value": {
                  "action": {
                    "type": "FileFinderAction",
                    "value": {
                      "action_type": {
                        "type": "EnumNamedValue",
                        "value": "DOWNLOAD"
                      },
                      "download": {
                        "type": "FileFinderDownloadActionOptions",
                        "value": {
                          "collect_ext_attrs": {
                            "type": "bool",
                            "value": false
                          }
                        }
                      }
                    }
                  },
                  "paths": [
                    {
                      "type": "GlobExpression",
                      "value": "/tmp/evil.txt"
                    }
                  ],
                  "pathtype": {
                    "type": "EnumNamedValue",
                    "value": "OS"
                  }
                }
              },
              "flow_name": {
                "type": "unicode",
                "value": "ClientFileFinder"
              },
              "hunt_id": {
                "type": "ApiHuntId",
                "value": "H:123456"
              },
              "hunt_runner_args": {
                "type": "HuntRunnerArgs",
                "value": {
                  "avg_cpu_seconds_per_client_limit": {
                    "type": "long",
                    "value": 60
                  },
                  "avg_network_bytes_per_client_limit": {
                    "type": "long",
                    "value": 10485760
                  },
                  "avg_results_per_client_limit": {
                    "type": "long",
                    "value": 1000
                  },
                  "client_limit": {
                    "type": "long",
                    "value": 100
                  },
                  "client_rate": {
                    "type": "float",
                    "value": 0.0
                  },
                  "client_rule_set": {
                    "type": "ForemanClientRuleSet",
                    "value": {
                      "rules": [
                        {
                          "type": "ForemanClientRule",
                          "value": {
                            "regex": {
                              "type": "ForemanRegexClientRule",
                              "value": {
                                "attribute_regex": {
                                  "type": "RegularExpression",
                                  "value": "GRR"
                                },
                                "field": {
                                  "type": "EnumNamedValue",
                                  "value": "CLIENT_NAME"
                                }
                              }
                            },
                            "rule_type": {
                              "type": "EnumNamedValue",
                              "value": "REGEX"
                            }
                          }
                        }
                      ]
                    }
                  },
                  "crash_limit": {
                    "type": "long",
                    "value": 100
                  },
                  "description": {
                    "type": "unicode",
                    "value": "a hunt"
                  },
                  "expiry_time": {
                    "type": "DurationSeconds",
                    "value": 1209600
                  },
                  "hunt_name": {
                    "type": "unicode",
                    "value": "GenericHunt"
                  },
                  "original_object": {
                    "type": "FlowLikeObjectReference",
                    "value": {}
                  }
                }
              },
              "hunt_type": {
                "type": "EnumNamedValue",
                "value": "STANDARD"
              },
              "is_robot": {
                "type": "bool",
                "value": false
              },
              "name": {
                "type": "unicode",
                "value": "GenericHunt"
              },
              "remaining_clients_count": {
                "type": "long",
                "value": 0
              },
              "results_count": {
                "type": "long",
                "value": 0
              },
              "state": {
                "type": "EnumNamedValue",
                "value": "PAUSED"
              },
              "state_comment": {
                "type": "unicode",
                "value": ""
              },
              "state_reason": {
                "type": "EnumNamedValue",
                "value": "UNKNOWN"
              },
              "total_cpu_usage": {
                "type": "float",
                "value": 0.0
              },
              "total_net_usage": {
                "type": "long",
                "value": 0
              },
              "urn": {
                "type": "SessionID",
                "value": "aff4:/hunts/H:123456"
              }
            }
          }
        }
      },
      "test_class": "ApiGrantHuntApprovalHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "approvers": [
          "api_test_user",
          "requestor"
        ],
        "email_message_id": "<message id stub>",
        "expiration_time_us": 2419244000000,
        "id": "approval:111111",
        "is_valid": true,
        "notified_users": [
          "api_test_user"
        ],
        "reason": "foo",
        "requestor": "requestor",
        "subject": {
          "all_clients_count": 0,
          "client_limit": 100,
          "client_rate": 0.0,
          "client_rule_set": {
            "rules": [
              {
                "regex": {
                  "attribute_regex": "GRR",
                  "field": "CLIENT_NAME"
                },
                "rule_type": "REGEX"
              }
            ]
          },
          "clients_with_results_count": 0,
          "completed_clients_count": 0,
          "crash_limit": 100,
          "crashed_clients_count": 0,
          "created": 42000000,
          "creator": "api_test_user",
          "description": "a hunt",
          "duration": 1209600,
          "failed_clients_count": 0,
          "flow_args": {
            "action": {
              "action_type": "DOWNLOAD",
              "download": {
                "collect_ext_attrs": false
              }
            },
            "paths": [
              "/tmp/evil.txt"
            ],
            "pathtype": "OS"
          },
          "flow_name": "ClientFileFinder",
          "hunt_id": "H:123456",
          "hunt_runner_args": {
            "avg_cpu_seconds_per_client_limit": 60,
            "avg_network_bytes_per_client_limit": 10485760,
            "avg_results_per_client_limit": 1000,
            "client_limit": 100,
            "client_rate": 0.0,
            "client_rule_set": {
              "rules": [
                {
                  "regex": {
                    "attribute_regex": "GRR",
                    "field": "CLIENT_NAME"
                  },
                  "rule_type": "REGEX"
                }
              ]
            },
            "crash_limit": 100,
            "description": "a hunt",
            "expiry_time": 1209600,
            "hunt_name": "GenericHunt",
            "original_object": {}
          },
          "hunt_type": "STANDARD",
          "is_robot": false,
          "name": "GenericHunt",
          "remaining_clients_count": 0,
          "results_count": 0,
          "state": "PAUSED",
          "state_comment": "",
          "state_reason": "UNKNOWN",
          "total_cpu_usage": 0.0,
          "total_net_usage": 0,
          "urn": "aff4:/hunts/H:123456"
        }
      },
      "url": "/api/users/requestor/approvals/hunt/H:123456/approval:111111/actions/grant"
    }
  ],
  "ApiListAndResetUserNotificationsHandler": [
    {
      "api_method": "ListAndResetUserNotifications",
      "method": "POST",
      "response": {
        "items": [
          {
            "type": "ApiNotification",
            "value": {
              "is_pending": {
                "type": "bool",
                "value": true
              },
              "message": {
                "type": "unicode",
                "value": "Host-0.example.com: <some other message>"
              },
              "notification_type": {
                "type": "EnumNamedValue",
                "value": "TYPE_VFS_FILE_COLLECTION_FAILED"
              },
              "reference": {
                "type": "ApiNotificationReference",
                "value": {
                  "type": {
                    "type": "EnumNamedValue",
                    "value": "VFS"
                  },
                  "vfs": {
                    "type": "ApiNotificationVfsReference",
                    "value": {
                      "client_id": {
                        "type": "ApiClientId",
                        "value": "C.1000000000000000"
                      },
                      "vfs_path": {
                        "type": "unicode",
                        "value": "fs/os/foo"
                      }
                    }
                  }
                }
              },
              "timestamp": {
                "type": "RDFDatetime",
                "value": 44000000
              }
            }
          },
          {
            "type": "ApiNotification",
            "value": {
              "is_pending": {
                "type": "bool",
                "value": true
              },
              "message": {
                "type": "unicode",
                "value": "Host-0.example.com: <some message>"
              },
              "notification_type": {
                "type": "EnumNamedValue",
                "value": "TYPE_CLIENT_INTERROGATED"
              },
              "reference": {
                "type": "ApiNotificationReference",
                "value": {
                  "client": {
                    "type": "ApiNotificationClientReference",
                    "value": {
                      "client_id": {
                        "type": "ApiClientId",
                        "value": "C.1000000000000000"
                      }
                    }
                  },
                  "type": {
                    "type": "EnumNamedValue",
                    "value": "CLIENT"
                  }
                }
              },
              "timestamp": {
                "type": "RDFDatetime",
                "value": 42000000
              }
            }
          }
        ],
        "total_count": 2
      },
      "test_class": "ApiListAndResetUserNotificationsHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "items": [
          {
            "is_pending": true,
            "message": "Host-0.example.com: <some other message>",
            "notification_type": "TYPE_VFS_FILE_COLLECTION_FAILED",
            "reference": {
              "type": "VFS",
              "vfs": {
                "client_id": "C.1000000000000000",
                "vfs_path": "fs/os/foo"
              }
            },
            "timestamp": 44000000
          },
          {
            "is_pending": true,
            "message": "Host-0.example.com: <some message>",
            "notification_type": "TYPE_CLIENT_INTERROGATED",
            "reference": {
              "client": {
                "client_id": "C.1000000000000000"
              },
              "type": "CLIENT"
            },
            "timestamp": 42000000
          }
        ],
        "total_count": 2
      },
      "url": "/api/users/me/notifications"
    },
    {
      "api_method": "ListAndResetUserNotifications",
      "method": "POST",
      "request_payload": {
        "count": 1,
        "offset": 1
      },
      "response": {
        "items": [
          {
            "type": "ApiNotification",
            "value": {
              "is_pending": {
                "type": "bool",
                "value": false
              },
              "message": {
                "type": "unicode",
                "value": "Host-0.example.com: <some message>"
              },
              "notification_type": {
                "type": "EnumNamedValue",
                "value": "TYPE_CLIENT_INTERROGATED"
              },
              "reference": {
                "type": "ApiNotificationReference",
                "value": {
                  "client": {
                    "type": "ApiNotificationClientReference",
                    "value": {
                      "client_id": {
                        "type": "ApiClientId",
                        "value": "C.1000000000000000"
                      }
                    }
                  },
                  "type": {
                    "type": "EnumNamedValue",
                    "value": "CLIENT"
                  }
                }
              },
              "timestamp": {
                "type": "RDFDatetime",
                "value": 42000000
              }
            }
          }
        ],
        "total_count": 2
      },
      "test_class": "ApiListAndResetUserNotificationsHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "items": [
          {
            "is_pending": false,
            "message": "Host-0.example.com: <some message>",
            "notification_type": "TYPE_CLIENT_INTERROGATED",
            "reference": {
              "client": {
                "client_id": "C.1000000000000000"
              },
              "type": "CLIENT"
            },
            "timestamp": 42000000
          }
        ],
        "total_count": 2
      },
      "url": "/api/users/me/notifications"
    },
    {
      "api_method": "ListAndResetUserNotifications",
      "method": "POST",
      "request_payload": {
        "filter": "other"
      },
      "response": {
        "items": [
          {
            "type": "ApiNotification",
            "value": {
              "is_pending": {
                "type": "bool",
                "value": false
              },
              "message": {
                "type": "unicode",
                "value": "Host-0.example.com: <some other message>"
              },
              "notification_type": {
                "type": "EnumNamedValue",
                "value": "TYPE_VFS_FILE_COLLECTION_FAILED"
              },
              "reference": {
                "type": "ApiNotificationReference",
                "value": {
                  "type": {
                    "type": "EnumNamedValue",
                    "value": "VFS"
                  },
                  "vfs": {
                    "type": "ApiNotificationVfsReference",
                    "value": {
                      "client_id": {
                        "type": "ApiClientId",
                        "value": "C.1000000000000000"
                      },
                      "vfs_path": {
                        "type": "unicode",
                        "value": "fs/os/foo"
                      }
                    }
                  }
                }
              },
              "timestamp": {
                "type": "RDFDatetime",
                "value": 44000000
              }
            }
          }
        ],
        "total_count": 2
      },
      "test_class": "ApiListAndResetUserNotificationsHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "items": [
          {
            "is_pending": false,
            "message": "Host-0.example.com: <some other message>",
            "notification_type": "TYPE_VFS_FILE_COLLECTION_FAILED",
            "reference": {
              "type": "VFS",
              "vfs": {
                "client_id": "C.1000000000000000",
                "vfs_path": "fs/os/foo"
              }
            },
            "timestamp": 44000000
          }
        ],
        "total_count": 2
      },
      "url": "/api/users/me/notifications"
    }
  ],
  "ApiListApproverSuggestionsHandler": [
    {
      "api_method": "ListApproverSuggestions",
      "method": "GET",
      "response": {},
      "test_class": "ApiListApproverSuggestionsHandlerRegressionTest_http_v1",
      "url": "/api/users/approver-suggestions?username_query=foo"
    },
    {
      "api_method": "ListApproverSuggestions",
      "method": "GET",
      "response": {
        "suggestions": [
          {
            "type": "ApproverSuggestion",
            "value": {
              "username": {
                "type": "unicode",
                "value": "sanchezmorty"
              }
            }
          },
          {
            "type": "ApproverSuggestion",
            "value": {
              "username": {
                "type": "unicode",
                "value": "sanchezrick"
              }
            }
          },
          {
            "type": "ApproverSuggestion",
            "value": {
              "username": {
                "type": "unicode",
                "value": "sanchezsummer"
              }
            }
          }
        ]
      },
      "test_class": "ApiListApproverSuggestionsHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "suggestions": [
          {
            "username": "sanchezmorty"
          },
          {
            "username": "sanchezrick"
          },
          {
            "username": "sanchezsummer"
          }
        ]
      },
      "url": "/api/users/approver-suggestions?username_query=sanchez"
    }
  ],
  "ApiListArtifactsHandler": [
    {
      "api_method": "ListArtifacts",
      "method": "GET",
      "response": {
        "items": [
          {
            "type": "ArtifactDescriptor",
            "value": {
              "artifact": {
                "type": "Artifact",
                "value": {
                  "doc": {
                    "type": "unicode",
                    "value": "Extract the installed drivers on Windows via WMI."
                  },
                  "name": {
                    "type": "ArtifactName",
                    "value": "TestDrivers"
                  },
                  "sources": [
                    {
                      "type": "ArtifactSource",
                      "value": {
                        "attributes": {
                          "type": "Dict",
                          "value": {
                            "query": {
                              "type": "unicode",
                              "value": "SELECT * from Win32_SystemDriver"
                            }
                          }
                        },
                        "type": {
                          "type": "EnumNamedValue",
                          "value": "WMI"
                        }
                      }
                    }
                  ],
                  "supported_os": [
                    {
                      "type": "unicode",
                      "value": "Windows"
                    }
                  ],
                  "urls": [
                    {
                      "type": "unicode",
                      "value": "http://www.example.com"
                    }
                  ]
                }
              },
              "error_message": {
                "type": "unicode",
                "value": ""
              },
              "is_custom": {
                "type": "bool",
                "value": false
              }
            }
          }
        ],
        "total_count": 1
      },
      "test_class": "ApiListArtifactsHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "items": [
          {
            "artifact": {
              "doc": "Extract the installed drivers on Windows via WMI.",
              "name": "TestDrivers",
              "sources": [
                {
                  "attributes": {
                    "query": "SELECT * from Win32_SystemDriver"
                  },
                  "type": "WMI"
                }
              ],
              "supported_os": [
                "Windows"
              ],
              "urls": [
                "http://www.example.com"
              ]
            },
            "error_message": "",
            "is_custom": false
          }
        ],
        "total_count": 1
      },
      "url": "/api/artifacts"
    }
  ],
  "ApiListClientApprovalsHandler": [
    {
      "api_method": "ListClientApprovals",
      "method": "GET",
      "response": {
        "items": [
          {
            "type": "ApiClientApproval",
            "value": {
              "approvers": [
                {
                  "type": "unicode",
                  "value": "api_test_user"
                },
                {
                  "type": "unicode",
                  "value": "approver"
                }
              ],
              "email_message_id": {
                "type": "unicode",
                "value": "<message id stub>"
              },
              "expiration_time_us": {
                "type": "RDFDatetime",
                "value": 2419245000000
              },
              "id": {
                "type": "unicode",
                "value": "approval:222222"
              },
              "is_valid": {
                "type": "bool",
                "value": true
              },
              "notified_users": [
                {
                  "type": "unicode",
                  "value": "approver"
                }
              ],
              "reason": {
                "type": "unicode",
                "value": "Running tests"
              },
              "requestor": {
                "type": "unicode",
                "value": "api_test_user"
              },
              "subject": {
                "type": "ApiClient",
                "value": {
                  "age": {
                    "type": "RDFDatetime",
                    "value": 42000000
                  },
                  "agent_info": {
                    "type": "ClientInformation",
                    "value": {
                      "build_time": {
                        "type": "unicode",
                        "value": "1980-01-01T12:00:00.000000+00:00"
                      },
                      "client_name": {
                        "type": "unicode",
                        "value": "GRR Monitor"
                      },
                      "client_version": {
                        "type": "long",
                        "value": 1234
                      },
                      "labels": [
                        {
                          "type": "unicode",
                          "value": "label1"
                        },
                        {
                          "type": "unicode",
                          "value": "label2"
                        }
                      ]
                    }
                  },
                  "client_id": {
                    "type": "ApiClientId",
                    "value": "C.1000000000000001"
                  },
                  "hardware_info": {
                    "type": "HardwareInfo",
                    "value": {
                      "bios_version": {
                        "type": "unicode",
                        "value": "Bios-Version-1"
                      },
                      "system_manufacturer": {
                        "type": "unicode",
                        "value": "System-Manufacturer-1"
                      }
                    }
                  },
                  "interfaces": [
                    {
                      "type": "Interface",
                      "value": {
                        "addresses": [
                          {
                            "type": "NetworkAddress",
                            "value": {
                              "address_type": {
                                "type": "EnumNamedValue",
                                "value": "INET"
                              },
                              "packed_bytes": {
                                "type": "bytes",
                                "value": "wKgAAQ=="
                              }
                            }
                          },
                          {
                            "type": "NetworkAddress",
                            "value": {
                              "address_type": {
                                "type": "EnumNamedValue",
                                "value": "INET6"
                              },
                              "packed_bytes": {
                                "type": "bytes",
                                "value": "IAGrzQAAAAAAAAAAAAAAAQ=="
                              }
                            }
                          }
                        ],
                        "ifname": {
                          "type": "unicode",
                          "value": "if0"
                        }
                      }
                    },
                    {
                      "type": "Interface",
                      "value": {
                        "ifname": {
                          "type": "unicode",
                          "value": "if1"
                        },
                        "mac_address": {
                          "type": "MacAddress",
                          "value": "qrvM3e4B"
                        }
                      }
                    },
                    {
                      "type": "Interface",
                      "value": {
                        "ifname": {
                          "type": "unicode",
                          "value": "if2"
                        },
                        "mac_address": {
                          "type": "MacAddress",
                          "value": "u8zd7v8B"
                        }
                      }
                    }
                  ],
                  "knowledge_base": {
                    "type": "KnowledgeBase",
                    "value": {
                      "fqdn": {
                        "type": "unicode",
                        "value": "Host-1.example.com"
                      },
                      "os": {
                        "type": "unicode",
                        "value": "Linux"
                      },
                      "users": [
                        {
                          "type": "User",
                          "value": {
                            "username": {
                              "type": "unicode",
                              "value": "user1"
                            }
                          }
                        },
                        {
                          "type": "User",
                          "value": {
                            "username": {
                              "type": "unicode",
                              "value": "user2"
                            }
                          }
                        }
                      ]
                    }
                  },
                  "last_seen_at": {
                    "type": "RDFDatetime",
                    "value": 42000000
                  },
                  "os_info": {
                    "type": "Uname",
                    "value": {
                      "fqdn": {
                        "type": "unicode",
                        "value": "Host-1.example.com"
                      },
                      "kernel": {
                        "type": "unicode",
                        "value": "4.0.0"
                      },
                      "machine": {
                        "type": "unicode",
                        "value": "x86_64"
                      },
                      "system": {
                        "type": "unicode",
                        "value": "Linux"
                      },
                      "version": {
                        "type": "unicode",
                        "value": "buster/sid"
                      }
                    }
                  },
                  "urn": {
                    "type": "ClientURN",
                    "value": "aff4:/C.1000000000000001"
                  }
                }
              }
            }
          },
          {
            "type": "ApiClientApproval",
            "value": {
              "approvers": [
                {
                  "type": "unicode",
                  "value": "api_test_user"
                }
              ],
              "email_message_id": {
                "type": "unicode",
                "value": "<message id stub>"
              },
              "expiration_time_us": {
                "type": "RDFDatetime",
                "value": 2419244000000
              },
              "id": {
                "type": "unicode",
                "value": "approval:111111"
              },
              "is_valid": {
                "type": "bool",
                "value": false
              },
              "is_valid_message": {
                "type": "unicode",
                "value": "Need at least 1 additional approver for access."
              },
              "notified_users": [
                {
                  "type": "unicode",
                  "value": "approver"
                }
              ],
              "reason": {
                "type": "unicode",
                "value": "Running tests"
              },
              "requestor": {
                "type": "unicode",
                "value": "api_test_user"
              },
              "subject": {
                "type": "ApiClient",
                "value": {
                  "age": {
                    "type": "RDFDatetime",
                    "value": 42000000
                  },
                  "agent_info": {
                    "type": "ClientInformation",
                    "value": {
                      "build_time": {
                        "type": "unicode",
                        "value": "1980-01-01T12:00:00.000000+00:00"
                      },
                      "client_name": {
                        "type": "unicode",
                        "value": "GRR Monitor"
                      },
                      "client_version": {
                        "type": "long",
                        "value": 1234
                      },
                      "labels": [
                        {
                          "type": "unicode",
                          "value": "label1"
                        },
                        {
                          "type": "unicode",
                          "value": "label2"
                        }
                      ]
                    }
                  },
                  "client_id": {
                    "type": "ApiClientId",
                    "value": "C.1000000000000000"
                  },
                  "hardware_info": {
                    "type": "HardwareInfo",
                    "value": {
                      "bios_version": {
                        "type": "unicode",
                        "value": "Bios-Version-0"
                      },
                      "system_manufacturer": {
                        "type": "unicode",
                        "value": "System-Manufacturer-0"
                      }
                    }
                  },
                  "interfaces": [
                    {
                      "type": "Interface",
                      "value": {
                        "addresses": [
                          {
                            "type": "NetworkAddress",
                            "value": {
                              "address_type": {
                                "type": "EnumNamedValue",
                                "value": "INET"
                              },
                              "packed_bytes": {
                                "type": "bytes",
                                "value": "wKgAAA=="
                              }
                            }
                          },
                          {
                            "type": "NetworkAddress",
                            "value": {
                              "address_type": {
                                "type": "EnumNamedValue",
                                "value": "INET6"
                              },
                              "packed_bytes": {
                                "type": "bytes",
                                "value": "IAGrzQAAAAAAAAAAAAAAAA=="
                              }
                            }
                          }
                        ],
                        "ifname": {
                          "type": "unicode",
                          "value": "if0"
                        }
                      }
                    },
                    {
                      "type": "Interface",
                      "value": {
                        "ifname": {
                          "type": "unicode",
                          "value": "if1"
                        },
                        "mac_address": {
                          "type": "MacAddress",
                          "value": "qrvM3e4A"
                        }
                      }
                    },
                    {
                      "type": "Interface",
                      "value": {
                        "ifname": {
                          "type": "unicode",
                          "value": "if2"
                        },
                        "mac_address": {
                          "type": "MacAddress",
                          "value": "u8zd7v8A"
                        }
                      }
                    }
                  ],
                  "knowledge_base": {
                    "type": "KnowledgeBase",
                    "value": {
                      "fqdn": {
                        "type": "unicode",
                        "value": "Host-0.example.com"
                      },
                      "os": {
                        "type": "unicode",
                        "value": "Linux"
                      },
                      "users": [
                        {
                          "type": "User",
                          "value": {
                            "username": {
                              "type": "unicode",
                              "value": "user1"
                            }
                          }
                        },
                        {
                          "type": "User",
                          "value": {
                            "username": {
                              "type": "unicode",
                              "value": "user2"
                            }
                          }
                        }
                      ]
                    }
                  },
                  "last_seen_at": {
                    "type": "RDFDatetime",
                    "value": 42000000
                  },
                  "os_info": {
                    "type": "Uname",
                    "value": {
                      "fqdn": {
                        "type": "unicode",
                        "value": "Host-0.example.com"
                      },
                      "kernel": {
                        "type": "unicode",
                        "value": "4.0.0"
                      },
                      "machine": {
                        "type": "unicode",
                        "value": "x86_64"
                      },
                      "system": {
                        "type": "unicode",
                        "value": "Linux"
                      },
                      "version": {
                        "type": "unicode",
                        "value": "buster/sid"
                      }
                    }
                  },
                  "urn": {
                    "type": "ClientURN",
                    "value": "aff4:/C.1000000000000000"
                  }
                }
              }
            }
          }
        ]
      },
      "test_class": "ApiListClientApprovalsHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "items": [
          {
            "approvers": [
              "api_test_user",
              "approver"
            ],
            "email_message_id": "<message id stub>",
            "expiration_time_us": 2419245000000,
            "id": "approval:222222",
            "is_valid": true,
            "notified_users": [
              "approver"
            ],
            "reason": "Running tests",
            "requestor": "api_test_user",
            "subject": {
              "age": 42000000,
              "agent_info": {
                "build_time": "1980-01-01T12:00:00.000000+00:00",
                "client_name": "GRR Monitor",
                "client_version": 1234,
                "labels": [
                  "label1",
                  "label2"
                ]
              },
              "client_id": "C.1000000000000001",
              "hardware_info": {
                "bios_version": "Bios-Version-1",
                "system_manufacturer": "System-Manufacturer-1"
              },
              "interfaces": [
                {
                  "addresses": [
                    {
                      "address_type": "INET",
                      "packed_bytes": "wKgAAQ=="
                    },
                    {
                      "address_type": "INET6",
                      "packed_bytes": "IAGrzQAAAAAAAAAAAAAAAQ=="
                    }
                  ],
                  "ifname": "if0"
                },
                {
                  "ifname": "if1",
                  "mac_address": "qrvM3e4B"
                },
                {
                  "ifname": "if2",
                  "mac_address": "u8zd7v8B"
                }
              ],
              "knowledge_base": {
                "fqdn": "Host-1.example.com",
                "os": "Linux",
                "users": [
                  {
                    "username": "user1"
                  },
                  {
                    "username": "user2"
                  }
                ]
              },
              "last_seen_at": 42000000,
              "os_info": {
                "fqdn": "Host-1.example.com",
                "kernel": "4.0.0",
                "machine": "x86_64",
                "system": "Linux",
                "version": "buster/sid"
              },
              "urn": "aff4:/C.1000000000000001"
            }
          },
          {
            "approvers": [
              "api_test_user"
            ],
            "email_message_id": "<message id stub>",
            "expiration_time_us": 2419244000000,
            "id": "approval:111111",
            "is_valid": false,
            "is_valid_message": "Need at least 1 additional approver for access.",
            "notified_users": [
              "approver"
            ],
            "reason": "Running tests",
            "requestor": "api_test_user",
            "subject": {
              "age": 42000000,
              "agent_info": {
                "build_time": "1980-01-01T12:00:00.000000+00:00",
                "client_name": "GRR Monitor",
                "client_version": 1234,
                "labels": [
                  "label1",
                  "label2"
                ]
              },
              "client_id": "C.1000000000000000",
              "hardware_info": {
                "bios_version": "Bios-Version-0",
                "system_manufacturer": "System-Manufacturer-0"
              },
              "interfaces": [
                {
                  "addresses": [
                    {
                      "address_type": "INET",
                      "packed_bytes": "wKgAAA=="
                    },
                    {
                      "address_type": "INET6",
                      "packed_bytes": "IAGrzQAAAAAAAAAAAAAAAA=="
                    }
                  ],
                  "ifname": "if0"
                },
                {
                  "ifname": "if1",
                  "mac_address": "qrvM3e4A"
                },
                {
                  "ifname": "if2",
                  "mac_address": "u8zd7v8A"
                }
              ],
              "knowledge_base": {
                "fqdn": "Host-0.example.com",
                "os": "Linux",
                "users": [
                  {
                    "username": "user1"
                  },
                  {
                    "username": "user2"
                  }
                ]
              },
              "last_seen_at": 42000000,
              "os_info": {
                "fqdn": "Host-0.example.com",
                "kernel": "4.0.0",
                "machine": "x86_64",
                "system": "Linux",
                "version": "buster/sid"
              },
              "urn": "aff4:/C.1000000000000000"
            }
          }
        ]
      },
      "url": "/api/users/me/approvals/client"
    },
    {
      "api_method": "ListClientApprovals",
      "method": "GET",
      "response": {
        "items": [
          {
            "type": "ApiClientApproval",
            "value": {
              "approvers": [
                {
                  "type": "unicode",
                  "value": "api_test_user"
                }
              ],
              "email_message_id": {
                "type": "unicode",
                "value": "<message id stub>"
              },
              "expiration_time_us": {
                "type": "RDFDatetime",
                "value": 2419244000000
              },
              "id": {
                "type": "unicode",
                "value": "approval:111111"
              },
              "is_valid": {
                "type": "bool",
                "value": false
              },
              "is_valid_message": {
                "type": "unicode",
                "value": "Need at least 1 additional approver for access."
              },
              "notified_users": [
                {
                  "type": "unicode",
                  "value": "approver"
                }
              ],
              "reason": {
                "type": "unicode",
                "value": "Running tests"
              },
              "requestor": {
                "type": "unicode",
                "value": "api_test_user"
              },
              "subject": {
                "type": "ApiClient",
                "value": {
                  "age": {
                    "type": "RDFDatetime",
                    "value": 42000000
                  },
                  "agent_info": {
                    "type": "ClientInformation",
                    "value": {
                      "build_time": {
                        "type": "unicode",
                        "value": "1980-01-01T12:00:00.000000+00:00"
                      },
                      "client_name": {
                        "type": "unicode",
                        "value": "GRR Monitor"
                      },
                      "client_version": {
                        "type": "long",
                        "value": 1234
                      },
                      "labels": [
                        {
                          "type": "unicode",
                          "value": "label1"
                        },
                        {
                          "type": "unicode",
                          "value": "label2"
                        }
                      ]
                    }
                  },
                  "client_id": {
                    "type": "ApiClientId",
                    "value": "C.1000000000000000"
                  },
                  "hardware_info": {
                    "type": "HardwareInfo",
                    "value": {
                      "bios_version": {
                        "type": "unicode",
                        "value": "Bios-Version-0"
                      },
                      "system_manufacturer": {
                        "type": "unicode",
                        "value": "System-Manufacturer-0"
                      }
                    }
                  },
                  "interfaces": [
                    {
                      "type": "Interface",
                      "value": {
                        "addresses": [
                          {
                            "type": "NetworkAddress",
                            "value": {
                              "address_type": {
                                "type": "EnumNamedValue",
                                "value": "INET"
                              },
                              "packed_bytes": {
                                "type": "bytes",
                                "value": "wKgAAA=="
                              }
                            }
                          },
                          {
                            "type": "NetworkAddress",
                            "value": {
                              "address_type": {
                                "type": "EnumNamedValue",
                                "value": "INET6"
                              },
                              "packed_bytes": {
                                "type": "bytes",
                                "value": "IAGrzQAAAAAAAAAAAAAAAA=="
                              }
                            }
                          }
                        ],
                        "ifname": {
                          "type": "unicode",
                          "value": "if0"
                        }
                      }
                    },
                    {
                      "type": "Interface",
                      "value": {
                        "ifname": {
                          "type": "unicode",
                          "value": "if1"
                        },
                        "mac_address": {
                          "type": "MacAddress",
                          "value": "qrvM3e4A"
                        }
                      }
                    },
                    {
                      "type": "Interface",
                      "value": {
                        "ifname": {
                          "type": "unicode",
                          "value": "if2"
                        },
                        "mac_address": {
                          "type": "MacAddress",
                          "value": "u8zd7v8A"
                        }
                      }
                    }
                  ],
                  "knowledge_base": {
                    "type": "KnowledgeBase",
                    "value": {
                      "fqdn": {
                        "type": "unicode",
                        "value": "Host-0.example.com"
                      },
                      "os": {
                        "type": "unicode",
                        "value": "Linux"
                      },
                      "users": [
                        {
                          "type": "User",
                          "value": {
                            "username": {
                              "type": "unicode",
                              "value": "user1"
                            }
                          }
                        },
                        {
                          "type": "User",
                          "value": {
                            "username": {
                              "type": "unicode",
                              "value": "user2"
                            }
                          }
                        }
                      ]
                    }
                  },
                  "last_seen_at": {
                    "type": "RDFDatetime",
                    "value": 42000000
                  },
                  "os_info": {
                    "type": "Uname",
                    "value": {
                      "fqdn": {
                        "type": "unicode",
                        "value": "Host-0.example.com"
                      },
                      "kernel": {
                        "type": "unicode",
                        "value": "4.0.0"
                      },
                      "machine": {
                        "type": "unicode",
                        "value": "x86_64"
                      },
                      "system": {
                        "type": "unicode",
                        "value": "Linux"
                      },
                      "version": {
                        "type": "unicode",
                        "value": "buster/sid"
                      }
                    }
                  },
                  "urn": {
                    "type": "ClientURN",
                    "value": "aff4:/C.1000000000000000"
                  }
                }
              }
            }
          }
        ]
      },
      "test_class": "ApiListClientApprovalsHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "items": [
          {
            "approvers": [
              "api_test_user"
            ],
            "email_message_id": "<message id stub>",
            "expiration_time_us": 2419244000000,
            "id": "approval:111111",
            "is_valid": false,
            "is_valid_message": "Need at least 1 additional approver for access.",
            "notified_users": [
              "approver"
            ],
            "reason": "Running tests",
            "requestor": "api_test_user",
            "subject": {
              "age": 42000000,
              "agent_info": {
                "build_time": "1980-01-01T12:00:00.000000+00:00",
                "client_name": "GRR Monitor",
                "client_version": 1234,
                "labels": [
                  "label1",
                  "label2"
                ]
              },
              "client_id": "C.1000000000000000",
              "hardware_info": {
                "bios_version": "Bios-Version-0",
                "system_manufacturer": "System-Manufacturer-0"
              },
              "interfaces": [
                {
                  "addresses": [
                    {
                      "address_type": "INET",
                      "packed_bytes": "wKgAAA=="
                    },
                    {
                      "address_type": "INET6",
                      "packed_bytes": "IAGrzQAAAAAAAAAAAAAAAA=="
                    }
                  ],
                  "ifname": "if0"
                },
                {
                  "ifname": "if1",
                  "mac_address": "qrvM3e4A"
                },
                {
                  "ifname": "if2",
                  "mac_address": "u8zd7v8A"
                }
              ],
              "knowledge_base": {
                "fqdn": "Host-0.example.com",
                "os": "Linux",
                "users": [
                  {
                    "username": "user1"
                  },
                  {
                    "username": "user2"
                  }
                ]
              },
              "last_seen_at": 42000000,
              "os_info": {
                "fqdn": "Host-0.example.com",
                "kernel": "4.0.0",
                "machine": "x86_64",
                "system": "Linux",
                "version": "buster/sid"
              },
              "urn": "aff4:/C.1000000000000000"
            }
          }
        ]
      },
      "url": "/api/users/me/approvals/client?client_id=C.1000000000000000"
    }
  ],
  "ApiListClientCrashesHandler": [
    {
      "api_method": "ListClientCrashes",
      "method": "GET",
      "response": {
        "items": [
          {
            "type": "ClientCrash",
            "value": {
              "client_id": {
                "type": "ClientURN",
                "value": "aff4:/C.1000000000000000"
              },
              "client_info": {
                "type": "ClientInformation",
                "value": {
                  "build_time": {
                    "type": "unicode",
                    "value": "1980-01-01T12:00:00.000000+00:00"
                  },
                  "client_name": {
                    "type": "unicode",
                    "value": "GRR Monitor"
                  },
                  "client_version": {
                    "type": "long",
                    "value": 1234
                  },
                  "labels": [
                    {
                      "type": "unicode",
                      "value": "label1"
                    },
                    {
                      "type": "unicode",
                      "value": "label2"
                    }
                  ]
                }
              },
              "crash_message": {
                "type": "unicode",
                "value": "Client killed during transaction"
              },
              "crash_type": {
                "type": "unicode",
                "value": "Client Crash"
              },
              "session_id": {
                "type": "SessionID",
                "value": "<some session id>"
              },
              "timestamp": {
                "type": "RDFDatetime",
                "value": 45000000
              }
            }
          }
        ],
        "total_count": 1
      },
      "test_class": "ApiListClientCrashesHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "items": [
          {
            "client_id": "aff4:/C.1000000000000000",
            "client_info": {
              "build_time": "1980-01-01T12:00:00.000000+00:00",
              "client_name": "GRR Monitor",
              "client_version": 1234,
              "labels": [
                "label1",
                "label2"
              ]
            },
            "crash_message": "Client killed during transaction",
            "crash_type": "Client Crash",
            "session_id": "<some session id>",
            "timestamp": 45000000
          }
        ],
        "total_count": 1
      },
      "url": "/api/clients/C.1000000000000000/crashes"
    },
    {
      "api_method": "ListClientCrashes",
      "method": "GET",
      "response": {
        "items": [
          {
            "type": "ClientCrash",
            "value": {
              "client_id": {
                "type": "ClientURN",
                "value": "aff4:/C.1000000000000000"
              },
              "client_info": {
                "type": "ClientInformation",
                "value": {
                  "build_time": {
                    "type": "unicode",
                    "value": "1980-01-01T12:00:00.000000+00:00"
                  },
                  "client_name": {
                    "type": "unicode",
                    "value": "GRR Monitor"
                  },
                  "client_version": {
                    "type": "long",
                    "value": 1234
                  },
                  "labels": [
                    {
                      "type": "unicode",
                      "value": "label1"
                    },
                    {
                      "type": "unicode",
                      "value": "label2"
                    }
                  ]
                }
              },
              "crash_message": {
                "type": "unicode",
                "value": "Client killed during transaction"
              },
              "crash_type": {
                "type": "unicode",
                "value": "Client Crash"
              },
              "session_id": {
                "type": "SessionID",
                "value": "<some session id>"
              },
              "timestamp": {
                "type": "RDFDatetime",
                "value": 45000000
              }
            }
          }
        ],
        "total_count": 1
      },
      "test_class": "ApiListClientCrashesHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "items": [
          {
            "client_id": "aff4:/C.1000000000000000",
            "client_info": {
              "build_time": "1980-01-01T12:00:00.000000+00:00",
              "client_name": "GRR Monitor",
              "client_version": 1234,
              "labels": [
                "label1",
                "label2"
              ]
            },
            "crash_message": "Client killed during transaction",
            "crash_type": "Client Crash",
            "session_id": "<some session id>",
            "timestamp": 45000000
          }
        ],
        "total_count": 1
      },
      "url": "/api/clients/C.1000000000000000/crashes?count=1"
    },
    {
      "api_method": "ListClientCrashes",
      "method": "GET",
      "response": {
        "total_count": 1
      },
      "test_class": "ApiListClientCrashesHandlerRegressionTest_http_v1",
      "url": "/api/clients/C.1000000000000000/crashes?count=1&offset=1"
    }
  ],
  "ApiListClientsLabelsHandler": [
    {
      "api_method": "ListClientsLabels",
      "method": "GET",
      "response": {
        "items": [
          {
            "type": "ClientLabel",
            "value": {
              "name": {
                "type": "unicode",
                "value": "bar"
              }
            }
          },
          {
            "type": "ClientLabel",
            "value": {
              "name": {
                "type": "unicode",
                "value": "foo"
              }
            }
          }
        ]
      },
      "test_class": "ApiListClientsLabelsHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "items": [
          {
            "name": "bar"
          },
          {
            "name": "foo"
          }
        ]
      },
      "url": "/api/clients/labels"
    }
  ],
  "ApiListCronJobRunsHandler": [
    {
      "api_method": "ListCronJobRuns",
      "method": "GET",
      "response": {
        "items": [
          {
            "type": "ApiCronJobRun",
            "value": {
              "cron_job_id": {
                "type": "ApiCronJobId",
                "value": "InterrogateClientsCronJob"
              },
              "finished_at": {
                "type": "RDFDatetime",
                "value": 44000000
              },
              "log_message": {
                "type": "unicode",
                "value": "Started hunt ABCDEFGH12."
              },
              "run_id": {
                "type": "ApiCronJobRunId",
                "value": "F:ABCDEF11"
              },
              "started_at": {
                "type": "RDFDatetime",
                "value": 44000000
              },
              "status": {
                "type": "EnumNamedValue",
                "value": "FINISHED"
              }
            }
          }
        ]
      },
      "test_class": "ApiListCronJobRunsHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "items": [
          {
            "cron_job_id": "InterrogateClientsCronJob",
            "finished_at": 44000000,
            "log_message": "Started hunt ABCDEFGH12.",
            "run_id": "F:ABCDEF11",
            "started_at": 44000000,
            "status": "FINISHED"
          }
        ]
      },
      "url": "/api/cron-jobs/InterrogateClientsCronJob/runs"
    }
  ],
  "ApiListCronJobsHandler": [
    {
      "api_method": "ListCronJobs",
      "method": "GET",
      "response": {
        "items": [
          {
            "type": "ApiCronJob",
            "value": {
              "allow_overruns": {
                "type": "bool",
                "value": false
              },
              "args": {
                "type": "CronJobAction",
                "value": {
                  "action_type": {
                    "type": "EnumNamedValue",
                    "value": "HUNT_CRON_ACTION"
                  },
                  "hunt_cron_action": {
                    "type": "HuntCronAction",
                    "value": {
                      "flow_args": {
                        "type": "FileFinderArgs",
                        "value": {}
                      },
                      "flow_name": {
                        "type": "unicode",
                        "value": "ClientFileFinder"
                      },
                      "hunt_runner_args": {
                        "type": "HuntRunnerArgs",
                        "value": {
                          "avg_cpu_seconds_per_client_limit": {
                            "type": "long",
                            "value": 60
                          },
                          "avg_network_bytes_per_client_limit": {
                            "type": "long",
                            "value": 10485760
                          },
                          "avg_results_per_client_limit": {
                            "type": "long",
                            "value": 1000
                          },
                          "client_rate": {
                            "type": "float",
                            "value": 20.0
                          },
                          "crash_limit": {
                            "type": "long",
                            "value": 100
                          }
                        }
                      }
                    }
                  }
                }
              },
              "cron_job_id": {
                "type": "ApiCronJobId",
                "value": "ClientFileFinder"
              },
              "description": {
                "type": "unicode",
                "value": "bar"
              },
              "enabled": {
                "type": "bool",
                "value": true
              },
              "frequency": {
                "type": "DurationSeconds",
                "value": 604800
              },
              "is_failing": {
                "type": "bool",
                "value": false
              },
              "lifetime": {
                "type": "DurationSeconds",
                "value": 86400
              }
            }
          },
          {
            "type": "ApiCronJob",
            "value": {
              "allow_overruns": {
                "type": "bool",
                "value": false
              },
              "args": {
                "type": "CronJobAction",
                "value": {
                  "action_type": {
                    "type": "EnumNamedValue",
                    "value": "HUNT_CRON_ACTION"
                  },
                  "hunt_cron_action": {
                    "type": "HuntCronAction",
                    "value": {
                      "flow_args": {
                        "type": "FileFinderArgs",
                        "value": {}
                      },
                      "flow_name": {
                        "type": "unicode",
                        "value": "FileFinder"
                      },
                      "hunt_runner_args": {
                        "type": "HuntRunnerArgs",
                        "value": {
                          "avg_cpu_seconds_per_client_limit": {
                            "type": "long",
                            "value": 60
                          },
                          "avg_network_bytes_per_client_limit": {
                            "type": "long",
                            "value": 10485760
                          },
                          "avg_results_per_client_limit": {
                            "type": "long",
                            "value": 1000
                          },
                          "client_rate": {
                            "type": "float",
                            "value": 20.0
                          },
                          "crash_limit": {
                            "type": "long",
                            "value": 100
                          }
                        }
                      }
                    }
                  }
                }
              },
              "cron_job_id": {
                "type": "ApiCronJobId",
                "value": "FileFinder"
              },
              "description": {
                "type": "unicode",
                "value": "foo"
              },
              "enabled": {
                "type": "bool",
                "value": false
              },
              "frequency": {
                "type": "DurationSeconds",
                "value": 86400
              },
              "is_failing": {
                "type": "bool",
                "value": false
              },
              "lifetime": {
                "type": "DurationSeconds",
                "value": 7200
              }
            }
          },
          {
            "type": "ApiCronJob",
            "value": {
              "allow_overruns": {
                "type": "bool",
                "value": false
              },
              "args": {
                "type": "CronJobAction",
                "value": {
                  "action_type": {
                    "type": "EnumNamedValue",
                    "value": "HUNT_CRON_ACTION"
                  },
                  "hunt_cron_action": {
                    "type": "HuntCronAction",
                    "value": {
                      "flow_args": {
                        "type": "ListDirectoryArgs",
                        "value": {}
                      },
                      "flow_name": {
                        "type": "unicode",
                        "value": "ListDirectory"
                      },
                      "hunt_runner_args": {
                        "type": "HuntRunnerArgs",
                        "value": {
                          "avg_cpu_seconds_per_client_limit": {
                            "type": "long",
                            "value": 60
                          },
                          "avg_network_bytes_per_client_limit": {
                            "type": "long",
                            "value": 10485760
                          },
                          "avg_results_per_client_limit": {
                            "type": "long",
                            "value": 1000
                          },
                          "client_rate": {
                            "type": "float",
                            "value": 20.0
                          },
                          "crash_limit": {
                            "type": "long",
                            "value": 100
                          }
                        }
                      }
                    }
                  }
                }
              },
              "cron_job_id": {
                "type": "ApiCronJobId",
                "value": "ListDirectory"
              },
              "description": {
                "type": "unicode",
                "value": ""
              },
              "enabled": {
                "type": "bool",
                "value": true
              },
              "frequency": {
                "type": "DurationSeconds",
                "value": 604800
              },
              "is_failing": {
                "type": "bool",
                "value": true
              },
              "last_run_status": {
                "type": "EnumNamedValue",
                "value": "ERROR"
              },
              "last_run_time": {
                "type": "RDFDatetime",
                "value": 230000000
              },
              "lifetime": {
                "type": "DurationSeconds",
                "value": 86400
              }
            }
          }
        ],
        "total_count": 3
      },
      "test_class": "ApiListCronJobsHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "items": [
          {
            "allow_overruns": false,
            "args": {
              "action_type": "HUNT_CRON_ACTION",
              "hunt_cron_action": {
                "flow_args": {},
                "flow_name": "ClientFileFinder",
                "hunt_runner_args": {
                  "avg_cpu_seconds_per_client_limit": 60,
                  "avg_network_bytes_per_client_limit": 10485760,
                  "avg_results_per_client_limit": 1000,
                  "client_rate": 20.0,
                  "crash_limit": 100
                }
              }
            },
            "cron_job_id": "ClientFileFinder",
            "description": "bar",
            "enabled": true,
            "frequency": 604800,
            "is_failing": false,
            "lifetime": 86400
          },
          {
            "allow_overruns": false,
            "args": {
              "action_type": "HUNT_CRON_ACTION",
              "hunt_cron_action": {
                "flow_args": {},
                "flow_name": "FileFinder",
                "hunt_runner_args": {
                  "avg_cpu_seconds_per_client_limit": 60,
                  "avg_network_bytes_per_client_limit": 10485760,
                  "avg_results_per_client_limit": 1000,
                  "client_rate": 20.0,
                  "crash_limit": 100
                }
              }
            },
            "cron_job_id": "FileFinder",
            "description": "foo",
            "enabled": false,
            "frequency": 86400,
            "is_failing": false,
            "lifetime": 7200
          },
          {
            "allow_overruns": false,
            "args": {
              "action_type": "HUNT_CRON_ACTION",
              "hunt_cron_action": {
                "flow_args": {},
                "flow_name": "ListDirectory",
                "hunt_runner_args": {
                  "avg_cpu_seconds_per_client_limit": 60,
                  "avg_network_bytes_per_client_limit": 10485760,
                  "avg_results_per_client_limit": 1000,
                  "client_rate": 20.0,
                  "crash_limit": 100
                }
              }
            },
            "cron_job_id": "ListDirectory",
            "description": "",
            "enabled": true,
            "frequency": 604800,
            "is_failing": true,
            "last_run_status": "ERROR",
            "last_run_time": 230000000,
            "lifetime": 86400
          }
        ],
        "total_count": 3
      },
      "url": "/api/cron-jobs"
    }
  ],
  "ApiListFilesHandler": [
    {
      "api_method": "ListFiles",
      "method": "GET",
      "response": {
        "items": [
          {
            "type": "ApiFile",
            "value": {
              "age": {
                "type": "RDFDatetime",
                "value": 42000000
              },
              "is_directory": {
                "type": "bool",
                "value": false
              },
              "last_collected": {
                "type": "RDFDatetime",
                "value": 42000000
              },
              "last_collected_size": {
                "type": "long",
                "value": 11
              },
              "name": {
                "type": "unicode",
                "value": "bash"
              },
              "path": {
                "type": "unicode",
                "value": "fs/tsk/c/bin/bash"
              }
            }
          },
          {
            "type": "ApiFile",
            "value": {
              "age": {
                "type": "RDFDatetime",
                "value": 42000000
              },
              "is_directory": {
                "type": "bool",
                "value": false
              },
              "last_collected": {
                "type": "RDFDatetime",
                "value": 42000000
              },
              "last_collected_size": {
                "type": "long",
                "value": 11
              },
              "name": {
                "type": "unicode",
                "value": "rbash"
              },
              "path": {
                "type": "unicode",
                "value": "fs/tsk/c/bin/rbash"
              }
            }
          }
        ]
      },
      "test_class": "ApiListFilesHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "items": [
          {
            "age": 42000000,
            "is_directory": false,
            "last_collected": 42000000,
            "last_collected_size": 11,
            "name": "bash",
            "path": "fs/tsk/c/bin/bash"
          },
          {
            "age": 42000000,
            "is_directory": false,
            "last_collected": 42000000,
            "last_collected_size": 11,
            "name": "rbash",
            "path": "fs/tsk/c/bin/rbash"
          }
        ]
      },
      "url": "/api/clients/C.1000000000000000/vfs-index/?file_path=fs%2Ftsk%2Fc%2Fbin"
    },
    {
      "api_method": "ListFiles",
      "method": "GET",
      "response": {
        "items": [
          {
            "type": "ApiFile",
            "value": {
              "age": {
                "type": "RDFDatetime",
                "value": 42000000
              },
              "is_directory": {
                "type": "bool",
                "value": false
              },
              "last_collected": {
                "type": "RDFDatetime",
                "value": 42000000
              },
              "last_collected_size": {
                "type": "long",
                "value": 11
              },
              "name": {
                "type": "unicode",
                "value": "bash"
              },
              "path": {
                "type": "unicode",
                "value": "fs/tsk/c/bin/bash"
              }
            }
          },
          {
            "type": "ApiFile",
            "value": {
              "age": {
                "type": "RDFDatetime",
                "value": 42000000
              },
              "is_directory": {
                "type": "bool",
                "value": false
              },
              "last_collected": {
                "type": "RDFDatetime",
                "value": 42000000
              },
              "last_collected_size": {
                "type": "long",
                "value": 11
              },
              "name": {
                "type": "unicode",
                "value": "rbash"
              },
              "path": {
                "type": "unicode",
                "value": "fs/tsk/c/bin/rbash"
              }
            }
          }
        ]
      },
      "test_class": "ApiListFilesHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "items": [
          {
            "age": 42000000,
            "is_directory": false,
            "last_collected": 42000000,
            "last_collected_size": 11,
            "name": "bash",
            "path": "fs/tsk/c/bin/bash"
          },
          {
            "age": 42000000,
            "is_directory": false,
            "last_collected": 42000000,
            "last_collected_size": 11,
            "name": "rbash",
            "path": "fs/tsk/c/bin/rbash"
          }
        ]
      },
      "url": "/api/clients/C.1000000000000000/vfs-index/?file_path=fs%2Ftsk%2Fc%2Fbin&timestamp=172800000042"
    }
  ],
  "ApiListFlowDescriptorsHandler": [
    {
      "api_method": "ListFlowDescriptors",
      "method": "GET",
      "response": {
        "items": [
          {
            "type": "ApiFlowDescriptor",
            "value": {
              "args_type": {
                "type": "unicode",
                "value": "FileFinderArgs"
              },
              "behaviours": [
                {
                  "type": "unicode",
                  "value": "ADVANCED"
                },
                {
                  "type": "unicode",
                  "value": "BASIC"
                }
              ],
              "block_hunt_creation": {
                "type": "bool",
                "value": false
              },
              "category": {
                "type": "unicode",
                "value": "Filesystem"
              },
              "default_args": {
                "type": "FileFinderArgs",
                "value": {}
              },
              "doc": {
                "type": "unicode",
                "value": "An alias for ClientFileFinder.\n\n  Call Spec:\n    flow.StartFlow(client_id=client_id, flow_cls=file_finder.FileFinder, paths=paths, pathtype=pathtype, conditions=conditions, action=action, process_non_regular_files=process_non_regular_files, follow_links=follow_links, xdev=xdev, implementation_type=implementation_type)\n\n  Args:\n    action\n      description: \n      type: FileFinderAction\n      default: None\n\n    conditions\n      description: These conditions will be applied to all files that match the path arguments.\n      type: \n      default: None\n\n    follow_links\n      description: Should symbolic links be followed in recursive directory listings.\n      type: bool\n      default: False\n\n    implementation_type\n      description: Force use of an implementation.\n      type: EnumNamedValue\n      default: 0\n\n    paths\n      description: A path to glob that can contain %% expansions.\n      type: \n      default: None\n\n    pathtype\n      description: Path type to glob in.\n      type: EnumNamedValue\n      default: OS\n\n    process_non_regular_files\n      description: Look both into regular files and non-regular files (devices, named pipes, sockets). NOTE: This is very dangerous and should be used with care.\n      type: bool\n      default: 0\n\n    xdev\n      description: Behavior when ecountering device boundaries while doing recursive searches.\n      type: EnumNamedValue\n      default: LOCAL\n"
              },
              "friendly_name": {
                "type": "unicode",
                "value": "File Finder"
              },
              "name": {
                "type": "unicode",
                "value": "FileFinder"
              }
            }
          },
          {
            "type": "ApiFlowDescriptor",
            "value": {
              "args_type": {
                "type": "unicode",
                "value": "ListProcessesArgs"
              },
              "behaviours": [
                {
                  "type": "unicode",
                  "value": "ADVANCED"
                },
                {
                  "type": "unicode",
                  "value": "BASIC"
                }
              ],
              "block_hunt_creation": {
                "type": "bool",
                "value": false
              },
              "category": {
                "type": "unicode",
                "value": "Processes"
              },
              "default_args": {
                "type": "ListProcessesArgs",
                "value": {}
              },
              "doc": {
                "type": "unicode",
                "value": "List running processes on a system.\n\n  Call Spec:\n    flow.StartFlow(client_id=client_id, flow_cls=processes.ListProcesses, filename_regex=filename_regex, fetch_binaries=fetch_binaries, connection_states=connection_states, pids=pids)\n\n  Args:\n    connection_states\n      description: Network connection states to match. If a process has any network connections in any status listed here, it will be considered a match\n      type: \n      default: None\n\n    fetch_binaries\n      description: \n      type: bool\n      default: False\n\n    filename_regex\n      description: Regex used to filter the list of processes. The regex is applied to the full path and not only to the filename.\n      type: RegularExpression\n      default: .\n\n    pids\n      description: \n      type: \n      default: None\n"
              },
              "name": {
                "type": "unicode",
                "value": "ListProcesses"
              }
            }
          }
        ]
      },
      "test_class": "ApiListFlowDescriptorsHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "items": [
          {
            "args_type": "FileFinderArgs",
            "behaviours": [
              "ADVANCED",
              "BASIC"
            ],
            "block_hunt_creation": false,
            "category": "Filesystem",
            "default_args": {},
            "doc": "An alias for ClientFileFinder.\n\n  Call Spec:\n    flow.StartFlow(client_id=client_id, flow_cls=file_finder.FileFinder, paths=paths, pathtype=pathtype, conditions=conditions, action=action, process_non_regular_files=process_non_regular_files, follow_links=follow_links, xdev=xdev, implementation_type=implementation_type)\n\n  Args:\n    action\n      description: \n      type: FileFinderAction\n      default: None\n\n    conditions\n      description: These conditions will be applied to all files that match the path arguments.\n      type: \n      default: None\n\n    follow_links\n      description: Should symbolic links be followed in recursive directory listings.\n      type: bool\n      default: False\n\n    implementation_type\n      description: Force use of an implementation.\n      type: EnumNamedValue\n      default: 0\n\n    paths\n      description: A path to glob that can contain %% expansions.\n      type: \n      default: None\n\n    pathtype\n      description: Path type to glob in.\n      type: EnumNamedValue\n      default: OS\n\n    process_non_regular_files\n      description: Look both into regular files and non-regular files (devices, named pipes, sockets). NOTE: This is very dangerous and should be used with care.\n      type: bool\n      default: 0\n\n    xdev\n      description: Behavior when ecountering device boundaries while doing recursive searches.\n      type: EnumNamedValue\n      default: LOCAL\n",
            "friendly_name": "File Finder",
            "name": "FileFinder"
          },
          {
            "args_type": "ListProcessesArgs",
            "behaviours": [
              "ADVANCED",
              "BASIC"
            ],
            "block_hunt_creation": false,
            "category": "Processes",
            "default_args": {},
            "doc": "List running processes on a system.\n\n  Call Spec:\n    flow.StartFlow(client_id=client_id, flow_cls=processes.ListProcesses, filename_regex=filename_regex, fetch_binaries=fetch_binaries, connection_states=connection_states, pids=pids)\n\n  Args:\n    connection_states\n      description: Network connection states to match. If a process has any network connections in any status listed here, it will be considered a match\n      type: \n      default: None\n\n    fetch_binaries\n      description: \n      type: bool\n      default: False\n\n    filename_regex\n      description: Regex used to filter the list of processes. The regex is applied to the full path and not only to the filename.\n      type: RegularExpression\n      default: .\n\n    pids\n      description: \n      type: \n      default: None\n",
            "name": "ListProcesses"
          }
        ]
      },
      "url": "/api/flows/descriptors"
    }
  ],
  "ApiListFlowLogsHandler": [
    {
      "api_method": "ListFlowLogs",
      "method": "GET",
      "response": {
        "items": [
          {
            "type": "ApiFlowLog",
            "value": {
              "flow_id": {
                "type": "ApiFlowId",
                "value": "W:ABCDEF"
              },
              "log_message": {
                "type": "unicode",
                "value": "Sample message: foo."
              },
              "timestamp": {
                "type": "RDFDatetime",
                "value": 52000000
              }
            }
          },
          {
            "type": "ApiFlowLog",
            "value": {
              "flow_id": {
                "type": "ApiFlowId",
                "value": "W:ABCDEF"
              },
              "log_message": {
                "type": "unicode",
                "value": "Sample message: bar."
              },
              "timestamp": {
                "type": "RDFDatetime",
                "value": 55000000
              }
            }
          }
        ],
        "total_count": 2
      },
      "test_class": "ApiListFlowLogsHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "items": [
          {
            "flow_id": "W:ABCDEF",
            "log_message": "Sample message: foo.",
            "timestamp": 52000000
          },
          {
            "flow_id": "W:ABCDEF",
            "log_message": "Sample message: bar.",
            "timestamp": 55000000
          }
        ],
        "total_count": 2
      },
      "url": "/api/clients/C.1000000000000000/flows/W:ABCDEF/log"
    },
    {
      "api_method": "ListFlowLogs",
      "method": "GET",
      "response": {
        "items": [
          {
            "type": "ApiFlowLog",
            "value": {
              "flow_id": {
                "type": "ApiFlowId",
                "value": "W:ABCDEF"
              },
              "log_message": {
                "type": "unicode",
                "value": "Sample message: foo."
              },
              "timestamp": {
                "type": "RDFDatetime",
                "value": 52000000
              }
            }
          }
        ],
        "total_count": 2
      },
      "test_class": "ApiListFlowLogsHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "items": [
          {
            "flow_id": "W:ABCDEF",
            "log_message": "Sample message: foo.",
            "timestamp": 52000000
          }
        ],
        "total_count": 2
      },
      "url": "/api/clients/C.1000000000000000/flows/W:ABCDEF/log?count=1"
    },
    {
      "api_method": "ListFlowLogs",
      "method": "GET",
      "response": {
        "items": [
          {
            "type": "ApiFlowLog",
            "value": {
              "flow_id": {
                "type": "ApiFlowId",
                "value": "W:ABCDEF"
              },
              "log_message": {
                "type": "unicode",
                "value": "Sample message: bar."
              },
              "timestamp": {
                "type": "RDFDatetime",
                "value": 55000000
              }
            }
          }
        ],
        "total_count": 2
      },
      "test_class": "ApiListFlowLogsHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "items": [
          {
            "flow_id": "W:ABCDEF",
            "log_message": "Sample message: bar.",
            "timestamp": 55000000
          }
        ],
        "total_count": 2
      },
      "url": "/api/clients/C.1000000000000000/flows/W:ABCDEF/log?count=1&offset=1"
    }
  ],
  "ApiListFlowOutputPluginErrorsHandler": [
    {
      "api_method": "ListFlowOutputPluginErrors",
      "method": "GET",
      "response": {
        "items": [
          {
            "type": "OutputPluginBatchProcessingStatus",
            "value": {
              "batch_index": {
                "type": "long",
                "value": 0
              },
              "batch_size": {
                "type": "long",
                "value": 0
              },
              "status": {
                "type": "EnumNamedValue",
                "value": "ERROR"
              },
              "summary": {
                "type": "unicode",
                "value": "Error while processing 1 replies: Oh no!"
              }
            }
          }
        ],
        "total_count": 1
      },
      "test_class": "ApiListFlowOutputPluginErrorsHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "items": [
          {
            "batch_index": 0,
            "batch_size": 0,
            "status": "ERROR",
            "summary": "Error while processing 1 replies: Oh no!"
          }
        ],
        "total_count": 1
      },
      "url": "/api/clients/C.1000000000000000/flows/W:ABCDEF/output-plugins/FailingDummyHuntOutputPlugin_0/errors"
    }
  ],
  "ApiListFlowOutputPluginLogsHandler": [
    {
      "api_method": "ListFlowOutputPluginLogs",
      "method": "GET",
      "response": {
        "items": [
          {
            "type": "OutputPluginBatchProcessingStatus",
            "value": {
              "batch_index": {
                "type": "long",
                "value": 0
              },
              "batch_size": {
                "type": "long",
                "value": 0
              },
              "status": {
                "type": "EnumNamedValue",
                "value": "SUCCESS"
              },
              "summary": {
                "type": "unicode",
                "value": "Processed 1 replies."
              }
            }
          }
        ],
        "total_count": 1
      },
      "test_class": "ApiListFlowOutputPluginLogsHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "items": [
          {
            "batch_index": 0,
            "batch_size": 0,
            "status": "SUCCESS",
            "summary": "Processed 1 replies."
          }
        ],
        "total_count": 1
      },
      "url": "/api/clients/C.1000000000000000/flows/W:ABCDEF/output-plugins/EmailOutputPlugin_0/logs"
    }
  ],
  "ApiListFlowOutputPluginsHandler": [
    {
      "api_method": "ListFlowOutputPlugins",
      "method": "GET",
      "response": {
        "items": [
          {
            "type": "ApiOutputPlugin",
            "value": {
              "id": {
                "type": "unicode",
                "value": "EmailOutputPlugin_0"
              },
              "plugin_descriptor": {
                "type": "OutputPluginDescriptor",
                "value": {
                  "args": {
                    "type": "EmailOutputPluginArgs",
                    "value": {
                      "email_address": {
                        "type": "DomainEmailAddress",
                        "value": "test@localhost"
                      },
                      "emails_limit": {
                        "type": "long",
                        "value": 42
                      }
                    }
                  },
                  "plugin_name": {
                    "type": "unicode",
                    "value": "EmailOutputPlugin"
                  }
                }
              },
              "state": {
                "type": "AttributedDict",
                "value": {
                  "args": {
                    "type": "EmailOutputPluginArgs",
                    "value": {
                      "email_address": {
                        "type": "DomainEmailAddress",
                        "value": "test@localhost"
                      },
                      "emails_limit": {
                        "type": "long",
                        "value": 42
                      }
                    }
                  },
                  "emails_sent": {
                    "type": "long",
                    "value": 0
                  }
                }
              }
            }
          }
        ]
      },
      "test_class": "ApiListFlowOutputPluginsHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "items": [
          {
            "id": "EmailOutputPlugin_0",
            "plugin_descriptor": {
              "args": {
                "email_address": "test@localhost",
                "emails_limit": 42
              },
              "plugin_name": "EmailOutputPlugin"
            },
            "state": {
              "args": {
                "email_address": "test@localhost",
                "emails_limit": 42
              },
              "emails_sent": 0
            }
          }
        ]
      },
      "url": "/api/clients/C.1000000000000000/flows/W:ABCDEF/output-plugins"
    }
  ],
  "ApiListFlowRequestsHandler": [
    {
      "api_method": "ListFlowRequests",
      "method": "GET",
      "response": {
        "items": [
          {
            "type": "ApiFlowRequest",
            "value": {
              "request_id": {
                "type": "unicode",
                "value": "1"
              },
              "request_state": {
                "type": "RequestState",
                "value": {
                  "client_id": {
                    "type": "ClientURN",
                    "value": "aff4:/C.1000000000000000"
                  },
                  "id": {
                    "type": "long",
                    "value": 1
                  },
                  "next_state": {
                    "type": "unicode",
                    "value": "IterateProcesses"
                  },
                  "session_id": {
                    "type": "SessionID",
                    "value": "aff4:/C.1000000000000000/flows/W:ABCDEF"
                  }
                }
              },
              "responses": [
                {
                  "type": "GrrMessage",
                  "value": {
                    "request_id": {
                      "type": "long",
                      "value": 1
                    },
                    "response_id": {
                      "type": "long",
                      "value": 1
                    },
                    "session_id": {
                      "type": "FlowSessionID",
                      "value": "aff4:/C.1000000000000000/flows/W:ABCDEF"
                    },
                    "timestamp": {
                      "type": "RDFDatetime",
                      "value": 42000000
                    },
                    "type": {
                      "type": "EnumNamedValue",
                      "value": "MESSAGE"
                    }
                  }
                },
                {
                  "type": "GrrMessage",
                  "value": {
                    "request_id": {
                      "type": "long",
                      "value": 1
                    },
                    "response_id": {
                      "type": "long",
                      "value": 2
                    },
                    "session_id": {
                      "type": "FlowSessionID",
                      "value": "aff4:/C.1000000000000000/flows/W:ABCDEF"
                    },
                    "timestamp": {
                      "type": "RDFDatetime",
                      "value": 42000000
                    },
                    "type": {
                      "type": "EnumNamedValue",
                      "value": "STATUS"
                    }
                  }
                }
              ]
            }
          }
        ]
      },
      "test_class": "ApiListFlowRequestsHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "items": [
          {
            "request_id": "1",
            "request_state": {
              "client_id": "aff4:/C.1000000000000000",
              "id": 1,
              "next_state": "IterateProcesses",
              "session_id": "aff4:/C.1000000000000000/flows/W:ABCDEF"
            },
            "responses": [
              {
                "request_id": 1,
                "response_id": 1,
                "session_id": "aff4:/C.1000000000000000/flows/W:ABCDEF",
                "timestamp": 42000000,
                "type": "MESSAGE"
              },
              {
                "request_id": 1,
                "response_id": 2,
                "session_id": "aff4:/C.1000000000000000/flows/W:ABCDEF",
                "timestamp": 42000000,
                "type": "STATUS"
              }
            ]
          }
        ]
      },
      "url": "/api/clients/C.1000000000000000/flows/W:ABCDEF/requests"
    }
  ],
  "ApiListFlowResultsHandler": [
    {
      "api_method": "ListFlowResults",
      "method": "GET",
      "response": {
        "items": [
          {
            "type": "ApiFlowResult",
            "value": {
              "payload": {
                "type": "FileFinderResult",
                "value": {
                  "stat_entry": {
                    "type": "StatEntry",
                    "value": {
                      "pathspec": {
                        "type": "PathSpec",
                        "value": {
                          "path": {
                            "type": "unicode",
                            "value": "/tmp/evil.txt"
                          },
                          "pathtype": {
                            "type": "EnumNamedValue",
                            "value": "OS"
                          }
                        }
                      },
                      "st_atime": {
                        "type": "RDFDatetimeSeconds",
                        "value": 1336469177
                      },
                      "st_ctime": {
                        "type": "RDFDatetimeSeconds",
                        "value": 1336129892
                      },
                      "st_dev": {
                        "type": "long",
                        "value": 64512
                      },
                      "st_gid": {
                        "type": "long",
                        "value": 5000
                      },
                      "st_ino": {
                        "type": "long",
                        "value": 1063090
                      },
                      "st_mode": {
                        "type": "StatMode",
                        "value": 33184
                      },
                      "st_mtime": {
                        "type": "RDFDatetimeSeconds",
                        "value": 1336129892
                      },
                      "st_nlink": {
                        "type": "long",
                        "value": 1
                      },
                      "st_size": {
                        "type": "long",
                        "value": 12
                      },
                      "st_uid": {
                        "type": "long",
                        "value": 139592
                      }
                    }
                  }
                }
              },
              "timestamp": {
                "type": "RDFDatetime",
                "value": 42000000
              }
            }
          }
        ]
      },
      "test_class": "ApiListFlowResultsHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "items": [
          {
            "payload": {
              "stat_entry": {
                "pathspec": {
                  "path": "/tmp/evil.txt",
                  "pathtype": "OS"
                },
                "st_atime": 1336469177,
                "st_ctime": 1336129892,
                "st_dev": 64512,
                "st_gid": 5000,
                "st_ino": 1063090,
                "st_mode": 33184,
                "st_mtime": 1336129892,
                "st_nlink": 1,
                "st_size": 12,
                "st_uid": 139592
              }
            },
            "timestamp": 42000000
          }
        ]
      },
      "url": "/api/clients/C.1000000000000000/flows/W:ABCDEF/results?filter=evil"
    },
    {
      "api_method": "ListFlowResults",
      "method": "GET",
      "response": {},
      "test_class": "ApiListFlowResultsHandlerRegressionTest_http_v1",
      "url": "/api/clients/C.1000000000000000/flows/W:ABCDEF/results?filter=benign"
    }
  ],
  "ApiListFlowsHandler": [
    {
      "api_method": "ListFlows",
      "method": "GET",
      "response": {
        "items": [
          {
            "type": "ApiFlow",
            "value": {
              "client_id": {
                "type": "ApiClientId",
                "value": "C.1000000000000000"
              },
              "creator": {
                "type": "unicode",
                "value": "api_test_user"
              },
              "flow_id": {
                "type": "ApiFlowId",
                "value": "F:ABCDEF12"
              },
              "is_robot": {
                "type": "bool",
                "value": false
              },
              "last_active_at": {
                "type": "RDFDatetime",
                "value": 45000000
              },
              "name": {
                "type": "unicode",
                "value": "FlowWithTwoLevelsOfNestedFlows"
              },
              "nested_flows": [
                {
                  "type": "ApiFlow",
                  "value": {
                    "client_id": {
                      "type": "ApiClientId",
                      "value": "C.1000000000000000"
                    },
                    "creator": {
                      "type": "unicode",
                      "value": "api_test_user"
                    },
                    "flow_id": {
                      "type": "ApiFlowId",
                      "value": "F:ABCDEF13"
                    },
                    "is_robot": {
                      "type": "bool",
                      "value": false
                    },
                    "last_active_at": {
                      "type": "RDFDatetime",
                      "value": 45000000
                    },
                    "name": {
                      "type": "unicode",
                      "value": "FlowWithOneNestedFlow"
                    },
                    "nested_flows": [
                      {
                        "type": "ApiFlow",
                        "value": {
                          "client_id": {
                            "type": "ApiClientId",
                            "value": "C.1000000000000000"
                          },
                          "creator": {
                            "type": "unicode",
                            "value": "api_test_user"
                          },
                          "flow_id": {
                            "type": "ApiFlowId",
                            "value": "F:ABCDEF14"
                          },
                          "is_robot": {
                            "type": "bool",
                            "value": false
                          },
                          "last_active_at": {
                            "type": "RDFDatetime",
                            "value": 45000000
                          },
                          "name": {
                            "type": "unicode",
                            "value": "DummyFlow"
                          },
                          "runner_args": {
                            "type": "FlowRunnerArgs",
                            "value": {
                              "client_id": {
                                "type": "ClientURN",
                                "value": "aff4:/C.1000000000000000"
                              },
                              "flow_name": {
                                "type": "unicode",
                                "value": "DummyFlow"
                              }
                            }
                          },
                          "started_at": {
                            "type": "RDFDatetime",
                            "value": 45000000
                          },
                          "state": {
                            "type": "EnumNamedValue",
                            "value": "TERMINATED"
                          },
                          "urn": {
                            "type": "SessionID",
                            "value": "aff4:/C.1000000000000000/flows/F:ABCDEF12/F:ABCDEF13/F:ABCDEF14"
                          }
                        }
                      }
                    ],
                    "runner_args": {
                      "type": "FlowRunnerArgs",
                      "value": {
                        "client_id": {
                          "type": "ClientURN",
                          "value": "aff4:/C.1000000000000000"
                        },
                        "flow_name": {
                          "type": "unicode",
                          "value": "FlowWithOneNestedFlow"
                        }
                      }
                    },
                    "started_at": {
                      "type": "RDFDatetime",
                      "value": 45000000
                    },
                    "state": {
                      "type": "EnumNamedValue",
                      "value": "RUNNING"
                    },
                    "urn": {
                      "type": "SessionID",
                      "value": "aff4:/C.1000000000000000/flows/F:ABCDEF12/F:ABCDEF13"
                    }
                  }
                }
              ],
              "runner_args": {
                "type": "FlowRunnerArgs",
                "value": {
                  "client_id": {
                    "type": "ClientURN",
                    "value": "aff4:/C.1000000000000000"
                  },
                  "flow_name": {
                    "type": "unicode",
                    "value": "FlowWithTwoLevelsOfNestedFlows"
                  }
                }
              },
              "started_at": {
                "type": "RDFDatetime",
                "value": 45000000
              },
              "state": {
                "type": "EnumNamedValue",
                "value": "RUNNING"
              },
              "urn": {
                "type": "SessionID",
                "value": "aff4:/C.1000000000000000/flows/F:ABCDEF12"
              }
            }
          },
          {
            "type": "ApiFlow",
            "value": {
              "client_id": {
                "type": "ApiClientId",
                "value": "C.1000000000000000"
              },
              "creator": {
                "type": "unicode",
                "value": "GRRWorker"
              },
              "flow_id": {
                "type": "ApiFlowId",
                "value": "F:ABCDEF11"
              },
              "is_robot": {
                "type": "bool",
                "value": true
              },
              "last_active_at": {
                "type": "RDFDatetime",
                "value": 44000000
              },
              "name": {
                "type": "unicode",
                "value": "ListProcesses"
              },
              "runner_args": {
                "type": "FlowRunnerArgs",
                "value": {
                  "client_id": {
                    "type": "ClientURN",
                    "value": "aff4:/C.1000000000000000"
                  },
                  "flow_name": {
                    "type": "unicode",
                    "value": "ListProcesses"
                  }
                }
              },
              "started_at": {
                "type": "RDFDatetime",
                "value": 44000000
              },
              "state": {
                "type": "EnumNamedValue",
                "value": "RUNNING"
              },
              "urn": {
                "type": "SessionID",
                "value": "aff4:/C.1000000000000000/flows/F:ABCDEF11"
              }
            }
          },
          {
            "type": "ApiFlow",
            "value": {
              "client_id": {
                "type": "ApiClientId",
                "value": "C.1000000000000000"
              },
              "creator": {
                "type": "unicode",
                "value": "api_test_user"
              },
              "flow_id": {
                "type": "ApiFlowId",
                "value": "F:ABCDEF10"
              },
              "is_robot": {
                "type": "bool",
                "value": false
              },
              "last_active_at": {
                "type": "RDFDatetime",
                "value": 43000000
              },
              "name": {
                "type": "unicode",
                "value": "Interrogate"
              },
              "runner_args": {
                "type": "FlowRunnerArgs",
                "value": {
                  "client_id": {
                    "type": "ClientURN",
                    "value": "aff4:/C.1000000000000000"
                  },
                  "flow_name": {
                    "type": "unicode",
                    "value": "Interrogate"
                  }
                }
              },
              "started_at": {
                "type": "RDFDatetime",
                "value": 43000000
              },
              "state": {
                "type": "EnumNamedValue",
                "value": "RUNNING"
              },
              "store": {
                "type": "AnyValue",
                "value": {
                  "type_url": {
                    "type": "unicode",
                    "value": "type.googleapis.com/grr.InterrogateStore"
                  }
                }
              },
              "urn": {
                "type": "SessionID",
                "value": "aff4:/C.1000000000000000/flows/F:ABCDEF10"
              }
            }
          }
        ]
      },
      "test_class": "ApiListFlowsHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "items": [
          {
            "client_id": "C.1000000000000000",
            "creator": "api_test_user",
            "flow_id": "F:ABCDEF12",
            "is_robot": false,
            "last_active_at": 45000000,
            "name": "FlowWithTwoLevelsOfNestedFlows",
            "nested_flows": [
              {
                "client_id": "C.1000000000000000",
                "creator": "api_test_user",
                "flow_id": "F:ABCDEF13",
                "is_robot": false,
                "last_active_at": 45000000,
                "name": "FlowWithOneNestedFlow",
                "nested_flows": [
                  {
                    "client_id": "C.1000000000000000",
                    "creator": "api_test_user",
                    "flow_id": "F:ABCDEF14",
                    "is_robot": false,
                    "last_active_at": 45000000,
                    "name": "DummyFlow",
                    "runner_args": {
                      "client_id": "aff4:/C.1000000000000000",
                      "flow_name": "DummyFlow"
                    },
                    "started_at": 45000000,
                    "state": "TERMINATED",
                    "urn": "aff4:/C.1000000000000000/flows/F:ABCDEF12/F:ABCDEF13/F:ABCDEF14"
                  }
                ],
                "runner_args": {
                  "client_id": "aff4:/C.1000000000000000",
                  "flow_name": "FlowWithOneNestedFlow"
                },
                "started_at": 45000000,
                "state": "RUNNING",
                "urn": "aff4:/C.1000000000000000/flows/F:ABCDEF12/F:ABCDEF13"
              }
            ],
            "runner_args": {
              "client_id": "aff4:/C.1000000000000000",
              "flow_name": "FlowWithTwoLevelsOfNestedFlows"
            },
            "started_at": 45000000,
            "state": "RUNNING",
            "urn": "aff4:/C.1000000000000000/flows/F:ABCDEF12"
          },
          {
            "client_id": "C.1000000000000000",
            "creator": "GRRWorker",
            "flow_id": "F:ABCDEF11",
            "is_robot": true,
            "last_active_at": 44000000,
            "name": "ListProcesses",
            "runner_args": {
              "client_id": "aff4:/C.1000000000000000",
              "flow_name": "ListProcesses"
            },
            "started_at": 44000000,
            "state": "RUNNING",
            "urn": "aff4:/C.1000000000000000/flows/F:ABCDEF11"
          },
          {
            "client_id": "C.1000000000000000",
            "creator": "api_test_user",
            "flow_id": "F:ABCDEF10",
            "is_robot": false,
            "last_active_at": 43000000,
            "name": "Interrogate",
            "runner_args": {
              "client_id": "aff4:/C.1000000000000000",
              "flow_name": "Interrogate"
            },
            "started_at": 43000000,
            "state": "RUNNING",
            "store": {
              "type_url": "type.googleapis.com/grr.InterrogateStore"
            },
            "urn": "aff4:/C.1000000000000000/flows/F:ABCDEF10"
          }
        ]
      },
      "url": "/api/clients/C.1000000000000000/flows"
    },
    {
      "api_method": "ListFlows",
      "method": "GET",
      "response": {
        "items": [
          {
            "type": "ApiFlow",
            "value": {
              "args": {
                "type": "EmptyFlowArgs",
                "value": {}
              },
              "client_id": {
                "type": "ApiClientId",
                "value": "C.1000000000000000"
              },
              "creator": {
                "type": "unicode",
                "value": "api_test_user"
              },
              "flow_id": {
                "type": "ApiFlowId",
                "value": "F:ABCDEF12"
              },
              "is_robot": {
                "type": "bool",
                "value": false
              },
              "last_active_at": {
                "type": "RDFDatetime",
                "value": 45000000
              },
              "name": {
                "type": "unicode",
                "value": "FlowWithTwoLevelsOfNestedFlows"
              },
              "progress": {
                "type": "DefaultFlowProgress",
                "value": {}
              },
              "result_metadata": {
                "type": "FlowResultMetadata",
                "value": {
                  "is_metadata_set": {
                    "type": "bool",
                    "value": true
                  }
                }
              },
              "runner_args": {
                "type": "FlowRunnerArgs",
                "value": {
                  "client_id": {
                    "type": "ClientURN",
                    "value": "aff4:/C.1000000000000000"
                  },
                  "flow_name": {
                    "type": "unicode",
                    "value": "FlowWithTwoLevelsOfNestedFlows"
                  }
                }
              },
              "started_at": {
                "type": "RDFDatetime",
                "value": 45000000
              },
              "state": {
                "type": "EnumNamedValue",
                "value": "RUNNING"
              },
              "urn": {
                "type": "SessionID",
                "value": "aff4:/C.1000000000000000/flows/F:ABCDEF12"
              }
            }
          },
          {
            "type": "ApiFlow",
            "value": {
              "args": {
                "type": "ListProcessesArgs",
                "value": {}
              },
              "client_id": {
                "type": "ApiClientId",
                "value": "C.1000000000000000"
              },
              "creator": {
                "type": "unicode",
                "value": "GRRWorker"
              },
              "flow_id": {
                "type": "ApiFlowId",
                "value": "F:ABCDEF11"
              },
              "is_robot": {
                "type": "bool",
                "value": true
              },
              "last_active_at": {
                "type": "RDFDatetime",
                "value": 44000000
              },
              "name": {
                "type": "unicode",
                "value": "ListProcesses"
              },
              "progress": {
                "type": "DefaultFlowProgress",
                "value": {}
              },
              "result_metadata": {
                "type": "FlowResultMetadata",
                "value": {
                  "is_metadata_set": {
                    "type": "bool",
                    "value": true
                  }
                }
              },
              "runner_args": {
                "type": "FlowRunnerArgs",
                "value": {
                  "client_id": {
                    "type": "ClientURN",
                    "value": "aff4:/C.1000000000000000"
                  },
                  "flow_name": {
                    "type": "unicode",
                    "value": "ListProcesses"
                  }
                }
              },
              "started_at": {
                "type": "RDFDatetime",
                "value": 44000000
              },
              "state": {
                "type": "EnumNamedValue",
                "value": "RUNNING"
              },
              "urn": {
                "type": "SessionID",
                "value": "aff4:/C.1000000000000000/flows/F:ABCDEF11"
              }
            }
          },
          {
            "type": "ApiFlow",
            "value": {
              "args": {
                "type": "InterrogateArgs",
                "value": {}
              },
              "client_id": {
                "type": "ApiClientId",
                "value": "C.1000000000000000"
              },
              "creator": {
                "type": "unicode",
                "value": "api_test_user"
              },
              "flow_id": {
                "type": "ApiFlowId",
                "value": "F:ABCDEF10"
              },
              "is_robot": {
                "type": "bool",
                "value": false
              },
              "last_active_at": {
                "type": "RDFDatetime",
                "value": 43000000
              },
              "name": {
                "type": "unicode",
                "value": "Interrogate"
              },
              "progress": {
                "type": "DefaultFlowProgress",
                "value": {}
              },
              "result_metadata": {
                "type": "FlowResultMetadata",
                "value": {
                  "is_metadata_set": {
                    "type": "bool",
                    "value": true
                  }
                }
              },
              "runner_args": {
                "type": "FlowRunnerArgs",
                "value": {
                  "client_id": {
                    "type": "ClientURN",
                    "value": "aff4:/C.1000000000000000"
                  },
                  "flow_name": {
                    "type": "unicode",
                    "value": "Interrogate"
                  }
                }
              },
              "started_at": {
                "type": "RDFDatetime",
                "value": 43000000
              },
              "state": {
                "type": "EnumNamedValue",
                "value": "RUNNING"
              },
              "store": {
                "type": "AnyValue",
                "value": {
                  "type_url": {
                    "type": "unicode",
                    "value": "type.googleapis.com/grr.InterrogateStore"
                  }
                }
              },
              "urn": {
                "type": "SessionID",
                "value": "aff4:/C.1000000000000000/flows/F:ABCDEF10"
              }
            }
          }
        ]
      },
      "test_class": "ApiListFlowsHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "items": [
          {
            "args": {},
            "client_id": "C.1000000000000000",
            "creator": "api_test_user",
            "flow_id": "F:ABCDEF12",
            "is_robot": false,
            "last_active_at": 45000000,
            "name": "FlowWithTwoLevelsOfNestedFlows",
            "progress": {},
            "result_metadata": {
              "is_metadata_set": true
            },
            "runner_args": {
              "client_id": "aff4:/C.1000000000000000",
              "flow_name": "FlowWithTwoLevelsOfNestedFlows"
            },
            "started_at": 45000000,
            "state": "RUNNING",
            "urn": "aff4:/C.1000000000000000/flows/F:ABCDEF12"
          },
          {
            "args": {},
            "client_id": "C.1000000000000000",
            "creator": "GRRWorker",
            "flow_id": "F:ABCDEF11",
            "is_robot": true,
            "last_active_at": 44000000,
            "name": "ListProcesses",
            "progress": {},
            "result_metadata": {
              "is_metadata_set": true
            },
            "runner_args": {
              "client_id": "aff4:/C.1000000000000000",
              "flow_name": "ListProcesses"
            },
            "started_at": 44000000,
            "state": "RUNNING",
            "urn": "aff4:/C.1000000000000000/flows/F:ABCDEF11"
          },
          {
            "args": {},
            "client_id": "C.1000000000000000",
            "creator": "api_test_user",
            "flow_id": "F:ABCDEF10",
            "is_robot": false,
            "last_active_at": 43000000,
            "name": "Interrogate",
            "progress": {},
            "result_metadata": {
              "is_metadata_set": true
            },
            "runner_args": {
              "client_id": "aff4:/C.1000000000000000",
              "flow_name": "Interrogate"
            },
            "started_at": 43000000,
            "state": "RUNNING",
            "store": {
              "type_url": "type.googleapis.com/grr.InterrogateStore"
            },
            "urn": "aff4:/C.1000000000000000/flows/F:ABCDEF10"
          }
        ]
      },
      "url": "/api/clients/C.1000000000000000/flows?top_flows_only=1"
    },
    {
      "api_method": "ListFlows",
      "method": "GET",
      "response": {
        "items": [
          {
            "type": "ApiFlow",
            "value": {
              "args": {
                "type": "EmptyFlowArgs",
                "value": {}
              },
              "client_id": {
                "type": "ApiClientId",
                "value": "C.1000000000000000"
              },
              "creator": {
                "type": "unicode",
                "value": "api_test_user"
              },
              "flow_id": {
                "type": "ApiFlowId",
                "value": "F:ABCDEF12"
              },
              "is_robot": {
                "type": "bool",
                "value": false
              },
              "last_active_at": {
                "type": "RDFDatetime",
                "value": 45000000
              },
              "name": {
                "type": "unicode",
                "value": "FlowWithTwoLevelsOfNestedFlows"
              },
              "progress": {
                "type": "DefaultFlowProgress",
                "value": {}
              },
              "result_metadata": {
                "type": "FlowResultMetadata",
                "value": {
                  "is_metadata_set": {
                    "type": "bool",
                    "value": true
                  }
                }
              },
              "runner_args": {
                "type": "FlowRunnerArgs",
                "value": {
                  "client_id": {
                    "type": "ClientURN",
                    "value": "aff4:/C.1000000000000000"
                  },
                  "flow_name": {
                    "type": "unicode",
                    "value": "FlowWithTwoLevelsOfNestedFlows"
                  }
                }
              },
              "started_at": {
                "type": "RDFDatetime",
                "value": 45000000
              },
              "state": {
                "type": "EnumNamedValue",
                "value": "RUNNING"
              },
              "urn": {
                "type": "SessionID",
                "value": "aff4:/C.1000000000000000/flows/F:ABCDEF12"
              }
            }
          },
          {
            "type": "ApiFlow",
            "value": {
              "args": {
                "type": "ListProcessesArgs",
                "value": {}
              },
              "client_id": {
                "type": "ApiClientId",
                "value": "C.1000000000000000"
              },
              "creator": {
                "type": "unicode",
                "value": "GRRWorker"
              },
              "flow_id": {
                "type": "ApiFlowId",
                "value": "F:ABCDEF11"
              },
              "is_robot": {
                "type": "bool",
                "value": true
              },
              "last_active_at": {
                "type": "RDFDatetime",
                "value": 44000000
              },
              "name": {
                "type": "unicode",
                "value": "ListProcesses"
              },
              "progress": {
                "type": "DefaultFlowProgress",
                "value": {}
              },
              "result_metadata": {
                "type": "FlowResultMetadata",
                "value": {
                  "is_metadata_set": {
                    "type": "bool",
                    "value": true
                  }
                }
              },
              "runner_args": {
                "type": "FlowRunnerArgs",
                "value": {
                  "client_id": {
                    "type": "ClientURN",
                    "value": "aff4:/C.1000000000000000"
                  },
                  "flow_name": {
                    "type": "unicode",
                    "value": "ListProcesses"
                  }
                }
              },
              "started_at": {
                "type": "RDFDatetime",
                "value": 44000000
              },
              "state": {
                "type": "EnumNamedValue",
                "value": "RUNNING"
              },
              "urn": {
                "type": "SessionID",
                "value": "aff4:/C.1000000000000000/flows/F:ABCDEF11"
              }
            }
          }
        ]
      },
      "test_class": "ApiListFlowsHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "items": [
          {
            "args": {},
            "client_id": "C.1000000000000000",
            "creator": "api_test_user",
            "flow_id": "F:ABCDEF12",
            "is_robot": false,
            "last_active_at": 45000000,
            "name": "FlowWithTwoLevelsOfNestedFlows",
            "progress": {},
            "result_metadata": {
              "is_metadata_set": true
            },
            "runner_args": {
              "client_id": "aff4:/C.1000000000000000",
              "flow_name": "FlowWithTwoLevelsOfNestedFlows"
            },
            "started_at": 45000000,
            "state": "RUNNING",
            "urn": "aff4:/C.1000000000000000/flows/F:ABCDEF12"
          },
          {
            "args": {},
            "client_id": "C.1000000000000000",
            "creator": "GRRWorker",
            "flow_id": "F:ABCDEF11",
            "is_robot": true,
            "last_active_at": 44000000,
            "name": "ListProcesses",
            "progress": {},
            "result_metadata": {
              "is_metadata_set": true
            },
            "runner_args": {
              "client_id": "aff4:/C.1000000000000000",
              "flow_name": "ListProcesses"
            },
            "started_at": 44000000,
            "state": "RUNNING",
            "urn": "aff4:/C.1000000000000000/flows/F:ABCDEF11"
          }
        ]
      },
      "url": "/api/clients/C.1000000000000000/flows?min_started_at=44000000&top_flows_only=1"
    },
    {
      "api_method": "ListFlows",
      "method": "GET",
      "response": {
        "items": [
          {
            "type": "ApiFlow",
            "value": {
              "args": {
                "type": "InterrogateArgs",
                "value": {}
              },
              "client_id": {
                "type": "ApiClientId",
                "value": "C.1000000000000000"
              },
              "creator": {
                "type": "unicode",
                "value": "api_test_user"
              },
              "flow_id": {
                "type": "ApiFlowId",
                "value": "F:ABCDEF10"
              },
              "is_robot": {
                "type": "bool",
                "value": false
              },
              "last_active_at": {
                "type": "RDFDatetime",
                "value": 43000000
              },
              "name": {
                "type": "unicode",
                "value": "Interrogate"
              },
              "progress": {
                "type": "DefaultFlowProgress",
                "value": {}
              },
              "result_metadata": {
                "type": "FlowResultMetadata",
                "value": {
                  "is_metadata_set": {
                    "type": "bool",
                    "value": true
                  }
                }
              },
              "runner_args": {
                "type": "FlowRunnerArgs",
                "value": {
                  "client_id": {
                    "type": "ClientURN",
                    "value": "aff4:/C.1000000000000000"
                  },
                  "flow_name": {
                    "type": "unicode",
                    "value": "Interrogate"
                  }
                }
              },
              "started_at": {
                "type": "RDFDatetime",
                "value": 43000000
              },
              "state": {
                "type": "EnumNamedValue",
                "value": "RUNNING"
              },
              "store": {
                "type": "AnyValue",
                "value": {
                  "type_url": {
                    "type": "unicode",
                    "value": "type.googleapis.com/grr.InterrogateStore"
                  }
                }
              },
              "urn": {
                "type": "SessionID",
                "value": "aff4:/C.1000000000000000/flows/F:ABCDEF10"
              }
            }
          }
        ]
      },
      "test_class": "ApiListFlowsHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "items": [
          {
            "args": {},
            "client_id": "C.1000000000000000",
            "creator": "api_test_user",
            "flow_id": "F:ABCDEF10",
            "is_robot": false,
            "last_active_at": 43000000,
            "name": "Interrogate",
            "progress": {},
            "result_metadata": {
              "is_metadata_set": true
            },
            "runner_args": {
              "client_id": "aff4:/C.1000000000000000",
              "flow_name": "Interrogate"
            },
            "started_at": 43000000,
            "state": "RUNNING",
            "store": {
              "type_url": "type.googleapis.com/grr.InterrogateStore"
            },
            "urn": "aff4:/C.1000000000000000/flows/F:ABCDEF10"
          }
        ]
      },
      "url": "/api/clients/C.1000000000000000/flows?max_started_at=43000000&top_flows_only=1"
    },
    {
      "api_method": "ListFlows",
      "method": "GET",
      "response": {
        "items": [
          {
            "type": "ApiFlow",
            "value": {
              "client_id": {
                "type": "ApiClientId",
                "value": "C.1000000000000000"
              },
              "creator": {
                "type": "unicode",
                "value": "api_test_user"
              },
              "flow_id": {
                "type": "ApiFlowId",
                "value": "F:ABCDEF12"
              },
              "is_robot": {
                "type": "bool",
                "value": false
              },
              "last_active_at": {
                "type": "RDFDatetime",
                "value": 45000000
              },
              "name": {
                "type": "unicode",
                "value": "FlowWithTwoLevelsOfNestedFlows"
              },
              "nested_flows": [
                {
                  "type": "ApiFlow",
                  "value": {
                    "client_id": {
                      "type": "ApiClientId",
                      "value": "C.1000000000000000"
                    },
                    "creator": {
                      "type": "unicode",
                      "value": "api_test_user"
                    },
                    "flow_id": {
                      "type": "ApiFlowId",
                      "value": "F:ABCDEF13"
                    },
                    "is_robot": {
                      "type": "bool",
                      "value": false
                    },
                    "last_active_at": {
                      "type": "RDFDatetime",
                      "value": 45000000
                    },
                    "name": {
                      "type": "unicode",
                      "value": "FlowWithOneNestedFlow"
                    },
                    "nested_flows": [
                      {
                        "type": "ApiFlow",
                        "value": {
                          "client_id": {
                            "type": "ApiClientId",
                            "value": "C.1000000000000000"
                          },
                          "creator": {
                            "type": "unicode",
                            "value": "api_test_user"
                          },
                          "flow_id": {
                            "type": "ApiFlowId",
                            "value": "F:ABCDEF14"
                          },
                          "is_robot": {
                            "type": "bool",
                            "value": false
                          },
                          "last_active_at": {
                            "type": "RDFDatetime",
                            "value": 45000000
                          },
                          "name": {
                            "type": "unicode",
                            "value": "DummyFlow"
                          },
                          "runner_args": {
                            "type": "FlowRunnerArgs",
                            "value": {
                              "client_id": {
                                "type": "ClientURN",
                                "value": "aff4:/C.1000000000000000"
                              },
                              "flow_name": {
                                "type": "unicode",
                                "value": "DummyFlow"
                              }
                            }
                          },
                          "started_at": {
                            "type": "RDFDatetime",
                            "value": 45000000
                          },
                          "state": {
                            "type": "EnumNamedValue",
                            "value": "TERMINATED"
                          },
                          "urn": {
                            "type": "SessionID",
                            "value": "aff4:/C.1000000000000000/flows/F:ABCDEF12/F:ABCDEF13/F:ABCDEF14"
                          }
                        }
                      }
                    ],
                    "runner_args": {
                      "type": "FlowRunnerArgs",
                      "value": {
                        "client_id": {
                          "type": "ClientURN",
                          "value": "aff4:/C.1000000000000000"
                        },
                        "flow_name": {
                          "type": "unicode",
                          "value": "FlowWithOneNestedFlow"
                        }
                      }
                    },
                    "started_at": {
                      "type": "RDFDatetime",
                      "value": 45000000
                    },
                    "state": {
                      "type": "EnumNamedValue",
                      "value": "RUNNING"
                    },
                    "urn": {
                      "type": "SessionID",
                      "value": "aff4:/C.1000000000000000/flows/F:ABCDEF12/F:ABCDEF13"
                    }
                  }
                }
              ],
              "runner_args": {
                "type": "FlowRunnerArgs",
                "value": {
                  "client_id": {
                    "type": "ClientURN",
                    "value": "aff4:/C.1000000000000000"
                  },
                  "flow_name": {
                    "type": "unicode",
                    "value": "FlowWithTwoLevelsOfNestedFlows"
                  }
                }
              },
              "started_at": {
                "type": "RDFDatetime",
                "value": 45000000
              },
              "state": {
                "type": "EnumNamedValue",
                "value": "RUNNING"
              },
              "urn": {
                "type": "SessionID",
                "value": "aff4:/C.1000000000000000/flows/F:ABCDEF12"
              }
            }
          },
          {
            "type": "ApiFlow",
            "value": {
              "client_id": {
                "type": "ApiClientId",
                "value": "C.1000000000000000"
              },
              "creator": {
                "type": "unicode",
                "value": "api_test_user"
              },
              "flow_id": {
                "type": "ApiFlowId",
                "value": "F:ABCDEF10"
              },
              "is_robot": {
                "type": "bool",
                "value": false
              },
              "last_active_at": {
                "type": "RDFDatetime",
                "value": 43000000
              },
              "name": {
                "type": "unicode",
                "value": "Interrogate"
              },
              "runner_args": {
                "type": "FlowRunnerArgs",
                "value": {
                  "client_id": {
                    "type": "ClientURN",
                    "value": "aff4:/C.1000000000000000"
                  },
                  "flow_name": {
                    "type": "unicode",
                    "value": "Interrogate"
                  }
                }
              },
              "started_at": {
                "type": "RDFDatetime",
                "value": 43000000
              },
              "state": {
                "type": "EnumNamedValue",
                "value": "RUNNING"
              },
              "store": {
                "type": "AnyValue",
                "value": {
                  "type_url": {
                    "type": "unicode",
                    "value": "type.googleapis.com/grr.InterrogateStore"
                  }
                }
              },
              "urn": {
                "type": "SessionID",
                "value": "aff4:/C.1000000000000000/flows/F:ABCDEF10"
              }
            }
          }
        ]
      },
      "test_class": "ApiListFlowsHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "items": [
          {
            "client_id": "C.1000000000000000",
            "creator": "api_test_user",
            "flow_id": "F:ABCDEF12",
            "is_robot": false,
            "last_active_at": 45000000,
            "name": "FlowWithTwoLevelsOfNestedFlows",
            "nested_flows": [
              {
                "client_id": "C.1000000000000000",
                "creator": "api_test_user",
                "flow_id": "F:ABCDEF13",
                "is_robot": false,
                "last_active_at": 45000000,
                "name": "FlowWithOneNestedFlow",
                "nested_flows": [
                  {
                    "client_id": "C.1000000000000000",
                    "creator": "api_test_user",
                    "flow_id": "F:ABCDEF14",
                    "is_robot": false,
                    "last_active_at": 45000000,
                    "name": "DummyFlow",
                    "runner_args": {
                      "client_id": "aff4:/C.1000000000000000",
                      "flow_name": "DummyFlow"
                    },
                    "started_at": 45000000,
                    "state": "TERMINATED",
                    "urn": "aff4:/C.1000000000000000/flows/F:ABCDEF12/F:ABCDEF13/F:ABCDEF14"
                  }
                ],
                "runner_args": {
                  "client_id": "aff4:/C.1000000000000000",
                  "flow_name": "FlowWithOneNestedFlow"
                },
                "started_at": 45000000,
                "state": "RUNNING",
                "urn": "aff4:/C.1000000000000000/flows/F:ABCDEF12/F:ABCDEF13"
              }
            ],
            "runner_args": {
              "client_id": "aff4:/C.1000000000000000",
              "flow_name": "FlowWithTwoLevelsOfNestedFlows"
            },
            "started_at": 45000000,
            "state": "RUNNING",
            "urn": "aff4:/C.1000000000000000/flows/F:ABCDEF12"
          },
          {
            "client_id": "C.1000000000000000",
            "creator": "api_test_user",
            "flow_id": "F:ABCDEF10",
            "is_robot": false,
            "last_active_at": 43000000,
            "name": "Interrogate",
            "runner_args": {
              "client_id": "aff4:/C.1000000000000000",
              "flow_name": "Interrogate"
            },
            "started_at": 43000000,
            "state": "RUNNING",
            "store": {
              "type_url": "type.googleapis.com/grr.InterrogateStore"
            },
            "urn": "aff4:/C.1000000000000000/flows/F:ABCDEF10"
          }
        ]
      },
      "url": "/api/clients/C.1000000000000000/flows?human_flows_only=1"
    }
  ],
  "ApiListGrrBinariesHandler": [
    {
      "api_method": "ListGrrBinaries",
      "method": "GET",
      "response": {
        "items": [
          {
            "type": "ApiGrrBinary",
            "value": {
              "has_valid_signature": {
                "type": "bool",
                "value": true
              },
              "path": {
                "type": "unicode",
                "value": "windows/test.exe"
              },
              "size": {
                "type": "ByteSize",
                "value": 18
              },
              "timestamp": {
                "type": "RDFDatetime",
                "value": 42000000
              },
              "type": {
                "type": "EnumNamedValue",
                "value": "EXECUTABLE"
              }
            }
          },
          {
            "type": "ApiGrrBinary",
            "value": {
              "has_valid_signature": {
                "type": "bool",
                "value": true
              },
              "path": {
                "type": "unicode",
                "value": "test"
              },
              "size": {
                "type": "ByteSize",
                "value": 17
              },
              "timestamp": {
                "type": "RDFDatetime",
                "value": 43000000
              },
              "type": {
                "type": "EnumNamedValue",
                "value": "PYTHON_HACK"
              }
            }
          }
        ]
      },
      "test_class": "ApiListGrrBinariesHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "items": [
          {
            "has_valid_signature": true,
            "path": "windows/test.exe",
            "size": 18,
            "timestamp": 42000000,
            "type": "EXECUTABLE"
          },
          {
            "has_valid_signature": true,
            "path": "test",
            "size": 17,
            "timestamp": 43000000,
            "type": "PYTHON_HACK"
          }
        ]
      },
      "url": "/api/config/binaries"
    }
  ],
  "ApiListHuntApprovalsHandler": [
    {
      "api_method": "ListHuntApprovals",
      "method": "GET",
      "response": {
        "items": [
          {
            "type": "ApiHuntApproval",
            "value": {
              "approvers": [
                {
                  "type": "unicode",
                  "value": "api_test_user"
                }
              ],
              "email_message_id": {
                "type": "unicode",
                "value": "<message id stub>"
              },
              "expiration_time_us": {
                "type": "RDFDatetime",
                "value": 2419243000000
              },
              "id": {
                "type": "unicode",
                "value": "approval:112233"
              },
              "is_valid": {
                "type": "bool",
                "value": false
              },
              "is_valid_message": {
                "type": "unicode",
                "value": "Need at least 1 additional approver for access."
              },
              "notified_users": [
                {
                  "type": "unicode",
                  "value": "approver"
                }
              ],
              "reason": {
                "type": "unicode",
                "value": "Running tests"
              },
              "requestor": {
                "type": "unicode",
                "value": "api_test_user"
              },
              "subject": {
                "type": "ApiHunt",
                "value": {
                  "all_clients_count": {
                    "type": "long",
                    "value": 0
                  },
                  "client_limit": {
                    "type": "long",
                    "value": 100
                  },
                  "client_rate": {
                    "type": "float",
                    "value": 0.0
                  },
                  "client_rule_set": {
                    "type": "ForemanClientRuleSet",
                    "value": {
                      "rules": [
                        {
                          "type": "ForemanClientRule",
                          "value": {
                            "regex": {
                              "type": "ForemanRegexClientRule",
                              "value": {
                                "attribute_regex": {
                                  "type": "RegularExpression",
                                  "value": "GRR"
                                },
                                "field": {
                                  "type": "EnumNamedValue",
                                  "value": "CLIENT_NAME"
                                }
                              }
                            },
                            "rule_type": {
                              "type": "EnumNamedValue",
                              "value": "REGEX"
                            }
                          }
                        }
                      ]
                    }
                  },
                  "clients_with_results_count": {
                    "type": "long",
                    "value": 0
                  },
                  "completed_clients_count": {
                    "type": "long",
                    "value": 0
                  },
                  "crash_limit": {
                    "type": "long",
                    "value": 100
                  },
                  "crashed_clients_count": {
                    "type": "long",
                    "value": 0
                  },
                  "created": {
                    "type": "RDFDatetime",
                    "value": 42000000
                  },
                  "creator": {
                    "type": "unicode",
                    "value": "api_test_user"
                  },
                  "description": {
                    "type": "unicode",
                    "value": "foo"
                  },
                  "duration": {
                    "type": "DurationSeconds",
                    "value": 1209600
                  },
                  "failed_clients_count": {
                    "type": "long",
                    "value": 0
                  },
                  "flow_args": {
                    "type": "FileFinderArgs",
                    "value": {
                      "action": {
                        "type": "FileFinderAction",
                        "value": {
                          "action_type": {
                            "type": "EnumNamedValue",
                            "value": "DOWNLOAD"
                          },
                          "download": {
                            "type": "FileFinderDownloadActionOptions",
                            "value": {
                              "collect_ext_attrs": {
                                "type": "bool",
                                "value": false
                              }
                            }
                          }
                        }
                      },
                      "paths": [
                        {
                          "type": "GlobExpression",
                          "value": "/tmp/evil.txt"
                        }
                      ],
                      "pathtype": {
                        "type": "EnumNamedValue",
                        "value": "OS"
                      }
                    }
                  },
                  "flow_name": {
                    "type": "unicode",
                    "value": "ClientFileFinder"
                  },
                  "hunt_id": {
                    "type": "ApiHuntId",
                    "value": "H:123456"
                  },
                  "hunt_runner_args": {
                    "type": "HuntRunnerArgs",
                    "value": {
                      "avg_cpu_seconds_per_client_limit": {
                        "type": "long",
                        "value": 60
                      },
                      "avg_network_bytes_per_client_limit": {
                        "type": "long",
                        "value": 10485760
                      },
                      "avg_results_per_client_limit": {
                        "type": "long",
                        "value": 1000
                      },
                      "client_limit": {
                        "type": "long",
                        "value": 100
                      },
                      "client_rate": {
                        "type": "float",
                        "value": 0.0
                      },
                      "client_rule_set": {
                        "type": "ForemanClientRuleSet",
                        "value": {
                          "rules": [
                            {
                              "type": "ForemanClientRule",
                              "value": {
                                "regex": {
                                  "type": "ForemanRegexClientRule",
                                  "value": {
                                    "attribute_regex": {
                                      "type": "RegularExpression",
                                      "value": "GRR"
                                    },
                                    "field": {
                                      "type": "EnumNamedValue",
                                      "value": "CLIENT_NAME"
                                    }
                                  }
                                },
                                "rule_type": {
                                  "type": "EnumNamedValue",
                                  "value": "REGEX"
                                }
                              }
                            }
                          ]
                        }
                      },
                      "crash_limit": {
                        "type": "long",
                        "value": 100
                      },
                      "description": {
                        "type": "unicode",
                        "value": "foo"
                      },
                      "expiry_time": {
                        "type": "DurationSeconds",
                        "value": 1209600
                      },
                      "hunt_name": {
                        "type": "unicode",
                        "value": "GenericHunt"
                      },
                      "original_object": {
                        "type": "FlowLikeObjectReference",
                        "value": {}
                      }
                    }
                  },
                  "hunt_type": {
                    "type": "EnumNamedValue",
                    "value": "STANDARD"
                  },
                  "is_robot": {
                    "type": "bool",
                    "value": false
                  },
                  "name": {
                    "type": "unicode",
                    "value": "GenericHunt"
                  },
                  "remaining_clients_count": {
                    "type": "long",
                    "value": 0
                  },
                  "results_count": {
                    "type": "long",
                    "value": 0
                  },
                  "state": {
                    "type": "EnumNamedValue",
                    "value": "PAUSED"
                  },
                  "state_comment": {
                    "type": "unicode",
                    "value": ""
                  },
                  "state_reason": {
                    "type": "EnumNamedValue",
                    "value": "UNKNOWN"
                  },
                  "total_cpu_usage": {
                    "type": "float",
                    "value": 0.0
                  },
                  "total_net_usage": {
                    "type": "long",
                    "value": 0
                  },
                  "urn": {
                    "type": "SessionID",
                    "value": "aff4:/hunts/H:123456"
                  }
                }
              }
            }
          }
        ]
      },
      "test_class": "ApiListHuntApprovalsHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "items": [
          {
            "approvers": [
              "api_test_user"
            ],
            "email_message_id": "<message id stub>",
            "expiration_time_us": 2419243000000,
            "id": "approval:112233",
            "is_valid": false,
            "is_valid_message": "Need at least 1 additional approver for access.",
            "notified_users": [
              "approver"
            ],
            "reason": "Running tests",
            "requestor": "api_test_user",
            "subject": {
              "all_clients_count": 0,
              "client_limit": 100,
              "client_rate": 0.0,
              "client_rule_set": {
                "rules": [
                  {
                    "regex": {
                      "attribute_regex": "GRR",
                      "field": "CLIENT_NAME"
                    },
                    "rule_type": "REGEX"
                  }
                ]
              },
              "clients_with_results_count": 0,
              "completed_clients_count": 0,
              "crash_limit": 100,
              "crashed_clients_count": 0,
              "created": 42000000,
              "creator": "api_test_user",
              "description": "foo",
              "duration": 1209600,
              "failed_clients_count": 0,
              "flow_args": {
                "action": {
                  "action_type": "DOWNLOAD",
                  "download": {
                    "collect_ext_attrs": false
                  }
                },
                "paths": [
                  "/tmp/evil.txt"
                ],
                "pathtype": "OS"
              },
              "flow_name": "ClientFileFinder",
              "hunt_id": "H:123456",
              "hunt_runner_args": {
                "avg_cpu_seconds_per_client_limit": 60,
                "avg_network_bytes_per_client_limit": 10485760,
                "avg_results_per_client_limit": 1000,
                "client_limit": 100,
                "client_rate": 0.0,
                "client_rule_set": {
                  "rules": [
                    {
                      "regex": {
                        "attribute_regex": "GRR",
                        "field": "CLIENT_NAME"
                      },
                      "rule_type": "REGEX"
                    }
                  ]
                },
                "crash_limit": 100,
                "description": "foo",
                "expiry_time": 1209600,
                "hunt_name": "GenericHunt",
                "original_object": {}
              },
              "hunt_type": "STANDARD",
              "is_robot": false,
              "name": "GenericHunt",
              "remaining_clients_count": 0,
              "results_count": 0,
              "state": "PAUSED",
              "state_comment": "",
              "state_reason": "UNKNOWN",
              "total_cpu_usage": 0.0,
              "total_net_usage": 0,
              "urn": "aff4:/hunts/H:123456"
            }
          }
        ]
      },
      "url": "/api/users/me/approvals/hunt"
    }
  ],
  "ApiListHuntClientsHandler": [
    {
      "api_method": "ListHuntClients",
      "method": "GET",
      "response": {
        "items": [
          {
            "type": "ApiHuntClient",
            "value": {
              "client_id": {
                "type": "ApiClientId",
                "value": "C.1000000000000000"
              },
              "flow_id": {
                "type": "ApiFlowId",
                "value": "H:123456"
              }
            }
          },
          {
            "type": "ApiHuntClient",
            "value": {
              "client_id": {
                "type": "ApiClientId",
                "value": "C.1000000000000001"
              },
              "flow_id": {
                "type": "ApiFlowId",
                "value": "H:123456"
              }
            }
          },
          {
            "type": "ApiHuntClient",
            "value": {
              "client_id": {
                "type": "ApiClientId",
                "value": "C.1000000000000002"
              },
              "flow_id": {
                "type": "ApiFlowId",
                "value": "H:123456"
              }
            }
          },
          {
            "type": "ApiHuntClient",
            "value": {
              "client_id": {
                "type": "ApiClientId",
                "value": "C.1000000000000003"
              },
              "flow_id": {
                "type": "ApiFlowId",
                "value": "H:123456"
              }
            }
          },
          {
            "type": "ApiHuntClient",
            "value": {
              "client_id": {
                "type": "ApiClientId",
                "value": "C.1000000000000004"
              },
              "flow_id": {
                "type": "ApiFlowId",
                "value": "H:123456"
              }
            }
          }
        ],
        "total_count": 5
      },
      "test_class": "ApiListHuntClientsHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "items": [
          {
            "client_id": "C.1000000000000000",
            "flow_id": "H:123456"
          },
          {
            "client_id": "C.1000000000000001",
            "flow_id": "H:123456"
          },
          {
            "client_id": "C.1000000000000002",
            "flow_id": "H:123456"
          },
          {
            "client_id": "C.1000000000000003",
            "flow_id": "H:123456"
          },
          {
            "client_id": "C.1000000000000004",
            "flow_id": "H:123456"
          }
        ],
        "total_count": 5
      },
      "url": "/api/hunts/H:123456/clients/started"
    },
    {
      "api_method": "ListHuntClients",
      "method": "GET",
      "response": {
        "items": [
          {
            "type": "ApiHuntClient",
            "value": {
              "client_id": {
                "type": "ApiClientId",
                "value": "C.1000000000000000"
              },
              "flow_id": {
                "type": "ApiFlowId",
                "value": "H:123456"
              }
            }
          },
          {
            "type": "ApiHuntClient",
            "value": {
              "client_id": {
                "type": "ApiClientId",
                "value": "C.1000000000000001"
              },
              "flow_id": {
                "type": "ApiFlowId",
                "value": "H:123456"
              }
            }
          },
          {
            "type": "ApiHuntClient",
            "value": {
              "client_id": {
                "type": "ApiClientId",
                "value": "C.1000000000000002"
              },
              "flow_id": {
                "type": "ApiFlowId",
                "value": "H:123456"
              }
            }
          },
          {
            "type": "ApiHuntClient",
            "value": {
              "client_id": {
                "type": "ApiClientId",
                "value": "C.1000000000000003"
              },
              "flow_id": {
                "type": "ApiFlowId",
                "value": "H:123456"
              }
            }
          }
        ],
        "total_count": 4
      },
      "test_class": "ApiListHuntClientsHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "items": [
          {
            "client_id": "C.1000000000000000",
            "flow_id": "H:123456"
          },
          {
            "client_id": "C.1000000000000001",
            "flow_id": "H:123456"
          },
          {
            "client_id": "C.1000000000000002",
            "flow_id": "H:123456"
          },
          {
            "client_id": "C.1000000000000003",
            "flow_id": "H:123456"
          }
        ],
        "total_count": 4
      },
      "url": "/api/hunts/H:123456/clients/outstanding"
    },
    {
      "api_method": "ListHuntClients",
      "method": "GET",
      "response": {
        "items": [
          {
            "type": "ApiHuntClient",
            "value": {
              "client_id": {
                "type": "ApiClientId",
                "value": "C.1000000000000004"
              },
              "flow_id": {
                "type": "ApiFlowId",
                "value": "H:123456"
              }
            }
          }
        ],
        "total_count": 1
      },
      "test_class": "ApiListHuntClientsHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "items": [
          {
            "client_id": "C.1000000000000004",
            "flow_id": "H:123456"
          }
        ],
        "total_count": 1
      },
      "url": "/api/hunts/H:123456/clients/completed"
    }
  ],
  "ApiListHuntCrashesHandler": [
    {
      "api_method": "ListHuntCrashes",
      "method": "GET",
      "response": {
        "items": [
          {
            "type": "ClientCrash",
            "value": {
              "client_id": {
                "type": "ClientURN",
                "value": "aff4:/C.1000000000000000"
              },
              "client_info": {
                "type": "ClientInformation",
                "value": {
                  "build_time": {
                    "type": "unicode",
                    "value": "1980-01-01T12:00:00.000000+00:00"
                  },
                  "client_name": {
                    "type": "unicode",
                    "value": "GRR Monitor"
                  },
                  "client_version": {
                    "type": "long",
                    "value": 1234
                  },
                  "labels": [
                    {
                      "type": "unicode",
                      "value": "label1"
                    },
                    {
                      "type": "unicode",
                      "value": "label2"
                    }
                  ]
                }
              },
              "crash_message": {
                "type": "unicode",
                "value": "Client killed during transaction"
              },
              "crash_type": {
                "type": "unicode",
                "value": "Client Crash"
              },
              "session_id": {
                "type": "SessionID",
                "value": "aff4:/hunts/H:123456/C.1000000000000000/H:11223344"
              },
              "timestamp": {
                "type": "RDFDatetime",
                "value": 45000000
              }
            }
          }
        ],
        "total_count": 1
      },
      "test_class": "ApiListHuntCrashesHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "items": [
          {
            "client_id": "aff4:/C.1000000000000000",
            "client_info": {
              "build_time": "1980-01-01T12:00:00.000000+00:00",
              "client_name": "GRR Monitor",
              "client_version": 1234,
              "labels": [
                "label1",
                "label2"
              ]
            },
            "crash_message": "Client killed during transaction",
            "crash_type": "Client Crash",
            "session_id": "aff4:/hunts/H:123456/C.1000000000000000/H:11223344",
            "timestamp": 45000000
          }
        ],
        "total_count": 1
      },
      "url": "/api/hunts/H:123456/crashes"
    },
    {
      "api_method": "ListHuntCrashes",
      "method": "GET",
      "response": {
        "items": [
          {
            "type": "ClientCrash",
            "value": {
              "client_id": {
                "type": "ClientURN",
                "value": "aff4:/C.1000000000000000"
              },
              "client_info": {
                "type": "ClientInformation",
                "value": {
                  "build_time": {
                    "type": "unicode",
                    "value": "1980-01-01T12:00:00.000000+00:00"
                  },
                  "client_name": {
                    "type": "unicode",
                    "value": "GRR Monitor"
                  },
                  "client_version": {
                    "type": "long",
                    "value": 1234
                  },
                  "labels": [
                    {
                      "type": "unicode",
                      "value": "label1"
                    },
                    {
                      "type": "unicode",
                      "value": "label2"
                    }
                  ]
                }
              },
              "crash_message": {
                "type": "unicode",
                "value": "Client killed during transaction"
              },
              "crash_type": {
                "type": "unicode",
                "value": "Client Crash"
              },
              "session_id": {
                "type": "SessionID",
                "value": "aff4:/hunts/H:123456/C.1000000000000000/H:11223344"
              },
              "timestamp": {
                "type": "RDFDatetime",
                "value": 45000000
              }
            }
          }
        ],
        "total_count": 1
      },
      "test_class": "ApiListHuntCrashesHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "items": [
          {
            "client_id": "aff4:/C.1000000000000000",
            "client_info": {
              "build_time": "1980-01-01T12:00:00.000000+00:00",
              "client_name": "GRR Monitor",
              "client_version": 1234,
              "labels": [
                "label1",
                "label2"
              ]
            },
            "crash_message": "Client killed during transaction",
            "crash_type": "Client Crash",
            "session_id": "aff4:/hunts/H:123456/C.1000000000000000/H:11223344",
            "timestamp": 45000000
          }
        ],
        "total_count": 1
      },
      "url": "/api/hunts/H:123456/crashes?count=1"
    },
    {
      "api_method": "ListHuntCrashes",
      "method": "GET",
      "response": {
        "total_count": 1
      },
      "test_class": "ApiListHuntCrashesHandlerRegressionTest_http_v1",
      "url": "/api/hunts/H:123456/crashes?count=1&offset=1"
    }
  ],
  "ApiListHuntErrorsHandler": [
    {
      "api_method": "ListHuntErrors",
      "method": "GET",
      "response": {
        "items": [
          {
            "type": "ApiHuntError",
            "value": {
              "client_id": {
                "type": "ApiClientId",
                "value": "C.1000000000000000"
              },
              "log_message": {
                "type": "unicode",
                "value": "Error foo."
              },
              "timestamp": {
                "type": "RDFDatetime",
                "value": 52000000
              }
            }
          },
          {
            "type": "ApiHuntError",
            "value": {
              "backtrace": {
                "type": "unicode",
                "value": "<some backtrace>"
              },
              "client_id": {
                "type": "ApiClientId",
                "value": "C.1000000000000001"
              },
              "log_message": {
                "type": "unicode",
                "value": "Error bar."
              },
              "timestamp": {
                "type": "RDFDatetime",
                "value": 55000000
              }
            }
          }
        ],
        "total_count": 2
      },
      "test_class": "ApiListHuntErrorsHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "items": [
          {
            "client_id": "C.1000000000000000",
            "log_message": "Error foo.",
            "timestamp": 52000000
          },
          {
            "backtrace": "<some backtrace>",
            "client_id": "C.1000000000000001",
            "log_message": "Error bar.",
            "timestamp": 55000000
          }
        ],
        "total_count": 2
      },
      "url": "/api/hunts/H:123456/errors"
    },
    {
      "api_method": "ListHuntErrors",
      "method": "GET",
      "response": {
        "items": [
          {
            "type": "ApiHuntError",
            "value": {
              "client_id": {
                "type": "ApiClientId",
                "value": "C.1000000000000000"
              },
              "log_message": {
                "type": "unicode",
                "value": "Error foo."
              },
              "timestamp": {
                "type": "RDFDatetime",
                "value": 52000000
              }
            }
          }
        ],
        "total_count": 2
      },
      "test_class": "ApiListHuntErrorsHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "items": [
          {
            "client_id": "C.1000000000000000",
            "log_message": "Error foo.",
            "timestamp": 52000000
          }
        ],
        "total_count": 2
      },
      "url": "/api/hunts/H:123456/errors?count=1"
    },
    {
      "api_method": "ListHuntErrors",
      "method": "GET",
      "response": {
        "items": [
          {
            "type": "ApiHuntError",
            "value": {
              "backtrace": {
                "type": "unicode",
                "value": "<some backtrace>"
              },
              "client_id": {
                "type": "ApiClientId",
                "value": "C.1000000000000001"
              },
              "log_message": {
                "type": "unicode",
                "value": "Error bar."
              },
              "timestamp": {
                "type": "RDFDatetime",
                "value": 55000000
              }
            }
          }
        ],
        "total_count": 2
      },
      "test_class": "ApiListHuntErrorsHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "items": [
          {
            "backtrace": "<some backtrace>",
            "client_id": "C.1000000000000001",
            "log_message": "Error bar.",
            "timestamp": 55000000
          }
        ],
        "total_count": 2
      },
      "url": "/api/hunts/H:123456/errors?count=1&offset=1"
    }
  ],
  "ApiListHuntLogsHandler": [
    {
      "api_method": "ListHuntLogs",
      "method": "GET",
      "response": {
        "items": [
          {
            "type": "ApiHuntLog",
            "value": {
              "client_id": {
                "type": "ApiClientId",
                "value": "C.1000000000000000"
              },
              "flow_id": {
                "type": "ApiFlowId",
                "value": "H:123456"
              },
              "flow_name": {
                "type": "unicode",
                "value": "GenericHunt"
              },
              "log_message": {
                "type": "unicode",
                "value": "Sample message: foo"
              },
              "timestamp": {
                "type": "RDFDatetime",
                "value": 52000000
              }
            }
          },
          {
            "type": "ApiHuntLog",
            "value": {
              "client_id": {
                "type": "ApiClientId",
                "value": "C.1000000000000000"
              },
              "flow_id": {
                "type": "ApiFlowId",
                "value": "H:123456"
              },
              "flow_name": {
                "type": "unicode",
                "value": "GenericHunt"
              },
              "log_message": {
                "type": "unicode",
                "value": "Sample message: bar"
              },
              "timestamp": {
                "type": "RDFDatetime",
                "value": 55000000
              }
            }
          }
        ],
        "total_count": 2
      },
      "test_class": "ApiListHuntLogsHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "items": [
          {
            "client_id": "C.1000000000000000",
            "flow_id": "H:123456",
            "flow_name": "GenericHunt",
            "log_message": "Sample message: foo",
            "timestamp": 52000000
          },
          {
            "client_id": "C.1000000000000000",
            "flow_id": "H:123456",
            "flow_name": "GenericHunt",
            "log_message": "Sample message: bar",
            "timestamp": 55000000
          }
        ],
        "total_count": 2
      },
      "url": "/api/hunts/H:123456/log"
    },
    {
      "api_method": "ListHuntLogs",
      "method": "GET",
      "response": {
        "items": [
          {
            "type": "ApiHuntLog",
            "value": {
              "client_id": {
                "type": "ApiClientId",
                "value": "C.1000000000000000"
              },
              "flow_id": {
                "type": "ApiFlowId",
                "value": "H:123456"
              },
              "flow_name": {
                "type": "unicode",
                "value": "GenericHunt"
              },
              "log_message": {
                "type": "unicode",
                "value": "Sample message: foo"
              },
              "timestamp": {
                "type": "RDFDatetime",
                "value": 52000000
              }
            }
          }
        ],
        "total_count": 2
      },
      "test_class": "ApiListHuntLogsHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "items": [
          {
            "client_id": "C.1000000000000000",
            "flow_id": "H:123456",
            "flow_name": "GenericHunt",
            "log_message": "Sample message: foo",
            "timestamp": 52000000
          }
        ],
        "total_count": 2
      },
      "url": "/api/hunts/H:123456/log?count=1"
    },
    {
      "api_method": "ListHuntLogs",
      "method": "GET",
      "response": {
        "items": [
          {
            "type": "ApiHuntLog",
            "value": {
              "client_id": {
                "type": "ApiClientId",
                "value": "C.1000000000000000"
              },
              "flow_id": {
                "type": "ApiFlowId",
                "value": "H:123456"
              },
              "flow_name": {
                "type": "unicode",
                "value": "GenericHunt"
              },
              "log_message": {
                "type": "unicode",
                "value": "Sample message: bar"
              },
              "timestamp": {
                "type": "RDFDatetime",
                "value": 55000000
              }
            }
          }
        ],
        "total_count": 2
      },
      "test_class": "ApiListHuntLogsHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "items": [
          {
            "client_id": "C.1000000000000000",
            "flow_id": "H:123456",
            "flow_name": "GenericHunt",
            "log_message": "Sample message: bar",
            "timestamp": 55000000
          }
        ],
        "total_count": 2
      },
      "url": "/api/hunts/H:123456/log?count=1&offset=1"
    }
  ],
  "ApiListHuntOutputPluginErrorsHandler": [
    {
      "api_method": "ListHuntOutputPluginErrors",
      "method": "GET",
      "response": {
        "items": [
          {
            "type": "OutputPluginBatchProcessingStatus",
            "value": {
              "batch_index": {
                "type": "long",
                "value": 0
              },
              "batch_size": {
                "type": "long",
                "value": 0
              },
              "status": {
                "type": "EnumNamedValue",
                "value": "ERROR"
              },
              "summary": {
                "type": "unicode",
                "value": "Error while processing 1 replies: Oh no!"
              }
            }
          },
          {
            "type": "OutputPluginBatchProcessingStatus",
            "value": {
              "batch_index": {
                "type": "long",
                "value": 0
              },
              "batch_size": {
                "type": "long",
                "value": 0
              },
              "status": {
                "type": "EnumNamedValue",
                "value": "ERROR"
              },
              "summary": {
                "type": "unicode",
                "value": "Error while processing 1 replies: Oh no!"
              }
            }
          }
        ],
        "total_count": 2
      },
      "test_class": "ApiListHuntOutputPluginErrorsHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "items": [
          {
            "batch_index": 0,
            "batch_size": 0,
            "status": "ERROR",
            "summary": "Error while processing 1 replies: Oh no!"
          },
          {
            "batch_index": 0,
            "batch_size": 0,
            "status": "ERROR",
            "summary": "Error while processing 1 replies: Oh no!"
          }
        ],
        "total_count": 2
      },
      "url": "/api/hunts/H:123456/output-plugins/FailingDummyHuntOutputPlugin_0/errors"
    }
  ],
  "ApiListHuntOutputPluginLogsHandler": [
    {
      "api_method": "ListHuntOutputPluginLogs",
      "method": "GET",
      "response": {
        "items": [
          {
            "type": "OutputPluginBatchProcessingStatus",
            "value": {
              "batch_index": {
                "type": "long",
                "value": 0
              },
              "batch_size": {
                "type": "long",
                "value": 0
              },
              "status": {
                "type": "EnumNamedValue",
                "value": "SUCCESS"
              },
              "summary": {
                "type": "unicode",
                "value": "Processed 1 replies."
              }
            }
          },
          {
            "type": "OutputPluginBatchProcessingStatus",
            "value": {
              "batch_index": {
                "type": "long",
                "value": 0
              },
              "batch_size": {
                "type": "long",
                "value": 0
              },
              "status": {
                "type": "EnumNamedValue",
                "value": "SUCCESS"
              },
              "summary": {
                "type": "unicode",
                "value": "Processed 1 replies."
              }
            }
          }
        ],
        "total_count": 2
      },
      "test_class": "ApiListHuntOutputPluginLogsHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "items": [
          {
            "batch_index": 0,
            "batch_size": 0,
            "status": "SUCCESS",
            "summary": "Processed 1 replies."
          },
          {
            "batch_index": 0,
            "batch_size": 0,
            "status": "SUCCESS",
            "summary": "Processed 1 replies."
          }
        ],
        "total_count": 2
      },
      "url": "/api/hunts/H:123456/output-plugins/DummyHuntTestOutputPlugin_0/logs"
    }
  ],
  "ApiListHuntOutputPluginsHandler": [
    {
      "api_method": "ListHuntOutputPlugins",
      "method": "GET",
      "response": {
        "items": [
          {
            "type": "ApiOutputPlugin",
            "value": {
              "id": {
                "type": "unicode",
                "value": "DummyHuntTestOutputPlugin_0"
              },
              "plugin_descriptor": {
                "type": "OutputPluginDescriptor",
                "value": {
                  "args": {
                    "type": "ListProcessesArgs",
                    "value": {
                      "fetch_binaries": {
                        "type": "bool",
                        "value": true
                      },
                      "filename_regex": {
                        "type": "RegularExpression",
                        "value": "blah!"
                      }
                    }
                  },
                  "plugin_name": {
                    "type": "unicode",
                    "value": "DummyHuntTestOutputPlugin"
                  }
                }
              },
              "state": {
                "type": "AttributedDict",
                "value": {
                  "args": {
                    "type": "ListProcessesArgs",
                    "value": {
                      "fetch_binaries": {
                        "type": "bool",
                        "value": true
                      },
                      "filename_regex": {
                        "type": "RegularExpression",
                        "value": "blah!"
                      }
                    }
                  }
                }
              }
            }
          }
        ],
        "total_count": 1
      },
      "test_class": "ApiListHuntOutputPluginsHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "items": [
          {
            "id": "DummyHuntTestOutputPlugin_0",
            "plugin_descriptor": {
              "args": {
                "fetch_binaries": true,
                "filename_regex": "blah!"
              },
              "plugin_name": "DummyHuntTestOutputPlugin"
            },
            "state": {
              "args": {
                "fetch_binaries": true,
                "filename_regex": "blah!"
              }
            }
          }
        ],
        "total_count": 1
      },
      "url": "/api/hunts/H:123456/output-plugins"
    }
  ],
  "ApiListHuntResultsHandler": [
    {
      "api_method": "ListHuntResults",
      "method": "GET",
      "response": {
        "items": [
          {
            "type": "ApiHuntResult",
            "value": {
              "client_id": {
                "type": "ApiClientId",
                "value": "C.1000000000000000"
              },
              "payload": {
                "type": "DummyFlowResult",
                "value": {
                  "flow_output": {
                    "type": "unicode",
                    "value": "blah1"
                  }
                }
              },
              "timestamp": {
                "type": "RDFDatetime",
                "value": 2000000
              }
            }
          },
          {
            "type": "ApiHuntResult",
            "value": {
              "client_id": {
                "type": "ApiClientId",
                "value": "C.1000000000000000"
              },
              "payload": {
                "type": "DummyFlowResult",
                "value": {
                  "flow_output": {
                    "type": "unicode",
                    "value": "blah2-foo"
                  }
                }
              },
              "timestamp": {
                "type": "RDFDatetime",
                "value": 43000000
              }
            }
          }
        ],
        "total_count": 2
      },
      "test_class": "ApiListHuntResultsRegressionTest_http_v1",
      "type_stripped_response": {
        "items": [
          {
            "client_id": "C.1000000000000000",
            "payload": {
              "flow_output": "blah1"
            },
            "timestamp": 2000000
          },
          {
            "client_id": "C.1000000000000000",
            "payload": {
              "flow_output": "blah2-foo"
            },
            "timestamp": 43000000
          }
        ],
        "total_count": 2
      },
      "url": "/api/hunts/H:123456/results"
    },
    {
      "api_method": "ListHuntResults",
      "method": "GET",
      "response": {
        "items": [
          {
            "type": "ApiHuntResult",
            "value": {
              "client_id": {
                "type": "ApiClientId",
                "value": "C.1000000000000000"
              },
              "payload": {
                "type": "DummyFlowResult",
                "value": {
                  "flow_output": {
                    "type": "unicode",
                    "value": "blah1"
                  }
                }
              },
              "timestamp": {
                "type": "RDFDatetime",
                "value": 2000000
              }
            }
          }
        ],
        "total_count": 2
      },
      "test_class": "ApiListHuntResultsRegressionTest_http_v1",
      "type_stripped_response": {
        "items": [
          {
            "client_id": "C.1000000000000000",
            "payload": {
              "flow_output": "blah1"
            },
            "timestamp": 2000000
          }
        ],
        "total_count": 2
      },
      "url": "/api/hunts/H:123456/results?count=1"
    },
    {
      "api_method": "ListHuntResults",
      "method": "GET",
      "response": {
        "items": [
          {
            "type": "ApiHuntResult",
            "value": {
              "client_id": {
                "type": "ApiClientId",
                "value": "C.1000000000000000"
              },
              "payload": {
                "type": "DummyFlowResult",
                "value": {
                  "flow_output": {
                    "type": "unicode",
                    "value": "blah2-foo"
                  }
                }
              },
              "timestamp": {
                "type": "RDFDatetime",
                "value": 43000000
              }
            }
          }
        ],
        "total_count": 2
      },
      "test_class": "ApiListHuntResultsRegressionTest_http_v1",
      "type_stripped_response": {
        "items": [
          {
            "client_id": "C.1000000000000000",
            "payload": {
              "flow_output": "blah2-foo"
            },
            "timestamp": 43000000
          }
        ],
        "total_count": 2
      },
      "url": "/api/hunts/H:123456/results?count=1&offset=1"
    },
    {
      "api_method": "ListHuntResults",
      "method": "GET",
      "response": {
        "items": [
          {
            "type": "ApiHuntResult",
            "value": {
              "client_id": {
                "type": "ApiClientId",
                "value": "C.1000000000000000"
              },
              "payload": {
                "type": "DummyFlowResult",
                "value": {
                  "flow_output": {
                    "type": "unicode",
                    "value": "blah2-foo"
                  }
                }
              },
              "timestamp": {
                "type": "RDFDatetime",
                "value": 43000000
              }
            }
          }
        ],
        "total_count": 2
      },
      "test_class": "ApiListHuntResultsRegressionTest_http_v1",
      "type_stripped_response": {
        "items": [
          {
            "client_id": "C.1000000000000000",
            "payload": {
              "flow_output": "blah2-foo"
            },
            "timestamp": 43000000
          }
        ],
        "total_count": 2
      },
      "url": "/api/hunts/H:123456/results?filter=foo"
    }
  ],
  "ApiListHuntsHandler": [
    {
      "api_method": "ListHunts",
      "method": "GET",
      "response": {
        "items": [
          {
            "type": "ApiHunt",
            "value": {
              "client_limit": {
                "type": "long",
                "value": 100
              },
              "client_rate": {
                "type": "float",
                "value": 0.0
              },
              "created": {
                "type": "RDFDatetime",
                "value": 2000000000
              },
              "creator": {
                "type": "unicode",
                "value": "api_test_user"
              },
              "description": {
                "type": "unicode",
                "value": "hunt_1"
              },
              "duration": {
                "type": "DurationSeconds",
                "value": 1209600
              },
              "hunt_id": {
                "type": "ApiHuntId",
                "value": "H:000001"
              },
              "is_robot": {
                "type": "bool",
                "value": false
              },
              "state": {
                "type": "EnumNamedValue",
                "value": "STOPPED"
              },
              "urn": {
                "type": "SessionID",
                "value": "aff4:/hunts/H:000001"
              }
            }
          },
          {
            "type": "ApiHunt",
            "value": {
              "client_limit": {
                "type": "long",
                "value": 100
              },
              "client_rate": {
                "type": "float",
                "value": 0.0
              },
              "created": {
                "type": "RDFDatetime",
                "value": 1000000000
              },
              "creator": {
                "type": "unicode",
                "value": "GRRWorker"
              },
              "description": {
                "type": "unicode",
                "value": "hunt_0"
              },
              "duration": {
                "type": "DurationSeconds",
                "value": 1209600
              },
              "hunt_id": {
                "type": "ApiHuntId",
                "value": "H:000000"
              },
              "is_robot": {
                "type": "bool",
                "value": true
              },
              "state": {
                "type": "EnumNamedValue",
                "value": "PAUSED"
              },
              "urn": {
                "type": "SessionID",
                "value": "aff4:/hunts/H:000000"
              }
            }
          }
        ]
      },
      "test_class": "ApiListHuntsHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "items": [
          {
            "client_limit": 100,
            "client_rate": 0.0,
            "created": 2000000000,
            "creator": "api_test_user",
            "description": "hunt_1",
            "duration": 1209600,
            "hunt_id": "H:000001",
            "is_robot": false,
            "state": "STOPPED",
            "urn": "aff4:/hunts/H:000001"
          },
          {
            "client_limit": 100,
            "client_rate": 0.0,
            "created": 1000000000,
            "creator": "GRRWorker",
            "description": "hunt_0",
            "duration": 1209600,
            "hunt_id": "H:000000",
            "is_robot": true,
            "state": "PAUSED",
            "urn": "aff4:/hunts/H:000000"
          }
        ]
      },
      "url": "/api/hunts"
    },
    {
      "api_method": "ListHunts",
      "method": "GET",
      "response": {
        "items": [
          {
            "type": "ApiHunt",
            "value": {
              "client_limit": {
                "type": "long",
                "value": 100
              },
              "client_rate": {
                "type": "float",
                "value": 0.0
              },
              "created": {
                "type": "RDFDatetime",
                "value": 2000000000
              },
              "creator": {
                "type": "unicode",
                "value": "api_test_user"
              },
              "description": {
                "type": "unicode",
                "value": "hunt_1"
              },
              "duration": {
                "type": "DurationSeconds",
                "value": 1209600
              },
              "hunt_id": {
                "type": "ApiHuntId",
                "value": "H:000001"
              },
              "is_robot": {
                "type": "bool",
                "value": false
              },
              "state": {
                "type": "EnumNamedValue",
                "value": "STOPPED"
              },
              "urn": {
                "type": "SessionID",
                "value": "aff4:/hunts/H:000001"
              }
            }
          }
        ]
      },
      "test_class": "ApiListHuntsHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "items": [
          {
            "client_limit": 100,
            "client_rate": 0.0,
            "created": 2000000000,
            "creator": "api_test_user",
            "description": "hunt_1",
            "duration": 1209600,
            "hunt_id": "H:000001",
            "is_robot": false,
            "state": "STOPPED",
            "urn": "aff4:/hunts/H:000001"
          }
        ]
      },
      "url": "/api/hunts?count=1"
    },
    {
      "api_method": "ListHunts",
      "method": "GET",
      "response": {
        "items": [
          {
            "type": "ApiHunt",
            "value": {
              "client_limit": {
                "type": "long",
                "value": 100
              },
              "client_rate": {
                "type": "float",
                "value": 0.0
              },
              "created": {
                "type": "RDFDatetime",
                "value": 1000000000
              },
              "creator": {
                "type": "unicode",
                "value": "GRRWorker"
              },
              "description": {
                "type": "unicode",
                "value": "hunt_0"
              },
              "duration": {
                "type": "DurationSeconds",
                "value": 1209600
              },
              "hunt_id": {
                "type": "ApiHuntId",
                "value": "H:000000"
              },
              "is_robot": {
                "type": "bool",
                "value": true
              },
              "state": {
                "type": "EnumNamedValue",
                "value": "PAUSED"
              },
              "urn": {
                "type": "SessionID",
                "value": "aff4:/hunts/H:000000"
              }
            }
          }
        ]
      },
      "test_class": "ApiListHuntsHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "items": [
          {
            "client_limit": 100,
            "client_rate": 0.0,
            "created": 1000000000,
            "creator": "GRRWorker",
            "description": "hunt_0",
            "duration": 1209600,
            "hunt_id": "H:000000",
            "is_robot": true,
            "state": "PAUSED",
            "urn": "aff4:/hunts/H:000000"
          }
        ]
      },
      "url": "/api/hunts?count=1&offset=1"
    },
    {
      "api_method": "ListHunts",
      "method": "GET",
      "response": {
        "items": [
          {
            "type": "ApiHunt",
            "value": {
              "client_limit": {
                "type": "long",
                "value": 100
              },
              "client_rate": {
                "type": "float",
                "value": 0.0
              },
              "created": {
                "type": "RDFDatetime",
                "value": 2000000000
              },
              "creator": {
                "type": "unicode",
                "value": "api_test_user"
              },
              "description": {
                "type": "unicode",
                "value": "hunt_1"
              },
              "duration": {
                "type": "DurationSeconds",
                "value": 1209600
              },
              "hunt_id": {
                "type": "ApiHuntId",
                "value": "H:000001"
              },
              "is_robot": {
                "type": "bool",
                "value": false
              },
              "state": {
                "type": "EnumNamedValue",
                "value": "STOPPED"
              },
              "urn": {
                "type": "SessionID",
                "value": "aff4:/hunts/H:000001"
              }
            }
          }
        ]
      },
      "test_class": "ApiListHuntsHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "items": [
          {
            "client_limit": 100,
            "client_rate": 0.0,
            "created": 2000000000,
            "creator": "api_test_user",
            "description": "hunt_1",
            "duration": 1209600,
            "hunt_id": "H:000001",
            "is_robot": false,
            "state": "STOPPED",
            "urn": "aff4:/hunts/H:000001"
          }
        ]
      },
      "url": "/api/hunts?count=2&offset=0&robot_filter=no_robots"
    },
    {
      "api_method": "ListHunts",
      "method": "GET",
      "response": {
        "items": [
          {
            "type": "ApiHunt",
            "value": {
              "client_limit": {
                "type": "long",
                "value": 100
              },
              "client_rate": {
                "type": "float",
                "value": 0.0
              },
              "created": {
                "type": "RDFDatetime",
                "value": 1000000000
              },
              "creator": {
                "type": "unicode",
                "value": "GRRWorker"
              },
              "description": {
                "type": "unicode",
                "value": "hunt_0"
              },
              "duration": {
                "type": "DurationSeconds",
                "value": 1209600
              },
              "hunt_id": {
                "type": "ApiHuntId",
                "value": "H:000000"
              },
              "is_robot": {
                "type": "bool",
                "value": true
              },
              "state": {
                "type": "EnumNamedValue",
                "value": "PAUSED"
              },
              "urn": {
                "type": "SessionID",
                "value": "aff4:/hunts/H:000000"
              }
            }
          }
        ]
      },
      "test_class": "ApiListHuntsHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "items": [
          {
            "client_limit": 100,
            "client_rate": 0.0,
            "created": 1000000000,
            "creator": "GRRWorker",
            "description": "hunt_0",
            "duration": 1209600,
            "hunt_id": "H:000000",
            "is_robot": true,
            "state": "PAUSED",
            "urn": "aff4:/hunts/H:000000"
          }
        ]
      },
      "url": "/api/hunts?count=2&offset=0&robot_filter=only_robots"
    },
    {
      "api_method": "ListHunts",
      "method": "GET",
      "response": {
        "items": [
          {
            "type": "ApiHunt",
            "value": {
              "client_limit": {
                "type": "long",
                "value": 100
              },
              "client_rate": {
                "type": "float",
                "value": 0.0
              },
              "created": {
                "type": "RDFDatetime",
                "value": 2000000000
              },
              "creator": {
                "type": "unicode",
                "value": "api_test_user"
              },
              "description": {
                "type": "unicode",
                "value": "hunt_1"
              },
              "duration": {
                "type": "DurationSeconds",
                "value": 1209600
              },
              "hunt_id": {
                "type": "ApiHuntId",
                "value": "H:000001"
              },
              "is_robot": {
                "type": "bool",
                "value": false
              },
              "state": {
                "type": "EnumNamedValue",
                "value": "STOPPED"
              },
              "urn": {
                "type": "SessionID",
                "value": "aff4:/hunts/H:000001"
              }
            }
          },
          {
            "type": "ApiHunt",
            "value": {
              "client_limit": {
                "type": "long",
                "value": 100
              },
              "client_rate": {
                "type": "float",
                "value": 0.0
              },
              "created": {
                "type": "RDFDatetime",
                "value": 1000000000
              },
              "creator": {
                "type": "unicode",
                "value": "GRRWorker"
              },
              "description": {
                "type": "unicode",
                "value": "hunt_0"
              },
              "duration": {
                "type": "DurationSeconds",
                "value": 1209600
              },
              "hunt_id": {
                "type": "ApiHuntId",
                "value": "H:000000"
              },
              "is_robot": {
                "type": "bool",
                "value": true
              },
              "state": {
                "type": "EnumNamedValue",
                "value": "PAUSED"
              },
              "urn": {
                "type": "SessionID",
                "value": "aff4:/hunts/H:000000"
              }
            }
          }
        ]
      },
      "test_class": "ApiListHuntsHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "items": [
          {
            "client_limit": 100,
            "client_rate": 0.0,
            "created": 2000000000,
            "creator": "api_test_user",
            "description": "hunt_1",
            "duration": 1209600,
            "hunt_id": "H:000001",
            "is_robot": false,
            "state": "STOPPED",
            "urn": "aff4:/hunts/H:000001"
          },
          {
            "client_limit": 100,
            "client_rate": 0.0,
            "created": 1000000000,
            "creator": "GRRWorker",
            "description": "hunt_0",
            "duration": 1209600,
            "hunt_id": "H:000000",
            "is_robot": true,
            "state": "PAUSED",
            "urn": "aff4:/hunts/H:000000"
          }
        ]
      },
      "url": "/api/hunts?count=2&offset=0&robot_filter=unknown"
    },
    {
      "api_method": "ListHunts",
      "method": "GET",
      "response": {
        "items": [
          {
            "type": "ApiHunt",
            "value": {
              "client_limit": {
                "type": "long",
                "value": 100
              },
              "client_rate": {
                "type": "float",
                "value": 0.0
              },
              "created": {
                "type": "RDFDatetime",
                "value": 2000000000
              },
              "creator": {
                "type": "unicode",
                "value": "api_test_user"
              },
              "description": {
                "type": "unicode",
                "value": "hunt_1"
              },
              "duration": {
                "type": "DurationSeconds",
                "value": 1209600
              },
              "hunt_id": {
                "type": "ApiHuntId",
                "value": "H:000001"
              },
              "is_robot": {
                "type": "bool",
                "value": false
              },
              "state": {
                "type": "EnumNamedValue",
                "value": "STOPPED"
              },
              "urn": {
                "type": "SessionID",
                "value": "aff4:/hunts/H:000001"
              }
            }
          },
          {
            "type": "ApiHunt",
            "value": {
              "client_limit": {
                "type": "long",
                "value": 100
              },
              "client_rate": {
                "type": "float",
                "value": 0.0
              },
              "created": {
                "type": "RDFDatetime",
                "value": 1000000000
              },
              "creator": {
                "type": "unicode",
                "value": "GRRWorker"
              },
              "description": {
                "type": "unicode",
                "value": "hunt_0"
              },
              "duration": {
                "type": "DurationSeconds",
                "value": 1209600
              },
              "hunt_id": {
                "type": "ApiHuntId",
                "value": "H:000000"
              },
              "is_robot": {
                "type": "bool",
                "value": true
              },
              "state": {
                "type": "EnumNamedValue",
                "value": "PAUSED"
              },
              "urn": {
                "type": "SessionID",
                "value": "aff4:/hunts/H:000000"
              }
            }
          }
        ]
      },
      "test_class": "ApiListHuntsHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "items": [
          {
            "client_limit": 100,
            "client_rate": 0.0,
            "created": 2000000000,
            "creator": "api_test_user",
            "description": "hunt_1",
            "duration": 1209600,
            "hunt_id": "H:000001",
            "is_robot": false,
            "state": "STOPPED",
            "urn": "aff4:/hunts/H:000001"
          },
          {
            "client_limit": 100,
            "client_rate": 0.0,
            "created": 1000000000,
            "creator": "GRRWorker",
            "description": "hunt_0",
            "duration": 1209600,
            "hunt_id": "H:000000",
            "is_robot": true,
            "state": "PAUSED",
            "urn": "aff4:/hunts/H:000000"
          }
        ]
      },
      "url": "/api/hunts?count=2&offset=0&with_state=paused"
    },
    {
      "api_method": "ListHunts",
      "method": "GET",
      "response": {},
      "test_class": "ApiListHuntsHandlerRegressionTest_http_v1",
      "url": "/api/hunts?count=2&offset=0&with_state=started"
    }
  ],
  "ApiListKbFieldsHandler": [
    {
      "api_method": "ListKbFields",
      "method": "GET",
      "response": {
        "items": [
          {
            "type": "unicode",
            "value": "code_page"
          },
          {
            "type": "unicode",
            "value": "current_control_set"
          },
          {
            "type": "unicode",
            "value": "domain"
          },
          {
            "type": "unicode",
            "value": "environ_allusersappdata"
          },
          {
            "type": "unicode",
            "value": "environ_allusersprofile"
          },
          {
            "type": "unicode",
            "value": "environ_commonprogramfiles"
          },
          {
            "type": "unicode",
            "value": "environ_commonprogramfilesx86"
          },
          {
            "type": "unicode",
            "value": "environ_comspec"
          },
          {
            "type": "unicode",
            "value": "environ_driverdata"
          },
          {
            "type": "unicode",
            "value": "environ_path"
          },
          {
            "type": "unicode",
            "value": "environ_profilesdirectory"
          },
          {
            "type": "unicode",
            "value": "environ_programdata"
          },
          {
            "type": "unicode",
            "value": "environ_programfiles"
          },
          {
            "type": "unicode",
            "value": "environ_programfilesx86"
          },
          {
            "type": "unicode",
            "value": "environ_systemdrive"
          },
          {
            "type": "unicode",
            "value": "environ_systemroot"
          },
          {
            "type": "unicode",
            "value": "environ_temp"
          },
          {
            "type": "unicode",
            "value": "environ_windir"
          },
          {
            "type": "unicode",
            "value": "fqdn"
          },
          {
            "type": "unicode",
            "value": "hostname"
          },
          {
            "type": "unicode",
            "value": "os"
          },
          {
            "type": "unicode",
            "value": "os_major_version"
          },
          {
            "type": "unicode",
            "value": "os_minor_version"
          },
          {
            "type": "unicode",
            "value": "os_release"
          },
          {
            "type": "unicode",
            "value": "time_zone"
          },
          {
            "type": "unicode",
            "value": "users.appdata"
          },
          {
            "type": "unicode",
            "value": "users.cookies"
          },
          {
            "type": "unicode",
            "value": "users.desktop"
          },
          {
            "type": "unicode",
            "value": "users.full_name"
          },
          {
            "type": "unicode",
            "value": "users.gid"
          },
          {
            "type": "unicode",
            "value": "users.gids"
          },
          {
            "type": "unicode",
            "value": "users.homedir"
          },
          {
            "type": "unicode",
            "value": "users.internet_cache"
          },
          {
            "type": "unicode",
            "value": "users.last_logon"
          },
          {
            "type": "unicode",
            "value": "users.localappdata"
          },
          {
            "type": "unicode",
            "value": "users.localappdata_low"
          },
          {
            "type": "unicode",
            "value": "users.personal"
          },
          {
            "type": "unicode",
            "value": "users.pw_entry"
          },
          {
            "type": "unicode",
            "value": "users.recent"
          },
          {
            "type": "unicode",
            "value": "users.shell"
          },
          {
            "type": "unicode",
            "value": "users.sid"
          },
          {
            "type": "unicode",
            "value": "users.startup"
          },
          {
            "type": "unicode",
            "value": "users.temp"
          },
          {
            "type": "unicode",
            "value": "users.uid"
          },
          {
            "type": "unicode",
            "value": "users.userdomain"
          },
          {
            "type": "unicode",
            "value": "users.username"
          },
          {
            "type": "unicode",
            "value": "users.userprofile"
          }
        ]
      },
      "test_class": "ApiListKbFieldsHandlerTest_http_v1",
      "type_stripped_response": {
        "items": [
          "code_page",
          "current_control_set",
          "domain",
          "environ_allusersappdata",
          "environ_allusersprofile",
          "environ_commonprogramfiles",
          "environ_commonprogramfilesx86",
          "environ_comspec",
          "environ_driverdata",
          "environ_path",
          "environ_profilesdirectory",
          "environ_programdata",
          "environ_programfiles",
          "environ_programfilesx86",
          "environ_systemdrive",
          "environ_systemroot",
          "environ_temp",
          "environ_windir",
          "fqdn",
          "hostname",
          "os",
          "os_major_version",
          "os_minor_version",
          "os_release",
          "time_zone",
          "users.appdata",
          "users.cookies",
          "users.desktop",
          "users.full_name",
          "users.gid",
          "users.gids",
          "users.homedir",
          "users.internet_cache",
          "users.last_logon",
          "users.localappdata",
          "users.localappdata_low",
          "users.personal",
          "users.pw_entry",
          "users.recent",
          "users.shell",
          "users.sid",
          "users.startup",
          "users.temp",
          "users.uid",
          "users.userdomain",
          "users.username",
          "users.userprofile"
        ]
      },
      "url": "/api/clients/kb-fields"
    }
  ],
  "ApiListKnownEncodingsHandler": [
    {
      "api_method": "ListKnownEncodings",
      "method": "GET",
      "response": {
        "encodings": [
          {
            "type": "unicode",
            "value": "BASE64_CODEC"
          },
          {
            "type": "unicode",
            "value": "BIG5"
          },
          {
            "type": "unicode",
            "value": "BIG5HKSCS"
          },
          {
            "type": "unicode",
            "value": "CP037"
          },
          {
            "type": "unicode",
            "value": "CP1006"
          },
          {
            "type": "unicode",
            "value": "CP1026"
          },
          {
            "type": "unicode",
            "value": "CP1140"
          },
          {
            "type": "unicode",
            "value": "CP1250"
          },
          {
            "type": "unicode",
            "value": "CP1251"
          },
          {
            "type": "unicode",
            "value": "CP1252"
          },
          {
            "type": "unicode",
            "value": "CP1253"
          },
          {
            "type": "unicode",
            "value": "CP1254"
          },
          {
            "type": "unicode",
            "value": "CP1255"
          },
          {
            "type": "unicode",
            "value": "CP1256"
          },
          {
            "type": "unicode",
            "value": "CP1257"
          },
          {
            "type": "unicode",
            "value": "CP1258"
          },
          {
            "type": "unicode",
            "value": "CP424"
          },
          {
            "type": "unicode",
            "value": "CP437"
          },
          {
            "type": "unicode",
            "value": "CP500"
          },
          {
            "type": "unicode",
            "value": "CP737"
          },
          {
            "type": "unicode",
            "value": "CP775"
          },
          {
            "type": "unicode",
            "value": "CP850"
          },
          {
            "type": "unicode",
            "value": "CP852"
          },
          {
            "type": "unicode",
            "value": "CP855"
          },
          {
            "type": "unicode",
            "value": "CP856"
          },
          {
            "type": "unicode",
            "value": "CP857"
          },
          {
            "type": "unicode",
            "value": "CP860"
          },
          {
            "type": "unicode",
            "value": "CP861"
          },
          {
            "type": "unicode",
            "value": "CP862"
          },
          {
            "type": "unicode",
            "value": "CP863"
          },
          {
            "type": "unicode",
            "value": "CP864"
          },
          {
            "type": "unicode",
            "value": "CP865"
          },
          {
            "type": "unicode",
            "value": "CP866"
          },
          {
            "type": "unicode",
            "value": "CP869"
          },
          {
            "type": "unicode",
            "value": "CP874"
          },
          {
            "type": "unicode",
            "value": "CP875"
          },
          {
            "type": "unicode",
            "value": "CP932"
          },
          {
            "type": "unicode",
            "value": "CP949"
          },
          {
            "type": "unicode",
            "value": "CP950"
          },
          {
            "type": "unicode",
            "value": "IDNA"
          },
          {
            "type": "unicode",
            "value": "ROT_13"
          },
          {
            "type": "unicode",
            "value": "UTF_16"
          },
          {
            "type": "unicode",
            "value": "UTF_16_BE"
          },
          {
            "type": "unicode",
            "value": "UTF_16_LE"
          },
          {
            "type": "unicode",
            "value": "UTF_32"
          },
          {
            "type": "unicode",
            "value": "UTF_32_BE"
          },
          {
            "type": "unicode",
            "value": "UTF_32_LE"
          },
          {
            "type": "unicode",
            "value": "UTF_7"
          },
          {
            "type": "unicode",
            "value": "UTF_8"
          },
          {
            "type": "unicode",
            "value": "UTF_8_SIG"
          },
          {
            "type": "unicode",
            "value": "UU_CODEC"
          },
          {
            "type": "unicode",
            "value": "ZLIB_CODEC"
          }
        ]
      },
      "test_class": "ApiListKnownEncodingsHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "encodings": [
          "BASE64_CODEC",
          "BIG5",
          "BIG5HKSCS",
          "CP037",
          "CP1006",
          "CP1026",
          "CP1140",
          "CP1250",
          "CP1251",
          "CP1252",
          "CP1253",
          "CP1254",
          "CP1255",
          "CP1256",
          "CP1257",
          "CP1258",
          "CP424",
          "CP437",
          "CP500",
          "CP737",
          "CP775",
          "CP850",
          "CP852",
          "CP855",
          "CP856",
          "CP857",
          "CP860",
          "CP861",
          "CP862",
          "CP863",
          "CP864",
          "CP865",
          "CP866",
          "CP869",
          "CP874",
          "CP875",
          "CP932",
          "CP949",
          "CP950",
          "IDNA",
          "ROT_13",
          "UTF_16",
          "UTF_16_BE",
          "UTF_16_LE",
          "UTF_32",
          "UTF_32_BE",
          "UTF_32_LE",
          "UTF_7",
          "UTF_8",
          "UTF_8_SIG",
          "UU_CODEC",
          "ZLIB_CODEC"
        ]
      },
      "url": "/api/reflection/file-encodings"
    }
  ],
  "ApiListOutputPluginDescriptorsHandler": [
    {
      "api_method": "ListOutputPluginDescriptors",
      "method": "GET",
      "response": {
        "items": [
          {
            "description": "Output ZIP archive with CSV files.",
            "friendly_name": "CSV (zipped)",
            "name": "CSVInstantOutputPlugin",
            "plugin_type": "INSTANT"
          },
          {
            "args_type": "EmailOutputPluginArgs",
            "description": "Send an email for each result.",
            "name": "EmailOutputPlugin",
            "plugin_type": "LEGACY"
          }
        ]
      },
      "test_class": "ApiListOutputPluginDescriptorsHandlerTest_http_v1",
      "url": "/api/output-plugins/all"
    }
  ],
  "ApiListPendingUserNotificationsHandler": [
    {
      "api_method": "ListPendingUserNotifications",
      "method": "GET",
      "response": {
        "items": [
          {
            "type": "ApiNotification",
            "value": {
              "is_pending": {
                "type": "bool",
                "value": true
              },
              "message": {
                "type": "unicode",
                "value": "Host-0.example.com: <some message>"
              },
              "notification_type": {
                "type": "EnumNamedValue",
                "value": "TYPE_CLIENT_INTERROGATED"
              },
              "reference": {
                "type": "ApiNotificationReference",
                "value": {
                  "client": {
                    "type": "ApiNotificationClientReference",
                    "value": {
                      "client_id": {
                        "type": "ApiClientId",
                        "value": "C.1000000000000000"
                      }
                    }
                  },
                  "type": {
                    "type": "EnumNamedValue",
                    "value": "CLIENT"
                  }
                }
              },
              "timestamp": {
                "type": "RDFDatetime",
                "value": 42000000
              }
            }
          },
          {
            "type": "ApiNotification",
            "value": {
              "is_pending": {
                "type": "bool",
                "value": true
              },
              "message": {
                "type": "unicode",
                "value": "Host-0.example.com: <some other message>"
              },
              "notification_type": {
                "type": "EnumNamedValue",
                "value": "TYPE_VFS_FILE_COLLECTION_FAILED"
              },
              "reference": {
                "type": "ApiNotificationReference",
                "value": {
                  "type": {
                    "type": "EnumNamedValue",
                    "value": "VFS"
                  },
                  "vfs": {
                    "type": "ApiNotificationVfsReference",
                    "value": {
                      "client_id": {
                        "type": "ApiClientId",
                        "value": "C.1000000000000000"
                      },
                      "vfs_path": {
                        "type": "unicode",
                        "value": "fs/os/foo"
                      }
                    }
                  }
                }
              },
              "timestamp": {
                "type": "RDFDatetime",
                "value": 44000000
              }
            }
          }
        ]
      },
      "test_class": "ApiListPendingUserNotificationsHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "items": [
          {
            "is_pending": true,
            "message": "Host-0.example.com: <some message>",
            "notification_type": "TYPE_CLIENT_INTERROGATED",
            "reference": {
              "client": {
                "client_id": "C.1000000000000000"
              },
              "type": "CLIENT"
            },
            "timestamp": 42000000
          },
          {
            "is_pending": true,
            "message": "Host-0.example.com: <some other message>",
            "notification_type": "TYPE_VFS_FILE_COLLECTION_FAILED",
            "reference": {
              "type": "VFS",
              "vfs": {
                "client_id": "C.1000000000000000",
                "vfs_path": "fs/os/foo"
              }
            },
            "timestamp": 44000000
          }
        ]
      },
      "url": "/api/users/me/notifications/pending"
    },
    {
      "api_method": "ListPendingUserNotifications",
      "method": "GET",
      "response": {
        "items": [
          {
            "type": "ApiNotification",
            "value": {
              "is_pending": {
                "type": "bool",
                "value": true
              },
              "message": {
                "type": "unicode",
                "value": "Host-0.example.com: <some other message>"
              },
              "notification_type": {
                "type": "EnumNamedValue",
                "value": "TYPE_VFS_FILE_COLLECTION_FAILED"
              },
              "reference": {
                "type": "ApiNotificationReference",
                "value": {
                  "type": {
                    "type": "EnumNamedValue",
                    "value": "VFS"
                  },
                  "vfs": {
                    "type": "ApiNotificationVfsReference",
                    "value": {
                      "client_id": {
                        "type": "ApiClientId",
                        "value": "C.1000000000000000"
                      },
                      "vfs_path": {
                        "type": "unicode",
                        "value": "fs/os/foo"
                      }
                    }
                  }
                }
              },
              "timestamp": {
                "type": "RDFDatetime",
                "value": 44000000
              }
            }
          }
        ]
      },
      "test_class": "ApiListPendingUserNotificationsHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "items": [
          {
            "is_pending": true,
            "message": "Host-0.example.com: <some other message>",
            "notification_type": "TYPE_VFS_FILE_COLLECTION_FAILED",
            "reference": {
              "type": "VFS",
              "vfs": {
                "client_id": "C.1000000000000000",
                "vfs_path": "fs/os/foo"
              }
            },
            "timestamp": 44000000
          }
        ]
      },
      "url": "/api/users/me/notifications/pending?timestamp=43000000"
    },
    {
      "api_method": "ListPendingUserNotifications",
      "method": "GET",
      "response": {},
      "test_class": "ApiListPendingUserNotificationsHandlerRegressionTest_http_v1",
      "url": "/api/users/me/notifications/pending?timestamp=44000000"
    }
  ],
  "ApiListReportsHandler": [
    {
      "api_method": "ListReports",
      "method": "GET",
      "response": {
        "reports": [
          {
            "type": "ApiReport",
            "value": {
              "desc": {
                "type": "ApiReportDescriptor",
                "value": {
                  "name": {
                    "type": "unicode",
                    "value": "FooReportPlugin"
                  },
                  "requires_time_range": {
                    "type": "bool",
                    "value": false
                  },
                  "summary": {
                    "type": "unicode",
                    "value": "Reports all foos."
                  },
                  "title": {
                    "type": "unicode",
                    "value": "Foo"
                  },
                  "type": {
                    "type": "EnumNamedValue",
                    "value": "CLIENT"
                  }
                }
              }
            }
          },
          {
            "type": "ApiReport",
            "value": {
              "desc": {
                "type": "ApiReportDescriptor",
                "value": {
                  "name": {
                    "type": "unicode",
                    "value": "BarReportPlugin"
                  },
                  "requires_time_range": {
                    "type": "bool",
                    "value": true
                  },
                  "summary": {
                    "type": "unicode",
                    "value": "Reports bars' activity in the given time range."
                  },
                  "title": {
                    "type": "unicode",
                    "value": "Bar Activity"
                  },
                  "type": {
                    "type": "EnumNamedValue",
                    "value": "SERVER"
                  }
                }
              }
            }
          }
        ]
      },
      "test_class": "ApiListReportsHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "reports": [
          {
            "desc": {
              "name": "FooReportPlugin",
              "requires_time_range": false,
              "summary": "Reports all foos.",
              "title": "Foo",
              "type": "CLIENT"
            }
          },
          {
            "desc": {
              "name": "BarReportPlugin",
              "requires_time_range": true,
              "summary": "Reports bars' activity in the given time range.",
              "title": "Bar Activity",
              "type": "SERVER"
            }
          }
        ]
      },
      "url": "/api/stats/reports"
    }
  ],
  "ApiModifyCronJobHandler": [
    {
      "api_method": "ModifyCronJob",
      "method": "PATCH",
      "request_payload": {
        "enabled": true
      },
      "response": {
        "type": "ApiCronJob",
        "value": {
          "allow_overruns": {
            "type": "bool",
            "value": false
          },
          "args": {
            "type": "CronJobAction",
            "value": {
              "action_type": {
                "type": "EnumNamedValue",
                "value": "HUNT_CRON_ACTION"
              },
              "hunt_cron_action": {
                "type": "HuntCronAction",
                "value": {
                  "flow_args": {
                    "type": "FileFinderArgs",
                    "value": {}
                  },
                  "flow_name": {
                    "type": "unicode",
                    "value": "FileFinder"
                  },
                  "hunt_runner_args": {
                    "type": "HuntRunnerArgs",
                    "value": {
                      "avg_cpu_seconds_per_client_limit": {
                        "type": "long",
                        "value": 60
                      },
                      "avg_network_bytes_per_client_limit": {
                        "type": "long",
                        "value": 10485760
                      },
                      "avg_results_per_client_limit": {
                        "type": "long",
                        "value": 1000
                      },
                      "client_rate": {
                        "type": "float",
                        "value": 20.0
                      },
                      "crash_limit": {
                        "type": "long",
                        "value": 100
                      }
                    }
                  }
                }
              }
            }
          },
          "cron_job_id": {
            "type": "ApiCronJobId",
            "value": "FileFinder"
          },
          "description": {
            "type": "unicode",
            "value": ""
          },
          "enabled": {
            "type": "bool",
            "value": true
          },
          "frequency": {
            "type": "DurationSeconds",
            "value": 86400
          },
          "is_failing": {
            "type": "bool",
            "value": false
          },
          "lifetime": {
            "type": "DurationSeconds",
            "value": 604800
          }
        }
      },
      "test_class": "ApiModifyCronJobRegressionTest_http_v1",
      "type_stripped_response": {
        "allow_overruns": false,
        "args": {
          "action_type": "HUNT_CRON_ACTION",
          "hunt_cron_action": {
            "flow_args": {},
            "flow_name": "FileFinder",
            "hunt_runner_args": {
              "avg_cpu_seconds_per_client_limit": 60,
              "avg_network_bytes_per_client_limit": 10485760,
              "avg_results_per_client_limit": 1000,
              "client_rate": 20.0,
              "crash_limit": 100
            }
          }
        },
        "cron_job_id": "FileFinder",
        "description": "",
        "enabled": true,
        "frequency": 86400,
        "is_failing": false,
        "lifetime": 604800
      },
      "url": "/api/cron-jobs/FileFinder"
    },
    {
      "api_method": "ModifyCronJob",
      "method": "PATCH",
      "request_payload": {
        "enabled": false
      },
      "response": {
        "type": "ApiCronJob",
        "value": {
          "allow_overruns": {
            "type": "bool",
            "value": false
          },
          "args": {
            "type": "CronJobAction",
            "value": {
              "action_type": {
                "type": "EnumNamedValue",
                "value": "HUNT_CRON_ACTION"
              },
              "hunt_cron_action": {
                "type": "HuntCronAction",
                "value": {
                  "flow_args": {
                    "type": "FileFinderArgs",
                    "value": {}
                  },
                  "flow_name": {
                    "type": "unicode",
                    "value": "ClientFileFinder"
                  },
                  "hunt_runner_args": {
                    "type": "HuntRunnerArgs",
                    "value": {
                      "avg_cpu_seconds_per_client_limit": {
                        "type": "long",
                        "value": 60
                      },
                      "avg_network_bytes_per_client_limit": {
                        "type": "long",
                        "value": 10485760
                      },
                      "avg_results_per_client_limit": {
                        "type": "long",
                        "value": 1000
                      },
                      "client_rate": {
                        "type": "float",
                        "value": 20.0
                      },
                      "crash_limit": {
                        "type": "long",
                        "value": 100
                      }
                    }
                  }
                }
              }
            }
          },
          "cron_job_id": {
            "type": "ApiCronJobId",
            "value": "ClientFileFinder"
          },
          "description": {
            "type": "unicode",
            "value": ""
          },
          "enabled": {
            "type": "bool",
            "value": false
          },
          "frequency": {
            "type": "DurationSeconds",
            "value": 86400
          },
          "is_failing": {
            "type": "bool",
            "value": false
          },
          "lifetime": {
            "type": "DurationSeconds",
            "value": 604800
          }
        }
      },
      "test_class": "ApiModifyCronJobRegressionTest_http_v1",
      "type_stripped_response": {
        "allow_overruns": false,
        "args": {
          "action_type": "HUNT_CRON_ACTION",
          "hunt_cron_action": {
            "flow_args": {},
            "flow_name": "ClientFileFinder",
            "hunt_runner_args": {
              "avg_cpu_seconds_per_client_limit": 60,
              "avg_network_bytes_per_client_limit": 10485760,
              "avg_results_per_client_limit": 1000,
              "client_rate": 20.0,
              "crash_limit": 100
            }
          }
        },
        "cron_job_id": "ClientFileFinder",
        "description": "",
        "enabled": false,
        "frequency": 86400,
        "is_failing": false,
        "lifetime": 604800
      },
      "url": "/api/cron-jobs/ClientFileFinder"
    }
  ],
  "ApiModifyHuntHandler": [
    {
      "api_method": "ModifyHunt",
      "method": "PATCH",
      "request_payload": {
        "client_limit": 142
      },
      "response": {
        "type": "ApiHunt",
        "value": {
          "all_clients_count": {
            "type": "long",
            "value": 0
          },
          "client_limit": {
            "type": "long",
            "value": 142
          },
          "client_rate": {
            "type": "float",
            "value": 0.0
          },
          "client_rule_set": {
            "type": "ForemanClientRuleSet",
            "value": {
              "rules": [
                {
                  "type": "ForemanClientRule",
                  "value": {
                    "regex": {
                      "type": "ForemanRegexClientRule",
                      "value": {
                        "attribute_regex": {
                          "type": "RegularExpression",
                          "value": "GRR"
                        },
                        "field": {
                          "type": "EnumNamedValue",
                          "value": "CLIENT_NAME"
                        }
                      }
                    },
                    "rule_type": {
                      "type": "EnumNamedValue",
                      "value": "REGEX"
                    }
                  }
                }
              ]
            }
          },
          "clients_with_results_count": {
            "type": "long",
            "value": 0
          },
          "completed_clients_count": {
            "type": "long",
            "value": 0
          },
          "crash_limit": {
            "type": "long",
            "value": 100
          },
          "crashed_clients_count": {
            "type": "long",
            "value": 0
          },
          "created": {
            "type": "RDFDatetime",
            "value": 42000000
          },
          "creator": {
            "type": "unicode",
            "value": "api_test_user"
          },
          "description": {
            "type": "unicode",
            "value": "the hunt"
          },
          "duration": {
            "type": "DurationSeconds",
            "value": 1209600
          },
          "failed_clients_count": {
            "type": "long",
            "value": 0
          },
          "flow_args": {
            "type": "FileFinderArgs",
            "value": {
              "action": {
                "type": "FileFinderAction",
                "value": {
                  "action_type": {
                    "type": "EnumNamedValue",
                    "value": "DOWNLOAD"
                  },
                  "download": {
                    "type": "FileFinderDownloadActionOptions",
                    "value": {
                      "collect_ext_attrs": {
                        "type": "bool",
                        "value": false
                      }
                    }
                  }
                }
              },
              "paths": [
                {
                  "type": "GlobExpression",
                  "value": "/tmp/evil.txt"
                }
              ],
              "pathtype": {
                "type": "EnumNamedValue",
                "value": "OS"
              }
            }
          },
          "flow_name": {
            "type": "unicode",
            "value": "ClientFileFinder"
          },
          "hunt_id": {
            "type": "ApiHuntId",
            "value": "H:123456"
          },
          "hunt_runner_args": {
            "type": "HuntRunnerArgs",
            "value": {
              "avg_cpu_seconds_per_client_limit": {
                "type": "long",
                "value": 60
              },
              "avg_network_bytes_per_client_limit": {
                "type": "long",
                "value": 10485760
              },
              "avg_results_per_client_limit": {
                "type": "long",
                "value": 1000
              },
              "client_limit": {
                "type": "long",
                "value": 142
              },
              "client_rate": {
                "type": "float",
                "value": 0.0
              },
              "client_rule_set": {
                "type": "ForemanClientRuleSet",
                "value": {
                  "rules": [
                    {
                      "type": "ForemanClientRule",
                      "value": {
                        "regex": {
                          "type": "ForemanRegexClientRule",
                          "value": {
                            "attribute_regex": {
                              "type": "RegularExpression",
                              "value": "GRR"
                            },
                            "field": {
                              "type": "EnumNamedValue",
                              "value": "CLIENT_NAME"
                            }
                          }
                        },
                        "rule_type": {
                          "type": "EnumNamedValue",
                          "value": "REGEX"
                        }
                      }
                    }
                  ]
                }
              },
              "crash_limit": {
                "type": "long",
                "value": 100
              },
              "description": {
                "type": "unicode",
                "value": "the hunt"
              },
              "expiry_time": {
                "type": "DurationSeconds",
                "value": 1209600
              },
              "hunt_name": {
                "type": "unicode",
                "value": "GenericHunt"
              },
              "original_object": {
                "type": "FlowLikeObjectReference",
                "value": {}
              }
            }
          },
          "hunt_type": {
            "type": "EnumNamedValue",
            "value": "STANDARD"
          },
          "is_robot": {
            "type": "bool",
            "value": false
          },
          "name": {
            "type": "unicode",
            "value": "GenericHunt"
          },
          "remaining_clients_count": {
            "type": "long",
            "value": 0
          },
          "results_count": {
            "type": "long",
            "value": 0
          },
          "state": {
            "type": "EnumNamedValue",
            "value": "PAUSED"
          },
          "state_comment": {
            "type": "unicode",
            "value": ""
          },
          "state_reason": {
            "type": "EnumNamedValue",
            "value": "UNKNOWN"
          },
          "total_cpu_usage": {
            "type": "float",
            "value": 0.0
          },
          "total_net_usage": {
            "type": "long",
            "value": 0
          },
          "urn": {
            "type": "SessionID",
            "value": "aff4:/hunts/H:123456"
          }
        }
      },
      "test_class": "ApiModifyHuntHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "all_clients_count": 0,
        "client_limit": 142,
        "client_rate": 0.0,
        "client_rule_set": {
          "rules": [
            {
              "regex": {
                "attribute_regex": "GRR",
                "field": "CLIENT_NAME"
              },
              "rule_type": "REGEX"
            }
          ]
        },
        "clients_with_results_count": 0,
        "completed_clients_count": 0,
        "crash_limit": 100,
        "crashed_clients_count": 0,
        "created": 42000000,
        "creator": "api_test_user",
        "description": "the hunt",
        "duration": 1209600,
        "failed_clients_count": 0,
        "flow_args": {
          "action": {
            "action_type": "DOWNLOAD",
            "download": {
              "collect_ext_attrs": false
            }
          },
          "paths": [
            "/tmp/evil.txt"
          ],
          "pathtype": "OS"
        },
        "flow_name": "ClientFileFinder",
        "hunt_id": "H:123456",
        "hunt_runner_args": {
          "avg_cpu_seconds_per_client_limit": 60,
          "avg_network_bytes_per_client_limit": 10485760,
          "avg_results_per_client_limit": 1000,
          "client_limit": 142,
          "client_rate": 0.0,
          "client_rule_set": {
            "rules": [
              {
                "regex": {
                  "attribute_regex": "GRR",
                  "field": "CLIENT_NAME"
                },
                "rule_type": "REGEX"
              }
            ]
          },
          "crash_limit": 100,
          "description": "the hunt",
          "expiry_time": 1209600,
          "hunt_name": "GenericHunt",
          "original_object": {}
        },
        "hunt_type": "STANDARD",
        "is_robot": false,
        "name": "GenericHunt",
        "remaining_clients_count": 0,
        "results_count": 0,
        "state": "PAUSED",
        "state_comment": "",
        "state_reason": "UNKNOWN",
        "total_cpu_usage": 0.0,
        "total_net_usage": 0,
        "urn": "aff4:/hunts/H:123456"
      },
      "url": "/api/hunts/H:123456"
    },
    {
      "api_method": "ModifyHunt",
      "method": "PATCH",
      "request_payload": {
        "state": "STOPPED"
      },
      "response": {
        "type": "ApiHunt",
        "value": {
          "all_clients_count": {
            "type": "long",
            "value": 0
          },
          "client_limit": {
            "type": "long",
            "value": 142
          },
          "client_rate": {
            "type": "float",
            "value": 0.0
          },
          "client_rule_set": {
            "type": "ForemanClientRuleSet",
            "value": {
              "rules": [
                {
                  "type": "ForemanClientRule",
                  "value": {
                    "regex": {
                      "type": "ForemanRegexClientRule",
                      "value": {
                        "attribute_regex": {
                          "type": "RegularExpression",
                          "value": "GRR"
                        },
                        "field": {
                          "type": "EnumNamedValue",
                          "value": "CLIENT_NAME"
                        }
                      }
                    },
                    "rule_type": {
                      "type": "EnumNamedValue",
                      "value": "REGEX"
                    }
                  }
                }
              ]
            }
          },
          "clients_with_results_count": {
            "type": "long",
            "value": 0
          },
          "completed_clients_count": {
            "type": "long",
            "value": 0
          },
          "crash_limit": {
            "type": "long",
            "value": 100
          },
          "crashed_clients_count": {
            "type": "long",
            "value": 0
          },
          "created": {
            "type": "RDFDatetime",
            "value": 42000000
          },
          "creator": {
            "type": "unicode",
            "value": "api_test_user"
          },
          "description": {
            "type": "unicode",
            "value": "the hunt"
          },
          "duration": {
            "type": "DurationSeconds",
            "value": 1209600
          },
          "failed_clients_count": {
            "type": "long",
            "value": 0
          },
          "flow_args": {
            "type": "FileFinderArgs",
            "value": {
              "action": {
                "type": "FileFinderAction",
                "value": {
                  "action_type": {
                    "type": "EnumNamedValue",
                    "value": "DOWNLOAD"
                  },
                  "download": {
                    "type": "FileFinderDownloadActionOptions",
                    "value": {
                      "collect_ext_attrs": {
                        "type": "bool",
                        "value": false
                      }
                    }
                  }
                }
              },
              "paths": [
                {
                  "type": "GlobExpression",
                  "value": "/tmp/evil.txt"
                }
              ],
              "pathtype": {
                "type": "EnumNamedValue",
                "value": "OS"
              }
            }
          },
          "flow_name": {
            "type": "unicode",
            "value": "ClientFileFinder"
          },
          "hunt_id": {
            "type": "ApiHuntId",
            "value": "H:123456"
          },
          "hunt_runner_args": {
            "type": "HuntRunnerArgs",
            "value": {
              "avg_cpu_seconds_per_client_limit": {
                "type": "long",
                "value": 60
              },
              "avg_network_bytes_per_client_limit": {
                "type": "long",
                "value": 10485760
              },
              "avg_results_per_client_limit": {
                "type": "long",
                "value": 1000
              },
              "client_limit": {
                "type": "long",
                "value": 142
              },
              "client_rate": {
                "type": "float",
                "value": 0.0
              },
              "client_rule_set": {
                "type": "ForemanClientRuleSet",
                "value": {
                  "rules": [
                    {
                      "type": "ForemanClientRule",
                      "value": {
                        "regex": {
                          "type": "ForemanRegexClientRule",
                          "value": {
                            "attribute_regex": {
                              "type": "RegularExpression",
                              "value": "GRR"
                            },
                            "field": {
                              "type": "EnumNamedValue",
                              "value": "CLIENT_NAME"
                            }
                          }
                        },
                        "rule_type": {
                          "type": "EnumNamedValue",
                          "value": "REGEX"
                        }
                      }
                    }
                  ]
                }
              },
              "crash_limit": {
                "type": "long",
                "value": 100
              },
              "description": {
                "type": "unicode",
                "value": "the hunt"
              },
              "expiry_time": {
                "type": "DurationSeconds",
                "value": 1209600
              },
              "hunt_name": {
                "type": "unicode",
                "value": "GenericHunt"
              },
              "original_object": {
                "type": "FlowLikeObjectReference",
                "value": {}
              }
            }
          },
          "hunt_type": {
            "type": "EnumNamedValue",
            "value": "STANDARD"
          },
          "is_robot": {
            "type": "bool",
            "value": false
          },
          "name": {
            "type": "unicode",
            "value": "GenericHunt"
          },
          "remaining_clients_count": {
            "type": "long",
            "value": 0
          },
          "results_count": {
            "type": "long",
            "value": 0
          },
          "state": {
            "type": "EnumNamedValue",
            "value": "STOPPED"
          },
          "state_comment": {
            "type": "unicode",
            "value": "Cancelled by user"
          },
          "state_reason": {
            "type": "EnumNamedValue",
            "value": "TRIGGERED_BY_USER"
          },
          "total_cpu_usage": {
            "type": "float",
            "value": 0.0
          },
          "total_net_usage": {
            "type": "long",
            "value": 0
          },
          "urn": {
            "type": "SessionID",
            "value": "aff4:/hunts/H:123456"
          }
        }
      },
      "test_class": "ApiModifyHuntHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "all_clients_count": 0,
        "client_limit": 142,
        "client_rate": 0.0,
        "client_rule_set": {
          "rules": [
            {
              "regex": {
                "attribute_regex": "GRR",
                "field": "CLIENT_NAME"
              },
              "rule_type": "REGEX"
            }
          ]
        },
        "clients_with_results_count": 0,
        "completed_clients_count": 0,
        "crash_limit": 100,
        "crashed_clients_count": 0,
        "created": 42000000,
        "creator": "api_test_user",
        "description": "the hunt",
        "duration": 1209600,
        "failed_clients_count": 0,
        "flow_args": {
          "action": {
            "action_type": "DOWNLOAD",
            "download": {
              "collect_ext_attrs": false
            }
          },
          "paths": [
            "/tmp/evil.txt"
          ],
          "pathtype": "OS"
        },
        "flow_name": "ClientFileFinder",
        "hunt_id": "H:123456",
        "hunt_runner_args": {
          "avg_cpu_seconds_per_client_limit": 60,
          "avg_network_bytes_per_client_limit": 10485760,
          "avg_results_per_client_limit": 1000,
          "client_limit": 142,
          "client_rate": 0.0,
          "client_rule_set": {
            "rules": [
              {
                "regex": {
                  "attribute_regex": "GRR",
                  "field": "CLIENT_NAME"
                },
                "rule_type": "REGEX"
              }
            ]
          },
          "crash_limit": 100,
          "description": "the hunt",
          "expiry_time": 1209600,
          "hunt_name": "GenericHunt",
          "original_object": {}
        },
        "hunt_type": "STANDARD",
        "is_robot": false,
        "name": "GenericHunt",
        "remaining_clients_count": 0,
        "results_count": 0,
        "state": "STOPPED",
        "state_comment": "Cancelled by user",
        "state_reason": "TRIGGERED_BY_USER",
        "total_cpu_usage": 0.0,
        "total_net_usage": 0,
        "urn": "aff4:/hunts/H:123456"
      },
      "url": "/api/hunts/H:123456"
    }
  ],
  "ApiSearchClientsHandler": [
    {
      "api_method": "SearchClients",
      "method": "GET",
      "response": {
        "items": [
          {
            "type": "ApiClient",
            "value": {
              "age": {
                "type": "RDFDatetime",
                "value": 42000000
              },
              "agent_info": {
                "type": "ClientInformation",
                "value": {
                  "build_time": {
                    "type": "unicode",
                    "value": "1980-01-01T12:00:00.000000+00:00"
                  },
                  "client_name": {
                    "type": "unicode",
                    "value": "GRR Monitor"
                  },
                  "client_version": {
                    "type": "long",
                    "value": 1234
                  },
                  "labels": [
                    {
                      "type": "unicode",
                      "value": "label1"
                    },
                    {
                      "type": "unicode",
                      "value": "label2"
                    }
                  ]
                }
              },
              "client_id": {
                "type": "ApiClientId",
                "value": "C.1000000000000000"
              },
              "hardware_info": {
                "type": "HardwareInfo",
                "value": {
                  "bios_version": {
                    "type": "unicode",
                    "value": "Bios-Version-0"
                  },
                  "system_manufacturer": {
                    "type": "unicode",
                    "value": "System-Manufacturer-0"
                  }
                }
              },
              "interfaces": [
                {
                  "type": "Interface",
                  "value": {
                    "addresses": [
                      {
                        "type": "NetworkAddress",
                        "value": {
                          "address_type": {
                            "type": "EnumNamedValue",
                            "value": "INET"
                          },
                          "packed_bytes": {
                            "type": "bytes",
                            "value": "wKgAAA=="
                          }
                        }
                      },
                      {
                        "type": "NetworkAddress",
                        "value": {
                          "address_type": {
                            "type": "EnumNamedValue",
                            "value": "INET6"
                          },
                          "packed_bytes": {
                            "type": "bytes",
                            "value": "IAGrzQAAAAAAAAAAAAAAAA=="
                          }
                        }
                      }
                    ],
                    "ifname": {
                      "type": "unicode",
                      "value": "if0"
                    }
                  }
                },
                {
                  "type": "Interface",
                  "value": {
                    "ifname": {
                      "type": "unicode",
                      "value": "if1"
                    },
                    "mac_address": {
                      "type": "MacAddress",
                      "value": "qrvM3e4A"
                    }
                  }
                },
                {
                  "type": "Interface",
                  "value": {
                    "ifname": {
                      "type": "unicode",
                      "value": "if2"
                    },
                    "mac_address": {
                      "type": "MacAddress",
                      "value": "u8zd7v8A"
                    }
                  }
                }
              ],
              "knowledge_base": {
                "type": "KnowledgeBase",
                "value": {
                  "fqdn": {
                    "type": "unicode",
                    "value": "Host-0.example.com"
                  },
                  "os": {
                    "type": "unicode",
                    "value": "Linux"
                  },
                  "users": [
                    {
                      "type": "User",
                      "value": {
                        "username": {
                          "type": "unicode",
                          "value": "user1"
                        }
                      }
                    },
                    {
                      "type": "User",
                      "value": {
                        "username": {
                          "type": "unicode",
                          "value": "user2"
                        }
                      }
                    }
                  ]
                }
              },
              "last_seen_at": {
                "type": "RDFDatetime",
                "value": 42000000
              },
              "os_info": {
                "type": "Uname",
                "value": {
                  "fqdn": {
                    "type": "unicode",
                    "value": "Host-0.example.com"
                  },
                  "kernel": {
                    "type": "unicode",
                    "value": "4.0.0"
                  },
                  "machine": {
                    "type": "unicode",
                    "value": "x86_64"
                  },
                  "system": {
                    "type": "unicode",
                    "value": "Linux"
                  },
                  "version": {
                    "type": "unicode",
                    "value": "buster/sid"
                  }
                }
              },
              "urn": {
                "type": "ClientURN",
                "value": "aff4:/C.1000000000000000"
              }
            }
          }
        ]
      },
      "test_class": "ApiSearchClientsHandlerRegressionTest_http_v1",
      "type_stripped_response": {
        "items": [
          {
            "age": 42000000,
            "agent_info": {
              "build_time": "1980-01-01T12:00:00.000000+00:00",
              "client_name": "GRR Monitor",
              "client_version": 1234,
              "labels": [
                "label1",
                "label2"
              ]
            },
            "client_id": "C.1000000000000000",
            "hardware_info": {
              "bios_version": "Bios-Version-0",
              "system_manufacturer": "System-Manufacturer-0"
            },
            "interfaces": [
              {
                "addresses": [
                  {
                    "address_type": "INET",
                    "packed_bytes": "wKgAAA=="
                  },
                  {
                    "address_type": "INET6",
                    "packed_bytes": "IAGrzQAAAAAAAAAAAAAAAA=="
                  }
                ],
                "ifname": "if0"
              },
              {
                "ifname": "if1",
                "mac_address": "qrvM3e4A"
              },
              {
                "ifname": "if2",
                "mac_address": "u8zd7v8A"
              }
            ],
            "knowledge_base": {
              "fqdn": "Host-0.example.com",
              "os": "Linux",
              "users": [
                {
                  "username": "user1"
                },
                {
                  "username": "user2"
                }
              ]
            },
            "last_seen_at": 42000000,
            "os_info": {
              "fqdn": "Host-0.example.com",
              "kernel": "4.0.0",
              "machine": "x86_64",
              "system": "Linux",
              "version": "buster/sid"
            },
            "urn": "aff4:/C.1000000000000000"
          }
        ]
      },
      "url": "/api/clients?query=C.1000000000000000"
    }
  ],
  "ApiUpdateVfsFileContentHandler": [
    {
      "api_method": "UpdateVfsFileContent",
      "method": "POST",
      "request_payload": {
        "file_path": "fs/os/c/bin/bash"
      },
      "response": {
        "operation_id": "ABCDEF"
      },
      "test_class": "ApiUpdateVfsFileContentHandlerRegressionTest_http_v1",
      "url": "/api/clients/C.1000000000000000/vfs-update"
    }
  ]
}