{
  "auth": {
    "oauth2": {
      "scopes": {
        "https://www.googleapis.com/auth/streetviewpublish": {
          "description": "Publish and manage your 360 photos on Google Street View"
        }
      }
    }
  },
  "basePath": "",
  "baseUrl": "https://streetviewpublish.googleapis.com/",
  "batchPath": "batch",
  "canonicalName": "Street View Publish",
  "description": "Publishes 360 photos to Google Maps, along with position, orientation, and connectivity metadata. Apps can offer an interface for positioning, connecting, and uploading user-generated Street View images. ",
  "discoveryVersion": "v1",
  "documentationLink": "https://developers.google.com/streetview/publish/",
  "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": "streetviewpublish:v1",
  "kind": "discovery#restDescription",
  "mtlsRootUrl": "https://streetviewpublish.mtls.googleapis.com/",
  "name": "streetviewpublish",
  "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": {
    "photo": {
      "methods": {
        "create": {
          "description": "After the client finishes uploading the photo with the returned UploadRef, CreatePhoto publishes the uploaded Photo to Street View on Google Maps. Currently, the only way to set heading, pitch, and roll in CreatePhoto is through the [Photo Sphere XMP metadata](https://developers.google.com/streetview/spherical-metadata) in the photo bytes. CreatePhoto ignores the `pose.heading`, `pose.pitch`, `pose.roll`, `pose.altitude`, and `pose.level` fields in Pose. This method returns the following error codes: * google.rpc.Code.INVALID_ARGUMENT if the request is malformed or if the uploaded photo is not a 360 photo. * google.rpc.Code.NOT_FOUND if the upload reference does not exist. * google.rpc.Code.RESOURCE_EXHAUSTED if the account has reached the storage limit.",
          "flatPath": "v1/photo",
          "httpMethod": "POST",
          "id": "streetviewpublish.photo.create",
          "parameterOrder": [],
          "parameters": {},
          "path": "v1/photo",
          "request": {
            "$ref": "Photo"
          },
          "response": {
            "$ref": "Photo"
          },
          "scopes": [
            "https://www.googleapis.com/auth/streetviewpublish"
          ]
        },
        "delete": {
          "description": "Deletes a Photo and its metadata. This method returns the following error codes: * google.rpc.Code.PERMISSION_DENIED if the requesting user did not create the requested photo. * google.rpc.Code.NOT_FOUND if the photo ID does not exist.",
          "flatPath": "v1/photo/{photoId}",
          "httpMethod": "DELETE",
          "id": "streetviewpublish.photo.delete",
          "parameterOrder": [
            "photoId"
          ],
          "parameters": {
            "photoId": {
              "description": "Required. ID of the Photo.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "v1/photo/{photoId}",
          "response": {
            "$ref": "Empty"
          },
          "scopes": [
            "https://www.googleapis.com/auth/streetviewpublish"
          ]
        },
        "get": {
          "description": "Gets the metadata of the specified Photo. This method returns the following error codes: * google.rpc.Code.PERMISSION_DENIED if the requesting user did not create the requested Photo. * google.rpc.Code.NOT_FOUND if the requested Photo does not exist. * google.rpc.Code.UNAVAILABLE if the requested Photo is still being indexed.",
          "flatPath": "v1/photo/{photoId}",
          "httpMethod": "GET",
          "id": "streetviewpublish.photo.get",
          "parameterOrder": [
            "photoId"
          ],
          "parameters": {
            "languageCode": {
              "description": "The BCP-47 language code, such as \"en-US\" or \"sr-Latn\". For more information, see http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. If language_code is unspecified, the user's language preference for Google services is used.",
              "location": "query",
              "type": "string"
            },
            "photoId": {
              "description": "Required. ID of the Photo.",
              "location": "path",
              "required": true,
              "type": "string"
            },
            "view": {
              "description": "Required. Specifies if a download URL for the photo bytes should be returned in the Photo response.",
              "enum": [
                "BASIC",
                "INCLUDE_DOWNLOAD_URL"
              ],
              "enumDescriptions": [
                "Server responses do not include the download URL for the photo bytes. The default value.",
                "Server responses include the download URL for the photo bytes."
              ],
              "location": "query",
              "type": "string"
            }
          },
          "path": "v1/photo/{photoId}",
          "response": {
            "$ref": "Photo"
          },
          "scopes": [
            "https://www.googleapis.com/auth/streetviewpublish"
          ]
        },
        "startUpload": {
          "description": "Creates an upload session to start uploading photo bytes. The method uses the upload URL of the returned UploadRef to upload the bytes for the Photo. In addition to the photo requirements shown in https://support.google.com/maps/answer/7012050?ref_topic=6275604, the photo must meet the following requirements: * Photo Sphere XMP metadata must be included in the photo metadata. See https://developers.google.com/streetview/spherical-metadata for the required fields. * The pixel size of the photo must meet the size requirements listed in https://support.google.com/maps/answer/7012050?ref_topic=6275604, and the photo must be a full 360 horizontally. After the upload completes, the method uses UploadRef with CreatePhoto to create the Photo object entry.",
          "flatPath": "v1/photo:startUpload",
          "httpMethod": "POST",
          "id": "streetviewpublish.photo.startUpload",
          "parameterOrder": [],
          "parameters": {},
          "path": "v1/photo:startUpload",
          "request": {
            "$ref": "Empty"
          },
          "response": {
            "$ref": "UploadRef"
          },
          "scopes": [
            "https://www.googleapis.com/auth/streetviewpublish"
          ]
        },
        "update": {
          "description": "Updates the metadata of a Photo, such as pose, place association, connections, etc. Changing the pixels of a photo is not supported. Only the fields specified in the updateMask field are used. If `updateMask` is not present, the update applies to all fields. This method returns the following error codes: * google.rpc.Code.PERMISSION_DENIED if the requesting user did not create the requested photo. * google.rpc.Code.INVALID_ARGUMENT if the request is malformed. * google.rpc.Code.NOT_FOUND if the requested photo does not exist. * google.rpc.Code.UNAVAILABLE if the requested Photo is still being indexed.",
          "flatPath": "v1/photo/{id}",
          "httpMethod": "PUT",
          "id": "streetviewpublish.photo.update",
          "parameterOrder": [
            "id"
          ],
          "parameters": {
            "id": {
              "description": "Required. A unique identifier for a photo.",
              "location": "path",
              "required": true,
              "type": "string"
            },
            "updateMask": {
              "description": "Required. Mask that identifies fields on the photo metadata to update. If not present, the old Photo metadata is entirely replaced with the new Photo metadata in this request. The update fails if invalid fields are specified. Multiple fields can be specified in a comma-delimited list. The following fields are valid: * `pose.heading` * `pose.latLngPair` * `pose.pitch` * `pose.roll` * `pose.level` * `pose.altitude` * `connections` * `places` *Note:* When updateMask contains repeated fields, the entire set of repeated values get replaced with the new contents. For example, if updateMask contains `connections` and `UpdatePhotoRequest.photo.connections` is empty, all connections are removed.",
              "format": "google-fieldmask",
              "location": "query",
              "type": "string"
            }
          },
          "path": "v1/photo/{id}",
          "request": {
            "$ref": "Photo"
          },
          "response": {
            "$ref": "Photo"
          },
          "scopes": [
            "https://www.googleapis.com/auth/streetviewpublish"
          ]
        }
      }
    },
    "photos": {
      "methods": {
        "batchDelete": {
          "description": "Deletes a list of Photos and their metadata. Note that if BatchDeletePhotos fails, either critical fields are missing or there is an authentication error. Even if BatchDeletePhotos succeeds, individual photos in the batch may have failures. These failures are specified in each PhotoResponse.status in BatchDeletePhotosResponse.results. See DeletePhoto for specific failures that can occur per photo.",
          "flatPath": "v1/photos:batchDelete",
          "httpMethod": "POST",
          "id": "streetviewpublish.photos.batchDelete",
          "parameterOrder": [],
          "parameters": {},
          "path": "v1/photos:batchDelete",
          "request": {
            "$ref": "BatchDeletePhotosRequest"
          },
          "response": {
            "$ref": "BatchDeletePhotosResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/streetviewpublish"
          ]
        },
        "batchGet": {
          "description": "Gets the metadata of the specified Photo batch. Note that if BatchGetPhotos fails, either critical fields are missing or there is an authentication error. Even if BatchGetPhotos succeeds, individual photos in the batch may have failures. These failures are specified in each PhotoResponse.status in BatchGetPhotosResponse.results. See GetPhoto for specific failures that can occur per photo.",
          "flatPath": "v1/photos:batchGet",
          "httpMethod": "GET",
          "id": "streetviewpublish.photos.batchGet",
          "parameterOrder": [],
          "parameters": {
            "languageCode": {
              "description": "The BCP-47 language code, such as \"en-US\" or \"sr-Latn\". For more information, see http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. If language_code is unspecified, the user's language preference for Google services is used.",
              "location": "query",
              "type": "string"
            },
            "photoIds": {
              "description": "Required. IDs of the Photos. For HTTP GET requests, the URL query parameter should be `photoIds=&photoIds=&...`.",
              "location": "query",
              "repeated": true,
              "type": "string"
            },
            "view": {
              "description": "Required. Specifies if a download URL for the photo bytes should be returned in the Photo response.",
              "enum": [
                "BASIC",
                "INCLUDE_DOWNLOAD_URL"
              ],
              "enumDescriptions": [
                "Server responses do not include the download URL for the photo bytes. The default value.",
                "Server responses include the download URL for the photo bytes."
              ],
              "location": "query",
              "type": "string"
            }
          },
          "path": "v1/photos:batchGet",
          "response": {
            "$ref": "BatchGetPhotosResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/streetviewpublish"
          ]
        },
        "batchUpdate": {
          "description": "Updates the metadata of Photos, such as pose, place association, connections, etc. Changing the pixels of photos is not supported. Note that if BatchUpdatePhotos fails, either critical fields are missing or there is an authentication error. Even if BatchUpdatePhotos succeeds, individual photos in the batch may have failures. These failures are specified in each PhotoResponse.status in BatchUpdatePhotosResponse.results. See UpdatePhoto for specific failures that can occur per photo. Only the fields specified in updateMask field are used. If `updateMask` is not present, the update applies to all fields. The number of UpdatePhotoRequest messages in a BatchUpdatePhotosRequest must not exceed 20. *Note:* To update Pose.altitude, Pose.latLngPair has to be filled as well. Otherwise, the request will fail.",
          "flatPath": "v1/photos:batchUpdate",
          "httpMethod": "POST",
          "id": "streetviewpublish.photos.batchUpdate",
          "parameterOrder": [],
          "parameters": {},
          "path": "v1/photos:batchUpdate",
          "request": {
            "$ref": "BatchUpdatePhotosRequest"
          },
          "response": {
            "$ref": "BatchUpdatePhotosResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/streetviewpublish"
          ]
        },
        "list": {
          "description": "Lists all the Photos that belong to the user. *Note:* Recently created photos that are still being indexed are not returned in the response.",
          "flatPath": "v1/photos",
          "httpMethod": "GET",
          "id": "streetviewpublish.photos.list",
          "parameterOrder": [],
          "parameters": {
            "filter": {
              "description": "Required. The filter expression. For example: `placeId=ChIJj61dQgK6j4AR4GeTYWZsKWw`. The only filter supported at the moment is `placeId`.",
              "location": "query",
              "type": "string"
            },
            "languageCode": {
              "description": "The BCP-47 language code, such as \"en-US\" or \"sr-Latn\". For more information, see http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. If language_code is unspecified, the user's language preference for Google services is used.",
              "location": "query",
              "type": "string"
            },
            "pageSize": {
              "description": "The maximum number of photos to return. `pageSize` must be non-negative. If `pageSize` is zero or is not provided, the default page size of 100 is used. The number of photos returned in the response may be less than `pageSize` if the number of photos that belong to the user is less than `pageSize`.",
              "format": "int32",
              "location": "query",
              "type": "integer"
            },
            "pageToken": {
              "description": "The nextPageToken value returned from a previous ListPhotos request, if any.",
              "location": "query",
              "type": "string"
            },
            "view": {
              "description": "Required. Specifies if a download URL for the photos bytes should be returned in the Photos response.",
              "enum": [
                "BASIC",
                "INCLUDE_DOWNLOAD_URL"
              ],
              "enumDescriptions": [
                "Server responses do not include the download URL for the photo bytes. The default value.",
                "Server responses include the download URL for the photo bytes."
              ],
              "location": "query",
              "type": "string"
            }
          },
          "path": "v1/photos",
          "response": {
            "$ref": "ListPhotosResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/streetviewpublish"
          ]
        }
      }
    }
  },
  "revision": "20210605",
  "rootUrl": "https://streetviewpublish.googleapis.com/",
  "schemas": {
    "BatchDeletePhotosRequest": {
      "description": "Request to delete multiple Photos.",
      "id": "BatchDeletePhotosRequest",
      "properties": {
        "photoIds": {
          "description": "Required. IDs of the Photos. HTTP GET requests require the following syntax for the URL query parameter: `photoIds=&photoIds=&...`.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "BatchDeletePhotosResponse": {
      "description": "Response to batch delete of one or more Photos.",
      "id": "BatchDeletePhotosResponse",
      "properties": {
        "status": {
          "description": "The status for the operation to delete a single Photo in the batch request.",
          "items": {
            "$ref": "Status"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "BatchGetPhotosResponse": {
      "description": "Response to batch get of Photos.",
      "id": "BatchGetPhotosResponse",
      "properties": {
        "results": {
          "description": "List of results for each individual Photo requested, in the same order as the requests in BatchGetPhotos.",
          "items": {
            "$ref": "PhotoResponse"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "BatchUpdatePhotosRequest": {
      "description": "Request to update the metadata of photos. Updating the pixels of photos is not supported.",
      "id": "BatchUpdatePhotosRequest",
      "properties": {
        "updatePhotoRequests": {
          "description": "Required. List of UpdatePhotoRequests.",
          "items": {
            "$ref": "UpdatePhotoRequest"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "BatchUpdatePhotosResponse": {
      "description": "Response to batch update of metadata of one or more Photos.",
      "id": "BatchUpdatePhotosResponse",
      "properties": {
        "results": {
          "description": "List of results for each individual Photo updated, in the same order as the request.",
          "items": {
            "$ref": "PhotoResponse"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "Connection": {
      "description": "A connection is the link from a source photo to a destination photo.",
      "id": "Connection",
      "properties": {
        "target": {
          "$ref": "PhotoId",
          "description": "Required. The destination of the connection from the containing photo to another photo."
        }
      },
      "type": "object"
    },
    "Empty": {
      "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); } The JSON representation for `Empty` is empty JSON object `{}`.",
      "id": "Empty",
      "properties": {},
      "type": "object"
    },
    "LatLng": {
      "description": "An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges.",
      "id": "LatLng",
      "properties": {
        "latitude": {
          "description": "The latitude in degrees. It must be in the range [-90.0, +90.0].",
          "format": "double",
          "type": "number"
        },
        "longitude": {
          "description": "The longitude in degrees. It must be in the range [-180.0, +180.0].",
          "format": "double",
          "type": "number"
        }
      },
      "type": "object"
    },
    "Level": {
      "description": "Level information containing level number and its corresponding name.",
      "id": "Level",
      "properties": {
        "name": {
          "description": "Required. A name assigned to this Level, restricted to 3 characters. Consider how the elevator buttons would be labeled for this level if there was an elevator.",
          "type": "string"
        },
        "number": {
          "description": "Floor number, used for ordering. 0 indicates the ground level, 1 indicates the first level above ground level, -1 indicates the first level under ground level. Non-integer values are OK.",
          "format": "double",
          "type": "number"
        }
      },
      "type": "object"
    },
    "ListPhotosResponse": {
      "description": "Response to list all photos that belong to a user.",
      "id": "ListPhotosResponse",
      "properties": {
        "nextPageToken": {
          "description": "Token to retrieve the next page of results, or empty if there are no more results in the list.",
          "type": "string"
        },
        "photos": {
          "description": "List of photos. The pageSize field in the request determines the number of items returned.",
          "items": {
            "$ref": "Photo"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "Operation": {
      "description": "This resource represents a long-running operation that is the result of a network API call.",
      "id": "Operation",
      "properties": {
        "done": {
          "description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.",
          "type": "boolean"
        },
        "error": {
          "$ref": "Status",
          "description": "The error result of the operation in case of failure or cancellation."
        },
        "metadata": {
          "additionalProperties": {
            "description": "Properties of the object. Contains field @type with type URL.",
            "type": "any"
          },
          "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.",
          "type": "object"
        },
        "name": {
          "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.",
          "type": "string"
        },
        "response": {
          "additionalProperties": {
            "description": "Properties of the object. Contains field @type with type URL.",
            "type": "any"
          },
          "description": "The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.",
          "type": "object"
        }
      },
      "type": "object"
    },
    "Photo": {
      "description": "Photo is used to store 360 photos along with photo metadata.",
      "id": "Photo",
      "properties": {
        "captureTime": {
          "description": "Absolute time when the photo was captured. When the photo has no exif timestamp, this is used to set a timestamp in the photo metadata.",
          "format": "google-datetime",
          "type": "string"
        },
        "connections": {
          "description": "Connections to other photos. A connection represents the link from this photo to another photo.",
          "items": {
            "$ref": "Connection"
          },
          "type": "array"
        },
        "downloadUrl": {
          "description": "Output only. The download URL for the photo bytes. This field is set only when GetPhotoRequest.view is set to PhotoView.INCLUDE_DOWNLOAD_URL.",
          "type": "string"
        },
        "mapsPublishStatus": {
          "description": "Output only. Status in Google Maps, whether this photo was published or rejected. Not currently populated.",
          "enum": [
            "UNSPECIFIED_MAPS_PUBLISH_STATUS",
            "PUBLISHED",
            "REJECTED_UNKNOWN"
          ],
          "enumDescriptions": [
            "The status of the photo is unknown.",
            "The photo is published to the public through Google Maps.",
            "The photo has been rejected for an unknown reason."
          ],
          "type": "string"
        },
        "photoId": {
          "$ref": "PhotoId",
          "description": "Required when updating a photo. Output only when creating a photo. Identifier for the photo, which is unique among all photos in Google."
        },
        "places": {
          "description": "Places where this photo belongs.",
          "items": {
            "$ref": "Place"
          },
          "type": "array"
        },
        "pose": {
          "$ref": "Pose",
          "description": "Pose of the photo."
        },
        "shareLink": {
          "description": "Output only. The share link for the photo.",
          "type": "string"
        },
        "thumbnailUrl": {
          "description": "Output only. The thumbnail URL for showing a preview of the given photo.",
          "type": "string"
        },
        "transferStatus": {
          "description": "Output only. Status of rights transfer on this photo.",
          "enum": [
            "TRANSFER_STATUS_UNKNOWN",
            "NEVER_TRANSFERRED",
            "PENDING",
            "COMPLETED",
            "REJECTED",
            "EXPIRED",
            "CANCELLED",
            "RECEIVED_VIA_TRANSFER"
          ],
          "enumDescriptions": [
            "The status of this transfer is unspecified.",
            "This photo has never been in a transfer.",
            "This photo transfer has been initiated, but the receiver has not yet responded.",
            "The photo transfer has been completed, and this photo has been transferred to the recipient.",
            "The recipient rejected this photo transfer.",
            "The photo transfer expired before the recipient took any action.",
            "The sender cancelled this photo transfer.",
            "The recipient owns this photo due to a rights transfer."
          ],
          "type": "string"
        },
        "uploadReference": {
          "$ref": "UploadRef",
          "description": "Required when creating a photo. Input only. The resource URL where the photo bytes are uploaded to."
        },
        "viewCount": {
          "description": "Output only. View count of the photo.",
          "format": "int64",
          "type": "string"
        }
      },
      "type": "object"
    },
    "PhotoId": {
      "description": "Identifier for a Photo.",
      "id": "PhotoId",
      "properties": {
        "id": {
          "description": "Required. A unique identifier for a photo.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "PhotoResponse": {
      "description": "Response payload for a single Photo in batch operations including BatchGetPhotos and BatchUpdatePhotos.",
      "id": "PhotoResponse",
      "properties": {
        "photo": {
          "$ref": "Photo",
          "description": "The Photo resource, if the request was successful."
        },
        "status": {
          "$ref": "Status",
          "description": "The status for the operation to get or update a single photo in the batch request."
        }
      },
      "type": "object"
    },
    "Place": {
      "description": "Place metadata for an entity.",
      "id": "Place",
      "properties": {
        "languageCode": {
          "description": "Output-only. The language_code that the name is localized with. This should be the language_code specified in the request, but may be a fallback.",
          "type": "string"
        },
        "name": {
          "description": "Output-only. The name of the place, localized to the language_code.",
          "type": "string"
        },
        "placeId": {
          "description": "Place identifier, as described in https://developers.google.com/places/place-id.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "Pose": {
      "description": "Raw pose measurement for an entity.",
      "id": "Pose",
      "properties": {
        "accuracyMeters": {
          "description": "The estimated horizontal accuracy of this pose in meters with 68% confidence (one standard deviation). For example, on Android, this value is available from this method: https://developer.android.com/reference/android/location/Location#getAccuracy(). Other platforms have different methods of obtaining similar accuracy estimations.",
          "format": "float",
          "type": "number"
        },
        "altitude": {
          "description": "Altitude of the pose in meters above WGS84 ellipsoid. NaN indicates an unmeasured quantity.",
          "format": "double",
          "type": "number"
        },
        "heading": {
          "description": "Compass heading, measured at the center of the photo in degrees clockwise from North. Value must be >=0 and <360. NaN indicates an unmeasured quantity.",
          "format": "double",
          "type": "number"
        },
        "latLngPair": {
          "$ref": "LatLng",
          "description": "Latitude and longitude pair of the pose, as explained here: https://cloud.google.com/datastore/docs/reference/rest/Shared.Types/LatLng When creating a Photo, if the latitude and longitude pair are not provided, the geolocation from the exif header is used. A latitude and longitude pair not provided in the photo or exif header causes the photo process to fail."
        },
        "level": {
          "$ref": "Level",
          "description": "Level (the floor in a building) used to configure vertical navigation."
        },
        "pitch": {
          "description": "Pitch, measured at the center of the photo in degrees. Value must be >=-90 and <= 90. A value of -90 means looking directly down, and a value of 90 means looking directly up. NaN indicates an unmeasured quantity.",
          "format": "double",
          "type": "number"
        },
        "roll": {
          "description": "Roll, measured in degrees. Value must be >= 0 and <360. A value of 0 means level with the horizon. NaN indicates an unmeasured quantity.",
          "format": "double",
          "type": "number"
        }
      },
      "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"
    },
    "UpdatePhotoRequest": {
      "description": "Request to update the metadata of a Photo. Updating the pixels of a photo is not supported.",
      "id": "UpdatePhotoRequest",
      "properties": {
        "photo": {
          "$ref": "Photo",
          "description": "Required. Photo object containing the new metadata."
        },
        "updateMask": {
          "description": "Required. Mask that identifies fields on the photo metadata to update. If not present, the old Photo metadata is entirely replaced with the new Photo metadata in this request. The update fails if invalid fields are specified. Multiple fields can be specified in a comma-delimited list. The following fields are valid: * `pose.heading` * `pose.latLngPair` * `pose.pitch` * `pose.roll` * `pose.level` * `pose.altitude` * `connections` * `places` *Note:* When updateMask contains repeated fields, the entire set of repeated values get replaced with the new contents. For example, if updateMask contains `connections` and `UpdatePhotoRequest.photo.connections` is empty, all connections are removed.",
          "format": "google-fieldmask",
          "type": "string"
        }
      },
      "type": "object"
    },
    "UploadRef": {
      "description": "Upload reference for media files.",
      "id": "UploadRef",
      "properties": {
        "uploadUrl": {
          "description": "An upload reference should be unique for each user. It follows the form: \"https://streetviewpublish.googleapis.com/media/user/{account_id}/photo/{upload_reference}\"",
          "type": "string"
        }
      },
      "type": "object"
    }
  },
  "servicePath": "",
  "title": "Street View Publish API",
  "version": "v1",
  "version_module": true
}