# Display & Video 360 API . customBiddingAlgorithms

## Instance Methods

Returns the rules Resource.

Returns the scripts Resource.

Close httplib2 connections.

Creates a new custom bidding algorithm. Returns the newly created custom bidding algorithm if successful.

Gets a custom bidding algorithm.

Lists custom bidding algorithms that are accessible to the current user and can be used in bidding stratgies. The order is defined by the order_by parameter.

Retrieves the next page of results.

Updates an existing custom bidding algorithm. Returns the updated custom bidding algorithm if successful. Requests updating a custom bidding algorithm assigned to a line item will return an error.

Creates a rules reference object for an AlgorithmRules file. The resulting reference object provides a resource path where the AlgorithmRules file should be uploaded. This reference object should be included when creating a new CustomBiddingAlgorithmRules resource.

Creates a custom bidding script reference object for a script file. The resulting reference object provides a resource path to which the script file should be uploaded. This reference object should be included in when creating a new custom bidding script object.

### Method Details

`close()`

    Close httplib2 connections.

`create(body=None, x__xgafv=None)`

    Creates a new custom bidding algorithm. Returns the newly created custom bidding algorithm if successful.

    Args:
      body: object, The request body.
        The object takes the form of:

    { # A single custom bidding algorithm.
      "advertiserId": "A String", # Immutable. The unique ID of the advertiser that owns the custom bidding algorithm.
      "customBiddingAlgorithmId": "A String", # Output only. The unique ID of the custom bidding algorithm. Assigned by the system.
      "customBiddingAlgorithmType": "A String", # Required. Immutable. The type of custom bidding algorithm.
      "displayName": "A String", # Required. The display name of the custom bidding algorithm. Must be UTF-8 encoded with a maximum size of 240 bytes.
      "entityStatus": "A String", # Controls whether or not the custom bidding algorithm can be used as a bidding strategy. Accepted values are: * `ENTITY_STATUS_ACTIVE` * `ENTITY_STATUS_ARCHIVED`
      "modelDetails": [ # Output only. The details of custom bidding models for each advertiser who has access. This field may only include the details of the queried advertiser if the algorithm [`owner`](/display-video/api/reference/rest/v1/customBiddingAlgorithms#CustomBiddingAlgorithm.FIELDS.oneof_owner) is a partner and is being retrieved using an advertiser [`accessor`](/display-video/api/reference/rest/v1/customBiddingAlgorithms/list#body.QUERY_PARAMETERS.oneof_accessor).
        { # The details of a custom bidding algorithm model for a single shared advertiser.
          "advertiserId": "A String", # The unique ID of the relevant advertiser.
          "readinessState": "A String", # The readiness state of custom bidding model.
          "suspensionState": "A String", # Output only. The suspension state of custom bidding model.
        },
      ],
      "name": "A String", # Output only. The resource name of the custom bidding algorithm.
      "partnerId": "A String", # Immutable. The unique ID of the partner that owns the custom bidding algorithm.
      "sharedAdvertiserIds": [ # The IDs of the advertisers who have access to this algorithm. If advertiser_id is set, this field will only consist of that value. This field will not be set if the algorithm [`owner`](/display-video/api/reference/rest/v1/customBiddingAlgorithms#CustomBiddingAlgorithm.FIELDS.oneof_owner) is a partner and is being retrieved using an advertiser [`accessor`](/display-video/api/reference/rest/v1/customBiddingAlgorithms/list#body.QUERY_PARAMETERS.oneof_accessor).
        "A String",
      ],
      "thirdPartyOptimizationPartner": "A String", # Optional. Immutable. Designates the third party optimization partner that manages this algorithm.
    }

      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # A single custom bidding algorithm.
      "advertiserId": "A String", # Immutable. The unique ID of the advertiser that owns the custom bidding algorithm.
      "customBiddingAlgorithmId": "A String", # Output only. The unique ID of the custom bidding algorithm. Assigned by the system.
      "customBiddingAlgorithmType": "A String", # Required. Immutable. The type of custom bidding algorithm.
      "displayName": "A String", # Required. The display name of the custom bidding algorithm. Must be UTF-8 encoded with a maximum size of 240 bytes.
      "entityStatus": "A String", # Controls whether or not the custom bidding algorithm can be used as a bidding strategy. Accepted values are: * `ENTITY_STATUS_ACTIVE` * `ENTITY_STATUS_ARCHIVED`
      "modelDetails": [ # Output only. The details of custom bidding models for each advertiser who has access. This field may only include the details of the queried advertiser if the algorithm [`owner`](/display-video/api/reference/rest/v1/customBiddingAlgorithms#CustomBiddingAlgorithm.FIELDS.oneof_owner) is a partner and is being retrieved using an advertiser [`accessor`](/display-video/api/reference/rest/v1/customBiddingAlgorithms/list#body.QUERY_PARAMETERS.oneof_accessor).
        { # The details of a custom bidding algorithm model for a single shared advertiser.
          "advertiserId": "A String", # The unique ID of the relevant advertiser.
          "readinessState": "A String", # The readiness state of custom bidding model.
          "suspensionState": "A String", # Output only. The suspension state of custom bidding model.
        },
      ],
      "name": "A String", # Output only. The resource name of the custom bidding algorithm.
      "partnerId": "A String", # Immutable. The unique ID of the partner that owns the custom bidding algorithm.
      "sharedAdvertiserIds": [ # The IDs of the advertisers who have access to this algorithm. If advertiser_id is set, this field will only consist of that value. This field will not be set if the algorithm [`owner`](/display-video/api/reference/rest/v1/customBiddingAlgorithms#CustomBiddingAlgorithm.FIELDS.oneof_owner) is a partner and is being retrieved using an advertiser [`accessor`](/display-video/api/reference/rest/v1/customBiddingAlgorithms/list#body.QUERY_PARAMETERS.oneof_accessor).
        "A String",
      ],
      "thirdPartyOptimizationPartner": "A String", # Optional. Immutable. Designates the third party optimization partner that manages this algorithm.
    }

