{
  "rootUrl": "https://webcontentpublisher.googleapis.com/",
  "kind": "discovery#restDescription",
  "baseUrl": "https://webcontentpublisher.googleapis.com/",
  "parameters": {
    "upload_protocol": {
      "location": "query",
      "type": "string",
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\")."
    },
    "uploadType": {
      "location": "query",
      "type": "string",
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\")."
    },
    "quotaUser": {
      "type": "string",
      "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.",
      "location": "query"
    },
    "callback": {
      "location": "query",
      "description": "JSONP",
      "type": "string"
    },
    "oauth_token": {
      "location": "query",
      "type": "string",
      "description": "OAuth 2.0 token for the current user."
    },
    "key": {
      "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.",
      "location": "query"
    },
    "$.xgafv": {
      "type": "string",
      "description": "V1 error format.",
      "enum": [
        "1",
        "2"
      ],
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ],
      "location": "query"
    },
    "access_token": {
      "description": "OAuth access token.",
      "type": "string",
      "location": "query"
    },
    "fields": {
      "type": "string",
      "description": "Selector specifying which fields to include in a partial response.",
      "location": "query"
    },
    "alt": {
      "location": "query",
      "default": "json",
      "enumDescriptions": [
        "Responses with Content-Type of application/json",
        "Media download with context-dependent Content-Type",
        "Responses with Content-Type of application/x-protobuf"
      ],
      "enum": [
        "json",
        "media",
        "proto"
      ],
      "description": "Data format for response.",
      "type": "string"
    },
    "prettyPrint": {
      "location": "query",
      "default": "true",
      "type": "boolean",
      "description": "Returns response with indentations and line breaks."
    }
  },
  "id": "webcontentpublisher:v1",
  "version": "v1",
  "ownerDomain": "google.com",
  "version_module": true,
  "icons": {
    "x16": "http://www.google.com/images/icons/product/search-16.gif",
    "x32": "http://www.google.com/images/icons/product/search-32.gif"
  },
  "discoveryVersion": "v1",
  "documentationLink": "https://developers.google.com/news/subscribe",
  "auth": {
    "oauth2": {
      "scopes": {
        "https://www.googleapis.com/auth/subscribewithgoogle.publications.entitlements.manage": {
          "description": "Private Service: https://www.googleapis.com/auth/subscribewithgoogle.publications.entitlements.manage"
        },
        "https://www.googleapis.com/auth/subscribewithgoogle.publications.entitlements.readonly": {
          "description": "See and review your subscription information"
        }
      }
    }
  },
  "name": "webcontentpublisher",
  "ownerName": "Google",
  "protocol": "rest",
  "fullyEncodeReservedExpansion": true,
  "mtlsRootUrl": "https://webcontentpublisher.mtls.googleapis.com/",
  "servicePath": "",
  "title": "Web Content Publisher API",
  "schemas": {
    "Publication": {
      "id": "Publication",
      "type": "object",
      "description": "Represents a publisher's publication in Reader Revenue Manager.",
      "properties": {
        "languageCode": {
          "type": "string",
          "description": "Required. The primary language of the publication (BCP-47 code, e.g., \"en-US\")."
        },
        "slProduct": {
          "description": "Optional. Subscription Linking product configurations.",
          "$ref": "SlProduct"
        },
        "publicationId": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. The unique identifier of the publication."
        },
        "publicationTosUrl": {
          "type": "string",
          "description": "Optional. The URL to the publisher's own Terms of Service."
        },
        "primaryDomain": {
          "$ref": "DomainProperty",
          "description": "Required. The primary domain property associated with the publication."
        },
        "paymentOption": {
          "enumDescriptions": [
            "Unspecified payment option.",
            "No payment option configured.",
            "Publication supports paid subscriptions.",
            "Publication supports voluntary contributions."
          ],
          "description": "Output only. The configured payment option.",
          "enum": [
            "PAYMENT_OPTION_UNSPECIFIED",
            "NONE",
            "SUBSCRIPTIONS",
            "CONTRIBUTIONS"
          ],
          "readOnly": true,
          "type": "string"
        },
        "additionalDomains": {
          "type": "array",
          "description": "Optional. Additional domain properties verified for the publication.",
          "items": {
            "$ref": "DomainProperty"
          }
        },
        "rrmProduct": {
          "$ref": "RrmProduct",
          "description": "Optional. Reader Revenue Manager product settings and status."
        },
        "onboardingState": {
          "type": "string",
          "readOnly": true,
          "enum": [
            "ONBOARDING_STATE_UNSPECIFIED",
            "ACTION_REQUIRED",
            "PENDING_VERIFICATION",
            "COMPLETE"
          ],
          "description": "Output only. The current onboarding state.",
          "enumDescriptions": [
            "Unspecified onboarding state.",
            "Action is required from the publisher to proceed with onboarding.",
            "Publication is pending an external verification step. No immediate action is required.",
            "Onboarding is successfully completed."
          ]
        },
        "products": {
          "readOnly": true,
          "items": {
            "type": "string"
          },
          "type": "array",
          "description": "Output only. The list of active products/features enabled for this publication."
        },
        "organizationId": {
          "readOnly": true,
          "description": "Output only. The unique identifier of the organization that owns this publication.",
          "type": "string"
        },
        "displayName": {
          "description": "Required. The user-visible display name of the publication.",
          "type": "string"
        },
        "name": {
          "type": "string",
          "description": "Identifier. The resource name of the publication. Format: organizations/{organization}/publications/{publication}"
        },
        "regionCode": {
          "description": "Required. The ISO 3166-1 alpha-2 region code where the publication is registered (e.g., \"US\").",
          "type": "string"
        },
        "publicationPrivacyPolicyUrl": {
          "type": "string",
          "description": "Optional. The URL to the publisher's Privacy Policy."
        },
        "contentPolicyStatus": {
          "description": "Output only. The content policy compliance status of the publication.",
          "readOnly": true,
          "$ref": "ContentPolicyStatus"
        }
      }
    },
    "CheckFreeAccessResponse": {
      "id": "CheckFreeAccessResponse",
      "type": "object",
      "description": "Response message for CheckFreeAccess",
      "properties": {
        "isAllowed": {
          "readOnly": true,
          "type": "boolean",
          "description": "Output only. True if free access should be allowed, false otherwise."
        }
      }
    },
    "NewsletterConfig": {
      "id": "NewsletterConfig",
      "description": "Configuration for newsletter signup calls-to-action (CTAs).",
      "properties": {
        "nameRequired": {
          "type": "boolean",
          "description": "Optional. Whether the user is required to provide their name to sign up."
        },
        "title": {
          "type": "string",
          "description": "Required. The title of the newsletter signup prompt."
        },
        "customConsentText": {
          "type": "string",
          "description": "Optional. Custom consent or disclosure text shown to the user."
        },
        "customMessage": {
          "type": "string",
          "description": "Optional. A custom message displayed to the user in the signup prompt."
        }
      },
      "type": "object"
    },
    "RrmProduct": {
      "id": "RrmProduct",
      "description": "Configuration and status of the Reader Revenue Manager (RRM) product for a publication.",
      "properties": {
        "enabled": {
          "type": "boolean",
          "description": "Optional. Whether the RRM product is enabled for the publication."
        },
        "productTosUrl": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. The URL to the product-specific Terms of Service."
        },
        "tosAcceptance": {
          "$ref": "TosAcceptance",
          "description": "Optional. The details of the TOS acceptance."
        }
      },
      "type": "object"
    },
    "TosAcceptance": {
      "description": "Details about the acceptance of the Terms of Service (TOS).",
      "properties": {
        "userAccepted": {
          "description": "Required. Whether the user has accepted the Terms of Service.",
          "type": "boolean"
        },
        "signer": {
          "description": "Optional. The name of the person who accepted the TOS.",
          "type": "string"
        },
        "signerTitle": {
          "description": "Optional. The job title or role of the signer.",
          "type": "string"
        }
      },
      "type": "object",
      "id": "TosAcceptance"
    },
    "Cta": {
      "type": "object",
      "description": "Represents a Call-To-Action (CTA) configuration for a publication.",
      "properties": {
        "displayName": {
          "type": "string",
          "description": "Required. The user-visible display name of the CTA."
        },
        "newsletterConfig": {
          "$ref": "NewsletterConfig",
          "description": "Optional. Configuration specific to newsletter signup CTAs. Only populated if type is `NEWSLETTER_SIGNUP`."
        },
        "name": {
          "type": "string",
          "description": "Identifier. The resource name of the Cta. Format: organizations/{organization}/publications/{publication}/ctas/{cta}"
        },
        "type": {
          "type": "string",
          "enum": [
            "TYPE_UNSPECIFIED",
            "NEWSLETTER_SIGNUP"
          ],
          "description": "Required. The type of this CTA.",
          "enumDescriptions": [
            "Unspecified CTA type.",
            "CTA for newsletter subscription signup."
          ]
        },
        "state": {
          "readOnly": true,
          "type": "string",
          "enumDescriptions": [
            "Unspecified CTA state.",
            "The CTA is a draft and not yet visible to users.",
            "The CTA is active and visible to users."
          ],
          "enum": [
            "STATE_UNSPECIFIED",
            "DRAFT",
            "ACTIVE"
          ],
          "description": "Output only. The current state of this CTA."
        }
      },
      "id": "Cta"
    },
    "ContentPolicyStatus": {
      "type": "object",
      "description": "The content policy status of the publication, indicating any violations.",
      "properties": {
        "state": {
          "enumDescriptions": [
            "State is unspecified.",
            "Content policy is in a good state; no violations.",
            "The publication has a content policy violation but is within a grace period.",
            "The publication has an active content policy violation.",
            "The organization has a content policy violation but is within a grace period.",
            "The organization has an active content policy violation.",
            "The organization has an active content policy violation requiring immediate action."
          ],
          "description": "Output only. The current policy state.",
          "enum": [
            "STATE_UNSPECIFIED",
            "OK",
            "VIOLATION_GRACE_PERIOD",
            "VIOLATION_ACTIVE",
            "ORGANIZATION_VIOLATION_GRACE_PERIOD",
            "ORGANIZATION_VIOLATION_ACTIVE",
            "ORGANIZATION_VIOLATION_ACTIVE_IMMEDIATE"
          ],
          "readOnly": true,
          "type": "string"
        },
        "policyInfoUrl": {
          "type": "string",
          "description": "Output only. URL pointing to more details about the policy violation or status.",
          "readOnly": true
        }
      },
      "id": "ContentPolicyStatus"
    },
    "DomainProperty": {
      "id": "DomainProperty",
      "description": "Represents a domain property associated with a publication, typically used to verify ownership and scope access.",
      "properties": {
        "url": {
          "type": "string",
          "description": "Required. The URL of the domain property (e.g., \"https://example.com\")."
        },
        "ownershipVerified": {
          "type": "boolean",
          "description": "Optional. Whether the domain ownership has been verified (e.g., via Google Search Console)."
        }
      },
      "type": "object"
    },
    "SlProduct": {
      "description": "Subscription Linking (SL) product settings and status.",
      "properties": {
        "enabled": {
          "description": "Optional. Whether the Subscription Linking product is enabled.",
          "type": "boolean"
        },
        "gcpProjectNumber": {
          "type": "string",
          "description": "Optional. The Google Cloud Project number associated with the publication.",
          "format": "int64"
        }
      },
      "type": "object",
      "id": "SlProduct"
    },
    "ListPublicationsResponse": {
      "id": "ListPublicationsResponse",
      "type": "object",
      "description": "Response message for `ListPublications`.",
      "properties": {
        "nextPageToken": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. A token to retrieve the next page of results, or empty if there are no more results."
        },
        "publications": {
          "readOnly": true,
          "items": {
            "$ref": "Publication"
          },
          "type": "array",
          "description": "Output only. The list of publications."
        }
      }
    },
    "ListCtasResponse": {
      "type": "object",
      "description": "Response message for `ListCtas`.",
      "properties": {
        "ctas": {
          "description": "Output only. The list of CTAs.",
          "type": "array",
          "readOnly": true,
          "items": {
            "$ref": "Cta"
          }
        },
        "nextPageToken": {
          "type": "string",
          "description": "Output only. A token to retrieve the next page of results, or empty if there are no more results.",
          "readOnly": true
        }
      },
      "id": "ListCtasResponse"
    }
  },
  "revision": "20260708",
  "batchPath": "batch",
  "description": "webcontentpublisher.googleapis.com API, a service for web content publishers.",
  "basePath": "",
  "resources": {
    "publications": {
      "methods": {
        "checkFreeAccess": {
          "parameterOrder": [
            "name"
          ],
          "response": {
            "$ref": "CheckFreeAccessResponse"
          },
          "flatPath": "v1/publications/{publicationsId}:checkFreeAccess",
          "description": "Checks if a user is eligible for free article access.",
          "parameters": {
            "name": {
              "description": "Required. The resource name of the publication. Format: publications/{publication_id}",
              "pattern": "^publications/[^/]+$",
              "required": true,
              "location": "path",
              "type": "string"
            },
            "uri": {
              "location": "query",
              "description": "Required. The URI of the content.",
              "type": "string"
            },
            "httpReferrer": {
              "location": "query",
              "type": "string",
              "description": "Required. The HTTP referrer."
            }
          },
          "scopes": [
            "https://www.googleapis.com/auth/subscribewithgoogle.publications.entitlements.manage",
            "https://www.googleapis.com/auth/subscribewithgoogle.publications.entitlements.readonly"
          ],
          "path": "v1/{+name}:checkFreeAccess",
          "httpMethod": "GET",
          "id": "webcontentpublisher.publications.checkFreeAccess"
        }
      }
    },
    "organizations": {
      "resources": {
        "publications": {
          "methods": {
            "list": {
              "flatPath": "v1/organizations/{organizationsId}/publications",
              "description": "Lists publications.",
              "parameterOrder": [
                "parent"
              ],
              "response": {
                "$ref": "ListPublicationsResponse"
              },
              "id": "webcontentpublisher.organizations.publications.list",
              "parameters": {
                "pageSize": {
                  "description": "Optional. The maximum number of publications to return. The service may return fewer than this value. If unspecified, at most 50 publications will be returned.",
                  "type": "integer",
                  "location": "query",
                  "format": "int32"
                },
                "parent": {
                  "type": "string",
                  "description": "Required. The parent organization whose publications to list. Format: `organizations/{organization}`.",
                  "pattern": "^organizations/[^/]+$",
                  "required": true,
                  "location": "path"
                },
                "pageToken": {
                  "location": "query",
                  "description": "Optional. A page token, received from a previous `ListPublications` call, to retrieve the next page.",
                  "type": "string"
                },
                "filter": {
                  "description": "Optional. A filter expression to filter the publications returned.",
                  "type": "string",
                  "location": "query"
                }
              },
              "scopes": [
                "https://www.googleapis.com/auth/subscribewithgoogle.publications.entitlements.manage",
                "https://www.googleapis.com/auth/subscribewithgoogle.publications.entitlements.readonly"
              ],
              "path": "v1/{+parent}/publications",
              "httpMethod": "GET"
            },
            "patch": {
              "parameterOrder": [
                "name"
              ],
              "response": {
                "$ref": "Publication"
              },
              "description": "Updates a publication.",
              "flatPath": "v1/organizations/{organizationsId}/publications/{publicationsId}",
              "path": "v1/{+name}",
              "httpMethod": "PATCH",
              "request": {
                "$ref": "Publication"
              },
              "parameters": {
                "updateMask": {
                  "description": "Optional. The list of fields to update.",
                  "type": "string",
                  "location": "query",
                  "format": "google-fieldmask"
                },
                "name": {
                  "description": "Identifier. The resource name of the publication. Format: organizations/{organization}/publications/{publication}",
                  "pattern": "^organizations/[^/]+/publications/[^/]+$",
                  "location": "path",
                  "required": true,
                  "type": "string"
                }
              },
              "scopes": [
                "https://www.googleapis.com/auth/subscribewithgoogle.publications.entitlements.manage"
              ],
              "id": "webcontentpublisher.organizations.publications.patch"
            },
            "create": {
              "id": "webcontentpublisher.organizations.publications.create",
              "path": "v1/{+parent}/publications",
              "httpMethod": "POST",
              "request": {
                "$ref": "Publication"
              },
              "parameters": {
                "parent": {
                  "description": "Required. The parent resource where this publication will be created. Format: `organizations/{organization}`.",
                  "pattern": "^organizations/[^/]+$",
                  "location": "path",
                  "required": true,
                  "type": "string"
                },
                "publicationId": {
                  "description": "Optional. The unique identifier of the publication to create. If not specified, the server will generate a random publication ID.",
                  "type": "string",
                  "location": "query"
                }
              },
              "scopes": [
                "https://www.googleapis.com/auth/subscribewithgoogle.publications.entitlements.manage"
              ],
              "description": "Creates a publication.",
              "flatPath": "v1/organizations/{organizationsId}/publications",
              "parameterOrder": [
                "parent"
              ],
              "response": {
                "$ref": "Publication"
              }
            },
            "get": {
              "id": "webcontentpublisher.organizations.publications.get",
              "path": "v1/{+name}",
              "httpMethod": "GET",
              "parameters": {
                "name": {
                  "description": "Required. The resource name of the publication to retrieve. Format: `organizations/{organization}/publications/{publication}`.",
                  "pattern": "^organizations/[^/]+/publications/[^/]+$",
                  "required": true,
                  "location": "path",
                  "type": "string"
                }
              },
              "scopes": [
                "https://www.googleapis.com/auth/subscribewithgoogle.publications.entitlements.manage",
                "https://www.googleapis.com/auth/subscribewithgoogle.publications.entitlements.readonly"
              ],
              "description": "Gets a publication.",
              "flatPath": "v1/organizations/{organizationsId}/publications/{publicationsId}",
              "parameterOrder": [
                "name"
              ],
              "response": {
                "$ref": "Publication"
              }
            }
          },
          "resources": {
            "ctas": {
              "methods": {
                "list": {
                  "path": "v1/{+parent}/ctas",
                  "httpMethod": "GET",
                  "parameters": {
                    "pageSize": {
                      "location": "query",
                      "format": "int32",
                      "description": "Optional. The maximum number of CTAs to return. The service may return fewer than this value. If unspecified, at most 50 CTAs will be returned.",
                      "type": "integer"
                    },
                    "parent": {
                      "required": true,
                      "location": "path",
                      "description": "Required. The parent publication resource whose CTAs to list. Format: `organizations/{organization}/publications/{publication}`.",
                      "pattern": "^organizations/[^/]+/publications/[^/]+$",
                      "type": "string"
                    },
                    "pageToken": {
                      "description": "Optional. A page token, received from a previous `ListCtas` call, to retrieve the next page.",
                      "type": "string",
                      "location": "query"
                    }
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/subscribewithgoogle.publications.entitlements.manage",
                    "https://www.googleapis.com/auth/subscribewithgoogle.publications.entitlements.readonly"
                  ],
                  "id": "webcontentpublisher.organizations.publications.ctas.list",
                  "parameterOrder": [
                    "parent"
                  ],
                  "response": {
                    "$ref": "ListCtasResponse"
                  },
                  "description": "Lists CTAs.",
                  "flatPath": "v1/organizations/{organizationsId}/publications/{publicationsId}/ctas"
                },
                "create": {
                  "id": "webcontentpublisher.organizations.publications.ctas.create",
                  "parameters": {
                    "parent": {
                      "type": "string",
                      "description": "Required. The parent publication resource where this CTA will be created. Format: `organizations/{organization}/publications/{publication}`.",
                      "pattern": "^organizations/[^/]+/publications/[^/]+$",
                      "required": true,
                      "location": "path"
                    },
                    "ctaId": {
                      "type": "string",
                      "description": "Optional. The unique identifier of the CTA to create. If not specified, the server will generate a random CTA ID.",
                      "location": "query"
                    }
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/subscribewithgoogle.publications.entitlements.manage"
                  ],
                  "path": "v1/{+parent}/ctas",
                  "httpMethod": "POST",
                  "request": {
                    "$ref": "Cta"
                  },
                  "flatPath": "v1/organizations/{organizationsId}/publications/{publicationsId}/ctas",
                  "description": "Creates a CTA.",
                  "parameterOrder": [
                    "parent"
                  ],
                  "response": {
                    "$ref": "Cta"
                  }
                },
                "get": {
                  "path": "v1/{+name}",
                  "httpMethod": "GET",
                  "parameters": {
                    "name": {
                      "type": "string",
                      "location": "path",
                      "required": true,
                      "description": "Required. The resource name of the CTA to retrieve. Format: `organizations/{organization}/publications/{publication}/ctas/{cta}`.",
                      "pattern": "^organizations/[^/]+/publications/[^/]+/ctas/[^/]+$"
                    }
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/subscribewithgoogle.publications.entitlements.manage",
                    "https://www.googleapis.com/auth/subscribewithgoogle.publications.entitlements.readonly"
                  ],
                  "id": "webcontentpublisher.organizations.publications.ctas.get",
                  "parameterOrder": [
                    "name"
                  ],
                  "response": {
                    "$ref": "Cta"
                  },
                  "description": "Gets a CTA.",
                  "flatPath": "v1/organizations/{organizationsId}/publications/{publicationsId}/ctas/{ctasId}"
                }
              }
            }
          }
        }
      }
    }
  },
  "canonicalName": "Web Content Publisher"
}
