{
  "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.\n",
  "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",
  "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\nUploadRef,\nCreatePhoto\npublishes the uploaded Photo to\nStreet View on Google Maps.\n\nCurrently, the only way to set heading, pitch, and roll in CreatePhoto is\nthrough the [Photo Sphere XMP\nmetadata](https://developers.google.com/streetview/spherical-metadata) in\nthe photo bytes. The `pose.heading`, `pose.pitch`, `pose.roll`,\n`pose.altitude`, and `pose.level` fields in Pose are ignored for\nCreatePhoto.\n\nThis method returns the following error codes:\n\n* google.rpc.Code.INVALID_ARGUMENT if the request is malformed or if\nthe uploaded photo is not a 360 photo.\n* google.rpc.Code.NOT_FOUND if the upload reference does not exist.\n* google.rpc.Code.RESOURCE_EXHAUSTED if the account has reached the\nstorage 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.\n\nThis method returns the following error codes:\n\n* google.rpc.Code.PERMISSION_DENIED if the requesting user did not\ncreate the requested photo.\n* 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\nPhoto.\n\nThis method returns the following error codes:\n\n* google.rpc.Code.PERMISSION_DENIED if the requesting user did not\ncreate the requested Photo.\n* google.rpc.Code.NOT_FOUND if the requested\nPhoto does not exist.\n* google.rpc.Code.UNAVAILABLE if the requested\nPhoto 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\ninformation, see\nhttp://www.unicode.org/reports/tr35/#Unicode_locale_identifier.\nIf language_code is unspecified, the user's language preference for Google\nservices will be used.",
              "location": "query",
              "type": "string"
            },
            "photoId": {
              "description": "Required. ID of the Photo.",
              "location": "path",
              "required": true,
              "type": "string"
            },
            "view": {
              "description": "Specifies if a download URL for the photo bytes should be returned in the\nPhoto response.",
              "enum": [
                "BASIC",
                "INCLUDE_DOWNLOAD_URL"
              ],
              "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 upload URL of\nthe returned UploadRef is used to\nupload the bytes for the Photo.\n\nIn addition to the photo requirements shown in\nhttps://support.google.com/maps/answer/7012050?hl=en\u0026ref_topic=6275604,\nthe photo must also meet the following requirements:\n\n* Photo Sphere XMP metadata must be included in the photo medadata. See\nhttps://developers.google.com/streetview/spherical-metadata for the\nrequired fields.\n* The pixel size of the photo must meet the size requirements listed in\nhttps://support.google.com/maps/answer/7012050?hl=en\u0026ref_topic=6275604, and\nthe photo must be a full 360 horizontally.\n\nAfter the upload is complete, the\nUploadRef is used with\nCreatePhoto\nto 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\nas pose, place association, connections, etc. Changing the pixels of a\nphoto is not supported.\n\nOnly the fields specified in the\nupdateMask\nfield are used. If `updateMask` is not present, the update applies to all\nfields.\n\n\u003caside class=\"note\"\u003e\u003cb\u003eNote:\u003c/b\u003e To update\nPose.altitude,\nPose.latLngPair has to be\nfilled as well. Otherwise, the request will fail.\u003c/aside\u003e\n\nThis method returns the following error codes:\n\n* google.rpc.Code.PERMISSION_DENIED if the requesting user did not\ncreate the requested photo.\n* google.rpc.Code.INVALID_ARGUMENT if the request is malformed.\n* google.rpc.Code.NOT_FOUND if the requested photo does not exist.\n* google.rpc.Code.UNAVAILABLE if the requested\nPhoto 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": "Mask that identifies fields on the photo metadata to update.\nIf not present, the old Photo\nmetadata will be entirely replaced with the\nnew Photo metadata in this request.\nThe update fails if invalid fields are specified. Multiple fields can be\nspecified in a comma-delimited list.\n\nThe following fields are valid:\n\n* `pose.heading`\n* `pose.latLngPair`\n* `pose.pitch`\n* `pose.roll`\n* `pose.level`\n* `pose.altitude`\n* `connections`\n* `places`\n\n\n\u003caside class=\"note\"\u003e\u003cb\u003eNote:\u003c/b\u003e Repeated fields in\nupdateMask\nmean the entire set of repeated values will be replaced with the new\ncontents. For example, if\nupdateMask\ncontains `connections` and `UpdatePhotoRequest.photo.connections` is empty,\nall connections will be removed.\u003c/aside\u003e",
              "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\nmetadata.\n\nNote that if\nBatchDeletePhotos\nfails, either critical fields are missing or there was an authentication\nerror. Even if\nBatchDeletePhotos\nsucceeds, there may have been failures for single photos in the batch.\nThese failures will be specified in each\nPhotoResponse.status\nin\nBatchDeletePhotosResponse.results.\nSee\nDeletePhoto\nfor 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\nPhoto batch.\n\nNote that if\nBatchGetPhotos\nfails, either critical fields are missing or there was an authentication\nerror. Even if\nBatchGetPhotos\nsucceeds, there may have been failures for single photos in the batch.\nThese failures will be specified in each\nPhotoResponse.status\nin\nBatchGetPhotosResponse.results.\nSee\nGetPhoto\nfor 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\ninformation, see\nhttp://www.unicode.org/reports/tr35/#Unicode_locale_identifier.\nIf language_code is unspecified, the user's language preference for Google\nservices will be used.",
              "location": "query",
              "type": "string"
            },
            "photoIds": {
              "description": "Required. IDs of the Photos. For HTTP\nGET requests, the URL query parameter should be\n`photoIds=\u003cid1\u003e\u0026photoIds=\u003cid2\u003e\u0026...`.",
              "location": "query",
              "repeated": true,
              "type": "string"
            },
            "view": {
              "description": "Specifies if a download URL for the photo bytes should be returned in the\nPhoto response.",
              "enum": [
                "BASIC",
                "INCLUDE_DOWNLOAD_URL"
              ],
              "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\nas pose, place association, connections, etc. Changing the pixels of photos\nis not supported.\n\nNote that if\nBatchUpdatePhotos\nfails, either critical fields are missing or there was an authentication\nerror. Even if\nBatchUpdatePhotos\nsucceeds, there may have been failures for single photos in the batch.\nThese failures will be specified in each\nPhotoResponse.status\nin\nBatchUpdatePhotosResponse.results.\nSee\nUpdatePhoto\nfor specific failures that can occur per photo.\n\nOnly the fields specified in\nupdateMask\nfield are used. If `updateMask` is not present, the update applies to all\nfields.\n\nThe number of\nUpdatePhotoRequest\nmessages in a\nBatchUpdatePhotosRequest\nmust not exceed 20.\n\n\u003caside class=\"note\"\u003e\u003cb\u003eNote:\u003c/b\u003e To update\nPose.altitude,\nPose.latLngPair has to be\nfilled as well. Otherwise, the request will fail.\u003c/aside\u003e",
          "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\nthe user.\n\n\u003caside class=\"note\"\u003e\u003cb\u003eNote:\u003c/b\u003e Recently created photos that are still\nbeing indexed are not returned in the response.\u003c/aside\u003e",
          "flatPath": "v1/photos",
          "httpMethod": "GET",
          "id": "streetviewpublish.photos.list",
          "parameterOrder": [],
          "parameters": {
            "filter": {
              "description": "The filter expression. For example: `placeId=ChIJj61dQgK6j4AR4GeTYWZsKWw`.\n\nThe 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\ninformation, see\nhttp://www.unicode.org/reports/tr35/#Unicode_locale_identifier.\nIf language_code is unspecified, the user's language preference for Google\nservices will be used.",
              "location": "query",
              "type": "string"
            },
            "pageSize": {
              "description": "The maximum number of photos to return.\n`pageSize` must be non-negative. If `pageSize` is zero or is not provided,\nthe default page size of 100 will be used.\nThe number of photos returned in the response may be less than `pageSize`\nif the number of photos that belong to the user is less than `pageSize`.",
              "format": "int32",
              "location": "query",
              "type": "integer"
            },
            "pageToken": {
              "description": "The\nnextPageToken\nvalue returned from a previous\nListPhotos\nrequest, if any.",
              "location": "query",
              "type": "string"
            },
            "view": {
              "description": "Specifies if a download URL for the photos bytes should be returned in the\nPhotos response.",
              "enum": [
                "BASIC",
                "INCLUDE_DOWNLOAD_URL"
              ],
              "location": "query",
              "type": "string"
            }
          },
          "path": "v1/photos",
          "response": {
            "$ref": "ListPhotosResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/streetviewpublish"
          ]
        }
      }
    }
  },
  "revision": "20181212",
  "rootUrl": "https://streetviewpublish.googleapis.com/",
  "schemas": {
    "BatchDeletePhotosRequest": {
      "description": "Request to delete multiple Photos.",
      "id": "BatchDeletePhotosRequest",
      "properties": {
        "photoIds": {
          "description": "Required. IDs of the Photos. For HTTP\nGET requests, the URL query parameter should be\n`photoIds=\u003cid1\u003e\u0026photoIds=\u003cid2\u003e\u0026...`.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "BatchDeletePhotosResponse": {
      "description": "Response to batch delete of one or more\nPhotos.",
      "id": "BatchDeletePhotosResponse",
      "properties": {
        "status": {
          "description": "The status for the operation to delete a single\nPhoto 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\nPhoto requested, in the same order as\nthe requests in\nBatchGetPhotos.",
          "items": {
            "$ref": "PhotoResponse"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "BatchUpdatePhotosRequest": {
      "description": "Request to update the metadata of photos.\nUpdating the pixels of photos is not supported.",
      "id": "BatchUpdatePhotosRequest",
      "properties": {
        "updatePhotoRequests": {
          "description": "Required. List of\nUpdatePhotoRequests.",
          "items": {
            "$ref": "UpdatePhotoRequest"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "BatchUpdatePhotosResponse": {
      "description": "Response to batch update of metadata of one or more\nPhotos.",
      "id": "BatchUpdatePhotosResponse",
      "properties": {
        "results": {
          "description": "List of results for each individual\nPhoto updated, in the same order as\nthe 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\nanother photo."
        }
      },
      "type": "object"
    },
    "Empty": {
      "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n    service Foo {\n      rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n    }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.",
      "id": "Empty",
      "properties": {},
      "type": "object"
    },
    "LatLng": {
      "description": "An object representing a latitude/longitude pair. This is expressed as a pair\nof doubles representing degrees latitude and degrees longitude. Unless\nspecified otherwise, this must conform to the\n\u003ca href=\"http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf\"\u003eWGS84\nstandard\u003c/a\u003e. 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.\nConsider how the elevator buttons would be labeled for this level if there\nwas an elevator.",
          "type": "string"
        },
        "number": {
          "description": "Floor number, used for ordering. 0 indicates the ground level, 1 indicates\nthe first level above ground level, -1 indicates the first level under\nground 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\nresults in the list.",
          "type": "string"
        },
        "photos": {
          "description": "List of photos. The maximum number of items returned is based on the\npageSize field\nin the request.",
          "items": {
            "$ref": "Photo"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "Operation": {
      "description": "This resource represents a long-running operation that is the result of a\nnetwork API call.",
      "id": "Operation",
      "properties": {
        "done": {
          "description": "If the value is `false`, it means the operation is still in progress.\nIf `true`, the operation is completed, and either `error` or `response` is\navailable.",
          "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\ncontains progress information and common metadata such as create time.\nSome services might not provide such metadata.  Any method that returns a\nlong-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\noriginally returns it. If you use the default HTTP mapping, the\n`name` should have the format of `operations/some/unique/name`.",
          "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\nmethod returns no data on success, such as `Delete`, the response is\n`google.protobuf.Empty`.  If the original method is standard\n`Get`/`Create`/`Update`, the response should be the resource.  For other\nmethods, the response should have the type `XxxResponse`, where `Xxx`\nis the original method name.  For example, if the original method name\nis `TakeSnapshot()`, the inferred response type is\n`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.\nWhen the photo has no exif timestamp, this is used to set a timestamp in\nthe photo metadata.",
          "format": "google-datetime",
          "type": "string"
        },
        "connections": {
          "description": "Connections to other photos. A connection represents the link from this\nphoto to another photo.",
          "items": {
            "$ref": "Connection"
          },
          "type": "array"
        },
        "downloadUrl": {
          "description": "Output only. The download URL for the photo bytes. This field is set only\nwhen\nGetPhotoRequest.view\nis set to\nPhotoView.INCLUDE_DOWNLOAD_URL.",
          "type": "string"
        },
        "mapsPublishStatus": {
          "description": "Output only. Status in Google Maps, whether this photo was published, or\nrejected for a possibly specified reason.",
          "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.\nIdentifier for the photo, which is unique among all photos in\nGoogle."
        },
        "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\nresponded.",
            "The photo transfer has been completed, and this photo has been\ntransferred 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\nphoto 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\nPhoto\nin batch operations including\nBatchGetPhotos\nand\nBatchUpdatePhotos.",
      "id": "PhotoResponse",
      "properties": {
        "photo": {
          "$ref": "Photo",
          "description": "The Photo resource, if the request\nwas successful."
        },
        "status": {
          "$ref": "Status",
          "description": "The status for the operation to get or update a single photo in the batch\nrequest."
        }
      },
      "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\nbe 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\nhttps://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%\nconfidence (one standard deviation). For example, on Android, this value is\navailable from this method:\nhttps://developer.android.com/reference/android/location/Location#getAccuracy().\nOther platforms have different methods of obtaining similar accuracy\nestimations.",
          "format": "float",
          "type": "number"
        },
        "altitude": {
          "description": "Altitude of the pose in meters above WGS84 ellipsoid.\nNaN indicates an unmeasured quantity.",
          "format": "double",
          "type": "number"
        },
        "heading": {
          "description": "Compass heading, measured at the center of the photo in degrees clockwise\nfrom North. Value must be \u003e=0 and \u003c360.\nNaN indicates an unmeasured quantity.",
          "format": "double",
          "type": "number"
        },
        "latLngPair": {
          "$ref": "LatLng",
          "description": "Latitude and longitude pair of the pose, as explained here:\nhttps://cloud.google.com/datastore/docs/reference/rest/Shared.Types/LatLng\nWhen creating a Photo, if the\nlatitude and longitude pair are not provided here, the geolocation from the\nexif header will be used. If the latitude and longitude pair is not\nprovided and cannot be found in the exif header, the create photo process\nwill 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\nand \u003c= 90. A value of -90 means looking directly down, and a value of 90\nmeans looking directly up.\nNaN 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\nmeans level with the horizon.\nNaN 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\nprogramming environments, including REST APIs and RPC APIs. It is used by\n[gRPC](https://github.com/grpc). The error model is designed to be:\n\n- Simple to use and understand for most users\n- Flexible enough to meet unexpected needs\n\n# Overview\n\nThe `Status` message contains three pieces of data: error code, error message,\nand error details. The error code should be an enum value of\ngoogle.rpc.Code, but it may accept additional error codes if needed.  The\nerror message should be a developer-facing English message that helps\ndevelopers *understand* and *resolve* the error. If a localized user-facing\nerror message is needed, put the localized message in the error details or\nlocalize it in the client. The optional error details may contain arbitrary\ninformation about the error. There is a predefined set of error detail types\nin the package `google.rpc` that can be used for common error conditions.\n\n# Language mapping\n\nThe `Status` message is the logical representation of the error model, but it\nis not necessarily the actual wire format. When the `Status` message is\nexposed in different client libraries and different wire protocols, it can be\nmapped differently. For example, it will likely be mapped to some exceptions\nin Java, but more likely mapped to some error codes in C.\n\n# Other uses\n\nThe error model and the `Status` message can be used in a variety of\nenvironments, either with or without APIs, to provide a\nconsistent developer experience across different environments.\n\nExample uses of this error model include:\n\n- Partial errors. If a service needs to return partial errors to the client,\n    it may embed the `Status` in the normal response to indicate the partial\n    errors.\n\n- Workflow errors. A typical workflow has multiple steps. Each step may\n    have a `Status` message for error reporting.\n\n- Batch operations. If a client uses batch request and batch response, the\n    `Status` message should be used directly inside batch response, one for\n    each error sub-response.\n\n- Asynchronous operations. If an API call embeds asynchronous operation\n    results in its response, the status of those operations should be\n    represented directly using the `Status` message.\n\n- Logging. If some API errors are stored in logs, the message `Status` could\n    be used directly after any stripping needed for security/privacy reasons.",
      "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\nmessage 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\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "UpdatePhotoRequest": {
      "description": "Request to update the metadata of a\nPhoto. Updating the pixels of a photo\nis not supported.",
      "id": "UpdatePhotoRequest",
      "properties": {
        "photo": {
          "$ref": "Photo",
          "description": "Required. Photo object containing the\nnew metadata."
        },
        "updateMask": {
          "description": "Mask that identifies fields on the photo metadata to update.\nIf not present, the old Photo\nmetadata will be entirely replaced with the\nnew Photo metadata in this request.\nThe update fails if invalid fields are specified. Multiple fields can be\nspecified in a comma-delimited list.\n\nThe following fields are valid:\n\n* `pose.heading`\n* `pose.latLngPair`\n* `pose.pitch`\n* `pose.roll`\n* `pose.level`\n* `pose.altitude`\n* `connections`\n* `places`\n\n\n\u003caside class=\"note\"\u003e\u003cb\u003eNote:\u003c/b\u003e Repeated fields in\nupdateMask\nmean the entire set of repeated values will be replaced with the new\ncontents. For example, if\nupdateMask\ncontains `connections` and `UpdatePhotoRequest.photo.connections` is empty,\nall connections will be removed.\u003c/aside\u003e",
          "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\nthe form:\n\"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
}