`get(customBiddingAlgorithmId, advertiserId=None, partnerId=None, x__xgafv=None)`

    Gets a custom bidding algorithm.

    Args:
      customBiddingAlgorithmId: string, Required. The ID of the custom bidding algorithm to fetch. (required)
      advertiserId: string, The ID of the DV360 partner that has access to the custom bidding algorithm.
      partnerId: string, The ID of the DV360 partner that has access to the custom bidding algorithm.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # A single custom bidding algorithm.
      "advertiserId": "A String", # Immutable. The unique ID of the advertiser that owns the custom bidding algorithm.
      "customBiddingAlgorithmId": "A String", # Output only. The unique ID of the custom bidding algorithm. Assigned by the system.
      "customBiddingAlgorithmType": "A String", # Required. Immutable. The type of custom bidding algorithm.
      "displayName": "A String", # Required. The display name of the custom bidding algorithm. Must be UTF-8 encoded with a maximum size of 240 bytes.
      "entityStatus": "A String", # Controls whether or not the custom bidding algorithm can be used as a bidding strategy. Accepted values are: * `ENTITY_STATUS_ACTIVE` * `ENTITY_STATUS_ARCHIVED`
      "modelDetails": [ # Output only. The details of custom bidding models for each advertiser who has access. This field may only include the details of the queried advertiser if the algorithm [`owner`](/display-video/api/reference/rest/v1/customBiddingAlgorithms#CustomBiddingAlgorithm.FIELDS.oneof_owner) is a partner and is being retrieved using an advertiser [`accessor`](/display-video/api/reference/rest/v1/customBiddingAlgorithms/list#body.QUERY_PARAMETERS.oneof_accessor).
        { # The details of a custom bidding algorithm model for a single shared advertiser.
          "advertiserId": "A String", # The unique ID of the relevant advertiser.
          "readinessState": "A String", # The readiness state of custom bidding model.
          "suspensionState": "A String", # Output only. The suspension state of custom bidding model.
        },
      ],
      "name": "A String", # Output only. The resource name of the custom bidding algorithm.
      "partnerId": "A String", # Immutable. The unique ID of the partner that owns the custom bidding algorithm.
      "sharedAdvertiserIds": [ # The IDs of the advertisers who have access to this algorithm. If advertiser_id is set, this field will only consist of that value. This field will not be set if the algorithm [`owner`](/display-video/api/reference/rest/v1/customBiddingAlgorithms#CustomBiddingAlgorithm.FIELDS.oneof_owner) is a partner and is being retrieved using an advertiser [`accessor`](/display-video/api/reference/rest/v1/customBiddingAlgorithms/list#body.QUERY_PARAMETERS.oneof_accessor).
        "A String",
      ],
      "thirdPartyOptimizationPartner": "A String", # Optional. Immutable. Designates the third party optimization partner that manages this algorithm.
    }

