{
  "ownerName": "Google",
  "basePath": "",
  "auth": {
    "oauth2": {
      "scopes": {
        "https://www.googleapis.com/auth/cloud-platform": {
          "description": "View and manage your data across Google Cloud Platform services"
        },
        "https://www.googleapis.com/auth/genomics": {
          "description": "View and manage Genomics data"
        }
      }
    }
  },
  "mtlsRootUrl": "https://genomics.mtls.googleapis.com/",
  "schemas": {
    "OperationMetadata": {
      "properties": {
        "startTime": {
          "type": "string",
          "format": "google-datetime",
          "description": "The time at which the job began to run."
        },
        "events": {
          "items": {
            "$ref": "OperationEvent"
          },
          "type": "array",
          "description": "Optional event messages that were generated during the job's execution. This also contains any warnings that were generated during import or export."
        },
        "clientId": {
          "type": "string",
          "description": "This field is deprecated. Use `labels` instead. Optionally provided by the caller when submitting the request that creates the operation."
        },
        "createTime": {
          "type": "string",
          "description": "The time at which the job was submitted to the Genomics service.",
          "format": "google-datetime"
        },
        "request": {
          "type": "object",
          "description": "The original request that started the operation. Note that this will be in current version of the API. If the operation was started with v1beta2 API and a GetOperation is performed on v1 API, a v1 request will be returned.",
          "additionalProperties": {
            "type": "any",
            "description": "Properties of the object. Contains field @type with type URL."
          }
        },
        "runtimeMetadata": {
          "type": "object",
          "additionalProperties": {
            "type": "any",
            "description": "Properties of the object. Contains field @type with type URL."
          },
          "description": "Runtime metadata on this Operation."
        },
        "labels": {
          "type": "object",
          "description": "Optionally provided by the caller when submitting the request that creates the operation.",
          "additionalProperties": {
            "type": "string"
          }
        },
        "endTime": {
          "description": "The time at which the job stopped running.",
          "format": "google-datetime",
          "type": "string"
        },
        "projectId": {
          "type": "string",
          "description": "The Google Cloud Project in which the job is scoped."
        }
      },
      "type": "object",
      "description": "Metadata describing an Operation.",
      "id": "OperationMetadata"
    },
    "DelayedEvent": {
      "description": "An event generated whenever a resource limitation or transient error delays execution of a pipeline that was otherwise ready to run.",
      "type": "object",
      "properties": {
        "metrics": {
          "type": "array",
          "description": "If the delay was caused by a resource shortage, this field lists the Compute Engine metrics that are preventing this operation from running (for example, `CPUS` or `INSTANCES`). If the particular metric is not known, a single `UNKNOWN` metric will be present.",
          "items": {
            "type": "string"
          }
        },
        "cause": {
          "description": "A textual description of the cause of the delay. The string can change without notice because it is often generated by another service (such as Compute Engine).",
          "type": "string"
        }
      },
      "id": "DelayedEvent"
    },
    "Operation": {
      "description": "This resource represents a long-running operation that is the result of a network API call.",
      "properties": {
        "metadata": {
          "additionalProperties": {
            "description": "Properties of the object. Contains field @type with type URL.",
            "type": "any"
          },
          "type": "object",
          "description": "An OperationMetadata or Metadata object. This will always be returned with the Operation."
        },
        "response": {
          "description": "An Empty object.",
          "additionalProperties": {
            "type": "any",
            "description": "Properties of the object. Contains field @type with type URL."
          },
          "type": "object"
        },
        "done": {
          "description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.",
          "type": "boolean"
        },
        "error": {
          "description": "The error result of the operation in case of failure or cancellation.",
          "$ref": "Status"
        },
        "name": {
          "description": "The server-assigned name, which is only unique within the same service that originally returns it. For example: `operations/CJHU7Oi_ChDrveSpBRjfuL-qzoWAgEw`",
          "type": "string"
        }
      },
      "id": "Operation",
      "type": "object"
    },
    "PullStoppedEvent": {
      "type": "object",
      "properties": {
        "imageUri": {
          "description": "The URI of the image that was pulled.",
          "type": "string"
        }
      },
      "id": "PullStoppedEvent",
      "description": "An event generated when the worker stops pulling an image."
    },
    "RunPipelineResponse": {
      "type": "object",
      "description": "The response to the RunPipeline method, returned in the operation's result field on success.",
      "id": "RunPipelineResponse",
      "properties": {}
    },
    "RuntimeMetadata": {
      "properties": {
        "computeEngine": {
          "$ref": "ComputeEngine",
          "description": "Execution information specific to Google Compute Engine."
        }
      },
      "description": "Runtime metadata that will be populated in the runtimeMetadata field of the Operation associated with a RunPipeline execution.",
      "id": "RuntimeMetadata",
      "type": "object"
    },
    "OperationEvent": {
      "id": "OperationEvent",
      "type": "object",
      "description": "An event that occurred during an Operation.",
      "properties": {
        "endTime": {
          "description": "Optional time of when event finished. An event can have a start time and no finish time. If an event has a finish time, there must be a start time.",
          "format": "google-datetime",
          "type": "string"
        },
        "startTime": {
          "description": "Optional time of when event started.",
          "type": "string",
          "format": "google-datetime"
        },
        "description": {
          "type": "string",
          "description": "Required description of event."
        }
      }
    },
    "WorkerAssignedEvent": {
      "properties": {
        "zone": {
          "description": "The zone the worker is running in.",
          "type": "string"
        },
        "machineType": {
          "description": "The machine type that was assigned for the worker.",
          "type": "string"
        },
        "instance": {
          "description": "The worker's instance name.",
          "type": "string"
        }
      },
      "id": "WorkerAssignedEvent",
      "type": "object",
      "description": "An event generated after a worker VM has been assigned to run the pipeline."
    },
    "ContainerStoppedEvent": {
      "description": "An event generated when a container exits.",
      "properties": {
        "exitStatus": {
          "description": "The exit status of the container.",
          "format": "int32",
          "type": "integer"
        },
        "stderr": {
          "type": "string",
          "description": "The tail end of any content written to standard error by the container. If the content emits large amounts of debugging noise or contains sensitive information, you can prevent the content from being printed by setting the `DISABLE_STANDARD_ERROR_CAPTURE` flag. Note that only a small amount of the end of the stream is captured here. The entire stream is stored in the `/google/logs` directory mounted into each action, and can be copied off the machine as described elsewhere."
        },
        "actionId": {
          "type": "integer",
          "description": "The numeric ID of the action that started this container.",
          "format": "int32"
        }
      },
      "id": "ContainerStoppedEvent",
      "type": "object"
    },
    "Status": {
      "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).",
      "properties": {
        "message": {
          "type": "string",
          "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client."
        },
        "details": {
          "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.",
          "type": "array",
          "items": {
            "type": "object",
            "additionalProperties": {
              "description": "Properties of the object. Contains field @type with type URL.",
              "type": "any"
            }
          }
        },
        "code": {
          "description": "The status code, which should be an enum value of google.rpc.Code.",
          "type": "integer",
          "format": "int32"
        }
      },
      "id": "Status",
      "type": "object"
    },
    "ContainerStartedEvent": {
      "properties": {
        "actionId": {
          "description": "The numeric ID of the action that started this container.",
          "type": "integer",
          "format": "int32"
        },
        "ipAddress": {
          "type": "string",
          "description": "The public IP address that can be used to connect to the container. This field is only populated when at least one port mapping is present. If the instance was created with a private address, this field will be empty even if port mappings exist."
        },
        "portMappings": {
          "additionalProperties": {
            "type": "integer",
            "format": "int32"
          },
          "description": "The container-to-host port mappings installed for this container. This set will contain any ports exposed using the `PUBLISH_EXPOSED_PORTS` flag as well as any specified in the `Action` definition.",
          "type": "object"
        }
      },
      "type": "object",
      "id": "ContainerStartedEvent",
      "description": "An event generated when a container starts."
    },
    "Event": {
      "description": "Carries information about events that occur during pipeline execution.",
      "properties": {
        "details": {
          "description": "Machine-readable details about the event.",
          "additionalProperties": {
            "type": "any",
            "description": "Properties of the object. Contains field @type with type URL."
          },
          "type": "object"
        },
        "description": {
          "type": "string",
          "description": "A human-readable description of the event. Note that these strings can change at any time without notice. Any application logic must use the information in the `details` field."
        },
        "timestamp": {
          "description": "The time at which the event occurred.",
          "format": "google-datetime",
          "type": "string"
        }
      },
      "id": "Event",
      "type": "object"
    },
    "Empty": {
      "properties": {},
      "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.",
      "type": "object",
      "id": "Empty"
    },
    "ComputeEngine": {
      "description": "Describes a Compute Engine resource that is being managed by a running pipeline.",
      "type": "object",
      "id": "ComputeEngine",
      "properties": {
        "diskNames": {
          "description": "The names of the disks that were created for this pipeline.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "instanceName": {
          "type": "string",
          "description": "The instance on which the operation is running."
        },
        "zone": {
          "description": "The availability zone in which the instance resides.",
          "type": "string"
        },
        "machineType": {
          "type": "string",
          "description": "The machine type of the instance."
        }
      }
    },
    "FailedEvent": {
      "id": "FailedEvent",
      "description": "An event generated when the execution of a pipeline has failed. Note that other events can continue to occur after this event.",
      "properties": {
        "cause": {
          "description": "The human-readable description of the cause of the failure.",
          "type": "string"
        },
        "code": {
          "type": "string",
          "enum": [
            "OK",
            "CANCELLED",
            "UNKNOWN",
            "INVALID_ARGUMENT",
            "DEADLINE_EXCEEDED",
            "NOT_FOUND",
            "ALREADY_EXISTS",
            "PERMISSION_DENIED",
            "UNAUTHENTICATED",
            "RESOURCE_EXHAUSTED",
            "FAILED_PRECONDITION",
            "ABORTED",
            "OUT_OF_RANGE",
            "UNIMPLEMENTED",
            "INTERNAL",
            "UNAVAILABLE",
            "DATA_LOSS"
          ],
          "enumDescriptions": [
            "Not an error; returned on success HTTP Mapping: 200 OK",
            "The operation was cancelled, typically by the caller. HTTP Mapping: 499 Client Closed Request",
            "Unknown error. For example, this error may be returned when a `Status` value received from another address space belongs to an error space that is not known in this address space. Also errors raised by APIs that do not return enough error information may be converted to this error. HTTP Mapping: 500 Internal Server Error",
            "The client specified an invalid argument. Note that this differs from `FAILED_PRECONDITION`. `INVALID_ARGUMENT` indicates arguments that are problematic regardless of the state of the system (e.g., a malformed file name). HTTP Mapping: 400 Bad Request",
            "The deadline expired before the operation could complete. For operations that change the state of the system, this error may be returned even if the operation has completed successfully. For example, a successful response from a server could have been delayed long enough for the deadline to expire. HTTP Mapping: 504 Gateway Timeout",
            "Some requested entity (e.g., file or directory) was not found. Note to server developers: if a request is denied for an entire class of users, such as gradual feature rollout or undocumented allowlist, `NOT_FOUND` may be used. If a request is denied for some users within a class of users, such as user-based access control, `PERMISSION_DENIED` must be used. HTTP Mapping: 404 Not Found",
            "The entity that a client attempted to create (e.g., file or directory) already exists. HTTP Mapping: 409 Conflict",
            "The caller does not have permission to execute the specified operation. `PERMISSION_DENIED` must not be used for rejections caused by exhausting some resource (use `RESOURCE_EXHAUSTED` instead for those errors). `PERMISSION_DENIED` must not be used if the caller can not be identified (use `UNAUTHENTICATED` instead for those errors). This error code does not imply the request is valid or the requested entity exists or satisfies other pre-conditions. HTTP Mapping: 403 Forbidden",
            "The request does not have valid authentication credentials for the operation. HTTP Mapping: 401 Unauthorized",
            "Some resource has been exhausted, perhaps a per-user quota, or perhaps the entire file system is out of space. HTTP Mapping: 429 Too Many Requests",
            "The operation was rejected because the system is not in a state required for the operation's execution. For example, the directory to be deleted is non-empty, an rmdir operation is applied to a non-directory, etc. Service implementors can use the following guidelines to decide between `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`: (a) Use `UNAVAILABLE` if the client can retry just the failing call. (b) Use `ABORTED` if the client should retry at a higher level (e.g., when a client-specified test-and-set fails, indicating the client should restart a read-modify-write sequence). (c) Use `FAILED_PRECONDITION` if the client should not retry until the system state has been explicitly fixed. E.g., if an \"rmdir\" fails because the directory is non-empty, `FAILED_PRECONDITION` should be returned since the client should not retry unless the files are deleted from the directory. HTTP Mapping: 400 Bad Request",
            "The operation was aborted, typically due to a concurrency issue such as a sequencer check failure or transaction abort. See the guidelines above for deciding between `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`. HTTP Mapping: 409 Conflict",
            "The operation was attempted past the valid range. E.g., seeking or reading past end-of-file. Unlike `INVALID_ARGUMENT`, this error indicates a problem that may be fixed if the system state changes. For example, a 32-bit file system will generate `INVALID_ARGUMENT` if asked to read at an offset that is not in the range [0,2^32-1], but it will generate `OUT_OF_RANGE` if asked to read from an offset past the current file size. There is a fair bit of overlap between `FAILED_PRECONDITION` and `OUT_OF_RANGE`. We recommend using `OUT_OF_RANGE` (the more specific error) when it applies so that callers who are iterating through a space can easily look for an `OUT_OF_RANGE` error to detect when they are done. HTTP Mapping: 400 Bad Request",
            "The operation is not implemented or is not supported/enabled in this service. HTTP Mapping: 501 Not Implemented",
            "Internal errors. This means that some invariants expected by the underlying system have been broken. This error code is reserved for serious errors. HTTP Mapping: 500 Internal Server Error",
            "The service is currently unavailable. This is most likely a transient condition, which can be corrected by retrying with a backoff. Note that it is not always safe to retry non-idempotent operations. See the guidelines above for deciding between `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`. HTTP Mapping: 503 Service Unavailable",
            "Unrecoverable data loss or corruption. HTTP Mapping: 500 Internal Server Error"
          ],
          "description": "The Google standard error code that best describes this failure."
        }
      },
      "type": "object"
    },
    "WorkerReleasedEvent": {
      "properties": {
        "zone": {
          "type": "string",
          "description": "The zone the worker was running in."
        },
        "instance": {
          "type": "string",
          "description": "The worker's instance name."
        }
      },
      "description": "An event generated when the worker VM that was assigned to the pipeline has been released (deleted).",
      "id": "WorkerReleasedEvent",
      "type": "object"
    },
    "UnexpectedExitStatusEvent": {
      "description": "An event generated when the execution of a container results in a non-zero exit status that was not otherwise ignored. Execution will continue, but only actions that are flagged as `ALWAYS_RUN` will be executed. Other actions will be skipped.",
      "id": "UnexpectedExitStatusEvent",
      "type": "object",
      "properties": {
        "exitStatus": {
          "description": "The exit status of the container.",
          "format": "int32",
          "type": "integer"
        },
        "actionId": {
          "format": "int32",
          "description": "The numeric ID of the action that started the container.",
          "type": "integer"
        }
      }
    },
    "CancelOperationRequest": {
      "properties": {},
      "type": "object",
      "description": "The request message for Operations.CancelOperation.",
      "id": "CancelOperationRequest"
    },
    "ListOperationsResponse": {
      "properties": {
        "nextPageToken": {
          "type": "string",
          "description": "The standard List next-page token."
        },
        "operations": {
          "type": "array",
          "description": "A list of operations that matches the specified filter in the request.",
          "items": {
            "$ref": "Operation"
          }
        }
      },
      "description": "The response message for Operations.ListOperations.",
      "id": "ListOperationsResponse",
      "type": "object"
    },
    "PullStartedEvent": {
      "description": "An event generated when the worker starts pulling an image.",
      "id": "PullStartedEvent",
      "type": "object",
      "properties": {
        "imageUri": {
          "type": "string",
          "description": "The URI of the image that was pulled."
        }
      }
    },
    "ContainerKilledEvent": {
      "properties": {
        "actionId": {
          "description": "The numeric ID of the action that started the container.",
          "type": "integer",
          "format": "int32"
        }
      },
      "id": "ContainerKilledEvent",
      "description": "An event generated when a container is forcibly terminated by the worker. Currently, this only occurs when the container outlives the timeout specified by the user.",
      "type": "object"
    }
  },
  "servicePath": "",
  "protocol": "rest",
  "name": "genomics",
  "icons": {
    "x32": "http://www.google.com/images/icons/product/search-32.gif",
    "x16": "http://www.google.com/images/icons/product/search-16.gif"
  },
  "rootUrl": "https://genomics.googleapis.com/",
  "title": "Genomics API",
  "resources": {
    "operations": {
      "methods": {
        "cancel": {
          "parameters": {
            "name": {
              "type": "string",
              "description": "The name of the operation resource to be cancelled.",
              "location": "path",
              "required": true,
              "pattern": "^operations/.*$"
            }
          },
          "parameterOrder": [
            "name"
          ],
          "httpMethod": "POST",
          "response": {
            "$ref": "Empty"
          },
          "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. Clients may use Operations.GetOperation or Operations.ListOperations to check whether the cancellation succeeded or the operation completed despite cancellation. Authorization requires the following [Google IAM](https://cloud.google.com/iam) permission: * `genomics.operations.cancel`",
          "flatPath": "v1/operations/{operationsId}:cancel",
          "request": {
            "$ref": "CancelOperationRequest"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform",
            "https://www.googleapis.com/auth/genomics"
          ],
          "path": "v1/{+name}:cancel",
          "id": "genomics.operations.cancel"
        },
        "get": {
          "flatPath": "v1/operations/{operationsId}",
          "parameterOrder": [
            "name"
          ],
          "path": "v1/{+name}",
          "response": {
            "$ref": "Operation"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform",
            "https://www.googleapis.com/auth/genomics"
          ],
          "httpMethod": "GET",
          "parameters": {
            "name": {
              "location": "path",
              "type": "string",
              "pattern": "^operations/.*$",
              "description": "The name of the operation resource.",
              "required": true
            }
          },
          "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. Authorization requires the following [Google IAM](https://cloud.google.com/iam) permission: * `genomics.operations.get`",
          "id": "genomics.operations.get"
        },
        "list": {
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform",
            "https://www.googleapis.com/auth/genomics"
          ],
          "httpMethod": "GET",
          "flatPath": "v1/operations",
          "id": "genomics.operations.list",
          "response": {
            "$ref": "ListOperationsResponse"
          },
          "description": "Lists operations that match the specified filter in the request. Authorization requires the following [Google IAM](https://cloud.google.com/iam) permission: * `genomics.operations.list`",
          "path": "v1/{+name}",
          "parameterOrder": [
            "name"
          ],
          "parameters": {
            "name": {
              "pattern": "^operations$",
              "required": true,
              "type": "string",
              "location": "path",
              "description": "The name of the operation's parent resource."
            },
            "pageSize": {
              "description": "The maximum number of results to return. The maximum value is 256.",
              "type": "integer",
              "location": "query",
              "format": "int32"
            },
            "pageToken": {
              "location": "query",
              "description": "The standard list page token.",
              "type": "string"
            },
            "filter": {
              "location": "query",
              "description": "A string for filtering Operations. In v2alpha1, the following filter fields are supported: * createTime: The time this job was created * events: The set of event (names) that have occurred while running the pipeline. The : operator can be used to determine if a particular event has occurred. * error: If the pipeline is running, this value is NULL. Once the pipeline finishes, the value is the standard Google error code. * labels.key or labels.\"key with space\" where key is a label key. * done: If the pipeline is running, this value is false. Once the pipeline finishes, the value is true. In v1 and v1alpha2, the following filter fields are supported: * projectId: Required. Corresponds to OperationMetadata.projectId. * createTime: The time this job was created, in seconds from the [epoch](http://en.wikipedia.org/wiki/Unix_time). Can use `\u003e=` and/or `\u003c=` operators. * status: Can be `RUNNING`, `SUCCESS`, `FAILURE`, or `CANCELED`. Only one status may be specified. * labels.key where key is a label key. Examples: * `projectId = my-project AND createTime \u003e= 1432140000` * `projectId = my-project AND createTime \u003e= 1432140000 AND createTime \u003c= 1432150000 AND status = RUNNING` * `projectId = my-project AND labels.color = *` * `projectId = my-project AND labels.color = red`",
              "type": "string"
            }
          }
        }
      }
    }
  },
  "ownerDomain": "google.com",
  "revision": "20200804",
  "documentationLink": "https://cloud.google.com/genomics",
  "kind": "discovery#restDescription",
  "id": "genomics:v1",
  "description": "Uploads, processes, queries, and searches Genomics data in the cloud.",
  "baseUrl": "https://genomics.googleapis.com/",
  "parameters": {
    "uploadType": {
      "location": "query",
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
      "type": "string"
    },
    "$.xgafv": {
      "description": "V1 error format.",
      "location": "query",
      "enum": [
        "1",
        "2"
      ],
      "type": "string",
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ]
    },
    "upload_protocol": {
      "location": "query",
      "type": "string",
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\")."
    },
    "fields": {
      "location": "query",
      "type": "string",
      "description": "Selector specifying which fields to include in a partial response."
    },
    "access_token": {
      "type": "string",
      "location": "query",
      "description": "OAuth access token."
    },
    "prettyPrint": {
      "description": "Returns response with indentations and line breaks.",
      "location": "query",
      "type": "boolean",
      "default": "true"
    },
    "quotaUser": {
      "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.",
      "location": "query",
      "type": "string"
    },
    "key": {
      "type": "string",
      "location": "query",
      "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token."
    },
    "callback": {
      "type": "string",
      "location": "query",
      "description": "JSONP"
    },
    "oauth_token": {
      "location": "query",
      "type": "string",
      "description": "OAuth 2.0 token for the current user."
    },
    "alt": {
      "enumDescriptions": [
        "Responses with Content-Type of application/json",
        "Media download with context-dependent Content-Type",
        "Responses with Content-Type of application/x-protobuf"
      ],
      "type": "string",
      "enum": [
        "json",
        "media",
        "proto"
      ],
      "location": "query",
      "description": "Data format for response.",
      "default": "json"
    }
  },
  "discoveryVersion": "v1",
  "version": "v1",
  "fullyEncodeReservedExpansion": true,
  "batchPath": "batch"
}
