{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/google-ads/json-schema/google-ads-google-ads-googleads-v25-services-create-product-link-request-schema.json",
  "title": "GoogleAdsGoogleadsV25Services__CreateProductLinkRequest",
  "description": "Request message for ProductLinkService.CreateProductLink.",
  "x-generated": "2026-11-04",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/google-ads-customers-productlinks-api-openapi.yml#/components/schemas/GoogleAdsGoogleadsV25Services__CreateProductLinkRequest",
  "type": "object",
  "properties": {
    "productLink": {
      "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__ProductLink",
      "description": "Required. The product link to be created."
    }
  },
  "$defs": {
    "GoogleAdsGoogleadsV25Resources__AdvertisingPartnerIdentifier": {
      "type": "object",
      "properties": {
        "customer": {
          "type": "string",
          "description": "Output only. The resource name of the advertising partner Google Ads account. This field is required and should not be empty when creating a new Advertising Partner link. It is unable to be modified after the creation of the link."
        }
      },
      "description": "The identifier for the Advertising Partner Google Ads account."
    },
    "GoogleAdsGoogleadsV25Resources__AdvertisingPartnerProperties": {
      "description": "Properties specific to an Advertising Partner link.",
      "type": "object",
      "properties": {
        "allowedDomain": {
          "type": "string",
          "description": "Output only. The allowed domain for the Advertising Partner link. The advertising partner will only be able to advertise on this domain. The field is immutable."
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__DataPartnerIdentifier": {
      "type": "object",
      "properties": {
        "dataPartnerId": {
          "format": "int64",
          "description": "Immutable. The customer ID of the Data partner account. This field is required and should not be empty when creating a new data partner link. It is unable to be modified after the creation of the link.",
          "type": "string"
        }
      },
      "description": "The identifier for Data Partner account."
    },
    "GoogleAdsGoogleadsV25Resources__GoogleAdsIdentifier": {
      "description": "The identifier for Google Ads account.",
      "type": "object",
      "properties": {
        "customer": {
          "description": "Immutable. The resource name of the Google Ads account. This field is required and should not be empty when creating a new Google Ads link. It is unable to be modified after the creation of the link.",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__MerchantCenterIdentifier": {
      "description": "The identifier for Google Merchant Center account",
      "type": "object",
      "properties": {
        "merchantCenterId": {
          "type": "string",
          "description": "Immutable. The customer ID of the Google Merchant Center account. This field is required and should not be empty when creating a new Merchant Center link. It is unable to be modified after the creation of the link.",
          "format": "int64"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__ProductLink": {
      "type": "object",
      "properties": {
        "type": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "A link to Data partner.",
            "A link to Google Ads.",
            "A link to Hotel Center.",
            "A link to Google Merchant Center.",
            "A link to the Google Ads account of the advertising partner."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "DATA_PARTNER",
            "GOOGLE_ADS",
            "HOTEL_CENTER",
            "MERCHANT_CENTER",
            "ADVERTISING_PARTNER"
          ],
          "description": "Output only. The type of the linked product.",
          "type": "string"
        },
        "dataPartner": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__DataPartnerIdentifier",
          "description": "Immutable. Data partner link."
        },
        "productLinkId": {
          "description": "Output only. The ID of the link. This field is read only.",
          "type": "string",
          "format": "int64"
        },
        "googleAds": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__GoogleAdsIdentifier",
          "description": "Immutable. Google Ads link."
        },
        "advertisingPartner": {
          "description": "Output only. Advertising Partner link.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__AdvertisingPartnerIdentifier"
        },
        "resourceName": {
          "description": "Immutable. Resource name of the product link. ProductLink resource names have the form: `customers/{customer_id}/productLinks/{product_link_id} `",
          "type": "string"
        },
        "merchantCenter": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__MerchantCenterIdentifier",
          "description": "Immutable. Google Merchant Center link."
        },
        "advertisingPartnerProperties": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__AdvertisingPartnerProperties",
          "description": "Output only. Advertising Partner link properties. These properties are only applicable when the link is for an Advertising Partner."
        }
      },
      "description": "Represents the data sharing connection between a Google Ads customer and another product."
    }
  }
}