---
title: "Get a job"
method: GET
path: "/v1/jobs/{jobId}"
tags: ["Jobs"]
---

# Get a job

`GET /v1/jobs/{jobId}`

Retrieve the details of a single job (required scope jobs:read)

## Path parameters

- `jobId` integer, required

## Headers

- `Customer-Id` integer, required

## Response `200`

OK

- ReadJobModel — Represents a model that holds information about a job
  - `id` integer — The unique identifier of the job
  - `uid` string, uuid, nullable — The unique uid of the job
  - `typeId` integer — The unique identifier of the type assigned to this job
  - `typeName` string — The name of the type assigned to this job
  - `contactId` integer — The unique identifier of the contact (customer) for whom this job is to be performed
  - `contactName` string — The name of the customer (business or individual) for whom this job is to be performed
  - `contactAddress` string — The complete address of the contact (customer) for whom this job is to be performed
  - `contactLocation` Location — Represents a geographical location
    - `latitude` number, double, required — Latitude of the center of the location
    - `longitude` number, double, required — Longitude of the center of the location
  - `status` 'new' | 'scheduled' | 'unscheduled' | 'sent' | 'read' | 'accepted' | 'refused' | 'onTheWay' | 'started' | 'suspended' | 'completedOk' | 'completedWithIssues' | 'cancelled' | 'lateStart' | 'lateFinish' | 'rescheduled' — Describes each possible status of a Job<p>Possible values:</p><ul><li><b>new</b>: A job that is newly created in BigChange All Jobs start with a New status, regardless of schedule detail</li><li><b>scheduled</b>: Job has been scheduled. Scheduled status is when the Vehicle, Driver, and Planned Date Time are all allocated</li><li><b>unscheduled</b>: Job has been unscheduled. Unscheduled status happens when any combination of the Vehicle, Driver, and Planned Date Time are all removed from a Scheduled job</li><li><b>sent</b>: The scheduled job has been delivered to the driver's mobile device (tablet/phone). The driver must be logged into BigChange for jobs to be sent</li><li><b>read</b>: Job Detail has been read by the Driver on their mobile terminal</li><li><b>accepted</b>: Driver accepted the job</li><li><b>refused</b>: Driver refused the job</li><li><b>onTheWay</b>: Driver indicated they are on route to the Job Address</li><li><b>started</b>: Driver has indicated they have started the work detailed in the Job</li><li><b>suspended</b>: Driver paused work – ie taking a break</li><li><b>completedOk</b>: Job Completed with no issues</li><li><b>completedWithIssues</b>: Job Completed with issues</li><li><b>cancelled</b>: Job was Cancelled</li><li><b>lateStart</b>: Internal Status used by BigChange Alert Management - should not be visible from the the API</li><li><b>lateFinish</b>: Internal Status used by BigChange Alert Management - should not be visible from the the API</li><li><b>rescheduled</b>: Internal Status used by BigChange Alert Management - should not be visible from the the API</li></ul>
  - `statusModifiedAt` string, date-time, nullable — The UTC timestamp for when the job status was last updated
  - `plannedDuration` integer — The planned duration of the job, specified in minutes
  - `dueAt` string, date-time, nullable — The UTC date and time the job is required to be completed by
  - `reference` string — The internal reference of the job - should usually be unique
  - `description` string — The textual details about the job
  - `createdAt` string, date-time — The UTC timestamp of when this job was created
  - `orderNumber` string, nullable — The order number associated to the job
  - `personId` string, uuid, nullable — The unique uuid identifier of the person who will serve as primary point of contact for the job
  - `personName` string, nullable — The full name of the person who will serve as primary point of contact for the job
  - `isConfirmed` boolean — A flag indicating whether the job has been confirmed by the contact
  - `categoryId` integer, nullable — The unique identifier of the category that the job is assigned to
  - `categoryName` string, nullable — The name of the category that the job is assigned
  - `resourceId` integer, nullable — The unique identifier of the resource assigned to this job
  - `resourceName` string, nullable — The full name of the resource assigned to this job
  - `vehicleId` integer, nullable — The unique identifier of the vehicle assigned to this job
  - `vehicleRegistration` string, nullable — The registration number of the vehicle assigned to this job
  - `plannedStartAt` string, date-time, nullable — The UTC timestamp for when the job is planned to begin
  - `plannedEndAt` string, date-time, nullable — The UTC timestamp for when the job is planned to finish
  - `actualStartAt` string, date-time, nullable — The UTC timestamp for when the job actually started (as indicated by resource's device)
  - `actualEndAt` string, date-time, nullable — The UTC timestamp for when the job actually finished (as indicated by resource's device)
  - `actualDuration` integer, nullable — The actual duration of the job, specified in seconds (as indicated by resource's device)
  - `internalComment` string — Notes about the job outcome, added by the back office
  - `resourcesComment` string — Notes about the job outcome, added by the resource
  - `contactComment` string — Notes about the job outcome, added by the customer
  - `result` string, nullable — The result of a job that has been completed or completed with issues. This will be null if the job has any other status
  - `jobGroupId` integer, nullable — The unique identifier of the job group
  - `isFinanciallyComplete` boolean — A flag indicating whether the job is financially complete
  - `isActioned` boolean — A flag indicating whether all actions concerned with the job have been completed
  - `officeNotes` string — Notes for the office team regarding the job
  - `contractId` integer, nullable — The unique identifier of the contract that the job is associated with
  - `recurrenceId` integer, nullable — The unique identifier of the recurrence series this job belongs to, or null if the job is not part of a recurring series
  - `customFields` CustomFieldReadModel[] — Custom fields applied to this job
    - `definitionId` integer — The unique identifier of the associated custom field definition
    - `value` string, nullable — The current value set for the custom field
    - `definition` CustomFieldEmbeddedDefinitionModel — Represents the definition of a custom field
      - `caption` string — The caption of a custom field
      - `type` 'boolean' | 'integer' | 'decimal' | 'text' | 'list' | 'statement' | 'date' | 'note' | 'time' | 'systemList' — The type of the custom field. New field types may be added in the future, so integrations should be resilient to this<p>Possible values:</p><ul><li><b>boolean</b>: Indicates a boolean field <i>(Example: "false")</i></li><li><b>integer</b>: Indicates an integer numeric field <i>(Example: "1001")</i></li><li><b>decimal</b>: Indicates a floating point numeric field <i>(Example: "1.42")</i></li><li><b>text</b>: Indicates an editable text field <i>(Example: "Purple")</i></li><li><b>list</b>: Indicates a field with a single value from a predefined list of options <i>(Example: "Purple")</i></li><li><b>statement</b>: Indicates a text field that cannot be edited. The value is always equal to the default value <i>(Example: "By signing this you agree to the following...")</i></li><li><b>date</b>: Indicates a date field, which will be represented as an RFC3339 formatted date string. The default value is not supported for this type and will always be null <i>(Example: "2024-01-31")</i></li><li><b>note</b>: Indicates a multiline, editable text field. Lines are seperated with a line feed character <i>(Example: "This is a note.")</i></li><li><b>time</b>: Indicates a time field, formatted as HH:mm. The default value is not supported for this type and will always be null <i>(Example: "10:30")</i></li><li><b>systemList</b>: Indicates the ID of a related resource, vehicle or web user <i>(Example: "228007")</i></li></ul>
      - `listOptions` string[], nullable — Shows the possible values for a list type custom field. Value will be null if type is not list
      - `isRequired` boolean — Indicates if the field is required in the UI. This is NOT enforced in the API
      - `isEditable` boolean — Indicates if the field is editable
      - `default` string, nullable — The default value of a custom field. Formatted in accordance with the rules of the field type
    - `systemListValueMetadata` SystemListValueMetadataModel — Represents details of custom field value of type system list
      - `label` string, nullable — A descriptive label for the specific resource, vehicle or web user that this system list value relates to
      - `entityType` 'resource' | 'vehicle' | 'webUser' — The type of entity used for custom field value of type system list<p>Possible values:</p><ul><li><b>resource</b></li><li><b>vehicle</b></li><li><b>webUser</b></li></ul>
  - `siteContactIds` integer[] — The unique identifiers of the site contacts associated with this job

## Other responses

- `400` — Bad Request
- `403` — Forbidden
- `404` — Not Found
- `500` — Internal Server Error

---

[API](https://skmtc.net/bigchange/apis/bigchange-dx.md) · [All operations](https://skmtc.net/bigchange/apis/bigchange-dx/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/bigchange/bigchange-dx/revisions/916e669fc527/schema)