`list(advertiserId=None, filter=None, orderBy=None, pageSize=None, pageToken=None, partnerId=None, x__xgafv=None)`

    Lists custom bidding algorithms that are accessible to the current user and can be used in bidding stratgies. The order is defined by the order_by parameter.

    Args:
      advertiserId: string, The ID of the DV360 advertiser that has access to the custom bidding algorithm.
      filter: string, Allows filtering by custom bidding algorithm fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND`. A sequence of restrictions implicitly uses `AND`. * A restriction has the form of `{field} {operator} {value}`. * The `customBiddingAlgorithmType` field must use the `EQUALS (=)` operator. * The `displayName` field must use the `HAS (:)` operator. Supported fields: * `customBiddingAlgorithmType` * `displayName` Examples: * All custom bidding algorithms for which the display name contains "politics": `displayName:"politics"`. * All custom bidding algorithms for which the type is "SCRIPT_BASED": `customBiddingAlgorithmType=SCRIPT_BASED` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.
      orderBy: string, Field by which to sort the list. Acceptable values are: * `displayName` (default) The default sorting order is ascending. To specify descending order for a field, a suffix "desc" should be added to the field name. Example: `displayName desc`.
      pageSize: integer, Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.
      pageToken: string, A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListCustomBiddingAlgorithms` method. If not specified, the first page of results will be returned.
      partnerId: string, The ID of the DV360 partner that has access to the custom bidding algorithm.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        {
      "customBiddingAlgorithms": [ # The list of custom bidding algorithms. This list will be absent if empty.
        { # A single custom bidding algorithm.
          "advertiserId": "A String", # Immutable. The unique ID of the advertiser that owns the custom bidding algorithm.
          "customBiddingAlgorithmId": "A String", # Output only. The unique ID of the custom bidding algorithm. Assigned by the system.
          "customBiddingAlgorithmType": "A String", # Required. Immutable. The type of custom bidding algorithm.
          "displayName": "A String", # Required. The display name of the custom bidding algorithm. Must be UTF-8 encoded with a maximum size of 240 bytes.
          "entityStatus": "A String", # Controls whether or not the custom bidding algorithm can be used as a bidding strategy. Accepted values are: * `ENTITY_STATUS_ACTIVE` * `ENTITY_STATUS_ARCHIVED`
          "modelDetails": [ # Output only. The details of custom bidding models for each advertiser who has access. This field may only include the details of the queried advertiser if the algorithm [`owner`](/display-video/api/reference/rest/v1/customBiddingAlgorithms#CustomBiddingAlgorithm.FIELDS.oneof_owner) is a partner and is being retrieved using an advertiser [`accessor`](/display-video/api/reference/rest/v1/customBiddingAlgorithms/list#body.QUERY_PARAMETERS.oneof_accessor).
            { # The details of a custom bidding algorithm model for a single shared advertiser.
              "advertiserId": "A String", # The unique ID of the relevant advertiser.
              "readinessState": "A String", # The readiness state of custom bidding model.
              "suspensionState": "A String", # Output only. The suspension state of custom bidding model.
            },
          ],
          "name": "A String", # Output only. The resource name of the custom bidding algorithm.
          "partnerId": "A String", # Immutable. The unique ID of the partner that owns the custom bidding algorithm.
          "sharedAdvertiserIds": [ # The IDs of the advertisers who have access to this algorithm. If advertiser_id is set, this field will only consist of that value. This field will not be set if the algorithm [`owner`](/display-video/api/reference/rest/v1/customBiddingAlgorithms#CustomBiddingAlgorithm.FIELDS.oneof_owner) is a partner and is being retrieved using an advertiser [`accessor`](/display-video/api/reference/rest/v1/customBiddingAlgorithms/list#body.QUERY_PARAMETERS.oneof_accessor).
            "A String",
          ],
          "thirdPartyOptimizationPartner": "A String", # Optional. Immutable. Designates the third party optimization partner that manages this algorithm.
        },
      ],
      "nextPageToken": "A String", # A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListCustomBiddingAlgorithmsRequest` method to retrieve the next page of results. If this field is null, it means this is the last page.
    }

