# Method: photo.create

- [HTTP request](https://developers.google.com/streetview/publish/reference/rest/v1/photo/create#body.HTTP_TEMPLATE)
- [Request body](https://developers.google.com/streetview/publish/reference/rest/v1/photo/create#body.request_body)
- [Response body](https://developers.google.com/streetview/publish/reference/rest/v1/photo/create#body.response_body)
- [Authorization scopes](https://developers.google.com/streetview/publish/reference/rest/v1/photo/create#body.aspect)
- [Try it!](https://developers.google.com/streetview/publish/reference/rest/v1/photo/create#try-it)

After the client finishes uploading the photo with the returned `https://developers.google.com/streetview/publish/reference/rest/v1/photo#UploadRef`, `https://developers.google.com/streetview/publish/reference/rest/v1/photo/create#google.streetview.publish.v1.StreetViewPublishService.CreatePhoto` publishes the uploaded `https://developers.google.com/streetview/publish/reference/rest/v1/photo#Photo` to Street View on Google Maps.

Currently, the only way to set heading, pitch, and roll in photo.create is through the [Photo Sphere XMP metadata](https://developers.google.com/streetview/spherical-metadata) in the photo bytes. photo.create ignores the `pose.heading`, `pose.pitch`, `pose.roll`, `pose.altitude`, and `pose.level` fields in Pose.

This method returns the following error codes:

- `https://developers.google.com/streetview/publish/reference/rest/v1/Code#ENUM_VALUES.INVALID_ARGUMENT` if the request is malformed or if the uploaded photo is not a 360 photo.
- `https://developers.google.com/streetview/publish/reference/rest/v1/Code#ENUM_VALUES.NOT_FOUND` if the upload reference does not exist.
- `https://developers.google.com/streetview/publish/reference/rest/v1/Code#ENUM_VALUES.RESOURCE_EXHAUSTED` if the account has reached the storage limit.

### HTTP request

`POST https://streetviewpublish.googleapis.com/v1/photo`

The URL uses [gRPC Transcoding](https://google.aip.dev/127) syntax.

### Request body

The request body contains an instance of `https://developers.google.com/streetview/publish/reference/rest/v1/photo#Photo`.

### Response body

If successful, the response body contains a newly created instance of `https://developers.google.com/streetview/publish/reference/rest/v1/photo#Photo`.

### Authorization scopes

Requires the following OAuth scope:

- `https://www.googleapis.com/auth/streetviewpublish`

For more information, see the [OAuth 2.0 Overview](https://developers.google.com/identity/protocols/OAuth2).