# generated by fastapi-codegen:
# filename: openapi.yaml
# timestamp: 2025-06-29T02:04:53+00:00
from __future__ import annotations
from enum import Enum
from typing import List, Optional
from pydantic import BaseModel, Field
class GoogleFactcheckingFactchecktoolsV1alpha1ClaimAuthor(BaseModel):
imageUrl: Optional[str] = Field(
None, description='Corresponds to `ClaimReview.itemReviewed.author.image`.'
)
jobTitle: Optional[str] = Field(
None, description='Corresponds to `ClaimReview.itemReviewed.author.jobTitle`.'
)
name: Optional[str] = Field(
None,
description='A person or organization stating the claim. For instance, "John Doe". Corresponds to `ClaimReview.itemReviewed.author.name`.',
)
sameAs: Optional[str] = Field(
None, description='Corresponds to `ClaimReview.itemReviewed.author.sameAs`.'
)
class GoogleFactcheckingFactchecktoolsV1alpha1ClaimRating(BaseModel):
bestRating: Optional[int] = Field(
None,
description='For numeric ratings, the best value possible in the scale from worst to best. Corresponds to `ClaimReview.reviewRating.bestRating`.',
)
imageUrl: Optional[str] = Field(
None, description='Corresponds to `ClaimReview.reviewRating.image`.'
)
ratingExplanation: Optional[str] = Field(
None, description='Corresponds to `ClaimReview.reviewRating.ratingExplanation`.'
)
ratingValue: Optional[int] = Field(
None,
description='A numeric rating of this claim, in the range worstRating — bestRating inclusive. Corresponds to `ClaimReview.reviewRating.ratingValue`.',
)
textualRating: Optional[str] = Field(
None,
description='The truthfulness rating as a human-readible short word or phrase. Corresponds to `ClaimReview.reviewRating.alternateName`.',
)
worstRating: Optional[int] = Field(
None,
description='For numeric ratings, the worst value possible in the scale from worst to best. Corresponds to `ClaimReview.reviewRating.worstRating`.',
)
class GoogleFactcheckingFactchecktoolsV1alpha1ClaimReviewAuthor(BaseModel):
imageUrl: Optional[str] = Field(
None, description='Corresponds to `ClaimReview.author.image`.'
)
name: Optional[str] = Field(
None,
description='Name of the organization that is publishing the fact check. Corresponds to `ClaimReview.author.name`.',
)
class GoogleFactcheckingFactchecktoolsV1alpha1ClaimReviewMarkup(BaseModel):
claimAppearances: Optional[List[str]] = Field(
None,
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`.',
)
claimAuthor: Optional[GoogleFactcheckingFactchecktoolsV1alpha1ClaimAuthor] = Field(
None, description='Info about the author of this claim.'
)
claimDate: Optional[str] = Field(
None,
description='The date when the claim was made or entered public discourse. Corresponds to `ClaimReview.itemReviewed.datePublished`.',
)
claimFirstAppearance: Optional[str] = Field(
None,
description='A link to a work in which this claim first appears. Corresponds to `ClaimReview.itemReviewed[@type=Claim].firstAppearance.url`.',
)
claimLocation: Optional[str] = Field(
None,
description='The location where this claim was made. Corresponds to `ClaimReview.itemReviewed.name`.',
)
claimReviewed: Optional[str] = Field(
None,
description='A short summary of the claim being evaluated. Corresponds to `ClaimReview.claimReviewed`.',
)
rating: Optional[GoogleFactcheckingFactchecktoolsV1alpha1ClaimRating] = Field(
None, description='Info about the rating of this claim review.'
)
url: Optional[str] = Field(
None,
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`',
)
class GoogleFactcheckingFactchecktoolsV1alpha1ClaimReviewMarkupPage(BaseModel):
claimReviewAuthor: Optional[
GoogleFactcheckingFactchecktoolsV1alpha1ClaimReviewAuthor
] = Field(
None,
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.',
)
claimReviewMarkups: Optional[
List[GoogleFactcheckingFactchecktoolsV1alpha1ClaimReviewMarkup]
] = Field(
None,
description='A list of individual claim reviews for this page. Each item in the list corresponds to one `ClaimReview` element.',
)
name: Optional[str] = Field(
None,
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.',
)
pageUrl: Optional[str] = Field(
None,
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`',
)
publishDate: Optional[str] = Field(
None,
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`',
)
versionId: Optional[str] = Field(
None,
description='The version ID for this markup. Except for update requests, this field is output-only and should not be set by the user.',
)
class GoogleFactcheckingFactchecktoolsV1alpha1ListClaimReviewMarkupPagesResponse(
BaseModel
):
claimReviewMarkupPages: Optional[
List[GoogleFactcheckingFactchecktoolsV1alpha1ClaimReviewMarkupPage]
] = Field(None, description='The result list of pages of `ClaimReview` markup.')
nextPageToken: Optional[str] = Field(
None,
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.',
)
class GoogleFactcheckingFactchecktoolsV1alpha1Publisher(BaseModel):
name: Optional[str] = Field(
None,
description='The name of this publisher. For instance, "Awesome Fact Checks".',
)
site: Optional[str] = Field(
None,
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.',
)
class GoogleProtobufEmpty(BaseModel):
pass
class FieldXgafv(Enum):
field_1 = '1'
field_2 = '2'
class Alt(Enum):
json = 'json'
media = 'media'
proto = 'proto'
class GoogleFactcheckingFactchecktoolsV1alpha1ClaimReview(BaseModel):
languageCode: Optional[str] = Field(
None,
description='The language this review was written in. For instance, "en" or "de".',
)
publisher: Optional[GoogleFactcheckingFactchecktoolsV1alpha1Publisher] = Field(
None, description='The publisher of this claim review.'
)
reviewDate: Optional[str] = Field(
None, description='The date the claim was reviewed.'
)
textualRating: Optional[str] = Field(
None, description='Textual rating. For instance, "Mostly false".'
)
title: Optional[str] = Field(
None, description='The title of this claim review, if it can be determined.'
)
url: Optional[str] = Field(None, description='The URL of this claim review.')
class GoogleFactcheckingFactchecktoolsV1alpha1Claim(BaseModel):
claimDate: Optional[str] = Field(
None, description='The date that the claim was made.'
)
claimReview: Optional[List[GoogleFactcheckingFactchecktoolsV1alpha1ClaimReview]] = (
Field(
None,
description='One or more reviews of this claim (namely, a fact-checking article).',
)
)
claimant: Optional[str] = Field(
None,
description='A person or organization stating the claim. For instance, "John Doe".',
)
text: Optional[str] = Field(
None,
description='The claim text. For instance, "Crime has doubled in the last 2 years."',
)
class GoogleFactcheckingFactchecktoolsV1alpha1FactCheckedClaimSearchResponse(BaseModel):
claims: Optional[List[GoogleFactcheckingFactchecktoolsV1alpha1Claim]] = Field(
None, description='The list of claims and all of their associated information.'
)
nextPageToken: Optional[str] = Field(
None,
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.',
)