{
  "basePath": "",
  "baseUrl": "https://mybusinessbusinesscalls.googleapis.com/",
  "batchPath": "batch",
  "canonicalName": "My Business Business Calls",
  "description": "The My Business Business Calls API manages business calls information of a location on Google.",
  "discoveryVersion": "v1",
  "documentationLink": "https://developers.google.com/my-business/",
  "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": "mybusinessbusinesscalls:v1",
  "kind": "discovery#restDescription",
  "mtlsRootUrl": "https://mybusinessbusinesscalls.mtls.googleapis.com/",
  "name": "mybusinessbusinesscalls",
  "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": {
    "locations": {
      "methods": {
        "getBusinesscallssettings": {
          "description": "Returns the Business calls settings resource for the given location.",
          "flatPath": "v1/locations/{locationsId}/businesscallssettings",
          "httpMethod": "GET",
          "id": "mybusinessbusinesscalls.locations.getBusinesscallssettings",
          "parameterOrder": [
            "name"
          ],
          "parameters": {
            "name": {
              "description": "Required. The BusinessCallsSettings to get. The `name` field is used to identify the business call settings to get. Format: locations/{location_id}/businesscallssettings.",
              "location": "path",
              "pattern": "^locations/[^/]+/businesscallssettings$",
              "required": true,
              "type": "string"
            }
          },
          "path": "v1/{+name}",
          "response": {
            "$ref": "BusinessCallsSettings"
          }
        },
        "updateBusinesscallssettings": {
          "description": "Updates the Business call settings for the specified location.",
          "flatPath": "v1/locations/{locationsId}/businesscallssettings",
          "httpMethod": "PATCH",
          "id": "mybusinessbusinesscalls.locations.updateBusinesscallssettings",
          "parameterOrder": [
            "name"
          ],
          "parameters": {
            "name": {
              "description": "Required. The resource name of the calls settings. Format: locations/{location}/businesscallssettings",
              "location": "path",
              "pattern": "^locations/[^/]+/businesscallssettings$",
              "required": true,
              "type": "string"
            },
            "updateMask": {
              "description": "Required. The list of fields to update.",
              "format": "google-fieldmask",
              "location": "query",
              "type": "string"
            }
          },
          "path": "v1/{+name}",
          "request": {
            "$ref": "BusinessCallsSettings"
          },
          "response": {
            "$ref": "BusinessCallsSettings"
          }
        }
      },
      "resources": {
        "businesscallsinsights": {
          "methods": {
            "list": {
              "description": "Returns insights for Business calls for a location.",
              "flatPath": "v1/locations/{locationsId}/businesscallsinsights",
              "httpMethod": "GET",
              "id": "mybusinessbusinesscalls.locations.businesscallsinsights.list",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "filter": {
                  "description": "Optional. A filter constraining the calls insights to return. The response includes only entries that match the filter. If the MetricType is not provided, AGGREGATE_COUNT is returned. If no end_date is provided, the last date for which data is available is used. If no start_date is provided, we will default to the first date for which data is available, which is currently 6 months. If start_date is before the date when data is available, data is returned starting from the date when it is available. At this time we support following filters. 1. start_date=\"DATE\" where date is in YYYY-MM-DD format. 2. end_date=\"DATE\" where date is in YYYY-MM-DD format. 3. metric_type=XYZ where XYZ is a valid MetricType. 4. Conjunctions(AND) of all of the above. e.g., \"start_date=2021-08-01 AND end_date=2021-08-10 AND metric_type=AGGREGATE_COUNT\" The AGGREGATE_COUNT metric_type ignores the DD part of the date.",
                  "location": "query",
                  "type": "string"
                },
                "pageSize": {
                  "description": "Optional. The maximum number of BusinessCallsInsights to return. If unspecified, at most 20 will be returned. Some of the metric_types(e.g, AGGREGATE_COUNT) returns a single page. For these metrics, the page_size is ignored.",
                  "format": "int32",
                  "location": "query",
                  "type": "integer"
                },
                "pageToken": {
                  "description": "Optional. A page token, received from a previous `ListBusinessCallsInsights` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListBusinessCallsInsights` must match the call that provided the page token. Some of the metric_types (e.g, AGGREGATE_COUNT) returns a single page. For these metrics, the pake_token is ignored.",
                  "location": "query",
                  "type": "string"
                },
                "parent": {
                  "description": "Required. The parent location to fetch calls insights for. Format: locations/{location_id}",
                  "location": "path",
                  "pattern": "^locations/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/{+parent}/businesscallsinsights",
              "response": {
                "$ref": "ListBusinessCallsInsightsResponse"
              }
            }
          }
        }
      }
    }
  },
  "revision": "20220604",
  "rootUrl": "https://mybusinessbusinesscalls.googleapis.com/",
  "schemas": {
    "AggregateMetrics": {
      "description": "Metrics aggregated over the input time range.",
      "id": "AggregateMetrics",
      "properties": {
        "answeredCallsCount": {
          "description": "Total count of answered calls.",
          "format": "int32",
          "type": "integer"
        },
        "endDate": {
          "$ref": "Date",
          "description": "End date for this metric."
        },
        "hourlyMetrics": {
          "description": "A list of metrics by hour of day.",
          "items": {
            "$ref": "HourlyMetrics"
          },
          "type": "array"
        },
        "missedCallsCount": {
          "description": "Total count of missed calls.",
          "format": "int32",
          "type": "integer"
        },
        "startDate": {
          "$ref": "Date",
          "description": "Date for this metric. If metric is monthly, only year and month are used."
        },
        "weekdayMetrics": {
          "description": "A list of metrics by day of week.",
          "items": {
            "$ref": "WeekDayMetrics"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "BusinessCallsInsights": {
      "description": "Insights for calls made to a location.",
      "id": "BusinessCallsInsights",
      "properties": {
        "aggregateMetrics": {
          "$ref": "AggregateMetrics",
          "description": "Metric for the time range based on start_date and end_date."
        },
        "metricType": {
          "description": "The metric for which the value applies.",
          "enum": [
            "METRIC_TYPE_UNSPECIFIED",
            "AGGREGATE_COUNT"
          ],
          "enumDescriptions": [
            "Type of metric is unspecified.",
            "The metrics provided are counts aggregated over the input time_range."
          ],
          "type": "string"
        },
        "name": {
          "description": "Required. The resource name of the calls insights. Format: locations/{location}/businesscallsinsights",
          "type": "string"
        }
      },
      "type": "object"
    },
    "BusinessCallsSettings": {
      "description": "Business calls settings for a location.",
      "id": "BusinessCallsSettings",
      "properties": {
        "callsState": {
          "description": "Required. The state of this location's enrollment in Business calls.",
          "enum": [
            "CALLS_STATE_UNSPECIFIED",
            "ENABLED",
            "DISABLED"
          ],
          "enumDescriptions": [
            "Unspecified.",
            "Business calls is enabled for the location.",
            "Business calls is disabled for the location."
          ],
          "type": "string"
        },
        "consentTime": {
          "description": "Input only. Time when the end user provided consent to the API user to enable business calls.",
          "format": "google-datetime",
          "type": "string"
        },
        "name": {
          "description": "Required. The resource name of the calls settings. Format: locations/{location}/businesscallssettings",
          "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"
    },
    "HourlyMetrics": {
      "description": "Metrics for an hour.",
      "id": "HourlyMetrics",
      "properties": {
        "hour": {
          "description": "Hour of the day. Allowed values are 0-23.",
          "format": "int32",
          "type": "integer"
        },
        "missedCallsCount": {
          "description": "Total count of missed calls for this hour.",
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "ListBusinessCallsInsightsResponse": {
      "description": "Response message for ListBusinessCallsInsights.",
      "id": "ListBusinessCallsInsightsResponse",
      "properties": {
        "businessCallsInsights": {
          "description": "A collection of business calls insights for the location.",
          "items": {
            "$ref": "BusinessCallsInsights"
          },
          "type": "array"
        },
        "nextPageToken": {
          "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. Some of the metric_types (e.g, AGGREGATE_COUNT) returns a single page. For these metrics, the next_page_token will be empty.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "WeekDayMetrics": {
      "description": "Metrics for a week day.",
      "id": "WeekDayMetrics",
      "properties": {
        "day": {
          "description": "Day of the week. Allowed values are Sunday - Saturday.",
          "enum": [
            "DAY_OF_WEEK_UNSPECIFIED",
            "MONDAY",
            "TUESDAY",
            "WEDNESDAY",
            "THURSDAY",
            "FRIDAY",
            "SATURDAY",
            "SUNDAY"
          ],
          "enumDescriptions": [
            "The day of the week is unspecified.",
            "Monday",
            "Tuesday",
            "Wednesday",
            "Thursday",
            "Friday",
            "Saturday",
            "Sunday"
          ],
          "type": "string"
        },
        "missedCallsCount": {
          "description": "Total count of missed calls for this hour.",
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    }
  },
  "servicePath": "",
  "title": "My Business Business Calls API",
  "version": "v1",
  "version_module": true
}