`list_next()`

    Retrieves the next page of results.

            Args:
              previous_request: The request for the previous page. (required)
              previous_response: The response from the request for the previous page. (required)

            Returns:
              A request object that you can call 'execute()' on to request the next
              page. Returns None if there are no more items in the collection.

`patch(customBiddingAlgorithmId, body=None, updateMask=None, x__xgafv=None)`

    Updates an existing custom bidding algorithm. Returns the updated custom bidding algorithm if successful. Requests updating a custom bidding algorithm assigned to a line item will return an error.

    Args:
      customBiddingAlgorithmId: string, Output only. The unique ID of the custom bidding algorithm. Assigned by the system. (required)
      body: object, The request body.
        The object takes the form of:

    { # A single custom bidding algorithm.
      "advertiserId": "A String", # Immutable. The unique ID of the advertiser that owns the custom bidding algorithm.
      "customBiddingAlgorithmId": "A String", # Output only. The unique ID of the custom bidding algorithm. Assigned by the system.
      "customBiddingAlgorithmType": "A String", # Required. Immutable. The type of custom bidding algorithm.
      "displayName": "A String", # Required. The display name of the custom bidding algorithm. Must be UTF-8 encoded with a maximum size of 240 bytes.
      "entityStatus": "A String", # Controls whether or not the custom bidding algorithm can be used as a bidding strategy. Accepted values are: * `ENTITY_STATUS_ACTIVE` * `ENTITY_STATUS_ARCHIVED`
      "modelDetails": [ # Output only. The details of custom bidding models for each advertiser who has access. This field may only include the details of the queried advertiser if the algorithm [`owner`](/display-video/api/reference/rest/v1/customBiddingAlgorithms#CustomBiddingAlgorithm.FIELDS.oneof_owner) is a partner and is being retrieved using an advertiser [`accessor`](/display-video/api/reference/rest/v1/customBiddingAlgorithms/list#body.QUERY_PARAMETERS.oneof_accessor).
        { # The details of a custom bidding algorithm model for a single shared advertiser.
          "advertiserId": "A String", # The unique ID of the relevant advertiser.
          "readinessState": "A String", # The readiness state of custom bidding model.
          "suspensionState": "A String", # Output only. The suspension state of custom bidding model.
        },
      ],
      "name": "A String", # Output only. The resource name of the custom bidding algorithm.
      "partnerId": "A String", # Immutable. The unique ID of the partner that owns the custom bidding algorithm.
      "sharedAdvertiserIds": [ # The IDs of the advertisers who have access to this algorithm. If advertiser_id is set, this field will only consist of that value. This field will not be set if the algorithm [`owner`](/display-video/api/reference/rest/v1/customBiddingAlgorithms#CustomBiddingAlgorithm.FIELDS.oneof_owner) is a partner and is being retrieved using an advertiser [`accessor`](/display-video/api/reference/rest/v1/customBiddingAlgorithms/list#body.QUERY_PARAMETERS.oneof_accessor).
        "A String",
      ],
      "thirdPartyOptimizationPartner": "A String", # Optional. Immutable. Designates the third party optimization partner that manages this algorithm.
    }

      updateMask: string, Required. The mask to control which fields to update.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # A single custom bidding algorithm.
      "advertiserId": "A String", # Immutable. The unique ID of the advertiser that owns the custom bidding algorithm.
      "customBiddingAlgorithmId": "A String", # Output only. The unique ID of the custom bidding algorithm. Assigned by the system.
      "customBiddingAlgorithmType": "A String", # Required. Immutable. The type of custom bidding algorithm.
      "displayName": "A String", # Required. The display name of the custom bidding algorithm. Must be UTF-8 encoded with a maximum size of 240 bytes.
      "entityStatus": "A String", # Controls whether or not the custom bidding algorithm can be used as a bidding strategy. Accepted values are: * `ENTITY_STATUS_ACTIVE` * `ENTITY_STATUS_ARCHIVED`
      "modelDetails": [ # Output only. The details of custom bidding models for each advertiser who has access. This field may only include the details of the queried advertiser if the algorithm [`owner`](/display-video/api/reference/rest/v1/customBiddingAlgorithms#CustomBiddingAlgorithm.FIELDS.oneof_owner) is a partner and is being retrieved using an advertiser [`accessor`](/display-video/api/reference/rest/v1/customBiddingAlgorithms/list#body.QUERY_PARAMETERS.oneof_accessor).
        { # The details of a custom bidding algorithm model for a single shared advertiser.
          "advertiserId": "A String", # The unique ID of the relevant advertiser.
          "readinessState": "A String", # The readiness state of custom bidding model.
          "suspensionState": "A String", # Output only. The suspension state of custom bidding model.
        },
      ],
      "name": "A String", # Output only. The resource name of the custom bidding algorithm.
      "partnerId": "A String", # Immutable. The unique ID of the partner that owns the custom bidding algorithm.
      "sharedAdvertiserIds": [ # The IDs of the advertisers who have access to this algorithm. If advertiser_id is set, this field will only consist of that value. This field will not be set if the algorithm [`owner`](/display-video/api/reference/rest/v1/customBiddingAlgorithms#CustomBiddingAlgorithm.FIELDS.oneof_owner) is a partner and is being retrieved using an advertiser [`accessor`](/display-video/api/reference/rest/v1/customBiddingAlgorithms/list#body.QUERY_PARAMETERS.oneof_accessor).
        "A String",
      ],
      "thirdPartyOptimizationPartner": "A String", # Optional. Immutable. Designates the third party optimization partner that manages this algorithm.
    }

