---
title: "Get Job Order Template"
method: GET
path: "/v1/job/templates/{templateId}"
tags: ["Jobs"]
---

# Get Job Order Template

`GET /v1/job/templates/{templateId}`

## Request

- Base URL: `https://api.avionte.com/front-office`
- URL: `https://api.avionte.com/front-office/v1/job/templates/{templateId}`
- Auth: one of:
  - API key in header `x-api-key`
  - HTTP bearer

Returns the full configuration for the specified Job Order Template.

## Path parameters

- `templateId` integer, required

## Headers

- `RequestId` string, uuid: Unique request identifier in UUID format used to correlate request data to log entries and events.
- `FrontOfficeTenantId` integer
- `Tenant` string

## Response `200`

The requested Job Order Template.

- JobOrderTemplateDetail
  - `id` integer
  - `name` string
  - `companyId` integer
  - `companyName` string
  - `officeId` integer
  - `isDefault` boolean
  - `archived` boolean
  - `locked` boolean
  - `createdOnUtc` string, date-time
  - `updatedOnUtc` string, date-time
  - `jobBoardLocation` boolean
  - `jobBoardState` boolean
  - `jobBoardCountry` boolean
  - `jobBoardTitle` string
  - `requireBillRate` boolean
  - `billRate` number, double
  - `requirePayRate` boolean
  - `payRate` number, double
  - `requirePlacementFee` boolean
  - `placementFee` number, double
  - `requirePlacementPercent` boolean
  - `placementPercent` number, double
  - `requireMarkupPercent` boolean
  - `markupPercent` number, double
  - `requireMinMaxBill` boolean
  - `minBill` number, double
  - `maxBill` number, double
  - `requireMinMaxPay` boolean
  - `minPay` number, double
  - `maxPay` number, double
  - `requireJobDescriptionFile` boolean
  - `requireSkills` boolean
  - `requireCustomBillId` boolean
  - `requireClientAddress1` boolean
  - `requireClientCity` boolean
  - `requireClientState` boolean
  - `requireClientZip` boolean
  - `requireClientPhone` boolean
  - `requireManagerEmail` boolean
  - `requireBillingTerms` boolean
  - `requireWorkersCompCode` boolean
  - `requireEndDate` boolean
  - `requireEndReason` boolean
  - `requireEstimatedHours` boolean
  - `requireWorksiteAddress` boolean
  - `requireCustomDetails` boolean
  - `requireCompanyRequirements` boolean
  - `requireInterviewQuestionnaire` boolean
  - `interviewQuestionnaireId` integer, nullable
  - `tierId` integer
  - `jobTypeId` integer
  - `rateTypeId` integer
  - `positionCategoryId` integer, nullable
  - `positionSkillId` integer, nullable
  - `defaultWorkersCompCodeId` integer, nullable
  - `overtimeType` integer
  - `overtimeRuleId` integer
  - `overtimeCustomRates` boolean
  - `overtimePay` number, double
  - `overtimeBill` number, double
  - `doubletimePay` number, double
  - `doubletimeBill` number, double
  - `overtimeMarkup` number, double
  - `doubletimeMarkup` number, double
  - `applyMarkup` boolean
  - `applyOvertimeMarkup` boolean
  - `applyDoubletimeMarkup` boolean
  - `markupLocked` boolean
  - `enforceCompanyFilledJobRequirementsGroup` boolean
  - `enforceCustomFilledRequirementGroup` boolean
  - `customFilledRequirementGroupId` integer
  - `customJobDetails` JobOrderTemplateCustomJobDetail[]: The custom job details configured on the template.
    - `id` integer: Always 0 on a template, which has no job.
    - `jobId` integer: Always 0 on a template, which has no job.
    - `name` string: The name of the detail.
    - `value` string, nullable: The value of the detail. The format of the value depends on the type of detail. If the type is 'minmax', the value is the minimum, like '10'. If the type is 'time', the value is a time string like '08:00'.
    - `additionalValue` string, nullable: An additional value needed for the detail. If the type is 'minmax', the value is the maximum, like '100'.
    - `type` 'checkbox' | 'day_list' | 'minmax' | 'numeric' | 'text' | 'textarea' | 'time': The type of detail.
    - `isRequired` boolean: An indication of whether the detail is marked required (the "Req" checkbox) on the template.
    - `customJobDetailId` integer: An identifier for the custom job detail definition.

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `403`: Access Denied
- `404`: Not found
- `405`: Unsupported method
- `406`: Unsupported format(s) indicated by Accept header
- `415`: Unsupported format(s) indicated by the Content-Type header
- `429`: Too many requests
- `500`: An unexpected error occurred
- `502`: Service Unavailable
- `504`: Gateway Timeout

---

[API](https://skmtc.dev/avionte/apis/bold-front-office-api.md) - [All operations](https://skmtc.dev/avionte/apis/bold-front-office-api/llms.txt) - [OpenAPI document](https://skmtc.dev/avionte/apis/bold-front-office-api/revisions/bd5996cbaa0f?raw)
