YouTube Reporting API icon

YouTube Reporting API

Schedules reporting jobs containing your YouTube Analytics data and downloads the resulting bulk data reports in the form of CSV files

COMMUNITYBEARER0 INSTALLS
API Docs
OpenAPI Specificationv3.0
{
  "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"
      }
    }
  }
}