{
  "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 reponses 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?hl=en\u0026ref_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?hl=en\u0026ref_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=\u0026photoIds=\u0026...`.",
              "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 reponses 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 reponses 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": "20201022",
  "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=\u0026photoIds=\u0026...`.",
          "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 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 \u003e=0 and \u003c360. 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 \u003e=-90 and \u003c= 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 \u003e= 0 and \u003c360. 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": "Required. 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
}