{
  "openapi": "3.0.0",
  "servers": [
    {
      "url": "https://youtubereporting.googleapis.com/"
    }
  ],
  "info": {
    "contact": {
      "name": "Google",
      "url": "https://google.com",
      "x-twitter": "youtube"
    },
    "description": "Schedules reporting jobs containing your YouTube Analytics data and downloads the resulting bulk data reports in the form of CSV files.",
    "license": {
      "name": "Creative Commons Attribution 3.0",
      "url": "http://creativecommons.org/licenses/by/3.0/"
    },
    "termsOfService": "https://developers.google.com/terms/",
    "title": "YouTube Reporting API",
    "version": "v1",
    "x-apiClientRegistration": {
      "url": "https://console.developers.google.com"
    },
    "x-apisguru-categories": [
      "analytics",
      "media"
    ],
    "x-logo": {
      "url": "https://api.apis.guru/v2/cache/logo/https_www.google.com_images_branding_googlelogo_2x_googlelogo_color_272x92dp.png"
    },
    "x-origin": [
      {
        "converter": {
          "url": "https://github.com/mermade/oas-kit",
          "version": "7.0.4"
        },
        "format": "google",
        "url": "https://youtubereporting.googleapis.com/$discovery/rest?version=v1",
        "version": "v1"
      }
    ],
    "x-providerName": "googleapis.com",
    "x-serviceName": "youtubereporting"
  },
  "externalDocs": {
    "url": "https://developers.google.com/youtube/reporting/v1/reports/"
  },
  "tags": [
    {
      "name": "jobs"
    },
    {
      "name": "media"
    },
    {
      "name": "reportTypes"
    }
  ],
  "paths": {
    "/v1/jobs": {
      "get": {
        "description": "Lists jobs.",
        "operationId": "youtubereporting.jobs.list",
        "parameters": [
          {
            "description": "If set to true, also system-managed jobs will be returned; otherwise only user-created jobs will be returned. System-managed jobs can neither be modified nor deleted.",
            "in": "query",
            "name": "includeSystemManaged",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "The content owner's external ID on which behalf the user is acting on. If not set, the user is acting for himself (his own channel).",
            "in": "query",
            "name": "onBehalfOfContentOwner",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Requested page size. Server may return fewer jobs than requested. If unspecified, server will pick an appropriate default.",
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer"
            }
          },
          {
            "description": "A token identifying a page of results the server should return. Typically, this is the value of ListReportTypesResponse.next_page_token returned in response to the previous call to the `ListJobs` method.",
            "in": "query",
            "name": "pageToken",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListJobsResponse"
                }
              }
            },
            "description": "Successful response"
          }
        },
        "security": [
          {
            "Oauth2": [
              "https://www.googleapis.com/auth/yt-analytics-monetary.readonly"
            ],
            "Oauth2c": [
              "https://www.googleapis.com/auth/yt-analytics-monetary.readonly"
            ]
          },
          {
            "Oauth2": [
              "https://www.googleapis.com/auth/yt-analytics.readonly"
            ],
            "Oauth2c": [
              "https://www.googleapis.com/auth/yt-analytics.readonly"
            ]
          }
        ],
        "tags": [
          "jobs"
        ]
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/_.xgafv"
        },
        {
          "$ref": "#/components/parameters/access_token"
        },
        {
          "$ref": "#/components/parameters/alt"
        },
        {
          "$ref": "#/components/parameters/callback"
        },
        {
          "$ref": "#/components/parameters/fields"
        },
        {
          "$ref": "#/components/parameters/key"
        },
        {
          "$ref": "#/components/parameters/oauth_token"
        },
        {
          "$ref": "#/components/parameters/prettyPrint"
        },
        {
          "$ref": "#/components/parameters/quotaUser"
        },
        {
          "$ref": "#/components/parameters/upload_protocol"
        },
        {
          "$ref": "#/components/parameters/uploadType"
        }
      ],
      "post": {
        "description": "Creates a job and returns it.",
        "operationId": "youtubereporting.jobs.create",
        "parameters": [
          {
            "description": "The content owner's external ID on which behalf the user is acting on. If not set, the user is acting for himself (his own channel).",
            "in": "query",
            "name": "onBehalfOfContentOwner",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Job"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Job"
                }
              }
            },
            "description": "Successful response"
          }
        },
        "security": [
          {
            "Oauth2": [
              "https://www.googleapis.com/auth/yt-analytics-monetary.readonly"
            ],
            "Oauth2c": [
              "https://www.googleapis.com/auth/yt-analytics-monetary.readonly"
            ]
          },
          {
            "Oauth2": [
              "https://www.googleapis.com/auth/yt-analytics.readonly"
            ],
            "Oauth2c": [
              "https://www.googleapis.com/auth/yt-analytics.readonly"
            ]
          }
        ],
        "tags": [
          "jobs"
        ]
      }
    },
    "/v1/jobs/{jobId}": {
      "delete": {
        "description": "Deletes a job.",
        "operationId": "youtubereporting.jobs.delete",
        "parameters": [
          {
            "description": "The ID of the job to delete.",
            "in": "path",
            "name": "jobId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The content owner's external ID on which behalf the user is acting on. If not set, the user is acting for himself (his own channel).",
            "in": "query",
            "name": "onBehalfOfContentOwner",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Empty"
                }
              }
            },
            "description": "Successful response"
          }
        },
        "security": [
          {
            "Oauth2": [
              "https://www.googleapis.com/auth/yt-analytics-monetary.readonly"
            ],
            "Oauth2c": [
              "https://www.googleapis.com/auth/yt-analytics-monetary.readonly"
            ]
          },
          {
            "Oauth2": [
              "https://www.googleapis.com/auth/yt-analytics.readonly"
            ],
            "Oauth2c": [
              "https://www.googleapis.com/auth/yt-analytics.readonly"
            ]
          }
        ],
        "tags": [
          "jobs"
        ]
      },
      "get": {
        "description": "Gets a job.",
        "operationId": "youtubereporting.jobs.get",
        "parameters": [
          {
            "description": "The ID of the job to retrieve.",
            "in": "path",
            "name": "jobId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The content owner's external ID on which behalf the user is acting on. If not set, the user is acting for himself (his own channel).",
            "in": "query",
            "name": "onBehalfOfContentOwner",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Job"
                }
              }
            },
            "description": "Successful response"
          }
        },
        "security": [
          {
            "Oauth2": [
              "https://www.googleapis.com/auth/yt-analytics-monetary.readonly"
            ],
            "Oauth2c": [
              "https://www.googleapis.com/auth/yt-analytics-monetary.readonly"
            ]
          },
          {
            "Oauth2": [
              "https://www.googleapis.com/auth/yt-analytics.readonly"
            ],
            "Oauth2c": [
              "https://www.googleapis.com/auth/yt-analytics.readonly"
            ]
          }
        ],
        "tags": [
          "jobs"
        ]
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/_.xgafv"
        },
        {
          "$ref": "#/components/parameters/access_token"
        },
        {
          "$ref": "#/components/parameters/alt"
        },
        {
          "$ref": "#/components/parameters/callback"
        },
        {
          "$ref": "#/components/parameters/fields"
        },
        {
          "$ref": "#/components/parameters/key"
        },
        {
          "$ref": "#/components/parameters/oauth_token"
        },
        {
          "$ref": "#/components/parameters/prettyPrint"
        },
        {
          "$ref": "#/components/parameters/quotaUser"
        },
        {
          "$ref": "#/components/parameters/upload_protocol"
        },
        {
          "$ref": "#/components/parameters/uploadType"
        }
      ]
    },
    "/v1/jobs/{jobId}/reports": {
      "get": {
        "description": "Lists reports created by a specific job. Returns NOT_FOUND if the job does not exist.",
        "operationId": "youtubereporting.jobs.reports.list",
        "parameters": [
          {
            "description": "The ID of the job.",
            "in": "path",
            "name": "jobId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "If set, only reports created after the specified date/time are returned.",
            "in": "query",
            "name": "createdAfter",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The content owner's external ID on which behalf the user is acting on. If not set, the user is acting for himself (his own channel).",
            "in": "query",
            "name": "onBehalfOfContentOwner",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Requested page size. Server may return fewer report types than requested. If unspecified, server will pick an appropriate default.",
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer"
            }
          },
          {
            "description": "A token identifying a page of results the server should return. Typically, this is the value of ListReportsResponse.next_page_token returned in response to the previous call to the `ListReports` method.",
            "in": "query",
            "name": "pageToken",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "If set, only reports whose start time is greater than or equal the specified date/time are returned.",
            "in": "query",
            "name": "startTimeAtOrAfter",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "If set, only reports whose start time is smaller than the specified date/time are returned.",
            "in": "query",
            "name": "startTimeBefore",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListReportsResponse"
                }
              }
            },
            "description": "Successful response"
          }
        },
        "security": [
          {
            "Oauth2": [
              "https://www.googleapis.com/auth/yt-analytics-monetary.readonly"
            ],
            "Oauth2c": [
              "https://www.googleapis.com/auth/yt-analytics-monetary.readonly"
            ]
          },
          {
            "Oauth2": [
              "https://www.googleapis.com/auth/yt-analytics.readonly"
            ],
            "Oauth2c": [
              "https://www.googleapis.com/auth/yt-analytics.readonly"
            ]
          }
        ],
        "tags": [
          "jobs"
        ]
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/_.xgafv"
        },
        {
          "$ref": "#/components/parameters/access_token"
        },
        {
          "$ref": "#/components/parameters/alt"
        },
        {
          "$ref": "#/components/parameters/callback"
        },
        {
          "$ref": "#/components/parameters/fields"
        },
        {
          "$ref": "#/components/parameters/key"
        },
        {
          "$ref": "#/components/parameters/oauth_token"
        },
        {
          "$ref": "#/components/parameters/prettyPrint"
        },
        {
          "$ref": "#/components/parameters/quotaUser"
        },
        {
          "$ref": "#/components/parameters/upload_protocol"
        },
        {
          "$ref": "#/components/parameters/uploadType"
        }
      ]
    },
    "/v1/jobs/{jobId}/reports/{reportId}": {
      "get": {
        "description": "Gets the metadata of a specific report.",
        "operationId": "youtubereporting.jobs.reports.get",
        "parameters": [
          {
            "description": "The ID of the job.",
            "in": "path",
            "name": "jobId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The ID of the report to retrieve.",
            "in": "path",
            "name": "reportId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The content owner's external ID on which behalf the user is acting on. If not set, the user is acting for himself (his own channel).",
            "in": "query",
            "name": "onBehalfOfContentOwner",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Report"
                }
              }
            },
            "description": "Successful response"
          }
        },
        "security": [
          {
            "Oauth2": [
              "https://www.googleapis.com/auth/yt-analytics-monetary.readonly"
            ],
            "Oauth2c": [
              "https://www.googleapis.com/auth/yt-analytics-monetary.readonly"
            ]
          },
          {
            "Oauth2": [
              "https://www.googleapis.com/auth/yt-analytics.readonly"
            ],
            "Oauth2c": [
              "https://www.googleapis.com/auth/yt-analytics.readonly"
            ]
          }
        ],
        "tags": [
          "jobs"
        ]
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/_.xgafv"
        },
        {
          "$ref": "#/components/parameters/access_token"
        },
        {
          "$ref": "#/components/parameters/alt"
        },
        {
          "$ref": "#/components/parameters/callback"
        },
        {
          "$ref": "#/components/parameters/fields"
        },
        {
          "$ref": "#/components/parameters/key"
        },
        {
          "$ref": "#/components/parameters/oauth_token"
        },
        {
          "$ref": "#/components/parameters/prettyPrint"
        },
        {
          "$ref": "#/components/parameters/quotaUser"
        },
        {
          "$ref": "#/components/parameters/upload_protocol"
        },
        {
          "$ref": "#/components/parameters/uploadType"
        }
      ]
    },
    "/v1/media/{resourceName}": {
      "get": {
        "description": "Method for media download. Download is supported on the URI `/v1/media/{+name}?alt=media`.",
        "operationId": "youtubereporting.media.download",
        "parameters": [
          {
            "description": "Name of the media that is being downloaded.",
            "in": "path",
            "name": "resourceName",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GdataMedia"
                }
              }
            },
            "description": "Successful response"
          }
        },
        "security": [
          {
            "Oauth2": [
              "https://www.googleapis.com/auth/yt-analytics-monetary.readonly"
            ],
            "Oauth2c": [
              "https://www.googleapis.com/auth/yt-analytics-monetary.readonly"
            ]
          },
          {
            "Oauth2": [
              "https://www.googleapis.com/auth/yt-analytics.readonly"
            ],
            "Oauth2c": [
              "https://www.googleapis.com/auth/yt-analytics.readonly"
            ]
          }
        ],
        "tags": [
          "media"
        ]
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/_.xgafv"
        },
        {
          "$ref": "#/components/parameters/access_token"
        },
        {
          "$ref": "#/components/parameters/alt"
        },
        {
          "$ref": "#/components/parameters/callback"
        },
        {
          "$ref": "#/components/parameters/fields"
        },
        {
          "$ref": "#/components/parameters/key"
        },
        {
          "$ref": "#/components/parameters/oauth_token"
        },
        {
          "$ref": "#/components/parameters/prettyPrint"
        },
        {
          "$ref": "#/components/parameters/quotaUser"
        },
        {
          "$ref": "#/components/parameters/upload_protocol"
        },
        {
          "$ref": "#/components/parameters/uploadType"
        }
      ]
    },
    "/v1/reportTypes": {
      "get": {
        "description": "Lists report types.",
        "operationId": "youtubereporting.reportTypes.list",
        "parameters": [
          {
            "description": "If set to true, also system-managed report types will be returned; otherwise only the report types that can be used to create new reporting jobs will be returned.",
            "in": "query",
            "name": "includeSystemManaged",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "The content owner's external ID on which behalf the user is acting on. If not set, the user is acting for himself (his own channel).",
            "in": "query",
            "name": "onBehalfOfContentOwner",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Requested page size. Server may return fewer report types than requested. If unspecified, server will pick an appropriate default.",
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer"
            }
          },
          {
            "description": "A token identifying a page of results the server should return. Typically, this is the value of ListReportTypesResponse.next_page_token returned in response to the previous call to the `ListReportTypes` method.",
            "in": "query",
            "name": "pageToken",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListReportTypesResponse"
                }
              }
            },
            "description": "Successful response"
          }
        },
        "security": [
          {
            "Oauth2": [
              "https://www.googleapis.com/auth/yt-analytics-monetary.readonly"
            ],
            "Oauth2c": [
              "https://www.googleapis.com/auth/yt-analytics-monetary.readonly"
            ]
          },
          {
            "Oauth2": [
              "https://www.googleapis.com/auth/yt-analytics.readonly"
            ],
            "Oauth2c": [
              "https://www.googleapis.com/auth/yt-analytics.readonly"
            ]
          }
        ],
        "tags": [
          "reportTypes"
        ]
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/_.xgafv"
        },
        {
          "$ref": "#/components/parameters/access_token"
        },
        {
          "$ref": "#/components/parameters/alt"
        },
        {
          "$ref": "#/components/parameters/callback"
        },
        {
          "$ref": "#/components/parameters/fields"
        },
        {
          "$ref": "#/components/parameters/key"
        },
        {
          "$ref": "#/components/parameters/oauth_token"
        },
        {
          "$ref": "#/components/parameters/prettyPrint"
        },
        {
          "$ref": "#/components/parameters/quotaUser"
        },
        {
          "$ref": "#/components/parameters/upload_protocol"
        },
        {
          "$ref": "#/components/parameters/uploadType"
        }
      ]
    }
  },
  "components": {
    "parameters": {
      "_.xgafv": {
        "description": "V1 error format.",
        "in": "query",
        "name": "$.xgafv",
        "schema": {
          "enum": [
            "1",
            "2"
          ],
          "type": "string"
        }
      },
      "access_token": {
        "description": "OAuth access token.",
        "in": "query",
        "name": "access_token",
        "schema": {
          "type": "string"
        }
      },
      "alt": {
        "description": "Data format for response.",
        "in": "query",
        "name": "alt",
        "schema": {
          "enum": [
            "json",
            "media",
            "proto"
          ],
          "type": "string"
        }
      },
      "callback": {
        "description": "JSONP",
        "in": "query",
        "name": "callback",
        "schema": {
          "type": "string"
        }
      },
      "fields": {
        "description": "Selector specifying which fields to include in a partial response.",
        "in": "query",
        "name": "fields",
        "schema": {
          "type": "string"
        }
      },
      "key": {
        "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.",
        "in": "query",
        "name": "key",
        "schema": {
          "type": "string"
        }
      },
      "oauth_token": {
        "description": "OAuth 2.0 token for the current user.",
        "in": "query",
        "name": "oauth_token",
        "schema": {
          "type": "string"
        }
      },
      "prettyPrint": {
        "description": "Returns response with indentations and line breaks.",
        "in": "query",
        "name": "prettyPrint",
        "schema": {
          "type": "boolean"
        }
      },
      "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.",
        "in": "query",
        "name": "quotaUser",
        "schema": {
          "type": "string"
        }
      },
      "uploadType": {
        "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
        "in": "query",
        "name": "uploadType",
        "schema": {
          "type": "string"
        }
      },
      "upload_protocol": {
        "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
        "in": "query",
        "name": "upload_protocol",
        "schema": {
          "type": "string"
        }
      }
    },
    "schemas": {
      "Empty": {
        "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); }",
        "properties": {},
        "type": "object"
      },
      "GdataBlobstore2Info": {
        "description": "gdata",
        "properties": {
          "blobGeneration": {
            "description": "gdata",
            "format": "int64",
            "type": "string"
          },
          "blobId": {
            "description": "gdata",
            "type": "string"
          },
          "downloadReadHandle": {
            "description": "gdata",
            "format": "byte",
            "type": "string"
          },
          "readToken": {
            "description": "gdata",
            "type": "string"
          },
          "uploadMetadataContainer": {
            "description": "gdata",
            "format": "byte",
            "type": "string"
          }
        },
        "type": "object"
      },
      "GdataCompositeMedia": {
        "description": "gdata",
        "properties": {
          "blobRef": {
            "description": "gdata",
            "format": "byte",
            "type": "string"
          },
          "blobstore2Info": {
            "$ref": "#/components/schemas/GdataBlobstore2Info",
            "description": "gdata"
          },
          "cosmoBinaryReference": {
            "description": "gdata",
            "format": "byte",
            "type": "string"
          },
          "crc32cHash": {
            "description": "gdata",
            "format": "uint32",
            "type": "integer"
          },
          "inline": {
            "description": "gdata",
            "format": "byte",
            "type": "string"
          },
          "length": {
            "description": "gdata",
            "format": "int64",
            "type": "string"
          },
          "md5Hash": {
            "description": "gdata",
            "format": "byte",
            "type": "string"
          },
          "objectId": {
            "$ref": "#/components/schemas/GdataObjectId",
            "description": "gdata"
          },
          "path": {
            "description": "gdata",
            "type": "string"
          },
          "referenceType": {
            "description": "gdata",
            "enum": [
              "PATH",
              "BLOB_REF",
              "INLINE",
              "BIGSTORE_REF",
              "COSMO_BINARY_REFERENCE"
            ],
            "type": "string"
          },
          "sha1Hash": {
            "description": "gdata",
            "format": "byte",
            "type": "string"
          }
        },
        "type": "object"
      },
      "GdataContentTypeInfo": {
        "description": "gdata",
        "properties": {
          "bestGuess": {
            "description": "gdata",
            "type": "string"
          },
          "fromBytes": {
            "description": "gdata",
            "type": "string"
          },
          "fromFileName": {
            "description": "gdata",
            "type": "string"
          },
          "fromHeader": {
            "description": "gdata",
            "type": "string"
          },
          "fromUrlPath": {
            "description": "gdata",
            "type": "string"
          }
        },
        "type": "object"
      },
      "GdataDiffChecksumsResponse": {
        "description": "gdata",
        "properties": {
          "checksumsLocation": {
            "$ref": "#/components/schemas/GdataCompositeMedia",
            "description": "gdata"
          },
          "chunkSizeBytes": {
            "description": "gdata",
            "format": "int64",
            "type": "string"
          },
          "objectLocation": {
            "$ref": "#/components/schemas/GdataCompositeMedia",
            "description": "gdata"
          },
          "objectSizeBytes": {
            "description": "gdata",
            "format": "int64",
            "type": "string"
          },
          "objectVersion": {
            "description": "gdata",
            "type": "string"
          }
        },
        "type": "object"
      },
      "GdataDiffDownloadResponse": {
        "description": "gdata",
        "properties": {
          "objectLocation": {
            "$ref": "#/components/schemas/GdataCompositeMedia",
            "description": "gdata"
          }
        },
        "type": "object"
      },
      "GdataDiffUploadRequest": {
        "description": "gdata",
        "properties": {
          "checksumsInfo": {
            "$ref": "#/components/schemas/GdataCompositeMedia",
            "description": "gdata"
          },
          "objectInfo": {
            "$ref": "#/components/schemas/GdataCompositeMedia",
            "description": "gdata"
          },
          "objectVersion": {
            "description": "gdata",
            "type": "string"
          }
        },
        "type": "object"
      },
      "GdataDiffUploadResponse": {
        "description": "gdata",
        "properties": {
          "objectVersion": {
            "description": "gdata",
            "type": "string"
          },
          "originalObject": {
            "$ref": "#/components/schemas/GdataCompositeMedia",
            "description": "gdata"
          }
        },
        "type": "object"
      },
      "GdataDiffVersionResponse": {
        "description": "gdata",
        "properties": {
          "objectSizeBytes": {
            "description": "gdata",
            "format": "int64",
            "type": "string"
          },
          "objectVersion": {
            "description": "gdata",
            "type": "string"
          }
        },
        "type": "object"
      },
      "GdataDownloadParameters": {
        "description": "gdata",
        "properties": {
          "allowGzipCompression": {
            "description": "gdata",
            "type": "boolean"
          },
          "ignoreRange": {
            "description": "gdata",
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "GdataMedia": {
        "description": "gdata",
        "properties": {
          "algorithm": {
            "description": "gdata",
            "type": "string"
          },
          "bigstoreObjectRef": {
            "description": "gdata",
            "format": "byte",
            "type": "string"
          },
          "blobRef": {
            "description": "gdata",
            "format": "byte",
            "type": "string"
          },
          "blobstore2Info": {
            "$ref": "#/components/schemas/GdataBlobstore2Info",
            "description": "gdata"
          },
          "compositeMedia": {
            "description": "gdata",
            "items": {
              "$ref": "#/components/schemas/GdataCompositeMedia"
            },
            "type": "array"
          },
          "contentType": {
            "description": "gdata",
            "type": "string"
          },
          "contentTypeInfo": {
            "$ref": "#/components/schemas/GdataContentTypeInfo",
            "description": "gdata"
          },
          "cosmoBinaryReference": {
            "description": "gdata",
            "format": "byte",
            "type": "string"
          },
          "crc32cHash": {
            "description": "gdata",
            "format": "uint32",
            "type": "integer"
          },
          "diffChecksumsResponse": {
            "$ref": "#/components/schemas/GdataDiffChecksumsResponse",
            "description": "gdata"
          },
          "diffDownloadResponse": {
            "$ref": "#/components/schemas/GdataDiffDownloadResponse",
            "description": "gdata"
          },
          "diffUploadRequest": {
            "$ref": "#/components/schemas/GdataDiffUploadRequest",
            "description": "gdata"
          },
          "diffUploadResponse": {
            "$ref": "#/components/schemas/GdataDiffUploadResponse",
            "description": "gdata"
          },
          "diffVersionResponse": {
            "$ref": "#/components/schemas/GdataDiffVersionResponse",
            "description": "gdata"
          },
          "downloadParameters": {
            "$ref": "#/components/schemas/GdataDownloadParameters",
            "description": "gdata"
          },
          "filename": {
            "description": "gdata",
            "type": "string"
          },
          "hash": {
            "description": "gdata",
            "type": "string"
          },
          "hashVerified": {
            "description": "gdata",
            "type": "boolean"
          },
          "inline": {
            "description": "gdata",
            "format": "byte",
            "type": "string"
          },
          "isPotentialRetry": {
            "description": "gdata",
            "type": "boolean"
          },
          "length": {
            "description": "gdata",
            "format": "int64",
            "type": "string"
          },
          "md5Hash": {
            "description": "gdata",
            "format": "byte",
            "type": "string"
          },
          "mediaId": {
            "description": "gdata",
            "format": "byte",
            "type": "string"
          },
          "objectId": {
            "$ref": "#/components/schemas/GdataObjectId",
            "description": "gdata"
          },
          "path": {
            "description": "gdata",
            "type": "string"
          },
          "referenceType": {
            "description": "gdata",
            "enum": [
              "PATH",
              "BLOB_REF",
              "INLINE",
              "GET_MEDIA",
              "COMPOSITE_MEDIA",
              "BIGSTORE_REF",
              "DIFF_VERSION_RESPONSE",
              "DIFF_CHECKSUMS_RESPONSE",
              "DIFF_DOWNLOAD_RESPONSE",
              "DIFF_UPLOAD_REQUEST",
              "DIFF_UPLOAD_RESPONSE",
              "COSMO_BINARY_REFERENCE",
              "ARBITRARY_BYTES"
            ],
            "type": "string"
          },
          "sha1Hash": {
            "description": "gdata",
            "format": "byte",
            "type": "string"
          },
          "sha256Hash": {
            "description": "gdata",
            "format": "byte",
            "type": "string"
          },
          "timestamp": {
            "description": "gdata",
            "format": "uint64",
            "type": "string"
          },
          "token": {
            "description": "gdata",
            "type": "string"
          }
        },
        "type": "object"
      },
      "GdataObjectId": {
        "description": "gdata",
        "properties": {
          "bucketName": {
            "description": "gdata",
            "type": "string"
          },
          "generation": {
            "description": "gdata",
            "format": "int64",
            "type": "string"
          },
          "objectName": {
            "description": "gdata",
            "type": "string"
          }
        },
        "type": "object"
      },
      "Job": {
        "description": "A job creating reports of a specific type.",
        "properties": {
          "createTime": {
            "description": "The creation date/time of the job.",
            "format": "google-datetime",
            "type": "string"
          },
          "expireTime": {
            "description": "The date/time when this job will expire/expired. After a job expired, no new reports are generated.",
            "format": "google-datetime",
            "type": "string"
          },
          "id": {
            "description": "The server-generated ID of the job (max. 40 characters).",
            "type": "string"
          },
          "name": {
            "description": "The name of the job (max. 100 characters).",
            "type": "string"
          },
          "reportTypeId": {
            "description": "The type of reports this job creates. Corresponds to the ID of a ReportType.",
            "type": "string"
          },
          "systemManaged": {
            "description": "True if this a system-managed job that cannot be modified by the user; otherwise false.",
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "ListJobsResponse": {
        "description": "Response message for ReportingService.ListJobs.",
        "properties": {
          "jobs": {
            "description": "The list of jobs.",
            "items": {
              "$ref": "#/components/schemas/Job"
            },
            "type": "array"
          },
          "nextPageToken": {
            "description": "A token to retrieve next page of results. Pass this value in the ListJobsRequest.page_token field in the subsequent call to `ListJobs` method to retrieve the next page of results.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ListReportTypesResponse": {
        "description": "Response message for ReportingService.ListReportTypes.",
        "properties": {
          "nextPageToken": {
            "description": "A token to retrieve next page of results. Pass this value in the ListReportTypesRequest.page_token field in the subsequent call to `ListReportTypes` method to retrieve the next page of results.",
            "type": "string"
          },
          "reportTypes": {
            "description": "The list of report types.",
            "items": {
              "$ref": "#/components/schemas/ReportType"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "ListReportsResponse": {
        "description": "Response message for ReportingService.ListReports.",
        "properties": {
          "nextPageToken": {
            "description": "A token to retrieve next page of results. Pass this value in the ListReportsRequest.page_token field in the subsequent call to `ListReports` method to retrieve the next page of results.",
            "type": "string"
          },
          "reports": {
            "description": "The list of report types.",
            "items": {
              "$ref": "#/components/schemas/Report"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "Report": {
        "description": "A report's metadata including the URL from which the report itself can be downloaded.",
        "properties": {
          "createTime": {
            "description": "The date/time when this report was created.",
            "format": "google-datetime",
            "type": "string"
          },
          "downloadUrl": {
            "description": "The URL from which the report can be downloaded (max. 1000 characters).",
            "type": "string"
          },
          "endTime": {
            "description": "The end of the time period that the report instance covers. The value is exclusive.",
            "format": "google-datetime",
            "type": "string"
          },
          "id": {
            "description": "The server-generated ID of the report.",
            "type": "string"
          },
          "jobExpireTime": {
            "description": "The date/time when the job this report belongs to will expire/expired.",
            "format": "google-datetime",
            "type": "string"
          },
          "jobId": {
            "description": "The ID of the job that created this report.",
            "type": "string"
          },
          "startTime": {
            "description": "The start of the time period that the report instance covers. The value is inclusive.",
            "format": "google-datetime",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ReportType": {
        "description": "A report type.",
        "properties": {
          "deprecateTime": {
            "description": "The date/time when this report type was/will be deprecated.",
            "format": "google-datetime",
            "type": "string"
          },
          "id": {
            "description": "The ID of the report type (max. 100 characters).",
            "type": "string"
          },
          "name": {
            "description": "The name of the report type (max. 100 characters).",
            "type": "string"
          },
          "systemManaged": {
            "description": "True if this a system-managed report type; otherwise false. Reporting jobs for system-managed report types are created automatically and can thus not be used in the `CreateJob` method.",
            "type": "boolean"
          }
        },
        "type": "object"
      }
    },
    "securitySchemes": {
      "Oauth2": {
        "description": "Oauth 2.0 implicit authentication",
        "flows": {
          "implicit": {
            "authorizationUrl": "https://accounts.google.com/o/oauth2/auth",
            "scopes": {
              "https://www.googleapis.com/auth/yt-analytics-monetary.readonly": "View monetary and non-monetary YouTube Analytics reports for your YouTube content",
              "https://www.googleapis.com/auth/yt-analytics.readonly": "View YouTube Analytics reports for your YouTube content"
            }
          }
        },
        "type": "oauth2"
      },
      "Oauth2c": {
        "description": "Oauth 2.0 authorizationCode authentication",
        "flows": {
          "authorizationCode": {
            "authorizationUrl": "https://accounts.google.com/o/oauth2/auth",
            "scopes": {
              "https://www.googleapis.com/auth/yt-analytics-monetary.readonly": "View monetary and non-monetary YouTube Analytics reports for your YouTube content",
              "https://www.googleapis.com/auth/yt-analytics.readonly": "View YouTube Analytics reports for your YouTube content"
            },
            "tokenUrl": "https://accounts.google.com/o/oauth2/token"
          }
        },
        "type": "oauth2"
      }
    }
  }
}