Simple JSON POST endpoints for creating jobs, listing jobs, and retrieving job details.

API URLhttps://api.work.photos
Content Typeapplication/json
AuthenticationauthKey
CORSPOST, OPTIONS - any origin

1) Create a Job POST/job/create

Create a new job and optionally post an initial text message.

  • authKey - required
  • workspaceId - required
  • name - required job title
  • message - optional initial message

Request body

json
{
    "authKey": "YOUR_AUTH_KEY",
    "workspaceId": "YOUR_WORKSPACE_ID",
    "name": "Job title",
    "message": "Optional initial message"
  }

Response 200

json
{
    "jobId": "{jobId}",
    "webAppDeeplink": "https://app.workphotos.com/{workspaceId}/jobs/{jobId}",
    "jobReportDeeplink": "https://reports.workphotos.com/{jobId}"
  }

Example cURL

bash
curl -X POST "https://api.work.photos/job/create" \
    -H "content-type: application/json" \
    -d '{
      "authKey": "YOUR_AUTH_KEY",
      "workspaceId": "YOUR_WORKSPACE_ID",
      "name": "Boiler service",
      "message": "Customer reports low pressure"
    }'

2) List Jobs POST/job/list

List jobs for a workspace. Returns 30 jobs per page.

  • page - optional integer, defaults to 0
  • Use page=1, page=2, etc. to paginate forward

Request body

json
{
    "authKey": "YOUR_AUTH_KEY",
    "workspaceId": "YOUR_WORKSPACE_ID"
    /* page is optional and defaults to 0 */
  }

Response 200

json
{
    "jobs": [
      {
        "jobId": "68d0ed784f25458a9e878d15",
        "name": "Boiler service",
        "createdAt": "2025-09-22T12:34:56.000Z",
        "webAppDeeplink": "https://app.workphotos.com/{workspaceId}/jobs/{jobId}",
        "jobReportDeeplink": "https://reports.workphotos.com/{jobId}"
      },
      {
        "jobId": "e2f4c8aa29be4b9a9a0c77e2",
        "name": "Leak investigation",
        "createdAt": "2025-09-22T13:10:03.000Z",
        "webAppDeeplink": "https://app.workphotos.com/{workspaceId}/jobs/{jobId}",
        "jobReportDeeplink": "https://reports.workphotos.com/{jobId}"
      },
      "..."
    ],
    "page": 0,
    "pageSize": 30,
    "totalJobs": 123,
    "totalPages": 5,
    "pagesRemaining": 4
  }

Example cURL

bash
curl -X POST "https://api.work.photos/job/list" \
    -H "content-type: application/json" \
    -d '{
      "authKey": "YOUR_AUTH_KEY",
      "workspaceId": "YOUR_WORKSPACE_ID"
      /* "page": 2  - optional */
    }'

3) Get Job Details POST/job/details

Return a normalized view of a job and its message history.

  • jobId - required
  • Messages include chat and images with timestamps and uploader info

Request body

json
{
    "authKey": "YOUR_AUTH_KEY",
    "workspaceId": "YOUR_WORKSPACE_ID",
    "jobId": "YOUR_JOB_ID"
  }

Response 200

json
{
    "jobId": "68d0ed784f25458a9e878d15",
    "jobName": "test",
    "creatorId": "6477bc38c48b77d89ad1fcce",
    "creatorName": "Craig Parker",
    "creationDate": "2025-10-22T10:12:24.620Z",
    "lastUpdateDate": "2025-10-30T09:03:19.566Z",
    "mainThumbnail": "https://cdn.workphotos.com/....jpg",
    "messages": [
      {
        "messageType": "chat",
        "timestampUploaded": "2025-10-22T10:12:31.460Z",
        "uploaderId": "6477bc38c48b77d89ad1fcce",
        "uploaderName": "Craig Parker",
        "textMessage": "test"
      },
      {
        "messageType": "image",
        "timestampUploaded": "2025-10-22T10:13:16.994Z",
        "uploaderId": "6477bc38c48b77d89ad1fcce",
        "uploaderName": "Craig Parker",
        "urlToImage": "https://cdn.workphotos.com/....jpeg",
        "thumbnailForImage": "https://cdn.workphotos.com/....jpeg"
      }
    ]
  }

Example cURL

bash
curl -X POST "https://api.work.photos/job/details" \
    -H "content-type: application/json" \
    -d '{
      "authKey": "YOUR_AUTH_KEY",
      "workspaceId": "YOUR_WORKSPACE_ID",
      "jobId": "YOUR_JOB_ID"
    }'

WorkPhotos Developer API