{
  "revision": "20260308",
  "title": "Fact Check Tools API",
  "id": "factchecktools:v1alpha1",
  "rootUrl": "https://factchecktools.googleapis.com/",
  "schemas": {
    "GoogleFactcheckingFactchecktoolsV1alpha1Claim": {
      "description": "Information about the claim.",
      "id": "GoogleFactcheckingFactchecktoolsV1alpha1Claim",
      "type": "object",
      "properties": {
        "claimReview": {
          "description": "One or more reviews of this claim (namely, a fact-checking article).",
          "items": {
            "$ref": "GoogleFactcheckingFactchecktoolsV1alpha1ClaimReview"
          },
          "type": "array"
        },
        "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"
        },
        "claimDate": {
          "type": "string",
          "format": "google-datetime",
          "description": "The date that the claim was made."
        }
      }
    },
    "GoogleFactcheckingFactchecktoolsV1alpha1ClaimRating": {
      "type": "object",
      "properties": {
        "textualRating": {
          "description": "The truthfulness rating as a human-readible short word or phrase. Corresponds to `ClaimReview.reviewRating.alternateName`.",
          "type": "string"
        },
        "bestRating": {
          "description": "For numeric ratings, the best value possible in the scale from worst to best. Corresponds to `ClaimReview.reviewRating.bestRating`.",
          "type": "integer",
          "format": "int32"
        },
        "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"
        },
        "ratingExplanation": {
          "description": "Corresponds to `ClaimReview.reviewRating.ratingExplanation`.",
          "type": "string"
        },
        "imageUrl": {
          "type": "string",
          "description": "Corresponds to `ClaimReview.reviewRating.image`."
        }
      },
      "id": "GoogleFactcheckingFactchecktoolsV1alpha1ClaimRating",
      "description": "Information about the claim rating."
    },
    "GoogleFactcheckingFactchecktoolsV1alpha1FactCheckedClaimSearchResponse": {
      "description": "Response from searching fact-checked claims.",
      "id": "GoogleFactcheckingFactchecktoolsV1alpha1FactCheckedClaimSearchResponse",
      "type": "object",
      "properties": {
        "claims": {
          "type": "array",
          "description": "The list of claims and all of their associated information.",
          "items": {
            "$ref": "GoogleFactcheckingFactchecktoolsV1alpha1Claim"
          }
        },
        "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."
        }
      }
    },
    "GoogleFactcheckingFactchecktoolsV1alpha1FactCheckedClaimImageSearchResponse": {
      "type": "object",
      "properties": {
        "results": {
          "description": "The list of claims and all of their associated information.",
          "items": {
            "$ref": "GoogleFactcheckingFactchecktoolsV1alpha1FactCheckedClaimImageSearchResponseResult"
          },
          "type": "array"
        },
        "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"
        }
      },
      "description": "Response from searching fact-checked claims by image.",
      "id": "GoogleFactcheckingFactchecktoolsV1alpha1FactCheckedClaimImageSearchResponse"
    },
    "GoogleFactcheckingFactchecktoolsV1alpha1ClaimReview": {
      "description": "Information about a claim review.",
      "id": "GoogleFactcheckingFactchecktoolsV1alpha1ClaimReview",
      "type": "object",
      "properties": {
        "title": {
          "description": "The title of this claim review, if it can be determined.",
          "type": "string"
        },
        "languageCode": {
          "description": "The language this review was written in. For instance, \"en\" or \"de\".",
          "type": "string"
        },
        "publisher": {
          "$ref": "GoogleFactcheckingFactchecktoolsV1alpha1Publisher",
          "description": "The publisher of this claim review."
        },
        "textualRating": {
          "type": "string",
          "description": "Textual rating. For instance, \"Mostly false\"."
        },
        "url": {
          "type": "string",
          "description": "The URL of this claim review."
        },
        "reviewDate": {
          "description": "The date the claim was reviewed.",
          "type": "string",
          "format": "google-datetime"
        }
      }
    },
    "GoogleFactcheckingFactchecktoolsV1alpha1ListClaimReviewMarkupPagesResponse": {
      "id": "GoogleFactcheckingFactchecktoolsV1alpha1ListClaimReviewMarkupPagesResponse",
      "description": "Response from listing `ClaimReview` markup.",
      "type": "object",
      "properties": {
        "claimReviewMarkupPages": {
          "description": "The result list of pages of `ClaimReview` markup.",
          "items": {
            "$ref": "GoogleFactcheckingFactchecktoolsV1alpha1ClaimReviewMarkupPage"
          },
          "type": "array"
        },
        "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."
        }
      }
    },
    "GoogleFactcheckingFactchecktoolsV1alpha1ClaimAuthor": {
      "id": "GoogleFactcheckingFactchecktoolsV1alpha1ClaimAuthor",
      "description": "Information about the claim author.",
      "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"
        }
      }
    },
    "GoogleFactcheckingFactchecktoolsV1alpha1FactCheckedClaimImageSearchResponseResult": {
      "type": "object",
      "properties": {
        "claim": {
          "description": "A claim which matched the query.",
          "$ref": "GoogleFactcheckingFactchecktoolsV1alpha1Claim"
        }
      },
      "id": "GoogleFactcheckingFactchecktoolsV1alpha1FactCheckedClaimImageSearchResponseResult",
      "description": "A claim and its associated information."
    },
    "GoogleProtobufEmpty": {
      "id": "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); }",
      "type": "object",
      "properties": {}
    },
    "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.",
      "id": "GoogleFactcheckingFactchecktoolsV1alpha1ClaimReviewMarkup",
      "type": "object",
      "properties": {
        "url": {
          "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`",
          "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`.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "claimReviewed": {
          "description": "A short summary of the claim being evaluated. Corresponds to `ClaimReview.claimReviewed`.",
          "type": "string"
        },
        "claimDate": {
          "description": "The date when the claim was made or entered public discourse. Corresponds to `ClaimReview.itemReviewed.datePublished`.",
          "type": "string"
        },
        "claimLocation": {
          "description": "The location where this claim was made. Corresponds to `ClaimReview.itemReviewed.name`.",
          "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."
        },
        "claimFirstAppearance": {
          "type": "string",
          "description": "A link to a work in which this claim first appears. Corresponds to `ClaimReview.itemReviewed[@type=Claim].firstAppearance.url`."
        }
      }
    },
    "GoogleFactcheckingFactchecktoolsV1alpha1ClaimReviewMarkupPage": {
      "type": "object",
      "properties": {
        "versionId": {
          "description": "The version ID for this markup. Except for update requests, this field is output-only and should not be set by the user.",
          "type": "string"
        },
        "pageUrl": {
          "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`",
          "type": "string"
        },
        "claimReviewAuthor": {
          "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.",
          "$ref": "GoogleFactcheckingFactchecktoolsV1alpha1ClaimReviewAuthor"
        },
        "publishDate": {
          "type": "string",
          "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`"
        },
        "claimReviewMarkups": {
          "description": "A list of individual claim reviews for this page. Each item in the list corresponds to one `ClaimReview` element.",
          "items": {
            "$ref": "GoogleFactcheckingFactchecktoolsV1alpha1ClaimReviewMarkup"
          },
          "type": "array"
        },
        "name": {
          "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.",
          "type": "string"
        }
      },
      "description": "Holds one or more instances of `ClaimReview` markup for a webpage.",
      "id": "GoogleFactcheckingFactchecktoolsV1alpha1ClaimReviewMarkupPage"
    },
    "GoogleFactcheckingFactchecktoolsV1alpha1Publisher": {
      "description": "Information about the publisher.",
      "id": "GoogleFactcheckingFactchecktoolsV1alpha1Publisher",
      "type": "object",
      "properties": {
        "name": {
          "description": "The name of this publisher. For instance, \"Awesome Fact Checks\".",
          "type": "string"
        },
        "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."
        }
      }
    },
    "GoogleFactcheckingFactchecktoolsV1alpha1ClaimReviewAuthor": {
      "type": "object",
      "properties": {
        "name": {
          "description": "Name of the organization that is publishing the fact check. Corresponds to `ClaimReview.author.name`.",
          "type": "string"
        },
        "imageUrl": {
          "type": "string",
          "description": "Corresponds to `ClaimReview.author.image`."
        }
      },
      "id": "GoogleFactcheckingFactchecktoolsV1alpha1ClaimReviewAuthor",
      "description": "Information about the claim review author."
    }
  },
  "mtlsRootUrl": "https://factchecktools.mtls.googleapis.com/",
  "description": "",
  "batchPath": "batch",
  "name": "factchecktools",
  "parameters": {
    "fields": {
      "location": "query",
      "description": "Selector specifying which fields to include in a partial response.",
      "type": "string"
    },
    "oauth_token": {
      "description": "OAuth 2.0 token for the current user.",
      "location": "query",
      "type": "string"
    },
    "prettyPrint": {
      "type": "boolean",
      "default": "true",
      "location": "query",
      "description": "Returns response with indentations and line breaks."
    },
    "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"
    },
    "uploadType": {
      "location": "query",
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
      "type": "string"
    },
    "key": {
      "location": "query",
      "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"
    },
    "callback": {
      "type": "string",
      "description": "JSONP",
      "location": "query"
    },
    "$.xgafv": {
      "description": "V1 error format.",
      "location": "query",
      "enum": [
        "1",
        "2"
      ],
      "type": "string",
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ]
    },
    "access_token": {
      "type": "string",
      "description": "OAuth access token.",
      "location": "query"
    },
    "upload_protocol": {
      "type": "string",
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
      "location": "query"
    },
    "alt": {
      "type": "string",
      "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"
      ],
      "default": "json",
      "location": "query",
      "description": "Data format for response."
    }
  },
  "servicePath": "",
  "canonicalName": "Fact Check Tools",
  "version": "v1alpha1",
  "kind": "discovery#restDescription",
  "protocol": "rest",
  "ownerName": "Google",
  "auth": {
    "oauth2": {
      "scopes": {
        "https://www.googleapis.com/auth/factchecktools": {
          "description": "Read, create, update, and delete your ClaimReview data."
        }
      }
    }
  },
  "icons": {
    "x16": "http://www.google.com/images/icons/product/search-16.gif",
    "x32": "http://www.google.com/images/icons/product/search-32.gif"
  },
  "resources": {
    "claims": {
      "methods": {
        "search": {
          "id": "factchecktools.claims.search",
          "path": "v1alpha1/claims:search",
          "httpMethod": "GET",
          "flatPath": "v1alpha1/claims:search",
          "parameterOrder": [],
          "response": {
            "$ref": "GoogleFactcheckingFactchecktoolsV1alpha1FactCheckedClaimSearchResponse"
          },
          "description": "Search through fact-checked claims.",
          "parameters": {
            "offset": {
              "location": "query",
              "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.",
              "type": "integer",
              "format": "int32"
            },
            "reviewPublisherSiteFilter": {
              "type": "string",
              "description": "The review publisher site to filter results by, e.g. nytimes.com.",
              "location": "query"
            },
            "pageToken": {
              "type": "string",
              "location": "query",
              "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."
            },
            "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"
            },
            "maxAgeDays": {
              "type": "integer",
              "format": "int32",
              "location": "query",
              "description": "The maximum age of the returned search results, in days. Age is determined by either claim date or review date, whichever is newer."
            },
            "pageSize": {
              "type": "integer",
              "format": "int32",
              "location": "query",
              "description": "The pagination size. We will return up to that many results. Defaults to 10 if not set."
            },
            "query": {
              "description": "Textual query string. Required unless `review_publisher_site_filter` is specified.",
              "location": "query",
              "type": "string"
            }
          }
        },
        "imageSearch": {
          "parameters": {
            "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"
            },
            "pageToken": {
              "location": "query",
              "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.",
              "type": "string"
            },
            "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"
            },
            "imageUri": {
              "type": "string",
              "location": "query",
              "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."
            },
            "languageCode": {
              "type": "string",
              "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"
            }
          },
          "description": "Search through fact-checked claims using an image as the query.",
          "flatPath": "v1alpha1/claims:imageSearch",
          "parameterOrder": [],
          "response": {
            "$ref": "GoogleFactcheckingFactchecktoolsV1alpha1FactCheckedClaimImageSearchResponse"
          },
          "id": "factchecktools.claims.imageSearch",
          "path": "v1alpha1/claims:imageSearch",
          "httpMethod": "GET"
        }
      }
    },
    "pages": {
      "methods": {
        "update": {
          "parameterOrder": [
            "name"
          ],
          "id": "factchecktools.pages.update",
          "httpMethod": "PUT",
          "request": {
            "$ref": "GoogleFactcheckingFactchecktoolsV1alpha1ClaimReviewMarkupPage"
          },
          "flatPath": "v1alpha1/pages/{pagesId}",
          "response": {
            "$ref": "GoogleFactcheckingFactchecktoolsV1alpha1ClaimReviewMarkupPage"
          },
          "scopes": [
            "https://www.googleapis.com/auth/factchecktools"
          ],
          "path": "v1alpha1/{+name}",
          "parameters": {
            "name": {
              "location": "path",
              "pattern": "^pages/[^/]+$",
              "required": true,
              "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."
            }
          },
          "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": {
          "parameterOrder": [
            "name"
          ],
          "httpMethod": "GET",
          "id": "factchecktools.pages.get",
          "parameters": {
            "name": {
              "description": "The name of the resource to get, in the form of `pages/{page_id}`.",
              "required": true,
              "type": "string",
              "pattern": "^pages/[^/]+$",
              "location": "path"
            }
          },
          "description": "Get all `ClaimReview` markup on a page.",
          "response": {
            "$ref": "GoogleFactcheckingFactchecktoolsV1alpha1ClaimReviewMarkupPage"
          },
          "scopes": [
            "https://www.googleapis.com/auth/factchecktools"
          ],
          "flatPath": "v1alpha1/pages/{pagesId}",
          "path": "v1alpha1/{+name}"
        },
        "create": {
          "id": "factchecktools.pages.create",
          "httpMethod": "POST",
          "request": {
            "$ref": "GoogleFactcheckingFactchecktoolsV1alpha1ClaimReviewMarkupPage"
          },
          "parameterOrder": [],
          "description": "Create `ClaimReview` markup on a page.",
          "parameters": {},
          "path": "v1alpha1/pages",
          "flatPath": "v1alpha1/pages",
          "response": {
            "$ref": "GoogleFactcheckingFactchecktoolsV1alpha1ClaimReviewMarkupPage"
          },
          "scopes": [
            "https://www.googleapis.com/auth/factchecktools"
          ]
        },
        "list": {
          "flatPath": "v1alpha1/pages",
          "response": {
            "$ref": "GoogleFactcheckingFactchecktoolsV1alpha1ListClaimReviewMarkupPagesResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/factchecktools"
          ],
          "path": "v1alpha1/pages",
          "parameters": {
            "pageToken": {
              "type": "string",
              "location": "query",
              "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."
            },
            "url": {
              "type": "string",
              "location": "query",
              "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."
            },
            "offset": {
              "type": "integer",
              "format": "int32",
              "location": "query",
              "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."
            },
            "organization": {
              "type": "string",
              "location": "query",
              "description": "The organization for which we want to fetch markups for. For instance, \"site.com\". Cannot be specified along with an URL."
            },
            "pageSize": {
              "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.",
              "location": "query"
            }
          },
          "description": "List the `ClaimReview` markup pages for a specific URL or for an organization.",
          "parameterOrder": [],
          "id": "factchecktools.pages.list",
          "httpMethod": "GET"
        },
        "delete": {
          "path": "v1alpha1/{+name}",
          "flatPath": "v1alpha1/pages/{pagesId}",
          "response": {
            "$ref": "GoogleProtobufEmpty"
          },
          "scopes": [
            "https://www.googleapis.com/auth/factchecktools"
          ],
          "description": "Delete all `ClaimReview` markup on a page.",
          "parameters": {
            "name": {
              "description": "The name of the resource to delete, in the form of `pages/{page_id}`.",
              "pattern": "^pages/[^/]+$",
              "required": true,
              "type": "string",
              "location": "path"
            }
          },
          "id": "factchecktools.pages.delete",
          "httpMethod": "DELETE",
          "parameterOrder": [
            "name"
          ]
        }
      }
    }
  },
  "ownerDomain": "google.com",
  "fullyEncodeReservedExpansion": true,
  "version_module": true,
  "basePath": "",
  "baseUrl": "https://factchecktools.googleapis.com/",
  "discoveryVersion": "v1",
  "documentationLink": "https://developers.google.com/fact-check/tools/api/"
}
