15397: Merge branch 'main'
[arvados.git] / sdk / python / arvados-v1-discovery.json
index 2fb9678c3472fde9512ed2bffb1f09e3e96b8656..ef187f666300e95c5f1a03a28e8d3aea18905c8c 100644 (file)
   },
   "protocol": "rest",
   "resources": {
-    "jobs": {
+    "api_clients": {
       "methods": {
         "get": {
-          "id": "arvados.jobs.get",
-          "path": "jobs/{uuid}",
+          "id": "arvados.api_clients.get",
+          "path": "api_clients/{uuid}",
           "httpMethod": "GET",
-          "description": "Gets a Job's metadata by UUID.",
+          "description": "Gets a ApiClient's metadata by UUID.",
           "parameters": {
             "uuid": {
               "type": "string",
-              "description": "The UUID of the Job in question.",
+              "description": "The UUID of the ApiClient in question.",
               "required": true,
               "location": "path"
             }
@@ -69,7 +69,7 @@
             "uuid"
           ],
           "response": {
-            "$ref": "Job"
+            "$ref": "ApiClient"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados",
           ]
         },
         "index": {
-          "id": "arvados.jobs.list",
-          "path": "jobs",
+          "id": "arvados.api_clients.list",
+          "path": "api_clients",
           "httpMethod": "GET",
-          "description": "List Jobs.\n\n                   The <code>list</code> method returns a\n                   <a href=\"/api/resources.html\">resource list</a> of\n                   matching Jobs. For example:\n\n                   <pre>\n                   {\n                    \"kind\":\"arvados#jobList\",\n                    \"etag\":\"\",\n                    \"self_link\":\"\",\n                    \"next_page_token\":\"\",\n                    \"next_link\":\"\",\n                    \"items\":[\n                       ...\n                    ],\n                    \"items_available\":745,\n                    \"_profile\":{\n                     \"request_time\":0.157236317\n                    }\n                    </pre>",
+          "description": "List ApiClients.\n\n                   The <code>list</code> method returns a\n                   <a href=\"/api/resources.html\">resource list</a> of\n                   matching ApiClients. For example:\n\n                   <pre>\n                   {\n                    \"kind\":\"arvados#apiClientList\",\n                    \"etag\":\"\",\n                    \"self_link\":\"\",\n                    \"next_page_token\":\"\",\n                    \"next_link\":\"\",\n                    \"items\":[\n                       ...\n                    ],\n                    \"items_available\":745,\n                    \"_profile\":{\n                     \"request_time\":0.157236317\n                    }\n                    </pre>",
           "parameters": {
             "filters": {
               "type": "array",
             }
           },
           "response": {
-            "$ref": "JobList"
+            "$ref": "ApiClientList"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados",
           ]
         },
         "create": {
-          "id": "arvados.jobs.create",
-          "path": "jobs",
+          "id": "arvados.api_clients.create",
+          "path": "api_clients",
           "httpMethod": "POST",
-          "description": "Create a new Job.",
+          "description": "Create a new ApiClient.",
           "parameters": {
             "select": {
               "type": "array",
               "description": "Create object on a remote federated cluster instead of the current one.",
               "location": "query",
               "required": false
-            },
-            "find_or_create": {
-              "type": "boolean",
-              "required": false,
-              "default": "false",
-              "description": "",
-              "location": "query"
-            },
-            "filters": {
-              "type": "array",
-              "required": false,
-              "description": "",
-              "location": "query"
-            },
-            "minimum_script_version": {
-              "type": "string",
-              "required": false,
-              "description": "",
-              "location": "query"
-            },
-            "exclude_script_versions": {
-              "type": "array",
-              "required": false,
-              "description": "",
-              "location": "query"
             }
           },
           "request": {
             "required": true,
             "properties": {
-              "job": {
-                "$ref": "Job"
+              "api_client": {
+                "$ref": "ApiClient"
               }
             }
           },
           "response": {
-            "$ref": "Job"
+            "$ref": "ApiClient"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados"
           ]
         },
         "update": {
-          "id": "arvados.jobs.update",
-          "path": "jobs/{uuid}",
+          "id": "arvados.api_clients.update",
+          "path": "api_clients/{uuid}",
           "httpMethod": "PUT",
-          "description": "Update attributes of an existing Job.",
+          "description": "Update attributes of an existing ApiClient.",
           "parameters": {
             "uuid": {
               "type": "string",
-              "description": "The UUID of the Job in question.",
+              "description": "The UUID of the ApiClient in question.",
               "required": true,
               "location": "path"
             },
           "request": {
             "required": true,
             "properties": {
-              "job": {
-                "$ref": "Job"
+              "api_client": {
+                "$ref": "ApiClient"
               }
             }
           },
           "response": {
-            "$ref": "Job"
+            "$ref": "ApiClient"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados"
           ]
         },
         "delete": {
-          "id": "arvados.jobs.delete",
-          "path": "jobs/{uuid}",
+          "id": "arvados.api_clients.delete",
+          "path": "api_clients/{uuid}",
           "httpMethod": "DELETE",
-          "description": "Delete an existing Job.",
-          "parameters": {
-            "uuid": {
-              "type": "string",
-              "description": "The UUID of the Job in question.",
-              "required": true,
-              "location": "path"
-            }
-          },
-          "response": {
-            "$ref": "Job"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados"
-          ]
-        },
-        "queue": {
-          "id": "arvados.jobs.queue",
-          "path": "jobs/queue",
-          "httpMethod": "GET",
-          "description": "queue jobs",
-          "parameters": {
-            "filters": {
-              "type": "array",
-              "required": false,
-              "description": "",
-              "location": "query"
-            },
-            "where": {
-              "type": "object",
-              "required": false,
-              "description": "",
-              "location": "query"
-            },
-            "order": {
-              "type": "array",
-              "required": false,
-              "description": "",
-              "location": "query"
-            },
-            "select": {
-              "type": "array",
-              "description": "Attributes of each object to return in the response.",
-              "required": false,
-              "location": "query"
-            },
-            "distinct": {
-              "type": "boolean",
-              "required": false,
-              "default": "false",
-              "description": "",
-              "location": "query"
-            },
-            "limit": {
-              "type": "integer",
-              "required": false,
-              "default": "100",
-              "description": "",
-              "location": "query"
-            },
-            "offset": {
-              "type": "integer",
-              "required": false,
-              "default": "0",
-              "description": "",
-              "location": "query"
-            },
-            "count": {
-              "type": "string",
-              "required": false,
-              "default": "exact",
-              "description": "",
-              "location": "query"
-            },
-            "cluster_id": {
-              "type": "string",
-              "description": "List objects on a remote federated cluster instead of the current one.",
-              "location": "query",
-              "required": false
-            },
-            "bypass_federation": {
-              "type": "boolean",
-              "required": false,
-              "description": "bypass federation behavior, list items from local instance database only",
-              "location": "query"
-            }
-          },
-          "response": {
-            "$ref": "Job"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados"
-          ]
-        },
-        "queue_size": {
-          "id": "arvados.jobs.queue_size",
-          "path": "jobs/queue_size",
-          "httpMethod": "GET",
-          "description": "queue_size jobs",
-          "parameters": {},
-          "response": {
-            "$ref": "Job"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados"
-          ]
-        },
-        "cancel": {
-          "id": "arvados.jobs.cancel",
-          "path": "jobs/{uuid}/cancel",
-          "httpMethod": "POST",
-          "description": "cancel jobs",
-          "parameters": {
-            "uuid": {
-              "type": "string",
-              "description": "",
-              "required": true,
-              "location": "path"
-            }
-          },
-          "response": {
-            "$ref": "Job"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados"
-          ]
-        },
-        "lock": {
-          "id": "arvados.jobs.lock",
-          "path": "jobs/{uuid}/lock",
-          "httpMethod": "POST",
-          "description": "lock jobs",
+          "description": "Delete an existing ApiClient.",
           "parameters": {
             "uuid": {
               "type": "string",
-              "description": "",
+              "description": "The UUID of the ApiClient in question.",
               "required": true,
               "location": "path"
             }
           },
           "response": {
-            "$ref": "Job"
+            "$ref": "ApiClient"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados"
           ]
         },
         "list": {
-          "id": "arvados.jobs.list",
-          "path": "jobs",
+          "id": "arvados.api_clients.list",
+          "path": "api_clients",
           "httpMethod": "GET",
-          "description": "List Jobs.\n\n                   The <code>list</code> method returns a\n                   <a href=\"/api/resources.html\">resource list</a> of\n                   matching Jobs. For example:\n\n                   <pre>\n                   {\n                    \"kind\":\"arvados#jobList\",\n                    \"etag\":\"\",\n                    \"self_link\":\"\",\n                    \"next_page_token\":\"\",\n                    \"next_link\":\"\",\n                    \"items\":[\n                       ...\n                    ],\n                    \"items_available\":745,\n                    \"_profile\":{\n                     \"request_time\":0.157236317\n                    }\n                    </pre>",
+          "description": "List ApiClients.\n\n                   The <code>list</code> method returns a\n                   <a href=\"/api/resources.html\">resource list</a> of\n                   matching ApiClients. For example:\n\n                   <pre>\n                   {\n                    \"kind\":\"arvados#apiClientList\",\n                    \"etag\":\"\",\n                    \"self_link\":\"\",\n                    \"next_page_token\":\"\",\n                    \"next_link\":\"\",\n                    \"items\":[\n                       ...\n                    ],\n                    \"items_available\":745,\n                    \"_profile\":{\n                     \"request_time\":0.157236317\n                    }\n                    </pre>",
           "parameters": {
             "filters": {
               "type": "array",
             }
           },
           "response": {
-            "$ref": "JobList"
+            "$ref": "ApiClientList"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados",
           ]
         },
         "show": {
-          "id": "arvados.jobs.show",
-          "path": "jobs/{uuid}",
+          "id": "arvados.api_clients.show",
+          "path": "api_clients/{uuid}",
           "httpMethod": "GET",
-          "description": "show jobs",
+          "description": "show api_clients",
           "parameters": {
             "uuid": {
               "type": "string",
             }
           },
           "response": {
-            "$ref": "Job"
+            "$ref": "ApiClient"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados"
           ]
         },
         "destroy": {
-          "id": "arvados.jobs.destroy",
-          "path": "jobs/{uuid}",
+          "id": "arvados.api_clients.destroy",
+          "path": "api_clients/{uuid}",
           "httpMethod": "DELETE",
-          "description": "destroy jobs",
+          "description": "destroy api_clients",
           "parameters": {
             "uuid": {
               "type": "string",
             }
           },
           "response": {
-            "$ref": "Job"
+            "$ref": "ApiClient"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados"
         }
       }
     },
-    "api_clients": {
+    "api_client_authorizations": {
       "methods": {
         "get": {
-          "id": "arvados.api_clients.get",
-          "path": "api_clients/{uuid}",
+          "id": "arvados.api_client_authorizations.get",
+          "path": "api_client_authorizations/{uuid}",
           "httpMethod": "GET",
-          "description": "Gets a ApiClient's metadata by UUID.",
+          "description": "Gets a ApiClientAuthorization's metadata by UUID.",
           "parameters": {
             "uuid": {
               "type": "string",
-              "description": "The UUID of the ApiClient in question.",
+              "description": "The UUID of the ApiClientAuthorization in question.",
               "required": true,
               "location": "path"
             }
             "uuid"
           ],
           "response": {
-            "$ref": "ApiClient"
+            "$ref": "ApiClientAuthorization"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados",
           ]
         },
         "index": {
-          "id": "arvados.api_clients.list",
-          "path": "api_clients",
+          "id": "arvados.api_client_authorizations.list",
+          "path": "api_client_authorizations",
           "httpMethod": "GET",
-          "description": "List ApiClients.\n\n                   The <code>list</code> method returns a\n                   <a href=\"/api/resources.html\">resource list</a> of\n                   matching ApiClients. For example:\n\n                   <pre>\n                   {\n                    \"kind\":\"arvados#apiClientList\",\n                    \"etag\":\"\",\n                    \"self_link\":\"\",\n                    \"next_page_token\":\"\",\n                    \"next_link\":\"\",\n                    \"items\":[\n                       ...\n                    ],\n                    \"items_available\":745,\n                    \"_profile\":{\n                     \"request_time\":0.157236317\n                    }\n                    </pre>",
+          "description": "List ApiClientAuthorizations.\n\n                   The <code>list</code> method returns a\n                   <a href=\"/api/resources.html\">resource list</a> of\n                   matching ApiClientAuthorizations. For example:\n\n                   <pre>\n                   {\n                    \"kind\":\"arvados#apiClientAuthorizationList\",\n                    \"etag\":\"\",\n                    \"self_link\":\"\",\n                    \"next_page_token\":\"\",\n                    \"next_link\":\"\",\n                    \"items\":[\n                       ...\n                    ],\n                    \"items_available\":745,\n                    \"_profile\":{\n                     \"request_time\":0.157236317\n                    }\n                    </pre>",
           "parameters": {
             "filters": {
               "type": "array",
             }
           },
           "response": {
-            "$ref": "ApiClientList"
+            "$ref": "ApiClientAuthorizationList"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados",
           ]
         },
         "create": {
-          "id": "arvados.api_clients.create",
-          "path": "api_clients",
+          "id": "arvados.api_client_authorizations.create",
+          "path": "api_client_authorizations",
           "httpMethod": "POST",
-          "description": "Create a new ApiClient.",
+          "description": "Create a new ApiClientAuthorization.",
           "parameters": {
             "select": {
               "type": "array",
           "request": {
             "required": true,
             "properties": {
-              "api_client": {
-                "$ref": "ApiClient"
+              "api_client_authorization": {
+                "$ref": "ApiClientAuthorization"
               }
             }
           },
           "response": {
-            "$ref": "ApiClient"
+            "$ref": "ApiClientAuthorization"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados"
           ]
         },
         "update": {
-          "id": "arvados.api_clients.update",
-          "path": "api_clients/{uuid}",
+          "id": "arvados.api_client_authorizations.update",
+          "path": "api_client_authorizations/{uuid}",
           "httpMethod": "PUT",
-          "description": "Update attributes of an existing ApiClient.",
+          "description": "Update attributes of an existing ApiClientAuthorization.",
           "parameters": {
             "uuid": {
               "type": "string",
-              "description": "The UUID of the ApiClient in question.",
+              "description": "The UUID of the ApiClientAuthorization in question.",
               "required": true,
               "location": "path"
             },
           "request": {
             "required": true,
             "properties": {
-              "api_client": {
-                "$ref": "ApiClient"
+              "api_client_authorization": {
+                "$ref": "ApiClientAuthorization"
               }
             }
           },
           "response": {
-            "$ref": "ApiClient"
+            "$ref": "ApiClientAuthorization"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados"
           ]
         },
         "delete": {
-          "id": "arvados.api_clients.delete",
-          "path": "api_clients/{uuid}",
+          "id": "arvados.api_client_authorizations.delete",
+          "path": "api_client_authorizations/{uuid}",
           "httpMethod": "DELETE",
-          "description": "Delete an existing ApiClient.",
+          "description": "Delete an existing ApiClientAuthorization.",
           "parameters": {
             "uuid": {
               "type": "string",
-              "description": "The UUID of the ApiClient in question.",
+              "description": "The UUID of the ApiClientAuthorization in question.",
               "required": true,
               "location": "path"
             }
           },
           "response": {
-            "$ref": "ApiClient"
+            "$ref": "ApiClientAuthorization"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados"
           ]
         },
-        "list": {
-          "id": "arvados.api_clients.list",
-          "path": "api_clients",
-          "httpMethod": "GET",
-          "description": "List ApiClients.\n\n                   The <code>list</code> method returns a\n                   <a href=\"/api/resources.html\">resource list</a> of\n                   matching ApiClients. For example:\n\n                   <pre>\n                   {\n                    \"kind\":\"arvados#apiClientList\",\n                    \"etag\":\"\",\n                    \"self_link\":\"\",\n                    \"next_page_token\":\"\",\n                    \"next_link\":\"\",\n                    \"items\":[\n                       ...\n                    ],\n                    \"items_available\":745,\n                    \"_profile\":{\n                     \"request_time\":0.157236317\n                    }\n                    </pre>",
+        "create_system_auth": {
+          "id": "arvados.api_client_authorizations.create_system_auth",
+          "path": "api_client_authorizations/create_system_auth",
+          "httpMethod": "POST",
+          "description": "create_system_auth api_client_authorizations",
           "parameters": {
-            "filters": {
-              "type": "array",
-              "required": false,
-              "description": "",
-              "location": "query"
-            },
-            "where": {
-              "type": "object",
+            "api_client_id": {
+              "type": "integer",
               "required": false,
               "description": "",
               "location": "query"
             },
-            "order": {
+            "scopes": {
               "type": "array",
               "required": false,
               "description": "",
               "location": "query"
-            },
-            "select": {
-              "type": "array",
-              "description": "Attributes of each object to return in the response.",
+            }
+          },
+          "response": {
+            "$ref": "ApiClientAuthorization"
+          },
+          "scopes": [
+            "https://api.arvados.org/auth/arvados"
+          ]
+        },
+        "current": {
+          "id": "arvados.api_client_authorizations.current",
+          "path": "api_client_authorizations/current",
+          "httpMethod": "GET",
+          "description": "current api_client_authorizations",
+          "parameters": {},
+          "response": {
+            "$ref": "ApiClientAuthorization"
+          },
+          "scopes": [
+            "https://api.arvados.org/auth/arvados"
+          ]
+        },
+        "list": {
+          "id": "arvados.api_client_authorizations.list",
+          "path": "api_client_authorizations",
+          "httpMethod": "GET",
+          "description": "List ApiClientAuthorizations.\n\n                   The <code>list</code> method returns a\n                   <a href=\"/api/resources.html\">resource list</a> of\n                   matching ApiClientAuthorizations. For example:\n\n                   <pre>\n                   {\n                    \"kind\":\"arvados#apiClientAuthorizationList\",\n                    \"etag\":\"\",\n                    \"self_link\":\"\",\n                    \"next_page_token\":\"\",\n                    \"next_link\":\"\",\n                    \"items\":[\n                       ...\n                    ],\n                    \"items_available\":745,\n                    \"_profile\":{\n                     \"request_time\":0.157236317\n                    }\n                    </pre>",
+          "parameters": {
+            "filters": {
+              "type": "array",
+              "required": false,
+              "description": "",
+              "location": "query"
+            },
+            "where": {
+              "type": "object",
+              "required": false,
+              "description": "",
+              "location": "query"
+            },
+            "order": {
+              "type": "array",
+              "required": false,
+              "description": "",
+              "location": "query"
+            },
+            "select": {
+              "type": "array",
+              "description": "Attributes of each object to return in the response.",
               "required": false,
               "location": "query"
             },
             }
           },
           "response": {
-            "$ref": "ApiClientList"
+            "$ref": "ApiClientAuthorizationList"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados",
           ]
         },
         "show": {
-          "id": "arvados.api_clients.show",
-          "path": "api_clients/{uuid}",
+          "id": "arvados.api_client_authorizations.show",
+          "path": "api_client_authorizations/{uuid}",
           "httpMethod": "GET",
-          "description": "show api_clients",
+          "description": "show api_client_authorizations",
           "parameters": {
             "uuid": {
               "type": "string",
             }
           },
           "response": {
-            "$ref": "ApiClient"
+            "$ref": "ApiClientAuthorization"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados"
           ]
         },
         "destroy": {
-          "id": "arvados.api_clients.destroy",
-          "path": "api_clients/{uuid}",
+          "id": "arvados.api_client_authorizations.destroy",
+          "path": "api_client_authorizations/{uuid}",
           "httpMethod": "DELETE",
-          "description": "destroy api_clients",
+          "description": "destroy api_client_authorizations",
           "parameters": {
             "uuid": {
               "type": "string",
             }
           },
           "response": {
-            "$ref": "ApiClient"
+            "$ref": "ApiClientAuthorization"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados"
         }
       }
     },
-    "api_client_authorizations": {
+    "authorized_keys": {
       "methods": {
         "get": {
-          "id": "arvados.api_client_authorizations.get",
-          "path": "api_client_authorizations/{uuid}",
+          "id": "arvados.authorized_keys.get",
+          "path": "authorized_keys/{uuid}",
           "httpMethod": "GET",
-          "description": "Gets a ApiClientAuthorization's metadata by UUID.",
+          "description": "Gets a AuthorizedKey's metadata by UUID.",
           "parameters": {
             "uuid": {
               "type": "string",
-              "description": "The UUID of the ApiClientAuthorization in question.",
+              "description": "The UUID of the AuthorizedKey in question.",
               "required": true,
               "location": "path"
             }
             "uuid"
           ],
           "response": {
-            "$ref": "ApiClientAuthorization"
+            "$ref": "AuthorizedKey"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados",
           ]
         },
         "index": {
-          "id": "arvados.api_client_authorizations.list",
-          "path": "api_client_authorizations",
+          "id": "arvados.authorized_keys.list",
+          "path": "authorized_keys",
           "httpMethod": "GET",
-          "description": "List ApiClientAuthorizations.\n\n                   The <code>list</code> method returns a\n                   <a href=\"/api/resources.html\">resource list</a> of\n                   matching ApiClientAuthorizations. For example:\n\n                   <pre>\n                   {\n                    \"kind\":\"arvados#apiClientAuthorizationList\",\n                    \"etag\":\"\",\n                    \"self_link\":\"\",\n                    \"next_page_token\":\"\",\n                    \"next_link\":\"\",\n                    \"items\":[\n                       ...\n                    ],\n                    \"items_available\":745,\n                    \"_profile\":{\n                     \"request_time\":0.157236317\n                    }\n                    </pre>",
+          "description": "List AuthorizedKeys.\n\n                   The <code>list</code> method returns a\n                   <a href=\"/api/resources.html\">resource list</a> of\n                   matching AuthorizedKeys. For example:\n\n                   <pre>\n                   {\n                    \"kind\":\"arvados#authorizedKeyList\",\n                    \"etag\":\"\",\n                    \"self_link\":\"\",\n                    \"next_page_token\":\"\",\n                    \"next_link\":\"\",\n                    \"items\":[\n                       ...\n                    ],\n                    \"items_available\":745,\n                    \"_profile\":{\n                     \"request_time\":0.157236317\n                    }\n                    </pre>",
           "parameters": {
             "filters": {
               "type": "array",
             }
           },
           "response": {
-            "$ref": "ApiClientAuthorizationList"
+            "$ref": "AuthorizedKeyList"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados",
           ]
         },
         "create": {
-          "id": "arvados.api_client_authorizations.create",
-          "path": "api_client_authorizations",
+          "id": "arvados.authorized_keys.create",
+          "path": "authorized_keys",
           "httpMethod": "POST",
-          "description": "Create a new ApiClientAuthorization.",
+          "description": "Create a new AuthorizedKey.",
           "parameters": {
             "select": {
               "type": "array",
           "request": {
             "required": true,
             "properties": {
-              "api_client_authorization": {
-                "$ref": "ApiClientAuthorization"
+              "authorized_key": {
+                "$ref": "AuthorizedKey"
               }
             }
           },
           "response": {
-            "$ref": "ApiClientAuthorization"
+            "$ref": "AuthorizedKey"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados"
           ]
         },
         "update": {
-          "id": "arvados.api_client_authorizations.update",
-          "path": "api_client_authorizations/{uuid}",
+          "id": "arvados.authorized_keys.update",
+          "path": "authorized_keys/{uuid}",
           "httpMethod": "PUT",
-          "description": "Update attributes of an existing ApiClientAuthorization.",
+          "description": "Update attributes of an existing AuthorizedKey.",
           "parameters": {
             "uuid": {
               "type": "string",
-              "description": "The UUID of the ApiClientAuthorization in question.",
+              "description": "The UUID of the AuthorizedKey in question.",
               "required": true,
               "location": "path"
             },
           "request": {
             "required": true,
             "properties": {
-              "api_client_authorization": {
-                "$ref": "ApiClientAuthorization"
+              "authorized_key": {
+                "$ref": "AuthorizedKey"
               }
             }
           },
           "response": {
-            "$ref": "ApiClientAuthorization"
+            "$ref": "AuthorizedKey"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados"
           ]
         },
         "delete": {
-          "id": "arvados.api_client_authorizations.delete",
-          "path": "api_client_authorizations/{uuid}",
+          "id": "arvados.authorized_keys.delete",
+          "path": "authorized_keys/{uuid}",
           "httpMethod": "DELETE",
-          "description": "Delete an existing ApiClientAuthorization.",
+          "description": "Delete an existing AuthorizedKey.",
           "parameters": {
             "uuid": {
               "type": "string",
-              "description": "The UUID of the ApiClientAuthorization in question.",
+              "description": "The UUID of the AuthorizedKey in question.",
               "required": true,
               "location": "path"
             }
           },
           "response": {
-            "$ref": "ApiClientAuthorization"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados"
-          ]
-        },
-        "create_system_auth": {
-          "id": "arvados.api_client_authorizations.create_system_auth",
-          "path": "api_client_authorizations/create_system_auth",
-          "httpMethod": "POST",
-          "description": "create_system_auth api_client_authorizations",
-          "parameters": {
-            "api_client_id": {
-              "type": "integer",
-              "required": false,
-              "description": "",
-              "location": "query"
-            },
-            "scopes": {
-              "type": "array",
-              "required": false,
-              "description": "",
-              "location": "query"
-            }
-          },
-          "response": {
-            "$ref": "ApiClientAuthorization"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados"
-          ]
-        },
-        "current": {
-          "id": "arvados.api_client_authorizations.current",
-          "path": "api_client_authorizations/current",
-          "httpMethod": "GET",
-          "description": "current api_client_authorizations",
-          "parameters": {},
-          "response": {
-            "$ref": "ApiClientAuthorization"
+            "$ref": "AuthorizedKey"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados"
           ]
         },
         "list": {
-          "id": "arvados.api_client_authorizations.list",
-          "path": "api_client_authorizations",
+          "id": "arvados.authorized_keys.list",
+          "path": "authorized_keys",
           "httpMethod": "GET",
-          "description": "List ApiClientAuthorizations.\n\n                   The <code>list</code> method returns a\n                   <a href=\"/api/resources.html\">resource list</a> of\n                   matching ApiClientAuthorizations. For example:\n\n                   <pre>\n                   {\n                    \"kind\":\"arvados#apiClientAuthorizationList\",\n                    \"etag\":\"\",\n                    \"self_link\":\"\",\n                    \"next_page_token\":\"\",\n                    \"next_link\":\"\",\n                    \"items\":[\n                       ...\n                    ],\n                    \"items_available\":745,\n                    \"_profile\":{\n                     \"request_time\":0.157236317\n                    }\n                    </pre>",
+          "description": "List AuthorizedKeys.\n\n                   The <code>list</code> method returns a\n                   <a href=\"/api/resources.html\">resource list</a> of\n                   matching AuthorizedKeys. For example:\n\n                   <pre>\n                   {\n                    \"kind\":\"arvados#authorizedKeyList\",\n                    \"etag\":\"\",\n                    \"self_link\":\"\",\n                    \"next_page_token\":\"\",\n                    \"next_link\":\"\",\n                    \"items\":[\n                       ...\n                    ],\n                    \"items_available\":745,\n                    \"_profile\":{\n                     \"request_time\":0.157236317\n                    }\n                    </pre>",
           "parameters": {
             "filters": {
               "type": "array",
             }
           },
           "response": {
-            "$ref": "ApiClientAuthorizationList"
+            "$ref": "AuthorizedKeyList"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados",
           ]
         },
         "show": {
-          "id": "arvados.api_client_authorizations.show",
-          "path": "api_client_authorizations/{uuid}",
+          "id": "arvados.authorized_keys.show",
+          "path": "authorized_keys/{uuid}",
           "httpMethod": "GET",
-          "description": "show api_client_authorizations",
+          "description": "show authorized_keys",
           "parameters": {
             "uuid": {
               "type": "string",
             }
           },
           "response": {
-            "$ref": "ApiClientAuthorization"
+            "$ref": "AuthorizedKey"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados"
           ]
         },
         "destroy": {
-          "id": "arvados.api_client_authorizations.destroy",
-          "path": "api_client_authorizations/{uuid}",
+          "id": "arvados.authorized_keys.destroy",
+          "path": "authorized_keys/{uuid}",
           "httpMethod": "DELETE",
-          "description": "destroy api_client_authorizations",
+          "description": "destroy authorized_keys",
           "parameters": {
             "uuid": {
               "type": "string",
             }
           },
           "response": {
-            "$ref": "ApiClientAuthorization"
+            "$ref": "AuthorizedKey"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados"
         }
       }
     },
-    "authorized_keys": {
+    "collections": {
       "methods": {
         "get": {
-          "id": "arvados.authorized_keys.get",
-          "path": "authorized_keys/{uuid}",
+          "id": "arvados.collections.get",
+          "path": "collections/{uuid}",
           "httpMethod": "GET",
-          "description": "Gets a AuthorizedKey's metadata by UUID.",
+          "description": "Gets a Collection's metadata by UUID.",
           "parameters": {
             "uuid": {
               "type": "string",
-              "description": "The UUID of the AuthorizedKey in question.",
+              "description": "The UUID of the Collection in question.",
               "required": true,
               "location": "path"
             }
             "uuid"
           ],
           "response": {
-            "$ref": "AuthorizedKey"
+            "$ref": "Collection"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados",
           ]
         },
         "index": {
-          "id": "arvados.authorized_keys.list",
-          "path": "authorized_keys",
+          "id": "arvados.collections.list",
+          "path": "collections",
           "httpMethod": "GET",
-          "description": "List AuthorizedKeys.\n\n                   The <code>list</code> method returns a\n                   <a href=\"/api/resources.html\">resource list</a> of\n                   matching AuthorizedKeys. For example:\n\n                   <pre>\n                   {\n                    \"kind\":\"arvados#authorizedKeyList\",\n                    \"etag\":\"\",\n                    \"self_link\":\"\",\n                    \"next_page_token\":\"\",\n                    \"next_link\":\"\",\n                    \"items\":[\n                       ...\n                    ],\n                    \"items_available\":745,\n                    \"_profile\":{\n                     \"request_time\":0.157236317\n                    }\n                    </pre>",
+          "description": "List Collections.\n\n                   The <code>list</code> method returns a\n                   <a href=\"/api/resources.html\">resource list</a> of\n                   matching Collections. For example:\n\n                   <pre>\n                   {\n                    \"kind\":\"arvados#collectionList\",\n                    \"etag\":\"\",\n                    \"self_link\":\"\",\n                    \"next_page_token\":\"\",\n                    \"next_link\":\"\",\n                    \"items\":[\n                       ...\n                    ],\n                    \"items_available\":745,\n                    \"_profile\":{\n                     \"request_time\":0.157236317\n                    }\n                    </pre>",
           "parameters": {
             "filters": {
               "type": "array",
               "required": false,
               "description": "bypass federation behavior, list items from local instance database only",
               "location": "query"
+            },
+            "include_trash": {
+              "type": "boolean",
+              "required": false,
+              "default": "false",
+              "description": "Include collections whose is_trashed attribute is true.",
+              "location": "query"
+            },
+            "include_old_versions": {
+              "type": "boolean",
+              "required": false,
+              "default": "false",
+              "description": "Include past collection versions.",
+              "location": "query"
             }
           },
           "response": {
-            "$ref": "AuthorizedKeyList"
+            "$ref": "CollectionList"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados",
           ]
         },
         "create": {
-          "id": "arvados.authorized_keys.create",
-          "path": "authorized_keys",
+          "id": "arvados.collections.create",
+          "path": "collections",
           "httpMethod": "POST",
-          "description": "Create a new AuthorizedKey.",
+          "description": "Create a new Collection.",
           "parameters": {
             "select": {
               "type": "array",
               "description": "Create object on a remote federated cluster instead of the current one.",
               "location": "query",
               "required": false
+            },
+            "replace_files": {
+              "type": "object",
+              "description": "Files and directories to initialize/replace with content from other collections.",
+              "required": false,
+              "location": "query",
+              "properties": {},
+              "additionalProperties": {
+                "type": "string"
+              }
             }
           },
           "request": {
             "required": true,
             "properties": {
-              "authorized_key": {
-                "$ref": "AuthorizedKey"
+              "collection": {
+                "$ref": "Collection"
               }
             }
           },
           "response": {
-            "$ref": "AuthorizedKey"
+            "$ref": "Collection"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados"
           ]
         },
         "update": {
-          "id": "arvados.authorized_keys.update",
-          "path": "authorized_keys/{uuid}",
+          "id": "arvados.collections.update",
+          "path": "collections/{uuid}",
           "httpMethod": "PUT",
-          "description": "Update attributes of an existing AuthorizedKey.",
+          "description": "Update attributes of an existing Collection.",
           "parameters": {
             "uuid": {
               "type": "string",
-              "description": "The UUID of the AuthorizedKey in question.",
+              "description": "The UUID of the Collection in question.",
               "required": true,
               "location": "path"
             },
               "description": "Attributes of the updated object to return in the response.",
               "required": false,
               "location": "query"
-            }
-          },
-          "request": {
-            "required": true,
-            "properties": {
-              "authorized_key": {
-                "$ref": "AuthorizedKey"
+            },
+            "replace_files": {
+              "type": "object",
+              "description": "Files and directories to initialize/replace with content from other collections.",
+              "required": false,
+              "location": "query",
+              "properties": {},
+              "additionalProperties": {
+                "type": "string"
+              }
+            }
+          },
+          "request": {
+            "required": true,
+            "properties": {
+              "collection": {
+                "$ref": "Collection"
               }
             }
           },
           "response": {
-            "$ref": "AuthorizedKey"
+            "$ref": "Collection"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados"
           ]
         },
         "delete": {
-          "id": "arvados.authorized_keys.delete",
-          "path": "authorized_keys/{uuid}",
+          "id": "arvados.collections.delete",
+          "path": "collections/{uuid}",
           "httpMethod": "DELETE",
-          "description": "Delete an existing AuthorizedKey.",
+          "description": "Delete an existing Collection.",
           "parameters": {
             "uuid": {
               "type": "string",
-              "description": "The UUID of the AuthorizedKey in question.",
+              "description": "The UUID of the Collection in question.",
               "required": true,
               "location": "path"
             }
           },
           "response": {
-            "$ref": "AuthorizedKey"
+            "$ref": "Collection"
+          },
+          "scopes": [
+            "https://api.arvados.org/auth/arvados"
+          ]
+        },
+        "provenance": {
+          "id": "arvados.collections.provenance",
+          "path": "collections/{uuid}/provenance",
+          "httpMethod": "GET",
+          "description": "provenance collections",
+          "parameters": {
+            "uuid": {
+              "type": "string",
+              "description": "",
+              "required": true,
+              "location": "path"
+            }
+          },
+          "response": {
+            "$ref": "Collection"
+          },
+          "scopes": [
+            "https://api.arvados.org/auth/arvados"
+          ]
+        },
+        "used_by": {
+          "id": "arvados.collections.used_by",
+          "path": "collections/{uuid}/used_by",
+          "httpMethod": "GET",
+          "description": "used_by collections",
+          "parameters": {
+            "uuid": {
+              "type": "string",
+              "description": "",
+              "required": true,
+              "location": "path"
+            }
+          },
+          "response": {
+            "$ref": "Collection"
+          },
+          "scopes": [
+            "https://api.arvados.org/auth/arvados"
+          ]
+        },
+        "trash": {
+          "id": "arvados.collections.trash",
+          "path": "collections/{uuid}/trash",
+          "httpMethod": "POST",
+          "description": "trash collections",
+          "parameters": {
+            "uuid": {
+              "type": "string",
+              "description": "",
+              "required": true,
+              "location": "path"
+            }
+          },
+          "response": {
+            "$ref": "Collection"
+          },
+          "scopes": [
+            "https://api.arvados.org/auth/arvados"
+          ]
+        },
+        "untrash": {
+          "id": "arvados.collections.untrash",
+          "path": "collections/{uuid}/untrash",
+          "httpMethod": "POST",
+          "description": "untrash collections",
+          "parameters": {
+            "uuid": {
+              "type": "string",
+              "description": "",
+              "required": true,
+              "location": "path"
+            }
+          },
+          "response": {
+            "$ref": "Collection"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados"
           ]
         },
         "list": {
-          "id": "arvados.authorized_keys.list",
-          "path": "authorized_keys",
+          "id": "arvados.collections.list",
+          "path": "collections",
           "httpMethod": "GET",
-          "description": "List AuthorizedKeys.\n\n                   The <code>list</code> method returns a\n                   <a href=\"/api/resources.html\">resource list</a> of\n                   matching AuthorizedKeys. For example:\n\n                   <pre>\n                   {\n                    \"kind\":\"arvados#authorizedKeyList\",\n                    \"etag\":\"\",\n                    \"self_link\":\"\",\n                    \"next_page_token\":\"\",\n                    \"next_link\":\"\",\n                    \"items\":[\n                       ...\n                    ],\n                    \"items_available\":745,\n                    \"_profile\":{\n                     \"request_time\":0.157236317\n                    }\n                    </pre>",
+          "description": "List Collections.\n\n                   The <code>list</code> method returns a\n                   <a href=\"/api/resources.html\">resource list</a> of\n                   matching Collections. For example:\n\n                   <pre>\n                   {\n                    \"kind\":\"arvados#collectionList\",\n                    \"etag\":\"\",\n                    \"self_link\":\"\",\n                    \"next_page_token\":\"\",\n                    \"next_link\":\"\",\n                    \"items\":[\n                       ...\n                    ],\n                    \"items_available\":745,\n                    \"_profile\":{\n                     \"request_time\":0.157236317\n                    }\n                    </pre>",
           "parameters": {
             "filters": {
               "type": "array",
               "required": false,
               "description": "bypass federation behavior, list items from local instance database only",
               "location": "query"
+            },
+            "include_trash": {
+              "type": "boolean",
+              "required": false,
+              "default": "false",
+              "description": "Include collections whose is_trashed attribute is true.",
+              "location": "query"
+            },
+            "include_old_versions": {
+              "type": "boolean",
+              "required": false,
+              "default": "false",
+              "description": "Include past collection versions.",
+              "location": "query"
             }
           },
           "response": {
-            "$ref": "AuthorizedKeyList"
+            "$ref": "CollectionList"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados",
           ]
         },
         "show": {
-          "id": "arvados.authorized_keys.show",
-          "path": "authorized_keys/{uuid}",
+          "id": "arvados.collections.show",
+          "path": "collections/{uuid}",
           "httpMethod": "GET",
-          "description": "show authorized_keys",
+          "description": "show collections",
           "parameters": {
             "uuid": {
               "type": "string",
               "description": "Attributes of the object to return in the response.",
               "required": false,
               "location": "query"
+            },
+            "include_trash": {
+              "type": "boolean",
+              "required": false,
+              "default": "false",
+              "description": "Show collection even if its is_trashed attribute is true.",
+              "location": "query"
+            },
+            "include_old_versions": {
+              "type": "boolean",
+              "required": false,
+              "default": "true",
+              "description": "Include past collection versions.",
+              "location": "query"
             }
           },
           "response": {
-            "$ref": "AuthorizedKey"
+            "$ref": "Collection"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados"
           ]
         },
         "destroy": {
-          "id": "arvados.authorized_keys.destroy",
-          "path": "authorized_keys/{uuid}",
+          "id": "arvados.collections.destroy",
+          "path": "collections/{uuid}",
           "httpMethod": "DELETE",
-          "description": "destroy authorized_keys",
+          "description": "destroy collections",
           "parameters": {
             "uuid": {
               "type": "string",
             }
           },
           "response": {
-            "$ref": "AuthorizedKey"
+            "$ref": "Collection"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados"
         }
       }
     },
-    "collections": {
+    "containers": {
       "methods": {
         "get": {
-          "id": "arvados.collections.get",
-          "path": "collections/{uuid}",
+          "id": "arvados.containers.get",
+          "path": "containers/{uuid}",
           "httpMethod": "GET",
-          "description": "Gets a Collection's metadata by UUID.",
+          "description": "Gets a Container's metadata by UUID.",
           "parameters": {
             "uuid": {
               "type": "string",
-              "description": "The UUID of the Collection in question.",
+              "description": "The UUID of the Container in question.",
               "required": true,
               "location": "path"
             }
             "uuid"
           ],
           "response": {
-            "$ref": "Collection"
+            "$ref": "Container"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados",
           ]
         },
         "index": {
-          "id": "arvados.collections.list",
-          "path": "collections",
+          "id": "arvados.containers.list",
+          "path": "containers",
           "httpMethod": "GET",
-          "description": "List Collections.\n\n                   The <code>list</code> method returns a\n                   <a href=\"/api/resources.html\">resource list</a> of\n                   matching Collections. For example:\n\n                   <pre>\n                   {\n                    \"kind\":\"arvados#collectionList\",\n                    \"etag\":\"\",\n                    \"self_link\":\"\",\n                    \"next_page_token\":\"\",\n                    \"next_link\":\"\",\n                    \"items\":[\n                       ...\n                    ],\n                    \"items_available\":745,\n                    \"_profile\":{\n                     \"request_time\":0.157236317\n                    }\n                    </pre>",
+          "description": "List Containers.\n\n                   The <code>list</code> method returns a\n                   <a href=\"/api/resources.html\">resource list</a> of\n                   matching Containers. For example:\n\n                   <pre>\n                   {\n                    \"kind\":\"arvados#containerList\",\n                    \"etag\":\"\",\n                    \"self_link\":\"\",\n                    \"next_page_token\":\"\",\n                    \"next_link\":\"\",\n                    \"items\":[\n                       ...\n                    ],\n                    \"items_available\":745,\n                    \"_profile\":{\n                     \"request_time\":0.157236317\n                    }\n                    </pre>",
           "parameters": {
             "filters": {
               "type": "array",
               "required": false,
               "description": "bypass federation behavior, list items from local instance database only",
               "location": "query"
-            },
-            "include_trash": {
-              "type": "boolean",
-              "required": false,
-              "default": "false",
-              "description": "Include collections whose is_trashed attribute is true.",
-              "location": "query"
-            },
-            "include_old_versions": {
-              "type": "boolean",
-              "required": false,
-              "default": "false",
-              "description": "Include past collection versions.",
-              "location": "query"
             }
           },
           "response": {
-            "$ref": "CollectionList"
+            "$ref": "ContainerList"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados",
           ]
         },
         "create": {
-          "id": "arvados.collections.create",
-          "path": "collections",
+          "id": "arvados.containers.create",
+          "path": "containers",
           "httpMethod": "POST",
-          "description": "Create a new Collection.",
+          "description": "Create a new Container.",
           "parameters": {
             "select": {
               "type": "array",
               "description": "Create object on a remote federated cluster instead of the current one.",
               "location": "query",
               "required": false
-            },
-            "replace_files": {
-              "type": "object",
-              "description": "Files and directories to initialize/replace with content from other collections.",
-              "required": false,
-              "location": "query",
-              "properties": {},
-              "additionalProperties": {
-                "type": "string"
-              }
             }
           },
           "request": {
             "required": true,
             "properties": {
-              "collection": {
-                "$ref": "Collection"
+              "container": {
+                "$ref": "Container"
               }
             }
           },
           "response": {
-            "$ref": "Collection"
+            "$ref": "Container"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados"
           ]
         },
         "update": {
-          "id": "arvados.collections.update",
-          "path": "collections/{uuid}",
+          "id": "arvados.containers.update",
+          "path": "containers/{uuid}",
           "httpMethod": "PUT",
-          "description": "Update attributes of an existing Collection.",
+          "description": "Update attributes of an existing Container.",
           "parameters": {
             "uuid": {
               "type": "string",
-              "description": "The UUID of the Collection in question.",
+              "description": "The UUID of the Container in question.",
               "required": true,
               "location": "path"
             },
               "description": "Attributes of the updated object to return in the response.",
               "required": false,
               "location": "query"
-            },
-            "replace_files": {
-              "type": "object",
-              "description": "Files and directories to initialize/replace with content from other collections.",
-              "required": false,
-              "location": "query",
-              "properties": {},
-              "additionalProperties": {
-                "type": "string"
-              }
             }
           },
           "request": {
             "required": true,
             "properties": {
-              "collection": {
-                "$ref": "Collection"
+              "container": {
+                "$ref": "Container"
               }
             }
           },
           "response": {
-            "$ref": "Collection"
+            "$ref": "Container"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados"
           ]
         },
         "delete": {
-          "id": "arvados.collections.delete",
-          "path": "collections/{uuid}",
+          "id": "arvados.containers.delete",
+          "path": "containers/{uuid}",
           "httpMethod": "DELETE",
-          "description": "Delete an existing Collection.",
+          "description": "Delete an existing Container.",
           "parameters": {
             "uuid": {
               "type": "string",
-              "description": "The UUID of the Collection in question.",
+              "description": "The UUID of the Container in question.",
               "required": true,
               "location": "path"
             }
           },
           "response": {
-            "$ref": "Collection"
+            "$ref": "Container"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados"
           ]
         },
-        "provenance": {
-          "id": "arvados.collections.provenance",
-          "path": "collections/{uuid}/provenance",
-          "httpMethod": "GET",
-          "description": "provenance collections",
+        "auth": {
+          "id": "arvados.containers.auth",
+          "path": "containers/{uuid}/auth",
+          "httpMethod": "GET",
+          "description": "auth containers",
           "parameters": {
             "uuid": {
               "type": "string",
             }
           },
           "response": {
-            "$ref": "Collection"
+            "$ref": "Container"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados"
           ]
         },
-        "used_by": {
-          "id": "arvados.collections.used_by",
-          "path": "collections/{uuid}/used_by",
-          "httpMethod": "GET",
-          "description": "used_by collections",
+        "lock": {
+          "id": "arvados.containers.lock",
+          "path": "containers/{uuid}/lock",
+          "httpMethod": "POST",
+          "description": "lock containers",
           "parameters": {
             "uuid": {
               "type": "string",
             }
           },
           "response": {
-            "$ref": "Collection"
+            "$ref": "Container"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados"
           ]
         },
-        "trash": {
-          "id": "arvados.collections.trash",
-          "path": "collections/{uuid}/trash",
+        "unlock": {
+          "id": "arvados.containers.unlock",
+          "path": "containers/{uuid}/unlock",
           "httpMethod": "POST",
-          "description": "trash collections",
+          "description": "unlock containers",
           "parameters": {
             "uuid": {
               "type": "string",
             }
           },
           "response": {
-            "$ref": "Collection"
+            "$ref": "Container"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados"
           ]
         },
-        "untrash": {
-          "id": "arvados.collections.untrash",
-          "path": "collections/{uuid}/untrash",
+        "update_priority": {
+          "id": "arvados.containers.update_priority",
+          "path": "containers/{uuid}/update_priority",
           "httpMethod": "POST",
-          "description": "untrash collections",
+          "description": "update_priority containers",
           "parameters": {
             "uuid": {
               "type": "string",
             }
           },
           "response": {
-            "$ref": "Collection"
+            "$ref": "Container"
+          },
+          "scopes": [
+            "https://api.arvados.org/auth/arvados"
+          ]
+        },
+        "secret_mounts": {
+          "id": "arvados.containers.secret_mounts",
+          "path": "containers/{uuid}/secret_mounts",
+          "httpMethod": "GET",
+          "description": "secret_mounts containers",
+          "parameters": {
+            "uuid": {
+              "type": "string",
+              "description": "",
+              "required": true,
+              "location": "path"
+            }
+          },
+          "response": {
+            "$ref": "Container"
+          },
+          "scopes": [
+            "https://api.arvados.org/auth/arvados"
+          ]
+        },
+        "current": {
+          "id": "arvados.containers.current",
+          "path": "containers/current",
+          "httpMethod": "GET",
+          "description": "current containers",
+          "parameters": {},
+          "response": {
+            "$ref": "Container"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados"
           ]
         },
         "list": {
-          "id": "arvados.collections.list",
-          "path": "collections",
+          "id": "arvados.containers.list",
+          "path": "containers",
           "httpMethod": "GET",
-          "description": "List Collections.\n\n                   The <code>list</code> method returns a\n                   <a href=\"/api/resources.html\">resource list</a> of\n                   matching Collections. For example:\n\n                   <pre>\n                   {\n                    \"kind\":\"arvados#collectionList\",\n                    \"etag\":\"\",\n                    \"self_link\":\"\",\n                    \"next_page_token\":\"\",\n                    \"next_link\":\"\",\n                    \"items\":[\n                       ...\n                    ],\n                    \"items_available\":745,\n                    \"_profile\":{\n                     \"request_time\":0.157236317\n                    }\n                    </pre>",
+          "description": "List Containers.\n\n                   The <code>list</code> method returns a\n                   <a href=\"/api/resources.html\">resource list</a> of\n                   matching Containers. For example:\n\n                   <pre>\n                   {\n                    \"kind\":\"arvados#containerList\",\n                    \"etag\":\"\",\n                    \"self_link\":\"\",\n                    \"next_page_token\":\"\",\n                    \"next_link\":\"\",\n                    \"items\":[\n                       ...\n                    ],\n                    \"items_available\":745,\n                    \"_profile\":{\n                     \"request_time\":0.157236317\n                    }\n                    </pre>",
           "parameters": {
             "filters": {
               "type": "array",
               "required": false,
               "description": "bypass federation behavior, list items from local instance database only",
               "location": "query"
-            },
-            "include_trash": {
-              "type": "boolean",
-              "required": false,
-              "default": "false",
-              "description": "Include collections whose is_trashed attribute is true.",
-              "location": "query"
-            },
-            "include_old_versions": {
-              "type": "boolean",
-              "required": false,
-              "default": "false",
-              "description": "Include past collection versions.",
-              "location": "query"
             }
           },
           "response": {
-            "$ref": "CollectionList"
+            "$ref": "ContainerList"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados",
           ]
         },
         "show": {
-          "id": "arvados.collections.show",
-          "path": "collections/{uuid}",
+          "id": "arvados.containers.show",
+          "path": "containers/{uuid}",
           "httpMethod": "GET",
-          "description": "show collections",
+          "description": "show containers",
           "parameters": {
             "uuid": {
               "type": "string",
               "description": "Attributes of the object to return in the response.",
               "required": false,
               "location": "query"
-            },
-            "include_trash": {
-              "type": "boolean",
-              "required": false,
-              "default": "false",
-              "description": "Show collection even if its is_trashed attribute is true.",
-              "location": "query"
-            },
-            "include_old_versions": {
-              "type": "boolean",
-              "required": false,
-              "default": "true",
-              "description": "Include past collection versions.",
-              "location": "query"
             }
           },
           "response": {
-            "$ref": "Collection"
+            "$ref": "Container"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados"
           ]
         },
         "destroy": {
-          "id": "arvados.collections.destroy",
-          "path": "collections/{uuid}",
+          "id": "arvados.containers.destroy",
+          "path": "containers/{uuid}",
           "httpMethod": "DELETE",
-          "description": "destroy collections",
+          "description": "destroy containers",
           "parameters": {
             "uuid": {
               "type": "string",
             }
           },
           "response": {
-            "$ref": "Collection"
+            "$ref": "Container"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados"
         }
       }
     },
-    "containers": {
+    "container_requests": {
       "methods": {
         "get": {
-          "id": "arvados.containers.get",
-          "path": "containers/{uuid}",
+          "id": "arvados.container_requests.get",
+          "path": "container_requests/{uuid}",
           "httpMethod": "GET",
-          "description": "Gets a Container's metadata by UUID.",
+          "description": "Gets a ContainerRequest's metadata by UUID.",
           "parameters": {
             "uuid": {
               "type": "string",
-              "description": "The UUID of the Container in question.",
+              "description": "The UUID of the ContainerRequest in question.",
               "required": true,
               "location": "path"
             }
             "uuid"
           ],
           "response": {
-            "$ref": "Container"
+            "$ref": "ContainerRequest"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados",
           ]
         },
         "index": {
-          "id": "arvados.containers.list",
-          "path": "containers",
+          "id": "arvados.container_requests.list",
+          "path": "container_requests",
           "httpMethod": "GET",
-          "description": "List Containers.\n\n                   The <code>list</code> method returns a\n                   <a href=\"/api/resources.html\">resource list</a> of\n                   matching Containers. For example:\n\n                   <pre>\n                   {\n                    \"kind\":\"arvados#containerList\",\n                    \"etag\":\"\",\n                    \"self_link\":\"\",\n                    \"next_page_token\":\"\",\n                    \"next_link\":\"\",\n                    \"items\":[\n                       ...\n                    ],\n                    \"items_available\":745,\n                    \"_profile\":{\n                     \"request_time\":0.157236317\n                    }\n                    </pre>",
+          "description": "List ContainerRequests.\n\n                   The <code>list</code> method returns a\n                   <a href=\"/api/resources.html\">resource list</a> of\n                   matching ContainerRequests. For example:\n\n                   <pre>\n                   {\n                    \"kind\":\"arvados#containerRequestList\",\n                    \"etag\":\"\",\n                    \"self_link\":\"\",\n                    \"next_page_token\":\"\",\n                    \"next_link\":\"\",\n                    \"items\":[\n                       ...\n                    ],\n                    \"items_available\":745,\n                    \"_profile\":{\n                     \"request_time\":0.157236317\n                    }\n                    </pre>",
           "parameters": {
             "filters": {
               "type": "array",
               "required": false,
               "description": "bypass federation behavior, list items from local instance database only",
               "location": "query"
+            },
+            "include_trash": {
+              "type": "boolean",
+              "required": false,
+              "default": "false",
+              "description": "Include container requests whose owner project is trashed.",
+              "location": "query"
             }
           },
           "response": {
-            "$ref": "ContainerList"
+            "$ref": "ContainerRequestList"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados",
           ]
         },
         "create": {
-          "id": "arvados.containers.create",
-          "path": "containers",
+          "id": "arvados.container_requests.create",
+          "path": "container_requests",
           "httpMethod": "POST",
-          "description": "Create a new Container.",
+          "description": "Create a new ContainerRequest.",
           "parameters": {
             "select": {
               "type": "array",
           "request": {
             "required": true,
             "properties": {
-              "container": {
-                "$ref": "Container"
+              "container_request": {
+                "$ref": "ContainerRequest"
               }
             }
           },
           "response": {
-            "$ref": "Container"
+            "$ref": "ContainerRequest"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados"
           ]
         },
         "update": {
-          "id": "arvados.containers.update",
-          "path": "containers/{uuid}",
+          "id": "arvados.container_requests.update",
+          "path": "container_requests/{uuid}",
           "httpMethod": "PUT",
-          "description": "Update attributes of an existing Container.",
+          "description": "Update attributes of an existing ContainerRequest.",
           "parameters": {
             "uuid": {
               "type": "string",
-              "description": "The UUID of the Container in question.",
+              "description": "The UUID of the ContainerRequest in question.",
               "required": true,
               "location": "path"
             },
           "request": {
             "required": true,
             "properties": {
-              "container": {
-                "$ref": "Container"
+              "container_request": {
+                "$ref": "ContainerRequest"
               }
             }
           },
           "response": {
-            "$ref": "Container"
+            "$ref": "ContainerRequest"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados"
           ]
         },
         "delete": {
-          "id": "arvados.containers.delete",
-          "path": "containers/{uuid}",
+          "id": "arvados.container_requests.delete",
+          "path": "container_requests/{uuid}",
           "httpMethod": "DELETE",
-          "description": "Delete an existing Container.",
+          "description": "Delete an existing ContainerRequest.",
           "parameters": {
             "uuid": {
               "type": "string",
-              "description": "The UUID of the Container in question.",
+              "description": "The UUID of the ContainerRequest in question.",
               "required": true,
               "location": "path"
             }
           },
           "response": {
-            "$ref": "Container"
+            "$ref": "ContainerRequest"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados"
           ]
         },
-        "auth": {
-          "id": "arvados.containers.auth",
-          "path": "containers/{uuid}/auth",
+        "container_status": {
+          "id": "arvados.container_requests.container_status",
+          "path": "container_requests/{uuid}/container_status",
           "httpMethod": "GET",
-          "description": "auth containers",
+          "description": "container_status container_requests",
           "parameters": {
             "uuid": {
               "type": "string",
-              "description": "",
               "required": true,
-              "location": "path"
+              "description": "The UUID of the ContainerRequest in question.",
+              "location": "query"
             }
           },
           "response": {
-            "$ref": "Container"
+            "$ref": "ContainerRequest"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados"
           ]
         },
-        "lock": {
-          "id": "arvados.containers.lock",
-          "path": "containers/{uuid}/lock",
-          "httpMethod": "POST",
-          "description": "lock containers",
+        "list": {
+          "id": "arvados.container_requests.list",
+          "path": "container_requests",
+          "httpMethod": "GET",
+          "description": "List ContainerRequests.\n\n                   The <code>list</code> method returns a\n                   <a href=\"/api/resources.html\">resource list</a> of\n                   matching ContainerRequests. For example:\n\n                   <pre>\n                   {\n                    \"kind\":\"arvados#containerRequestList\",\n                    \"etag\":\"\",\n                    \"self_link\":\"\",\n                    \"next_page_token\":\"\",\n                    \"next_link\":\"\",\n                    \"items\":[\n                       ...\n                    ],\n                    \"items_available\":745,\n                    \"_profile\":{\n                     \"request_time\":0.157236317\n                    }\n                    </pre>",
           "parameters": {
-            "uuid": {
-              "type": "string",
+            "filters": {
+              "type": "array",
+              "required": false,
               "description": "",
-              "required": true,
-              "location": "path"
-            }
-          },
-          "response": {
-            "$ref": "Container"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados"
-          ]
-        },
-        "unlock": {
-          "id": "arvados.containers.unlock",
-          "path": "containers/{uuid}/unlock",
-          "httpMethod": "POST",
-          "description": "unlock containers",
-          "parameters": {
-            "uuid": {
-              "type": "string",
-              "description": "",
-              "required": true,
-              "location": "path"
-            }
-          },
-          "response": {
-            "$ref": "Container"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados"
-          ]
-        },
-        "update_priority": {
-          "id": "arvados.containers.update_priority",
-          "path": "containers/{uuid}/update_priority",
-          "httpMethod": "POST",
-          "description": "update_priority containers",
-          "parameters": {
-            "uuid": {
-              "type": "string",
-              "description": "",
-              "required": true,
-              "location": "path"
-            }
-          },
-          "response": {
-            "$ref": "Container"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados"
-          ]
-        },
-        "secret_mounts": {
-          "id": "arvados.containers.secret_mounts",
-          "path": "containers/{uuid}/secret_mounts",
-          "httpMethod": "GET",
-          "description": "secret_mounts containers",
-          "parameters": {
-            "uuid": {
-              "type": "string",
-              "description": "",
-              "required": true,
-              "location": "path"
-            }
-          },
-          "response": {
-            "$ref": "Container"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados"
-          ]
-        },
-        "current": {
-          "id": "arvados.containers.current",
-          "path": "containers/current",
-          "httpMethod": "GET",
-          "description": "current containers",
-          "parameters": {},
-          "response": {
-            "$ref": "Container"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados"
-          ]
-        },
-        "list": {
-          "id": "arvados.containers.list",
-          "path": "containers",
-          "httpMethod": "GET",
-          "description": "List Containers.\n\n                   The <code>list</code> method returns a\n                   <a href=\"/api/resources.html\">resource list</a> of\n                   matching Containers. For example:\n\n                   <pre>\n                   {\n                    \"kind\":\"arvados#containerList\",\n                    \"etag\":\"\",\n                    \"self_link\":\"\",\n                    \"next_page_token\":\"\",\n                    \"next_link\":\"\",\n                    \"items\":[\n                       ...\n                    ],\n                    \"items_available\":745,\n                    \"_profile\":{\n                     \"request_time\":0.157236317\n                    }\n                    </pre>",
-          "parameters": {
-            "filters": {
-              "type": "array",
-              "required": false,
-              "description": "",
-              "location": "query"
-            },
-            "where": {
-              "type": "object",
-              "required": false,
+              "location": "query"
+            },
+            "where": {
+              "type": "object",
+              "required": false,
               "description": "",
               "location": "query"
             },
               "required": false,
               "description": "bypass federation behavior, list items from local instance database only",
               "location": "query"
+            },
+            "include_trash": {
+              "type": "boolean",
+              "required": false,
+              "default": "false",
+              "description": "Include container requests whose owner project is trashed.",
+              "location": "query"
             }
           },
           "response": {
-            "$ref": "ContainerList"
+            "$ref": "ContainerRequestList"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados",
           ]
         },
         "show": {
-          "id": "arvados.containers.show",
-          "path": "containers/{uuid}",
+          "id": "arvados.container_requests.show",
+          "path": "container_requests/{uuid}",
           "httpMethod": "GET",
-          "description": "show containers",
+          "description": "show container_requests",
           "parameters": {
             "uuid": {
               "type": "string",
               "description": "Attributes of the object to return in the response.",
               "required": false,
               "location": "query"
+            },
+            "include_trash": {
+              "type": "boolean",
+              "required": false,
+              "default": "false",
+              "description": "Show container request even if its owner project is trashed.",
+              "location": "query"
             }
           },
           "response": {
-            "$ref": "Container"
+            "$ref": "ContainerRequest"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados"
           ]
         },
         "destroy": {
-          "id": "arvados.containers.destroy",
-          "path": "containers/{uuid}",
+          "id": "arvados.container_requests.destroy",
+          "path": "container_requests/{uuid}",
           "httpMethod": "DELETE",
-          "description": "destroy containers",
+          "description": "destroy container_requests",
           "parameters": {
             "uuid": {
               "type": "string",
             }
           },
           "response": {
-            "$ref": "Container"
+            "$ref": "ContainerRequest"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados"
         }
       }
     },
-    "container_requests": {
+    "groups": {
       "methods": {
         "get": {
-          "id": "arvados.container_requests.get",
-          "path": "container_requests/{uuid}",
+          "id": "arvados.groups.get",
+          "path": "groups/{uuid}",
           "httpMethod": "GET",
-          "description": "Gets a ContainerRequest's metadata by UUID.",
+          "description": "Gets a Group's metadata by UUID.",
           "parameters": {
             "uuid": {
               "type": "string",
-              "description": "The UUID of the ContainerRequest in question.",
+              "description": "The UUID of the Group in question.",
               "required": true,
               "location": "path"
             }
             "uuid"
           ],
           "response": {
-            "$ref": "ContainerRequest"
+            "$ref": "Group"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados",
           ]
         },
         "index": {
-          "id": "arvados.container_requests.list",
-          "path": "container_requests",
+          "id": "arvados.groups.list",
+          "path": "groups",
           "httpMethod": "GET",
-          "description": "List ContainerRequests.\n\n                   The <code>list</code> method returns a\n                   <a href=\"/api/resources.html\">resource list</a> of\n                   matching ContainerRequests. For example:\n\n                   <pre>\n                   {\n                    \"kind\":\"arvados#containerRequestList\",\n                    \"etag\":\"\",\n                    \"self_link\":\"\",\n                    \"next_page_token\":\"\",\n                    \"next_link\":\"\",\n                    \"items\":[\n                       ...\n                    ],\n                    \"items_available\":745,\n                    \"_profile\":{\n                     \"request_time\":0.157236317\n                    }\n                    </pre>",
+          "description": "List Groups.\n\n                   The <code>list</code> method returns a\n                   <a href=\"/api/resources.html\">resource list</a> of\n                   matching Groups. For example:\n\n                   <pre>\n                   {\n                    \"kind\":\"arvados#groupList\",\n                    \"etag\":\"\",\n                    \"self_link\":\"\",\n                    \"next_page_token\":\"\",\n                    \"next_link\":\"\",\n                    \"items\":[\n                       ...\n                    ],\n                    \"items_available\":745,\n                    \"_profile\":{\n                     \"request_time\":0.157236317\n                    }\n                    </pre>",
           "parameters": {
             "filters": {
               "type": "array",
               "type": "boolean",
               "required": false,
               "default": "false",
-              "description": "Include container requests whose owner project is trashed.",
+              "description": "Include items whose is_trashed attribute is true.",
               "location": "query"
             }
           },
           "response": {
-            "$ref": "ContainerRequestList"
+            "$ref": "GroupList"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados",
           ]
         },
         "create": {
-          "id": "arvados.container_requests.create",
-          "path": "container_requests",
+          "id": "arvados.groups.create",
+          "path": "groups",
           "httpMethod": "POST",
-          "description": "Create a new ContainerRequest.",
+          "description": "Create a new Group.",
           "parameters": {
             "select": {
               "type": "array",
               "description": "Create object on a remote federated cluster instead of the current one.",
               "location": "query",
               "required": false
+            },
+            "async": {
+              "required": false,
+              "type": "boolean",
+              "location": "query",
+              "default": "false",
+              "description": "defer permissions update"
             }
           },
           "request": {
             "required": true,
             "properties": {
-              "container_request": {
-                "$ref": "ContainerRequest"
+              "group": {
+                "$ref": "Group"
               }
             }
           },
           "response": {
-            "$ref": "ContainerRequest"
+            "$ref": "Group"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados"
           ]
         },
         "update": {
-          "id": "arvados.container_requests.update",
-          "path": "container_requests/{uuid}",
+          "id": "arvados.groups.update",
+          "path": "groups/{uuid}",
           "httpMethod": "PUT",
-          "description": "Update attributes of an existing ContainerRequest.",
+          "description": "Update attributes of an existing Group.",
           "parameters": {
             "uuid": {
               "type": "string",
-              "description": "The UUID of the ContainerRequest in question.",
+              "description": "The UUID of the Group in question.",
               "required": true,
               "location": "path"
             },
               "description": "Attributes of the updated object to return in the response.",
               "required": false,
               "location": "query"
+            },
+            "async": {
+              "required": false,
+              "type": "boolean",
+              "location": "query",
+              "default": "false",
+              "description": "defer permissions update"
             }
           },
           "request": {
             "required": true,
             "properties": {
-              "container_request": {
-                "$ref": "ContainerRequest"
+              "group": {
+                "$ref": "Group"
               }
             }
           },
           "response": {
-            "$ref": "ContainerRequest"
+            "$ref": "Group"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados"
           ]
         },
         "delete": {
-          "id": "arvados.container_requests.delete",
-          "path": "container_requests/{uuid}",
+          "id": "arvados.groups.delete",
+          "path": "groups/{uuid}",
           "httpMethod": "DELETE",
-          "description": "Delete an existing ContainerRequest.",
+          "description": "Delete an existing Group.",
           "parameters": {
             "uuid": {
               "type": "string",
-              "description": "The UUID of the ContainerRequest in question.",
+              "description": "The UUID of the Group in question.",
               "required": true,
               "location": "path"
             }
           },
           "response": {
-            "$ref": "ContainerRequest"
+            "$ref": "Group"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados"
           ]
         },
-        "list": {
-          "id": "arvados.container_requests.list",
-          "path": "container_requests",
+        "contents": {
+          "id": "arvados.groups.contents",
+          "path": "groups/contents",
           "httpMethod": "GET",
-          "description": "List ContainerRequests.\n\n                   The <code>list</code> method returns a\n                   <a href=\"/api/resources.html\">resource list</a> of\n                   matching ContainerRequests. For example:\n\n                   <pre>\n                   {\n                    \"kind\":\"arvados#containerRequestList\",\n                    \"etag\":\"\",\n                    \"self_link\":\"\",\n                    \"next_page_token\":\"\",\n                    \"next_link\":\"\",\n                    \"items\":[\n                       ...\n                    ],\n                    \"items_available\":745,\n                    \"_profile\":{\n                     \"request_time\":0.157236317\n                    }\n                    </pre>",
+          "description": "contents groups",
           "parameters": {
             "filters": {
               "type": "array",
               "type": "boolean",
               "required": false,
               "default": "false",
-              "description": "Include container requests whose owner project is trashed.",
+              "description": "Include items whose is_trashed attribute is true.",
               "location": "query"
-            }
-          },
-          "response": {
-            "$ref": "ContainerRequestList"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados",
-            "https://api.arvados.org/auth/arvados.readonly"
-          ]
-        },
-        "show": {
-          "id": "arvados.container_requests.show",
-          "path": "container_requests/{uuid}",
-          "httpMethod": "GET",
-          "description": "show container_requests",
-          "parameters": {
+            },
             "uuid": {
               "type": "string",
+              "required": false,
+              "default": "",
               "description": "",
-              "required": true,
-              "location": "path"
+              "location": "query"
             },
-            "select": {
-              "type": "array",
-              "description": "Attributes of the object to return in the response.",
+            "recursive": {
+              "type": "boolean",
               "required": false,
+              "default": "false",
+              "description": "Include contents from child groups recursively.",
               "location": "query"
             },
-            "include_trash": {
+            "include": {
+              "type": "string",
+              "required": false,
+              "description": "Include objects referred to by listed field in \"included\" (only owner_uuid).",
+              "location": "query"
+            },
+            "include_old_versions": {
               "type": "boolean",
               "required": false,
               "default": "false",
-              "description": "Show container request even if its owner project is trashed.",
+              "description": "Include past collection versions.",
               "location": "query"
             }
           },
           "response": {
-            "$ref": "ContainerRequest"
+            "$ref": "Group"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados"
           ]
         },
-        "destroy": {
-          "id": "arvados.container_requests.destroy",
-          "path": "container_requests/{uuid}",
-          "httpMethod": "DELETE",
-          "description": "destroy container_requests",
-          "parameters": {
-            "uuid": {
-              "type": "string",
-              "description": "",
-              "required": true,
-              "location": "path"
-            }
-          },
-          "response": {
-            "$ref": "ContainerRequest"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados"
-          ]
-        }
-      }
-    },
-    "groups": {
-      "methods": {
-        "get": {
-          "id": "arvados.groups.get",
-          "path": "groups/{uuid}",
+        "shared": {
+          "id": "arvados.groups.shared",
+          "path": "groups/shared",
           "httpMethod": "GET",
-          "description": "Gets a Group's metadata by UUID.",
-          "parameters": {
-            "uuid": {
-              "type": "string",
-              "description": "The UUID of the Group in question.",
-              "required": true,
-              "location": "path"
-            }
-          },
-          "parameterOrder": [
-            "uuid"
-          ],
-          "response": {
-            "$ref": "Group"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados",
-            "https://api.arvados.org/auth/arvados.readonly"
-          ]
-        },
-        "index": {
-          "id": "arvados.groups.list",
-          "path": "groups",
-          "httpMethod": "GET",
-          "description": "List Groups.\n\n                   The <code>list</code> method returns a\n                   <a href=\"/api/resources.html\">resource list</a> of\n                   matching Groups. For example:\n\n                   <pre>\n                   {\n                    \"kind\":\"arvados#groupList\",\n                    \"etag\":\"\",\n                    \"self_link\":\"\",\n                    \"next_page_token\":\"\",\n                    \"next_link\":\"\",\n                    \"items\":[\n                       ...\n                    ],\n                    \"items_available\":745,\n                    \"_profile\":{\n                     \"request_time\":0.157236317\n                    }\n                    </pre>",
+          "description": "shared groups",
           "parameters": {
             "filters": {
               "type": "array",
               "default": "false",
               "description": "Include items whose is_trashed attribute is true.",
               "location": "query"
-            }
-          },
-          "response": {
-            "$ref": "GroupList"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados",
-            "https://api.arvados.org/auth/arvados.readonly"
-          ]
-        },
-        "create": {
-          "id": "arvados.groups.create",
-          "path": "groups",
-          "httpMethod": "POST",
-          "description": "Create a new Group.",
-          "parameters": {
-            "select": {
-              "type": "array",
-              "description": "Attributes of the new object to return in the response.",
-              "required": false,
-              "location": "query"
-            },
-            "ensure_unique_name": {
-              "type": "boolean",
-              "description": "Adjust name to ensure uniqueness instead of returning an error on (owner_uuid, name) collision.",
-              "location": "query",
-              "required": false,
-              "default": "false"
             },
-            "cluster_id": {
+            "include": {
               "type": "string",
-              "description": "Create object on a remote federated cluster instead of the current one.",
-              "location": "query",
-              "required": false
-            },
-            "async": {
               "required": false,
-              "type": "boolean",
-              "location": "query",
-              "default": "false",
-              "description": "defer permissions update"
-            }
-          },
-          "request": {
-            "required": true,
-            "properties": {
-              "group": {
-                "$ref": "Group"
-              }
+              "description": "",
+              "location": "query"
             }
           },
           "response": {
             "https://api.arvados.org/auth/arvados"
           ]
         },
-        "update": {
-          "id": "arvados.groups.update",
-          "path": "groups/{uuid}",
-          "httpMethod": "PUT",
-          "description": "Update attributes of an existing Group.",
+        "trash": {
+          "id": "arvados.groups.trash",
+          "path": "groups/{uuid}/trash",
+          "httpMethod": "POST",
+          "description": "trash groups",
           "parameters": {
             "uuid": {
               "type": "string",
-              "description": "The UUID of the Group in question.",
+              "description": "",
               "required": true,
               "location": "path"
-            },
-            "select": {
-              "type": "array",
-              "description": "Attributes of the updated object to return in the response.",
-              "required": false,
-              "location": "query"
-            },
-            "async": {
-              "required": false,
-              "type": "boolean",
-              "location": "query",
-              "default": "false",
-              "description": "defer permissions update"
-            }
-          },
-          "request": {
-            "required": true,
-            "properties": {
-              "group": {
-                "$ref": "Group"
-              }
             }
           },
           "response": {
             "https://api.arvados.org/auth/arvados"
           ]
         },
-        "delete": {
-          "id": "arvados.groups.delete",
-          "path": "groups/{uuid}",
-          "httpMethod": "DELETE",
-          "description": "Delete an existing Group.",
+        "untrash": {
+          "id": "arvados.groups.untrash",
+          "path": "groups/{uuid}/untrash",
+          "httpMethod": "POST",
+          "description": "untrash groups",
           "parameters": {
             "uuid": {
               "type": "string",
-              "description": "The UUID of the Group in question.",
+              "description": "",
               "required": true,
               "location": "path"
             }
             "https://api.arvados.org/auth/arvados"
           ]
         },
-        "contents": {
-          "id": "arvados.groups.contents",
-          "path": "groups/contents",
+        "list": {
+          "id": "arvados.groups.list",
+          "path": "groups",
           "httpMethod": "GET",
-          "description": "contents groups",
+          "description": "List Groups.\n\n                   The <code>list</code> method returns a\n                   <a href=\"/api/resources.html\">resource list</a> of\n                   matching Groups. For example:\n\n                   <pre>\n                   {\n                    \"kind\":\"arvados#groupList\",\n                    \"etag\":\"\",\n                    \"self_link\":\"\",\n                    \"next_page_token\":\"\",\n                    \"next_link\":\"\",\n                    \"items\":[\n                       ...\n                    ],\n                    \"items_available\":745,\n                    \"_profile\":{\n                     \"request_time\":0.157236317\n                    }\n                    </pre>",
           "parameters": {
             "filters": {
               "type": "array",
               "description": "",
               "location": "query"
             },
+            "select": {
+              "type": "array",
+              "description": "Attributes of each object to return in the response.",
+              "required": false,
+              "location": "query"
+            },
             "distinct": {
               "type": "boolean",
               "required": false,
               "default": "false",
               "description": "Include items whose is_trashed attribute is true.",
               "location": "query"
-            },
+            }
+          },
+          "response": {
+            "$ref": "GroupList"
+          },
+          "scopes": [
+            "https://api.arvados.org/auth/arvados",
+            "https://api.arvados.org/auth/arvados.readonly"
+          ]
+        },
+        "show": {
+          "id": "arvados.groups.show",
+          "path": "groups/{uuid}",
+          "httpMethod": "GET",
+          "description": "show groups",
+          "parameters": {
             "uuid": {
               "type": "string",
-              "required": false,
-              "default": "",
               "description": "",
-              "location": "query"
-            },
-            "recursive": {
-              "type": "boolean",
-              "required": false,
-              "default": "false",
-              "description": "Include contents from child groups recursively.",
-              "location": "query"
+              "required": true,
+              "location": "path"
             },
-            "include": {
-              "type": "string",
+            "select": {
+              "type": "array",
+              "description": "Attributes of the object to return in the response.",
               "required": false,
-              "description": "Include objects referred to by listed field in \"included\" (only owner_uuid).",
               "location": "query"
             },
-            "include_old_versions": {
+            "include_trash": {
               "type": "boolean",
               "required": false,
               "default": "false",
-              "description": "Include past collection versions.",
+              "description": "Show group/project even if its is_trashed attribute is true.",
               "location": "query"
             }
           },
             "https://api.arvados.org/auth/arvados"
           ]
         },
-        "shared": {
-          "id": "arvados.groups.shared",
-          "path": "groups/shared",
+        "destroy": {
+          "id": "arvados.groups.destroy",
+          "path": "groups/{uuid}",
+          "httpMethod": "DELETE",
+          "description": "destroy groups",
+          "parameters": {
+            "uuid": {
+              "type": "string",
+              "description": "",
+              "required": true,
+              "location": "path"
+            }
+          },
+          "response": {
+            "$ref": "Group"
+          },
+          "scopes": [
+            "https://api.arvados.org/auth/arvados"
+          ]
+        }
+      }
+    },
+    "keep_services": {
+      "methods": {
+        "get": {
+          "id": "arvados.keep_services.get",
+          "path": "keep_services/{uuid}",
           "httpMethod": "GET",
-          "description": "shared groups",
+          "description": "Gets a KeepService's metadata by UUID.",
+          "parameters": {
+            "uuid": {
+              "type": "string",
+              "description": "The UUID of the KeepService in question.",
+              "required": true,
+              "location": "path"
+            }
+          },
+          "parameterOrder": [
+            "uuid"
+          ],
+          "response": {
+            "$ref": "KeepService"
+          },
+          "scopes": [
+            "https://api.arvados.org/auth/arvados",
+            "https://api.arvados.org/auth/arvados.readonly"
+          ]
+        },
+        "index": {
+          "id": "arvados.keep_services.list",
+          "path": "keep_services",
+          "httpMethod": "GET",
+          "description": "List KeepServices.\n\n                   The <code>list</code> method returns a\n                   <a href=\"/api/resources.html\">resource list</a> of\n                   matching KeepServices. For example:\n\n                   <pre>\n                   {\n                    \"kind\":\"arvados#keepServiceList\",\n                    \"etag\":\"\",\n                    \"self_link\":\"\",\n                    \"next_page_token\":\"\",\n                    \"next_link\":\"\",\n                    \"items\":[\n                       ...\n                    ],\n                    \"items_available\":745,\n                    \"_profile\":{\n                     \"request_time\":0.157236317\n                    }\n                    </pre>",
           "parameters": {
             "filters": {
               "type": "array",
               "required": false,
               "description": "bypass federation behavior, list items from local instance database only",
               "location": "query"
-            },
-            "include_trash": {
-              "type": "boolean",
-              "required": false,
-              "default": "false",
-              "description": "Include items whose is_trashed attribute is true.",
-              "location": "query"
-            },
-            "include": {
-              "type": "string",
-              "required": false,
-              "description": "",
-              "location": "query"
             }
           },
           "response": {
-            "$ref": "Group"
+            "$ref": "KeepServiceList"
           },
           "scopes": [
-            "https://api.arvados.org/auth/arvados"
+            "https://api.arvados.org/auth/arvados",
+            "https://api.arvados.org/auth/arvados.readonly"
           ]
         },
-        "trash": {
-          "id": "arvados.groups.trash",
-          "path": "groups/{uuid}/trash",
+        "create": {
+          "id": "arvados.keep_services.create",
+          "path": "keep_services",
           "httpMethod": "POST",
-          "description": "trash groups",
+          "description": "Create a new KeepService.",
           "parameters": {
-            "uuid": {
-              "type": "string",
-              "description": "",
-              "required": true,
-              "location": "path"
-            }
-          },
-          "response": {
-            "$ref": "Group"
-          },
-          "scopes": [
+            "select": {
+              "type": "array",
+              "description": "Attributes of the new object to return in the response.",
+              "required": false,
+              "location": "query"
+            },
+            "ensure_unique_name": {
+              "type": "boolean",
+              "description": "Adjust name to ensure uniqueness instead of returning an error on (owner_uuid, name) collision.",
+              "location": "query",
+              "required": false,
+              "default": "false"
+            },
+            "cluster_id": {
+              "type": "string",
+              "description": "Create object on a remote federated cluster instead of the current one.",
+              "location": "query",
+              "required": false
+            }
+          },
+          "request": {
+            "required": true,
+            "properties": {
+              "keep_service": {
+                "$ref": "KeepService"
+              }
+            }
+          },
+          "response": {
+            "$ref": "KeepService"
+          },
+          "scopes": [
             "https://api.arvados.org/auth/arvados"
           ]
         },
-        "untrash": {
-          "id": "arvados.groups.untrash",
-          "path": "groups/{uuid}/untrash",
-          "httpMethod": "POST",
-          "description": "untrash groups",
+        "update": {
+          "id": "arvados.keep_services.update",
+          "path": "keep_services/{uuid}",
+          "httpMethod": "PUT",
+          "description": "Update attributes of an existing KeepService.",
           "parameters": {
             "uuid": {
               "type": "string",
-              "description": "",
+              "description": "The UUID of the KeepService in question.",
               "required": true,
               "location": "path"
+            },
+            "select": {
+              "type": "array",
+              "description": "Attributes of the updated object to return in the response.",
+              "required": false,
+              "location": "query"
+            }
+          },
+          "request": {
+            "required": true,
+            "properties": {
+              "keep_service": {
+                "$ref": "KeepService"
+              }
             }
           },
           "response": {
-            "$ref": "Group"
+            "$ref": "KeepService"
+          },
+          "scopes": [
+            "https://api.arvados.org/auth/arvados"
+          ]
+        },
+        "delete": {
+          "id": "arvados.keep_services.delete",
+          "path": "keep_services/{uuid}",
+          "httpMethod": "DELETE",
+          "description": "Delete an existing KeepService.",
+          "parameters": {
+            "uuid": {
+              "type": "string",
+              "description": "The UUID of the KeepService in question.",
+              "required": true,
+              "location": "path"
+            }
+          },
+          "response": {
+            "$ref": "KeepService"
+          },
+          "scopes": [
+            "https://api.arvados.org/auth/arvados"
+          ]
+        },
+        "accessible": {
+          "id": "arvados.keep_services.accessible",
+          "path": "keep_services/accessible",
+          "httpMethod": "GET",
+          "description": "accessible keep_services",
+          "parameters": {},
+          "response": {
+            "$ref": "KeepService"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados"
           ]
         },
         "list": {
-          "id": "arvados.groups.list",
-          "path": "groups",
+          "id": "arvados.keep_services.list",
+          "path": "keep_services",
           "httpMethod": "GET",
-          "description": "List Groups.\n\n                   The <code>list</code> method returns a\n                   <a href=\"/api/resources.html\">resource list</a> of\n                   matching Groups. For example:\n\n                   <pre>\n                   {\n                    \"kind\":\"arvados#groupList\",\n                    \"etag\":\"\",\n                    \"self_link\":\"\",\n                    \"next_page_token\":\"\",\n                    \"next_link\":\"\",\n                    \"items\":[\n                       ...\n                    ],\n                    \"items_available\":745,\n                    \"_profile\":{\n                     \"request_time\":0.157236317\n                    }\n                    </pre>",
+          "description": "List KeepServices.\n\n                   The <code>list</code> method returns a\n                   <a href=\"/api/resources.html\">resource list</a> of\n                   matching KeepServices. For example:\n\n                   <pre>\n                   {\n                    \"kind\":\"arvados#keepServiceList\",\n                    \"etag\":\"\",\n                    \"self_link\":\"\",\n                    \"next_page_token\":\"\",\n                    \"next_link\":\"\",\n                    \"items\":[\n                       ...\n                    ],\n                    \"items_available\":745,\n                    \"_profile\":{\n                     \"request_time\":0.157236317\n                    }\n                    </pre>",
           "parameters": {
             "filters": {
               "type": "array",
               "required": false,
               "description": "bypass federation behavior, list items from local instance database only",
               "location": "query"
-            },
-            "include_trash": {
-              "type": "boolean",
-              "required": false,
-              "default": "false",
-              "description": "Include items whose is_trashed attribute is true.",
-              "location": "query"
             }
           },
           "response": {
-            "$ref": "GroupList"
+            "$ref": "KeepServiceList"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados",
           ]
         },
         "show": {
-          "id": "arvados.groups.show",
-          "path": "groups/{uuid}",
+          "id": "arvados.keep_services.show",
+          "path": "keep_services/{uuid}",
           "httpMethod": "GET",
-          "description": "show groups",
+          "description": "show keep_services",
           "parameters": {
             "uuid": {
               "type": "string",
               "description": "Attributes of the object to return in the response.",
               "required": false,
               "location": "query"
-            },
-            "include_trash": {
-              "type": "boolean",
-              "required": false,
-              "default": "false",
-              "description": "Show group/project even if its is_trashed attribute is true.",
-              "location": "query"
             }
           },
           "response": {
-            "$ref": "Group"
+            "$ref": "KeepService"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados"
           ]
         },
         "destroy": {
-          "id": "arvados.groups.destroy",
-          "path": "groups/{uuid}",
+          "id": "arvados.keep_services.destroy",
+          "path": "keep_services/{uuid}",
           "httpMethod": "DELETE",
-          "description": "destroy groups",
+          "description": "destroy keep_services",
           "parameters": {
             "uuid": {
               "type": "string",
             }
           },
           "response": {
-            "$ref": "Group"
+            "$ref": "KeepService"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados"
         }
       }
     },
-    "humans": {
+    "links": {
       "methods": {
         "get": {
-          "id": "arvados.humans.get",
-          "path": "humans/{uuid}",
+          "id": "arvados.links.get",
+          "path": "links/{uuid}",
           "httpMethod": "GET",
-          "description": "Gets a Human's metadata by UUID.",
+          "description": "Gets a Link's metadata by UUID.",
           "parameters": {
             "uuid": {
               "type": "string",
-              "description": "The UUID of the Human in question.",
+              "description": "The UUID of the Link in question.",
               "required": true,
               "location": "path"
             }
             "uuid"
           ],
           "response": {
-            "$ref": "Human"
+            "$ref": "Link"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados",
           ]
         },
         "index": {
-          "id": "arvados.humans.list",
-          "path": "humans",
+          "id": "arvados.links.list",
+          "path": "links",
           "httpMethod": "GET",
-          "description": "List Humans.\n\n                   The <code>list</code> method returns a\n                   <a href=\"/api/resources.html\">resource list</a> of\n                   matching Humans. For example:\n\n                   <pre>\n                   {\n                    \"kind\":\"arvados#humanList\",\n                    \"etag\":\"\",\n                    \"self_link\":\"\",\n                    \"next_page_token\":\"\",\n                    \"next_link\":\"\",\n                    \"items\":[\n                       ...\n                    ],\n                    \"items_available\":745,\n                    \"_profile\":{\n                     \"request_time\":0.157236317\n                    }\n                    </pre>",
+          "description": "List Links.\n\n                   The <code>list</code> method returns a\n                   <a href=\"/api/resources.html\">resource list</a> of\n                   matching Links. For example:\n\n                   <pre>\n                   {\n                    \"kind\":\"arvados#linkList\",\n                    \"etag\":\"\",\n                    \"self_link\":\"\",\n                    \"next_page_token\":\"\",\n                    \"next_link\":\"\",\n                    \"items\":[\n                       ...\n                    ],\n                    \"items_available\":745,\n                    \"_profile\":{\n                     \"request_time\":0.157236317\n                    }\n                    </pre>",
           "parameters": {
             "filters": {
               "type": "array",
             }
           },
           "response": {
-            "$ref": "HumanList"
+            "$ref": "LinkList"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados",
           ]
         },
         "create": {
-          "id": "arvados.humans.create",
-          "path": "humans",
+          "id": "arvados.links.create",
+          "path": "links",
           "httpMethod": "POST",
-          "description": "Create a new Human.",
+          "description": "Create a new Link.",
           "parameters": {
             "select": {
               "type": "array",
           "request": {
             "required": true,
             "properties": {
-              "human": {
-                "$ref": "Human"
+              "link": {
+                "$ref": "Link"
               }
             }
           },
           "response": {
-            "$ref": "Human"
+            "$ref": "Link"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados"
           ]
         },
         "update": {
-          "id": "arvados.humans.update",
-          "path": "humans/{uuid}",
+          "id": "arvados.links.update",
+          "path": "links/{uuid}",
           "httpMethod": "PUT",
-          "description": "Update attributes of an existing Human.",
+          "description": "Update attributes of an existing Link.",
           "parameters": {
             "uuid": {
               "type": "string",
-              "description": "The UUID of the Human in question.",
+              "description": "The UUID of the Link in question.",
               "required": true,
               "location": "path"
             },
           "request": {
             "required": true,
             "properties": {
-              "human": {
-                "$ref": "Human"
+              "link": {
+                "$ref": "Link"
               }
             }
           },
           "response": {
-            "$ref": "Human"
+            "$ref": "Link"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados"
           ]
         },
         "delete": {
-          "id": "arvados.humans.delete",
-          "path": "humans/{uuid}",
+          "id": "arvados.links.delete",
+          "path": "links/{uuid}",
           "httpMethod": "DELETE",
-          "description": "Delete an existing Human.",
+          "description": "Delete an existing Link.",
           "parameters": {
             "uuid": {
               "type": "string",
-              "description": "The UUID of the Human in question.",
+              "description": "The UUID of the Link in question.",
               "required": true,
               "location": "path"
             }
           },
           "response": {
-            "$ref": "Human"
+            "$ref": "Link"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados"
           ]
         },
         "list": {
-          "id": "arvados.humans.list",
-          "path": "humans",
+          "id": "arvados.links.list",
+          "path": "links",
           "httpMethod": "GET",
-          "description": "List Humans.\n\n                   The <code>list</code> method returns a\n                   <a href=\"/api/resources.html\">resource list</a> of\n                   matching Humans. For example:\n\n                   <pre>\n                   {\n                    \"kind\":\"arvados#humanList\",\n                    \"etag\":\"\",\n                    \"self_link\":\"\",\n                    \"next_page_token\":\"\",\n                    \"next_link\":\"\",\n                    \"items\":[\n                       ...\n                    ],\n                    \"items_available\":745,\n                    \"_profile\":{\n                     \"request_time\":0.157236317\n                    }\n                    </pre>",
+          "description": "List Links.\n\n                   The <code>list</code> method returns a\n                   <a href=\"/api/resources.html\">resource list</a> of\n                   matching Links. For example:\n\n                   <pre>\n                   {\n                    \"kind\":\"arvados#linkList\",\n                    \"etag\":\"\",\n                    \"self_link\":\"\",\n                    \"next_page_token\":\"\",\n                    \"next_link\":\"\",\n                    \"items\":[\n                       ...\n                    ],\n                    \"items_available\":745,\n                    \"_profile\":{\n                     \"request_time\":0.157236317\n                    }\n                    </pre>",
           "parameters": {
             "filters": {
               "type": "array",
             }
           },
           "response": {
-            "$ref": "HumanList"
+            "$ref": "LinkList"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados",
           ]
         },
         "show": {
-          "id": "arvados.humans.show",
-          "path": "humans/{uuid}",
+          "id": "arvados.links.show",
+          "path": "links/{uuid}",
           "httpMethod": "GET",
-          "description": "show humans",
+          "description": "show links",
           "parameters": {
             "uuid": {
               "type": "string",
             }
           },
           "response": {
-            "$ref": "Human"
+            "$ref": "Link"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados"
           ]
         },
         "destroy": {
-          "id": "arvados.humans.destroy",
-          "path": "humans/{uuid}",
+          "id": "arvados.links.destroy",
+          "path": "links/{uuid}",
           "httpMethod": "DELETE",
-          "description": "destroy humans",
+          "description": "destroy links",
+          "parameters": {
+            "uuid": {
+              "type": "string",
+              "description": "",
+              "required": true,
+              "location": "path"
+            }
+          },
+          "response": {
+            "$ref": "Link"
+          },
+          "scopes": [
+            "https://api.arvados.org/auth/arvados"
+          ]
+        },
+        "get_permissions": {
+          "id": "arvados.links.get_permissions",
+          "path": "permissions/{uuid}",
+          "httpMethod": "GET",
+          "description": "get_permissions links",
           "parameters": {
             "uuid": {
               "type": "string",
             }
           },
           "response": {
-            "$ref": "Human"
+            "$ref": "Link"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados"
         }
       }
     },
-    "job_tasks": {
+    "logs": {
       "methods": {
         "get": {
-          "id": "arvados.job_tasks.get",
-          "path": "job_tasks/{uuid}",
+          "id": "arvados.logs.get",
+          "path": "logs/{uuid}",
           "httpMethod": "GET",
-          "description": "Gets a JobTask's metadata by UUID.",
+          "description": "Gets a Log's metadata by UUID.",
           "parameters": {
             "uuid": {
               "type": "string",
-              "description": "The UUID of the JobTask in question.",
+              "description": "The UUID of the Log in question.",
               "required": true,
               "location": "path"
             }
             "uuid"
           ],
           "response": {
-            "$ref": "JobTask"
+            "$ref": "Log"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados",
           ]
         },
         "index": {
-          "id": "arvados.job_tasks.list",
-          "path": "job_tasks",
+          "id": "arvados.logs.list",
+          "path": "logs",
           "httpMethod": "GET",
-          "description": "List JobTasks.\n\n                   The <code>list</code> method returns a\n                   <a href=\"/api/resources.html\">resource list</a> of\n                   matching JobTasks. For example:\n\n                   <pre>\n                   {\n                    \"kind\":\"arvados#jobTaskList\",\n                    \"etag\":\"\",\n                    \"self_link\":\"\",\n                    \"next_page_token\":\"\",\n                    \"next_link\":\"\",\n                    \"items\":[\n                       ...\n                    ],\n                    \"items_available\":745,\n                    \"_profile\":{\n                     \"request_time\":0.157236317\n                    }\n                    </pre>",
+          "description": "List Logs.\n\n                   The <code>list</code> method returns a\n                   <a href=\"/api/resources.html\">resource list</a> of\n                   matching Logs. For example:\n\n                   <pre>\n                   {\n                    \"kind\":\"arvados#logList\",\n                    \"etag\":\"\",\n                    \"self_link\":\"\",\n                    \"next_page_token\":\"\",\n                    \"next_link\":\"\",\n                    \"items\":[\n                       ...\n                    ],\n                    \"items_available\":745,\n                    \"_profile\":{\n                     \"request_time\":0.157236317\n                    }\n                    </pre>",
           "parameters": {
             "filters": {
               "type": "array",
             }
           },
           "response": {
-            "$ref": "JobTaskList"
+            "$ref": "LogList"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados",
           ]
         },
         "create": {
-          "id": "arvados.job_tasks.create",
-          "path": "job_tasks",
+          "id": "arvados.logs.create",
+          "path": "logs",
           "httpMethod": "POST",
-          "description": "Create a new JobTask.",
+          "description": "Create a new Log.",
           "parameters": {
             "select": {
               "type": "array",
           "request": {
             "required": true,
             "properties": {
-              "job_task": {
-                "$ref": "JobTask"
+              "log": {
+                "$ref": "Log"
               }
             }
           },
           "response": {
-            "$ref": "JobTask"
+            "$ref": "Log"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados"
           ]
         },
         "update": {
-          "id": "arvados.job_tasks.update",
-          "path": "job_tasks/{uuid}",
+          "id": "arvados.logs.update",
+          "path": "logs/{uuid}",
           "httpMethod": "PUT",
-          "description": "Update attributes of an existing JobTask.",
+          "description": "Update attributes of an existing Log.",
           "parameters": {
             "uuid": {
               "type": "string",
-              "description": "The UUID of the JobTask in question.",
+              "description": "The UUID of the Log in question.",
               "required": true,
               "location": "path"
             },
           "request": {
             "required": true,
             "properties": {
-              "job_task": {
-                "$ref": "JobTask"
+              "log": {
+                "$ref": "Log"
               }
             }
           },
           "response": {
-            "$ref": "JobTask"
+            "$ref": "Log"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados"
           ]
         },
         "delete": {
-          "id": "arvados.job_tasks.delete",
-          "path": "job_tasks/{uuid}",
+          "id": "arvados.logs.delete",
+          "path": "logs/{uuid}",
           "httpMethod": "DELETE",
-          "description": "Delete an existing JobTask.",
+          "description": "Delete an existing Log.",
           "parameters": {
             "uuid": {
               "type": "string",
-              "description": "The UUID of the JobTask in question.",
+              "description": "The UUID of the Log in question.",
               "required": true,
               "location": "path"
             }
           },
           "response": {
-            "$ref": "JobTask"
+            "$ref": "Log"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados"
           ]
         },
         "list": {
-          "id": "arvados.job_tasks.list",
-          "path": "job_tasks",
+          "id": "arvados.logs.list",
+          "path": "logs",
           "httpMethod": "GET",
-          "description": "List JobTasks.\n\n                   The <code>list</code> method returns a\n                   <a href=\"/api/resources.html\">resource list</a> of\n                   matching JobTasks. For example:\n\n                   <pre>\n                   {\n                    \"kind\":\"arvados#jobTaskList\",\n                    \"etag\":\"\",\n                    \"self_link\":\"\",\n                    \"next_page_token\":\"\",\n                    \"next_link\":\"\",\n                    \"items\":[\n                       ...\n                    ],\n                    \"items_available\":745,\n                    \"_profile\":{\n                     \"request_time\":0.157236317\n                    }\n                    </pre>",
+          "description": "List Logs.\n\n                   The <code>list</code> method returns a\n                   <a href=\"/api/resources.html\">resource list</a> of\n                   matching Logs. For example:\n\n                   <pre>\n                   {\n                    \"kind\":\"arvados#logList\",\n                    \"etag\":\"\",\n                    \"self_link\":\"\",\n                    \"next_page_token\":\"\",\n                    \"next_link\":\"\",\n                    \"items\":[\n                       ...\n                    ],\n                    \"items_available\":745,\n                    \"_profile\":{\n                     \"request_time\":0.157236317\n                    }\n                    </pre>",
           "parameters": {
             "filters": {
               "type": "array",
             }
           },
           "response": {
-            "$ref": "JobTaskList"
+            "$ref": "LogList"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados",
           ]
         },
         "show": {
-          "id": "arvados.job_tasks.show",
-          "path": "job_tasks/{uuid}",
+          "id": "arvados.logs.show",
+          "path": "logs/{uuid}",
           "httpMethod": "GET",
-          "description": "show job_tasks",
+          "description": "show logs",
           "parameters": {
             "uuid": {
               "type": "string",
             }
           },
           "response": {
-            "$ref": "JobTask"
+            "$ref": "Log"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados"
           ]
         },
         "destroy": {
-          "id": "arvados.job_tasks.destroy",
-          "path": "job_tasks/{uuid}",
+          "id": "arvados.logs.destroy",
+          "path": "logs/{uuid}",
           "httpMethod": "DELETE",
-          "description": "destroy job_tasks",
+          "description": "destroy logs",
           "parameters": {
             "uuid": {
               "type": "string",
             }
           },
           "response": {
-            "$ref": "JobTask"
+            "$ref": "Log"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados"
         }
       }
     },
-    "keep_disks": {
+    "users": {
       "methods": {
         "get": {
-          "id": "arvados.keep_disks.get",
-          "path": "keep_disks/{uuid}",
+          "id": "arvados.users.get",
+          "path": "users/{uuid}",
           "httpMethod": "GET",
-          "description": "Gets a KeepDisk's metadata by UUID.",
+          "description": "Gets a User's metadata by UUID.",
           "parameters": {
             "uuid": {
               "type": "string",
-              "description": "The UUID of the KeepDisk in question.",
+              "description": "The UUID of the User in question.",
               "required": true,
               "location": "path"
             }
             "uuid"
           ],
           "response": {
-            "$ref": "KeepDisk"
+            "$ref": "User"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados",
           ]
         },
         "index": {
-          "id": "arvados.keep_disks.list",
-          "path": "keep_disks",
+          "id": "arvados.users.list",
+          "path": "users",
           "httpMethod": "GET",
-          "description": "List KeepDisks.\n\n                   The <code>list</code> method returns a\n                   <a href=\"/api/resources.html\">resource list</a> of\n                   matching KeepDisks. For example:\n\n                   <pre>\n                   {\n                    \"kind\":\"arvados#keepDiskList\",\n                    \"etag\":\"\",\n                    \"self_link\":\"\",\n                    \"next_page_token\":\"\",\n                    \"next_link\":\"\",\n                    \"items\":[\n                       ...\n                    ],\n                    \"items_available\":745,\n                    \"_profile\":{\n                     \"request_time\":0.157236317\n                    }\n                    </pre>",
+          "description": "List Users.\n\n                   The <code>list</code> method returns a\n                   <a href=\"/api/resources.html\">resource list</a> of\n                   matching Users. For example:\n\n                   <pre>\n                   {\n                    \"kind\":\"arvados#userList\",\n                    \"etag\":\"\",\n                    \"self_link\":\"\",\n                    \"next_page_token\":\"\",\n                    \"next_link\":\"\",\n                    \"items\":[\n                       ...\n                    ],\n                    \"items_available\":745,\n                    \"_profile\":{\n                     \"request_time\":0.157236317\n                    }\n                    </pre>",
           "parameters": {
             "filters": {
               "type": "array",
             }
           },
           "response": {
-            "$ref": "KeepDiskList"
+            "$ref": "UserList"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados",
           ]
         },
         "create": {
-          "id": "arvados.keep_disks.create",
-          "path": "keep_disks",
+          "id": "arvados.users.create",
+          "path": "users",
           "httpMethod": "POST",
-          "description": "Create a new KeepDisk.",
+          "description": "Create a new User.",
           "parameters": {
             "select": {
               "type": "array",
           "request": {
             "required": true,
             "properties": {
-              "keep_disk": {
-                "$ref": "KeepDisk"
+              "user": {
+                "$ref": "User"
               }
             }
           },
           "response": {
-            "$ref": "KeepDisk"
+            "$ref": "User"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados"
           ]
         },
         "update": {
-          "id": "arvados.keep_disks.update",
-          "path": "keep_disks/{uuid}",
+          "id": "arvados.users.update",
+          "path": "users/{uuid}",
           "httpMethod": "PUT",
-          "description": "Update attributes of an existing KeepDisk.",
+          "description": "Update attributes of an existing User.",
           "parameters": {
             "uuid": {
               "type": "string",
-              "description": "The UUID of the KeepDisk in question.",
+              "description": "The UUID of the User in question.",
               "required": true,
               "location": "path"
             },
               "description": "Attributes of the updated object to return in the response.",
               "required": false,
               "location": "query"
-            }
-          },
-          "request": {
-            "required": true,
-            "properties": {
-              "keep_disk": {
-                "$ref": "KeepDisk"
+            },
+            "bypass_federation": {
+              "type": "boolean",
+              "required": false,
+              "default": "false",
+              "description": "",
+              "location": "query"
+            }
+          },
+          "request": {
+            "required": true,
+            "properties": {
+              "user": {
+                "$ref": "User"
               }
             }
           },
           "response": {
-            "$ref": "KeepDisk"
+            "$ref": "User"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados"
           ]
         },
         "delete": {
-          "id": "arvados.keep_disks.delete",
-          "path": "keep_disks/{uuid}",
+          "id": "arvados.users.delete",
+          "path": "users/{uuid}",
           "httpMethod": "DELETE",
-          "description": "Delete an existing KeepDisk.",
+          "description": "Delete an existing User.",
+          "parameters": {
+            "uuid": {
+              "type": "string",
+              "description": "The UUID of the User in question.",
+              "required": true,
+              "location": "path"
+            }
+          },
+          "response": {
+            "$ref": "User"
+          },
+          "scopes": [
+            "https://api.arvados.org/auth/arvados"
+          ]
+        },
+        "current": {
+          "id": "arvados.users.current",
+          "path": "users/current",
+          "httpMethod": "GET",
+          "description": "current users",
+          "parameters": {},
+          "response": {
+            "$ref": "User"
+          },
+          "scopes": [
+            "https://api.arvados.org/auth/arvados"
+          ]
+        },
+        "system": {
+          "id": "arvados.users.system",
+          "path": "users/system",
+          "httpMethod": "GET",
+          "description": "system users",
+          "parameters": {},
+          "response": {
+            "$ref": "User"
+          },
+          "scopes": [
+            "https://api.arvados.org/auth/arvados"
+          ]
+        },
+        "activate": {
+          "id": "arvados.users.activate",
+          "path": "users/{uuid}/activate",
+          "httpMethod": "POST",
+          "description": "activate users",
           "parameters": {
             "uuid": {
               "type": "string",
-              "description": "The UUID of the KeepDisk in question.",
+              "description": "",
               "required": true,
               "location": "path"
             }
           },
           "response": {
-            "$ref": "KeepDisk"
+            "$ref": "User"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados"
           ]
         },
-        "ping": {
-          "id": "arvados.keep_disks.ping",
-          "path": "keep_disks/ping",
+        "setup": {
+          "id": "arvados.users.setup",
+          "path": "users/setup",
           "httpMethod": "POST",
-          "description": "ping keep_disks",
+          "description": "setup users",
           "parameters": {
             "uuid": {
+              "type": "string",
+              "required": false,
+              "description": "",
+              "location": "query"
+            },
+            "user": {
+              "type": "object",
               "required": false,
+              "description": "",
+              "location": "query"
+            },
+            "repo_name": {
               "type": "string",
+              "required": false,
               "description": "",
               "location": "query"
             },
-            "ping_secret": {
-              "required": true,
+            "vm_uuid": {
               "type": "string",
+              "required": false,
               "description": "",
               "location": "query"
             },
-            "node_uuid": {
+            "send_notification_email": {
+              "type": "boolean",
               "required": false,
+              "default": "false",
+              "description": "",
+              "location": "query"
+            }
+          },
+          "response": {
+            "$ref": "User"
+          },
+          "scopes": [
+            "https://api.arvados.org/auth/arvados"
+          ]
+        },
+        "unsetup": {
+          "id": "arvados.users.unsetup",
+          "path": "users/{uuid}/unsetup",
+          "httpMethod": "POST",
+          "description": "unsetup users",
+          "parameters": {
+            "uuid": {
+              "type": "string",
+              "description": "",
+              "required": true,
+              "location": "path"
+            }
+          },
+          "response": {
+            "$ref": "User"
+          },
+          "scopes": [
+            "https://api.arvados.org/auth/arvados"
+          ]
+        },
+        "merge": {
+          "id": "arvados.users.merge",
+          "path": "users/merge",
+          "httpMethod": "POST",
+          "description": "merge users",
+          "parameters": {
+            "new_owner_uuid": {
               "type": "string",
+              "required": true,
               "description": "",
               "location": "query"
             },
-            "filesystem_uuid": {
-              "required": false,
+            "new_user_token": {
               "type": "string",
+              "required": false,
               "description": "",
               "location": "query"
             },
-            "service_host": {
+            "redirect_to_new_user": {
+              "type": "boolean",
               "required": false,
-              "type": "string",
+              "default": "false",
               "description": "",
               "location": "query"
             },
-            "service_port": {
-              "required": true,
+            "old_user_uuid": {
               "type": "string",
+              "required": false,
               "description": "",
               "location": "query"
             },
-            "service_ssl_flag": {
-              "required": true,
+            "new_user_uuid": {
               "type": "string",
+              "required": false,
               "description": "",
               "location": "query"
             }
           },
           "response": {
-            "$ref": "KeepDisk"
+            "$ref": "User"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados"
           ]
         },
         "list": {
-          "id": "arvados.keep_disks.list",
-          "path": "keep_disks",
+          "id": "arvados.users.list",
+          "path": "users",
           "httpMethod": "GET",
-          "description": "List KeepDisks.\n\n                   The <code>list</code> method returns a\n                   <a href=\"/api/resources.html\">resource list</a> of\n                   matching KeepDisks. For example:\n\n                   <pre>\n                   {\n                    \"kind\":\"arvados#keepDiskList\",\n                    \"etag\":\"\",\n                    \"self_link\":\"\",\n                    \"next_page_token\":\"\",\n                    \"next_link\":\"\",\n                    \"items\":[\n                       ...\n                    ],\n                    \"items_available\":745,\n                    \"_profile\":{\n                     \"request_time\":0.157236317\n                    }\n                    </pre>",
+          "description": "List Users.\n\n                   The <code>list</code> method returns a\n                   <a href=\"/api/resources.html\">resource list</a> of\n                   matching Users. For example:\n\n                   <pre>\n                   {\n                    \"kind\":\"arvados#userList\",\n                    \"etag\":\"\",\n                    \"self_link\":\"\",\n                    \"next_page_token\":\"\",\n                    \"next_link\":\"\",\n                    \"items\":[\n                       ...\n                    ],\n                    \"items_available\":745,\n                    \"_profile\":{\n                     \"request_time\":0.157236317\n                    }\n                    </pre>",
           "parameters": {
             "filters": {
               "type": "array",
             }
           },
           "response": {
-            "$ref": "KeepDiskList"
+            "$ref": "UserList"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados",
           ]
         },
         "show": {
-          "id": "arvados.keep_disks.show",
-          "path": "keep_disks/{uuid}",
+          "id": "arvados.users.show",
+          "path": "users/{uuid}",
           "httpMethod": "GET",
-          "description": "show keep_disks",
+          "description": "show users",
           "parameters": {
             "uuid": {
               "type": "string",
             }
           },
           "response": {
-            "$ref": "KeepDisk"
+            "$ref": "User"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados"
           ]
         },
         "destroy": {
-          "id": "arvados.keep_disks.destroy",
-          "path": "keep_disks/{uuid}",
+          "id": "arvados.users.destroy",
+          "path": "users/{uuid}",
           "httpMethod": "DELETE",
-          "description": "destroy keep_disks",
+          "description": "destroy users",
           "parameters": {
             "uuid": {
               "type": "string",
             }
           },
           "response": {
-            "$ref": "KeepDisk"
+            "$ref": "User"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados"
         }
       }
     },
-    "keep_services": {
+    "user_agreements": {
       "methods": {
         "get": {
-          "id": "arvados.keep_services.get",
-          "path": "keep_services/{uuid}",
+          "id": "arvados.user_agreements.get",
+          "path": "user_agreements/{uuid}",
           "httpMethod": "GET",
-          "description": "Gets a KeepService's metadata by UUID.",
+          "description": "Gets a UserAgreement's metadata by UUID.",
           "parameters": {
             "uuid": {
               "type": "string",
-              "description": "The UUID of the KeepService in question.",
+              "description": "The UUID of the UserAgreement in question.",
               "required": true,
               "location": "path"
             }
             "uuid"
           ],
           "response": {
-            "$ref": "KeepService"
+            "$ref": "UserAgreement"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados",
           ]
         },
         "index": {
-          "id": "arvados.keep_services.list",
-          "path": "keep_services",
+          "id": "arvados.user_agreements.list",
+          "path": "user_agreements",
           "httpMethod": "GET",
-          "description": "List KeepServices.\n\n                   The <code>list</code> method returns a\n                   <a href=\"/api/resources.html\">resource list</a> of\n                   matching KeepServices. For example:\n\n                   <pre>\n                   {\n                    \"kind\":\"arvados#keepServiceList\",\n                    \"etag\":\"\",\n                    \"self_link\":\"\",\n                    \"next_page_token\":\"\",\n                    \"next_link\":\"\",\n                    \"items\":[\n                       ...\n                    ],\n                    \"items_available\":745,\n                    \"_profile\":{\n                     \"request_time\":0.157236317\n                    }\n                    </pre>",
+          "description": "List UserAgreements.\n\n                   The <code>list</code> method returns a\n                   <a href=\"/api/resources.html\">resource list</a> of\n                   matching UserAgreements. For example:\n\n                   <pre>\n                   {\n                    \"kind\":\"arvados#userAgreementList\",\n                    \"etag\":\"\",\n                    \"self_link\":\"\",\n                    \"next_page_token\":\"\",\n                    \"next_link\":\"\",\n                    \"items\":[\n                       ...\n                    ],\n                    \"items_available\":745,\n                    \"_profile\":{\n                     \"request_time\":0.157236317\n                    }\n                    </pre>",
           "parameters": {
             "filters": {
               "type": "array",
             }
           },
           "response": {
-            "$ref": "KeepServiceList"
+            "$ref": "UserAgreementList"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados",
           ]
         },
         "create": {
-          "id": "arvados.keep_services.create",
-          "path": "keep_services",
+          "id": "arvados.user_agreements.create",
+          "path": "user_agreements",
           "httpMethod": "POST",
-          "description": "Create a new KeepService.",
+          "description": "Create a new UserAgreement.",
           "parameters": {
             "select": {
               "type": "array",
           "request": {
             "required": true,
             "properties": {
-              "keep_service": {
-                "$ref": "KeepService"
+              "user_agreement": {
+                "$ref": "UserAgreement"
               }
             }
           },
           "response": {
-            "$ref": "KeepService"
+            "$ref": "UserAgreement"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados"
           ]
         },
         "update": {
-          "id": "arvados.keep_services.update",
-          "path": "keep_services/{uuid}",
+          "id": "arvados.user_agreements.update",
+          "path": "user_agreements/{uuid}",
           "httpMethod": "PUT",
-          "description": "Update attributes of an existing KeepService.",
+          "description": "Update attributes of an existing UserAgreement.",
           "parameters": {
             "uuid": {
               "type": "string",
-              "description": "The UUID of the KeepService in question.",
+              "description": "The UUID of the UserAgreement in question.",
               "required": true,
               "location": "path"
             },
           "request": {
             "required": true,
             "properties": {
-              "keep_service": {
-                "$ref": "KeepService"
+              "user_agreement": {
+                "$ref": "UserAgreement"
               }
             }
           },
           "response": {
-            "$ref": "KeepService"
+            "$ref": "UserAgreement"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados"
           ]
         },
         "delete": {
-          "id": "arvados.keep_services.delete",
-          "path": "keep_services/{uuid}",
+          "id": "arvados.user_agreements.delete",
+          "path": "user_agreements/{uuid}",
           "httpMethod": "DELETE",
-          "description": "Delete an existing KeepService.",
+          "description": "Delete an existing UserAgreement.",
           "parameters": {
             "uuid": {
               "type": "string",
-              "description": "The UUID of the KeepService in question.",
+              "description": "The UUID of the UserAgreement in question.",
               "required": true,
               "location": "path"
             }
           },
           "response": {
-            "$ref": "KeepService"
+            "$ref": "UserAgreement"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados"
           ]
         },
-        "accessible": {
-          "id": "arvados.keep_services.accessible",
-          "path": "keep_services/accessible",
+        "signatures": {
+          "id": "arvados.user_agreements.signatures",
+          "path": "user_agreements/signatures",
           "httpMethod": "GET",
-          "description": "accessible keep_services",
+          "description": "signatures user_agreements",
           "parameters": {},
           "response": {
-            "$ref": "KeepService"
+            "$ref": "UserAgreement"
+          },
+          "scopes": [
+            "https://api.arvados.org/auth/arvados"
+          ]
+        },
+        "sign": {
+          "id": "arvados.user_agreements.sign",
+          "path": "user_agreements/sign",
+          "httpMethod": "POST",
+          "description": "sign user_agreements",
+          "parameters": {},
+          "response": {
+            "$ref": "UserAgreement"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados"
           ]
         },
         "list": {
-          "id": "arvados.keep_services.list",
-          "path": "keep_services",
+          "id": "arvados.user_agreements.list",
+          "path": "user_agreements",
           "httpMethod": "GET",
-          "description": "List KeepServices.\n\n                   The <code>list</code> method returns a\n                   <a href=\"/api/resources.html\">resource list</a> of\n                   matching KeepServices. For example:\n\n                   <pre>\n                   {\n                    \"kind\":\"arvados#keepServiceList\",\n                    \"etag\":\"\",\n                    \"self_link\":\"\",\n                    \"next_page_token\":\"\",\n                    \"next_link\":\"\",\n                    \"items\":[\n                       ...\n                    ],\n                    \"items_available\":745,\n                    \"_profile\":{\n                     \"request_time\":0.157236317\n                    }\n                    </pre>",
+          "description": "List UserAgreements.\n\n                   The <code>list</code> method returns a\n                   <a href=\"/api/resources.html\">resource list</a> of\n                   matching UserAgreements. For example:\n\n                   <pre>\n                   {\n                    \"kind\":\"arvados#userAgreementList\",\n                    \"etag\":\"\",\n                    \"self_link\":\"\",\n                    \"next_page_token\":\"\",\n                    \"next_link\":\"\",\n                    \"items\":[\n                       ...\n                    ],\n                    \"items_available\":745,\n                    \"_profile\":{\n                     \"request_time\":0.157236317\n                    }\n                    </pre>",
           "parameters": {
             "filters": {
               "type": "array",
             }
           },
           "response": {
-            "$ref": "KeepServiceList"
+            "$ref": "UserAgreementList"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados",
             "https://api.arvados.org/auth/arvados.readonly"
           ]
         },
-        "show": {
-          "id": "arvados.keep_services.show",
-          "path": "keep_services/{uuid}",
+        "new": {
+          "id": "arvados.user_agreements.new",
+          "path": "user_agreements/new",
           "httpMethod": "GET",
-          "description": "show keep_services",
-          "parameters": {
-            "uuid": {
-              "type": "string",
-              "description": "",
-              "required": true,
-              "location": "path"
-            },
-            "select": {
-              "type": "array",
+          "description": "new user_agreements",
+          "parameters": {},
+          "response": {
+            "$ref": "UserAgreement"
+          },
+          "scopes": [
+            "https://api.arvados.org/auth/arvados"
+          ]
+        },
+        "show": {
+          "id": "arvados.user_agreements.show",
+          "path": "user_agreements/{uuid}",
+          "httpMethod": "GET",
+          "description": "show user_agreements",
+          "parameters": {
+            "uuid": {
+              "type": "string",
+              "description": "",
+              "required": true,
+              "location": "path"
+            },
+            "select": {
+              "type": "array",
               "description": "Attributes of the object to return in the response.",
               "required": false,
               "location": "query"
             }
           },
           "response": {
-            "$ref": "KeepService"
+            "$ref": "UserAgreement"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados"
           ]
         },
         "destroy": {
-          "id": "arvados.keep_services.destroy",
-          "path": "keep_services/{uuid}",
+          "id": "arvados.user_agreements.destroy",
+          "path": "user_agreements/{uuid}",
           "httpMethod": "DELETE",
-          "description": "destroy keep_services",
+          "description": "destroy user_agreements",
           "parameters": {
             "uuid": {
               "type": "string",
             }
           },
           "response": {
-            "$ref": "KeepService"
+            "$ref": "UserAgreement"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados"
         }
       }
     },
-    "links": {
+    "virtual_machines": {
       "methods": {
         "get": {
-          "id": "arvados.links.get",
-          "path": "links/{uuid}",
+          "id": "arvados.virtual_machines.get",
+          "path": "virtual_machines/{uuid}",
           "httpMethod": "GET",
-          "description": "Gets a Link's metadata by UUID.",
+          "description": "Gets a VirtualMachine's metadata by UUID.",
           "parameters": {
             "uuid": {
               "type": "string",
-              "description": "The UUID of the Link in question.",
+              "description": "The UUID of the VirtualMachine in question.",
               "required": true,
               "location": "path"
             }
             "uuid"
           ],
           "response": {
-            "$ref": "Link"
+            "$ref": "VirtualMachine"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados",
           ]
         },
         "index": {
-          "id": "arvados.links.list",
-          "path": "links",
+          "id": "arvados.virtual_machines.list",
+          "path": "virtual_machines",
           "httpMethod": "GET",
-          "description": "List Links.\n\n                   The <code>list</code> method returns a\n                   <a href=\"/api/resources.html\">resource list</a> of\n                   matching Links. For example:\n\n                   <pre>\n                   {\n                    \"kind\":\"arvados#linkList\",\n                    \"etag\":\"\",\n                    \"self_link\":\"\",\n                    \"next_page_token\":\"\",\n                    \"next_link\":\"\",\n                    \"items\":[\n                       ...\n                    ],\n                    \"items_available\":745,\n                    \"_profile\":{\n                     \"request_time\":0.157236317\n                    }\n                    </pre>",
+          "description": "List VirtualMachines.\n\n                   The <code>list</code> method returns a\n                   <a href=\"/api/resources.html\">resource list</a> of\n                   matching VirtualMachines. For example:\n\n                   <pre>\n                   {\n                    \"kind\":\"arvados#virtualMachineList\",\n                    \"etag\":\"\",\n                    \"self_link\":\"\",\n                    \"next_page_token\":\"\",\n                    \"next_link\":\"\",\n                    \"items\":[\n                       ...\n                    ],\n                    \"items_available\":745,\n                    \"_profile\":{\n                     \"request_time\":0.157236317\n                    }\n                    </pre>",
           "parameters": {
             "filters": {
               "type": "array",
             }
           },
           "response": {
-            "$ref": "LinkList"
+            "$ref": "VirtualMachineList"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados",
           ]
         },
         "create": {
-          "id": "arvados.links.create",
-          "path": "links",
+          "id": "arvados.virtual_machines.create",
+          "path": "virtual_machines",
           "httpMethod": "POST",
-          "description": "Create a new Link.",
+          "description": "Create a new VirtualMachine.",
           "parameters": {
             "select": {
               "type": "array",
           "request": {
             "required": true,
             "properties": {
-              "link": {
-                "$ref": "Link"
+              "virtual_machine": {
+                "$ref": "VirtualMachine"
               }
             }
           },
           "response": {
-            "$ref": "Link"
+            "$ref": "VirtualMachine"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados"
           ]
         },
         "update": {
-          "id": "arvados.links.update",
-          "path": "links/{uuid}",
+          "id": "arvados.virtual_machines.update",
+          "path": "virtual_machines/{uuid}",
           "httpMethod": "PUT",
-          "description": "Update attributes of an existing Link.",
+          "description": "Update attributes of an existing VirtualMachine.",
           "parameters": {
             "uuid": {
               "type": "string",
-              "description": "The UUID of the Link in question.",
+              "description": "The UUID of the VirtualMachine in question.",
               "required": true,
               "location": "path"
             },
           "request": {
             "required": true,
             "properties": {
-              "link": {
-                "$ref": "Link"
+              "virtual_machine": {
+                "$ref": "VirtualMachine"
               }
             }
           },
           "response": {
-            "$ref": "Link"
+            "$ref": "VirtualMachine"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados"
           ]
         },
         "delete": {
-          "id": "arvados.links.delete",
-          "path": "links/{uuid}",
+          "id": "arvados.virtual_machines.delete",
+          "path": "virtual_machines/{uuid}",
           "httpMethod": "DELETE",
-          "description": "Delete an existing Link.",
+          "description": "Delete an existing VirtualMachine.",
           "parameters": {
             "uuid": {
               "type": "string",
-              "description": "The UUID of the Link in question.",
+              "description": "The UUID of the VirtualMachine in question.",
               "required": true,
               "location": "path"
             }
           },
           "response": {
-            "$ref": "Link"
+            "$ref": "VirtualMachine"
+          },
+          "scopes": [
+            "https://api.arvados.org/auth/arvados"
+          ]
+        },
+        "logins": {
+          "id": "arvados.virtual_machines.logins",
+          "path": "virtual_machines/{uuid}/logins",
+          "httpMethod": "GET",
+          "description": "logins virtual_machines",
+          "parameters": {
+            "uuid": {
+              "type": "string",
+              "description": "",
+              "required": true,
+              "location": "path"
+            }
+          },
+          "response": {
+            "$ref": "VirtualMachine"
+          },
+          "scopes": [
+            "https://api.arvados.org/auth/arvados"
+          ]
+        },
+        "get_all_logins": {
+          "id": "arvados.virtual_machines.get_all_logins",
+          "path": "virtual_machines/get_all_logins",
+          "httpMethod": "GET",
+          "description": "get_all_logins virtual_machines",
+          "parameters": {},
+          "response": {
+            "$ref": "VirtualMachine"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados"
           ]
         },
         "list": {
-          "id": "arvados.links.list",
-          "path": "links",
+          "id": "arvados.virtual_machines.list",
+          "path": "virtual_machines",
           "httpMethod": "GET",
-          "description": "List Links.\n\n                   The <code>list</code> method returns a\n                   <a href=\"/api/resources.html\">resource list</a> of\n                   matching Links. For example:\n\n                   <pre>\n                   {\n                    \"kind\":\"arvados#linkList\",\n                    \"etag\":\"\",\n                    \"self_link\":\"\",\n                    \"next_page_token\":\"\",\n                    \"next_link\":\"\",\n                    \"items\":[\n                       ...\n                    ],\n                    \"items_available\":745,\n                    \"_profile\":{\n                     \"request_time\":0.157236317\n                    }\n                    </pre>",
+          "description": "List VirtualMachines.\n\n                   The <code>list</code> method returns a\n                   <a href=\"/api/resources.html\">resource list</a> of\n                   matching VirtualMachines. For example:\n\n                   <pre>\n                   {\n                    \"kind\":\"arvados#virtualMachineList\",\n                    \"etag\":\"\",\n                    \"self_link\":\"\",\n                    \"next_page_token\":\"\",\n                    \"next_link\":\"\",\n                    \"items\":[\n                       ...\n                    ],\n                    \"items_available\":745,\n                    \"_profile\":{\n                     \"request_time\":0.157236317\n                    }\n                    </pre>",
           "parameters": {
             "filters": {
               "type": "array",
             }
           },
           "response": {
-            "$ref": "LinkList"
+            "$ref": "VirtualMachineList"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados",
           ]
         },
         "show": {
-          "id": "arvados.links.show",
-          "path": "links/{uuid}",
+          "id": "arvados.virtual_machines.show",
+          "path": "virtual_machines/{uuid}",
           "httpMethod": "GET",
-          "description": "show links",
+          "description": "show virtual_machines",
           "parameters": {
             "uuid": {
               "type": "string",
             }
           },
           "response": {
-            "$ref": "Link"
+            "$ref": "VirtualMachine"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados"
           ]
         },
         "destroy": {
-          "id": "arvados.links.destroy",
-          "path": "links/{uuid}",
+          "id": "arvados.virtual_machines.destroy",
+          "path": "virtual_machines/{uuid}",
           "httpMethod": "DELETE",
-          "description": "destroy links",
-          "parameters": {
-            "uuid": {
-              "type": "string",
-              "description": "",
-              "required": true,
-              "location": "path"
-            }
-          },
-          "response": {
-            "$ref": "Link"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados"
-          ]
-        },
-        "get_permissions": {
-          "id": "arvados.links.get_permissions",
-          "path": "permissions/{uuid}",
-          "httpMethod": "GET",
-          "description": "get_permissions links",
+          "description": "destroy virtual_machines",
           "parameters": {
             "uuid": {
               "type": "string",
             }
           },
           "response": {
-            "$ref": "Link"
+            "$ref": "VirtualMachine"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados"
         }
       }
     },
-    "logs": {
+    "workflows": {
       "methods": {
         "get": {
-          "id": "arvados.logs.get",
-          "path": "logs/{uuid}",
+          "id": "arvados.workflows.get",
+          "path": "workflows/{uuid}",
           "httpMethod": "GET",
-          "description": "Gets a Log's metadata by UUID.",
+          "description": "Gets a Workflow's metadata by UUID.",
           "parameters": {
             "uuid": {
               "type": "string",
-              "description": "The UUID of the Log in question.",
+              "description": "The UUID of the Workflow in question.",
               "required": true,
               "location": "path"
             }
             "uuid"
           ],
           "response": {
-            "$ref": "Log"
+            "$ref": "Workflow"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados",
           ]
         },
         "index": {
-          "id": "arvados.logs.list",
-          "path": "logs",
+          "id": "arvados.workflows.list",
+          "path": "workflows",
           "httpMethod": "GET",
-          "description": "List Logs.\n\n                   The <code>list</code> method returns a\n                   <a href=\"/api/resources.html\">resource list</a> of\n                   matching Logs. For example:\n\n                   <pre>\n                   {\n                    \"kind\":\"arvados#logList\",\n                    \"etag\":\"\",\n                    \"self_link\":\"\",\n                    \"next_page_token\":\"\",\n                    \"next_link\":\"\",\n                    \"items\":[\n                       ...\n                    ],\n                    \"items_available\":745,\n                    \"_profile\":{\n                     \"request_time\":0.157236317\n                    }\n                    </pre>",
+          "description": "List Workflows.\n\n                   The <code>list</code> method returns a\n                   <a href=\"/api/resources.html\">resource list</a> of\n                   matching Workflows. For example:\n\n                   <pre>\n                   {\n                    \"kind\":\"arvados#workflowList\",\n                    \"etag\":\"\",\n                    \"self_link\":\"\",\n                    \"next_page_token\":\"\",\n                    \"next_link\":\"\",\n                    \"items\":[\n                       ...\n                    ],\n                    \"items_available\":745,\n                    \"_profile\":{\n                     \"request_time\":0.157236317\n                    }\n                    </pre>",
           "parameters": {
             "filters": {
               "type": "array",
             }
           },
           "response": {
-            "$ref": "LogList"
+            "$ref": "WorkflowList"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados",
           ]
         },
         "create": {
-          "id": "arvados.logs.create",
-          "path": "logs",
+          "id": "arvados.workflows.create",
+          "path": "workflows",
           "httpMethod": "POST",
-          "description": "Create a new Log.",
+          "description": "Create a new Workflow.",
           "parameters": {
             "select": {
               "type": "array",
           "request": {
             "required": true,
             "properties": {
-              "log": {
-                "$ref": "Log"
+              "workflow": {
+                "$ref": "Workflow"
               }
             }
           },
           "response": {
-            "$ref": "Log"
+            "$ref": "Workflow"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados"
           ]
         },
         "update": {
-          "id": "arvados.logs.update",
-          "path": "logs/{uuid}",
+          "id": "arvados.workflows.update",
+          "path": "workflows/{uuid}",
           "httpMethod": "PUT",
-          "description": "Update attributes of an existing Log.",
+          "description": "Update attributes of an existing Workflow.",
           "parameters": {
             "uuid": {
               "type": "string",
-              "description": "The UUID of the Log in question.",
+              "description": "The UUID of the Workflow in question.",
               "required": true,
               "location": "path"
             },
           "request": {
             "required": true,
             "properties": {
-              "log": {
-                "$ref": "Log"
+              "workflow": {
+                "$ref": "Workflow"
               }
             }
           },
           "response": {
-            "$ref": "Log"
+            "$ref": "Workflow"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados"
           ]
         },
         "delete": {
-          "id": "arvados.logs.delete",
-          "path": "logs/{uuid}",
+          "id": "arvados.workflows.delete",
+          "path": "workflows/{uuid}",
           "httpMethod": "DELETE",
-          "description": "Delete an existing Log.",
+          "description": "Delete an existing Workflow.",
           "parameters": {
             "uuid": {
               "type": "string",
-              "description": "The UUID of the Log in question.",
+              "description": "The UUID of the Workflow in question.",
               "required": true,
               "location": "path"
             }
           },
           "response": {
-            "$ref": "Log"
+            "$ref": "Workflow"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados"
           ]
         },
         "list": {
-          "id": "arvados.logs.list",
-          "path": "logs",
+          "id": "arvados.workflows.list",
+          "path": "workflows",
           "httpMethod": "GET",
-          "description": "List Logs.\n\n                   The <code>list</code> method returns a\n                   <a href=\"/api/resources.html\">resource list</a> of\n                   matching Logs. For example:\n\n                   <pre>\n                   {\n                    \"kind\":\"arvados#logList\",\n                    \"etag\":\"\",\n                    \"self_link\":\"\",\n                    \"next_page_token\":\"\",\n                    \"next_link\":\"\",\n                    \"items\":[\n                       ...\n                    ],\n                    \"items_available\":745,\n                    \"_profile\":{\n                     \"request_time\":0.157236317\n                    }\n                    </pre>",
+          "description": "List Workflows.\n\n                   The <code>list</code> method returns a\n                   <a href=\"/api/resources.html\">resource list</a> of\n                   matching Workflows. For example:\n\n                   <pre>\n                   {\n                    \"kind\":\"arvados#workflowList\",\n                    \"etag\":\"\",\n                    \"self_link\":\"\",\n                    \"next_page_token\":\"\",\n                    \"next_link\":\"\",\n                    \"items\":[\n                       ...\n                    ],\n                    \"items_available\":745,\n                    \"_profile\":{\n                     \"request_time\":0.157236317\n                    }\n                    </pre>",
           "parameters": {
             "filters": {
               "type": "array",
             }
           },
           "response": {
-            "$ref": "LogList"
+            "$ref": "WorkflowList"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados",
           ]
         },
         "show": {
-          "id": "arvados.logs.show",
-          "path": "logs/{uuid}",
+          "id": "arvados.workflows.show",
+          "path": "workflows/{uuid}",
           "httpMethod": "GET",
-          "description": "show logs",
+          "description": "show workflows",
           "parameters": {
             "uuid": {
               "type": "string",
             }
           },
           "response": {
-            "$ref": "Log"
+            "$ref": "Workflow"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados"
           ]
         },
         "destroy": {
-          "id": "arvados.logs.destroy",
-          "path": "logs/{uuid}",
+          "id": "arvados.workflows.destroy",
+          "path": "workflows/{uuid}",
           "httpMethod": "DELETE",
-          "description": "destroy logs",
+          "description": "destroy workflows",
           "parameters": {
             "uuid": {
               "type": "string",
             }
           },
           "response": {
-            "$ref": "Log"
+            "$ref": "Workflow"
           },
           "scopes": [
             "https://api.arvados.org/auth/arvados"
         }
       }
     },
-    "nodes": {
+    "configs": {
       "methods": {
         "get": {
-          "id": "arvados.nodes.get",
-          "path": "nodes/{uuid}",
+          "id": "arvados.configs.get",
+          "path": "config",
           "httpMethod": "GET",
-          "description": "Gets a Node's metadata by UUID.",
-          "parameters": {
-            "uuid": {
-              "type": "string",
-              "description": "The UUID of the Node in question.",
-              "required": true,
-              "location": "path"
-            }
-          },
-          "parameterOrder": [
-            "uuid"
-          ],
-          "response": {
-            "$ref": "Node"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados",
-            "https://api.arvados.org/auth/arvados.readonly"
-          ]
-        },
-        "index": {
-          "id": "arvados.nodes.list",
-          "path": "nodes",
-          "httpMethod": "GET",
-          "description": "List Nodes.\n\n                   The <code>list</code> method returns a\n                   <a href=\"/api/resources.html\">resource list</a> of\n                   matching Nodes. For example:\n\n                   <pre>\n                   {\n                    \"kind\":\"arvados#nodeList\",\n                    \"etag\":\"\",\n                    \"self_link\":\"\",\n                    \"next_page_token\":\"\",\n                    \"next_link\":\"\",\n                    \"items\":[\n                       ...\n                    ],\n                    \"items_available\":745,\n                    \"_profile\":{\n                     \"request_time\":0.157236317\n                    }\n                    </pre>",
-          "parameters": {
-            "filters": {
-              "type": "array",
-              "required": false,
-              "description": "",
-              "location": "query"
-            },
-            "where": {
-              "type": "object",
-              "required": false,
-              "description": "",
-              "location": "query"
-            },
-            "order": {
-              "type": "array",
-              "required": false,
-              "description": "",
-              "location": "query"
-            },
-            "select": {
-              "type": "array",
-              "description": "Attributes of each object to return in the response.",
-              "required": false,
-              "location": "query"
-            },
-            "distinct": {
-              "type": "boolean",
-              "required": false,
-              "default": "false",
-              "description": "",
-              "location": "query"
-            },
-            "limit": {
-              "type": "integer",
-              "required": false,
-              "default": "100",
-              "description": "",
-              "location": "query"
-            },
-            "offset": {
-              "type": "integer",
-              "required": false,
-              "default": "0",
-              "description": "",
-              "location": "query"
-            },
-            "count": {
-              "type": "string",
-              "required": false,
-              "default": "exact",
-              "description": "",
-              "location": "query"
-            },
-            "cluster_id": {
-              "type": "string",
-              "description": "List objects on a remote federated cluster instead of the current one.",
-              "location": "query",
-              "required": false
-            },
-            "bypass_federation": {
-              "type": "boolean",
-              "required": false,
-              "description": "bypass federation behavior, list items from local instance database only",
-              "location": "query"
-            }
-          },
-          "response": {
-            "$ref": "NodeList"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados",
-            "https://api.arvados.org/auth/arvados.readonly"
-          ]
-        },
-        "create": {
-          "id": "arvados.nodes.create",
-          "path": "nodes",
-          "httpMethod": "POST",
-          "description": "Create a new Node.",
-          "parameters": {
-            "select": {
-              "type": "array",
-              "description": "Attributes of the new object to return in the response.",
-              "required": false,
-              "location": "query"
-            },
-            "ensure_unique_name": {
-              "type": "boolean",
-              "description": "Adjust name to ensure uniqueness instead of returning an error on (owner_uuid, name) collision.",
-              "location": "query",
-              "required": false,
-              "default": "false"
-            },
-            "cluster_id": {
-              "type": "string",
-              "description": "Create object on a remote federated cluster instead of the current one.",
-              "location": "query",
-              "required": false
-            },
-            "assign_slot": {
-              "required": false,
-              "type": "boolean",
-              "description": "assign slot and hostname",
-              "location": "query"
-            }
-          },
-          "request": {
-            "required": true,
-            "properties": {
-              "node": {
-                "$ref": "Node"
-              }
-            }
-          },
-          "response": {
-            "$ref": "Node"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados"
-          ]
-        },
-        "update": {
-          "id": "arvados.nodes.update",
-          "path": "nodes/{uuid}",
-          "httpMethod": "PUT",
-          "description": "Update attributes of an existing Node.",
-          "parameters": {
-            "uuid": {
-              "type": "string",
-              "description": "The UUID of the Node in question.",
-              "required": true,
-              "location": "path"
-            },
-            "select": {
-              "type": "array",
-              "description": "Attributes of the updated object to return in the response.",
-              "required": false,
-              "location": "query"
-            },
-            "assign_slot": {
-              "required": false,
-              "type": "boolean",
-              "description": "assign slot and hostname",
-              "location": "query"
-            }
-          },
-          "request": {
-            "required": true,
-            "properties": {
-              "node": {
-                "$ref": "Node"
-              }
-            }
-          },
-          "response": {
-            "$ref": "Node"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados"
-          ]
-        },
-        "delete": {
-          "id": "arvados.nodes.delete",
-          "path": "nodes/{uuid}",
-          "httpMethod": "DELETE",
-          "description": "Delete an existing Node.",
-          "parameters": {
-            "uuid": {
-              "type": "string",
-              "description": "The UUID of the Node in question.",
-              "required": true,
-              "location": "path"
-            }
-          },
-          "response": {
-            "$ref": "Node"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados"
-          ]
-        },
-        "ping": {
-          "id": "arvados.nodes.ping",
-          "path": "nodes/{uuid}/ping",
-          "httpMethod": "POST",
-          "description": "ping nodes",
-          "parameters": {
-            "uuid": {
-              "type": "string",
-              "description": "",
-              "required": true,
-              "location": "path"
-            },
-            "ping_secret": {
-              "required": true,
-              "type": "string",
-              "description": "",
-              "location": "query"
-            }
-          },
-          "response": {
-            "$ref": "Node"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados"
-          ]
-        },
-        "list": {
-          "id": "arvados.nodes.list",
-          "path": "nodes",
-          "httpMethod": "GET",
-          "description": "List Nodes.\n\n                   The <code>list</code> method returns a\n                   <a href=\"/api/resources.html\">resource list</a> of\n                   matching Nodes. For example:\n\n                   <pre>\n                   {\n                    \"kind\":\"arvados#nodeList\",\n                    \"etag\":\"\",\n                    \"self_link\":\"\",\n                    \"next_page_token\":\"\",\n                    \"next_link\":\"\",\n                    \"items\":[\n                       ...\n                    ],\n                    \"items_available\":745,\n                    \"_profile\":{\n                     \"request_time\":0.157236317\n                    }\n                    </pre>",
-          "parameters": {
-            "filters": {
-              "type": "array",
-              "required": false,
-              "description": "",
-              "location": "query"
-            },
-            "where": {
-              "type": "object",
-              "required": false,
-              "description": "",
-              "location": "query"
-            },
-            "order": {
-              "type": "array",
-              "required": false,
-              "description": "",
-              "location": "query"
-            },
-            "select": {
-              "type": "array",
-              "description": "Attributes of each object to return in the response.",
-              "required": false,
-              "location": "query"
-            },
-            "distinct": {
-              "type": "boolean",
-              "required": false,
-              "default": "false",
-              "description": "",
-              "location": "query"
-            },
-            "limit": {
-              "type": "integer",
-              "required": false,
-              "default": "100",
-              "description": "",
-              "location": "query"
-            },
-            "offset": {
-              "type": "integer",
-              "required": false,
-              "default": "0",
-              "description": "",
-              "location": "query"
-            },
-            "count": {
-              "type": "string",
-              "required": false,
-              "default": "exact",
-              "description": "",
-              "location": "query"
-            },
-            "cluster_id": {
-              "type": "string",
-              "description": "List objects on a remote federated cluster instead of the current one.",
-              "location": "query",
-              "required": false
-            },
-            "bypass_federation": {
-              "type": "boolean",
-              "required": false,
-              "description": "bypass federation behavior, list items from local instance database only",
-              "location": "query"
-            }
-          },
-          "response": {
-            "$ref": "NodeList"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados",
-            "https://api.arvados.org/auth/arvados.readonly"
-          ]
-        },
-        "show": {
-          "id": "arvados.nodes.show",
-          "path": "nodes/{uuid}",
-          "httpMethod": "GET",
-          "description": "show nodes",
-          "parameters": {
-            "uuid": {
-              "type": "string",
-              "description": "",
-              "required": true,
-              "location": "path"
-            },
-            "select": {
-              "type": "array",
-              "description": "Attributes of the object to return in the response.",
-              "required": false,
-              "location": "query"
-            }
-          },
-          "response": {
-            "$ref": "Node"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados"
-          ]
-        },
-        "destroy": {
-          "id": "arvados.nodes.destroy",
-          "path": "nodes/{uuid}",
-          "httpMethod": "DELETE",
-          "description": "destroy nodes",
-          "parameters": {
-            "uuid": {
-              "type": "string",
-              "description": "",
-              "required": true,
-              "location": "path"
-            }
-          },
-          "response": {
-            "$ref": "Node"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados"
-          ]
-        }
-      }
-    },
-    "users": {
-      "methods": {
-        "get": {
-          "id": "arvados.users.get",
-          "path": "users/{uuid}",
-          "httpMethod": "GET",
-          "description": "Gets a User's metadata by UUID.",
-          "parameters": {
-            "uuid": {
-              "type": "string",
-              "description": "The UUID of the User in question.",
-              "required": true,
-              "location": "path"
-            }
-          },
-          "parameterOrder": [
-            "uuid"
-          ],
-          "response": {
-            "$ref": "User"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados",
-            "https://api.arvados.org/auth/arvados.readonly"
-          ]
-        },
-        "index": {
-          "id": "arvados.users.list",
-          "path": "users",
-          "httpMethod": "GET",
-          "description": "List Users.\n\n                   The <code>list</code> method returns a\n                   <a href=\"/api/resources.html\">resource list</a> of\n                   matching Users. For example:\n\n                   <pre>\n                   {\n                    \"kind\":\"arvados#userList\",\n                    \"etag\":\"\",\n                    \"self_link\":\"\",\n                    \"next_page_token\":\"\",\n                    \"next_link\":\"\",\n                    \"items\":[\n                       ...\n                    ],\n                    \"items_available\":745,\n                    \"_profile\":{\n                     \"request_time\":0.157236317\n                    }\n                    </pre>",
-          "parameters": {
-            "filters": {
-              "type": "array",
-              "required": false,
-              "description": "",
-              "location": "query"
-            },
-            "where": {
-              "type": "object",
-              "required": false,
-              "description": "",
-              "location": "query"
-            },
-            "order": {
-              "type": "array",
-              "required": false,
-              "description": "",
-              "location": "query"
-            },
-            "select": {
-              "type": "array",
-              "description": "Attributes of each object to return in the response.",
-              "required": false,
-              "location": "query"
-            },
-            "distinct": {
-              "type": "boolean",
-              "required": false,
-              "default": "false",
-              "description": "",
-              "location": "query"
-            },
-            "limit": {
-              "type": "integer",
-              "required": false,
-              "default": "100",
-              "description": "",
-              "location": "query"
-            },
-            "offset": {
-              "type": "integer",
-              "required": false,
-              "default": "0",
-              "description": "",
-              "location": "query"
-            },
-            "count": {
-              "type": "string",
-              "required": false,
-              "default": "exact",
-              "description": "",
-              "location": "query"
-            },
-            "cluster_id": {
-              "type": "string",
-              "description": "List objects on a remote federated cluster instead of the current one.",
-              "location": "query",
-              "required": false
-            },
-            "bypass_federation": {
-              "type": "boolean",
-              "required": false,
-              "description": "bypass federation behavior, list items from local instance database only",
-              "location": "query"
-            }
-          },
-          "response": {
-            "$ref": "UserList"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados",
-            "https://api.arvados.org/auth/arvados.readonly"
-          ]
-        },
-        "create": {
-          "id": "arvados.users.create",
-          "path": "users",
-          "httpMethod": "POST",
-          "description": "Create a new User.",
-          "parameters": {
-            "select": {
-              "type": "array",
-              "description": "Attributes of the new object to return in the response.",
-              "required": false,
-              "location": "query"
-            },
-            "ensure_unique_name": {
-              "type": "boolean",
-              "description": "Adjust name to ensure uniqueness instead of returning an error on (owner_uuid, name) collision.",
-              "location": "query",
-              "required": false,
-              "default": "false"
-            },
-            "cluster_id": {
-              "type": "string",
-              "description": "Create object on a remote federated cluster instead of the current one.",
-              "location": "query",
-              "required": false
-            }
-          },
-          "request": {
-            "required": true,
-            "properties": {
-              "user": {
-                "$ref": "User"
-              }
-            }
-          },
-          "response": {
-            "$ref": "User"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados"
-          ]
-        },
-        "update": {
-          "id": "arvados.users.update",
-          "path": "users/{uuid}",
-          "httpMethod": "PUT",
-          "description": "Update attributes of an existing User.",
-          "parameters": {
-            "uuid": {
-              "type": "string",
-              "description": "The UUID of the User in question.",
-              "required": true,
-              "location": "path"
-            },
-            "select": {
-              "type": "array",
-              "description": "Attributes of the updated object to return in the response.",
-              "required": false,
-              "location": "query"
-            },
-            "bypass_federation": {
-              "type": "boolean",
-              "required": false,
-              "default": "false",
-              "description": "",
-              "location": "query"
-            }
-          },
-          "request": {
-            "required": true,
-            "properties": {
-              "user": {
-                "$ref": "User"
-              }
-            }
-          },
-          "response": {
-            "$ref": "User"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados"
-          ]
-        },
-        "delete": {
-          "id": "arvados.users.delete",
-          "path": "users/{uuid}",
-          "httpMethod": "DELETE",
-          "description": "Delete an existing User.",
-          "parameters": {
-            "uuid": {
-              "type": "string",
-              "description": "The UUID of the User in question.",
-              "required": true,
-              "location": "path"
-            }
-          },
-          "response": {
-            "$ref": "User"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados"
-          ]
-        },
-        "current": {
-          "id": "arvados.users.current",
-          "path": "users/current",
-          "httpMethod": "GET",
-          "description": "current users",
-          "parameters": {},
-          "response": {
-            "$ref": "User"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados"
-          ]
-        },
-        "system": {
-          "id": "arvados.users.system",
-          "path": "users/system",
-          "httpMethod": "GET",
-          "description": "system users",
-          "parameters": {},
-          "response": {
-            "$ref": "User"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados"
-          ]
-        },
-        "activate": {
-          "id": "arvados.users.activate",
-          "path": "users/{uuid}/activate",
-          "httpMethod": "POST",
-          "description": "activate users",
-          "parameters": {
-            "uuid": {
-              "type": "string",
-              "description": "",
-              "required": true,
-              "location": "path"
-            }
-          },
-          "response": {
-            "$ref": "User"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados"
-          ]
-        },
-        "setup": {
-          "id": "arvados.users.setup",
-          "path": "users/setup",
-          "httpMethod": "POST",
-          "description": "setup users",
-          "parameters": {
-            "uuid": {
-              "type": "string",
-              "required": false,
-              "description": "",
-              "location": "query"
-            },
-            "user": {
-              "type": "object",
-              "required": false,
-              "description": "",
-              "location": "query"
-            },
-            "repo_name": {
-              "type": "string",
-              "required": false,
-              "description": "",
-              "location": "query"
-            },
-            "vm_uuid": {
-              "type": "string",
-              "required": false,
-              "description": "",
-              "location": "query"
-            },
-            "send_notification_email": {
-              "type": "boolean",
-              "required": false,
-              "default": "false",
-              "description": "",
-              "location": "query"
-            }
-          },
-          "response": {
-            "$ref": "User"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados"
-          ]
-        },
-        "unsetup": {
-          "id": "arvados.users.unsetup",
-          "path": "users/{uuid}/unsetup",
-          "httpMethod": "POST",
-          "description": "unsetup users",
-          "parameters": {
-            "uuid": {
-              "type": "string",
-              "description": "",
-              "required": true,
-              "location": "path"
-            }
-          },
-          "response": {
-            "$ref": "User"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados"
-          ]
-        },
-        "merge": {
-          "id": "arvados.users.merge",
-          "path": "users/merge",
-          "httpMethod": "POST",
-          "description": "merge users",
-          "parameters": {
-            "new_owner_uuid": {
-              "type": "string",
-              "required": true,
-              "description": "",
-              "location": "query"
-            },
-            "new_user_token": {
-              "type": "string",
-              "required": false,
-              "description": "",
-              "location": "query"
-            },
-            "redirect_to_new_user": {
-              "type": "boolean",
-              "required": false,
-              "default": "false",
-              "description": "",
-              "location": "query"
-            },
-            "old_user_uuid": {
-              "type": "string",
-              "required": false,
-              "description": "",
-              "location": "query"
-            },
-            "new_user_uuid": {
-              "type": "string",
-              "required": false,
-              "description": "",
-              "location": "query"
-            }
-          },
-          "response": {
-            "$ref": "User"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados"
-          ]
-        },
-        "list": {
-          "id": "arvados.users.list",
-          "path": "users",
-          "httpMethod": "GET",
-          "description": "List Users.\n\n                   The <code>list</code> method returns a\n                   <a href=\"/api/resources.html\">resource list</a> of\n                   matching Users. For example:\n\n                   <pre>\n                   {\n                    \"kind\":\"arvados#userList\",\n                    \"etag\":\"\",\n                    \"self_link\":\"\",\n                    \"next_page_token\":\"\",\n                    \"next_link\":\"\",\n                    \"items\":[\n                       ...\n                    ],\n                    \"items_available\":745,\n                    \"_profile\":{\n                     \"request_time\":0.157236317\n                    }\n                    </pre>",
-          "parameters": {
-            "filters": {
-              "type": "array",
-              "required": false,
-              "description": "",
-              "location": "query"
-            },
-            "where": {
-              "type": "object",
-              "required": false,
-              "description": "",
-              "location": "query"
-            },
-            "order": {
-              "type": "array",
-              "required": false,
-              "description": "",
-              "location": "query"
-            },
-            "select": {
-              "type": "array",
-              "description": "Attributes of each object to return in the response.",
-              "required": false,
-              "location": "query"
-            },
-            "distinct": {
-              "type": "boolean",
-              "required": false,
-              "default": "false",
-              "description": "",
-              "location": "query"
-            },
-            "limit": {
-              "type": "integer",
-              "required": false,
-              "default": "100",
-              "description": "",
-              "location": "query"
-            },
-            "offset": {
-              "type": "integer",
-              "required": false,
-              "default": "0",
-              "description": "",
-              "location": "query"
-            },
-            "count": {
-              "type": "string",
-              "required": false,
-              "default": "exact",
-              "description": "",
-              "location": "query"
-            },
-            "cluster_id": {
-              "type": "string",
-              "description": "List objects on a remote federated cluster instead of the current one.",
-              "location": "query",
-              "required": false
-            },
-            "bypass_federation": {
-              "type": "boolean",
-              "required": false,
-              "description": "bypass federation behavior, list items from local instance database only",
-              "location": "query"
-            }
-          },
-          "response": {
-            "$ref": "UserList"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados",
-            "https://api.arvados.org/auth/arvados.readonly"
-          ]
-        },
-        "show": {
-          "id": "arvados.users.show",
-          "path": "users/{uuid}",
-          "httpMethod": "GET",
-          "description": "show users",
-          "parameters": {
-            "uuid": {
-              "type": "string",
-              "description": "",
-              "required": true,
-              "location": "path"
-            },
-            "select": {
-              "type": "array",
-              "description": "Attributes of the object to return in the response.",
-              "required": false,
-              "location": "query"
-            }
-          },
-          "response": {
-            "$ref": "User"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados"
-          ]
-        },
-        "destroy": {
-          "id": "arvados.users.destroy",
-          "path": "users/{uuid}",
-          "httpMethod": "DELETE",
-          "description": "destroy users",
-          "parameters": {
-            "uuid": {
-              "type": "string",
-              "description": "",
-              "required": true,
-              "location": "path"
-            }
-          },
-          "response": {
-            "$ref": "User"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados"
-          ]
-        }
-      }
-    },
-    "pipeline_instances": {
-      "methods": {
-        "get": {
-          "id": "arvados.pipeline_instances.get",
-          "path": "pipeline_instances/{uuid}",
-          "httpMethod": "GET",
-          "description": "Gets a PipelineInstance's metadata by UUID.",
-          "parameters": {
-            "uuid": {
-              "type": "string",
-              "description": "The UUID of the PipelineInstance in question.",
-              "required": true,
-              "location": "path"
-            }
-          },
-          "parameterOrder": [
-            "uuid"
-          ],
-          "response": {
-            "$ref": "PipelineInstance"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados",
-            "https://api.arvados.org/auth/arvados.readonly"
-          ]
-        },
-        "index": {
-          "id": "arvados.pipeline_instances.list",
-          "path": "pipeline_instances",
-          "httpMethod": "GET",
-          "description": "List PipelineInstances.\n\n                   The <code>list</code> method returns a\n                   <a href=\"/api/resources.html\">resource list</a> of\n                   matching PipelineInstances. For example:\n\n                   <pre>\n                   {\n                    \"kind\":\"arvados#pipelineInstanceList\",\n                    \"etag\":\"\",\n                    \"self_link\":\"\",\n                    \"next_page_token\":\"\",\n                    \"next_link\":\"\",\n                    \"items\":[\n                       ...\n                    ],\n                    \"items_available\":745,\n                    \"_profile\":{\n                     \"request_time\":0.157236317\n                    }\n                    </pre>",
-          "parameters": {
-            "filters": {
-              "type": "array",
-              "required": false,
-              "description": "",
-              "location": "query"
-            },
-            "where": {
-              "type": "object",
-              "required": false,
-              "description": "",
-              "location": "query"
-            },
-            "order": {
-              "type": "array",
-              "required": false,
-              "description": "",
-              "location": "query"
-            },
-            "select": {
-              "type": "array",
-              "description": "Attributes of each object to return in the response.",
-              "required": false,
-              "location": "query"
-            },
-            "distinct": {
-              "type": "boolean",
-              "required": false,
-              "default": "false",
-              "description": "",
-              "location": "query"
-            },
-            "limit": {
-              "type": "integer",
-              "required": false,
-              "default": "100",
-              "description": "",
-              "location": "query"
-            },
-            "offset": {
-              "type": "integer",
-              "required": false,
-              "default": "0",
-              "description": "",
-              "location": "query"
-            },
-            "count": {
-              "type": "string",
-              "required": false,
-              "default": "exact",
-              "description": "",
-              "location": "query"
-            },
-            "cluster_id": {
-              "type": "string",
-              "description": "List objects on a remote federated cluster instead of the current one.",
-              "location": "query",
-              "required": false
-            },
-            "bypass_federation": {
-              "type": "boolean",
-              "required": false,
-              "description": "bypass federation behavior, list items from local instance database only",
-              "location": "query"
-            }
-          },
-          "response": {
-            "$ref": "PipelineInstanceList"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados",
-            "https://api.arvados.org/auth/arvados.readonly"
-          ]
-        },
-        "create": {
-          "id": "arvados.pipeline_instances.create",
-          "path": "pipeline_instances",
-          "httpMethod": "POST",
-          "description": "Create a new PipelineInstance.",
-          "parameters": {
-            "select": {
-              "type": "array",
-              "description": "Attributes of the new object to return in the response.",
-              "required": false,
-              "location": "query"
-            },
-            "ensure_unique_name": {
-              "type": "boolean",
-              "description": "Adjust name to ensure uniqueness instead of returning an error on (owner_uuid, name) collision.",
-              "location": "query",
-              "required": false,
-              "default": "false"
-            },
-            "cluster_id": {
-              "type": "string",
-              "description": "Create object on a remote federated cluster instead of the current one.",
-              "location": "query",
-              "required": false
-            }
-          },
-          "request": {
-            "required": true,
-            "properties": {
-              "pipeline_instance": {
-                "$ref": "PipelineInstance"
-              }
-            }
-          },
-          "response": {
-            "$ref": "PipelineInstance"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados"
-          ]
-        },
-        "update": {
-          "id": "arvados.pipeline_instances.update",
-          "path": "pipeline_instances/{uuid}",
-          "httpMethod": "PUT",
-          "description": "Update attributes of an existing PipelineInstance.",
-          "parameters": {
-            "uuid": {
-              "type": "string",
-              "description": "The UUID of the PipelineInstance in question.",
-              "required": true,
-              "location": "path"
-            },
-            "select": {
-              "type": "array",
-              "description": "Attributes of the updated object to return in the response.",
-              "required": false,
-              "location": "query"
-            }
-          },
-          "request": {
-            "required": true,
-            "properties": {
-              "pipeline_instance": {
-                "$ref": "PipelineInstance"
-              }
-            }
-          },
-          "response": {
-            "$ref": "PipelineInstance"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados"
-          ]
-        },
-        "delete": {
-          "id": "arvados.pipeline_instances.delete",
-          "path": "pipeline_instances/{uuid}",
-          "httpMethod": "DELETE",
-          "description": "Delete an existing PipelineInstance.",
-          "parameters": {
-            "uuid": {
-              "type": "string",
-              "description": "The UUID of the PipelineInstance in question.",
-              "required": true,
-              "location": "path"
-            }
-          },
-          "response": {
-            "$ref": "PipelineInstance"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados"
-          ]
-        },
-        "cancel": {
-          "id": "arvados.pipeline_instances.cancel",
-          "path": "pipeline_instances/{uuid}/cancel",
-          "httpMethod": "POST",
-          "description": "cancel pipeline_instances",
-          "parameters": {
-            "uuid": {
-              "type": "string",
-              "description": "",
-              "required": true,
-              "location": "path"
-            }
-          },
-          "response": {
-            "$ref": "PipelineInstance"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados"
-          ]
-        },
-        "list": {
-          "id": "arvados.pipeline_instances.list",
-          "path": "pipeline_instances",
-          "httpMethod": "GET",
-          "description": "List PipelineInstances.\n\n                   The <code>list</code> method returns a\n                   <a href=\"/api/resources.html\">resource list</a> of\n                   matching PipelineInstances. For example:\n\n                   <pre>\n                   {\n                    \"kind\":\"arvados#pipelineInstanceList\",\n                    \"etag\":\"\",\n                    \"self_link\":\"\",\n                    \"next_page_token\":\"\",\n                    \"next_link\":\"\",\n                    \"items\":[\n                       ...\n                    ],\n                    \"items_available\":745,\n                    \"_profile\":{\n                     \"request_time\":0.157236317\n                    }\n                    </pre>",
-          "parameters": {
-            "filters": {
-              "type": "array",
-              "required": false,
-              "description": "",
-              "location": "query"
-            },
-            "where": {
-              "type": "object",
-              "required": false,
-              "description": "",
-              "location": "query"
-            },
-            "order": {
-              "type": "array",
-              "required": false,
-              "description": "",
-              "location": "query"
-            },
-            "select": {
-              "type": "array",
-              "description": "Attributes of each object to return in the response.",
-              "required": false,
-              "location": "query"
-            },
-            "distinct": {
-              "type": "boolean",
-              "required": false,
-              "default": "false",
-              "description": "",
-              "location": "query"
-            },
-            "limit": {
-              "type": "integer",
-              "required": false,
-              "default": "100",
-              "description": "",
-              "location": "query"
-            },
-            "offset": {
-              "type": "integer",
-              "required": false,
-              "default": "0",
-              "description": "",
-              "location": "query"
-            },
-            "count": {
-              "type": "string",
-              "required": false,
-              "default": "exact",
-              "description": "",
-              "location": "query"
-            },
-            "cluster_id": {
-              "type": "string",
-              "description": "List objects on a remote federated cluster instead of the current one.",
-              "location": "query",
-              "required": false
-            },
-            "bypass_federation": {
-              "type": "boolean",
-              "required": false,
-              "description": "bypass federation behavior, list items from local instance database only",
-              "location": "query"
-            }
-          },
-          "response": {
-            "$ref": "PipelineInstanceList"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados",
-            "https://api.arvados.org/auth/arvados.readonly"
-          ]
-        },
-        "show": {
-          "id": "arvados.pipeline_instances.show",
-          "path": "pipeline_instances/{uuid}",
-          "httpMethod": "GET",
-          "description": "show pipeline_instances",
-          "parameters": {
-            "uuid": {
-              "type": "string",
-              "description": "",
-              "required": true,
-              "location": "path"
-            },
-            "select": {
-              "type": "array",
-              "description": "Attributes of the object to return in the response.",
-              "required": false,
-              "location": "query"
-            }
-          },
-          "response": {
-            "$ref": "PipelineInstance"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados"
-          ]
-        },
-        "destroy": {
-          "id": "arvados.pipeline_instances.destroy",
-          "path": "pipeline_instances/{uuid}",
-          "httpMethod": "DELETE",
-          "description": "destroy pipeline_instances",
-          "parameters": {
-            "uuid": {
-              "type": "string",
-              "description": "",
-              "required": true,
-              "location": "path"
-            }
-          },
-          "response": {
-            "$ref": "PipelineInstance"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados"
-          ]
-        }
-      }
-    },
-    "pipeline_templates": {
-      "methods": {
-        "get": {
-          "id": "arvados.pipeline_templates.get",
-          "path": "pipeline_templates/{uuid}",
-          "httpMethod": "GET",
-          "description": "Gets a PipelineTemplate's metadata by UUID.",
-          "parameters": {
-            "uuid": {
-              "type": "string",
-              "description": "The UUID of the PipelineTemplate in question.",
-              "required": true,
-              "location": "path"
-            }
-          },
-          "parameterOrder": [
-            "uuid"
-          ],
-          "response": {
-            "$ref": "PipelineTemplate"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados",
-            "https://api.arvados.org/auth/arvados.readonly"
-          ]
-        },
-        "index": {
-          "id": "arvados.pipeline_templates.list",
-          "path": "pipeline_templates",
-          "httpMethod": "GET",
-          "description": "List PipelineTemplates.\n\n                   The <code>list</code> method returns a\n                   <a href=\"/api/resources.html\">resource list</a> of\n                   matching PipelineTemplates. For example:\n\n                   <pre>\n                   {\n                    \"kind\":\"arvados#pipelineTemplateList\",\n                    \"etag\":\"\",\n                    \"self_link\":\"\",\n                    \"next_page_token\":\"\",\n                    \"next_link\":\"\",\n                    \"items\":[\n                       ...\n                    ],\n                    \"items_available\":745,\n                    \"_profile\":{\n                     \"request_time\":0.157236317\n                    }\n                    </pre>",
-          "parameters": {
-            "filters": {
-              "type": "array",
-              "required": false,
-              "description": "",
-              "location": "query"
-            },
-            "where": {
-              "type": "object",
-              "required": false,
-              "description": "",
-              "location": "query"
-            },
-            "order": {
-              "type": "array",
-              "required": false,
-              "description": "",
-              "location": "query"
-            },
-            "select": {
-              "type": "array",
-              "description": "Attributes of each object to return in the response.",
-              "required": false,
-              "location": "query"
-            },
-            "distinct": {
-              "type": "boolean",
-              "required": false,
-              "default": "false",
-              "description": "",
-              "location": "query"
-            },
-            "limit": {
-              "type": "integer",
-              "required": false,
-              "default": "100",
-              "description": "",
-              "location": "query"
-            },
-            "offset": {
-              "type": "integer",
-              "required": false,
-              "default": "0",
-              "description": "",
-              "location": "query"
-            },
-            "count": {
-              "type": "string",
-              "required": false,
-              "default": "exact",
-              "description": "",
-              "location": "query"
-            },
-            "cluster_id": {
-              "type": "string",
-              "description": "List objects on a remote federated cluster instead of the current one.",
-              "location": "query",
-              "required": false
-            },
-            "bypass_federation": {
-              "type": "boolean",
-              "required": false,
-              "description": "bypass federation behavior, list items from local instance database only",
-              "location": "query"
-            }
-          },
-          "response": {
-            "$ref": "PipelineTemplateList"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados",
-            "https://api.arvados.org/auth/arvados.readonly"
-          ]
-        },
-        "create": {
-          "id": "arvados.pipeline_templates.create",
-          "path": "pipeline_templates",
-          "httpMethod": "POST",
-          "description": "Create a new PipelineTemplate.",
-          "parameters": {
-            "select": {
-              "type": "array",
-              "description": "Attributes of the new object to return in the response.",
-              "required": false,
-              "location": "query"
-            },
-            "ensure_unique_name": {
-              "type": "boolean",
-              "description": "Adjust name to ensure uniqueness instead of returning an error on (owner_uuid, name) collision.",
-              "location": "query",
-              "required": false,
-              "default": "false"
-            },
-            "cluster_id": {
-              "type": "string",
-              "description": "Create object on a remote federated cluster instead of the current one.",
-              "location": "query",
-              "required": false
-            }
-          },
-          "request": {
-            "required": true,
-            "properties": {
-              "pipeline_template": {
-                "$ref": "PipelineTemplate"
-              }
-            }
-          },
-          "response": {
-            "$ref": "PipelineTemplate"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados"
-          ]
-        },
-        "update": {
-          "id": "arvados.pipeline_templates.update",
-          "path": "pipeline_templates/{uuid}",
-          "httpMethod": "PUT",
-          "description": "Update attributes of an existing PipelineTemplate.",
-          "parameters": {
-            "uuid": {
-              "type": "string",
-              "description": "The UUID of the PipelineTemplate in question.",
-              "required": true,
-              "location": "path"
-            },
-            "select": {
-              "type": "array",
-              "description": "Attributes of the updated object to return in the response.",
-              "required": false,
-              "location": "query"
-            }
-          },
-          "request": {
-            "required": true,
-            "properties": {
-              "pipeline_template": {
-                "$ref": "PipelineTemplate"
-              }
-            }
-          },
-          "response": {
-            "$ref": "PipelineTemplate"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados"
-          ]
-        },
-        "delete": {
-          "id": "arvados.pipeline_templates.delete",
-          "path": "pipeline_templates/{uuid}",
-          "httpMethod": "DELETE",
-          "description": "Delete an existing PipelineTemplate.",
-          "parameters": {
-            "uuid": {
-              "type": "string",
-              "description": "The UUID of the PipelineTemplate in question.",
-              "required": true,
-              "location": "path"
-            }
-          },
-          "response": {
-            "$ref": "PipelineTemplate"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados"
-          ]
-        },
-        "list": {
-          "id": "arvados.pipeline_templates.list",
-          "path": "pipeline_templates",
-          "httpMethod": "GET",
-          "description": "List PipelineTemplates.\n\n                   The <code>list</code> method returns a\n                   <a href=\"/api/resources.html\">resource list</a> of\n                   matching PipelineTemplates. For example:\n\n                   <pre>\n                   {\n                    \"kind\":\"arvados#pipelineTemplateList\",\n                    \"etag\":\"\",\n                    \"self_link\":\"\",\n                    \"next_page_token\":\"\",\n                    \"next_link\":\"\",\n                    \"items\":[\n                       ...\n                    ],\n                    \"items_available\":745,\n                    \"_profile\":{\n                     \"request_time\":0.157236317\n                    }\n                    </pre>",
-          "parameters": {
-            "filters": {
-              "type": "array",
-              "required": false,
-              "description": "",
-              "location": "query"
-            },
-            "where": {
-              "type": "object",
-              "required": false,
-              "description": "",
-              "location": "query"
-            },
-            "order": {
-              "type": "array",
-              "required": false,
-              "description": "",
-              "location": "query"
-            },
-            "select": {
-              "type": "array",
-              "description": "Attributes of each object to return in the response.",
-              "required": false,
-              "location": "query"
-            },
-            "distinct": {
-              "type": "boolean",
-              "required": false,
-              "default": "false",
-              "description": "",
-              "location": "query"
-            },
-            "limit": {
-              "type": "integer",
-              "required": false,
-              "default": "100",
-              "description": "",
-              "location": "query"
-            },
-            "offset": {
-              "type": "integer",
-              "required": false,
-              "default": "0",
-              "description": "",
-              "location": "query"
-            },
-            "count": {
-              "type": "string",
-              "required": false,
-              "default": "exact",
-              "description": "",
-              "location": "query"
-            },
-            "cluster_id": {
-              "type": "string",
-              "description": "List objects on a remote federated cluster instead of the current one.",
-              "location": "query",
-              "required": false
-            },
-            "bypass_federation": {
-              "type": "boolean",
-              "required": false,
-              "description": "bypass federation behavior, list items from local instance database only",
-              "location": "query"
-            }
-          },
-          "response": {
-            "$ref": "PipelineTemplateList"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados",
-            "https://api.arvados.org/auth/arvados.readonly"
-          ]
-        },
-        "show": {
-          "id": "arvados.pipeline_templates.show",
-          "path": "pipeline_templates/{uuid}",
-          "httpMethod": "GET",
-          "description": "show pipeline_templates",
-          "parameters": {
-            "uuid": {
-              "type": "string",
-              "description": "",
-              "required": true,
-              "location": "path"
-            },
-            "select": {
-              "type": "array",
-              "description": "Attributes of the object to return in the response.",
-              "required": false,
-              "location": "query"
-            }
-          },
-          "response": {
-            "$ref": "PipelineTemplate"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados"
-          ]
-        },
-        "destroy": {
-          "id": "arvados.pipeline_templates.destroy",
-          "path": "pipeline_templates/{uuid}",
-          "httpMethod": "DELETE",
-          "description": "destroy pipeline_templates",
-          "parameters": {
-            "uuid": {
-              "type": "string",
-              "description": "",
-              "required": true,
-              "location": "path"
-            }
-          },
-          "response": {
-            "$ref": "PipelineTemplate"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados"
-          ]
-        }
-      }
-    },
-    "repositories": {
-      "methods": {
-        "get": {
-          "id": "arvados.repositories.get",
-          "path": "repositories/{uuid}",
-          "httpMethod": "GET",
-          "description": "Gets a Repository's metadata by UUID.",
-          "parameters": {
-            "uuid": {
-              "type": "string",
-              "description": "The UUID of the Repository in question.",
-              "required": true,
-              "location": "path"
-            }
-          },
-          "parameterOrder": [
-            "uuid"
-          ],
-          "response": {
-            "$ref": "Repository"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados",
-            "https://api.arvados.org/auth/arvados.readonly"
-          ]
-        },
-        "index": {
-          "id": "arvados.repositories.list",
-          "path": "repositories",
-          "httpMethod": "GET",
-          "description": "List Repositories.\n\n                   The <code>list</code> method returns a\n                   <a href=\"/api/resources.html\">resource list</a> of\n                   matching Repositories. For example:\n\n                   <pre>\n                   {\n                    \"kind\":\"arvados#repositoryList\",\n                    \"etag\":\"\",\n                    \"self_link\":\"\",\n                    \"next_page_token\":\"\",\n                    \"next_link\":\"\",\n                    \"items\":[\n                       ...\n                    ],\n                    \"items_available\":745,\n                    \"_profile\":{\n                     \"request_time\":0.157236317\n                    }\n                    </pre>",
-          "parameters": {
-            "filters": {
-              "type": "array",
-              "required": false,
-              "description": "",
-              "location": "query"
-            },
-            "where": {
-              "type": "object",
-              "required": false,
-              "description": "",
-              "location": "query"
-            },
-            "order": {
-              "type": "array",
-              "required": false,
-              "description": "",
-              "location": "query"
-            },
-            "select": {
-              "type": "array",
-              "description": "Attributes of each object to return in the response.",
-              "required": false,
-              "location": "query"
-            },
-            "distinct": {
-              "type": "boolean",
-              "required": false,
-              "default": "false",
-              "description": "",
-              "location": "query"
-            },
-            "limit": {
-              "type": "integer",
-              "required": false,
-              "default": "100",
-              "description": "",
-              "location": "query"
-            },
-            "offset": {
-              "type": "integer",
-              "required": false,
-              "default": "0",
-              "description": "",
-              "location": "query"
-            },
-            "count": {
-              "type": "string",
-              "required": false,
-              "default": "exact",
-              "description": "",
-              "location": "query"
-            },
-            "cluster_id": {
-              "type": "string",
-              "description": "List objects on a remote federated cluster instead of the current one.",
-              "location": "query",
-              "required": false
-            },
-            "bypass_federation": {
-              "type": "boolean",
-              "required": false,
-              "description": "bypass federation behavior, list items from local instance database only",
-              "location": "query"
-            }
-          },
-          "response": {
-            "$ref": "RepositoryList"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados",
-            "https://api.arvados.org/auth/arvados.readonly"
-          ]
-        },
-        "create": {
-          "id": "arvados.repositories.create",
-          "path": "repositories",
-          "httpMethod": "POST",
-          "description": "Create a new Repository.",
-          "parameters": {
-            "select": {
-              "type": "array",
-              "description": "Attributes of the new object to return in the response.",
-              "required": false,
-              "location": "query"
-            },
-            "ensure_unique_name": {
-              "type": "boolean",
-              "description": "Adjust name to ensure uniqueness instead of returning an error on (owner_uuid, name) collision.",
-              "location": "query",
-              "required": false,
-              "default": "false"
-            },
-            "cluster_id": {
-              "type": "string",
-              "description": "Create object on a remote federated cluster instead of the current one.",
-              "location": "query",
-              "required": false
-            }
-          },
-          "request": {
-            "required": true,
-            "properties": {
-              "repository": {
-                "$ref": "Repository"
-              }
-            }
-          },
-          "response": {
-            "$ref": "Repository"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados"
-          ]
-        },
-        "update": {
-          "id": "arvados.repositories.update",
-          "path": "repositories/{uuid}",
-          "httpMethod": "PUT",
-          "description": "Update attributes of an existing Repository.",
-          "parameters": {
-            "uuid": {
-              "type": "string",
-              "description": "The UUID of the Repository in question.",
-              "required": true,
-              "location": "path"
-            },
-            "select": {
-              "type": "array",
-              "description": "Attributes of the updated object to return in the response.",
-              "required": false,
-              "location": "query"
-            }
-          },
-          "request": {
-            "required": true,
-            "properties": {
-              "repository": {
-                "$ref": "Repository"
-              }
-            }
-          },
-          "response": {
-            "$ref": "Repository"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados"
-          ]
-        },
-        "delete": {
-          "id": "arvados.repositories.delete",
-          "path": "repositories/{uuid}",
-          "httpMethod": "DELETE",
-          "description": "Delete an existing Repository.",
-          "parameters": {
-            "uuid": {
-              "type": "string",
-              "description": "The UUID of the Repository in question.",
-              "required": true,
-              "location": "path"
-            }
-          },
-          "response": {
-            "$ref": "Repository"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados"
-          ]
-        },
-        "get_all_permissions": {
-          "id": "arvados.repositories.get_all_permissions",
-          "path": "repositories/get_all_permissions",
-          "httpMethod": "GET",
-          "description": "get_all_permissions repositories",
-          "parameters": {},
-          "response": {
-            "$ref": "Repository"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados"
-          ]
-        },
-        "list": {
-          "id": "arvados.repositories.list",
-          "path": "repositories",
-          "httpMethod": "GET",
-          "description": "List Repositories.\n\n                   The <code>list</code> method returns a\n                   <a href=\"/api/resources.html\">resource list</a> of\n                   matching Repositories. For example:\n\n                   <pre>\n                   {\n                    \"kind\":\"arvados#repositoryList\",\n                    \"etag\":\"\",\n                    \"self_link\":\"\",\n                    \"next_page_token\":\"\",\n                    \"next_link\":\"\",\n                    \"items\":[\n                       ...\n                    ],\n                    \"items_available\":745,\n                    \"_profile\":{\n                     \"request_time\":0.157236317\n                    }\n                    </pre>",
-          "parameters": {
-            "filters": {
-              "type": "array",
-              "required": false,
-              "description": "",
-              "location": "query"
-            },
-            "where": {
-              "type": "object",
-              "required": false,
-              "description": "",
-              "location": "query"
-            },
-            "order": {
-              "type": "array",
-              "required": false,
-              "description": "",
-              "location": "query"
-            },
-            "select": {
-              "type": "array",
-              "description": "Attributes of each object to return in the response.",
-              "required": false,
-              "location": "query"
-            },
-            "distinct": {
-              "type": "boolean",
-              "required": false,
-              "default": "false",
-              "description": "",
-              "location": "query"
-            },
-            "limit": {
-              "type": "integer",
-              "required": false,
-              "default": "100",
-              "description": "",
-              "location": "query"
-            },
-            "offset": {
-              "type": "integer",
-              "required": false,
-              "default": "0",
-              "description": "",
-              "location": "query"
-            },
-            "count": {
-              "type": "string",
-              "required": false,
-              "default": "exact",
-              "description": "",
-              "location": "query"
-            },
-            "cluster_id": {
-              "type": "string",
-              "description": "List objects on a remote federated cluster instead of the current one.",
-              "location": "query",
-              "required": false
-            },
-            "bypass_federation": {
-              "type": "boolean",
-              "required": false,
-              "description": "bypass federation behavior, list items from local instance database only",
-              "location": "query"
-            }
-          },
-          "response": {
-            "$ref": "RepositoryList"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados",
-            "https://api.arvados.org/auth/arvados.readonly"
-          ]
-        },
-        "show": {
-          "id": "arvados.repositories.show",
-          "path": "repositories/{uuid}",
-          "httpMethod": "GET",
-          "description": "show repositories",
-          "parameters": {
-            "uuid": {
-              "type": "string",
-              "description": "",
-              "required": true,
-              "location": "path"
-            },
-            "select": {
-              "type": "array",
-              "description": "Attributes of the object to return in the response.",
-              "required": false,
-              "location": "query"
-            }
-          },
-          "response": {
-            "$ref": "Repository"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados"
-          ]
-        },
-        "destroy": {
-          "id": "arvados.repositories.destroy",
-          "path": "repositories/{uuid}",
-          "httpMethod": "DELETE",
-          "description": "destroy repositories",
-          "parameters": {
-            "uuid": {
-              "type": "string",
-              "description": "",
-              "required": true,
-              "location": "path"
-            }
-          },
-          "response": {
-            "$ref": "Repository"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados"
-          ]
-        }
-      }
-    },
-    "specimens": {
-      "methods": {
-        "get": {
-          "id": "arvados.specimens.get",
-          "path": "specimens/{uuid}",
-          "httpMethod": "GET",
-          "description": "Gets a Specimen's metadata by UUID.",
-          "parameters": {
-            "uuid": {
-              "type": "string",
-              "description": "The UUID of the Specimen in question.",
-              "required": true,
-              "location": "path"
-            }
-          },
-          "parameterOrder": [
-            "uuid"
-          ],
-          "response": {
-            "$ref": "Specimen"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados",
-            "https://api.arvados.org/auth/arvados.readonly"
-          ]
-        },
-        "index": {
-          "id": "arvados.specimens.list",
-          "path": "specimens",
-          "httpMethod": "GET",
-          "description": "List Specimens.\n\n                   The <code>list</code> method returns a\n                   <a href=\"/api/resources.html\">resource list</a> of\n                   matching Specimens. For example:\n\n                   <pre>\n                   {\n                    \"kind\":\"arvados#specimenList\",\n                    \"etag\":\"\",\n                    \"self_link\":\"\",\n                    \"next_page_token\":\"\",\n                    \"next_link\":\"\",\n                    \"items\":[\n                       ...\n                    ],\n                    \"items_available\":745,\n                    \"_profile\":{\n                     \"request_time\":0.157236317\n                    }\n                    </pre>",
-          "parameters": {
-            "filters": {
-              "type": "array",
-              "required": false,
-              "description": "",
-              "location": "query"
-            },
-            "where": {
-              "type": "object",
-              "required": false,
-              "description": "",
-              "location": "query"
-            },
-            "order": {
-              "type": "array",
-              "required": false,
-              "description": "",
-              "location": "query"
-            },
-            "select": {
-              "type": "array",
-              "description": "Attributes of each object to return in the response.",
-              "required": false,
-              "location": "query"
-            },
-            "distinct": {
-              "type": "boolean",
-              "required": false,
-              "default": "false",
-              "description": "",
-              "location": "query"
-            },
-            "limit": {
-              "type": "integer",
-              "required": false,
-              "default": "100",
-              "description": "",
-              "location": "query"
-            },
-            "offset": {
-              "type": "integer",
-              "required": false,
-              "default": "0",
-              "description": "",
-              "location": "query"
-            },
-            "count": {
-              "type": "string",
-              "required": false,
-              "default": "exact",
-              "description": "",
-              "location": "query"
-            },
-            "cluster_id": {
-              "type": "string",
-              "description": "List objects on a remote federated cluster instead of the current one.",
-              "location": "query",
-              "required": false
-            },
-            "bypass_federation": {
-              "type": "boolean",
-              "required": false,
-              "description": "bypass federation behavior, list items from local instance database only",
-              "location": "query"
-            }
-          },
-          "response": {
-            "$ref": "SpecimenList"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados",
-            "https://api.arvados.org/auth/arvados.readonly"
-          ]
-        },
-        "create": {
-          "id": "arvados.specimens.create",
-          "path": "specimens",
-          "httpMethod": "POST",
-          "description": "Create a new Specimen.",
-          "parameters": {
-            "select": {
-              "type": "array",
-              "description": "Attributes of the new object to return in the response.",
-              "required": false,
-              "location": "query"
-            },
-            "ensure_unique_name": {
-              "type": "boolean",
-              "description": "Adjust name to ensure uniqueness instead of returning an error on (owner_uuid, name) collision.",
-              "location": "query",
-              "required": false,
-              "default": "false"
-            },
-            "cluster_id": {
-              "type": "string",
-              "description": "Create object on a remote federated cluster instead of the current one.",
-              "location": "query",
-              "required": false
-            }
-          },
-          "request": {
-            "required": true,
-            "properties": {
-              "specimen": {
-                "$ref": "Specimen"
-              }
-            }
-          },
-          "response": {
-            "$ref": "Specimen"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados"
-          ]
-        },
-        "update": {
-          "id": "arvados.specimens.update",
-          "path": "specimens/{uuid}",
-          "httpMethod": "PUT",
-          "description": "Update attributes of an existing Specimen.",
-          "parameters": {
-            "uuid": {
-              "type": "string",
-              "description": "The UUID of the Specimen in question.",
-              "required": true,
-              "location": "path"
-            },
-            "select": {
-              "type": "array",
-              "description": "Attributes of the updated object to return in the response.",
-              "required": false,
-              "location": "query"
-            }
-          },
-          "request": {
-            "required": true,
-            "properties": {
-              "specimen": {
-                "$ref": "Specimen"
-              }
-            }
-          },
-          "response": {
-            "$ref": "Specimen"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados"
-          ]
-        },
-        "delete": {
-          "id": "arvados.specimens.delete",
-          "path": "specimens/{uuid}",
-          "httpMethod": "DELETE",
-          "description": "Delete an existing Specimen.",
-          "parameters": {
-            "uuid": {
-              "type": "string",
-              "description": "The UUID of the Specimen in question.",
-              "required": true,
-              "location": "path"
-            }
-          },
-          "response": {
-            "$ref": "Specimen"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados"
-          ]
-        },
-        "list": {
-          "id": "arvados.specimens.list",
-          "path": "specimens",
-          "httpMethod": "GET",
-          "description": "List Specimens.\n\n                   The <code>list</code> method returns a\n                   <a href=\"/api/resources.html\">resource list</a> of\n                   matching Specimens. For example:\n\n                   <pre>\n                   {\n                    \"kind\":\"arvados#specimenList\",\n                    \"etag\":\"\",\n                    \"self_link\":\"\",\n                    \"next_page_token\":\"\",\n                    \"next_link\":\"\",\n                    \"items\":[\n                       ...\n                    ],\n                    \"items_available\":745,\n                    \"_profile\":{\n                     \"request_time\":0.157236317\n                    }\n                    </pre>",
-          "parameters": {
-            "filters": {
-              "type": "array",
-              "required": false,
-              "description": "",
-              "location": "query"
-            },
-            "where": {
-              "type": "object",
-              "required": false,
-              "description": "",
-              "location": "query"
-            },
-            "order": {
-              "type": "array",
-              "required": false,
-              "description": "",
-              "location": "query"
-            },
-            "select": {
-              "type": "array",
-              "description": "Attributes of each object to return in the response.",
-              "required": false,
-              "location": "query"
-            },
-            "distinct": {
-              "type": "boolean",
-              "required": false,
-              "default": "false",
-              "description": "",
-              "location": "query"
-            },
-            "limit": {
-              "type": "integer",
-              "required": false,
-              "default": "100",
-              "description": "",
-              "location": "query"
-            },
-            "offset": {
-              "type": "integer",
-              "required": false,
-              "default": "0",
-              "description": "",
-              "location": "query"
-            },
-            "count": {
-              "type": "string",
-              "required": false,
-              "default": "exact",
-              "description": "",
-              "location": "query"
-            },
-            "cluster_id": {
-              "type": "string",
-              "description": "List objects on a remote federated cluster instead of the current one.",
-              "location": "query",
-              "required": false
-            },
-            "bypass_federation": {
-              "type": "boolean",
-              "required": false,
-              "description": "bypass federation behavior, list items from local instance database only",
-              "location": "query"
-            }
-          },
-          "response": {
-            "$ref": "SpecimenList"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados",
-            "https://api.arvados.org/auth/arvados.readonly"
-          ]
-        },
-        "show": {
-          "id": "arvados.specimens.show",
-          "path": "specimens/{uuid}",
-          "httpMethod": "GET",
-          "description": "show specimens",
-          "parameters": {
-            "uuid": {
-              "type": "string",
-              "description": "",
-              "required": true,
-              "location": "path"
-            },
-            "select": {
-              "type": "array",
-              "description": "Attributes of the object to return in the response.",
-              "required": false,
-              "location": "query"
-            }
-          },
-          "response": {
-            "$ref": "Specimen"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados"
-          ]
-        },
-        "destroy": {
-          "id": "arvados.specimens.destroy",
-          "path": "specimens/{uuid}",
-          "httpMethod": "DELETE",
-          "description": "destroy specimens",
-          "parameters": {
-            "uuid": {
-              "type": "string",
-              "description": "",
-              "required": true,
-              "location": "path"
-            }
-          },
-          "response": {
-            "$ref": "Specimen"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados"
-          ]
-        }
-      }
-    },
-    "traits": {
-      "methods": {
-        "get": {
-          "id": "arvados.traits.get",
-          "path": "traits/{uuid}",
-          "httpMethod": "GET",
-          "description": "Gets a Trait's metadata by UUID.",
-          "parameters": {
-            "uuid": {
-              "type": "string",
-              "description": "The UUID of the Trait in question.",
-              "required": true,
-              "location": "path"
-            }
-          },
-          "parameterOrder": [
-            "uuid"
-          ],
-          "response": {
-            "$ref": "Trait"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados",
-            "https://api.arvados.org/auth/arvados.readonly"
-          ]
-        },
-        "index": {
-          "id": "arvados.traits.list",
-          "path": "traits",
-          "httpMethod": "GET",
-          "description": "List Traits.\n\n                   The <code>list</code> method returns a\n                   <a href=\"/api/resources.html\">resource list</a> of\n                   matching Traits. For example:\n\n                   <pre>\n                   {\n                    \"kind\":\"arvados#traitList\",\n                    \"etag\":\"\",\n                    \"self_link\":\"\",\n                    \"next_page_token\":\"\",\n                    \"next_link\":\"\",\n                    \"items\":[\n                       ...\n                    ],\n                    \"items_available\":745,\n                    \"_profile\":{\n                     \"request_time\":0.157236317\n                    }\n                    </pre>",
-          "parameters": {
-            "filters": {
-              "type": "array",
-              "required": false,
-              "description": "",
-              "location": "query"
-            },
-            "where": {
-              "type": "object",
-              "required": false,
-              "description": "",
-              "location": "query"
-            },
-            "order": {
-              "type": "array",
-              "required": false,
-              "description": "",
-              "location": "query"
-            },
-            "select": {
-              "type": "array",
-              "description": "Attributes of each object to return in the response.",
-              "required": false,
-              "location": "query"
-            },
-            "distinct": {
-              "type": "boolean",
-              "required": false,
-              "default": "false",
-              "description": "",
-              "location": "query"
-            },
-            "limit": {
-              "type": "integer",
-              "required": false,
-              "default": "100",
-              "description": "",
-              "location": "query"
-            },
-            "offset": {
-              "type": "integer",
-              "required": false,
-              "default": "0",
-              "description": "",
-              "location": "query"
-            },
-            "count": {
-              "type": "string",
-              "required": false,
-              "default": "exact",
-              "description": "",
-              "location": "query"
-            },
-            "cluster_id": {
-              "type": "string",
-              "description": "List objects on a remote federated cluster instead of the current one.",
-              "location": "query",
-              "required": false
-            },
-            "bypass_federation": {
-              "type": "boolean",
-              "required": false,
-              "description": "bypass federation behavior, list items from local instance database only",
-              "location": "query"
-            }
-          },
-          "response": {
-            "$ref": "TraitList"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados",
-            "https://api.arvados.org/auth/arvados.readonly"
-          ]
-        },
-        "create": {
-          "id": "arvados.traits.create",
-          "path": "traits",
-          "httpMethod": "POST",
-          "description": "Create a new Trait.",
-          "parameters": {
-            "select": {
-              "type": "array",
-              "description": "Attributes of the new object to return in the response.",
-              "required": false,
-              "location": "query"
-            },
-            "ensure_unique_name": {
-              "type": "boolean",
-              "description": "Adjust name to ensure uniqueness instead of returning an error on (owner_uuid, name) collision.",
-              "location": "query",
-              "required": false,
-              "default": "false"
-            },
-            "cluster_id": {
-              "type": "string",
-              "description": "Create object on a remote federated cluster instead of the current one.",
-              "location": "query",
-              "required": false
-            }
-          },
-          "request": {
-            "required": true,
-            "properties": {
-              "trait": {
-                "$ref": "Trait"
-              }
-            }
-          },
-          "response": {
-            "$ref": "Trait"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados"
-          ]
-        },
-        "update": {
-          "id": "arvados.traits.update",
-          "path": "traits/{uuid}",
-          "httpMethod": "PUT",
-          "description": "Update attributes of an existing Trait.",
-          "parameters": {
-            "uuid": {
-              "type": "string",
-              "description": "The UUID of the Trait in question.",
-              "required": true,
-              "location": "path"
-            },
-            "select": {
-              "type": "array",
-              "description": "Attributes of the updated object to return in the response.",
-              "required": false,
-              "location": "query"
-            }
-          },
-          "request": {
-            "required": true,
-            "properties": {
-              "trait": {
-                "$ref": "Trait"
-              }
-            }
-          },
-          "response": {
-            "$ref": "Trait"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados"
-          ]
-        },
-        "delete": {
-          "id": "arvados.traits.delete",
-          "path": "traits/{uuid}",
-          "httpMethod": "DELETE",
-          "description": "Delete an existing Trait.",
-          "parameters": {
-            "uuid": {
-              "type": "string",
-              "description": "The UUID of the Trait in question.",
-              "required": true,
-              "location": "path"
-            }
-          },
-          "response": {
-            "$ref": "Trait"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados"
-          ]
-        },
-        "list": {
-          "id": "arvados.traits.list",
-          "path": "traits",
-          "httpMethod": "GET",
-          "description": "List Traits.\n\n                   The <code>list</code> method returns a\n                   <a href=\"/api/resources.html\">resource list</a> of\n                   matching Traits. For example:\n\n                   <pre>\n                   {\n                    \"kind\":\"arvados#traitList\",\n                    \"etag\":\"\",\n                    \"self_link\":\"\",\n                    \"next_page_token\":\"\",\n                    \"next_link\":\"\",\n                    \"items\":[\n                       ...\n                    ],\n                    \"items_available\":745,\n                    \"_profile\":{\n                     \"request_time\":0.157236317\n                    }\n                    </pre>",
-          "parameters": {
-            "filters": {
-              "type": "array",
-              "required": false,
-              "description": "",
-              "location": "query"
-            },
-            "where": {
-              "type": "object",
-              "required": false,
-              "description": "",
-              "location": "query"
-            },
-            "order": {
-              "type": "array",
-              "required": false,
-              "description": "",
-              "location": "query"
-            },
-            "select": {
-              "type": "array",
-              "description": "Attributes of each object to return in the response.",
-              "required": false,
-              "location": "query"
-            },
-            "distinct": {
-              "type": "boolean",
-              "required": false,
-              "default": "false",
-              "description": "",
-              "location": "query"
-            },
-            "limit": {
-              "type": "integer",
-              "required": false,
-              "default": "100",
-              "description": "",
-              "location": "query"
-            },
-            "offset": {
-              "type": "integer",
-              "required": false,
-              "default": "0",
-              "description": "",
-              "location": "query"
-            },
-            "count": {
-              "type": "string",
-              "required": false,
-              "default": "exact",
-              "description": "",
-              "location": "query"
-            },
-            "cluster_id": {
-              "type": "string",
-              "description": "List objects on a remote federated cluster instead of the current one.",
-              "location": "query",
-              "required": false
-            },
-            "bypass_federation": {
-              "type": "boolean",
-              "required": false,
-              "description": "bypass federation behavior, list items from local instance database only",
-              "location": "query"
-            }
-          },
-          "response": {
-            "$ref": "TraitList"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados",
-            "https://api.arvados.org/auth/arvados.readonly"
-          ]
-        },
-        "show": {
-          "id": "arvados.traits.show",
-          "path": "traits/{uuid}",
-          "httpMethod": "GET",
-          "description": "show traits",
-          "parameters": {
-            "uuid": {
-              "type": "string",
-              "description": "",
-              "required": true,
-              "location": "path"
-            },
-            "select": {
-              "type": "array",
-              "description": "Attributes of the object to return in the response.",
-              "required": false,
-              "location": "query"
-            }
-          },
-          "response": {
-            "$ref": "Trait"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados"
-          ]
-        },
-        "destroy": {
-          "id": "arvados.traits.destroy",
-          "path": "traits/{uuid}",
-          "httpMethod": "DELETE",
-          "description": "destroy traits",
-          "parameters": {
-            "uuid": {
-              "type": "string",
-              "description": "",
-              "required": true,
-              "location": "path"
-            }
-          },
-          "response": {
-            "$ref": "Trait"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados"
-          ]
-        }
-      }
-    },
-    "virtual_machines": {
-      "methods": {
-        "get": {
-          "id": "arvados.virtual_machines.get",
-          "path": "virtual_machines/{uuid}",
-          "httpMethod": "GET",
-          "description": "Gets a VirtualMachine's metadata by UUID.",
-          "parameters": {
-            "uuid": {
-              "type": "string",
-              "description": "The UUID of the VirtualMachine in question.",
-              "required": true,
-              "location": "path"
-            }
-          },
-          "parameterOrder": [
-            "uuid"
-          ],
-          "response": {
-            "$ref": "VirtualMachine"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados",
-            "https://api.arvados.org/auth/arvados.readonly"
-          ]
-        },
-        "index": {
-          "id": "arvados.virtual_machines.list",
-          "path": "virtual_machines",
-          "httpMethod": "GET",
-          "description": "List VirtualMachines.\n\n                   The <code>list</code> method returns a\n                   <a href=\"/api/resources.html\">resource list</a> of\n                   matching VirtualMachines. For example:\n\n                   <pre>\n                   {\n                    \"kind\":\"arvados#virtualMachineList\",\n                    \"etag\":\"\",\n                    \"self_link\":\"\",\n                    \"next_page_token\":\"\",\n                    \"next_link\":\"\",\n                    \"items\":[\n                       ...\n                    ],\n                    \"items_available\":745,\n                    \"_profile\":{\n                     \"request_time\":0.157236317\n                    }\n                    </pre>",
-          "parameters": {
-            "filters": {
-              "type": "array",
-              "required": false,
-              "description": "",
-              "location": "query"
-            },
-            "where": {
-              "type": "object",
-              "required": false,
-              "description": "",
-              "location": "query"
-            },
-            "order": {
-              "type": "array",
-              "required": false,
-              "description": "",
-              "location": "query"
-            },
-            "select": {
-              "type": "array",
-              "description": "Attributes of each object to return in the response.",
-              "required": false,
-              "location": "query"
-            },
-            "distinct": {
-              "type": "boolean",
-              "required": false,
-              "default": "false",
-              "description": "",
-              "location": "query"
-            },
-            "limit": {
-              "type": "integer",
-              "required": false,
-              "default": "100",
-              "description": "",
-              "location": "query"
-            },
-            "offset": {
-              "type": "integer",
-              "required": false,
-              "default": "0",
-              "description": "",
-              "location": "query"
-            },
-            "count": {
-              "type": "string",
-              "required": false,
-              "default": "exact",
-              "description": "",
-              "location": "query"
-            },
-            "cluster_id": {
-              "type": "string",
-              "description": "List objects on a remote federated cluster instead of the current one.",
-              "location": "query",
-              "required": false
-            },
-            "bypass_federation": {
-              "type": "boolean",
-              "required": false,
-              "description": "bypass federation behavior, list items from local instance database only",
-              "location": "query"
-            }
-          },
-          "response": {
-            "$ref": "VirtualMachineList"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados",
-            "https://api.arvados.org/auth/arvados.readonly"
-          ]
-        },
-        "create": {
-          "id": "arvados.virtual_machines.create",
-          "path": "virtual_machines",
-          "httpMethod": "POST",
-          "description": "Create a new VirtualMachine.",
-          "parameters": {
-            "select": {
-              "type": "array",
-              "description": "Attributes of the new object to return in the response.",
-              "required": false,
-              "location": "query"
-            },
-            "ensure_unique_name": {
-              "type": "boolean",
-              "description": "Adjust name to ensure uniqueness instead of returning an error on (owner_uuid, name) collision.",
-              "location": "query",
-              "required": false,
-              "default": "false"
-            },
-            "cluster_id": {
-              "type": "string",
-              "description": "Create object on a remote federated cluster instead of the current one.",
-              "location": "query",
-              "required": false
-            }
-          },
-          "request": {
-            "required": true,
-            "properties": {
-              "virtual_machine": {
-                "$ref": "VirtualMachine"
-              }
-            }
-          },
-          "response": {
-            "$ref": "VirtualMachine"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados"
-          ]
-        },
-        "update": {
-          "id": "arvados.virtual_machines.update",
-          "path": "virtual_machines/{uuid}",
-          "httpMethod": "PUT",
-          "description": "Update attributes of an existing VirtualMachine.",
-          "parameters": {
-            "uuid": {
-              "type": "string",
-              "description": "The UUID of the VirtualMachine in question.",
-              "required": true,
-              "location": "path"
-            },
-            "select": {
-              "type": "array",
-              "description": "Attributes of the updated object to return in the response.",
-              "required": false,
-              "location": "query"
-            }
-          },
-          "request": {
-            "required": true,
-            "properties": {
-              "virtual_machine": {
-                "$ref": "VirtualMachine"
-              }
-            }
-          },
-          "response": {
-            "$ref": "VirtualMachine"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados"
-          ]
-        },
-        "delete": {
-          "id": "arvados.virtual_machines.delete",
-          "path": "virtual_machines/{uuid}",
-          "httpMethod": "DELETE",
-          "description": "Delete an existing VirtualMachine.",
-          "parameters": {
-            "uuid": {
-              "type": "string",
-              "description": "The UUID of the VirtualMachine in question.",
-              "required": true,
-              "location": "path"
-            }
-          },
-          "response": {
-            "$ref": "VirtualMachine"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados"
-          ]
-        },
-        "logins": {
-          "id": "arvados.virtual_machines.logins",
-          "path": "virtual_machines/{uuid}/logins",
-          "httpMethod": "GET",
-          "description": "logins virtual_machines",
-          "parameters": {
-            "uuid": {
-              "type": "string",
-              "description": "",
-              "required": true,
-              "location": "path"
-            }
-          },
-          "response": {
-            "$ref": "VirtualMachine"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados"
-          ]
-        },
-        "get_all_logins": {
-          "id": "arvados.virtual_machines.get_all_logins",
-          "path": "virtual_machines/get_all_logins",
-          "httpMethod": "GET",
-          "description": "get_all_logins virtual_machines",
-          "parameters": {},
-          "response": {
-            "$ref": "VirtualMachine"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados"
-          ]
-        },
-        "list": {
-          "id": "arvados.virtual_machines.list",
-          "path": "virtual_machines",
-          "httpMethod": "GET",
-          "description": "List VirtualMachines.\n\n                   The <code>list</code> method returns a\n                   <a href=\"/api/resources.html\">resource list</a> of\n                   matching VirtualMachines. For example:\n\n                   <pre>\n                   {\n                    \"kind\":\"arvados#virtualMachineList\",\n                    \"etag\":\"\",\n                    \"self_link\":\"\",\n                    \"next_page_token\":\"\",\n                    \"next_link\":\"\",\n                    \"items\":[\n                       ...\n                    ],\n                    \"items_available\":745,\n                    \"_profile\":{\n                     \"request_time\":0.157236317\n                    }\n                    </pre>",
-          "parameters": {
-            "filters": {
-              "type": "array",
-              "required": false,
-              "description": "",
-              "location": "query"
-            },
-            "where": {
-              "type": "object",
-              "required": false,
-              "description": "",
-              "location": "query"
-            },
-            "order": {
-              "type": "array",
-              "required": false,
-              "description": "",
-              "location": "query"
-            },
-            "select": {
-              "type": "array",
-              "description": "Attributes of each object to return in the response.",
-              "required": false,
-              "location": "query"
-            },
-            "distinct": {
-              "type": "boolean",
-              "required": false,
-              "default": "false",
-              "description": "",
-              "location": "query"
-            },
-            "limit": {
-              "type": "integer",
-              "required": false,
-              "default": "100",
-              "description": "",
-              "location": "query"
-            },
-            "offset": {
-              "type": "integer",
-              "required": false,
-              "default": "0",
-              "description": "",
-              "location": "query"
-            },
-            "count": {
-              "type": "string",
-              "required": false,
-              "default": "exact",
-              "description": "",
-              "location": "query"
-            },
-            "cluster_id": {
-              "type": "string",
-              "description": "List objects on a remote federated cluster instead of the current one.",
-              "location": "query",
-              "required": false
-            },
-            "bypass_federation": {
-              "type": "boolean",
-              "required": false,
-              "description": "bypass federation behavior, list items from local instance database only",
-              "location": "query"
-            }
-          },
-          "response": {
-            "$ref": "VirtualMachineList"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados",
-            "https://api.arvados.org/auth/arvados.readonly"
-          ]
-        },
-        "show": {
-          "id": "arvados.virtual_machines.show",
-          "path": "virtual_machines/{uuid}",
-          "httpMethod": "GET",
-          "description": "show virtual_machines",
-          "parameters": {
-            "uuid": {
-              "type": "string",
-              "description": "",
-              "required": true,
-              "location": "path"
-            },
-            "select": {
-              "type": "array",
-              "description": "Attributes of the object to return in the response.",
-              "required": false,
-              "location": "query"
-            }
-          },
-          "response": {
-            "$ref": "VirtualMachine"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados"
-          ]
-        },
-        "destroy": {
-          "id": "arvados.virtual_machines.destroy",
-          "path": "virtual_machines/{uuid}",
-          "httpMethod": "DELETE",
-          "description": "destroy virtual_machines",
-          "parameters": {
-            "uuid": {
-              "type": "string",
-              "description": "",
-              "required": true,
-              "location": "path"
-            }
-          },
-          "response": {
-            "$ref": "VirtualMachine"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados"
-          ]
-        }
-      }
-    },
-    "workflows": {
-      "methods": {
-        "get": {
-          "id": "arvados.workflows.get",
-          "path": "workflows/{uuid}",
-          "httpMethod": "GET",
-          "description": "Gets a Workflow's metadata by UUID.",
-          "parameters": {
-            "uuid": {
-              "type": "string",
-              "description": "The UUID of the Workflow in question.",
-              "required": true,
-              "location": "path"
-            }
-          },
-          "parameterOrder": [
-            "uuid"
-          ],
-          "response": {
-            "$ref": "Workflow"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados",
-            "https://api.arvados.org/auth/arvados.readonly"
-          ]
-        },
-        "index": {
-          "id": "arvados.workflows.list",
-          "path": "workflows",
-          "httpMethod": "GET",
-          "description": "List Workflows.\n\n                   The <code>list</code> method returns a\n                   <a href=\"/api/resources.html\">resource list</a> of\n                   matching Workflows. For example:\n\n                   <pre>\n                   {\n                    \"kind\":\"arvados#workflowList\",\n                    \"etag\":\"\",\n                    \"self_link\":\"\",\n                    \"next_page_token\":\"\",\n                    \"next_link\":\"\",\n                    \"items\":[\n                       ...\n                    ],\n                    \"items_available\":745,\n                    \"_profile\":{\n                     \"request_time\":0.157236317\n                    }\n                    </pre>",
-          "parameters": {
-            "filters": {
-              "type": "array",
-              "required": false,
-              "description": "",
-              "location": "query"
-            },
-            "where": {
-              "type": "object",
-              "required": false,
-              "description": "",
-              "location": "query"
-            },
-            "order": {
-              "type": "array",
-              "required": false,
-              "description": "",
-              "location": "query"
-            },
-            "select": {
-              "type": "array",
-              "description": "Attributes of each object to return in the response.",
-              "required": false,
-              "location": "query"
-            },
-            "distinct": {
-              "type": "boolean",
-              "required": false,
-              "default": "false",
-              "description": "",
-              "location": "query"
-            },
-            "limit": {
-              "type": "integer",
-              "required": false,
-              "default": "100",
-              "description": "",
-              "location": "query"
-            },
-            "offset": {
-              "type": "integer",
-              "required": false,
-              "default": "0",
-              "description": "",
-              "location": "query"
-            },
-            "count": {
-              "type": "string",
-              "required": false,
-              "default": "exact",
-              "description": "",
-              "location": "query"
-            },
-            "cluster_id": {
-              "type": "string",
-              "description": "List objects on a remote federated cluster instead of the current one.",
-              "location": "query",
-              "required": false
-            },
-            "bypass_federation": {
-              "type": "boolean",
-              "required": false,
-              "description": "bypass federation behavior, list items from local instance database only",
-              "location": "query"
-            }
-          },
-          "response": {
-            "$ref": "WorkflowList"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados",
-            "https://api.arvados.org/auth/arvados.readonly"
-          ]
-        },
-        "create": {
-          "id": "arvados.workflows.create",
-          "path": "workflows",
-          "httpMethod": "POST",
-          "description": "Create a new Workflow.",
-          "parameters": {
-            "select": {
-              "type": "array",
-              "description": "Attributes of the new object to return in the response.",
-              "required": false,
-              "location": "query"
-            },
-            "ensure_unique_name": {
-              "type": "boolean",
-              "description": "Adjust name to ensure uniqueness instead of returning an error on (owner_uuid, name) collision.",
-              "location": "query",
-              "required": false,
-              "default": "false"
-            },
-            "cluster_id": {
-              "type": "string",
-              "description": "Create object on a remote federated cluster instead of the current one.",
-              "location": "query",
-              "required": false
-            }
-          },
-          "request": {
-            "required": true,
-            "properties": {
-              "workflow": {
-                "$ref": "Workflow"
-              }
-            }
-          },
-          "response": {
-            "$ref": "Workflow"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados"
-          ]
-        },
-        "update": {
-          "id": "arvados.workflows.update",
-          "path": "workflows/{uuid}",
-          "httpMethod": "PUT",
-          "description": "Update attributes of an existing Workflow.",
-          "parameters": {
-            "uuid": {
-              "type": "string",
-              "description": "The UUID of the Workflow in question.",
-              "required": true,
-              "location": "path"
-            },
-            "select": {
-              "type": "array",
-              "description": "Attributes of the updated object to return in the response.",
-              "required": false,
-              "location": "query"
-            }
-          },
-          "request": {
-            "required": true,
-            "properties": {
-              "workflow": {
-                "$ref": "Workflow"
-              }
-            }
-          },
-          "response": {
-            "$ref": "Workflow"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados"
-          ]
-        },
-        "delete": {
-          "id": "arvados.workflows.delete",
-          "path": "workflows/{uuid}",
-          "httpMethod": "DELETE",
-          "description": "Delete an existing Workflow.",
-          "parameters": {
-            "uuid": {
-              "type": "string",
-              "description": "The UUID of the Workflow in question.",
-              "required": true,
-              "location": "path"
-            }
-          },
-          "response": {
-            "$ref": "Workflow"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados"
-          ]
-        },
-        "list": {
-          "id": "arvados.workflows.list",
-          "path": "workflows",
-          "httpMethod": "GET",
-          "description": "List Workflows.\n\n                   The <code>list</code> method returns a\n                   <a href=\"/api/resources.html\">resource list</a> of\n                   matching Workflows. For example:\n\n                   <pre>\n                   {\n                    \"kind\":\"arvados#workflowList\",\n                    \"etag\":\"\",\n                    \"self_link\":\"\",\n                    \"next_page_token\":\"\",\n                    \"next_link\":\"\",\n                    \"items\":[\n                       ...\n                    ],\n                    \"items_available\":745,\n                    \"_profile\":{\n                     \"request_time\":0.157236317\n                    }\n                    </pre>",
-          "parameters": {
-            "filters": {
-              "type": "array",
-              "required": false,
-              "description": "",
-              "location": "query"
-            },
-            "where": {
-              "type": "object",
-              "required": false,
-              "description": "",
-              "location": "query"
-            },
-            "order": {
-              "type": "array",
-              "required": false,
-              "description": "",
-              "location": "query"
-            },
-            "select": {
-              "type": "array",
-              "description": "Attributes of each object to return in the response.",
-              "required": false,
-              "location": "query"
-            },
-            "distinct": {
-              "type": "boolean",
-              "required": false,
-              "default": "false",
-              "description": "",
-              "location": "query"
-            },
-            "limit": {
-              "type": "integer",
-              "required": false,
-              "default": "100",
-              "description": "",
-              "location": "query"
-            },
-            "offset": {
-              "type": "integer",
-              "required": false,
-              "default": "0",
-              "description": "",
-              "location": "query"
-            },
-            "count": {
-              "type": "string",
-              "required": false,
-              "default": "exact",
-              "description": "",
-              "location": "query"
-            },
-            "cluster_id": {
-              "type": "string",
-              "description": "List objects on a remote federated cluster instead of the current one.",
-              "location": "query",
-              "required": false
-            },
-            "bypass_federation": {
-              "type": "boolean",
-              "required": false,
-              "description": "bypass federation behavior, list items from local instance database only",
-              "location": "query"
-            }
-          },
-          "response": {
-            "$ref": "WorkflowList"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados",
-            "https://api.arvados.org/auth/arvados.readonly"
-          ]
-        },
-        "show": {
-          "id": "arvados.workflows.show",
-          "path": "workflows/{uuid}",
-          "httpMethod": "GET",
-          "description": "show workflows",
-          "parameters": {
-            "uuid": {
-              "type": "string",
-              "description": "",
-              "required": true,
-              "location": "path"
-            },
-            "select": {
-              "type": "array",
-              "description": "Attributes of the object to return in the response.",
-              "required": false,
-              "location": "query"
-            }
-          },
-          "response": {
-            "$ref": "Workflow"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados"
-          ]
-        },
-        "destroy": {
-          "id": "arvados.workflows.destroy",
-          "path": "workflows/{uuid}",
-          "httpMethod": "DELETE",
-          "description": "destroy workflows",
-          "parameters": {
-            "uuid": {
-              "type": "string",
-              "description": "",
-              "required": true,
-              "location": "path"
-            }
-          },
-          "response": {
-            "$ref": "Workflow"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados"
-          ]
-        }
-      }
-    },
-    "user_agreements": {
-      "methods": {
-        "get": {
-          "id": "arvados.user_agreements.get",
-          "path": "user_agreements/{uuid}",
-          "httpMethod": "GET",
-          "description": "Gets a UserAgreement's metadata by UUID.",
-          "parameters": {
-            "uuid": {
-              "type": "string",
-              "description": "The UUID of the UserAgreement in question.",
-              "required": true,
-              "location": "path"
-            }
-          },
-          "parameterOrder": [
-            "uuid"
-          ],
-          "response": {
-            "$ref": "UserAgreement"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados",
-            "https://api.arvados.org/auth/arvados.readonly"
-          ]
-        },
-        "index": {
-          "id": "arvados.user_agreements.list",
-          "path": "user_agreements",
-          "httpMethod": "GET",
-          "description": "List UserAgreements.\n\n                   The <code>list</code> method returns a\n                   <a href=\"/api/resources.html\">resource list</a> of\n                   matching UserAgreements. For example:\n\n                   <pre>\n                   {\n                    \"kind\":\"arvados#userAgreementList\",\n                    \"etag\":\"\",\n                    \"self_link\":\"\",\n                    \"next_page_token\":\"\",\n                    \"next_link\":\"\",\n                    \"items\":[\n                       ...\n                    ],\n                    \"items_available\":745,\n                    \"_profile\":{\n                     \"request_time\":0.157236317\n                    }\n                    </pre>",
-          "parameters": {
-            "filters": {
-              "type": "array",
-              "required": false,
-              "description": "",
-              "location": "query"
-            },
-            "where": {
-              "type": "object",
-              "required": false,
-              "description": "",
-              "location": "query"
-            },
-            "order": {
-              "type": "array",
-              "required": false,
-              "description": "",
-              "location": "query"
-            },
-            "select": {
-              "type": "array",
-              "description": "Attributes of each object to return in the response.",
-              "required": false,
-              "location": "query"
-            },
-            "distinct": {
-              "type": "boolean",
-              "required": false,
-              "default": "false",
-              "description": "",
-              "location": "query"
-            },
-            "limit": {
-              "type": "integer",
-              "required": false,
-              "default": "100",
-              "description": "",
-              "location": "query"
-            },
-            "offset": {
-              "type": "integer",
-              "required": false,
-              "default": "0",
-              "description": "",
-              "location": "query"
-            },
-            "count": {
-              "type": "string",
-              "required": false,
-              "default": "exact",
-              "description": "",
-              "location": "query"
-            },
-            "cluster_id": {
-              "type": "string",
-              "description": "List objects on a remote federated cluster instead of the current one.",
-              "location": "query",
-              "required": false
-            },
-            "bypass_federation": {
-              "type": "boolean",
-              "required": false,
-              "description": "bypass federation behavior, list items from local instance database only",
-              "location": "query"
-            }
-          },
-          "response": {
-            "$ref": "UserAgreementList"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados",
-            "https://api.arvados.org/auth/arvados.readonly"
-          ]
-        },
-        "create": {
-          "id": "arvados.user_agreements.create",
-          "path": "user_agreements",
-          "httpMethod": "POST",
-          "description": "Create a new UserAgreement.",
-          "parameters": {
-            "select": {
-              "type": "array",
-              "description": "Attributes of the new object to return in the response.",
-              "required": false,
-              "location": "query"
-            },
-            "ensure_unique_name": {
-              "type": "boolean",
-              "description": "Adjust name to ensure uniqueness instead of returning an error on (owner_uuid, name) collision.",
-              "location": "query",
-              "required": false,
-              "default": "false"
-            },
-            "cluster_id": {
-              "type": "string",
-              "description": "Create object on a remote federated cluster instead of the current one.",
-              "location": "query",
-              "required": false
-            }
-          },
-          "request": {
-            "required": true,
-            "properties": {
-              "user_agreement": {
-                "$ref": "UserAgreement"
-              }
-            }
-          },
-          "response": {
-            "$ref": "UserAgreement"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados"
-          ]
-        },
-        "update": {
-          "id": "arvados.user_agreements.update",
-          "path": "user_agreements/{uuid}",
-          "httpMethod": "PUT",
-          "description": "Update attributes of an existing UserAgreement.",
-          "parameters": {
-            "uuid": {
-              "type": "string",
-              "description": "The UUID of the UserAgreement in question.",
-              "required": true,
-              "location": "path"
-            },
-            "select": {
-              "type": "array",
-              "description": "Attributes of the updated object to return in the response.",
-              "required": false,
-              "location": "query"
-            }
-          },
-          "request": {
-            "required": true,
-            "properties": {
-              "user_agreement": {
-                "$ref": "UserAgreement"
-              }
-            }
-          },
-          "response": {
-            "$ref": "UserAgreement"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados"
-          ]
-        },
-        "delete": {
-          "id": "arvados.user_agreements.delete",
-          "path": "user_agreements/{uuid}",
-          "httpMethod": "DELETE",
-          "description": "Delete an existing UserAgreement.",
-          "parameters": {
-            "uuid": {
-              "type": "string",
-              "description": "The UUID of the UserAgreement in question.",
-              "required": true,
-              "location": "path"
-            }
-          },
-          "response": {
-            "$ref": "UserAgreement"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados"
-          ]
-        },
-        "signatures": {
-          "id": "arvados.user_agreements.signatures",
-          "path": "user_agreements/signatures",
-          "httpMethod": "GET",
-          "description": "signatures user_agreements",
-          "parameters": {},
-          "response": {
-            "$ref": "UserAgreement"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados"
-          ]
-        },
-        "sign": {
-          "id": "arvados.user_agreements.sign",
-          "path": "user_agreements/sign",
-          "httpMethod": "POST",
-          "description": "sign user_agreements",
-          "parameters": {},
-          "response": {
-            "$ref": "UserAgreement"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados"
-          ]
-        },
-        "list": {
-          "id": "arvados.user_agreements.list",
-          "path": "user_agreements",
-          "httpMethod": "GET",
-          "description": "List UserAgreements.\n\n                   The <code>list</code> method returns a\n                   <a href=\"/api/resources.html\">resource list</a> of\n                   matching UserAgreements. For example:\n\n                   <pre>\n                   {\n                    \"kind\":\"arvados#userAgreementList\",\n                    \"etag\":\"\",\n                    \"self_link\":\"\",\n                    \"next_page_token\":\"\",\n                    \"next_link\":\"\",\n                    \"items\":[\n                       ...\n                    ],\n                    \"items_available\":745,\n                    \"_profile\":{\n                     \"request_time\":0.157236317\n                    }\n                    </pre>",
-          "parameters": {
-            "filters": {
-              "type": "array",
-              "required": false,
-              "description": "",
-              "location": "query"
-            },
-            "where": {
-              "type": "object",
-              "required": false,
-              "description": "",
-              "location": "query"
-            },
-            "order": {
-              "type": "array",
-              "required": false,
-              "description": "",
-              "location": "query"
-            },
-            "select": {
-              "type": "array",
-              "description": "Attributes of each object to return in the response.",
-              "required": false,
-              "location": "query"
-            },
-            "distinct": {
-              "type": "boolean",
-              "required": false,
-              "default": "false",
-              "description": "",
-              "location": "query"
-            },
-            "limit": {
-              "type": "integer",
-              "required": false,
-              "default": "100",
-              "description": "",
-              "location": "query"
-            },
-            "offset": {
-              "type": "integer",
-              "required": false,
-              "default": "0",
-              "description": "",
-              "location": "query"
-            },
-            "count": {
-              "type": "string",
-              "required": false,
-              "default": "exact",
-              "description": "",
-              "location": "query"
-            },
-            "cluster_id": {
-              "type": "string",
-              "description": "List objects on a remote federated cluster instead of the current one.",
-              "location": "query",
-              "required": false
-            },
-            "bypass_federation": {
-              "type": "boolean",
-              "required": false,
-              "description": "bypass federation behavior, list items from local instance database only",
-              "location": "query"
-            }
-          },
-          "response": {
-            "$ref": "UserAgreementList"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados",
-            "https://api.arvados.org/auth/arvados.readonly"
-          ]
-        },
-        "new": {
-          "id": "arvados.user_agreements.new",
-          "path": "user_agreements/new",
-          "httpMethod": "GET",
-          "description": "new user_agreements",
-          "parameters": {},
-          "response": {
-            "$ref": "UserAgreement"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados"
-          ]
-        },
-        "show": {
-          "id": "arvados.user_agreements.show",
-          "path": "user_agreements/{uuid}",
-          "httpMethod": "GET",
-          "description": "show user_agreements",
-          "parameters": {
-            "uuid": {
-              "type": "string",
-              "description": "",
-              "required": true,
-              "location": "path"
-            },
-            "select": {
-              "type": "array",
-              "description": "Attributes of the object to return in the response.",
-              "required": false,
-              "location": "query"
-            }
-          },
-          "response": {
-            "$ref": "UserAgreement"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados"
-          ]
-        },
-        "destroy": {
-          "id": "arvados.user_agreements.destroy",
-          "path": "user_agreements/{uuid}",
-          "httpMethod": "DELETE",
-          "description": "destroy user_agreements",
-          "parameters": {
-            "uuid": {
-              "type": "string",
-              "description": "",
-              "required": true,
-              "location": "path"
-            }
-          },
-          "response": {
-            "$ref": "UserAgreement"
-          },
-          "scopes": [
-            "https://api.arvados.org/auth/arvados"
-          ]
-        }
-      }
-    },
-    "configs": {
-      "methods": {
-        "get": {
-          "id": "arvados.configs.get",
-          "path": "config",
-          "httpMethod": "GET",
-          "description": "Get public config",
-          "parameters": {},
-          "parameterOrder": [],
-          "response": {},
-          "scopes": [
-            "https://api.arvados.org/auth/arvados",
-            "https://api.arvados.org/auth/arvados.readonly"
-          ]
-        }
-      }
-    },
-    "vocabularies": {
-      "methods": {
-        "get": {
-          "id": "arvados.vocabularies.get",
-          "path": "vocabulary",
-          "httpMethod": "GET",
-          "description": "Get vocabulary definition",
-          "parameters": {},
-          "parameterOrder": [],
-          "response": {},
-          "scopes": [
-            "https://api.arvados.org/auth/arvados",
-            "https://api.arvados.org/auth/arvados.readonly"
-          ]
-        }
-      }
-    },
-    "sys": {
-      "methods": {
-        "get": {
-          "id": "arvados.sys.trash_sweep",
-          "path": "sys/trash_sweep",
-          "httpMethod": "POST",
-          "description": "apply scheduled trash and delete operations",
-          "parameters": {},
-          "parameterOrder": [],
-          "response": {},
-          "scopes": [
-            "https://api.arvados.org/auth/arvados",
-            "https://api.arvados.org/auth/arvados.readonly"
-          ]
-        }
-      }
-    }
-  },
-  "revision": "20220510",
-  "schemas": {
-    "JobList": {
-      "id": "JobList",
-      "description": "Job list",
-      "type": "object",
-      "properties": {
-        "kind": {
-          "type": "string",
-          "description": "Object type. Always arvados#jobList.",
-          "default": "arvados#jobList"
-        },
-        "etag": {
-          "type": "string",
-          "description": "List version."
-        },
-        "items": {
-          "type": "array",
-          "description": "The list of Jobs.",
-          "items": {
-            "$ref": "Job"
-          }
-        },
-        "next_link": {
-          "type": "string",
-          "description": "A link to the next page of Jobs."
-        },
-        "next_page_token": {
-          "type": "string",
-          "description": "The page token for the next page of Jobs."
-        },
-        "selfLink": {
-          "type": "string",
-          "description": "A link back to this list."
-        }
-      }
-    },
-    "Job": {
-      "id": "Job",
-      "description": "Job",
-      "type": "object",
-      "uuidPrefix": "8i9sb",
-      "properties": {
-        "uuid": {
-          "type": "string"
-        },
-        "etag": {
-          "type": "string",
-          "description": "Object version."
-        },
-        "owner_uuid": {
-          "type": "string"
-        },
-        "modified_by_client_uuid": {
-          "type": "string"
-        },
-        "modified_by_user_uuid": {
-          "type": "string"
-        },
-        "modified_at": {
-          "type": "datetime"
-        },
-        "submit_id": {
-          "type": "string"
-        },
-        "script": {
-          "type": "string"
-        },
-        "script_version": {
-          "type": "string"
-        },
-        "script_parameters": {
-          "type": "Hash"
-        },
-        "cancelled_by_client_uuid": {
-          "type": "string"
-        },
-        "cancelled_by_user_uuid": {
-          "type": "string"
-        },
-        "cancelled_at": {
-          "type": "datetime"
-        },
-        "started_at": {
-          "type": "datetime"
-        },
-        "finished_at": {
-          "type": "datetime"
-        },
-        "running": {
-          "type": "boolean"
-        },
-        "success": {
-          "type": "boolean"
-        },
-        "output": {
-          "type": "string"
-        },
-        "created_at": {
-          "type": "datetime"
-        },
-        "updated_at": {
-          "type": "datetime"
-        },
-        "is_locked_by_uuid": {
-          "type": "string"
-        },
-        "log": {
-          "type": "string"
-        },
-        "tasks_summary": {
-          "type": "Hash"
-        },
-        "runtime_constraints": {
-          "type": "Hash"
-        },
-        "nondeterministic": {
-          "type": "boolean"
-        },
-        "repository": {
-          "type": "string"
-        },
-        "supplied_script_version": {
-          "type": "string"
-        },
-        "docker_image_locator": {
-          "type": "string"
-        },
-        "priority": {
-          "type": "integer"
-        },
-        "description": {
-          "type": "string"
-        },
-        "state": {
-          "type": "string"
-        },
-        "arvados_sdk_version": {
-          "type": "string"
-        },
-        "components": {
-          "type": "Hash"
-        },
-        "script_parameters_digest": {
-          "type": "string"
-        }
-      }
-    },
-    "ApiClientList": {
-      "id": "ApiClientList",
-      "description": "ApiClient list",
-      "type": "object",
-      "properties": {
-        "kind": {
-          "type": "string",
-          "description": "Object type. Always arvados#apiClientList.",
-          "default": "arvados#apiClientList"
-        },
-        "etag": {
-          "type": "string",
-          "description": "List version."
-        },
-        "items": {
-          "type": "array",
-          "description": "The list of ApiClients.",
-          "items": {
-            "$ref": "ApiClient"
-          }
-        },
-        "next_link": {
-          "type": "string",
-          "description": "A link to the next page of ApiClients."
-        },
-        "next_page_token": {
-          "type": "string",
-          "description": "The page token for the next page of ApiClients."
-        },
-        "selfLink": {
-          "type": "string",
-          "description": "A link back to this list."
-        }
-      }
-    },
-    "ApiClient": {
-      "id": "ApiClient",
-      "description": "ApiClient",
-      "type": "object",
-      "uuidPrefix": "ozdt8",
-      "properties": {
-        "uuid": {
-          "type": "string"
-        },
-        "etag": {
-          "type": "string",
-          "description": "Object version."
-        },
-        "owner_uuid": {
-          "type": "string"
-        },
-        "modified_by_client_uuid": {
-          "type": "string"
-        },
-        "modified_by_user_uuid": {
-          "type": "string"
-        },
-        "modified_at": {
-          "type": "datetime"
-        },
-        "name": {
-          "type": "string"
-        },
-        "url_prefix": {
-          "type": "string"
-        },
-        "created_at": {
-          "type": "datetime"
-        },
-        "updated_at": {
-          "type": "datetime"
-        },
-        "is_trusted": {
-          "type": "boolean"
-        }
-      }
-    },
-    "ApiClientAuthorizationList": {
-      "id": "ApiClientAuthorizationList",
-      "description": "ApiClientAuthorization list",
-      "type": "object",
-      "properties": {
-        "kind": {
-          "type": "string",
-          "description": "Object type. Always arvados#apiClientAuthorizationList.",
-          "default": "arvados#apiClientAuthorizationList"
-        },
-        "etag": {
-          "type": "string",
-          "description": "List version."
-        },
-        "items": {
-          "type": "array",
-          "description": "The list of ApiClientAuthorizations.",
-          "items": {
-            "$ref": "ApiClientAuthorization"
-          }
-        },
-        "next_link": {
-          "type": "string",
-          "description": "A link to the next page of ApiClientAuthorizations."
-        },
-        "next_page_token": {
-          "type": "string",
-          "description": "The page token for the next page of ApiClientAuthorizations."
-        },
-        "selfLink": {
-          "type": "string",
-          "description": "A link back to this list."
-        }
-      }
-    },
-    "ApiClientAuthorization": {
-      "id": "ApiClientAuthorization",
-      "description": "ApiClientAuthorization",
-      "type": "object",
-      "uuidPrefix": "gj3su",
-      "properties": {
-        "uuid": {
-          "type": "string"
-        },
-        "etag": {
-          "type": "string",
-          "description": "Object version."
-        },
-        "api_token": {
-          "type": "string"
-        },
-        "api_client_id": {
-          "type": "integer"
-        },
-        "user_id": {
-          "type": "integer"
-        },
-        "created_by_ip_address": {
-          "type": "string"
-        },
-        "last_used_by_ip_address": {
-          "type": "string"
-        },
-        "last_used_at": {
-          "type": "datetime"
-        },
-        "expires_at": {
-          "type": "datetime"
-        },
-        "created_at": {
-          "type": "datetime"
-        },
-        "updated_at": {
-          "type": "datetime"
-        },
-        "default_owner_uuid": {
-          "type": "string"
-        },
-        "scopes": {
-          "type": "Array"
-        }
-      }
-    },
-    "AuthorizedKeyList": {
-      "id": "AuthorizedKeyList",
-      "description": "AuthorizedKey list",
-      "type": "object",
-      "properties": {
-        "kind": {
-          "type": "string",
-          "description": "Object type. Always arvados#authorizedKeyList.",
-          "default": "arvados#authorizedKeyList"
-        },
-        "etag": {
-          "type": "string",
-          "description": "List version."
-        },
-        "items": {
-          "type": "array",
-          "description": "The list of AuthorizedKeys.",
-          "items": {
-            "$ref": "AuthorizedKey"
-          }
-        },
-        "next_link": {
-          "type": "string",
-          "description": "A link to the next page of AuthorizedKeys."
-        },
-        "next_page_token": {
-          "type": "string",
-          "description": "The page token for the next page of AuthorizedKeys."
-        },
-        "selfLink": {
-          "type": "string",
-          "description": "A link back to this list."
-        }
-      }
-    },
-    "AuthorizedKey": {
-      "id": "AuthorizedKey",
-      "description": "AuthorizedKey",
-      "type": "object",
-      "uuidPrefix": "fngyi",
-      "properties": {
-        "uuid": {
-          "type": "string"
-        },
-        "etag": {
-          "type": "string",
-          "description": "Object version."
-        },
-        "owner_uuid": {
-          "type": "string"
-        },
-        "modified_by_client_uuid": {
-          "type": "string"
-        },
-        "modified_by_user_uuid": {
-          "type": "string"
-        },
-        "modified_at": {
-          "type": "datetime"
-        },
-        "name": {
-          "type": "string"
-        },
-        "key_type": {
-          "type": "string"
-        },
-        "authorized_user_uuid": {
-          "type": "string"
-        },
-        "public_key": {
-          "type": "text"
-        },
-        "expires_at": {
-          "type": "datetime"
-        },
-        "created_at": {
-          "type": "datetime"
-        },
-        "updated_at": {
-          "type": "datetime"
-        }
-      }
-    },
-    "CollectionList": {
-      "id": "CollectionList",
-      "description": "Collection list",
-      "type": "object",
-      "properties": {
-        "kind": {
-          "type": "string",
-          "description": "Object type. Always arvados#collectionList.",
-          "default": "arvados#collectionList"
-        },
-        "etag": {
-          "type": "string",
-          "description": "List version."
-        },
-        "items": {
-          "type": "array",
-          "description": "The list of Collections.",
-          "items": {
-            "$ref": "Collection"
-          }
-        },
-        "next_link": {
-          "type": "string",
-          "description": "A link to the next page of Collections."
-        },
-        "next_page_token": {
-          "type": "string",
-          "description": "The page token for the next page of Collections."
-        },
-        "selfLink": {
-          "type": "string",
-          "description": "A link back to this list."
-        }
-      }
-    },
-    "Collection": {
-      "id": "Collection",
-      "description": "Collection",
-      "type": "object",
-      "uuidPrefix": "4zz18",
-      "properties": {
-        "uuid": {
-          "type": "string"
-        },
-        "etag": {
-          "type": "string",
-          "description": "Object version."
-        },
-        "owner_uuid": {
-          "type": "string"
-        },
-        "created_at": {
-          "type": "datetime"
-        },
-        "modified_by_client_uuid": {
-          "type": "string"
-        },
-        "modified_by_user_uuid": {
-          "type": "string"
-        },
-        "modified_at": {
-          "type": "datetime"
-        },
-        "portable_data_hash": {
-          "type": "string"
-        },
-        "replication_desired": {
-          "type": "integer"
-        },
-        "replication_confirmed_at": {
-          "type": "datetime"
-        },
-        "replication_confirmed": {
-          "type": "integer"
-        },
-        "updated_at": {
-          "type": "datetime"
-        },
-        "manifest_text": {
-          "type": "text"
-        },
-        "name": {
-          "type": "string"
-        },
-        "description": {
-          "type": "string"
-        },
-        "properties": {
-          "type": "Hash"
-        },
-        "delete_at": {
-          "type": "datetime"
-        },
-        "file_names": {
-          "type": "text"
-        },
-        "trash_at": {
-          "type": "datetime"
-        },
-        "is_trashed": {
-          "type": "boolean"
-        },
-        "storage_classes_desired": {
-          "type": "Array"
-        },
-        "storage_classes_confirmed": {
-          "type": "Array"
-        },
-        "storage_classes_confirmed_at": {
-          "type": "datetime"
-        },
-        "current_version_uuid": {
-          "type": "string"
-        },
-        "version": {
-          "type": "integer"
-        },
-        "preserve_version": {
-          "type": "boolean"
-        },
-        "file_count": {
-          "type": "integer"
-        },
-        "file_size_total": {
-          "type": "integer"
-        }
-      }
-    },
-    "ContainerList": {
-      "id": "ContainerList",
-      "description": "Container list",
-      "type": "object",
-      "properties": {
-        "kind": {
-          "type": "string",
-          "description": "Object type. Always arvados#containerList.",
-          "default": "arvados#containerList"
-        },
-        "etag": {
-          "type": "string",
-          "description": "List version."
-        },
-        "items": {
-          "type": "array",
-          "description": "The list of Containers.",
-          "items": {
-            "$ref": "Container"
-          }
-        },
-        "next_link": {
-          "type": "string",
-          "description": "A link to the next page of Containers."
-        },
-        "next_page_token": {
-          "type": "string",
-          "description": "The page token for the next page of Containers."
-        },
-        "selfLink": {
-          "type": "string",
-          "description": "A link back to this list."
-        }
-      }
-    },
-    "Container": {
-      "id": "Container",
-      "description": "Container",
-      "type": "object",
-      "uuidPrefix": "dz642",
-      "properties": {
-        "uuid": {
-          "type": "string"
-        },
-        "etag": {
-          "type": "string",
-          "description": "Object version."
-        },
-        "owner_uuid": {
-          "type": "string"
-        },
-        "created_at": {
-          "type": "datetime"
-        },
-        "modified_at": {
-          "type": "datetime"
-        },
-        "modified_by_client_uuid": {
-          "type": "string"
-        },
-        "modified_by_user_uuid": {
-          "type": "string"
-        },
-        "state": {
-          "type": "string"
-        },
-        "started_at": {
-          "type": "datetime"
-        },
-        "finished_at": {
-          "type": "datetime"
-        },
-        "log": {
-          "type": "string"
-        },
-        "environment": {
-          "type": "Hash"
-        },
-        "cwd": {
-          "type": "string"
-        },
-        "command": {
-          "type": "Array"
-        },
-        "output_path": {
-          "type": "string"
-        },
-        "mounts": {
-          "type": "Hash"
-        },
-        "runtime_constraints": {
-          "type": "Hash"
-        },
-        "output": {
-          "type": "string"
-        },
-        "container_image": {
-          "type": "string"
-        },
-        "progress": {
-          "type": "float"
-        },
-        "priority": {
-          "type": "integer"
-        },
-        "updated_at": {
-          "type": "datetime"
-        },
-        "exit_code": {
-          "type": "integer"
-        },
-        "auth_uuid": {
-          "type": "string"
-        },
-        "locked_by_uuid": {
-          "type": "string"
-        },
-        "scheduling_parameters": {
-          "type": "Hash"
-        },
-        "runtime_status": {
-          "type": "Hash"
-        },
-        "runtime_user_uuid": {
-          "type": "text"
-        },
-        "runtime_auth_scopes": {
-          "type": "Array"
-        },
-        "runtime_token": {
-          "type": "text"
-        },
-        "lock_count": {
-          "type": "integer"
-        },
-        "gateway_address": {
-          "type": "string"
-        },
-        "interactive_session_started": {
-          "type": "boolean"
-        },
-        "output_storage_classes": {
-          "type": "Array"
-        },
-        "output_properties": {
-          "type": "Hash"
-        },
-        "cost": {
-          "type": "float"
-        },
-        "subrequests_cost": {
-          "type": "float"
-        }
-      }
-    },
-    "ContainerRequestList": {
-      "id": "ContainerRequestList",
-      "description": "ContainerRequest list",
-      "type": "object",
-      "properties": {
-        "kind": {
-          "type": "string",
-          "description": "Object type. Always arvados#containerRequestList.",
-          "default": "arvados#containerRequestList"
-        },
-        "etag": {
-          "type": "string",
-          "description": "List version."
-        },
-        "items": {
-          "type": "array",
-          "description": "The list of ContainerRequests.",
-          "items": {
-            "$ref": "ContainerRequest"
-          }
-        },
-        "next_link": {
-          "type": "string",
-          "description": "A link to the next page of ContainerRequests."
-        },
-        "next_page_token": {
-          "type": "string",
-          "description": "The page token for the next page of ContainerRequests."
-        },
-        "selfLink": {
-          "type": "string",
-          "description": "A link back to this list."
-        }
-      }
-    },
-    "ContainerRequest": {
-      "id": "ContainerRequest",
-      "description": "ContainerRequest",
-      "type": "object",
-      "uuidPrefix": "xvhdp",
-      "properties": {
-        "uuid": {
-          "type": "string"
-        },
-        "etag": {
-          "type": "string",
-          "description": "Object version."
-        },
-        "owner_uuid": {
-          "type": "string"
-        },
-        "created_at": {
-          "type": "datetime"
-        },
-        "modified_at": {
-          "type": "datetime"
-        },
-        "modified_by_client_uuid": {
-          "type": "string"
-        },
-        "modified_by_user_uuid": {
-          "type": "string"
-        },
-        "name": {
-          "type": "string"
-        },
-        "description": {
-          "type": "text"
-        },
-        "properties": {
-          "type": "Hash"
-        },
-        "state": {
-          "type": "string"
-        },
-        "requesting_container_uuid": {
-          "type": "string"
-        },
-        "container_uuid": {
-          "type": "string"
-        },
-        "container_count_max": {
-          "type": "integer"
-        },
-        "mounts": {
-          "type": "Hash"
-        },
-        "runtime_constraints": {
-          "type": "Hash"
-        },
-        "container_image": {
-          "type": "string"
-        },
-        "environment": {
-          "type": "Hash"
-        },
-        "cwd": {
-          "type": "string"
-        },
-        "command": {
-          "type": "Array"
-        },
-        "output_path": {
-          "type": "string"
-        },
-        "priority": {
-          "type": "integer"
-        },
-        "expires_at": {
-          "type": "datetime"
-        },
-        "filters": {
-          "type": "text"
-        },
-        "updated_at": {
-          "type": "datetime"
-        },
-        "container_count": {
-          "type": "integer"
-        },
-        "use_existing": {
-          "type": "boolean"
-        },
-        "scheduling_parameters": {
-          "type": "Hash"
-        },
-        "output_uuid": {
-          "type": "string"
-        },
-        "log_uuid": {
-          "type": "string"
-        },
-        "output_name": {
-          "type": "string"
-        },
-        "output_ttl": {
-          "type": "integer"
-        },
-        "runtime_token": {
-          "type": "text"
-        },
-        "output_storage_classes": {
-          "type": "Array"
-        },
-        "output_properties": {
-          "type": "Hash"
-        },
-        "cumulative_cost": {
-          "type": "float"
+          "description": "Get public config",
+          "parameters": {},
+          "parameterOrder": [],
+          "response": {},
+          "scopes": [
+            "https://api.arvados.org/auth/arvados",
+            "https://api.arvados.org/auth/arvados.readonly"
+          ]
         }
       }
     },
-    "GroupList": {
-      "id": "GroupList",
-      "description": "Group list",
-      "type": "object",
-      "properties": {
-        "kind": {
-          "type": "string",
-          "description": "Object type. Always arvados#groupList.",
-          "default": "arvados#groupList"
-        },
-        "etag": {
-          "type": "string",
-          "description": "List version."
-        },
-        "items": {
-          "type": "array",
-          "description": "The list of Groups.",
-          "items": {
-            "$ref": "Group"
-          }
-        },
-        "next_link": {
-          "type": "string",
-          "description": "A link to the next page of Groups."
-        },
-        "next_page_token": {
-          "type": "string",
-          "description": "The page token for the next page of Groups."
-        },
-        "selfLink": {
-          "type": "string",
-          "description": "A link back to this list."
+    "vocabularies": {
+      "methods": {
+        "get": {
+          "id": "arvados.vocabularies.get",
+          "path": "vocabulary",
+          "httpMethod": "GET",
+          "description": "Get vocabulary definition",
+          "parameters": {},
+          "parameterOrder": [],
+          "response": {},
+          "scopes": [
+            "https://api.arvados.org/auth/arvados",
+            "https://api.arvados.org/auth/arvados.readonly"
+          ]
         }
       }
     },
-    "Group": {
-      "id": "Group",
-      "description": "Group",
-      "type": "object",
-      "uuidPrefix": "j7d0g",
-      "properties": {
-        "uuid": {
-          "type": "string"
-        },
-        "etag": {
-          "type": "string",
-          "description": "Object version."
-        },
-        "owner_uuid": {
-          "type": "string"
-        },
-        "created_at": {
-          "type": "datetime"
-        },
-        "modified_by_client_uuid": {
-          "type": "string"
-        },
-        "modified_by_user_uuid": {
-          "type": "string"
-        },
-        "modified_at": {
-          "type": "datetime"
-        },
-        "name": {
-          "type": "string"
-        },
-        "description": {
-          "type": "string"
-        },
-        "updated_at": {
-          "type": "datetime"
-        },
-        "group_class": {
-          "type": "string"
-        },
-        "trash_at": {
-          "type": "datetime"
-        },
-        "is_trashed": {
-          "type": "boolean"
-        },
-        "delete_at": {
-          "type": "datetime"
-        },
-        "properties": {
-          "type": "Hash"
-        },
-        "frozen_by_uuid": {
-          "type": "string"
+    "sys": {
+      "methods": {
+        "get": {
+          "id": "arvados.sys.trash_sweep",
+          "path": "sys/trash_sweep",
+          "httpMethod": "POST",
+          "description": "apply scheduled trash and delete operations",
+          "parameters": {},
+          "parameterOrder": [],
+          "response": {},
+          "scopes": [
+            "https://api.arvados.org/auth/arvados",
+            "https://api.arvados.org/auth/arvados.readonly"
+          ]
         }
       }
-    },
-    "HumanList": {
-      "id": "HumanList",
-      "description": "Human list",
+    }
+  },
+  "revision": "20231117",
+  "schemas": {
+    "ApiClientList": {
+      "id": "ApiClientList",
+      "description": "ApiClient list",
       "type": "object",
       "properties": {
         "kind": {
           "type": "string",
-          "description": "Object type. Always arvados#humanList.",
-          "default": "arvados#humanList"
+          "description": "Object type. Always arvados#apiClientList.",
+          "default": "arvados#apiClientList"
         },
         "etag": {
           "type": "string",
         },
         "items": {
           "type": "array",
-          "description": "The list of Humans.",
+          "description": "The list of ApiClients.",
           "items": {
-            "$ref": "Human"
+            "$ref": "ApiClient"
           }
         },
         "next_link": {
           "type": "string",
-          "description": "A link to the next page of Humans."
+          "description": "A link to the next page of ApiClients."
         },
         "next_page_token": {
           "type": "string",
-          "description": "The page token for the next page of Humans."
+          "description": "The page token for the next page of ApiClients."
         },
         "selfLink": {
           "type": "string",
         }
       }
     },
-    "Human": {
-      "id": "Human",
-      "description": "Human",
+    "ApiClient": {
+      "id": "ApiClient",
+      "description": "ApiClient",
       "type": "object",
-      "uuidPrefix": "7a9it",
+      "uuidPrefix": "ozdt8",
       "properties": {
         "uuid": {
           "type": "string"
         "modified_at": {
           "type": "datetime"
         },
-        "properties": {
-          "type": "Hash"
+        "name": {
+          "type": "string"
+        },
+        "url_prefix": {
+          "type": "string"
         },
         "created_at": {
           "type": "datetime"
         },
-        "updated_at": {
-          "type": "datetime"
+        "is_trusted": {
+          "type": "boolean"
         }
       }
     },
-    "JobTaskList": {
-      "id": "JobTaskList",
-      "description": "JobTask list",
+    "ApiClientAuthorizationList": {
+      "id": "ApiClientAuthorizationList",
+      "description": "ApiClientAuthorization list",
       "type": "object",
       "properties": {
         "kind": {
           "type": "string",
-          "description": "Object type. Always arvados#jobTaskList.",
-          "default": "arvados#jobTaskList"
+          "description": "Object type. Always arvados#apiClientAuthorizationList.",
+          "default": "arvados#apiClientAuthorizationList"
         },
         "etag": {
           "type": "string",
         },
         "items": {
           "type": "array",
-          "description": "The list of JobTasks.",
+          "description": "The list of ApiClientAuthorizations.",
           "items": {
-            "$ref": "JobTask"
+            "$ref": "ApiClientAuthorization"
           }
         },
         "next_link": {
           "type": "string",
-          "description": "A link to the next page of JobTasks."
+          "description": "A link to the next page of ApiClientAuthorizations."
         },
         "next_page_token": {
           "type": "string",
-          "description": "The page token for the next page of JobTasks."
+          "description": "The page token for the next page of ApiClientAuthorizations."
         },
         "selfLink": {
           "type": "string",
         }
       }
     },
-    "JobTask": {
-      "id": "JobTask",
-      "description": "JobTask",
+    "ApiClientAuthorization": {
+      "id": "ApiClientAuthorization",
+      "description": "ApiClientAuthorization",
       "type": "object",
-      "uuidPrefix": "ot0gb",
+      "uuidPrefix": "gj3su",
       "properties": {
         "uuid": {
           "type": "string"
           "type": "string",
           "description": "Object version."
         },
-        "owner_uuid": {
-          "type": "string"
-        },
-        "modified_by_client_uuid": {
-          "type": "string"
-        },
-        "modified_by_user_uuid": {
-          "type": "string"
-        },
-        "modified_at": {
-          "type": "datetime"
-        },
-        "job_uuid": {
+        "api_token": {
           "type": "string"
         },
-        "sequence": {
+        "api_client_id": {
           "type": "integer"
         },
-        "parameters": {
-          "type": "Hash"
+        "user_id": {
+          "type": "integer"
         },
-        "output": {
-          "type": "text"
+        "created_by_ip_address": {
+          "type": "string"
         },
-        "progress": {
-          "type": "float"
+        "last_used_by_ip_address": {
+          "type": "string"
         },
-        "success": {
-          "type": "boolean"
+        "last_used_at": {
+          "type": "datetime"
         },
-        "created_at": {
+        "expires_at": {
           "type": "datetime"
         },
-        "updated_at": {
+        "created_at": {
           "type": "datetime"
         },
-        "created_by_job_task_uuid": {
+        "default_owner_uuid": {
           "type": "string"
         },
-        "qsequence": {
-          "type": "integer"
-        },
-        "started_at": {
-          "type": "datetime"
-        },
-        "finished_at": {
-          "type": "datetime"
+        "scopes": {
+          "type": "Array"
         }
       }
     },
-    "KeepDiskList": {
-      "id": "KeepDiskList",
-      "description": "KeepDisk list",
+    "AuthorizedKeyList": {
+      "id": "AuthorizedKeyList",
+      "description": "AuthorizedKey list",
       "type": "object",
       "properties": {
         "kind": {
           "type": "string",
-          "description": "Object type. Always arvados#keepDiskList.",
-          "default": "arvados#keepDiskList"
+          "description": "Object type. Always arvados#authorizedKeyList.",
+          "default": "arvados#authorizedKeyList"
         },
         "etag": {
           "type": "string",
         },
         "items": {
           "type": "array",
-          "description": "The list of KeepDisks.",
+          "description": "The list of AuthorizedKeys.",
           "items": {
-            "$ref": "KeepDisk"
+            "$ref": "AuthorizedKey"
           }
         },
         "next_link": {
           "type": "string",
-          "description": "A link to the next page of KeepDisks."
+          "description": "A link to the next page of AuthorizedKeys."
         },
         "next_page_token": {
           "type": "string",
-          "description": "The page token for the next page of KeepDisks."
+          "description": "The page token for the next page of AuthorizedKeys."
         },
         "selfLink": {
           "type": "string",
         }
       }
     },
-    "KeepDisk": {
-      "id": "KeepDisk",
-      "description": "KeepDisk",
+    "AuthorizedKey": {
+      "id": "AuthorizedKey",
+      "description": "AuthorizedKey",
       "type": "object",
-      "uuidPrefix": "penuu",
+      "uuidPrefix": "fngyi",
       "properties": {
         "uuid": {
           "type": "string"
         "modified_at": {
           "type": "datetime"
         },
-        "ping_secret": {
+        "name": {
           "type": "string"
         },
-        "node_uuid": {
+        "key_type": {
           "type": "string"
         },
-        "filesystem_uuid": {
+        "authorized_user_uuid": {
           "type": "string"
         },
-        "bytes_total": {
-          "type": "integer"
-        },
-        "bytes_free": {
-          "type": "integer"
-        },
-        "is_readable": {
-          "type": "boolean"
-        },
-        "is_writable": {
-          "type": "boolean"
-        },
-        "last_read_at": {
-          "type": "datetime"
-        },
-        "last_write_at": {
-          "type": "datetime"
+        "public_key": {
+          "type": "text"
         },
-        "last_ping_at": {
+        "expires_at": {
           "type": "datetime"
         },
         "created_at": {
           "type": "datetime"
-        },
-        "updated_at": {
-          "type": "datetime"
-        },
-        "keep_service_uuid": {
-          "type": "string"
         }
       }
     },
-    "KeepServiceList": {
-      "id": "KeepServiceList",
-      "description": "KeepService list",
+    "CollectionList": {
+      "id": "CollectionList",
+      "description": "Collection list",
       "type": "object",
       "properties": {
         "kind": {
           "type": "string",
-          "description": "Object type. Always arvados#keepServiceList.",
-          "default": "arvados#keepServiceList"
+          "description": "Object type. Always arvados#collectionList.",
+          "default": "arvados#collectionList"
         },
         "etag": {
           "type": "string",
         },
         "items": {
           "type": "array",
-          "description": "The list of KeepServices.",
+          "description": "The list of Collections.",
           "items": {
-            "$ref": "KeepService"
+            "$ref": "Collection"
           }
         },
         "next_link": {
           "type": "string",
-          "description": "A link to the next page of KeepServices."
+          "description": "A link to the next page of Collections."
         },
         "next_page_token": {
           "type": "string",
-          "description": "The page token for the next page of KeepServices."
+          "description": "The page token for the next page of Collections."
         },
         "selfLink": {
           "type": "string",
         }
       }
     },
-    "KeepService": {
-      "id": "KeepService",
-      "description": "KeepService",
+    "Collection": {
+      "id": "Collection",
+      "description": "Collection",
       "type": "object",
-      "uuidPrefix": "bi6l4",
+      "uuidPrefix": "4zz18",
       "properties": {
         "uuid": {
           "type": "string"
         "owner_uuid": {
           "type": "string"
         },
+        "created_at": {
+          "type": "datetime"
+        },
         "modified_by_client_uuid": {
           "type": "string"
         },
         "modified_at": {
           "type": "datetime"
         },
-        "service_host": {
+        "portable_data_hash": {
           "type": "string"
         },
-        "service_port": {
+        "replication_desired": {
           "type": "integer"
         },
-        "service_ssl_flag": {
-          "type": "boolean"
+        "replication_confirmed_at": {
+          "type": "datetime"
         },
-        "service_type": {
+        "replication_confirmed": {
+          "type": "integer"
+        },
+        "manifest_text": {
+          "type": "text"
+        },
+        "name": {
           "type": "string"
         },
-        "created_at": {
+        "description": {
+          "type": "string"
+        },
+        "properties": {
+          "type": "Hash"
+        },
+        "delete_at": {
           "type": "datetime"
         },
-        "updated_at": {
+        "trash_at": {
           "type": "datetime"
         },
-        "read_only": {
+        "is_trashed": {
+          "type": "boolean"
+        },
+        "storage_classes_desired": {
+          "type": "Array"
+        },
+        "storage_classes_confirmed": {
+          "type": "Array"
+        },
+        "storage_classes_confirmed_at": {
+          "type": "datetime"
+        },
+        "current_version_uuid": {
+          "type": "string"
+        },
+        "version": {
+          "type": "integer"
+        },
+        "preserve_version": {
           "type": "boolean"
+        },
+        "file_count": {
+          "type": "integer"
+        },
+        "file_size_total": {
+          "type": "integer"
         }
       }
     },
-    "LinkList": {
-      "id": "LinkList",
-      "description": "Link list",
+    "ContainerList": {
+      "id": "ContainerList",
+      "description": "Container list",
       "type": "object",
       "properties": {
         "kind": {
           "type": "string",
-          "description": "Object type. Always arvados#linkList.",
-          "default": "arvados#linkList"
+          "description": "Object type. Always arvados#containerList.",
+          "default": "arvados#containerList"
         },
         "etag": {
           "type": "string",
         },
         "items": {
           "type": "array",
-          "description": "The list of Links.",
+          "description": "The list of Containers.",
           "items": {
-            "$ref": "Link"
+            "$ref": "Container"
           }
         },
         "next_link": {
           "type": "string",
-          "description": "A link to the next page of Links."
+          "description": "A link to the next page of Containers."
         },
         "next_page_token": {
           "type": "string",
-          "description": "The page token for the next page of Links."
+          "description": "The page token for the next page of Containers."
         },
         "selfLink": {
           "type": "string",
         }
       }
     },
-    "Link": {
-      "id": "Link",
-      "description": "Link",
+    "Container": {
+      "id": "Container",
+      "description": "Container",
       "type": "object",
-      "uuidPrefix": "o0j2j",
+      "uuidPrefix": "dz642",
       "properties": {
         "uuid": {
           "type": "string"
         "created_at": {
           "type": "datetime"
         },
+        "modified_at": {
+          "type": "datetime"
+        },
         "modified_by_client_uuid": {
           "type": "string"
         },
         "modified_by_user_uuid": {
           "type": "string"
         },
-        "modified_at": {
+        "state": {
+          "type": "string"
+        },
+        "started_at": {
           "type": "datetime"
         },
-        "tail_uuid": {
+        "finished_at": {
+          "type": "datetime"
+        },
+        "log": {
           "type": "string"
         },
-        "link_class": {
+        "environment": {
+          "type": "Hash"
+        },
+        "cwd": {
           "type": "string"
         },
-        "name": {
+        "command": {
+          "type": "Array"
+        },
+        "output_path": {
           "type": "string"
         },
-        "head_uuid": {
+        "mounts": {
+          "type": "Hash"
+        },
+        "runtime_constraints": {
+          "type": "Hash"
+        },
+        "output": {
           "type": "string"
         },
-        "properties": {
+        "container_image": {
+          "type": "string"
+        },
+        "progress": {
+          "type": "float"
+        },
+        "priority": {
+          "type": "integer"
+        },
+        "exit_code": {
+          "type": "integer"
+        },
+        "auth_uuid": {
+          "type": "string"
+        },
+        "locked_by_uuid": {
+          "type": "string"
+        },
+        "scheduling_parameters": {
           "type": "Hash"
         },
-        "updated_at": {
-          "type": "datetime"
+        "runtime_status": {
+          "type": "Hash"
+        },
+        "runtime_user_uuid": {
+          "type": "text"
+        },
+        "runtime_auth_scopes": {
+          "type": "Array"
+        },
+        "lock_count": {
+          "type": "integer"
+        },
+        "gateway_address": {
+          "type": "string"
+        },
+        "interactive_session_started": {
+          "type": "boolean"
+        },
+        "output_storage_classes": {
+          "type": "Array"
+        },
+        "output_properties": {
+          "type": "Hash"
+        },
+        "cost": {
+          "type": "float"
+        },
+        "subrequests_cost": {
+          "type": "float"
+        },
+        "output_glob": {
+          "type": "Array"
         }
       }
     },
-    "LogList": {
-      "id": "LogList",
-      "description": "Log list",
+    "ContainerRequestList": {
+      "id": "ContainerRequestList",
+      "description": "ContainerRequest list",
       "type": "object",
       "properties": {
         "kind": {
           "type": "string",
-          "description": "Object type. Always arvados#logList.",
-          "default": "arvados#logList"
+          "description": "Object type. Always arvados#containerRequestList.",
+          "default": "arvados#containerRequestList"
         },
         "etag": {
           "type": "string",
         },
         "items": {
           "type": "array",
-          "description": "The list of Logs.",
+          "description": "The list of ContainerRequests.",
           "items": {
-            "$ref": "Log"
+            "$ref": "ContainerRequest"
           }
         },
         "next_link": {
           "type": "string",
-          "description": "A link to the next page of Logs."
+          "description": "A link to the next page of ContainerRequests."
         },
         "next_page_token": {
           "type": "string",
-          "description": "The page token for the next page of Logs."
+          "description": "The page token for the next page of ContainerRequests."
         },
         "selfLink": {
           "type": "string",
         }
       }
     },
-    "Log": {
-      "id": "Log",
-      "description": "Log",
+    "ContainerRequest": {
+      "id": "ContainerRequest",
+      "description": "ContainerRequest",
       "type": "object",
-      "uuidPrefix": "57u5n",
+      "uuidPrefix": "xvhdp",
       "properties": {
         "uuid": {
           "type": "string"
         "owner_uuid": {
           "type": "string"
         },
+        "created_at": {
+          "type": "datetime"
+        },
+        "modified_at": {
+          "type": "datetime"
+        },
         "modified_by_client_uuid": {
           "type": "string"
         },
         "modified_by_user_uuid": {
           "type": "string"
         },
-        "object_uuid": {
-          "type": "string"
-        },
-        "event_at": {
-          "type": "datetime"
-        },
-        "event_type": {
+        "name": {
           "type": "string"
         },
-        "summary": {
+        "description": {
           "type": "text"
         },
         "properties": {
           "type": "Hash"
         },
-        "created_at": {
-          "type": "datetime"
-        },
-        "updated_at": {
-          "type": "datetime"
-        },
-        "modified_at": {
-          "type": "datetime"
+        "state": {
+          "type": "string"
         },
-        "object_owner_uuid": {
+        "requesting_container_uuid": {
           "type": "string"
-        }
-      }
-    },
-    "NodeList": {
-      "id": "NodeList",
-      "description": "Node list",
-      "type": "object",
-      "properties": {
-        "kind": {
-          "type": "string",
-          "description": "Object type. Always arvados#nodeList.",
-          "default": "arvados#nodeList"
         },
-        "etag": {
-          "type": "string",
-          "description": "List version."
+        "container_uuid": {
+          "type": "string"
         },
-        "items": {
-          "type": "array",
-          "description": "The list of Nodes.",
-          "items": {
-            "$ref": "Node"
-          }
+        "container_count_max": {
+          "type": "integer"
         },
-        "next_link": {
-          "type": "string",
-          "description": "A link to the next page of Nodes."
+        "mounts": {
+          "type": "Hash"
         },
-        "next_page_token": {
-          "type": "string",
-          "description": "The page token for the next page of Nodes."
+        "runtime_constraints": {
+          "type": "Hash"
         },
-        "selfLink": {
-          "type": "string",
-          "description": "A link back to this list."
-        }
-      }
-    },
-    "Node": {
-      "id": "Node",
-      "description": "Node",
-      "type": "object",
-      "uuidPrefix": "7ekkf",
-      "properties": {
-        "uuid": {
+        "container_image": {
           "type": "string"
         },
-        "etag": {
-          "type": "string",
-          "description": "Object version."
+        "environment": {
+          "type": "Hash"
         },
-        "owner_uuid": {
+        "cwd": {
           "type": "string"
         },
-        "created_at": {
-          "type": "datetime"
+        "command": {
+          "type": "Array"
         },
-        "modified_by_client_uuid": {
+        "output_path": {
           "type": "string"
         },
-        "modified_by_user_uuid": {
-          "type": "string"
+        "priority": {
+          "type": "integer"
         },
-        "modified_at": {
+        "expires_at": {
           "type": "datetime"
         },
-        "slot_number": {
+        "filters": {
+          "type": "text"
+        },
+        "container_count": {
           "type": "integer"
         },
-        "hostname": {
+        "use_existing": {
+          "type": "boolean"
+        },
+        "scheduling_parameters": {
+          "type": "Hash"
+        },
+        "output_uuid": {
           "type": "string"
         },
-        "domain": {
+        "log_uuid": {
           "type": "string"
         },
-        "ip_address": {
+        "output_name": {
           "type": "string"
         },
-        "first_ping_at": {
-          "type": "datetime"
+        "output_ttl": {
+          "type": "integer"
         },
-        "last_ping_at": {
-          "type": "datetime"
+        "output_storage_classes": {
+          "type": "Array"
         },
-        "info": {
+        "output_properties": {
           "type": "Hash"
         },
-        "updated_at": {
-          "type": "datetime"
-        },
-        "properties": {
-          "type": "Hash"
+        "cumulative_cost": {
+          "type": "float"
         },
-        "job_uuid": {
-          "type": "string"
+        "output_glob": {
+          "type": "Array"
         }
       }
     },
-    "UserList": {
-      "id": "UserList",
-      "description": "User list",
+    "GroupList": {
+      "id": "GroupList",
+      "description": "Group list",
       "type": "object",
       "properties": {
         "kind": {
           "type": "string",
-          "description": "Object type. Always arvados#userList.",
-          "default": "arvados#userList"
+          "description": "Object type. Always arvados#groupList.",
+          "default": "arvados#groupList"
         },
         "etag": {
           "type": "string",
         },
         "items": {
           "type": "array",
-          "description": "The list of Users.",
+          "description": "The list of Groups.",
           "items": {
-            "$ref": "User"
+            "$ref": "Group"
           }
         },
         "next_link": {
           "type": "string",
-          "description": "A link to the next page of Users."
+          "description": "A link to the next page of Groups."
         },
         "next_page_token": {
           "type": "string",
-          "description": "The page token for the next page of Users."
+          "description": "The page token for the next page of Groups."
         },
         "selfLink": {
           "type": "string",
         }
       }
     },
-    "User": {
-      "id": "User",
-      "description": "User",
+    "Group": {
+      "id": "Group",
+      "description": "Group",
       "type": "object",
-      "uuidPrefix": "tpzed",
+      "uuidPrefix": "j7d0g",
       "properties": {
         "uuid": {
           "type": "string"
         "modified_at": {
           "type": "datetime"
         },
-        "email": {
+        "name": {
           "type": "string"
         },
-        "first_name": {
+        "description": {
           "type": "string"
         },
-        "last_name": {
+        "group_class": {
           "type": "string"
         },
-        "identity_url": {
-          "type": "string"
+        "trash_at": {
+          "type": "datetime"
         },
-        "is_admin": {
+        "is_trashed": {
           "type": "boolean"
         },
-        "prefs": {
-          "type": "Hash"
-        },
-        "updated_at": {
+        "delete_at": {
           "type": "datetime"
         },
-        "default_owner_uuid": {
-          "type": "string"
-        },
-        "is_active": {
-          "type": "boolean"
-        },
-        "username": {
-          "type": "string"
+        "properties": {
+          "type": "Hash"
         },
-        "redirect_to_user_uuid": {
+        "frozen_by_uuid": {
           "type": "string"
         }
       }
     },
-    "PipelineInstanceList": {
-      "id": "PipelineInstanceList",
-      "description": "PipelineInstance list",
+    "KeepServiceList": {
+      "id": "KeepServiceList",
+      "description": "KeepService list",
       "type": "object",
       "properties": {
         "kind": {
           "type": "string",
-          "description": "Object type. Always arvados#pipelineInstanceList.",
-          "default": "arvados#pipelineInstanceList"
+          "description": "Object type. Always arvados#keepServiceList.",
+          "default": "arvados#keepServiceList"
         },
         "etag": {
           "type": "string",
         },
         "items": {
           "type": "array",
-          "description": "The list of PipelineInstances.",
+          "description": "The list of KeepServices.",
           "items": {
-            "$ref": "PipelineInstance"
+            "$ref": "KeepService"
           }
         },
         "next_link": {
           "type": "string",
-          "description": "A link to the next page of PipelineInstances."
+          "description": "A link to the next page of KeepServices."
         },
         "next_page_token": {
           "type": "string",
-          "description": "The page token for the next page of PipelineInstances."
+          "description": "The page token for the next page of KeepServices."
         },
         "selfLink": {
           "type": "string",
         }
       }
     },
-    "PipelineInstance": {
-      "id": "PipelineInstance",
-      "description": "PipelineInstance",
+    "KeepService": {
+      "id": "KeepService",
+      "description": "KeepService",
       "type": "object",
-      "uuidPrefix": "d1hrv",
+      "uuidPrefix": "bi6l4",
       "properties": {
         "uuid": {
           "type": "string"
         "owner_uuid": {
           "type": "string"
         },
-        "created_at": {
-          "type": "datetime"
-        },
         "modified_by_client_uuid": {
           "type": "string"
         },
         "modified_at": {
           "type": "datetime"
         },
-        "pipeline_template_uuid": {
-          "type": "string"
-        },
-        "name": {
+        "service_host": {
           "type": "string"
         },
-        "components": {
-          "type": "Hash"
-        },
-        "updated_at": {
-          "type": "datetime"
+        "service_port": {
+          "type": "integer"
         },
-        "properties": {
-          "type": "Hash"
+        "service_ssl_flag": {
+          "type": "boolean"
         },
-        "state": {
+        "service_type": {
           "type": "string"
         },
-        "components_summary": {
-          "type": "Hash"
-        },
-        "started_at": {
-          "type": "datetime"
-        },
-        "finished_at": {
+        "created_at": {
           "type": "datetime"
         },
-        "description": {
-          "type": "string"
+        "read_only": {
+          "type": "boolean"
         }
       }
     },
-    "PipelineTemplateList": {
-      "id": "PipelineTemplateList",
-      "description": "PipelineTemplate list",
+    "LinkList": {
+      "id": "LinkList",
+      "description": "Link list",
       "type": "object",
       "properties": {
         "kind": {
           "type": "string",
-          "description": "Object type. Always arvados#pipelineTemplateList.",
-          "default": "arvados#pipelineTemplateList"
+          "description": "Object type. Always arvados#linkList.",
+          "default": "arvados#linkList"
         },
         "etag": {
           "type": "string",
         },
         "items": {
           "type": "array",
-          "description": "The list of PipelineTemplates.",
+          "description": "The list of Links.",
           "items": {
-            "$ref": "PipelineTemplate"
+            "$ref": "Link"
           }
         },
         "next_link": {
           "type": "string",
-          "description": "A link to the next page of PipelineTemplates."
+          "description": "A link to the next page of Links."
         },
         "next_page_token": {
           "type": "string",
-          "description": "The page token for the next page of PipelineTemplates."
+          "description": "The page token for the next page of Links."
         },
         "selfLink": {
           "type": "string",
         }
       }
     },
-    "PipelineTemplate": {
-      "id": "PipelineTemplate",
-      "description": "PipelineTemplate",
+    "Link": {
+      "id": "Link",
+      "description": "Link",
       "type": "object",
-      "uuidPrefix": "p5p6p",
+      "uuidPrefix": "o0j2j",
       "properties": {
         "uuid": {
           "type": "string"
         "modified_at": {
           "type": "datetime"
         },
-        "name": {
+        "tail_uuid": {
           "type": "string"
         },
-        "components": {
-          "type": "Hash"
+        "link_class": {
+          "type": "string"
         },
-        "updated_at": {
-          "type": "datetime"
+        "name": {
+          "type": "string"
         },
-        "description": {
+        "head_uuid": {
           "type": "string"
+        },
+        "properties": {
+          "type": "Hash"
         }
       }
     },
-    "RepositoryList": {
-      "id": "RepositoryList",
-      "description": "Repository list",
+    "LogList": {
+      "id": "LogList",
+      "description": "Log list",
       "type": "object",
       "properties": {
         "kind": {
           "type": "string",
-          "description": "Object type. Always arvados#repositoryList.",
-          "default": "arvados#repositoryList"
+          "description": "Object type. Always arvados#logList.",
+          "default": "arvados#logList"
         },
         "etag": {
           "type": "string",
         },
         "items": {
           "type": "array",
-          "description": "The list of Repositories.",
+          "description": "The list of Logs.",
           "items": {
-            "$ref": "Repository"
+            "$ref": "Log"
           }
         },
         "next_link": {
           "type": "string",
-          "description": "A link to the next page of Repositories."
+          "description": "A link to the next page of Logs."
         },
         "next_page_token": {
           "type": "string",
-          "description": "The page token for the next page of Repositories."
+          "description": "The page token for the next page of Logs."
         },
         "selfLink": {
           "type": "string",
         }
       }
     },
-    "Repository": {
-      "id": "Repository",
-      "description": "Repository",
+    "Log": {
+      "id": "Log",
+      "description": "Log",
       "type": "object",
-      "uuidPrefix": "s0uqq",
+      "uuidPrefix": "57u5n",
       "properties": {
         "uuid": {
           "type": "string"
           "type": "string",
           "description": "Object version."
         },
+        "id": {
+          "type": "integer"
+        },
         "owner_uuid": {
           "type": "string"
         },
         "modified_by_user_uuid": {
           "type": "string"
         },
-        "modified_at": {
+        "object_uuid": {
+          "type": "string"
+        },
+        "event_at": {
           "type": "datetime"
         },
-        "name": {
+        "event_type": {
           "type": "string"
         },
+        "summary": {
+          "type": "text"
+        },
+        "properties": {
+          "type": "Hash"
+        },
         "created_at": {
           "type": "datetime"
         },
-        "updated_at": {
+        "modified_at": {
           "type": "datetime"
+        },
+        "object_owner_uuid": {
+          "type": "string"
         }
       }
     },
-    "SpecimenList": {
-      "id": "SpecimenList",
-      "description": "Specimen list",
+    "UserList": {
+      "id": "UserList",
+      "description": "User list",
       "type": "object",
       "properties": {
         "kind": {
           "type": "string",
-          "description": "Object type. Always arvados#specimenList.",
-          "default": "arvados#specimenList"
+          "description": "Object type. Always arvados#userList.",
+          "default": "arvados#userList"
         },
         "etag": {
           "type": "string",
         },
         "items": {
           "type": "array",
-          "description": "The list of Specimens.",
+          "description": "The list of Users.",
           "items": {
-            "$ref": "Specimen"
+            "$ref": "User"
           }
         },
         "next_link": {
           "type": "string",
-          "description": "A link to the next page of Specimens."
+          "description": "A link to the next page of Users."
         },
         "next_page_token": {
           "type": "string",
-          "description": "The page token for the next page of Specimens."
+          "description": "The page token for the next page of Users."
         },
         "selfLink": {
           "type": "string",
         }
       }
     },
-    "Specimen": {
-      "id": "Specimen",
-      "description": "Specimen",
+    "User": {
+      "id": "User",
+      "description": "User",
       "type": "object",
-      "uuidPrefix": "j58dm",
+      "uuidPrefix": "tpzed",
       "properties": {
         "uuid": {
           "type": "string"
         "modified_at": {
           "type": "datetime"
         },
-        "material": {
+        "email": {
           "type": "string"
         },
-        "updated_at": {
-          "type": "datetime"
+        "first_name": {
+          "type": "string"
         },
-        "properties": {
+        "last_name": {
+          "type": "string"
+        },
+        "identity_url": {
+          "type": "string"
+        },
+        "is_admin": {
+          "type": "boolean"
+        },
+        "prefs": {
           "type": "Hash"
+        },
+        "is_active": {
+          "type": "boolean"
+        },
+        "username": {
+          "type": "string"
         }
       }
     },
-    "TraitList": {
-      "id": "TraitList",
-      "description": "Trait list",
+    "UserAgreementList": {
+      "id": "UserAgreementList",
+      "description": "UserAgreement list",
       "type": "object",
       "properties": {
         "kind": {
           "type": "string",
-          "description": "Object type. Always arvados#traitList.",
-          "default": "arvados#traitList"
+          "description": "Object type. Always arvados#userAgreementList.",
+          "default": "arvados#userAgreementList"
         },
         "etag": {
           "type": "string",
         },
         "items": {
           "type": "array",
-          "description": "The list of Traits.",
+          "description": "The list of UserAgreements.",
           "items": {
-            "$ref": "Trait"
+            "$ref": "UserAgreement"
           }
         },
         "next_link": {
           "type": "string",
-          "description": "A link to the next page of Traits."
+          "description": "A link to the next page of UserAgreements."
         },
         "next_page_token": {
           "type": "string",
-          "description": "The page token for the next page of Traits."
+          "description": "The page token for the next page of UserAgreements."
         },
         "selfLink": {
           "type": "string",
         }
       }
     },
-    "Trait": {
-      "id": "Trait",
-      "description": "Trait",
+    "UserAgreement": {
+      "id": "UserAgreement",
+      "description": "UserAgreement",
       "type": "object",
-      "uuidPrefix": "q1cn2",
+      "uuidPrefix": "gv0sa",
       "properties": {
         "uuid": {
           "type": "string"
         "owner_uuid": {
           "type": "string"
         },
+        "created_at": {
+          "type": "datetime"
+        },
         "modified_by_client_uuid": {
           "type": "string"
         },
         "modified_at": {
           "type": "datetime"
         },
+        "portable_data_hash": {
+          "type": "string"
+        },
+        "replication_desired": {
+          "type": "integer"
+        },
+        "replication_confirmed_at": {
+          "type": "datetime"
+        },
+        "replication_confirmed": {
+          "type": "integer"
+        },
+        "manifest_text": {
+          "type": "text"
+        },
         "name": {
           "type": "string"
         },
+        "description": {
+          "type": "string"
+        },
         "properties": {
           "type": "Hash"
         },
-        "created_at": {
+        "delete_at": {
+          "type": "datetime"
+        },
+        "trash_at": {
           "type": "datetime"
         },
-        "updated_at": {
+        "is_trashed": {
+          "type": "boolean"
+        },
+        "storage_classes_desired": {
+          "type": "Array"
+        },
+        "storage_classes_confirmed": {
+          "type": "Array"
+        },
+        "storage_classes_confirmed_at": {
           "type": "datetime"
+        },
+        "current_version_uuid": {
+          "type": "string"
+        },
+        "version": {
+          "type": "integer"
+        },
+        "preserve_version": {
+          "type": "boolean"
+        },
+        "file_count": {
+          "type": "integer"
+        },
+        "file_size_total": {
+          "type": "integer"
         }
       }
     },
         },
         "created_at": {
           "type": "datetime"
-        },
-        "updated_at": {
-          "type": "datetime"
         }
       }
     },
         },
         "definition": {
           "type": "text"
-        },
-        "updated_at": {
-          "type": "datetime"
-        }
-      }
-    },
-    "UserAgreementList": {
-      "id": "UserAgreementList",
-      "description": "UserAgreement list",
-      "type": "object",
-      "properties": {
-        "kind": {
-          "type": "string",
-          "description": "Object type. Always arvados#userAgreementList.",
-          "default": "arvados#userAgreementList"
-        },
-        "etag": {
-          "type": "string",
-          "description": "List version."
-        },
-        "items": {
-          "type": "array",
-          "description": "The list of UserAgreements.",
-          "items": {
-            "$ref": "UserAgreement"
-          }
-        },
-        "next_link": {
-          "type": "string",
-          "description": "A link to the next page of UserAgreements."
-        },
-        "next_page_token": {
-          "type": "string",
-          "description": "The page token for the next page of UserAgreements."
-        },
-        "selfLink": {
-          "type": "string",
-          "description": "A link back to this list."
-        }
-      }
-    },
-    "UserAgreement": {
-      "id": "UserAgreement",
-      "description": "UserAgreement",
-      "type": "object",
-      "uuidPrefix": "gv0sa",
-      "properties": {
-        "uuid": {
-          "type": "string"
-        },
-        "etag": {
-          "type": "string",
-          "description": "Object version."
-        },
-        "owner_uuid": {
-          "type": "string"
-        },
-        "created_at": {
-          "type": "datetime"
-        },
-        "modified_by_client_uuid": {
-          "type": "string"
-        },
-        "modified_by_user_uuid": {
-          "type": "string"
-        },
-        "modified_at": {
-          "type": "datetime"
-        },
-        "portable_data_hash": {
-          "type": "string"
-        },
-        "replication_desired": {
-          "type": "integer"
-        },
-        "replication_confirmed_at": {
-          "type": "datetime"
-        },
-        "replication_confirmed": {
-          "type": "integer"
-        },
-        "updated_at": {
-          "type": "datetime"
-        },
-        "manifest_text": {
-          "type": "text"
-        },
-        "name": {
-          "type": "string"
-        },
-        "description": {
-          "type": "string"
-        },
-        "properties": {
-          "type": "Hash"
-        },
-        "delete_at": {
-          "type": "datetime"
-        },
-        "file_names": {
-          "type": "text"
-        },
-        "trash_at": {
-          "type": "datetime"
-        },
-        "is_trashed": {
-          "type": "boolean"
-        },
-        "storage_classes_desired": {
-          "type": "Array"
-        },
-        "storage_classes_confirmed": {
-          "type": "Array"
-        },
-        "storage_classes_confirmed_at": {
-          "type": "datetime"
-        },
-        "current_version_uuid": {
-          "type": "string"
-        },
-        "version": {
-          "type": "integer"
-        },
-        "preserve_version": {
-          "type": "boolean"
-        },
-        "file_count": {
-          "type": "integer"
-        },
-        "file_size_total": {
-          "type": "integer"
         }
       }
     }