{
  "title": "Fact Check Tools API",
  "rootUrl": "https://factchecktools.googleapis.com/",
  "version": "v1alpha1",
  "protocol": "rest",
  "auth": {
    "oauth2": {
      "scopes": {
        "https://www.googleapis.com/auth/factchecktools": {
          "description": "Read, create, update, and delete your ClaimReview data."
        }
      }
    }
  },
  "resources": {
    "claims": {
      "methods": {
        "search": {
          "id": "factchecktools.claims.search",
          "flatPath": "v1alpha1/claims:search",
          "parameterOrder": [],
          "response": {
            "$ref": "GoogleFactcheckingFactchecktoolsV1alpha1FactCheckedClaimSearchResponse"
          },
          "httpMethod": "GET",
          "path": "v1alpha1/claims:search",
          "parameters": {
            "pageSize": {
              "description": "The pagination size. We will return up to that many results. Defaults to 10 if not set.",
              "location": "query",
              "type": "integer",
              "format": "int32"
            },
            "maxAgeDays": {
              "description": "The maximum age of the returned search results, in days. Age is determined by either claim date or review date, whichever is newer.",
              "location": "query",
              "type": "integer",
              "format": "int32"
            },
            "pageToken": {
              "location": "query",
              "type": "string",
              "description": "The pagination token. You may provide the `next_page_token` returned from a previous List request, if any, in order to get the next page. All other fields must have the same values as in the previous request."
            },
            "offset": {
              "description": "An integer that specifies the current offset (that is, starting result location) in search results. This field is only considered if `page_token` is unset. For example, 0 means to return results starting from the first matching result, and 10 means to return from the 11th result.",
              "location": "query",
              "type": "integer",
              "format": "int32"
            },
            "query": {
              "description": "Textual query string. Required unless `review_publisher_site_filter` is specified.",
              "location": "query",
              "type": "string"
            },
            "reviewPublisherSiteFilter": {
              "description": "The review publisher site to filter results by, e.g. nytimes.com.",
              "location": "query",
              "type": "string"
            },
            "languageCode": {
              "description": "The BCP-47 language code, such as \"en-US\" or \"sr-Latn\". Can be used to restrict results by language, though we do not currently consider the region.",
              "location": "query",
              "type": "string"
            }
          },
          "description": "Search through fact-checked claims."
        },
        "imageSearch": {
          "response": {
            "$ref": "GoogleFactcheckingFactchecktoolsV1alpha1FactCheckedClaimImageSearchResponse"
          },
          "httpMethod": "GET",
          "path": "v1alpha1/claims:imageSearch",
          "parameters": {
            "pageToken": {
              "location": "query",
              "type": "string",
              "description": "Optional. The pagination token. You may provide the `next_page_token` returned from a previous List request, if any, in order to get the next page. All other fields must have the same values as in the previous request."
            },
            "offset": {
              "description": "Optional. An integer that specifies the current offset (that is, starting result location) in search results. This field is only considered if `page_token` is unset. For example, 0 means to return results starting from the first matching result, and 10 means to return from the 11th result.",
              "location": "query",
              "type": "integer",
              "format": "int32"
            },
            "imageUri": {
              "location": "query",
              "type": "string",
              "description": "Required. The URI of the source image. This must be a publicly-accessible image HTTP/HTTPS URL. When fetching images from HTTP/HTTPS URLs, Google cannot guarantee that the request will be completed. Your request may fail if the specified host denies the request (e.g. due to request throttling or DOS prevention), or if Google throttles requests to the site for abuse prevention. You should not depend on externally-hosted images for production applications."
            },
            "pageSize": {
              "description": "Optional. The pagination size. We will return up to that many results. Defaults to 10 if not set.",
              "location": "query",
              "type": "integer",
              "format": "int32"
            },
            "languageCode": {
              "description": "Optional. The BCP-47 language code, such as \"en-US\" or \"sr-Latn\". Can be used to restrict results by language, though we do not currently consider the region.",
              "location": "query",
              "type": "string"
            }
          },
          "description": "Search through fact-checked claims using an image as the query.",
          "id": "factchecktools.claims.imageSearch",
          "flatPath": "v1alpha1/claims:imageSearch",
          "parameterOrder": []
        }
      }
    },
    "pages": {
      "methods": {
        "delete": {
          "flatPath": "v1alpha1/pages/{pagesId}",
          "id": "factchecktools.pages.delete",
          "httpMethod": "DELETE",
          "scopes": [
            "https://www.googleapis.com/auth/factchecktools"
          ],
          "description": "Delete all `ClaimReview` markup on a page.",
          "parameterOrder": [
            "name"
          ],
          "path": "v1alpha1/{+name}",
          "parameters": {
            "name": {
              "description": "The name of the resource to delete, in the form of `pages/{page_id}`.",
              "location": "path",
              "type": "string",
              "pattern": "^pages/[^/]+$",
              "required": true
            }
          },
          "response": {
            "$ref": "GoogleProtobufEmpty"
          }
        },
        "update": {
          "parameterOrder": [
            "name"
          ],
          "response": {
            "$ref": "GoogleFactcheckingFactchecktoolsV1alpha1ClaimReviewMarkupPage"
          },
          "request": {
            "$ref": "GoogleFactcheckingFactchecktoolsV1alpha1ClaimReviewMarkupPage"
          },
          "path": "v1alpha1/{+name}",
          "parameters": {
            "name": {
              "pattern": "^pages/[^/]+$",
              "required": true,
              "location": "path",
              "type": "string",
              "description": "The name of this `ClaimReview` markup page resource, in the form of `pages/{page_id}`. Except for update requests, this field is output-only and should not be set by the user."
            }
          },
          "id": "factchecktools.pages.update",
          "flatPath": "v1alpha1/pages/{pagesId}",
          "httpMethod": "PUT",
          "scopes": [
            "https://www.googleapis.com/auth/factchecktools"
          ],
          "description": "Update for all `ClaimReview` markup on a page Note that this is a full update. To retain the existing `ClaimReview` markup on a page, first perform a Get operation, then modify the returned markup, and finally call Update with the entire `ClaimReview` markup as the body."
        },
        "get": {
          "path": "v1alpha1/{+name}",
          "parameters": {
            "name": {
              "description": "The name of the resource to get, in the form of `pages/{page_id}`.",
              "location": "path",
              "type": "string",
              "pattern": "^pages/[^/]+$",
              "required": true
            }
          },
          "response": {
            "$ref": "GoogleFactcheckingFactchecktoolsV1alpha1ClaimReviewMarkupPage"
          },
          "parameterOrder": [
            "name"
          ],
          "httpMethod": "GET",
          "scopes": [
            "https://www.googleapis.com/auth/factchecktools"
          ],
          "description": "Get all `ClaimReview` markup on a page.",
          "flatPath": "v1alpha1/pages/{pagesId}",
          "id": "factchecktools.pages.get"
        },
        "create": {
          "id": "factchecktools.pages.create",
          "flatPath": "v1alpha1/pages",
          "scopes": [
            "https://www.googleapis.com/auth/factchecktools"
          ],
          "description": "Create `ClaimReview` markup on a page.",
          "httpMethod": "POST",
          "parameterOrder": [],
          "response": {
            "$ref": "GoogleFactcheckingFactchecktoolsV1alpha1ClaimReviewMarkupPage"
          },
          "path": "v1alpha1/pages",
          "parameters": {},
          "request": {
            "$ref": "GoogleFactcheckingFactchecktoolsV1alpha1ClaimReviewMarkupPage"
          }
        },
        "list": {
          "flatPath": "v1alpha1/pages",
          "id": "factchecktools.pages.list",
          "httpMethod": "GET",
          "scopes": [
            "https://www.googleapis.com/auth/factchecktools"
          ],
          "description": "List the `ClaimReview` markup pages for a specific URL or for an organization.",
          "parameterOrder": [],
          "path": "v1alpha1/pages",
          "parameters": {
            "url": {
              "location": "query",
              "type": "string",
              "description": "The URL from which to get `ClaimReview` markup. There will be at most one result. If markup is associated with a more canonical version of the URL provided, we will return that URL instead. Cannot be specified along with an organization."
            },
            "organization": {
              "location": "query",
              "type": "string",
              "description": "The organization for which we want to fetch markups for. For instance, \"site.com\". Cannot be specified along with an URL."
            },
            "pageSize": {
              "location": "query",
              "type": "integer",
              "format": "int32",
              "description": "The pagination size. We will return up to that many results. Defaults to 10 if not set. Has no effect if a URL is requested."
            },
            "pageToken": {
              "description": "The pagination token. You may provide the `next_page_token` returned from a previous List request, if any, in order to get the next page. All other fields must have the same values as in the previous request.",
              "location": "query",
              "type": "string"
            },
            "offset": {
              "description": "An integer that specifies the current offset (that is, starting result location) in search results. This field is only considered if `page_token` is unset, and if the request is not for a specific URL. For example, 0 means to return results starting from the first matching result, and 10 means to return from the 11th result.",
              "location": "query",
              "type": "integer",
              "format": "int32"
            }
          },
          "response": {
            "$ref": "GoogleFactcheckingFactchecktoolsV1alpha1ListClaimReviewMarkupPagesResponse"
          }
        }
      }
    }
  },
  "ownerDomain": "google.com",
  "kind": "discovery#restDescription",
  "parameters": {
    "prettyPrint": {
      "type": "boolean",
      "location": "query",
      "description": "Returns response with indentations and line breaks.",
      "default": "true"
    },
    "fields": {
      "type": "string",
      "location": "query",
      "description": "Selector specifying which fields to include in a partial response."
    },
    "access_token": {
      "description": "OAuth access token.",
      "type": "string",
      "location": "query"
    },
    "callback": {
      "description": "JSONP",
      "type": "string",
      "location": "query"
    },
    "upload_protocol": {
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
      "type": "string",
      "location": "query"
    },
    "$.xgafv": {
      "type": "string",
      "enum": [
        "1",
        "2"
      ],
      "location": "query",
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ],
      "description": "V1 error format."
    },
    "uploadType": {
      "type": "string",
      "location": "query",
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\")."
    },
    "oauth_token": {
      "description": "OAuth 2.0 token for the current user.",
      "type": "string",
      "location": "query"
    },
    "alt": {
      "description": "Data format for response.",
      "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"
      ],
      "type": "string",
      "enum": [
        "json",
        "media",
        "proto"
      ],
      "location": "query"
    },
    "key": {
      "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
      "type": "string",
      "location": "query"
    },
    "quotaUser": {
      "type": "string",
      "location": "query",
      "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."
    }
  },
  "mtlsRootUrl": "https://factchecktools.mtls.googleapis.com/",
  "discoveryVersion": "v1",
  "baseUrl": "https://factchecktools.googleapis.com/",
  "version_module": true,
  "servicePath": "",
  "fullyEncodeReservedExpansion": true,
  "revision": "20260712",
  "id": "factchecktools:v1alpha1",
  "documentationLink": "https://developers.google.com/fact-check/tools/api/",
  "ownerName": "Google",
  "batchPath": "batch",
  "icons": {
    "x16": "http://www.google.com/images/icons/product/search-16.gif",
    "x32": "http://www.google.com/images/icons/product/search-32.gif"
  },
  "canonicalName": "Fact Check Tools",
  "description": "",
  "basePath": "",
  "name": "factchecktools",
  "schemas": {
    "GoogleFactcheckingFactchecktoolsV1alpha1ClaimAuthor": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "A person or organization stating the claim. For instance, \"John Doe\". Corresponds to `ClaimReview.itemReviewed.author.name`."
        },
        "jobTitle": {
          "type": "string",
          "description": "Corresponds to `ClaimReview.itemReviewed.author.jobTitle`."
        },
        "imageUrl": {
          "description": "Corresponds to `ClaimReview.itemReviewed.author.image`.",
          "type": "string"
        },
        "sameAs": {
          "description": "Corresponds to `ClaimReview.itemReviewed.author.sameAs`.",
          "type": "string"
        }
      },
      "id": "GoogleFactcheckingFactchecktoolsV1alpha1ClaimAuthor",
      "description": "Information about the claim author."
    },
    "GoogleFactcheckingFactchecktoolsV1alpha1FactCheckedClaimImageSearchResponseResult": {
      "type": "object",
      "properties": {
        "claim": {
          "$ref": "GoogleFactcheckingFactchecktoolsV1alpha1Claim",
          "description": "A claim which matched the query."
        }
      },
      "id": "GoogleFactcheckingFactchecktoolsV1alpha1FactCheckedClaimImageSearchResponseResult",
      "description": "A claim and its associated information."
    },
    "GoogleFactcheckingFactchecktoolsV1alpha1Claim": {
      "id": "GoogleFactcheckingFactchecktoolsV1alpha1Claim",
      "type": "object",
      "properties": {
        "claimDate": {
          "description": "The date that the claim was made.",
          "type": "string",
          "format": "google-datetime"
        },
        "claimReview": {
          "description": "One or more reviews of this claim (namely, a fact-checking article).",
          "type": "array",
          "items": {
            "$ref": "GoogleFactcheckingFactchecktoolsV1alpha1ClaimReview"
          }
        },
        "claimant": {
          "description": "A person or organization stating the claim. For instance, \"John Doe\".",
          "type": "string"
        },
        "text": {
          "description": "The claim text. For instance, \"Crime has doubled in the last 2 years.\"",
          "type": "string"
        }
      },
      "description": "Information about the claim."
    },
    "GoogleProtobufEmpty": {
      "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); }",
      "id": "GoogleProtobufEmpty",
      "type": "object",
      "properties": {}
    },
    "GoogleFactcheckingFactchecktoolsV1alpha1Publisher": {
      "description": "Information about the publisher.",
      "id": "GoogleFactcheckingFactchecktoolsV1alpha1Publisher",
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "The name of this publisher. For instance, \"Awesome Fact Checks\"."
        },
        "site": {
          "type": "string",
          "description": "Host-level site name, without the protocol or \"www\" prefix. For instance, \"awesomefactchecks.com\". This value of this field is based purely on the claim review URL."
        }
      }
    },
    "GoogleFactcheckingFactchecktoolsV1alpha1ClaimReviewMarkupPage": {
      "id": "GoogleFactcheckingFactchecktoolsV1alpha1ClaimReviewMarkupPage",
      "type": "object",
      "properties": {
        "claimReviewAuthor": {
          "$ref": "GoogleFactcheckingFactchecktoolsV1alpha1ClaimReviewAuthor",
          "description": "Info about the author of this claim review. Similar to the above, semantically these are page-level fields, and each `ClaimReview` on this page will contain the same values."
        },
        "pageUrl": {
          "type": "string",
          "description": "The URL of the page associated with this `ClaimReview` markup. While every individual `ClaimReview` has its own URL field, semantically this is a page-level field, and each `ClaimReview` on this page will use this value unless individually overridden. Corresponds to `ClaimReview.url`"
        },
        "versionId": {
          "type": "string",
          "description": "The version ID for this markup. Except for update requests, this field is output-only and should not be set by the user."
        },
        "name": {
          "type": "string",
          "description": "The name of this `ClaimReview` markup page resource, in the form of `pages/{page_id}`. Except for update requests, this field is output-only and should not be set by the user."
        },
        "publishDate": {
          "description": "The date when the fact check was published. Similar to the URL, semantically this is a page-level field, and each `ClaimReview` on this page will contain the same value. Corresponds to `ClaimReview.datePublished`",
          "type": "string"
        },
        "claimReviewMarkups": {
          "items": {
            "$ref": "GoogleFactcheckingFactchecktoolsV1alpha1ClaimReviewMarkup"
          },
          "type": "array",
          "description": "A list of individual claim reviews for this page. Each item in the list corresponds to one `ClaimReview` element."
        }
      },
      "description": "Holds one or more instances of `ClaimReview` markup for a webpage."
    },
    "GoogleFactcheckingFactchecktoolsV1alpha1ClaimReviewMarkup": {
      "type": "object",
      "properties": {
        "claimLocation": {
          "type": "string",
          "description": "The location where this claim was made. Corresponds to `ClaimReview.itemReviewed.name`."
        },
        "url": {
          "type": "string",
          "description": "This field is optional, and will default to the page URL. We provide this field to allow you the override the default value, but the only permitted override is the page URL plus an optional anchor link (\"page jump\"). Corresponds to `ClaimReview.url`"
        },
        "claimReviewed": {
          "description": "A short summary of the claim being evaluated. Corresponds to `ClaimReview.claimReviewed`.",
          "type": "string"
        },
        "claimAppearances": {
          "description": "A list of links to works in which this claim appears, aside from the one specified in `claim_first_appearance`. Corresponds to `ClaimReview.itemReviewed[@type=Claim].appearance.url`.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "claimAuthor": {
          "$ref": "GoogleFactcheckingFactchecktoolsV1alpha1ClaimAuthor",
          "description": "Info about the author of this claim."
        },
        "rating": {
          "$ref": "GoogleFactcheckingFactchecktoolsV1alpha1ClaimRating",
          "description": "Info about the rating of this claim review."
        },
        "claimDate": {
          "type": "string",
          "description": "The date when the claim was made or entered public discourse. Corresponds to `ClaimReview.itemReviewed.datePublished`."
        },
        "claimFirstAppearance": {
          "type": "string",
          "description": "A link to a work in which this claim first appears. Corresponds to `ClaimReview.itemReviewed[@type=Claim].firstAppearance.url`."
        }
      },
      "id": "GoogleFactcheckingFactchecktoolsV1alpha1ClaimReviewMarkup",
      "description": "Fields for an individual `ClaimReview` element. Except for sub-messages that group fields together, each of these fields correspond those in https://schema.org/ClaimReview. We list the precise mapping for each field."
    },
    "GoogleFactcheckingFactchecktoolsV1alpha1ListClaimReviewMarkupPagesResponse": {
      "id": "GoogleFactcheckingFactchecktoolsV1alpha1ListClaimReviewMarkupPagesResponse",
      "type": "object",
      "properties": {
        "nextPageToken": {
          "description": "The next pagination token in the Search response. It should be used as the `page_token` for the following request. An empty value means no more results.",
          "type": "string"
        },
        "claimReviewMarkupPages": {
          "description": "The result list of pages of `ClaimReview` markup.",
          "items": {
            "$ref": "GoogleFactcheckingFactchecktoolsV1alpha1ClaimReviewMarkupPage"
          },
          "type": "array"
        }
      },
      "description": "Response from listing `ClaimReview` markup."
    },
    "GoogleFactcheckingFactchecktoolsV1alpha1ClaimReview": {
      "type": "object",
      "properties": {
        "title": {
          "type": "string",
          "description": "The title of this claim review, if it can be determined."
        },
        "languageCode": {
          "type": "string",
          "description": "The language this review was written in. For instance, \"en\" or \"de\"."
        },
        "publisher": {
          "description": "The publisher of this claim review.",
          "$ref": "GoogleFactcheckingFactchecktoolsV1alpha1Publisher"
        },
        "url": {
          "type": "string",
          "description": "The URL of this claim review."
        },
        "textualRating": {
          "type": "string",
          "description": "Textual rating. For instance, \"Mostly false\"."
        },
        "reviewDate": {
          "type": "string",
          "format": "google-datetime",
          "description": "The date the claim was reviewed."
        }
      },
      "id": "GoogleFactcheckingFactchecktoolsV1alpha1ClaimReview",
      "description": "Information about a claim review."
    },
    "GoogleFactcheckingFactchecktoolsV1alpha1FactCheckedClaimImageSearchResponse": {
      "id": "GoogleFactcheckingFactchecktoolsV1alpha1FactCheckedClaimImageSearchResponse",
      "type": "object",
      "properties": {
        "nextPageToken": {
          "description": "The next pagination token in the Search response. It should be used as the `page_token` for the following request. An empty value means no more results.",
          "type": "string"
        },
        "results": {
          "description": "The list of claims and all of their associated information.",
          "type": "array",
          "items": {
            "$ref": "GoogleFactcheckingFactchecktoolsV1alpha1FactCheckedClaimImageSearchResponseResult"
          }
        }
      },
      "description": "Response from searching fact-checked claims by image."
    },
    "GoogleFactcheckingFactchecktoolsV1alpha1FactCheckedClaimSearchResponse": {
      "description": "Response from searching fact-checked claims.",
      "type": "object",
      "properties": {
        "claims": {
          "items": {
            "$ref": "GoogleFactcheckingFactchecktoolsV1alpha1Claim"
          },
          "type": "array",
          "description": "The list of claims and all of their associated information."
        },
        "nextPageToken": {
          "type": "string",
          "description": "The next pagination token in the Search response. It should be used as the `page_token` for the following request. An empty value means no more results."
        }
      },
      "id": "GoogleFactcheckingFactchecktoolsV1alpha1FactCheckedClaimSearchResponse"
    },
    "GoogleFactcheckingFactchecktoolsV1alpha1ClaimRating": {
      "description": "Information about the claim rating.",
      "id": "GoogleFactcheckingFactchecktoolsV1alpha1ClaimRating",
      "type": "object",
      "properties": {
        "imageUrl": {
          "description": "Corresponds to `ClaimReview.reviewRating.image`.",
          "type": "string"
        },
        "ratingValue": {
          "description": "A numeric rating of this claim, in the range worstRating — bestRating inclusive. Corresponds to `ClaimReview.reviewRating.ratingValue`.",
          "type": "integer",
          "format": "int32"
        },
        "worstRating": {
          "description": "For numeric ratings, the worst value possible in the scale from worst to best. Corresponds to `ClaimReview.reviewRating.worstRating`.",
          "type": "integer",
          "format": "int32"
        },
        "bestRating": {
          "type": "integer",
          "format": "int32",
          "description": "For numeric ratings, the best value possible in the scale from worst to best. Corresponds to `ClaimReview.reviewRating.bestRating`."
        },
        "ratingExplanation": {
          "type": "string",
          "description": "Corresponds to `ClaimReview.reviewRating.ratingExplanation`."
        },
        "textualRating": {
          "type": "string",
          "description": "The truthfulness rating as a human-readible short word or phrase. Corresponds to `ClaimReview.reviewRating.alternateName`."
        }
      }
    },
    "GoogleFactcheckingFactchecktoolsV1alpha1ClaimReviewAuthor": {
      "description": "Information about the claim review author.",
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "Name of the organization that is publishing the fact check. Corresponds to `ClaimReview.author.name`."
        },
        "imageUrl": {
          "description": "Corresponds to `ClaimReview.author.image`.",
          "type": "string"
        }
      },
      "id": "GoogleFactcheckingFactchecktoolsV1alpha1ClaimReviewAuthor"
    }
  }
}
