{
"auth": {
"oauth2": {
"scopes": {
"https://www.googleapis.com/auth/postmaster": {
"description": "Get email traffic metrics, manage domains, and manage domain users for the domains you have registered with Postmaster Tools"
},
"https://www.googleapis.com/auth/postmaster.domain": {
"description": "View and manage the domains you have registered with Postmaster Tools"
},
"https://www.googleapis.com/auth/postmaster.traffic.readonly": {
"description": "Get email traffic metrics for the domains you have registered with Postmaster Tools"
}
}
}
},
"basePath": "",
"baseUrl": "https://gmailpostmastertools.googleapis.com/",
"batchPath": "batch",
"canonicalName": "Postmaster Tools",
"description": "The Postmaster Tools API is a RESTful API that provides programmatic access to email traffic metrics (like spam reports, delivery errors etc) otherwise available through the Gmail Postmaster Tools UI currently.",
"discoveryVersion": "v1",
"documentationLink": "https://developers.google.com/workspace/gmail/postmaster",
"fullyEncodeReservedExpansion": true,
"icons": {
"x16": "http://www.google.com/images/icons/product/search-16.gif",
"x32": "http://www.google.com/images/icons/product/search-32.gif"
},
"id": "gmailpostmastertools:v2",
"kind": "discovery#restDescription",
"mtlsRootUrl": "https://gmailpostmastertools.mtls.googleapis.com/",
"name": "gmailpostmastertools",
"ownerDomain": "google.com",
"ownerName": "Google",
"parameters": {
"$.xgafv": {
"description": "V1 error format.",
"enum": [
"1",
"2"
],
"enumDescriptions": [
"v1 error format",
"v2 error format"
],
"location": "query",
"type": "string"
},
"access_token": {
"description": "OAuth access token.",
"location": "query",
"type": "string"
},
"alt": {
"default": "json",
"description": "Data format for response.",
"enum": [
"json",
"media",
"proto"
],
"enumDescriptions": [
"Responses with Content-Type of application/json",
"Media download with context-dependent Content-Type",
"Responses with Content-Type of application/x-protobuf"
],
"location": "query",
"type": "string"
},
"callback": {
"description": "JSONP",
"location": "query",
"type": "string"
},
"fields": {
"description": "Selector specifying which fields to include in a partial response.",
"location": "query",
"type": "string"
},
"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.",
"location": "query",
"type": "string"
},
"oauth_token": {
"description": "OAuth 2.0 token for the current user.",
"location": "query",
"type": "string"
},
"prettyPrint": {
"default": "true",
"description": "Returns response with indentations and line breaks.",
"location": "query",
"type": "boolean"
},
"quotaUser": {
"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",
"type": "string"
},
"uploadType": {
"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
"location": "query",
"type": "string"
},
"upload_protocol": {
"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
"location": "query",
"type": "string"
}
},
"protocol": "rest",
"resources": {
"domainStats": {
"methods": {
"batchQuery": {
"description": "Executes a batch of QueryDomainStats requests for multiple domains. Returns PERMISSION_DENIED if you don't have permission to access DomainStats for any of the requested domains.",
"flatPath": "v2/domainStats:batchQuery",
"httpMethod": "POST",
"id": "gmailpostmastertools.domainStats.batchQuery",
"parameterOrder": [],
"parameters": {},
"path": "v2/domainStats:batchQuery",
"request": {
"$ref": "BatchQueryDomainStatsRequest"
},
"response": {
"$ref": "BatchQueryDomainStatsResponse"
},
"scopes": [
"https://www.googleapis.com/auth/postmaster",
"https://www.googleapis.com/auth/postmaster.traffic.readonly"
]
}
}
},
"domains": {
"methods": {
"get": {
"description": "Retrieves detailed information about a domain registered by you. Returns NOT_FOUND if the domain is not registered by you. Domain represents the metadata of a domain that has been registered within the system and linked to a user.",
"flatPath": "v2/domains/{domainsId}",
"httpMethod": "GET",
"id": "gmailpostmastertools.domains.get",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "Required. The resource name of the domain. Format: `domains/{domain_name}`, where domain_name is the fully qualified domain name (i.e., mymail.mydomain.com).",
"location": "path",
"pattern": "^domains/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v2/{+name}",
"response": {
"$ref": "Domain"
},
"scopes": [
"https://www.googleapis.com/auth/postmaster",
"https://www.googleapis.com/auth/postmaster.domain"
]
},
"getComplianceStatus": {
"description": "Retrieves the compliance status for a given domain. Returns PERMISSION_DENIED if you don't have permission to access compliance status for the domain.",
"flatPath": "v2/domains/{domainsId}/complianceStatus",
"httpMethod": "GET",
"id": "gmailpostmastertools.domains.getComplianceStatus",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "Required. The resource name of the domain's compliance status to retrieve. Format: `domains/{domain_id}/complianceStatus`.",
"location": "path",
"pattern": "^domains/[^/]+/complianceStatus$",
"required": true,
"type": "string"
}
},
"path": "v2/{+name}",
"response": {
"$ref": "DomainComplianceStatus"
},
"scopes": [
"https://www.googleapis.com/auth/postmaster",
"https://www.googleapis.com/auth/postmaster.traffic.readonly"
]
},
"list": {
"description": "Retrieves a list of all domains registered by you, along with their corresponding metadata. The order of domains in the response is unspecified and non-deterministic. Newly registered domains will not necessarily be added to the end of this list.",
"flatPath": "v2/domains",
"httpMethod": "GET",
"id": "gmailpostmastertools.domains.list",
"parameterOrder": [],
"parameters": {
"pageSize": {
"description": "Optional. Requested page size. Server may return fewer domains than requested. If unspecified, the default value for this field is 10. The maximum value for this field is 200.",
"format": "int32",
"location": "query",
"type": "integer"
},
"pageToken": {
"description": "Optional. The next_page_token value returned from a previous List request, if any.",
"location": "query",
"type": "string"
}
},
"path": "v2/domains",
"response": {
"$ref": "ListDomainsResponse"
},
"scopes": [
"https://www.googleapis.com/auth/postmaster",
"https://www.googleapis.com/auth/postmaster.domain"
]
}
},
"resources": {
"domainStats": {
"methods": {
"query": {
"description": "Retrieves a list of domain statistics for a given domain and time period. Returns statistics only for dates where data is available. Returns PERMISSION_DENIED if you don't have permission to access DomainStats for the domain.",
"flatPath": "v2/domains/{domainsId}/domainStats:query",
"httpMethod": "POST",
"id": "gmailpostmastertools.domains.domainStats.query",
"parameterOrder": [
"parent"
],
"parameters": {
"parent": {
"description": "Required. The parent resource name where the stats are queried. Format: domains/{domain}",
"location": "path",
"pattern": "^domains/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v2/{+parent}/domainStats:query",
"request": {
"$ref": "QueryDomainStatsRequest"
},
"response": {
"$ref": "QueryDomainStatsResponse"
},
"scopes": [
"https://www.googleapis.com/auth/postmaster",
"https://www.googleapis.com/auth/postmaster.traffic.readonly"
]
}
}
}
}
}
},
"revision": "20260209",
"rootUrl": "https://gmailpostmastertools.googleapis.com/",
"schemas": {
"BaseMetric": {
"description": "Specifies the base metric to query, which can be a predefined standard metric or a user-defined custom metric (if supported in the future).",
"id": "BaseMetric",
"properties": {
"standardMetric": {
"description": "A predefined standard metric.",
"enum": [
"STANDARD_METRIC_UNSPECIFIED",
"FEEDBACK_LOOP_ID",
"FEEDBACK_LOOP_SPAM_RATE",
"SPAM_RATE",
"AUTH_SUCCESS_RATE",
"TLS_ENCRYPTION_MESSAGE_COUNT",
"TLS_ENCRYPTION_RATE",
"DELIVERY_ERROR_COUNT",
"DELIVERY_ERROR_RATE"
],
"enumDescriptions": [
"Unspecified standard metric. This value should not be used directly.",
"Predefined metric for Feedback Loop (FBL) id.",
"Predefined metric for Feedback Loop (FBL) spam rate. Filter must be of type feedback_loop_id = \"\" where is one valid feedback loop ids.",
"Predefined metric for spam rate.",
"The success rate of authentication mechanisms (DKIM, SPF, DMARC). Filter must be of type auth_type = \"\" where is one of: [spf, dkim, dmarc]",
"The rate of messages that were TLS encrypted in transit Filter must be of type traffic_direction = \"\" where is one of: [inbound, outbound]",
"The rate of messages that were TLS encrypted in transit Filter must be of type traffic_direction = \"\" where is one of: [inbound, outbound]",
"The total count of delivery errors encountered (temporary or permanent rejects). The `filter` field supports a limited syntax. Supported formats are: * Empty: No filter is applied. * `error_type` = \"\" * `error_type` = \"\" AND `error_reason` = \"\" If an empty filter is provided, the metric will be aggregated across all error types and reasons. If only `error_type` is specified, the metric will be aggregated across all reasons for that type. Supported values: * reject * temp_fail Supported values depend on the : * For 'reject': [bad_attachment, bad_or_missing_ptr_record, ip_in_rbls, low_domain_reputation, low_ip_reputation, spammy_content, stamp_policy_error, other] * For 'temp_fail': [anomalous_traffic_pattern, other]",
"Delivery error rate for the specified delivery error type. The `filter` field supports a limited syntax. Supported formats are: * Empty: No filter is applied. * `error_type` = \"\" * `error_type` = \"\" AND `error_reason` = \"\" If an empty filter is provided, the metric will be aggregated across all error types and reasons. If only `error_type` is specified, the metric will be aggregated across all reasons for that type. Supported values: * reject * temp_fail Supported values depend on the : * For 'reject': [bad_attachment, bad_or_missing_ptr_record, ip_in_rbls, low_domain_reputation, low_ip_reputation, spammy_content, stamp_policy_error, other] * For 'temp_fail': [anomalous_traffic_pattern, other]"
],
"type": "string"
}
},
"type": "object"
},
"BatchQueryDomainStatsRequest": {
"description": "Request message for BatchQueryDomainStats.",
"id": "BatchQueryDomainStatsRequest",
"properties": {
"requests": {
"description": "Required. A list of individual query requests. Each request can be for a different domain. A maximum of 100 requests can be included in a single batch.",
"items": {
"$ref": "QueryDomainStatsRequest"
},
"type": "array"
}
},
"type": "object"
},
"BatchQueryDomainStatsResponse": {
"description": "Response message for BatchQueryDomainStats.",
"id": "BatchQueryDomainStatsResponse",
"properties": {
"results": {
"description": "A list of responses, one for each query in the BatchQueryDomainStatsRequest. The order of responses will correspond to the order of requests.",
"items": {
"$ref": "BatchQueryDomainStatsResult"
},
"type": "array"
}
},
"type": "object"
},
"BatchQueryDomainStatsResult": {
"description": "Represents the result of a single QueryDomainStatsRequest within a batch.",
"id": "BatchQueryDomainStatsResult",
"properties": {
"error": {
"$ref": "Status",
"description": "The error status if the individual query failed."
},
"response": {
"$ref": "QueryDomainStatsResponse",
"description": "The successful response for the individual query."
}
},
"type": "object"
},
"ComplianceRowData": {
"description": "Data for a single row of the compliance status table.",
"id": "ComplianceRowData",
"properties": {
"requirement": {
"description": "The compliance requirement.",
"enum": [
"COMPLIANCE_REQUIREMENT_UNSPECIFIED",
"SPF",
"DKIM",
"SPF_AND_DKIM",
"DMARC_POLICY",
"DMARC_ALIGNMENT",
"MESSAGE_FORMATTING",
"DNS_RECORDS",
"ENCRYPTION",
"USER_REPORTED_SPAM_RATE",
"ONE_CLICK_UNSUBSCRIBE",
"HONOR_UNSUBSCRIBE"
],
"enumDescriptions": [
"Unspecified.",
"Whether the sender has properly configured SPF.",
"Whether the sender has properly configured DKIM.",
"Whether the sender has properly configured both SPF and DKIM.",
"Whether the sender has configured DMARC policy.",
"Whether the From: header is aligned with DKIM or SPF",
"Whether messages are correctly formatted according to RFC 5322.",
"Whether the domain has forward and reverse DNS records.",
"Whether messages has TLS encryption.",
"Whether the sender is below a threshold for user-reported spam rate.",
"Whether the sender sufficiently supports one-click unsubscribe. Note that the user-facing requirement is \"one-click unsubscribe\", but we require satisfaction of multiple \"unsubscribe support\" rules.",
"Whether the sender honors user-initiated unsubscribe requests."
],
"type": "string"
},
"status": {
"$ref": "ComplianceStatus",
"description": "The compliance status for the requirement."
}
},
"type": "object"
},
"ComplianceStatus": {
"description": "The status of a sender compliance requirement.",
"id": "ComplianceStatus",
"properties": {
"status": {
"description": "Output only. The compliance status.",
"enum": [
"STATE_UNSPECIFIED",
"COMPLIANT",
"NEEDS_WORK"
],
"enumDescriptions": [
"Unspecified.",
"The compliance requirement is met, and the sender is deemed compliant.",
"The compliance requirement is unmet, and the sender needs to do work to achieve compliance."
],
"readOnly": true,
"type": "string"
}
},
"type": "object"
},
"Date": {
"description": "Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp",
"id": "Date",
"properties": {
"day": {
"description": "Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.",
"format": "int32",
"type": "integer"
},
"month": {
"description": "Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.",
"format": "int32",
"type": "integer"
},
"year": {
"description": "Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.",
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"DateList": {
"description": "A set of specific dates.",
"id": "DateList",
"properties": {
"dates": {
"description": "Required. The list of specific dates for which to retrieve data.",
"items": {
"$ref": "Date"
},
"type": "array"
}
},
"type": "object"
},
"DateRange": {
"description": "A single date range defined by a start and end date.",
"id": "DateRange",
"properties": {
"end": {
"$ref": "Date",
"description": "Required. The inclusive end date of the date range."
},
"start": {
"$ref": "Date",
"description": "Required. The inclusive start date of the date range."
}
},
"type": "object"
},
"DateRanges": {
"description": "A set of date ranges.",
"id": "DateRanges",
"properties": {
"dateRanges": {
"description": "Required. The list of date ranges for which to retrieve data.",
"items": {
"$ref": "DateRange"
},
"type": "array"
}
},
"type": "object"
},
"Domain": {
"description": "Information about a domain registered by the user.",
"id": "Domain",
"properties": {
"createTime": {
"description": "Output only. Immutable. The timestamp at which the domain was added to the user's account.",
"format": "google-datetime",
"readOnly": true,
"type": "string"
},
"lastVerifyTime": {
"description": "The timestamp at which the domain was last verified by the user.",
"format": "google-datetime",
"type": "string"
},
"name": {
"description": "Identifier. The resource name of the domain. Format: `domains/{domain_name}`, where domain_name is the fully qualified domain name (i.e., mymail.mydomain.com).",
"type": "string"
},
"permission": {
"description": "Output only. User's permission of this domain.",
"enum": [
"PERMISSION_UNSPECIFIED",
"READER",
"OWNER",
"NONE"
],
"enumDescriptions": [
"Unspecified permission.",
"User has read access to the domain.",
"User has owner access to the domain.",
"User has no access to the domain."
],
"readOnly": true,
"type": "string"
},
"verificationState": {
"description": "Output only. Information about a user's verification history and properties for the domain.",
"enum": [
"VERIFICATION_STATE_UNSPECIFIED",
"UNVERIFIED",
"VERIFIED"
],
"enumDescriptions": [
"Unspecified.",
"The domain is unverified.",
"The domain is verified."
],
"readOnly": true,
"type": "string"
}
},
"type": "object"
},
"DomainComplianceData": {
"description": "Compliance data for a given domain.",
"id": "DomainComplianceData",
"properties": {
"domainId": {
"description": "Domain that this data is for.",
"type": "string"
},
"honorUnsubscribeVerdict": {
"$ref": "HonorUnsubscribeVerdict",
"description": "Unsubscribe honoring compliance verdict."
},
"oneClickUnsubscribeVerdict": {
"$ref": "OneClickUnsubscribeVerdict",
"description": "One-click unsubscribe compliance verdict."
},
"rowData": {
"description": "Data for each of the rows of the table. Each message contains all the data that backs a single row.",
"items": {
"$ref": "ComplianceRowData"
},
"type": "array"
}
},
"type": "object"
},
"DomainComplianceStatus": {
"description": "Compliance status for a domain.",
"id": "DomainComplianceStatus",
"properties": {
"complianceData": {
"$ref": "DomainComplianceData",
"description": "Compliance data for the registrable domain part of the domain in `name`. For example, if `name` is `domains/example.com/complianceStatus`, this field contains compliance data for `example.com`."
},
"name": {
"description": "Identifier. The resource name of the domain's compliance status. Format: `domains/{domain_id}/complianceStatus`.",
"type": "string"
},
"subdomainComplianceData": {
"$ref": "DomainComplianceData",
"description": "Compliance data calculated specifically for the subdomain in `name`. This field is only populated if the domain in `name` is a subdomain that differs from its registrable domain (e.g., `sub.example.com`), and if compliance data is available for that specific subdomain."
}
},
"type": "object"
},
"DomainStat": {
"description": "Email statistics for a domain for a specified time period or date.",
"id": "DomainStat",
"properties": {
"date": {
"$ref": "Date",
"description": "Optional. The specific date for these stats, if granularity is DAILY. This field is populated if the QueryDomainStatsRequest specified a DAILY aggregation granularity."
},
"metric": {
"description": "The user-defined name from MetricDefinition.name in the request, used to correlate this result with the requested metric.",
"type": "string"
},
"name": {
"description": "Output only. The resource name of the DomainStat resource. Format: domains/{domain}/domainStats/{domain_stat} The `{domain_stat}` segment is an opaque, server-generated ID. We recommend using the `metric` field to identify queried metrics instead of parsing the name.",
"readOnly": true,
"type": "string"
},
"value": {
"$ref": "StatisticValue",
"description": "The value of the corresponding metric."
}
},
"type": "object"
},
"HonorUnsubscribeVerdict": {
"description": "Compliance verdict for whether a sender meets the unsubscribe honoring compliance requirement.",
"id": "HonorUnsubscribeVerdict",
"properties": {
"reason": {
"description": "The specific reason for the compliance verdict. Must be empty if the status is compliant.",
"enum": [
"REASON_UNSPECIFIED",
"NOT_HONORING",
"NOT_HONORING_TOO_FEW_CAMPAIGNS",
"NOT_HONORING_TOO_MANY_CAMPAIGNS"
],
"enumDescriptions": [
"Unspecified.",
"The sender does not honor unsubscribe requests.",
"The sender does not honor unsubscribe requests and consider to increase the number of relevant campaigns.",
"The sender does not honor unsubscribe requests and consider to reduce the number of relevant campaigns."
],
"type": "string"
},
"status": {
"$ref": "ComplianceStatus",
"description": "The compliance status."
}
},
"type": "object"
},
"ListDomainsResponse": {
"description": "Response message for ListDomains.",
"id": "ListDomainsResponse",
"properties": {
"domains": {
"description": "The domains that have been registered by the user.",
"items": {
"$ref": "Domain"
},
"type": "array"
},
"nextPageToken": {
"description": "Token to retrieve the next page of results, or empty if there are no more results in the list.",
"type": "string"
}
},
"type": "object"
},
"MetricDefinition": {
"description": "Defines a specific metric to query, including a user-defined name, the base metric type, and optional filters.",
"id": "MetricDefinition",
"properties": {
"baseMetric": {
"$ref": "BaseMetric",
"description": "Required. The underlying metric to query."
},
"filter": {
"description": "Optional. Optional filters to apply to the metric.",
"type": "string"
},
"name": {
"description": "Required. The user-defined name for this metric. This name will be used as the key for this metric's value in the response.",
"type": "string"
}
},
"type": "object"
},
"OneClickUnsubscribeVerdict": {
"description": "Compliance verdict for whether a sender meets the one-click unsubscribe compliance requirement.",
"id": "OneClickUnsubscribeVerdict",
"properties": {
"reason": {
"description": "The specific reason for the compliance verdict. Must be empty if the status is compliant.",
"enum": [
"REASON_UNSPECIFIED",
"NO_UNSUB_GENERAL",
"NO_UNSUB_SPAM_REPORTS",
"NO_UNSUB_PROMO_SPAM_REPORTS"
],
"enumDescriptions": [
"Unspecified.",
"Sender does not support one-click unsubscribe for the majority of their messages.",
"Sender does not support one-click unsubscribe for most messages that are manually reported as spam.",
"Sender does not support one-click unsubscribe for most promotional messages that are manually reported as spam. This classification of messages is a subset of those encompassed by `NO_UNSUB_SPAM_REPORTS`."
],
"type": "string"
},
"status": {
"$ref": "ComplianceStatus",
"description": "The compliance status."
}
},
"type": "object"
},
"QueryDomainStatsRequest": {
"description": "Request message for QueryDomainStats.",
"id": "QueryDomainStatsRequest",
"properties": {
"aggregationGranularity": {
"description": "Optional. The granularity at which to aggregate the statistics. If unspecified, defaults to DAILY.",
"enum": [
"AGGREGATION_GRANULARITY_UNSPECIFIED",
"DAILY",
"OVERALL"
],
"enumDescriptions": [
"Unspecified granularity. Defaults to DAILY.",
"Statistics are aggregated on a daily basis. Each DomainStats entry in the response will correspond to a single day.",
"Statistics are aggregated over the entire requested time period. Each DomainStats entry in the response will represent the total for the period."
],
"type": "string"
},
"metricDefinitions": {
"description": "Required. The specific metrics to query. You can define a custom name for each metric, which will be used in the response.",
"items": {
"$ref": "MetricDefinition"
},
"type": "array"
},
"pageSize": {
"description": "Optional. The maximum number of DomainStats resources to return in the response. The server may return fewer than this value. If unspecified, a default value of 10 will be used. The maximum value is 200.",
"format": "int32",
"type": "integer"
},
"pageToken": {
"description": "Optional. The next_page_token value returned from a previous List request, if any. If the aggregation granularity is DAILY, the page token will be the encoded date + \"/\" + metric name. If the aggregation granularity is OVERALL, the page token will be the encoded metric name.",
"type": "string"
},
"parent": {
"description": "Required. The parent resource name where the stats are queried. Format: domains/{domain}",
"type": "string"
},
"timeQuery": {
"$ref": "TimeQuery",
"description": "Required. The time range or specific dates for which to retrieve the metrics."
}
},
"type": "object"
},
"QueryDomainStatsResponse": {
"description": "Response message for QueryDomainStats.",
"id": "QueryDomainStatsResponse",
"properties": {
"domainStats": {
"description": "The list of domain statistics. Each DomainStat object contains the value for a metric requested in the QueryDomainStatsRequest.",
"items": {
"$ref": "DomainStat"
},
"type": "array"
},
"nextPageToken": {
"description": "Token to retrieve the next page of results, or empty if there are no more results in the list.",
"type": "string"
}
},
"type": "object"
},
"StatisticValue": {
"description": "The actual value of a statistic.",
"id": "StatisticValue",
"properties": {
"doubleValue": {
"description": "Double value.",
"format": "double",
"type": "number"
},
"floatValue": {
"description": "Float value.",
"format": "float",
"type": "number"
},
"intValue": {
"description": "Integer value.",
"format": "int64",
"type": "string"
},
"stringList": {
"$ref": "StringList",
"description": "List of string values."
},
"stringValue": {
"description": "String value.",
"type": "string"
}
},
"type": "object"
},
"Status": {
"description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).",
"id": "Status",
"properties": {
"code": {
"description": "The status code, which should be an enum value of google.rpc.Code.",
"format": "int32",
"type": "integer"
},
"details": {
"description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.",
"items": {
"additionalProperties": {
"description": "Properties of the object. Contains field @type with type URL.",
"type": "any"
},
"type": "object"
},
"type": "array"
},
"message": {
"description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.",
"type": "string"
}
},
"type": "object"
},
"StringList": {
"description": "Represents a list of strings.",
"id": "StringList",
"properties": {
"values": {
"description": "The string values.",
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"TimeQuery": {
"description": "The date ranges or specific dates for which you want to retrieve data.",
"id": "TimeQuery",
"properties": {
"dateList": {
"$ref": "DateList",
"description": "A list of specific dates."
},
"dateRanges": {
"$ref": "DateRanges",
"description": "A list of date ranges."
}
},
"type": "object"
}
},
"servicePath": "",
"title": "Gmail Postmaster Tools API",
"version": "v2",
"version_module": true
}