{
  "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",
  "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\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. CreatePhoto ignores the  `pose.heading`, `pose.pitch`,\n`pose.roll`, `pose.altitude`, and `pose.level` fields in Pose.\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 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\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 method uses\nthe upload URL of the returned\nUploadRef to upload the bytes for\nthe 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 meet the following requirements:\n\n* Photo Sphere XMP metadata must be included in the photo metadata. 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 completes, the method uses\nUploadRef 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\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": "Required. Mask that identifies fields on the photo metadata to update.\nIf not present, the old Photo\nmetadata is 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 When\nupdateMask\ncontains repeated fields, the entire set of repeated values get replaced\nwith the new contents. For example, if\nupdateMask\ncontains `connections` and `UpdatePhotoRequest.photo.connections` is empty,\nall connections are 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 is an authentication\nerror. Even if\nBatchDeletePhotos\nsucceeds, individual photos in the batch may have failures.\nThese failures are 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 is an authentication\nerror. Even if\nBatchGetPhotos\nsucceeds, individual photos in the batch may have failures.\nThese failures are 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 is 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": "Required. 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 is an authentication\nerror. Even if\nBatchUpdatePhotos\nsucceeds, individual photos in the batch may have failures.\nThese failures are 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": "Required. 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 is 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 is 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": "Required. 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": "20200224",
  "rootUrl": "https://streetviewpublish.googleapis.com/",
  "schemas": {
    "BatchDeletePhotosRequest": {
      "description": "Request to delete multiple Photos.",
      "id": "BatchDeletePhotosRequest",
      "properties": {
        "photoIds": {
          "description": "Required. IDs of the Photos. HTTP\nGET requests require the following syntax for the URL query parameter:\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\npageSize field\nin 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\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 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\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. 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.\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, the geolocation from the\nexif header is used. A latitude and longitude pair not provided in the\nphoto 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\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\ndifferent programming environments, including REST APIs and RPC APIs. It is\nused by [gRPC](https://github.com/grpc). Each `Status` message contains\nthree pieces of data: error code, error message, and error details.\n\nYou can find out more about this error model and how to work with it in the\n[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\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": "Required. Mask that identifies fields on the photo metadata to update.\nIf not present, the old Photo\nmetadata is 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 When\nupdateMask\ncontains repeated fields, the entire set of repeated values get replaced\nwith the new contents. For example, if\nupdateMask\ncontains `connections` and `UpdatePhotoRequest.photo.connections` is empty,\nall connections are 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
}