{
  "baseUrl": "https://curationpartners.googleapis.com/",
  "title": "Curation Partners API",
  "protocol": "rest",
  "batchPath": "batch",
  "mtlsRootUrl": "https://curationpartners.mtls.googleapis.com/",
  "schemas": {
    "Status": {
      "id": "Status",
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "description": "The status code, which should be an enum value of google.rpc.Code.",
          "format": "int32"
        },
        "message": {
          "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.",
          "type": "string"
        },
        "details": {
          "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.",
          "items": {
            "type": "object",
            "additionalProperties": {
              "description": "Properties of the object. Contains field @type with type URL.",
              "type": "any"
            }
          },
          "type": "array"
        }
      },
      "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)."
    },
    "RunReportRequest": {
      "id": "RunReportRequest",
      "description": "Request message for a running a report.",
      "properties": {},
      "type": "object"
    },
    "FilterList": {
      "id": "FilterList",
      "type": "object",
      "properties": {
        "filters": {
          "items": {
            "$ref": "Filter"
          },
          "description": "Required. A list of filters.",
          "type": "array"
        }
      },
      "description": "A list of filters."
    },
    "DataSegment": {
      "id": "DataSegment",
      "properties": {
        "millipercentOfMediaFee": {
          "type": "string",
          "description": "Optional. The fee will be charged as a percentage of the impression cost, represented in millipercent. For example, 1% is represented as 1000.",
          "format": "int64"
        },
        "createTime": {
          "readOnly": true,
          "format": "google-datetime",
          "description": "Output only. Time the data segment was created.",
          "type": "string"
        },
        "updateTime": {
          "type": "string",
          "description": "Output only. Time the data segment was last updated.",
          "format": "google-datetime",
          "readOnly": true
        },
        "name": {
          "description": "Immutable. Identifier. The unique identifier for the data segment. Account ID corresponds to the account ID that created the segment. Format: `curators/{curatorAccountId}/dataSegments/{curatorDataSegmentId}`",
          "type": "string"
        },
        "userListId": {
          "description": "Optional. Immutable. The ID of the User List wrapped by this Data Segment. Curators with a linked Data Partner account can create a data segment that wraps a user list owned by the linked Data Partner account. User lists can be uploaded and managed using the [Data Manager API](https://developers.google.com/data-manager/api/data-partners/audiences). Linking a user list to a data segment lets you define a segment of inventory that is based on an audience you create.",
          "type": "string"
        },
        "state": {
          "description": "Output only. The state of the data segment.",
          "enumDescriptions": [
            "Default value.",
            "The data segment is active.",
            "The data segment is inactive.",
            "The data segment is suspended and cannot be activated."
          ],
          "readOnly": true,
          "type": "string",
          "enum": [
            "STATE_UNSPECIFIED",
            "ACTIVE",
            "INACTIVE",
            "SUSPENDED"
          ]
        },
        "cpmFee": {
          "description": "Optional. A fixed fee charged per thousand impressions. Once set, the currency code cannot be changed.",
          "$ref": "Money"
        }
      },
      "description": "Defines an identifier for a segment of inventory that can be targeted by curators or media planners in the deals or auction packages UI. Curation of inventory is done by curators on external platforms. -- Next ID: 9 --",
      "type": "object"
    },
    "Operation": {
      "description": "This resource represents a long-running operation that is the result of a network API call.",
      "properties": {
        "done": {
          "type": "boolean",
          "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."
        },
        "error": {
          "description": "The error result of the operation in case of failure or cancellation.",
          "$ref": "Status"
        },
        "name": {
          "type": "string",
          "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`."
        },
        "response": {
          "additionalProperties": {
            "description": "Properties of the object. Contains field @type with type URL.",
            "type": "any"
          },
          "description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.",
          "type": "object"
        },
        "metadata": {
          "type": "object",
          "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.",
          "additionalProperties": {
            "type": "any",
            "description": "Properties of the object. Contains field @type with type URL."
          }
        }
      },
      "id": "Operation",
      "type": "object"
    },
    "ActivateDataSegmentRequest": {
      "description": "Request message for activating a data segment",
      "id": "ActivateDataSegmentRequest",
      "type": "object",
      "properties": {}
    },
    "PackagePublisherProvidedSignalsTargeting": {
      "id": "PackagePublisherProvidedSignalsTargeting",
      "properties": {
        "audienceTargeting": {
          "$ref": "TaxonomyTargeting",
          "description": "Optional. The list of targeted or excluded audience IDs. Based off of IAB Audience Taxonomy version 1.1 (https://github.com/InteractiveAdvertisingBureau/Taxonomies/blob/main/Audience%20Taxonomies/Audience%20Taxonomy%201.1.tsv)"
        },
        "contentTargeting": {
          "description": "Optional. The list of targeted or excluded content IDs. Based off of IAB Content Taxonomy version 2.2 (https://github.com/InteractiveAdvertisingBureau/Taxonomies/blob/main/Content%20Taxonomies/Content%20Taxonomy%202.2.tsv)",
          "$ref": "TaxonomyTargeting"
        },
        "videoAndAudioSignalsTargeting": {
          "$ref": "StringTargetingDimension",
          "description": "Optional. The list of targeted and excluded video and audio signals IDs. These are additional signals supported by publisher provided signals."
        }
      },
      "description": "Represents targeting about publisher provided signals. Different publisher provided signals types will be logically OR'ed.",
      "type": "object"
    },
    "RunReportResponse": {
      "id": "RunReportResponse",
      "type": "object",
      "properties": {
        "reportResult": {
          "description": "The unique name of the generated result. Use with `FetchReportResultRows` to retrieve data.",
          "type": "string"
        }
      },
      "description": "Response message for a completed `RunReport` operation."
    },
    "AdSize": {
      "description": "Represents size of a single ad slot, or a creative.",
      "type": "object",
      "properties": {
        "height": {
          "format": "int64",
          "type": "string",
          "description": "The height of the ad slot in pixels. This field will be present only when size type is `PIXEL`."
        },
        "width": {
          "description": "The width of the ad slot in pixels. This field will be present only when size type is `PIXEL`.",
          "type": "string",
          "format": "int64"
        },
        "type": {
          "description": "The type of the ad slot size.",
          "enumDescriptions": [
            "A placeholder for an undefined size type.",
            "Ad slot with size specified by height and width in pixels.",
            "Special size to describe an interstitial ad slot.",
            "Native (mobile) ads rendered by the publisher.",
            "Fluid size (responsive size) can be resized automatically with the change of outside environment."
          ],
          "type": "string",
          "enum": [
            "TYPE_UNSPECIFIED",
            "PIXEL",
            "INTERSTITIAL",
            "NATIVE",
            "FLUID"
          ]
        }
      },
      "id": "AdSize"
    },
    "Filter": {
      "description": "A filter over one or more fields.",
      "id": "Filter",
      "properties": {
        "fieldFilter": {
          "$ref": "FieldFilter",
          "description": "A filter on a single field."
        },
        "notFilter": {
          "$ref": "Filter",
          "description": "A filter whose result is negated."
        },
        "andFilter": {
          "$ref": "FilterList",
          "description": "A list of filters whose results are AND-ed."
        },
        "orFilter": {
          "$ref": "FilterList",
          "description": "A list of filters whose results are OR-ed."
        }
      },
      "type": "object"
    },
    "VideoPlcmtTargeting": {
      "properties": {
        "selectionType": {
          "enumDescriptions": [
            "Unspecified selection type. Should not be used.",
            "The values in the targeting dimension are included.",
            "The values in the targeting dimension are excluded."
          ],
          "type": "string",
          "enum": [
            "SELECTION_TYPE_UNSPECIFIED",
            "SELECTION_TYPE_INCLUDE",
            "SELECTION_TYPE_EXCLUDE"
          ],
          "description": "Required. The selection type for the list of video plcmts."
        },
        "videoPlcmtTypes": {
          "type": "array",
          "description": "Required. The list of targeted video plcmts types. If empty, inventory will be targeted regardless of video plcmt type.",
          "items": {
            "type": "string",
            "enum": [
              "VIDEO_PLCMT_TYPE_UNSPECIFIED",
              "INSTREAM",
              "ACCOMPANYING_CONTENT",
              "INTERSTITIAL",
              "NO_CONTENT"
            ],
            "enumDescriptions": [
              "Default value. Should not be used in targeting specifications.",
              "Pre-roll, mid-roll, and post-roll ads that are played before, during or after the streaming video content that the consumer has requested. Instream video must be set to “sound on” by default at player start, or have explicitly clear user intent to watch the video content. While there may be other content surrounding the player, the video content must be the focus of the user’s visit. It should remain the primary content on the page and the only video player in-view capable of audio when playing. If the player converts to floating/sticky, subsequent ad calls should accurately convey the updated player size.",
              "Pre-roll, mid-roll, and post-roll ads that are played before, during, or after streaming video content. The video player loads and plays before, between, or after paragraphs of text or graphical content, and starts playing only when it enters the viewport. Accompanying content should only start playback upon entering the viewport. It may convert to a floating/sticky player as it scrolls off the page.",
              "Video ads that are played without video content. During playback, it must be the primary focus of the page and take up the majority of the viewport and cannot be scrolled out of view. This can be in placements like in-app video or slideshows.",
              "Video ads that are played without streaming video content. This can be in placements like slideshows, native feeds, in-content or sticky/floating."
            ]
          }
        }
      },
      "id": "VideoPlcmtTargeting",
      "type": "object",
      "description": "Defines targeting criteria based on the video placement type, often corresponding to the IAB OpenRTB 'plcmt' field."
    },
    "FieldFilter": {
      "properties": {
        "field": {
          "$ref": "Field",
          "description": "Required. The field to filter on."
        },
        "values": {
          "description": "Required. Values to filter to.",
          "type": "array",
          "items": {
            "$ref": "ReportValue"
          }
        },
        "operation": {
          "enumDescriptions": [
            "For scalar operands, checks if the operand is in the set of provided filter values. For list operands, checks if any element in the operand is in the set of provided filter values. Default value.",
            "For scalar operands, checks that the operand is not in the set of provided filter values. For list operands, checks that none of the elements in the operand is in the set of provided filter values.",
            "For scalar string operands, checks if the operand contains any of the provided filter substrings. For string list operands, checks if any string in the operand contains any of the provided filter substrings.",
            "For scalar string operands, checks that the operand contains none of the provided filter substrings. For string list operands, checks that none of the strings in the operand contain none of the provided filter substrings.",
            "Operand is less than the provided filter value.",
            "Operand is less than or equal to provided filter value.",
            "Operand is greater than provided filter value.",
            "Operand is greater than or equal to provided filter value.",
            "Operand is between provided filter values.",
            "Operand matches against a regular expression or set of regular expressions (one must match).",
            "Operand negative matches against a regular expression or set of regular expressions (none must match)."
          ],
          "description": "Required. The operation of this filter.",
          "type": "string",
          "enum": [
            "IN",
            "NOT_IN",
            "CONTAINS",
            "NOT_CONTAINS",
            "LESS_THAN",
            "LESS_THAN_EQUALS",
            "GREATER_THAN",
            "GREATER_THAN_EQUALS",
            "BETWEEN",
            "MATCHES",
            "NOT_MATCHES"
          ]
        }
      },
      "description": "A filter on a specific field.",
      "type": "object",
      "id": "FieldFilter"
    },
    "ActivateCuratedPackageRequest": {
      "properties": {},
      "type": "object",
      "id": "ActivateCuratedPackageRequest",
      "description": "Request message for ActivateCuratedPackage."
    },
    "RunReportMetadata": {
      "id": "RunReportMetadata",
      "type": "object",
      "description": "`RunReport` operation metadata.",
      "properties": {
        "percentComplete": {
          "format": "int32",
          "description": "An estimate of how close this report is to being completed. Will always be 100 for failed and completed reports.",
          "type": "integer"
        },
        "report": {
          "type": "string",
          "description": "The result's parent report."
        }
      }
    },
    "VideoPlayerSizeTargeting": {
      "id": "VideoPlayerSizeTargeting",
      "properties": {
        "minimumWidth": {
          "description": "Required. The minimum width of the video player in pixels.",
          "format": "int64",
          "type": "string"
        },
        "minimumHeight": {
          "type": "string",
          "description": "Required. The minimum height of the video player in pixels.",
          "format": "int64"
        }
      },
      "description": "Represents the size of the video player that can be targeted. Both width and height are required to be set to non-zero values.",
      "type": "object"
    },
    "PackagePlacementTargeting": {
      "description": "Represents targeting about where the ads can appear, for example, certain sites or mobile applications. Different placement targeting types will be logically OR'ed.",
      "properties": {
        "includedMobileAppCategoryTargeting": {
          "description": "Optional. The list of targeted mobile app categories.",
          "type": "array",
          "items": {
            "format": "int64",
            "type": "string"
          }
        },
        "mobileAppTargeting": {
          "$ref": "StringTargetingDimension",
          "description": "Optional. The list of targeted or excluded mobile application IDs that publishers own. Currently, only Android and Apple apps are supported. Android App ID, for example, com.google.android.apps.maps, can be found in Google Play Store URL. iOS App ID (which is a number) can be found at the end of iTunes store URL. First party mobile applications is either included or excluded."
        },
        "uriTargeting": {
          "description": "Optional. The list of targeted or excluded URLs. The domains should have the http/https stripped (for example, google.com), and can contain a max of 5 paths per url.",
          "$ref": "StringTargetingDimension"
        }
      },
      "id": "PackagePlacementTargeting",
      "type": "object"
    },
    "StringTargetingDimension": {
      "properties": {
        "values": {
          "description": "Required. The values specified.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "selectionType": {
          "enumDescriptions": [
            "Unspecified selection type. Should not be used.",
            "The values in the targeting dimension are included.",
            "The values in the targeting dimension are excluded."
          ],
          "description": "Required. How the items in this list should be targeted.",
          "type": "string",
          "enum": [
            "SELECTION_TYPE_UNSPECIFIED",
            "SELECTION_TYPE_INCLUDE",
            "SELECTION_TYPE_EXCLUDE"
          ]
        }
      },
      "description": "Generic targeting with string values.",
      "id": "StringTargetingDimension",
      "type": "object"
    },
    "CriteriaTargeting": {
      "description": "Generic targeting used for targeting dimensions that contains a list of included and excluded numeric IDs. This cannot be filtered using list filter syntax.",
      "type": "object",
      "id": "CriteriaTargeting",
      "properties": {
        "targetedCriteriaIds": {
          "description": "A list of numeric IDs to be included.",
          "type": "array",
          "items": {
            "type": "string",
            "format": "int64"
          }
        },
        "excludedCriteriaIds": {
          "description": "A list of numeric IDs to be excluded.",
          "type": "array",
          "items": {
            "type": "string",
            "format": "int64"
          }
        }
      }
    },
    "ListReportsResponse": {
      "properties": {
        "nextPageToken": {
          "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.",
          "type": "string"
        },
        "totalSize": {
          "type": "integer",
          "format": "int32",
          "description": "Total number of `Report` objects. If a filter was included in the request, this reflects the total number after the filtering is applied. `total_size` won't be calculated in the response unless it has been included in a response field mask. The response field mask can be provided to the method by using the URL parameter `$fields` or `fields`, or by using the HTTP/gRPC header `X-Goog-FieldMask`. For more information, see https://developers.google.com/ad-manager/api/beta/field-masks"
        },
        "reports": {
          "items": {
            "$ref": "Report"
          },
          "description": "The `Report` objects from the specified network.",
          "type": "array"
        }
      },
      "id": "ListReportsResponse",
      "type": "object",
      "description": "Response object for `ListReportsResponse` containing matching `Report` objects."
    },
    "FixedDateRange": {
      "id": "FixedDateRange",
      "properties": {
        "endDate": {
          "$ref": "Date",
          "description": "Required. The end date (inclusive) of this date range."
        },
        "startDate": {
          "$ref": "Date",
          "description": "Required. The start date of this date range."
        }
      },
      "description": "A date range between two fixed dates (inclusive of end date).",
      "type": "object"
    },
    "DeactivateDataSegmentRequest": {
      "properties": {},
      "type": "object",
      "description": "Request message for deactivating a data segment",
      "id": "DeactivateDataSegmentRequest"
    },
    "ReportDefinition": {
      "description": "The definition of how a report should be run.",
      "type": "object",
      "id": "ReportDefinition",
      "properties": {
        "dimensions": {
          "type": "array",
          "description": "Required. The list of dimensions to report on. If empty, the report will have no dimensions, and any metrics will be totals.",
          "items": {
            "type": "string",
            "enum": [
              "DIMENSION_UNSPECIFIED",
              "ADVERTISER_DOMAIN",
              "COUNTRY",
              "CURATION_DATA_SEGMENT_ID",
              "CURATION_DATA_SEGMENT_RESPONSE_STATUS",
              "CURATION_DATA_SEGMENT_RESPONSE_STATUS_NAME",
              "CURATOR_FEE_TYPE",
              "DATE",
              "DEAL_ID",
              "DEAL_NAME",
              "DETECTED_ADVERTISER_NAME",
              "DSP_NAME",
              "DSP_SEAT_ID",
              "ENVIRONMENT",
              "ENVIRONMENT_NAME",
              "HOLDING_COMPANY_NAME",
              "HOUR",
              "MOBILE_APP_ID",
              "MOBILE_APP_NAME",
              "MOBILE_OS",
              "MONTH",
              "PACKAGE_FEE_VISIBILITY",
              "PLATFORM",
              "PUBLISHER_DOMAIN",
              "PUBLISHER_ID",
              "PUBLISHER_NAME",
              "WEEK"
            ],
            "enumDescriptions": [
              "Default value. This value is unused.",
              "The domain of the advertiser.",
              "Display name of a country.",
              "The ID of the data segment created by a curator.",
              "The response status of the data segment requests in the Real-time curation. Refer to https://developers.google.com/authorized-buyers/curation/get-started/start for details.",
              "The localized display name of the response status of the data segment requests in the Real-time curation. Refer to https://developers.google.com/authorized-buyers/curation/get-started/start for details.",
              "The type of curation service (e.g. packaging or data segment).",
              "Date.",
              "Deal ID.",
              "Deal name.",
              "Display name of the detected advertiser.",
              "Display name of the DSP.",
              "DSP Seat ID.",
              "The user device and container environment where the impression originates. Supported values are \"app\" and \"web\".",
              "The localized display name of the user device and container environment where the impression originates. Supported values are \"app\" and \"web\".",
              "Display name of the holding company.",
              "Hour.",
              "Mobile App ID.",
              "Mobile App Name.",
              "Mobile operating system.",
              "Month.",
              "The visibility of the package fee (e.g. disclosed or non-disclosed).",
              "Platform, e.g. \"desktop\" vs. \"mobile\".",
              "Publisher domain.",
              "Publisher identifier.",
              "Publisher name.",
              "Week."
            ]
          }
        },
        "metrics": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "METRIC_UNSPECIFIED",
              "ACTIVE_VIEW_MEASURABILITY_RATE",
              "ACTIVE_VIEW_MEASURABLE",
              "ACTIVE_VIEW_VIEWABILITY_RATE",
              "ACTIVE_VIEW_VIEWABLE",
              "AUCTIONS_WON",
              "BIDS",
              "BIDS_IN_AUCTION",
              "BID_REQUESTS",
              "CLICKS",
              "CURATION_PARTNER_FEE",
              "DATA_SEGMENT_REQUESTS",
              "IMPRESSIONS",
              "SPEND"
            ],
            "enumDescriptions": [
              "Default value. This value is unused.",
              "Active View measurability rate.",
              "Active View measurable.",
              "Active view viewability rate.",
              "Active View viewable imps.",
              "Auctions won.",
              "Bids.",
              "Bids in auction.",
              "Bid requests.",
              "Clicks.",
              "Curator fee.",
              "Number of data segment requests sent in the Real-time curation.",
              "Impressions.",
              "Spend in reporting currency specified in the request. Defaults to USD."
            ]
          },
          "description": "Required. The list of metrics to report on. If empty, the report will have no metrics."
        },
        "filters": {
          "items": {
            "$ref": "Filter"
          },
          "description": "Optional. The filters for this report.",
          "type": "array"
        },
        "sorts": {
          "type": "array",
          "description": "Optional. Default sorts to apply to this report.",
          "items": {
            "$ref": "Sort"
          }
        },
        "dateRange": {
          "description": "Required. The primary date range of this report.",
          "$ref": "DateRange"
        },
        "timeZone": {
          "type": "string",
          "description": "Optional. If time_zone_source is PROVIDED, this is the time zone to use for this report. Leave empty for any other time zone source. Time zone in IANA format. For example, \"America/New_York\"."
        },
        "timeZoneSource": {
          "type": "string",
          "enum": [
            "TIME_ZONE_SOURCE_UNSPECIFIED",
            "AD_EXCHANGE",
            "UTC",
            "PROVIDED"
          ],
          "enumDescriptions": [
            "Unspecified default value.",
            "Use the Pacific time zone(PT).",
            "Use UTC time zone.",
            "Use the time zone provided in the ReportDefinition.time_zone field. Reports may take longer to run since the dates are dynamically calculated at request time."
          ],
          "description": "Optional. Where to get the time zone for this report. Defaults to using the Pacific time zone (PT). If source is PROVIDED, the time_zone field in the report definition must also set a time zone."
        },
        "currencyCode": {
          "description": "Optional. The ISO 4217 currency code for this report. Defaults to account currency code if not specified.",
          "type": "string"
        }
      }
    },
    "MetricValueGroup": {
      "id": "MetricValueGroup",
      "type": "object",
      "description": "Contains all metric values requested for a single date range and set of column dimension values (returned in the columns field of the response). The order of the metrics in each field corresponds to the order of the metrics specified in the request.",
      "properties": {
        "primaryValues": {
          "items": {
            "$ref": "ReportValue"
          },
          "description": "Data for the PRIMARY MetricValueType.",
          "type": "array"
        }
      }
    },
    "Report": {
      "type": "object",
      "id": "Report",
      "description": "The `Report` resource.",
      "properties": {
        "reportId": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. Report ID.",
          "format": "int64"
        },
        "name": {
          "description": "Identifier. The resource name of the report. Report resource name have the form: `curators/{account_id}/reports/{report_id}`",
          "type": "string"
        },
        "displayName": {
          "type": "string",
          "description": "Optional. Display name for the report."
        },
        "locale": {
          "description": "Output only. The locale of this report. Locale is set from the user's locale at the time of the request. Locale can't be modified.",
          "readOnly": true,
          "type": "string"
        },
        "updateTime": {
          "format": "google-datetime",
          "readOnly": true,
          "type": "string",
          "description": "Output only. The instant this report was last modified."
        },
        "createTime": {
          "type": "string",
          "description": "Output only. The instant this report was created.",
          "readOnly": true,
          "format": "google-datetime"
        },
        "reportDefinition": {
          "description": "Required. The report definition of the report.",
          "$ref": "ReportDefinition"
        }
      }
    },
    "Money": {
      "id": "Money",
      "properties": {
        "currencyCode": {
          "type": "string",
          "description": "The three-letter currency code defined in ISO 4217."
        },
        "nanos": {
          "description": "Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.",
          "format": "int32",
          "type": "integer"
        },
        "units": {
          "format": "int64",
          "type": "string",
          "description": "The whole units of the amount. For example if `currencyCode` is `\"USD\"`, then 1 unit is one US dollar."
        }
      },
      "type": "object",
      "description": "Represents an amount of money with its currency type."
    },
    "TaxonomyTargeting": {
      "description": "Defines targeting criteria for handling the IAB audience and content Taxonomy ID space.",
      "properties": {
        "excludedTaxonomyIds": {
          "description": "Optional. The list of excluded content taxonomy IDs.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "targetedTaxonomyIds": {
          "items": {
            "type": "string"
          },
          "type": "array",
          "description": "Optional. The list of targeted content taxonomy IDs."
        }
      },
      "id": "TaxonomyTargeting",
      "type": "object"
    },
    "PackageTargeting": {
      "description": "Targeting criteria for curated and auction packages.",
      "id": "PackageTargeting",
      "properties": {
        "includedRestrictedCategories": {
          "type": "array",
          "description": "Optional. The list of targeted restricted categories. If empty, inventory will be targeted regardless of restricted categories.",
          "items": {
            "enumDescriptions": [
              "Default value. Should not be used in targeting specifications.",
              "Targets inventory where alcohol ads are allowed by the publisher.",
              "Targets inventory where gambling ads are allowed by the publisher."
            ],
            "type": "string",
            "enum": [
              "RESTRICTED_CATEGORY_UNSPECIFIED",
              "RESTRICTED_CATEGORY_ALCOHOL",
              "RESTRICTED_CATEGORY_GAMBLING"
            ]
          }
        },
        "includedDeviceTypes": {
          "items": {
            "type": "string",
            "enum": [
              "DEVICE_TYPE_UNSPECIFIED",
              "DEVICE_TYPE_PERSONAL_COMPUTER",
              "DEVICE_TYPE_CONNECTED_TV",
              "DEVICE_TYPE_PHONE",
              "DEVICE_TYPE_TABLET"
            ],
            "enumDescriptions": [
              "Default value. Should not be used in targeting specifications.",
              "Targets desktop or laptop computers.",
              "Targets connected TVs: devices that stream TV content, including smart TVs, gaming consoles, and streaming boxes/sticks.",
              "Targets high-end mobile devices.",
              "Targets tablet devices."
            ]
          },
          "description": "Optional. The list of included device types to target. If empty, all device types are targeted.",
          "type": "array"
        },
        "geoTargeting": {
          "description": "Optional. The geo criteria IDs to be included or excluded as defined in https://storage.googleapis.com/adx-rtb-dictionaries/geo-table.csv. If unset, inventory will be targeted regardless of geo.",
          "$ref": "CriteriaTargeting"
        },
        "publisherProvidedSignalsTargeting": {
          "$ref": "PackagePublisherProvidedSignalsTargeting",
          "description": "Optional. The publisher provided signals to target. If unset, inventory will be targeted regardless of publisher provided signals."
        },
        "videoTargeting": {
          "$ref": "PackageVideoTargeting",
          "description": "Optional. Video specific targeting criteria."
        },
        "placementTargeting": {
          "description": "Optional. Placement targeting information, for example, URL, mobile applications.",
          "$ref": "PackagePlacementTargeting"
        },
        "verticalTargeting": {
          "description": "Optional. The verticals included or excluded as defined in https://developers.google.com/authorized-buyers/rtb/downloads/publisher-verticals. If unset, inventory will be targeted regardless of vertical.",
          "$ref": "CriteriaTargeting"
        },
        "includedNativeInventoryTypes": {
          "type": "array",
          "description": "Optional. The targeted native inventory types. If empty, inventory will be targeted regardless of native inventory type.",
          "items": {
            "enumDescriptions": [
              "Default value. Should not be used in targeting specifications.",
              "Targets ad slots that *only* accept and render native ads.",
              "Targets ad slots that accept and render either native or banner ads."
            ],
            "type": "string",
            "enum": [
              "NATIVE_INVENTORY_TYPE_UNSPECIFIED",
              "NATIVE_INVENTORY_TYPE_NATIVE_ONLY",
              "NATIVE_INVENTORY_TYPE_NATIVE_OR_BANNER"
            ]
          }
        },
        "includedRewardedType": {
          "description": "Optional. The targeted rewarded type. If unset, inventory will be targeted regardless of rewarded type.",
          "enumDescriptions": [
            "Default value. Should not be used in targeting specifications.",
            "Targets inventory that does NOT offer an explicit reward to the user for watching or interacting with the ad.",
            "Targets inventory that offers a reward to the user in exchange for watching or engaging with the ad."
          ],
          "type": "string",
          "enum": [
            "REWARDED_TYPE_UNSPECIFIED",
            "REWARDED_TYPE_NON_REWARDED",
            "REWARDED_TYPE_REWARDED"
          ]
        },
        "includedOpenMeasurementTypes": {
          "type": "array",
          "items": {
            "enumDescriptions": [
              "Default value. Should not be used in targeting specifications.",
              "Targets inventory that supports the v1 Open Measurement Interface Definition (OMID)."
            ],
            "type": "string",
            "enum": [
              "OPEN_MEASUREMENT_TYPE_UNSPECIFIED",
              "OPEN_MEASUREMENT_TYPE_OMID_V1"
            ]
          },
          "description": "Optional. The list of targeted open measurement types. If empty, inventory will be targeted regardless of Open Measurement support."
        },
        "languageTargeting": {
          "description": "Optional. The languages to target. If unset, inventory will be targeted regardless of language. See https://developers.google.com/google-ads/api/data/codes-formats#languages for the list of supported language codes.",
          "$ref": "StringTargetingDimension"
        },
        "minimumPredictedViewabilityPercentage": {
          "description": "Optional. The targeted minimum predicted viewability percentage. This value must be a multiple of 10 between 10 and 90 (inclusive). For example, 10 is valid, but 0, 15, and 100 are not. A value of 10 means that the configuration will only match adslots for which we predict at least 10% viewability. An unset value indicates inventory will be targeted regardless of predicted viewability.",
          "type": "string",
          "format": "int64"
        },
        "publisherTargeting": {
          "description": "Optional. The targeted publishers. If unset, inventory will be targeted regardless of publisher. Publishers are identified by their publisher ID from ads.txt / app-ads.txt. See https://iabtechlab.com/ads-txt/ and https://iabtechlab.com/app-ads-txt/ for more details.",
          "$ref": "StringTargetingDimension"
        },
        "includedEnvironment": {
          "enumDescriptions": [
            "Default value. Should not be used in targeting specifications.",
            "Targets inventory rendered within an ad-supported website.",
            "Targets inventory within a mobile application."
          ],
          "description": "Optional. The environment to target. If unspecified, all environments are targeted.",
          "type": "string",
          "enum": [
            "ENVIRONMENT_UNSPECIFIED",
            "ENVIRONMENT_SITE",
            "ENVIRONMENT_APP"
          ]
        },
        "includedAdSizes": {
          "type": "array",
          "items": {
            "$ref": "AdSize"
          },
          "description": "Optional. The list of ad sizes to target. If unset, inventory will be targeted regardless of ad size. Curated packages supports `PIXEL` and `INTERSTITIAL` ad sizes."
        },
        "includedAuthorizedSellerStatuses": {
          "items": {
            "type": "string",
            "enum": [
              "AUTHORIZED_SELLER_STATUS_UNSPECIFIED",
              "AUTHORIZED_SELLER_STATUS_DIRECT",
              "AUTHORIZED_SELLER_STATUS_RESELLER"
            ],
            "enumDescriptions": [
              "Default value. Should not be used in targeting specifications.",
              "Targets inventory where the seller is declared as 'DIRECT'. This indicates the publisher (content owner) directly controls the seller account and has a direct business contract with the advertising system for this account.",
              "Targets inventory where the seller is declared as 'RESELLER'. This indicates the publisher has authorized another entity to operate the listed seller account and resell their ad space."
            ]
          },
          "description": "Optional. The included list of targeted authorized seller statuses. If empty, inventory will be targeted regardless of seller status.",
          "type": "array"
        },
        "includedCreativeFormat": {
          "type": "string",
          "enum": [
            "CREATIVE_FORMAT_UNSPECIFIED",
            "CREATIVE_FORMAT_DISPLAY",
            "CREATIVE_FORMAT_VIDEO",
            "CREATIVE_FORMAT_AUDIO"
          ],
          "description": "Optional. The creative format to target. If unset, all creative markup types are targeted.",
          "enumDescriptions": [
            "Default value. Should not be used in targeting specifications.",
            "Targets ad slots intended for HTML display creatives.",
            "Targets ad slots intended for video creatives.",
            "Targets ad slots intended for audio creatives."
          ]
        },
        "minimumPredictedClickThroughRatePercentageMillis": {
          "type": "string",
          "format": "int64",
          "description": "Optional. The targeted minimum predicted click through rate, ranging in values [10, 10000] (0.01% - 10%). A value of 50 means that the configuration will only match adslots for which we predict at least 0.05% click through rate. An unset value indicates inventory will be targeted regardless of predicted click through rate."
        },
        "includedDataSegments": {
          "description": "Optional. The active data segments to be targeted. If unset, inventory will be targeted regardless of data segments. Format: `curators/{account_id}/dataSegments/{data_segment_id}`",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "includedAcceleratedMobilePageType": {
          "description": "Optional. The targeted accelerated mobile page type. If unset, inventory will be targeted regardless of AMP status.",
          "type": "string",
          "enum": [
            "ACCELERATED_MOBILE_PAGE_TYPE_UNSPECIFIED",
            "ACCELERATED_MOBILE_PAGE_TYPE_NON_AMP",
            "ACCELERATED_MOBILE_PAGE_TYPE_AMP",
            "ACCELERATED_MOBILE_PAGE_TYPE_AMP_STORY"
          ],
          "enumDescriptions": [
            "Default value. Should not be used in targeting specifications.",
            "Targets inventory on standard web pages not using any AMP framework.",
            "Targets inventory on pages built using the core AMP HTML framework.",
            "Targets inventory on pages using the AMP Story (STAMP) format, which is optimized for visual storytelling (e.g., tappable full-screen experiences)."
          ]
        }
      },
      "type": "object"
    },
    "PackageVideoTargeting": {
      "type": "object",
      "properties": {
        "includedPositionTypes": {
          "description": "Optional. The targeted video ad position types. If empty, inventory will be targeted regardless of video ad position type.",
          "items": {
            "type": "string",
            "enum": [
              "POSITION_TYPE_UNSPECIFIED",
              "POSITION_TYPE_MIDROLL",
              "POSITION_TYPE_POSTROLL",
              "POSITION_TYPE_PREROLL"
            ],
            "enumDescriptions": [
              "Default value. Should not be used in targeting specifications.",
              "The ad is played in the middle of the video content.",
              "The ad is played after the video content.",
              "The ad is played before the video content."
            ]
          },
          "type": "array"
        },
        "includedPlaybackMethods": {
          "description": "Optional. The list of targeted video playback methods. If empty, inventory will be targeted regardless of video playback method.",
          "items": {
            "enumDescriptions": [
              "Unspecified video playback method. Should not be used.",
              "Playback starts automatically when the page/content loads.",
              "Playback starts automatically when the page/content loads, but with sound off.",
              "Playback is initiated by a user action (e.g., clicking a play button)."
            ],
            "type": "string",
            "enum": [
              "PLAYBACK_METHOD_UNSPECIFIED",
              "PLAYBACK_METHOD_AUTO_PLAY_SOUND_ON",
              "PLAYBACK_METHOD_AUTO_PLAY_SOUND_OFF",
              "PLAYBACK_METHOD_CLICK_TO_PLAY"
            ]
          },
          "type": "array"
        },
        "includedContentDeliveryMethod": {
          "enumDescriptions": [
            "Default value. Should not be used in targeting specifications.",
            "Targets video content that is being broadcast live.",
            "Targets video content that is transferred incrementally as client's playback requires."
          ],
          "type": "string",
          "enum": [
            "CONTENT_DELIVERY_METHOD_UNSPECIFIED",
            "CONTENT_DELIVERY_METHOD_STREAMING",
            "CONTENT_DELIVERY_METHOD_PROGRESSIVE"
          ],
          "description": "Optional. The targeted video delivery method. If unset, inventory will be targeted regardless of video delivery method."
        },
        "includedMaximumAdDurationTargeting": {
          "enumDescriptions": [
            "Default value. Should not be used in targeting specifications.",
            "Applies to video ads with a duration up to 15 seconds (0 \u003c duration \u003c= 15s).",
            "Applies to video ads with a duration up to 20 seconds (0 \u003c duration \u003c= 20s).",
            "Applies to video ads with a duration up to 30 seconds (0 \u003c duration \u003c= 30s).",
            "Applies to video ads with a duration up to 60 seconds (0 \u003c duration \u003c= 60s).",
            "Applies to video ads with a duration up to 90 seconds (0 \u003c duration \u003c= 90s).",
            "Applies to video ads with a duration up to 120 seconds (0 \u003c duration \u003c= 120s)."
          ],
          "type": "string",
          "enum": [
            "MAXIMUM_VIDEO_AD_DURATION_UNSPECIFIED",
            "MAXIMUM_VIDEO_AD_DURATION_FIFTEEN_SECONDS",
            "MAXIMUM_VIDEO_AD_DURATION_TWENTY_SECONDS",
            "MAXIMUM_VIDEO_AD_DURATION_THIRTY_SECONDS",
            "MAXIMUM_VIDEO_AD_DURATION_SIXTY_SECONDS",
            "MAXIMUM_VIDEO_AD_DURATION_NINETY_SECONDS",
            "MAXIMUM_VIDEO_AD_DURATION_ONE_HUNDRED_TWENTY_SECONDS"
          ],
          "description": "Optional. The targeted maximum video ad duration. If unset, inventory will be targeted regardless of maximum video ad duration."
        },
        "plcmtTargeting": {
          "description": "Optional. The targeted video plcmt types. If unset, inventory will be targeted regardless of video plcmt type.",
          "$ref": "VideoPlcmtTargeting"
        },
        "includedPlayerSizeTargeting": {
          "description": "Optional. The targeted video player size. If unset, inventory will be targeted regardless of video player size.",
          "$ref": "VideoPlayerSizeTargeting"
        },
        "minimumPredictedCompletionRatePercentage": {
          "description": "Optional. The targeted minimum predicted completion rate percentage. This value must be a multiple of 10 between 10 and 90 (inclusive). For example, 10 is valid, but 0, 15, and 100 are not. A value of 10 means that the configuration will only match adslots for which we predict at least 10% completion rate. An unset value indicates inventory will be targeted regardless of predicted completion rate.",
          "format": "int64",
          "type": "string"
        },
        "includedMimeTypes": {
          "items": {
            "enumDescriptions": [
              "Default value. Should not be used in targeting specifications.",
              "3GPP container format used on 3G phones.",
              "HLS/M3U8",
              "MPEG-4 container typically with H.264 codec.",
              "DASH.",
              "JavaScript (used for VPAID ads).",
              "WebM container assuming VP9 codec."
            ],
            "type": "string",
            "enum": [
              "VIDEO_MIME_TYPE_UNSPECIFIED",
              "VIDEO_MIME_TYPE_THREEGPP",
              "VIDEO_MIME_TYPE_APPLICATION_MPEGURL",
              "VIDEO_MIME_TYPE_MP4",
              "VIDEO_MIME_TYPE_APPLICATION_MPEGDASH",
              "VIDEO_MIME_TYPE_APPLICATION_JAVASCRIPT",
              "VIDEO_MIME_TYPE_WEBM"
            ]
          },
          "type": "array",
          "description": "Optional. The list of targeted video mime types using the IANA published MIME type strings (https://www.iana.org/assignments/media-types/media-types.xhtml). If empty, inventory will be targeted regardless of video mime type."
        }
      },
      "id": "PackageVideoTargeting",
      "description": "Video specific targeting criteria."
    },
    "CuratedPackage": {
      "type": "object",
      "id": "CuratedPackage",
      "description": "Represents a curated package of inventory created and managed by a Curator.",
      "properties": {
        "floorPriceCpm": {
          "description": "Optional. The minimum CPM a buyer has to bid to participate in auctions for inventory in this curated package. Can be used to filter the response of the curatedPackages.list method.",
          "$ref": "Money"
        },
        "state": {
          "readOnly": true,
          "type": "string",
          "enum": [
            "STATE_UNSPECIFIED",
            "ACTIVE",
            "INACTIVE"
          ],
          "description": "Output only. The state of the curated package. Can be used to filter the response of the curatedPackages.list method.",
          "enumDescriptions": [
            "Default value.",
            "The curated package is active.",
            "The curated package is inactive."
          ]
        },
        "targeting": {
          "$ref": "PackageTargeting",
          "description": "Optional. Targeting criteria for the curated package."
        },
        "createTime": {
          "description": "Output only. The timestamp when the curated package was created. Can be used to filter the response of the curatedPackages.list method.",
          "format": "google-datetime",
          "readOnly": true,
          "type": "string"
        },
        "millipercentOfMediaFee": {
          "description": "Optional. The fee will be charged as a percentage of the impression cost, represented in millipercent. For example, 1% is represented as 1000.",
          "type": "string",
          "format": "int64"
        },
        "feeCpm": {
          "$ref": "Money",
          "description": "Optional. The CPM fee charged by the curator to buyers using this curated package. Can be used to filter the response of the curatedPackages.list method."
        },
        "displayName": {
          "description": "Required. The display name assigned to the curated package by the curator. Can be used to filter the response of the curatedPackages.list method.",
          "type": "string"
        },
        "updateTime": {
          "type": "string",
          "description": "Output only. The timestamp when the curated package was last updated. Can be used to filter the response of the curatedPackages.list method.",
          "format": "google-datetime",
          "readOnly": true
        },
        "description": {
          "type": "string",
          "description": "Optional. A description of the curated package, provided by the curator."
        },
        "name": {
          "description": "Identifier. The unique resource name for the curated package. Format: `curators/{accountId}/curatedPackages/{curatedPackageId}`",
          "type": "string"
        },
        "accessSettings": {
          "description": "Required. Settings for controlling access to the curated package. Access to this curated package is limited to the allowlisted media planners and the creator. Buyers and bidders can not be allowlisted for or have direct access to this resource.",
          "$ref": "AccessControlSettings"
        },
        "curationFeeVisibility": {
          "type": "string",
          "enum": [
            "CURATION_FEE_VISIBILITY_UNSPECIFIED",
            "DISCLOSED",
            "NON_DISCLOSED"
          ],
          "description": "Optional. Immutable. The visibility of the combined curation package fee and data segment fees (the total curation fee).",
          "enumDescriptions": [
            "The total curation fee visibility is unspecified.",
            "The total curation fee is visible to all buyers. This is the default value if not set.",
            "The total curation fee is not visible to all buyers."
          ]
        }
      }
    },
    "ListMediaPlannersResponse": {
      "properties": {
        "mediaPlanners": {
          "description": "List of media planners.",
          "type": "array",
          "items": {
            "$ref": "MediaPlanner"
          }
        },
        "nextPageToken": {
          "description": "A token which can be passed to a subsequent call to the ListMediaPlanners method to retrieve the next page of results in ListMediaPlannersRequest.page_token.",
          "type": "string"
        }
      },
      "description": "A response containing media planner account information.",
      "id": "ListMediaPlannersResponse",
      "type": "object"
    },
    "IntList": {
      "id": "IntList",
      "properties": {
        "values": {
          "description": "The values",
          "items": {
            "type": "string",
            "format": "int64"
          },
          "type": "array"
        }
      },
      "description": "A list of integer values.",
      "type": "object"
    },
    "ListDataSegmentsResponse": {
      "description": "Response message for listing data segments.",
      "id": "ListDataSegmentsResponse",
      "properties": {
        "nextPageToken": {
          "type": "string",
          "description": "Continuation token for fetching the next page of results. Pass this value in the ListDataSegmentsRequest.pageToken field in the subsequent call to the `ListDataSegments` method to retrieve the next page of results."
        },
        "dataSegments": {
          "items": {
            "$ref": "DataSegment"
          },
          "description": "The list of data segments.",
          "type": "array"
        }
      },
      "type": "object"
    },
    "Field": {
      "type": "object",
      "description": "A dimension or a metric in a report.",
      "id": "Field",
      "properties": {
        "metric": {
          "type": "string",
          "enum": [
            "METRIC_UNSPECIFIED",
            "ACTIVE_VIEW_MEASURABILITY_RATE",
            "ACTIVE_VIEW_MEASURABLE",
            "ACTIVE_VIEW_VIEWABILITY_RATE",
            "ACTIVE_VIEW_VIEWABLE",
            "AUCTIONS_WON",
            "BIDS",
            "BIDS_IN_AUCTION",
            "BID_REQUESTS",
            "CLICKS",
            "CURATION_PARTNER_FEE",
            "DATA_SEGMENT_REQUESTS",
            "IMPRESSIONS",
            "SPEND"
          ],
          "enumDescriptions": [
            "Default value. This value is unused.",
            "Active View measurability rate.",
            "Active View measurable.",
            "Active view viewability rate.",
            "Active View viewable imps.",
            "Auctions won.",
            "Bids.",
            "Bids in auction.",
            "Bid requests.",
            "Clicks.",
            "Curator fee.",
            "Number of data segment requests sent in the Real-time curation.",
            "Impressions.",
            "Spend in reporting currency specified in the request. Defaults to USD."
          ],
          "description": "The metric this field represents."
        },
        "dimension": {
          "description": "The dimension this field represents.",
          "type": "string",
          "enum": [
            "DIMENSION_UNSPECIFIED",
            "ADVERTISER_DOMAIN",
            "COUNTRY",
            "CURATION_DATA_SEGMENT_ID",
            "CURATION_DATA_SEGMENT_RESPONSE_STATUS",
            "CURATION_DATA_SEGMENT_RESPONSE_STATUS_NAME",
            "CURATOR_FEE_TYPE",
            "DATE",
            "DEAL_ID",
            "DEAL_NAME",
            "DETECTED_ADVERTISER_NAME",
            "DSP_NAME",
            "DSP_SEAT_ID",
            "ENVIRONMENT",
            "ENVIRONMENT_NAME",
            "HOLDING_COMPANY_NAME",
            "HOUR",
            "MOBILE_APP_ID",
            "MOBILE_APP_NAME",
            "MOBILE_OS",
            "MONTH",
            "PACKAGE_FEE_VISIBILITY",
            "PLATFORM",
            "PUBLISHER_DOMAIN",
            "PUBLISHER_ID",
            "PUBLISHER_NAME",
            "WEEK"
          ],
          "enumDescriptions": [
            "Default value. This value is unused.",
            "The domain of the advertiser.",
            "Display name of a country.",
            "The ID of the data segment created by a curator.",
            "The response status of the data segment requests in the Real-time curation. Refer to https://developers.google.com/authorized-buyers/curation/get-started/start for details.",
            "The localized display name of the response status of the data segment requests in the Real-time curation. Refer to https://developers.google.com/authorized-buyers/curation/get-started/start for details.",
            "The type of curation service (e.g. packaging or data segment).",
            "Date.",
            "Deal ID.",
            "Deal name.",
            "Display name of the detected advertiser.",
            "Display name of the DSP.",
            "DSP Seat ID.",
            "The user device and container environment where the impression originates. Supported values are \"app\" and \"web\".",
            "The localized display name of the user device and container environment where the impression originates. Supported values are \"app\" and \"web\".",
            "Display name of the holding company.",
            "Hour.",
            "Mobile App ID.",
            "Mobile App Name.",
            "Mobile operating system.",
            "Month.",
            "The visibility of the package fee (e.g. disclosed or non-disclosed).",
            "Platform, e.g. \"desktop\" vs. \"mobile\".",
            "Publisher domain.",
            "Publisher identifier.",
            "Publisher name.",
            "Week."
          ]
        }
      }
    },
    "Empty": {
      "properties": {},
      "type": "object",
      "id": "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); }"
    },
    "Date": {
      "properties": {
        "year": {
          "format": "int32",
          "description": "Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.",
          "type": "integer"
        },
        "day": {
          "description": "Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.",
          "format": "int32",
          "type": "integer"
        },
        "month": {
          "type": "integer",
          "format": "int32",
          "description": "Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day."
        }
      },
      "id": "Date",
      "description": "Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp",
      "type": "object"
    },
    "DoubleList": {
      "type": "object",
      "description": "A list of double values.",
      "properties": {
        "values": {
          "items": {
            "type": "number",
            "format": "double"
          },
          "type": "array",
          "description": "The values"
        }
      },
      "id": "DoubleList"
    },
    "DeactivateCuratedPackageRequest": {
      "type": "object",
      "properties": {},
      "description": "Request message for DeactivateCuratedPackage.",
      "id": "DeactivateCuratedPackageRequest"
    },
    "StringList": {
      "properties": {
        "values": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The values"
        }
      },
      "id": "StringList",
      "description": "A list of string values.",
      "type": "object"
    },
    "MediaPlanner": {
      "description": "Represents a media planner account.",
      "type": "object",
      "id": "MediaPlanner",
      "properties": {
        "displayName": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. The display name of the media planner. Can be used to filter the response of the mediaPlanners.list method."
        },
        "name": {
          "description": "Identifier. The unique resource name of the media planner. Format: `mediaPlanners/{mediaPlannerAccountId}`. Can be used to filter the response of the mediaPlanners.list method.",
          "type": "string"
        },
        "ancestorNames": {
          "readOnly": true,
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Output only. The ancestor names of the media planner. Format: `mediaPlanners/{mediaPlannerAccountId}`. Can be used to filter the response of the mediaPlanners.list method."
        },
        "accountId": {
          "type": "string",
          "deprecated": true,
          "readOnly": true,
          "description": "Output only. Account ID of the media planner."
        }
      }
    },
    "AccessControlSettings": {
      "description": "Settings for controlling access to a curated package.",
      "id": "AccessControlSettings",
      "type": "object",
      "properties": {
        "allowlistedMediaPlanners": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Required. Immutable. The list of media planners that are explicitly granted access to the curated package. Eligible media planners can be found in the mediaPlanners.list method. Only a single media planner may be allowlisted at this time. Format: `mediaPlanners/{mediaPlannerAccountId}`"
        }
      }
    },
    "Row": {
      "id": "Row",
      "type": "object",
      "description": "A row of report data.",
      "properties": {
        "metricValueGroups": {
          "description": " The length of the metric_value_groups field will be equal to the length of the date_ranges field in the fetch response. The metric_value_groups field is ordered such that each index corresponds to the date_range at the same index. For example, given date_ranges [x, y], metric_value_groups will have a length of two. The first entry in metric_value_groups represents the metrics for date x and the second entry in metric_value_groups represents the metrics for date y.",
          "type": "array",
          "items": {
            "$ref": "MetricValueGroup"
          }
        },
        "dimensionValues": {
          "items": {
            "$ref": "ReportValue"
          },
          "type": "array",
          "description": "The order of the dimension values is the same as the order of the dimensions specified in the request."
        }
      }
    },
    "ListCuratedPackagesResponse": {
      "type": "object",
      "id": "ListCuratedPackagesResponse",
      "description": "Response message for ListCuratedPackages.",
      "properties": {
        "curatedPackages": {
          "items": {
            "$ref": "CuratedPackage"
          },
          "type": "array",
          "description": "The list of curated packages."
        },
        "nextPageToken": {
          "type": "string",
          "description": "A token to retrieve the next page of results. Pass this value in the ListCuratedPackagesRequest.pageToken field in the subsequent call to `ListCuratedPackages` method to retrieve the next page of results. If empty, then there are no more results."
        }
      }
    },
    "DateRange": {
      "properties": {
        "fixed": {
          "description": "A fixed date range.",
          "$ref": "FixedDateRange"
        },
        "relative": {
          "description": "A relative date range.",
          "type": "string",
          "enum": [
            "RELATIVE_DATE_RANGE_UNSPECIFIED",
            "TODAY",
            "YESTERDAY",
            "THIS_WEEK_TO_DATE",
            "THIS_WEEK_TO_YESTERDAY",
            "THIS_MONTH_TO_DATE",
            "THIS_MONTH_TO_YESTERDAY",
            "THIS_QUARTER_TO_DATE",
            "THIS_QUARTER_TO_YESTERDAY",
            "THIS_YEAR_TO_DATE",
            "THIS_YEAR_TO_YESTERDAY",
            "LAST_WEEK",
            "LAST_WEEK_STARTING_SUNDAY",
            "LAST_MONTH",
            "LAST_QUARTER",
            "LAST_YEAR",
            "LAST_7_DAYS",
            "LAST_30_DAYS",
            "LAST_60_DAYS",
            "LAST_90_DAYS",
            "LAST_93_DAYS",
            "LAST_180_DAYS",
            "LAST_360_DAYS",
            "LAST_365_DAYS",
            "LAST_3_MONTHS",
            "LAST_6_MONTHS",
            "LAST_12_MONTHS",
            "ALL_AVAILABLE"
          ],
          "enumDescriptions": [
            "Default value. This value is unused.",
            "The date the report is run.",
            "The date a day before the date that the report is run.",
            "From the beginning of the calendar week in which the up to and including the day the report is run.",
            "From the beginning of the calendar week in which the report is run, up to and including the day before the report is run.",
            "From the beginning of the calendar month in which the report is run, to up to and including the day the report is run.",
            "From the beginning of the calendar month in which the report is run, up to and including the day before the report is run.",
            "From the beginning of the calendar quarter in which the report is run, up to and including the day the report is run.",
            "From the beginning of the calendar quarter in which the report is run, up to and including the day before the report is run.",
            "From the beginning of the calendar year in which the report is run, to up to and including the day the report is run.",
            "From the beginning of the calendar year in which the report is run, to up to and including the day before the report is run.",
            "The entire previous calendar week, Monday to Sunday (inclusive), preceding the calendar week the report is run.",
            "The entire previous calendar week, Sunday to Saturday (inclusive), preceding the calendar week the report is run.",
            "The entire previous calendar month preceding the calendar month the report is run.",
            "The entire previous calendar quarter preceding the calendar quarter the report is run.",
            "The entire previous calendar year preceding the calendar year the report is run.",
            "The 7 days preceding the day the report is run.",
            "The 30 days preceding the day the report is run.",
            "The 60 days preceding the day the report is run.",
            "The 90 days preceding the day the report is run.",
            "The 93 days preceding the day the report is run.",
            "The 180 days preceding the day the report is run.",
            "The 360 days preceding the day the report is run.",
            "The 365 days preceding the day the report is run.",
            "The entire previous 3 calendar months preceding the calendar month the report is run.",
            "The entire previous 6 calendar months preceding the calendar month the report is run.",
            "The entire previous 12 calendar months preceding the calendar month the report is run.",
            "From 3 years before the report is run, to the day before the report is run, inclusive."
          ]
        }
      },
      "description": "A date range for a report.",
      "type": "object",
      "id": "DateRange"
    },
    "ReportValue": {
      "id": "ReportValue",
      "description": "Represents a single value in a report.",
      "type": "object",
      "properties": {
        "doubleValue": {
          "format": "double",
          "type": "number",
          "description": "For double values."
        },
        "doubleListValue": {
          "description": "For lists of double values.",
          "$ref": "DoubleList"
        },
        "boolValue": {
          "description": "For boolean values.",
          "type": "boolean"
        },
        "intValue": {
          "type": "string",
          "description": "For integer values.",
          "format": "int64"
        },
        "bytesValue": {
          "type": "string",
          "description": "For bytes values.",
          "format": "byte"
        },
        "intListValue": {
          "description": "For lists of integer values.",
          "$ref": "IntList"
        },
        "stringListValue": {
          "$ref": "StringList",
          "description": "For lists of string values."
        },
        "stringValue": {
          "description": "For string values.",
          "type": "string"
        }
      }
    },
    "FetchReportResultRowsResponse": {
      "id": "FetchReportResultRowsResponse",
      "properties": {
        "dateRanges": {
          "items": {
            "$ref": "FixedDateRange"
          },
          "description": "The computed fixed date ranges this report includes. Only returned with the first page of results (when page_token is not included in the request).",
          "type": "array"
        },
        "rows": {
          "items": {
            "$ref": "Row"
          },
          "type": "array",
          "description": "Up to `page_size` rows of report data."
        },
        "nextPageToken": {
          "type": "string",
          "description": "A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages."
        },
        "totalRowCount": {
          "type": "integer",
          "format": "int32",
          "description": "The total number of rows available from this report. Useful for pagination. Only returned with the first page of results (when page_token is not included in the request)."
        },
        "runTime": {
          "format": "google-datetime",
          "type": "string",
          "description": "The time at which the report was scheduled to run. For non-scheduled reports, this is the time at which the report was requested to be run."
        }
      },
      "type": "object",
      "description": "The response message for the fetch report result rows endpoint."
    },
    "Sort": {
      "id": "Sort",
      "type": "object",
      "description": "Represents a sorting in a report.",
      "properties": {
        "field": {
          "$ref": "Field",
          "description": "Required. A field (dimension or metric) to sort by."
        },
        "descending": {
          "type": "boolean",
          "description": "Optional. The sort order. If true the sort will be descending."
        }
      }
    }
  },
  "description": "Curation partners API is an externally available HTTP API for curators to programmatically manage their data segments and curated packages used by ad agencies.",
  "name": "curationpartners",
  "auth": {
    "oauth2": {
      "scopes": {
        "https://www.googleapis.com/auth/curation-partners": {
          "description": "See, create, edit, and delete data entities in your Curation account."
        }
      }
    }
  },
  "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://curationpartners.googleapis.com/",
  "resources": {
    "mediaPlanners": {
      "methods": {
        "list": {
          "description": "Lists all media planner accounts that the caller has access to. For curators, this will return all media planners that have accepted curator terms. For other accounts, attempting to list media planners will return an error.",
          "httpMethod": "GET",
          "scopes": [
            "https://www.googleapis.com/auth/curation-partners"
          ],
          "parameters": {
            "filter": {
              "location": "query",
              "description": "Optional query string using the [Cloud API list filtering syntax](/authorized-buyers/apis/guides/list-filters). Supported columns for filtering are: * `name` * `displayName` * `ancestorNames`",
              "type": "string"
            },
            "pageSize": {
              "description": "The maximum number of media planners to return. If unspecified, at most 100 media planners will be returned. The maximum value is 500; values above 500 will be coerced to 500.",
              "type": "integer",
              "location": "query",
              "format": "int32"
            },
            "pageToken": {
              "type": "string",
              "description": "Optional. A token identifying a page of results the server should return.This value is received from a previous `ListMediaPlanners` call in ListMediaPlannersResponse.nextPageToken.",
              "location": "query"
            }
          },
          "parameterOrder": [],
          "id": "curationpartners.mediaPlanners.list",
          "flatPath": "v1/mediaPlanners",
          "response": {
            "$ref": "ListMediaPlannersResponse"
          },
          "path": "v1/mediaPlanners"
        }
      }
    },
    "curators": {
      "resources": {
        "reports": {
          "methods": {
            "list": {
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "pageToken": {
                  "description": "Optional. A page token, received from a previous `ListReports` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListReports` must match the call that provided the page token.",
                  "location": "query",
                  "type": "string"
                },
                "filter": {
                  "type": "string",
                  "location": "query",
                  "description": "Optional. Expression to filter the response. See syntax details at https://developers.google.com/ad-manager/api/beta/filters"
                },
                "pageSize": {
                  "location": "query",
                  "description": "Optional. The maximum number of `Reports` to return. The service may return fewer than this value. If unspecified, at most 50 `Reports` will be returned. The maximum value is 1000; values greater than 1000 will be coerced to 1000.",
                  "type": "integer",
                  "format": "int32"
                },
                "parent": {
                  "type": "string",
                  "required": true,
                  "pattern": "^curators/[^/]+$",
                  "description": "Required. The parent, which owns this collection of reports. Format: `curators/{account_id}`",
                  "location": "path"
                },
                "orderBy": {
                  "location": "query",
                  "description": "Optional. Expression to specify sorting order. See syntax details at https://developers.google.com/ad-manager/api/beta/filters#order",
                  "type": "string"
                },
                "skip": {
                  "location": "query",
                  "type": "integer",
                  "format": "int32",
                  "description": "Optional. Number of individual resources to skip while paginating."
                }
              },
              "description": "Lists `Report` objects.",
              "httpMethod": "GET",
              "path": "v1/{+parent}/reports",
              "id": "curationpartners.curators.reports.list",
              "flatPath": "v1/curators/{curatorsId}/reports",
              "response": {
                "$ref": "ListReportsResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/curation-partners"
              ]
            },
            "run": {
              "parameters": {
                "name": {
                  "location": "path",
                  "pattern": "^curators/[^/]+/reports/[^/]+$",
                  "type": "string",
                  "required": true,
                  "description": "Required. The report to run. Format: `curators/{account_id}/reports/{report_id}`"
                }
              },
              "description": "Initiates the execution of an existing report asynchronously. Users can get the report by polling this operation using `OperationsService.GetOperation`. Poll every 5 seconds initially, with an exponential backoff. Once a report is complete, the operation will contain a `RunReportResponse` in its response field containing a report_result that can be passed to the `FetchReportResultRows` method to retrieve the report data.",
              "flatPath": "v1/curators/{curatorsId}/reports/{reportsId}:run",
              "response": {
                "$ref": "Operation"
              },
              "parameterOrder": [
                "name"
              ],
              "httpMethod": "POST",
              "scopes": [
                "https://www.googleapis.com/auth/curation-partners"
              ],
              "id": "curationpartners.curators.reports.run",
              "path": "v1/{+name}:run",
              "request": {
                "$ref": "RunReportRequest"
              }
            },
            "patch": {
              "httpMethod": "PATCH",
              "path": "v1/{+name}",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "type": "string",
                  "description": "Identifier. The resource name of the report. Report resource name have the form: `curators/{account_id}/reports/{report_id}`",
                  "location": "path",
                  "pattern": "^curators/[^/]+/reports/[^/]+$",
                  "required": true
                },
                "updateMask": {
                  "description": "Optional. The list of fields to update.",
                  "location": "query",
                  "type": "string",
                  "format": "google-fieldmask"
                }
              },
              "id": "curationpartners.curators.reports.patch",
              "flatPath": "v1/curators/{curatorsId}/reports/{reportsId}",
              "response": {
                "$ref": "Report"
              },
              "description": "Updates a `Report` object.",
              "scopes": [
                "https://www.googleapis.com/auth/curation-partners"
              ],
              "request": {
                "$ref": "Report"
              }
            },
            "get": {
              "path": "v1/{+name}",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "pattern": "^curators/[^/]+/reports/[^/]+$",
                  "location": "path",
                  "description": "Required. The resource name of the report. Format: `curators/{account_id}/reports/{report_id}`",
                  "type": "string",
                  "required": true
                }
              },
              "httpMethod": "GET",
              "id": "curationpartners.curators.reports.get",
              "flatPath": "v1/curators/{curatorsId}/reports/{reportsId}",
              "response": {
                "$ref": "Report"
              },
              "scopes": [
                "https://www.googleapis.com/auth/curation-partners"
              ],
              "description": "Retrieves a `Report` object."
            },
            "create": {
              "scopes": [
                "https://www.googleapis.com/auth/curation-partners"
              ],
              "httpMethod": "POST",
              "flatPath": "v1/curators/{curatorsId}/reports",
              "response": {
                "$ref": "Report"
              },
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "parent": {
                  "description": "Required. The parent resource where this `Report` will be created. Format: `curators/{account_id}`",
                  "location": "path",
                  "type": "string",
                  "required": true,
                  "pattern": "^curators/[^/]+$"
                }
              },
              "path": "v1/{+parent}/reports",
              "description": "Creates a `Report` object.",
              "id": "curationpartners.curators.reports.create",
              "request": {
                "$ref": "Report"
              }
            },
            "delete": {
              "path": "v1/{+name}",
              "parameterOrder": [
                "name"
              ],
              "description": "Deletes a `Report` object.",
              "parameters": {
                "name": {
                  "required": true,
                  "description": "Required. Resource name of the report to delete. Format: `curators/{account_id}/reports/{report_id}`",
                  "pattern": "^curators/[^/]+/reports/[^/]+$",
                  "type": "string",
                  "location": "path"
                }
              },
              "flatPath": "v1/curators/{curatorsId}/reports/{reportsId}",
              "response": {
                "$ref": "Empty"
              },
              "scopes": [
                "https://www.googleapis.com/auth/curation-partners"
              ],
              "id": "curationpartners.curators.reports.delete",
              "httpMethod": "DELETE"
            }
          },
          "resources": {
            "results": {
              "methods": {
                "fetchRows": {
                  "path": "v1/{+name}:fetchRows",
                  "httpMethod": "GET",
                  "id": "curationpartners.curators.reports.results.fetchRows",
                  "parameters": {
                    "pageToken": {
                      "location": "query",
                      "type": "string",
                      "description": "Optional. A page token, received from a previous `FetchReportResultRows` call. Provide this to retrieve the second and subsequent batches of rows."
                    },
                    "pageSize": {
                      "format": "int32",
                      "type": "integer",
                      "location": "query",
                      "description": "Optional. The maximum number of rows to return. The service may return fewer than this value. If unspecified, at most 1,000 rows will be returned. The maximum value is 10,000; values greater than 10,000 will be reduced to 10,000."
                    },
                    "name": {
                      "type": "string",
                      "pattern": "^curators/[^/]+/reports/[^/]+/results/[^/]+$",
                      "required": true,
                      "location": "path",
                      "description": "The report result being fetched. Format: `curators/{account_id}/reports/{report_id}/results/{report_result_id}`"
                    }
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/curation-partners"
                  ],
                  "flatPath": "v1/curators/{curatorsId}/reports/{reportsId}/results/{resultsId}:fetchRows",
                  "response": {
                    "$ref": "FetchReportResultRowsResponse"
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "description": "Returns the result rows from a completed report. The caller must have previously called `RunReport` and waited for that operation to complete. The rows will be returned according to the order specified by the `sorts` member of the report definition."
                }
              }
            },
            "operations": {
              "methods": {
                "get": {
                  "parameters": {
                    "name": {
                      "required": true,
                      "pattern": "^curators/[^/]+/reports/[^/]+/operations/[^/]+$",
                      "description": "The name of the operation resource.",
                      "location": "path",
                      "type": "string"
                    }
                  },
                  "id": "curationpartners.curators.reports.operations.get",
                  "flatPath": "v1/curators/{curatorsId}/reports/{reportsId}/operations/{operationsId}",
                  "response": {
                    "$ref": "Operation"
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "httpMethod": "GET",
                  "scopes": [
                    "https://www.googleapis.com/auth/curation-partners"
                  ],
                  "path": "v1/{+name}",
                  "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."
                }
              }
            }
          }
        },
        "curatedPackages": {
          "methods": {
            "get": {
              "path": "v1/{+name}",
              "parameterOrder": [
                "name"
              ],
              "description": "Gets a curated package given its resource name.",
              "flatPath": "v1/curators/{curatorsId}/curatedPackages/{curatedPackagesId}",
              "response": {
                "$ref": "CuratedPackage"
              },
              "scopes": [
                "https://www.googleapis.com/auth/curation-partners"
              ],
              "parameters": {
                "name": {
                  "description": "Required. The name of the curated package to retrieve. Format: `curators/{accountId}/curatedPackages/{curatedPackageId}`",
                  "type": "string",
                  "location": "path",
                  "pattern": "^curators/[^/]+/curatedPackages/[^/]+$",
                  "required": true
                }
              },
              "httpMethod": "GET",
              "id": "curationpartners.curators.curatedPackages.get"
            },
            "create": {
              "parameterOrder": [
                "parent"
              ],
              "httpMethod": "POST",
              "id": "curationpartners.curators.curatedPackages.create",
              "parameters": {
                "parent": {
                  "type": "string",
                  "location": "path",
                  "pattern": "^curators/[^/]+$",
                  "description": "Required. The parent curator account where this curated package will be created. Format: `curators/{accountId}`",
                  "required": true
                }
              },
              "scopes": [
                "https://www.googleapis.com/auth/curation-partners"
              ],
              "request": {
                "$ref": "CuratedPackage"
              },
              "flatPath": "v1/curators/{curatorsId}/curatedPackages",
              "response": {
                "$ref": "CuratedPackage"
              },
              "description": "Creates a new curated package.",
              "path": "v1/{+parent}/curatedPackages"
            },
            "activate": {
              "parameterOrder": [
                "name"
              ],
              "flatPath": "v1/curators/{curatorsId}/curatedPackages/{curatedPackagesId}:activate",
              "response": {
                "$ref": "CuratedPackage"
              },
              "scopes": [
                "https://www.googleapis.com/auth/curation-partners"
              ],
              "request": {
                "$ref": "ActivateCuratedPackageRequest"
              },
              "id": "curationpartners.curators.curatedPackages.activate",
              "httpMethod": "POST",
              "path": "v1/{+name}:activate",
              "description": "Activates an existing curated package.",
              "parameters": {
                "name": {
                  "type": "string",
                  "pattern": "^curators/[^/]+/curatedPackages/[^/]+$",
                  "required": true,
                  "location": "path",
                  "description": "Required. The name of the curated package to activate. Format: `curators/{accountId}/curatedPackages/{curatedPackageId}`"
                }
              }
            },
            "patch": {
              "scopes": [
                "https://www.googleapis.com/auth/curation-partners"
              ],
              "description": "Updates an existing curated package.",
              "parameterOrder": [
                "name"
              ],
              "flatPath": "v1/curators/{curatorsId}/curatedPackages/{curatedPackagesId}",
              "response": {
                "$ref": "CuratedPackage"
              },
              "request": {
                "$ref": "CuratedPackage"
              },
              "parameters": {
                "name": {
                  "type": "string",
                  "required": true,
                  "description": "Identifier. The unique resource name for the curated package. Format: `curators/{accountId}/curatedPackages/{curatedPackageId}`",
                  "location": "path",
                  "pattern": "^curators/[^/]+/curatedPackages/[^/]+$"
                },
                "updateMask": {
                  "description": "Optional. List of fields to be updated. If empty or unspecified, the service will update all fields populated in the update request excluding the output only fields and primitive fields with default value. Note that explicit field mask is required in order to reset a primitive field back to its default value, for example, false for boolean fields, 0 for integer fields. A special field mask consisting of a single path \"*\" can be used to indicate full replacement (the equivalent of PUT method), updatable fields unset or unspecified in the input will be cleared or set to default value. Output only fields will be ignored regardless of the value of updateMask.",
                  "format": "google-fieldmask",
                  "location": "query",
                  "type": "string"
                }
              },
              "id": "curationpartners.curators.curatedPackages.patch",
              "httpMethod": "PATCH",
              "path": "v1/{+name}"
            },
            "list": {
              "parameters": {
                "filter": {
                  "description": "Optional. Optional query string using the [Cloud API list filtering syntax](/authorized-buyers/apis/guides/list-filters). Supported columns for filtering are: * displayName * createTime * updateTime * state * feeCpm.currencyCode * feeCpm.units * feeCpm.nanos * floorPriceCpm.currencyCode * floorPriceCpm.units * floorPriceCpm.nanos",
                  "type": "string",
                  "location": "query"
                },
                "pageToken": {
                  "location": "query",
                  "type": "string",
                  "description": "Optional. A page token, received from a previous `ListCuratedPackages` call. Provide this to retrieve the subsequent page."
                },
                "pageSize": {
                  "location": "query",
                  "type": "integer",
                  "description": "Optional. Requested page size. The server may return fewer results than requested. Max allowed page size is 500. If unspecified, the server will default to 500.",
                  "format": "int32"
                },
                "parent": {
                  "pattern": "^curators/[^/]+$",
                  "required": true,
                  "description": "Required. The parent curator account which owns this collection of curated packages. Format: `curators/{accountId}`",
                  "location": "path",
                  "type": "string"
                }
              },
              "parameterOrder": [
                "parent"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/curation-partners"
              ],
              "path": "v1/{+parent}/curatedPackages",
              "flatPath": "v1/curators/{curatorsId}/curatedPackages",
              "response": {
                "$ref": "ListCuratedPackagesResponse"
              },
              "httpMethod": "GET",
              "id": "curationpartners.curators.curatedPackages.list",
              "description": "Lists curated packages owned by the specified curator."
            },
            "deactivate": {
              "parameterOrder": [
                "name"
              ],
              "id": "curationpartners.curators.curatedPackages.deactivate",
              "path": "v1/{+name}:deactivate",
              "flatPath": "v1/curators/{curatorsId}/curatedPackages/{curatedPackagesId}:deactivate",
              "response": {
                "$ref": "CuratedPackage"
              },
              "scopes": [
                "https://www.googleapis.com/auth/curation-partners"
              ],
              "parameters": {
                "name": {
                  "description": "Required. The name of the curated package to deactivate. Format: `curators/{accountId}/curatedPackages/{curatedPackageId}`",
                  "location": "path",
                  "pattern": "^curators/[^/]+/curatedPackages/[^/]+$",
                  "type": "string",
                  "required": true
                }
              },
              "description": "Deactivates an existing curated package.",
              "httpMethod": "POST",
              "request": {
                "$ref": "DeactivateCuratedPackageRequest"
              }
            }
          }
        },
        "dataSegments": {
          "methods": {
            "list": {
              "description": "List the data segments owned by a curator.",
              "path": "v1/{+parent}/dataSegments",
              "flatPath": "v1/curators/{curatorsId}/dataSegments",
              "response": {
                "$ref": "ListDataSegmentsResponse"
              },
              "parameters": {
                "pageSize": {
                  "description": "Optional. Requested page size. The server may return fewer results than requested. Max allowed page size is 500. If unspecified, the server will default to 500.",
                  "location": "query",
                  "type": "integer",
                  "format": "int32"
                },
                "parent": {
                  "location": "path",
                  "type": "string",
                  "pattern": "^curators/[^/]+$",
                  "required": true,
                  "description": "Required. Name of the parent curator that can access the data segment. Format: `curators/{accountId}`"
                },
                "pageToken": {
                  "type": "string",
                  "description": "Optional. The page token as returned. ListDataSegmentsResponse.nextPageToken",
                  "location": "query"
                }
              },
              "id": "curationpartners.curators.dataSegments.list",
              "scopes": [
                "https://www.googleapis.com/auth/curation-partners"
              ],
              "parameterOrder": [
                "parent"
              ],
              "httpMethod": "GET"
            },
            "activate": {
              "request": {
                "$ref": "ActivateDataSegmentRequest"
              },
              "parameters": {
                "name": {
                  "pattern": "^curators/[^/]+/dataSegments/[^/]+$",
                  "required": true,
                  "description": "Required. Name of data segment to activate. Format: `curators/{accountId}/dataSegments/{curatorDataSegmentId}`",
                  "type": "string",
                  "location": "path"
                }
              },
              "path": "v1/{+name}:activate",
              "id": "curationpartners.curators.dataSegments.activate",
              "httpMethod": "POST",
              "scopes": [
                "https://www.googleapis.com/auth/curation-partners"
              ],
              "flatPath": "v1/curators/{curatorsId}/dataSegments/{dataSegmentsId}:activate",
              "response": {
                "$ref": "DataSegment"
              },
              "description": "Activates a data segment.",
              "parameterOrder": [
                "name"
              ]
            },
            "patch": {
              "flatPath": "v1/curators/{curatorsId}/dataSegments/{dataSegmentsId}",
              "response": {
                "$ref": "DataSegment"
              },
              "httpMethod": "PATCH",
              "scopes": [
                "https://www.googleapis.com/auth/curation-partners"
              ],
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "updateMask": {
                  "description": "Optional. List of fields to be updated. If empty or unspecified, the service will update all fields populated in the update request excluding the output only fields and primitive fields with default value. Note that explicit field mask is required in order to reset a primitive field back to its default value, for example, false for boolean fields, 0 for integer fields. A special field mask consisting of a single path \"*\" can be used to indicate full replacement(the equivalent of PUT method), updatable fields unset or unspecified in the input will be cleared or set to default value. Output only fields will be ignored regardless of the value of updateMask.",
                  "location": "query",
                  "format": "google-fieldmask",
                  "type": "string"
                },
                "name": {
                  "location": "path",
                  "pattern": "^curators/[^/]+/dataSegments/[^/]+$",
                  "required": true,
                  "type": "string",
                  "description": "Immutable. Identifier. The unique identifier for the data segment. Account ID corresponds to the account ID that created the segment. Format: `curators/{curatorAccountId}/dataSegments/{curatorDataSegmentId}`"
                }
              },
              "id": "curationpartners.curators.dataSegments.patch",
              "request": {
                "$ref": "DataSegment"
              },
              "description": "Updates a data segment.",
              "path": "v1/{+name}"
            },
            "deactivate": {
              "scopes": [
                "https://www.googleapis.com/auth/curation-partners"
              ],
              "parameterOrder": [
                "name"
              ],
              "request": {
                "$ref": "DeactivateDataSegmentRequest"
              },
              "id": "curationpartners.curators.dataSegments.deactivate",
              "flatPath": "v1/curators/{curatorsId}/dataSegments/{dataSegmentsId}:deactivate",
              "response": {
                "$ref": "DataSegment"
              },
              "path": "v1/{+name}:deactivate",
              "description": "Deactivates a data segment.",
              "parameters": {
                "name": {
                  "pattern": "^curators/[^/]+/dataSegments/[^/]+$",
                  "required": true,
                  "type": "string",
                  "description": "Required. Name of data segment to deactivate. Format: `curators/{accountId}/dataSegments/{curatorDataSegmentId}`",
                  "location": "path"
                }
              },
              "httpMethod": "POST"
            },
            "create": {
              "scopes": [
                "https://www.googleapis.com/auth/curation-partners"
              ],
              "parameters": {
                "parent": {
                  "required": true,
                  "pattern": "^curators/[^/]+$",
                  "description": "Required. The parent resource where this data segment will be created. Format: `curators/{accountId}`",
                  "type": "string",
                  "location": "path"
                }
              },
              "path": "v1/{+parent}/dataSegments",
              "request": {
                "$ref": "DataSegment"
              },
              "httpMethod": "POST",
              "parameterOrder": [
                "parent"
              ],
              "id": "curationpartners.curators.dataSegments.create",
              "flatPath": "v1/curators/{curatorsId}/dataSegments",
              "response": {
                "$ref": "DataSegment"
              },
              "description": "Creates a data segment owned by the listed curator. The data segment will be created in the `ACTIVE` state, meaning it will be immediately available for buyers to use in preferred deals, private auction deals, and auction packages."
            },
            "get": {
              "httpMethod": "GET",
              "path": "v1/{+name}",
              "parameters": {
                "name": {
                  "location": "path",
                  "description": "Required. Name of data segment to get. Format: `curators/{accountId}/dataSegments/{curatorDataSegmentId}`",
                  "pattern": "^curators/[^/]+/dataSegments/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "parameterOrder": [
                "name"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/curation-partners"
              ],
              "flatPath": "v1/curators/{curatorsId}/dataSegments/{dataSegmentsId}",
              "response": {
                "$ref": "DataSegment"
              },
              "description": "Gets a data segment given its name.",
              "id": "curationpartners.curators.dataSegments.get"
            }
          }
        }
      }
    }
  },
  "ownerName": "Google",
  "basePath": "",
  "parameters": {
    "access_token": {
      "location": "query",
      "type": "string",
      "description": "OAuth access token."
    },
    "alt": {
      "description": "Data format for response.",
      "type": "string",
      "enum": [
        "json",
        "media",
        "proto"
      ],
      "enumDescriptions": [
        "Responses with Content-Type of application/json",
        "Media download with context-dependent Content-Type",
        "Responses with Content-Type of application/x-protobuf"
      ],
      "location": "query",
      "default": "json"
    },
    "uploadType": {
      "type": "string",
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
      "location": "query"
    },
    "$.xgafv": {
      "location": "query",
      "type": "string",
      "enum": [
        "1",
        "2"
      ],
      "description": "V1 error format.",
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ]
    },
    "prettyPrint": {
      "type": "boolean",
      "location": "query",
      "default": "true",
      "description": "Returns response with indentations and line breaks."
    },
    "key": {
      "location": "query",
      "type": "string",
      "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."
    },
    "oauth_token": {
      "type": "string",
      "description": "OAuth 2.0 token for the current user.",
      "location": "query"
    },
    "callback": {
      "location": "query",
      "type": "string",
      "description": "JSONP"
    },
    "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.",
      "type": "string",
      "location": "query"
    },
    "fields": {
      "description": "Selector specifying which fields to include in a partial response.",
      "type": "string",
      "location": "query"
    },
    "upload_protocol": {
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
      "type": "string",
      "location": "query"
    }
  },
  "ownerDomain": "google.com",
  "kind": "discovery#restDescription",
  "canonicalName": "CurationPartners",
  "id": "curationpartners:v1",
  "revision": "20260828",
  "version_module": true,
  "version": "v1",
  "servicePath": "",
  "documentationLink": "https://developers.google.com/authorized-buyers/curation/apis/guides/curationpartners/overview",
  "discoveryVersion": "v1",
  "fullyEncodeReservedExpansion": true
}
