---
title: "Upload Job Photo or Video"
method: POST
path: "/jobs/{jobId}/photos-videos"
tags: ["jobs"]
---

# Upload Job Photo or Video

`POST /jobs/{jobId}/photos-videos`

## Request

- Base URL: `https://api.acculynx.com/api/v2`
- URL: `https://api.acculynx.com/api/v2/jobs/{jobId}/photos-videos`
- Auth: HTTP bearer

Use this endpoint to Upload a single Photo or Video for the specified job.  Special characters and spaces will be removed from the file name before upload.

This endpoint is rate limited. Use the `RateLimit-*` response headers to check current limits and remaining quota.

## Path parameters

- `jobId` string, uuid, required

## Request body `multipart/form-data`

- JobPhotoVideoFormPost
  - `file` string, binary: File to be Uploaded to the Job. The file types allowed are images or videos: - For Images the following extensions are allowed: .cmx, .cod, .dib, .gif, .heic, .heif, .ico, .ief, .jfif,.jpe, .jpeg, .jpg, .mac, .pbm, .pct, .pgm, .pic, .pict,.png, .pnm, .pnt, .pntg, .pnz, .ppm, .qti, .qtif, .ras, .rf, .rgb, .tif, .tiff, .wbmp, .wdp, .xbm, .xpm, .xwd. - For Videos the following extensions are allowed: .3g2, .3gp, .3gp2, .3gpp, .asf, .asr, .asx, .avi, .dif, .dv, .flv, .IVF, .lsf, .lsx, .m1v, .m2t, .m2ts, .m2v, .m4v, .mod, .mov, .movie, .mp2, .mp2v, .mp4, .mp4v, .mpa, .mpe, .mpeg, .mpg, .mpv2, .mqv, .mts, .nsc, .qt, .ts, .tts, .vbk, .wm, .wmp, .wmv, .wmx.
  - `description` string: A brief description related to the file that is being uploaded.
  - `tags` string: A comma-separated list of 'GUID' to be applier to the photo or video. The tags should exist within the location.
  - `fileUri` string, uri: The URI of the file to upload. This image will be uploaded if the 'File' field is not selected.
  - `externalId` string: A field to link the file with a job external reference identifier
  - `externalSource` string: A field to link the file with a job external reference source

## Response `202`

OK

## Other responses

- `400`: The request was malformed or contained invalid field values. Check the error response body for details.
- `401`: The API key provided is missing, invalid, or has been deactivated. Verify your API key and try again.
- `404`: The requested resource was not found. Verify the ID in the request path is correct and that the resource exists.
- `429`: The rate limit for this operation has been exceeded. Use the RateLimit-* response headers to determine when you can retry.

---

[API](https://skmtc.dev/acculynx/apis/acculynx-api-v2.md) - [All operations](https://skmtc.dev/acculynx/apis/acculynx-api-v2/llms.txt) - [OpenAPI document](https://skmtc.dev/acculynx/apis/acculynx-api-v2/revisions/443924b00f43?raw)