`uploadRules(customBiddingAlgorithmId, advertiserId=None, partnerId=None, x__xgafv=None)`

    Creates a rules reference object for an AlgorithmRules file. The resulting reference object provides a resource path where the AlgorithmRules file should be uploaded. This reference object should be included when creating a new CustomBiddingAlgorithmRules resource.

    Args:
      customBiddingAlgorithmId: string, Required. The ID of the custom bidding algorithm that owns the rules resource. (required)
      advertiserId: string, The ID of the advertiser that owns the parent custom bidding algorithm.
      partnerId: string, The ID of the partner that owns the parent custom bidding algorithm.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # The reference to the uploaded AlgorithmRules file. Retrieve the location to upload new AlgorithmRules file to using customBiddingAlgorithms.uploadRules.
      "resourceName": "A String", # A resource name to be used in media.download to download the rules files. Or media.upload to upload the rules files. Resource names have the format `customBiddingAlgorithms/{custom_bidding_algorithm_id}/rulesRef/{ref_id}`.
    }

`uploadScript(customBiddingAlgorithmId, advertiserId=None, partnerId=None, x__xgafv=None)`

    Creates a custom bidding script reference object for a script file. The resulting reference object provides a resource path to which the script file should be uploaded. This reference object should be included in when creating a new custom bidding script object.

    Args:
      customBiddingAlgorithmId: string, Required. The ID of the custom bidding algorithm owns the script. (required)
      advertiserId: string, The ID of the advertiser that owns the parent custom bidding algorithm.
      partnerId: string, The ID of the partner that owns the parent custom bidding algorithm. Only this partner will have write access to this custom bidding script.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # The reference to the uploaded custom bidding script file.
      "resourceName": "A String", # A resource name to be used in media.download to Download the script files. Or media.upload to Upload the script files. Resource names have the format `customBiddingAlgorithms/{custom_bidding_algorithm_id}/scriptRef/{ref_id}`.
    }