---
title: "Create Job Measurements Order"
method: POST
path: "/jobs/{jobId}/measurements/files"
tags: ["jobs"]
---

# Create Job Measurements Order

`POST /jobs/{jobId}/measurements/files`

## Request

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

Use this endpoint to create a measurements order with the external provider Information for a specific job.
- The measurement file can be an XML or JSON file.
  - The file content has to be a valid XML or JSON structure.
  - The file must contain the measurements order information with the measurements to be created.
- A report PDF can be attached.
- A list of PDF files can be attached.
- Special characters and spaces will be removed from all the file names before upload.
- The PDF files content will not be validated, only the type as PDF and the file size.

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`

- JobMeasurementsPostFiles
  - `measurementsFile` string, binary: The file must be uploaded to the job to initiate the creation of a new measurement order. This file should contain the relevant measurements. The permitted file formats are XML and JSON.
  - `reportPdf` string, binary: PDF File to be Uploaded attached to the measurement order that corresponds to the order report, it will be related to the job.
  - `miscPdfs` string[]: A list of PDF Files to be attached to the new measurement order, a maximum of 10 files are allowed.
  - `latitude` number, double, required: Latitude of the map location for the new measurement order, value between -90 and 90.
  - `longitude` number, double, required: Longitude of the map location for the new measurement order, value between -180 and 180.
  - `providerMeasurementOrderId` string, required: A text with the provider order identifier, special characters not allowed.
  - `providerId` 'Unknown' | 'Hover' | 'RoofSnap' | 'External', required: The external provider from which a measurement order comes. - Unknown - Hover - RoofSnap - External
  - `measurementOrderDescription` string, required: A text with a description of the new measurement order.
  - `model3DUrl` string, uri: The URL of the 3D model file.
  - `orderedDate` string, date-time, required: The creation DateTime for the new measurement order. An ISO 8601 string of datetime including the time component and ending with 'Z' (so in UTC). https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC)
  - `completedDate` string, date-time: The completed DateTime for the new measurement order. An ISO 8601 string of datetime including the time component and ending with 'Z' (so in UTC). https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC)

## Response `202`

Accepted

- JobMeasurement
  - `measurementOrderId` string, uuid: The created measurement order unique identifier.

## 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.
- `412`: The request could not be completed due to the failure of a required precondition.
- `416`: Range Not Satisfiable.
- `429`: The rate limit for this operation has been exceeded. Use the RateLimit-* response headers to determine when you can retry.

## Changes

- **2026-11-03** `443924b00f43`: 3 breaking, 2 warning, 1 info
  - removed the required property `status` from the response with the `416` status
  - removed the required property `title` from the response with the `416` status
  - removed the required property `type` from the response with the `416` status
  - removed the optional property `detail` from the response with the `416` status
  - …2 more

[Operation history](https://skmtc.dev/acculynx/apis/acculynx-api-v2/changes/jobs/:jobId/measurements/files/post.md)

---

[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)
