Create a photo

Step 1 of 2 in the photo upload flow. Creates a photo record and returns an AWS S3-compatible presigned POST URL to upload the actual file directly to object storage.

Upload flow

  1. Call this endpoint to create the photo record and obtain the presigned upload URL.
  2. Upload the file directly to S3 using the upload_url.url as the form action and including all upload_url.fields as form data fields alongside the file. No server-side proxy is involved.
  3. Once the upload is complete, call PUT /light/photos/{id}/uploaded/ to finalize the photo and make it visible to other users in the company.

The photo can optionally be associated with a job and with line items of various types. All referenced foreign-key IDs must belong to the same company as the authenticated user.

The S3 object key returned in upload_url.fields.key is derived from the photo's display name with a random suffix appended to guarantee uniqueness (e.g. front-roof-damage_a1b2c3d4.jpg).

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Body Params

Photo creation payload. The name field is required; all other fields are optional.

string
required
length ≤ 150

Display name of the photo.

string | null

Optional text description of the photo.

integer

ID of the job to associate this photo with. Must belong to the authenticated user's company.

integer

ID of the job inspection line item to associate this photo with. When provided, the photo is automatically linked to the inspection's parent job. Must belong to the authenticated user's company.

integer

ID of the estimate line item to associate this photo with. Must belong to the authenticated user's company.

integer

ID of the supplemental line item to associate this photo with. Must belong to the authenticated user's company.

integer

ID of the change order line item to associate this photo with. Must belong to the authenticated user's company.

tags
array of strings
Defaults to

List of tags to attach to the photo.

tags
related_to
array of strings
length ≤ 25
exif
object

EXIF metadata extracted from the photo by the client. The timestamp key, when present, must be a Unix timestamp in milliseconds and is used to set the photo capture date. When location data is included, the server will attempt to geolocate the photo.

boolean
Defaults to false

Set to true when this record represents a video rather than a still photo.

string | null

Client-assigned identifier used to correlate this photo with an offline-created record.

Responses

Language
Credentials
Header
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json