{
  "openapi": "3.0.3",
  "info": {
    "title": "Bullhorn REST API (Full, filtered)",
    "version": "1.0.0",
    "description": "Full Bullhorn REST surface with core actions and entity schemas, excluding Housing and Pay/Bill entities. Source: https://bullhorn.github.io/rest-api-docs/#introduction and entity definitions from https://bullhorn.github.io/rest-api-docs/entityref.html."
  },
  "servers": [
    {
      "url": "https://rest{swimlane}.bullhornstaffing.com/rest-services",
      "description": "Data center discovery and login endpoints (no corpToken required)."
    },
    {
      "url": "https://rest{swimlane}.bullhornstaffing.com/rest-services/{corpToken}",
      "description": "Corporation-scoped base URL returned by login/loginInfo.",
      "variables": {
        "corpToken": {
          "description": "Corporation identifier returned by loginInfo/login."
        }
      }
    }
  ],
  "components": {
    "securitySchemes": {
      "BhRestTokenHeader": {
        "type": "apiKey",
        "in": "header",
        "name": "BhRestToken",
        "description": "Session token returned by /login; can also be sent as a query param."
      },
      "BhRestTokenQuery": {
        "type": "apiKey",
        "in": "query",
        "name": "BhRestToken",
        "description": "Session token returned by /login; alternative to header usage."
      }
    },
    "parameters": {
      "CorpToken": {
        "name": "corpToken",
        "in": "path",
        "required": true,
        "description": "Corporation identifier prefixing all routes.",
        "schema": {
          "type": "string"
        }
      },
      "EntityType": {
        "name": "entityType",
        "in": "path",
        "required": true,
        "description": "Bullhorn entity type.",
        "schema": {
          "type": "string",
          "enum": [
            "ActivityGoal",
            "ActivityGoalConfiguration",
            "ActivityGoalTarget",
            "Appointment",
            "AppointmentAttendee",
            "BusinessSector",
            "Candidate",
            "CandidateAvailability",
            "CandidateCertification",
            "CandidateCertificationRequirement",
            "CandidateEducation",
            "CandidateReference",
            "CandidateReferenceQuestion",
            "CandidateReferenceResponse",
            "CandidateShiftPreference",
            "CandidateTaxInfo",
            "CandidateWorkHistory",
            "Category",
            "Certification",
            "CertificationFileAttachment",
            "CertificationGroup",
            "CertificationRequirement",
            "ClientContact",
            "ClientCorporation",
            "ClientCorporationAppointment",
            "ClientCorporationNote",
            "ClientCorporationTask",
            "CorporateUser",
            "CorporationDepartment",
            "Country",
            "CustomAction",
            "Deduction",
            "DeductionCategoryLookup",
            "Department",
            "EmployerContribution",
            "EstaffMappableFlowback",
            "ExpenseSheet",
            "ExpenseSheetEntry",
            "FederalTaxForm",
            "Issue",
            "IssueItems",
            "JobBoardPost",
            "JobOrder",
            "JobOrderScreenerQuestion",
            "JobShift",
            "JobShiftAssignment",
            "JobShiftSubmission",
            "JobSubmission",
            "JobSubmissionCertificationRequirement",
            "JobSubmissionHistory",
            "Lead",
            "LeadHistory",
            "LocalTaxForm",
            "Location",
            "LocationVersion",
            "Note",
            "NoteEntity",
            "Opportunity",
            "OpportunityHistory",
            "Placement",
            "PlacementCertification",
            "PlacementChangeRequest",
            "PlacementCommission",
            "PlacementShiftSet",
            "PlacementTimeAndExpense",
            "PlacementTimeAndExpenseChangeRequest",
            "ScreenerQuestion",
            "Sendout",
            "Shift",
            "ShiftPosition",
            "ShiftType",
            "Skill",
            "Specialty",
            "State",
            "StateTaxForm",
            "Task",
            "Tearsheet",
            "TearsheetMember",
            "TearsheetRecipient",
            "TimeLaborEvalRule",
            "TimeLaborEvalRuleTemplate",
            "TimeUnit",
            "Timesheet",
            "TimesheetEntry",
            "WorkersCompensation",
            "WorkersCompensationRate",
            "{Entity}EditHistory",
            "{Entity}EditHistoryFieldChange",
            "{Entity}FileAttachment"
          ]
        }
      },
      "EntityId": {
        "name": "id",
        "in": "path",
        "required": true,
        "description": "Primary key of the entity.",
        "schema": {
          "type": "integer",
          "format": "int64"
        }
      },
      "Fields": {
        "name": "fields",
        "in": "query",
        "required": false,
        "description": "Comma-separated list of fields to return.",
        "schema": {
          "type": "string"
        }
      },
      "Where": {
        "name": "where",
        "in": "query",
        "required": false,
        "description": "JPQL where clause for /query operations.",
        "schema": {
          "type": "string"
        }
      },
      "QueryParam": {
        "name": "query",
        "in": "query",
        "required": false,
        "description": "Lucene query string for /search operations.",
        "schema": {
          "type": "string"
        }
      },
      "Start": {
        "name": "start",
        "in": "query",
        "required": false,
        "description": "Zero-based start offset.",
        "schema": {
          "type": "integer",
          "format": "int32"
        }
      },
      "Count": {
        "name": "count",
        "in": "query",
        "required": false,
        "description": "Number of records to return.",
        "schema": {
          "type": "integer",
          "format": "int32"
        }
      },
      "Sort": {
        "name": "sort",
        "in": "query",
        "required": false,
        "description": "Sort expression (-field). Use -field to sort descending.",
        "schema": {
          "type": "string"
        }
      },
      "OrderBy": {
        "name": "orderBy",
        "in": "query",
        "required": false,
        "description": "Field name to order by, ONLY valid fieldnames are allowed (NOT -fieldname), NOT followed by a direction (asc/desc)",
        "schema": {
          "type": "string"
        }
      },
      "Meta": {
        "name": "meta",
        "in": "query",
        "required": false,
        "description": "Set to \"full\" to include field metadata.",
        "schema": {
          "type": "string"
        }
      },
      "BhRestTokenQuery": {
        "name": "BhRestToken",
        "in": "query",
        "required": false,
        "description": "Session token returned by login; alternative to header usage.",
        "schema": {
          "type": "string"
        }
      },
      "FieldName": {
        "name": "fieldName",
        "in": "path",
        "required": true,
        "description": "Field name for options lookup.",
        "schema": {
          "type": "string"
        }
      },
      "FileType": {
        "name": "fileType",
        "in": "path",
        "required": true,
        "description": "File type identifier (e.g., resume, document).",
        "schema": {
          "type": "string"
        }
      },
      "SettingName": {
        "name": "settingName",
        "in": "path",
        "required": true,
        "description": "Setting name to retrieve.",
        "schema": {
          "type": "string"
        }
      },
      "SubscriptionId": {
        "name": "subscriptionId",
        "in": "query",
        "required": true,
        "description": "Event subscription identifier.",
        "schema": {
          "type": "string"
        }
      }
    },
    "schemas": {
      "LoginInfoResponse": {
        "type": "object",
        "properties": {
          "restUrl": {
            "type": "string",
            "description": "REST base URL to use for subsequent API calls."
          },
          "oauthUrl": {
            "type": "string",
            "description": "OAuth authorization base URL."
          }
        },
        "required": [
          "restUrl"
        ]
      },
      "LoginResponse": {
        "type": "object",
        "properties": {
          "BhRestToken": {
            "type": "string",
            "description": "Session token required on subsequent requests."
          },
          "restUrl": {
            "type": "string",
            "description": "Corp-specific REST base URL (includes corpToken)."
          }
        },
        "required": [
          "BhRestToken",
          "restUrl"
        ]
      },
      "MetaField": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "description": "Field relationship type.",
            "enum": [
              "ID",
              "SCALAR",
              "COMPOSITE",
              "TO_ONE",
              "TO_MANY"
            ]
          },
          "dataType": {
            "type": "string",
            "description": "Underlying data type."
          },
          "required": {
            "type": "boolean"
          },
          "readOnly": {
            "type": "boolean"
          },
          "multiValue": {
            "type": "boolean"
          },
          "maxLength": {
            "type": "integer"
          },
          "options": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "value": {
                  "type": "string"
                },
                "label": {
                  "type": "string"
                },
                "sortOrder": {
                  "type": "integer"
                }
              }
            }
          }
        }
      },
      "MetaResponse": {
        "type": "object",
        "properties": {
          "entity": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "fields": {
            "type": "array",
            "items": {
              "type": "object",
              "description": "MetaField (simplified to prevent deep circular reference)",
              "properties": {
                "id": {
                  "type": "string"
                },
                "type": {
                  "type": "string"
                },
                "value": {
                  "type": "string"
                },
                "properties": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          }
        },
        "required": [
          "entity",
          "fields"
        ]
      },
      "ErrorResponse": {
        "type": "object",
        "properties": {
          "error": {
            "type": "string"
          },
          "error_description": {
            "type": "string"
          }
        }
      },
      "SettingResponse": {
        "type": "object",
        "additionalProperties": true
      },
      "OptionResponse": {
        "type": "object",
        "properties": {
          "options": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "value": {
                  "type": "string"
                },
                "label": {
                  "type": "string"
                },
                "sortOrder": {
                  "type": "integer"
                }
              }
            }
          }
        }
      },
      "EventMessage": {
        "type": "object",
        "properties": {
          "eventId": {
            "type": "string"
          },
          "subscriptionId": {
            "type": "string"
          },
          "entityName": {
            "type": "string"
          },
          "entityId": {
            "type": "integer"
          },
          "eventType": {
            "type": "string"
          },
          "timestamp": {
            "type": "string",
            "format": "date-time",
            "description": "*Must* be in epoch milliseconds."
          },
          "data": {
            "type": "object",
            "additionalProperties": true
          }
        }
      },
      "HeadshotRequest": {
        "type": "object",
        "properties": {
          "externalID": {
            "type": "string"
          },
          "fileContent": {
            "type": "string",
            "description": "Base64-encoded file content."
          },
          "fileType": {
            "type": "string",
            "example": "SAMPLE"
          },
          "name": {
            "type": "string"
          },
          "contentType": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "externalID",
          "fileContent",
          "fileType",
          "name"
        ]
      },
      "HeadshotResponse": {
        "type": "object",
        "properties": {
          "fileId": {
            "type": "integer",
            "format": "int64"
          },
          "changeType": {
            "type": "string",
            "example": "DELETED"
          }
        }
      },
      "DeleteResponse": {
        "type": "object",
        "properties": {
          "changeType": {
            "type": "string",
            "example": "DELETED"
          },
          "fileId": {
            "type": "integer",
            "format": "int64"
          },
          "changedEntityId": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "ActivityGoal": {
        "type": "object",
        "description": "ActivityGoal entity schema derived from Bullhorn Entity Reference.",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64",
            "description": "Unique identifier for this entity.",
            "readOnly": true
          },
          "user": {
            "type": "integer",
            "format": "int64",
            "description": "CorporateUser for whom this activity goal was created.",
            "readOnly": true
          },
          "department": {
            "type": "integer",
            "format": "int64",
            "description": "Department of user for whom this activity goal was created."
          },
          "activityType": {
            "type": "string",
            "description": "Type of goal for record.",
            "readOnly": true
          },
          "startDate": {
            "type": "string",
            "format": "date",
            "description": "The first day of the time period in which this activity goal is in effect, in the format: &ldquo;YYYY-MM-DD&rdquo;."
          },
          "endDate": {
            "type": "string",
            "format": "date",
            "description": "The last day of time period in which this activity goal is in effect, in the format: &ldquo;YYYY-MM-DD&rdquo;."
          },
          "goal": {
            "type": "integer",
            "format": "int64",
            "description": "Target goal for activity type."
          },
          "actual": {
            "type": "integer",
            "format": "int64",
            "description": "Current count of activity type data for goal."
          },
          "periodName": {
            "type": "string",
            "description": "Time period for activity goal. (Weekly/Monthly).",
            "readOnly": true
          },
          "percentAttained": {
            "type": "integer",
            "format": "int64",
            "description": "The whole percentage attained to date, equal to the attained value divided by the goal value multiplied by 100."
          }
        },
        "additionalProperties": false,
        "required": [
          "id",
          "user",
          "activityType",
          "startDate",
          "endDate",
          "goal",
          "actual",
          "periodName",
          "percentAttained"
        ]
      },
      "ActivityGoalConfiguration": {
        "type": "object",
        "description": "ActivityGoalConfiguration entity schema derived from Bullhorn Entity Reference.",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64",
            "description": "Unique identifier for this entity.",
            "readOnly": true
          },
          "codeIdentifier": {
            "type": "string",
            "description": "Field that determines if a goal is an ActivityGoal or RecordBasedGoal."
          },
          "dateLastModified": {
            "type": "string",
            "format": "date-time",
            "description": "Last time record was modified. *Must* be in epoch milliseconds.",
            "readOnly": true
          },
          "Description": {
            "type": "string",
            "description": "Goal description."
          },
          "goalPeriodId": {
            "type": "integer",
            "format": "int64",
            "description": "Id of goal time period."
          },
          "goalTypeId": {
            "type": "integer",
            "format": "int64",
            "description": "Id of goal type.",
            "readOnly": true
          },
          "isDeleted": {
            "type": "boolean",
            "description": "Whether or not activity goal is deleted."
          },
          "name": {
            "type": "string",
            "description": "Name of goal."
          },
          "pulseConfigurationValues": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Values against which goal is tracked."
          }
        },
        "additionalProperties": false,
        "required": [
          "id",
          "codeIdentifier",
          "dateLastModified",
          "Description",
          "goalPeriodId",
          "goalTypeId",
          "isDeleted",
          "name"
        ]
      },
      "ActivityGoalTarget": {
        "type": "object",
        "description": "ActivityGoalTarget entity schema derived from Bullhorn Entity Reference.",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64",
            "description": "Unique identifier for this entity.",
            "readOnly": true
          },
          "activityGoalConfiguration": {
            "type": "integer",
            "format": "int64",
            "description": "The activity goal configuration assigned to user."
          },
          "goal": {
            "type": "integer",
            "format": "int64",
            "description": "The amount of activity that user is trying to hit."
          },
          "periodName": {
            "type": "string",
            "description": "Time period for activity goal. (Weekly/Monthly)."
          },
          "user": {
            "type": "integer",
            "format": "int64",
            "description": "User to which activity goal is assigned."
          }
        },
        "additionalProperties": false,
        "required": [
          "id",
          "activityGoalConfiguration",
          "goal",
          "periodName",
          "user"
        ]
      },
      "Appointment": {
        "type": "object",
        "description": "Appointment entity schema derived from Bullhorn Entity Reference.",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64",
            "description": "Unique identifier for this entity."
          },
          "attendees": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Ids of the AppointmentAttendees for this Appointment."
          },
          "appointmentUUID": {
            "type": "string",
            "description": "A secondary unique identifier for this entity. Used to identify the record when it is synchronized to external systems. Format is 8-4-4-16 where all characters are A-Z or 0-9."
          },
          "candidateReference": {
            "type": "integer",
            "format": "int64",
            "description": "The Candidate with whom this Appointment is associated, if any."
          },
          "clientContactReference": {
            "type": "integer",
            "format": "int64",
            "description": "The ClientContact with whom this Appointment is associated, if any."
          },
          "childAppointments": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Child Appointments associated with this Appointment. The ownerID of any child Appointment represents a user who has been invited to this Appointment."
          },
          "communicationMethod": {
            "type": "string",
            "description": "Indicates how the appointment will be conducted: phone, on-site, off-site, and so forth."
          },
          "dateAdded": {
            "type": "string",
            "format": "date-time",
            "description": "Date on which this record was created in the Bullhorn system. *Must* be in epoch milliseconds."
          },
          "dateBegin": {
            "type": "string",
            "format": "date-time",
            "description": "Date on which the appointment began/will begin.<br>The default value is current time rounded up to next half hour, or 15 minutes before dateEnd if it is provided. *Must* be in epoch milliseconds."
          },
          "dateEnd": {
            "type": "string",
            "format": "date-time",
            "description": "Date on which the appointment ended/will end.<br>The default value is 15 minutes after dateBegin. *Must* be in epoch milliseconds."
          },
          "dateLastModified": {
            "type": "string",
            "format": "date-time",
            "description": "Date on which this record was last modified. *Must* be in epoch milliseconds.",
            "readOnly": true
          },
          "description": {
            "type": "string",
            "description": "Free-text description of the appointment.<br>The default value is “”."
          },
          "isAllDay": {
            "type": "boolean",
            "description": "Indicates whether the appointment will last all day."
          },
          "isDeleted": {
            "type": "boolean",
            "description": "Indicates whether this record has been marked as deleted in the Bullhorn system."
          },
          "isPrivate": {
            "type": "boolean",
            "description": "Indicates whether the appointment is viewable by others. If set to private, only the appointment owner and attendees may view the appointment details."
          },
          "jobOrder": {
            "type": "integer",
            "format": "int64",
            "description": "JobOrder associated with the appointment, if any."
          },
          "lead": {
            "type": "integer",
            "format": "int64",
            "description": "Lead, if any, associated with the appointment. Included Lead field is id."
          },
          "location": {
            "type": "string",
            "description": "Indicates where the appointment will take place (conference room name, and so forth).<br>The default value is “”."
          },
          "migrateGUID": {
            "type": "string",
            "description": "Unused."
          },
          "notificationMinutes": {
            "type": "integer",
            "format": "int64",
            "description": "Indicates when the Bullhorn application should remind the user of the appointment. May be zero for no reminder."
          },
          "opportunity": {
            "type": "integer",
            "format": "int64",
            "description": "Opportunity, if any, associated with the appointment. Included Opportunity field is id."
          },
          "owner": {
            "type": "integer",
            "format": "int64",
            "description": "Bullhorn user (Person) who owns the appointment. The default value is user who creates the Appointment.",
            "readOnly": true
          },
          "parentAppointment": {
            "type": "integer",
            "format": "int64",
            "description": "Appointment that is the parent of this one, if any. Included Appointment field is id."
          },
          "placement": {
            "type": "integer",
            "format": "int64",
            "description": "Placement associated with the appointment, if any. Included Placement field is id."
          },
          "recurrenceDayBits": {
            "type": "integer",
            "format": "int64",
            "description": "Indicates which days are part of the recurrence pattern, if the appointment is a recurring one. The value of this field is the sum of the days included in the series: Sun = 2, Mon = 4, Tue = 8, Wed = 16, Thur = 32, Fri = 64, Sat = 128. For example, a meeting that occurs on Monday and Friday would have a recurrenceDayBits value of 68 (4+64)."
          },
          "recurrenceFrequency": {
            "type": "integer",
            "format": "int64",
            "description": "The frequency with which the appointment recurs: e.g., a recurrenceFrequency of 2 for a weekly meeting would imply the meeting occurs every 2 weeks. Null for a one-time appointment."
          },
          "recurrenceStyle": {
            "type": "string",
            "description": "A=absolute, R=relative: e.g., an absolute would be the third week of every month, whereas a relative would be every third week."
          },
          "recurrenceType": {
            "type": "string",
            "description": "The type of recurrence. D=daily, W=weekly, M=monthly, A=annually."
          },
          "subject": {
            "type": "string",
            "description": "Subject header of the appointment."
          },
          "type": {
            "type": "string",
            "description": "Used to distinguish appointments by an identifiable class or kind, for example Interview, Call, Personal, and so forth."
          }
        },
        "additionalProperties": false,
        "required": [
          "id",
          "appointmentUUID",
          "communicationMethod",
          "dateAdded",
          "dateBegin",
          "dateEnd",
          "dateLastModified",
          "description",
          "isDeleted",
          "isPrivate",
          "location",
          "migrateGUID",
          "notificationMinutes",
          "subject",
          "type"
        ]
      },
      "AppointmentAttendee": {
        "type": "object",
        "description": "AppointmentAttendee entity schema derived from Bullhorn Entity Reference.",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64",
            "description": "Unique identifier for this entity.",
            "readOnly": true
          },
          "appointment": {
            "type": "integer",
            "format": "int64",
            "description": "Appointment to which this AppointmentAttendee corresponds."
          },
          "attendee": {
            "type": "integer",
            "format": "int64",
            "description": "The ClientContact, Candidate, or CorporateUser id for this person."
          },
          "acceptanceStatus": {
            "type": "integer",
            "format": "int64",
            "description": "Indicates whether attendee has accepted, accepted tentatively, declined, or not responded to this invitation. (-1 = declined, 0 or null = has not responded, 1 = accepted, and 2 = tentative.)"
          },
          "migrateGUID": {
            "type": "string",
            "description": "Unused."
          }
        },
        "additionalProperties": false,
        "required": [
          "id",
          "appointment",
          "attendee",
          "acceptanceStatus",
          "migrateGUID"
        ]
      },
      "BusinessSector": {
        "type": "object",
        "description": "BusinessSector entity schema derived from Bullhorn Entity Reference.",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64",
            "description": "Unique identifier for this entity.",
            "readOnly": true
          },
          "dateAdded": {
            "type": "string",
            "format": "date-time",
            "description": "Date on which this record was created in the Bullhorn system. *Must* be in epoch milliseconds."
          },
          "name": {
            "type": "string",
            "description": "Name of this business sector.",
            "readOnly": true
          }
        },
        "additionalProperties": false,
        "required": [
          "id",
          "name"
        ]
      },
      "Candidate": {
        "type": "object",
        "description": "Candidate entity schema derived from Bullhorn Entity Reference.",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64",
            "description": "Unique identifier for this entity.",
            "readOnly": true
          },
          "address": {
            "type": "string",
            "description": "Candidate address:<ul><li>address1</li><li>address2</li><li>city</li><li>state</li><li>zip</li><li>countryID: options:<ul><li>value: 1</li><li>value: 2</li></ul></ul>Use the following REST call to get the list of countryIDs and labels:<br>/meta/Candidate?fields=address(countryID)"
          },
          "blacklistClientCorporations": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Set of ClientCorporations blacklisted for this Candidate."
          },
          "businessSectors": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Ids of BusinessSectors with which Candidate is associated."
          },
          "candidateSource": {
            "type": "integer",
            "format": "int64",
            "description": "Source of the Candidate."
          },
          "category": {
            "type": "integer",
            "format": "int64",
            "description": "Candidate&rsquo;s primary Category. The default value is the Other Area(s) category for the user’s private label or the first Category.<br><strong>Note:</strong> This property refers to the original category assigned to the Candidate. To retrieve or update categories for the Candidate, you should use the categories associations (see below)."
          },
          "categories": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Categories assigned to Candidate."
          },
          "certifications": {
            "type": "string",
            "description": "Candidate&rsquo;s certifications."
          },
          "clientRating": {
            "type": "integer",
            "format": "int64",
            "description": "Score from BH Automation Client Rating Tool."
          },
          "comments": {
            "type": "string",
            "description": "Free-text comments on Candidate."
          },
          "companyName": {
            "type": "string",
            "description": "Name of company where the Candidate currently works."
          },
          "companyURL": {
            "type": "string",
            "description": "Candidate&rsquo;s personal URL."
          },
          "customDate1 to 13": {
            "type": "string",
            "format": "date-time",
            "description": "Configurable date fields that can be used to store custom data depending on the needs of a particular deployment. *Must* be in epoch milliseconds."
          },
          "customEncryptedText1 to 10": {
            "type": "string",
            "description": "Configurable encrypted text fields that can be used to store custom data depending on the needs of a particular deployment."
          },
          "customFloat1 to 23": {
            "type": "number",
            "description": "Configurable numeric fields that can be used to store custom data depending on the needs of a particular deployment."
          },
          "customInt1 to 23": {
            "type": "integer",
            "format": "int64",
            "description": "Configurable numeric fields that can be used to store custom data depending on the needs of a particular deployment."
          },
          "customObject1s to 35s": {
            "type": "string",
            "description": "Fields to which custom objects can be assigned. For more information about custom objects, see the Bullhorn Resource Center and the following article on using the REST API with custom objects:<br><a href=\"http://bullhorn.github.io/Custom-Objects\">http://bullhorn.github.io/Custom-Objects</a>"
          },
          "customText1 to 40": {
            "type": "string",
            "description": "Configurable text fields that can be used to store custom data depending on the needs of a particular deployment."
          },
          "customTextBlock1 to 10": {
            "type": "string",
            "description": "Configurable text fields that can be used to store custom data depending on the needs of a particular deployment."
          },
          "dateAdded": {
            "type": "string",
            "format": "date-time",
            "description": "Date on which this record was created in the Bullhorn system. *Must* be in epoch milliseconds.",
            "readOnly": true
          },
          "dateAvailable": {
            "type": "string",
            "format": "date-time",
            "description": "Date on which Candidate will be available to begin work. *Must* be in epoch milliseconds."
          },
          "dateAvailableEnd": {
            "type": "string",
            "format": "date-time",
            "description": "Date on which Candidate&rsquo;s availability will end, if applicable. *Must* be in epoch milliseconds."
          },
          "dateI9Expiration": {
            "type": "string",
            "format": "date-time",
            "description": "Date on which the Candidate&rsquo;s I9 form will expire. *Must* be in epoch milliseconds."
          },
          "dateLastComment": {
            "type": "string",
            "format": "date-time",
            "description": "Date of the most recent Note referencing Candidate. *Must* be in epoch milliseconds.",
            "readOnly": true
          },
          "dateLastModified": {
            "type": "string",
            "format": "date-time",
            "description": "Date the Candidate was last modified. *Must* be in epoch milliseconds.",
            "readOnly": true
          },
          "dateNextCall": {
            "type": "string",
            "format": "date-time",
            "description": "Date when the Candidate should next be called. *Must* be in epoch milliseconds."
          },
          "dateOfBirth": {
            "type": "string",
            "format": "date-time",
            "description": "Candidate&rsquo;s date of birth. *Must* be in epoch milliseconds."
          },
          "dayRate": {
            "type": "string",
            "description": "Candidate&rsquo;s desired per-day pay rate."
          },
          "dayRateLow": {
            "type": "string",
            "description": "Lowest per-day rate the Candidate will accept."
          },
          "degreeList": {
            "type": "string",
            "description": "List of Candidate&rsquo;s educational degrees. Field on the edit screen, not the field in People Template."
          },
          "description": {
            "type": "string",
            "description": "Text field, usually used to contain the Candidate&rsquo;s resume."
          },
          "desiredLocations": {
            "type": "string",
            "description": "Locations where Candidate would like to work."
          },
          "disability": {
            "type": "string",
            "description": "Indicates whether Candidate has a disability. Allowable values can be configured using field maps. Default values are U (Unknown), Y (Yes), and N (No)."
          },
          "educationDegree": {
            "type": "string",
            "description": "Candidate&rsquo;s highest level of education."
          },
          "email": {
            "type": "string",
            "description": "Candidate&rsquo;s email address."
          },
          "email2": {
            "type": "string",
            "description": "Additional email address."
          },
          "email3": {
            "type": "string",
            "description": "Additional email address."
          },
          "employeeType": {
            "type": "string",
            "description": "Candidate&rsquo;s employee type: for example 1099 or W2."
          },
          "employmentPreference": {
            "type": "string",
            "description": "Indicates type of employment the Candidate would prefer: for example, permanent, part-time, and so forth."
          },
          "ethnicity": {
            "type": "string",
            "description": "Candidate&rsquo;s ethnicity."
          },
          "experience": {
            "type": "integer",
            "format": "int64",
            "description": "Number of years of experience that the Candidate has."
          },
          "externalID": {
            "type": "string",
            "description": "Used for records migrated in from other systems; often used for the Candidate&rsquo;s external/backoffice Id."
          },
          "fax": {
            "type": "string",
            "description": "Candidate&rsquo;s fax number."
          },
          "fax2": {
            "type": "string",
            "description": "Additional fax number."
          },
          "fax3": {
            "type": "string",
            "description": "Additional fax number."
          },
          "federalAdditionalWitholdingsAmount": {
            "type": "string",
            "description": "Number of federal withholdings the Candidate has selected on his or her W-2 tax form."
          },
          "federalExemptions": {
            "type": "integer",
            "format": "int64",
            "description": "Number of federal exemptions the Candidate has indicated on his or her W-2 tax form."
          },
          "federalExtraWithholdingAmount": {
            "type": "string",
            "description": "Enter any additional tax you want withheld each pay period."
          },
          "federalFilingStatus": {
            "type": "string",
            "description": "Candidate&rsquo;s federal tax filing status."
          },
          "firstName": {
            "type": "string",
            "description": "Candidate&rsquo;s first name."
          },
          "gender": {
            "type": "string",
            "description": "Candidate&rsquo;s gender. Options are U (unknown), M (male), F (female)"
          },
          "hourlyRate": {
            "type": "string",
            "description": "Candidate&rsquo;s desired hourly pay rate."
          },
          "hourlyRateLow": {
            "type": "string",
            "description": "Lowest hourly pay rate the Candidate will accept."
          },
          "i9OnFile": {
            "type": "integer",
            "format": "int64",
            "description": "Indicates whether Candidate&rsquo;s I-9 form has already been filled out and is on file."
          },
          "interviews": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Interviews for Candidate. This field is populated when you create Appointments where Appointment.candidate is this Candidate and Appointment.type is “Interview”."
          },
          "isAnonymized": {
            "type": "boolean",
            "description": "Indicates whether this record is marked as anonymized in the Bullhorn system."
          },
          "isDeleted": {
            "type": "boolean",
            "description": "Indicates whether this record is marked as deleted in the Bullhorn system."
          },
          "isEditable": {
            "type": "boolean",
            "description": "Indicates whether Candidate can edit his or her profile information; applicable to Candidate/Client login."
          },
          "isExempt": {
            "type": "boolean",
            "description": "To claim exemption from withholding, set this to Yes."
          },
          "lastName": {
            "type": "string",
            "description": "Candidate&rsquo;s last name."
          },
          "leads": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Leads associated with this Candidate."
          },
          "linkedPerson": {
            "type": "integer",
            "format": "int64",
            "description": "If person represented by Candidate is also a ClientContact, this field includes the following ClientContact fields<br>: id, _subtype"
          },
          "localAddtionalWitholdingsAmount": {
            "type": "string",
            "description": "Number of local withholdings the Candidate has selected on his or her W-2 tax form."
          },
          "localExemptions": {
            "type": "integer",
            "format": "int64",
            "description": "Number of local exemptions Candidate has indicated on his or her W-2 tax form."
          },
          "localFilingStatus": {
            "type": "string",
            "description": "Candidate&rsquo;s local tax filing status."
          },
          "localTaxCode": {
            "type": "string",
            "description": "Candidate&rsquo;s local tax code (if local taxes apply); not required."
          },
          "maritalStatus": {
            "type": "string",
            "description": "Indicates the current marital status of the candidate."
          },
          "massMailOptOut": {
            "type": "boolean",
            "description": "Indicates whether Candidate has chosen not to be included in mass emails through the Bullhorn system."
          },
          "middleName": {
            "type": "string",
            "description": "Candidate&rsquo;s middle name."
          },
          "mobile": {
            "type": "string",
            "description": "Candidate&rsquo;s mobile (cell) telephone number."
          },
          "name": {
            "type": "string",
            "description": "Candidate&rsquo;s full name. If setting firstname or lastname, you must also set this field; it does not populate automatically."
          },
          "namePrefix": {
            "type": "string",
            "description": "Candidate&rsquo;s name prefix, for example Dr., Ms., Mr., and so forth."
          },
          "nameSuffix": {
            "type": "string",
            "description": "Candidate&rsquo;s name suffix, for example Jr."
          },
          "nickName": {
            "type": "string",
            "description": "Candidate&rsquo;s nickname."
          },
          "numCategories": {
            "type": "integer",
            "format": "int64",
            "description": "Number of Category objects associated with Candidate."
          },
          "numOwners": {
            "type": "integer",
            "format": "int64",
            "description": "Number of CorporateUsers that are listed as owner of Candidate."
          },
          "occupation": {
            "type": "string",
            "description": "Candidate&rsquo;s current occupation or job title."
          },
          "onboardingDocumentReceivedCount": {
            "type": "integer",
            "format": "int64",
            "description": "Number of eStaff onboarding documents that have been received by the Candidate."
          },
          "onboardingDocumentSentCount": {
            "type": "integer",
            "format": "int64",
            "description": "Number of eStaff onboarding documents that have been sent and completed by the Candidate."
          },
          "onboardingPercentComplete": {
            "type": "integer",
            "format": "int64",
            "description": "Percentage of eStaff onboarding documents that a Candidate has completed."
          },
          "onboardingReceivedSent": {
            "type": "string",
            "description": "Readonly composite field that contains:<ul><li>onboardingDocumentReceivedCount</li><li>onboardingDocumentSentCount</li></ul></ul> Use this to only view these fields.<br>To update, update the fields directly."
          },
          "onboardingStatus": {
            "type": "string",
            "description": "Candidate&rsquo;s eStaff onboarding status."
          },
          "otherDeductionsAmount": {
            "type": "string",
            "description": "If there are other deductions to be claimed (other than standard)."
          },
          "otherIncomeAmount": {
            "type": "string",
            "description": "If you want tax withheld for other income that is expected."
          },
          "owner": {
            "type": "integer",
            "format": "int64",
            "description": "CorporateUser who is the primary owner of Candidate. The default value is user who creates the Candidate."
          },
          "pager": {
            "type": "string",
            "description": "Candidate&rsquo;s pager number."
          },
          "paperWorkOnFile": {
            "type": "string",
            "description": "Configurable field that tracks whether the Candidate&rsquo;s tax paperwork has been received."
          },
          "parsedResumeFile": {
            "type": "integer",
            "format": "int64",
            "description": "Id of the CandidateFileAttachment that is associated with the resume in the Candidate record"
          },
          "password": {
            "type": "string",
            "description": "Candidate’s password. The default value is a randomly generated string."
          },
          "payrollClientStartDate": {
            "type": "string",
            "format": "date-time",
            "description": "Indicates Date on which the employee was first on payroll at the staffing company. Used for payroll integrations. *Must* be in epoch milliseconds."
          },
          "payrollStatus": {
            "type": "string",
            "description": "Indicates whether the Candidate is currently active on payroll or not. Used for payroll integrations."
          },
          "phone": {
            "type": "string",
            "description": "Candidate&rsquo;s home telephone number."
          },
          "phone2": {
            "type": "string",
            "description": "Candidate&rsquo;s telephone number at work."
          },
          "phone3": {
            "type": "string",
            "description": "Alternate telephone number."
          },
          "placements": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Placements for Candidate. This field is populated when you create Placements where Placement.candidate is this Candidate."
          },
          "preferredContact": {
            "type": "string",
            "description": "Candidate&rsquo;s preferred method of contact (for example, phone, email, and so forth.)"
          },
          "primarySkills": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Skills that are listed as primary Skills for Candidate."
          },
          "recentClientList": {
            "type": "string",
            "description": "List of ClientCorporations for which Candidate has worked."
          },
          "referredBy": {
            "type": "string",
            "description": "Name of person who referred Candidate."
          },
          "referredByPerson": {
            "type": "integer",
            "format": "int64",
            "description": "Person who referred Candidate, if applicable."
          },
          "salary": {
            "type": "string",
            "description": "Candidate&rsquo;s desired yearly salary."
          },
          "salaryLow": {
            "type": "string",
            "description": "Lowest yearly salary the Candidate will accept."
          },
          "secondaryAddress": {
            "type": "string",
            "description": "Candidate&rsquo;s work address:<ul><li>address1</li><li>address2</li><li>city</li><li>state</li><li>zip</li><li>countryID: options:<ul><li>value: 1</li><li>value: 2</li></ul></ul>Use the following REST call to get the list of countryIDs and labels:<br>/meta/Candidate?fields=address(countryID)"
          },
          "secondaryOwners": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "CorporateUsers who are additional owners of Candidate."
          },
          "secondarySkills": {
            "type": "string",
            "description": "Skills that are listed as secondary skills for Candidate."
          },
          "sendouts": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Sendouts for Candidate. This field is populated when you create Sendouts where the Sendout.candidate is this Candidate."
          },
          "skillSet": {
            "type": "string",
            "description": "Text description of Candidate&rsquo;s skills."
          },
          "smsOptIn": {
            "type": "boolean",
            "description": "Indicates whether Candidate has granted permission to be sent messages via SMS. Can only set on create calls; updates are not allowed."
          },
          "source": {
            "type": "string",
            "description": "Candidate source: for example, Advertisement, Client Referral, LinkedIn, Monster.com, and so forth. Allowable values can be configured using field maps."
          },
          "specialties": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Candidate’s specialty skills. This field is populated when you associate a Specialty with this Candidate in a to-many association operation."
          },
          "ssn": {
            "type": "string",
            "description": "Candidate&rsquo;s Social Security Number. Check field map for proper format."
          },
          "stateAddtionalWitholdingsAmount": {
            "type": "string",
            "description": "Number of state withholdings Candidate has selected on his or her W-2 tax form."
          },
          "stateExemptions": {
            "type": "integer",
            "format": "int64",
            "description": "Number of state exemptions Candidate has indicated on W-2 tax form."
          },
          "stateFilingStatus": {
            "type": "string",
            "description": "Candidate&rsquo;s state tax filing status."
          },
          "status": {
            "type": "string",
            "description": "Candidate status with company: for example, New Lead, Active, Offer Pending, Placed, and so forth. Allowable values can be configured using field maps."
          },
          "submissions": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "JobSubmissions for Candidate. This field is populated when you create JobSubmissions where JobSubmission.candidate is this Candidate."
          },
          "tasks": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Tasks associated with Candidate. This field is populated when you create Tasks where Task.candidate is this Candidate."
          },
          "taxID": {
            "type": "string",
            "description": "Id that Candidate uses for tax purposes if not SSN."
          },
          "taxState": {
            "type": "string",
            "description": "State in which Candidate pays taxes."
          },
          "timeZoneOffsetEST": {
            "type": "integer",
            "format": "int64",
            "description": "Indicates the number of hours by which the Candidate&rsquo;s time zone differs from Eastern Standard Time. For example, Pacific Standard Time is -3, three hours earlier than Eastern."
          },
          "tobaccoUser": {
            "type": "string",
            "description": "Indicates the tobacco usage of the candidate."
          },
          "totalDependentClaimAmount": {
            "type": "string",
            "description": "Total amount that are being claimed for dependents."
          },
          "travelLimit": {
            "type": "integer",
            "format": "int64",
            "description": "Maximum distance Candidate is willing to travel."
          },
          "travelMethod": {
            "type": "string",
            "description": "Method of travel to job."
          },
          "twoJobs": {
            "type": "boolean",
            "description": "If more then one job is held at a time OR if the person is married and filing jointly and their spouse also works."
          },
          "type": {
            "type": "string",
            "description": "Candidate type: for example, Active, Passive, and so forth."
          },
          "userDateAdded": {
            "type": "string",
            "format": "date-time",
            "description": "Date the record was added to the system. *Must* be in epoch milliseconds."
          },
          "username": {
            "type": "string",
            "description": "Candidate’s username for logging in to Bullhorn. The default value is _[random number]"
          },
          "veteran": {
            "type": "string",
            "description": "Indicates whether Candidate is a veteran: Y for yes, N for no, or U for unknown."
          },
          "webResponses": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Web responses for Candidate. This field is populated when you create JobSubmissions where JobSubmission.candidate is this Candidate and JobSubmission.status is “New Lead”."
          },
          "whitelistClientCorporations": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Set of ClientCorporations whitelisted for this Candidate."
          },
          "willRelocate": {
            "type": "boolean",
            "description": "Indicates whether Candidate is willing to relocate for a position."
          },
          "workAuthorized": {
            "type": "boolean",
            "description": "Indicates whether Candidate is authorized to work in the U.S."
          },
          "workPhone": {
            "type": "string",
            "description": "Candidate&rsquo;s telephone number at work."
          }
        },
        "additionalProperties": false,
        "required": [
          "id",
          "candidateSource",
          "category",
          "comments",
          "dateAdded",
          "dateLastModified",
          "employeeType",
          "firstName",
          "interviews",
          "isDeleted",
          "isEditable",
          "lastName",
          "name",
          "owner",
          "password",
          "placements",
          "preferredContact",
          "status",
          "submissions",
          "userDateAdded",
          "username"
        ]
      },
      "CandidateAvailability": {
        "type": "object",
        "description": "CandidateAvailability entity schema derived from Bullhorn Entity Reference.",
        "properties": {},
        "additionalProperties": false
      },
      "CandidateCertification": {
        "type": "object",
        "description": "CandidateCertification entity schema derived from Bullhorn Entity Reference.",
        "properties": {},
        "additionalProperties": false
      },
      "CandidateCertificationRequirement": {
        "type": "object",
        "description": "CandidateCertificationRequirement entity schema derived from Bullhorn Entity Reference.",
        "properties": {},
        "additionalProperties": false
      },
      "CandidateEducation": {
        "type": "object",
        "description": "CandidateEducation entity schema derived from Bullhorn Entity Reference.",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64",
            "description": "Unique identifier for this entity."
          },
          "candidate": {
            "type": "integer",
            "format": "int64",
            "description": "Candidate with whom this entity is associated."
          },
          "certification": {
            "type": "string",
            "description": "Certification received with this education, if applicable."
          },
          "city": {
            "type": "string",
            "description": "Name of the city where the education took place."
          },
          "comments": {
            "type": "string",
            "description": "Free-text comments on this record."
          },
          "customDate1 to 5": {
            "type": "string",
            "format": "date-time",
            "description": "Configurable date fields that can be used to store custom data depending on the needs of a particular deployment. *Must* be in epoch milliseconds."
          },
          "customFloat1 to 5": {
            "type": "number",
            "description": "Configurable numeric fields that can be used to store custom data depending on the needs of a particular deployment."
          },
          "customInt1 to 5": {
            "type": "integer",
            "format": "int64",
            "description": "Configurable numeric fields that can be used to store custom data depending on the needs of a particular deployment."
          },
          "customText1 to 5": {
            "type": "string",
            "description": "Configurable text fields that can be used to store custom data depending on the needs of a particular deployment."
          },
          "customTextBlock1 to 3": {
            "type": "string",
            "description": "Configurable text fields that can be used to store custom data depending on the needs of a particular deployment."
          },
          "dateAdded": {
            "type": "string",
            "format": "date-time",
            "description": "Date on which this record was created in the Bullhorn system. *Must* be in epoch milliseconds."
          },
          "dateLastModified": {
            "type": "string",
            "format": "date-time",
            "description": "Date on which this record was last updated in the Bullhorn system. *Must* be in epoch milliseconds."
          },
          "degree": {
            "type": "string",
            "description": "Indicates what educational degree the Candidate received; for example, B.A., M.A., Ph.D., and so forth."
          },
          "endDate": {
            "type": "string",
            "format": "date-time",
            "description": "Date when Candidate finished this education. *Must* be in epoch milliseconds."
          },
          "expirationDate": {
            "type": "string",
            "format": "date-time",
            "description": "Expiration date for a certificate or other credential that needs to be periodically renewed. *Must* be in epoch milliseconds."
          },
          "gpa": {
            "type": "number",
            "description": "Indicates Candidate&rsquo;s grade point average."
          },
          "graduationDate": {
            "type": "string",
            "format": "date-time",
            "description": "Date when Candidate graduated. *Must* be in epoch milliseconds."
          },
          "isDeleted": {
            "type": "boolean",
            "description": "Indicates whether this record has been marked as deleted in the Bullhorn system."
          },
          "major": {
            "type": "string",
            "description": "Indicates the field in which Candidate majored."
          },
          "school": {
            "type": "string",
            "description": "Name of the educational institute where this education took place."
          },
          "startDate": {
            "type": "string",
            "format": "date-time",
            "description": "Date when Candidate began study. *Must* be in epoch milliseconds."
          },
          "state": {
            "type": "string",
            "description": "Name of the U.S. state in which the education took place."
          }
        },
        "additionalProperties": false,
        "required": [
          "id",
          "dateAdded",
          "dateLastModified"
        ]
      },
      "CandidateReference": {
        "type": "object",
        "description": "CandidateReference entity schema derived from Bullhorn Entity Reference.",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64",
            "description": "Unique identifier for this entity.",
            "readOnly": true
          },
          "candidate": {
            "type": "integer",
            "format": "int64",
            "description": "Candidate for whom this person is a reference."
          },
          "candidateTitle": {
            "type": "string",
            "description": "Candidate&rsquo;s title when working with or for the reference."
          },
          "clientCorporation": {
            "type": "integer",
            "format": "int64",
            "description": "ClientCorporation where the CandidateReference works."
          },
          "companyName": {
            "type": "string",
            "description": "Name of the company where reference works, if it does not have a ClientCorporation record in Bullhorn."
          },
          "customDate1 to 5": {
            "type": "string",
            "format": "date-time",
            "description": "Configurable date fields that can be used to store custom data depending on the needs of a particular deployment. *Must* be in epoch milliseconds."
          },
          "customFloat1 to 5": {
            "type": "number",
            "description": "Configurable numeric fields that can be used to store custom data depending on the needs of a particular deployment."
          },
          "customInt1 to 5": {
            "type": "integer",
            "format": "int64",
            "description": "Configurable numeric fields that can be used to store custom data depending on the needs of a particular deployment."
          },
          "customText1 to 5": {
            "type": "string",
            "description": "Configurable text fields that can be used to store custom data depending on the needs of a particular deployment."
          },
          "customTextBlock1 to 3": {
            "type": "string",
            "description": "Configurable text fields that can be used to store custom data depending on the needs of a particular deployment."
          },
          "dateAdded": {
            "type": "string",
            "format": "date-time",
            "description": "Date on which this record was created in the Bullhorn system. *Must* be in epoch milliseconds."
          },
          "dateLastModified": {
            "type": "string",
            "format": "date-time",
            "description": "Date on which this record was last updated in the Bullhorn system. *Must* be in epoch milliseconds."
          },
          "employmentEnd": {
            "type": "string",
            "format": "date-time",
            "description": "End date of Candidate&rsquo;s employment with the reference. *Must* be in epoch milliseconds."
          },
          "employmentStart": {
            "type": "string",
            "format": "date-time",
            "description": "Start of the period during which the Candidate worked with the reference. *Must* be in epoch milliseconds."
          },
          "isDeleted": {
            "type": "boolean",
            "description": "Indicates whether this record has been marked as deleted in the Bullhorn system."
          },
          "jobOrder": {
            "type": "integer",
            "format": "int64",
            "description": "JobOrder for which Candidate is being considered."
          },
          "referenceClientContact": {
            "type": "integer",
            "format": "int64",
            "description": "Bullhorn ClientContact for this reference, if applicable."
          },
          "referenceEmail": {
            "type": "string",
            "description": "Email address for reference; not used if the CandidateReference is a ClientContact."
          },
          "referenceFirstName": {
            "type": "string",
            "description": "Reference&rsquo;s first name; not used if reference is a ClientContact."
          },
          "referenceLastName": {
            "type": "string",
            "description": "Reference&rsquo;s last name; not used if the CandidateReference is a ClientContact."
          },
          "referencePhone": {
            "type": "string",
            "description": "Phone number for the CandidateReference; not used if the reference is a ClientContact."
          },
          "referenceTitle": {
            "type": "string",
            "description": "Reference&rsquo;s job title; not used if the reference is a ClientContact."
          },
          "status": {
            "type": "string",
            "description": "Status of this reference request."
          },
          "yearsKnown": {
            "type": "integer",
            "format": "int64",
            "description": "Indicates how long reference has known the Candidate."
          }
        },
        "additionalProperties": false,
        "required": [
          "id",
          "candidate",
          "dateAdded",
          "dateLastModified",
          "isDeleted"
        ]
      },
      "CandidateReferenceQuestion": {
        "type": "object",
        "description": "CandidateReferenceQuestion entity schema derived from Bullhorn Entity Reference.",
        "properties": {},
        "additionalProperties": false
      },
      "CandidateReferenceResponse": {
        "type": "object",
        "description": "CandidateReferenceResponse entity schema derived from Bullhorn Entity Reference.",
        "properties": {},
        "additionalProperties": false
      },
      "CandidateShiftPreference": {
        "type": "object",
        "description": "CandidateShiftPreference entity schema derived from Bullhorn Entity Reference.",
        "properties": {},
        "additionalProperties": false
      },
      "CandidateTaxInfo": {
        "type": "object",
        "description": "CandidateTaxInfo entity schema derived from Bullhorn Entity Reference.",
        "properties": {},
        "additionalProperties": false
      },
      "CandidateWorkHistory": {
        "type": "object",
        "description": "CandidateWorkHistory entity schema derived from Bullhorn Entity Reference.",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64",
            "description": "Unique identifier for this entity.",
            "readOnly": true
          },
          "bonus": {
            "type": "number",
            "description": "Amount of the bonus paid to Candidate."
          },
          "candidate": {
            "type": "integer",
            "format": "int64",
            "description": "Candidate with whom CandidateWorkHistory is associated."
          },
          "clientCorporation": {
            "type": "integer",
            "format": "int64",
            "description": "ClientCorporation associated with Candidate."
          },
          "comments": {
            "type": "string",
            "description": "Free-text comments on CandidateWorkHistory."
          },
          "commission": {
            "type": "number",
            "description": "Amount of commission earned by Candidate at this position."
          },
          "companyName": {
            "type": "string",
            "description": "Name of the company where the Candidate worked."
          },
          "customDate1 to 5": {
            "type": "string",
            "format": "date-time",
            "description": "Configurable date fields that can be used to store custom data depending on the needs of a particular deployment. *Must* be in epoch milliseconds."
          },
          "customFloat1 to 5": {
            "type": "number",
            "description": "Configurable numeric fields that can be used to store custom data depending on the needs of a particular deployment."
          },
          "customInt1 to 5": {
            "type": "integer",
            "format": "int64",
            "description": "Configurable numeric fields that can be used to store custom data depending on the needs of a particular deployment."
          },
          "customText1 to 5": {
            "type": "string",
            "description": "Configurable text fields that can be used to store custom data depending on the needs of a particular deployment."
          },
          "customTextBlock1 to 3": {
            "type": "string",
            "description": "Configurable text fields that can be used to store custom data depending on the needs of a particular deployment."
          },
          "dateAdded": {
            "type": "string",
            "format": "date-time",
            "description": "Date on which this record was created in the Bullhorn system. *Must* be in epoch milliseconds.",
            "readOnly": true
          },
          "dateLastModified": {
            "type": "string",
            "format": "date-time",
            "description": "Date on which this record was last updated in the Bullhorn system. *Must* be in epoch milliseconds."
          }
        },
        "additionalProperties": false,
        "required": [
          "id",
          "candidate",
          "dateAdded",
          "dateLastModified"
        ]
      },
      "Category": {
        "type": "object",
        "description": "Category entity schema derived from Bullhorn Entity Reference.",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64",
            "description": "Unique identifier for this entity.",
            "readOnly": true
          },
          "dateAdded": {
            "type": "string",
            "format": "date-time",
            "description": "Date on which record was created in the Bullhorn system. *Must* be in epoch milliseconds.",
            "readOnly": true
          },
          "description": {
            "type": "string",
            "description": "Free-text description of this category."
          },
          "enabled": {
            "type": "boolean",
            "description": "Indicates whether category is available for use in the Bullhorn system.",
            "readOnly": true
          },
          "name": {
            "type": "string",
            "description": "Name of the category.",
            "readOnly": true
          },
          "occupation": {
            "type": "string",
            "description": "Occupation."
          },
          "skills": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Ids of the Skills associated with this Category."
          },
          "specialties": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Ids of the Specialties that are children of this Category."
          },
          "type": {
            "type": "string",
            "description": "Bill Rate Category, Skills Checklist Category, and so forth."
          }
        },
        "additionalProperties": false,
        "required": [
          "id",
          "dateAdded",
          "enabled",
          "name",
          "occupation",
          "type"
        ]
      },
      "Certification": {
        "type": "object",
        "description": "Certification entity schema derived from Bullhorn Entity Reference.",
        "properties": {},
        "additionalProperties": false
      },
      "CertificationGroup": {
        "type": "object",
        "description": "CertificationGroup entity schema derived from Bullhorn Entity Reference.",
        "properties": {},
        "additionalProperties": false
      },
      "CertificationFileAttachment": {
        "type": "object",
        "description": "CertificationFileAttachment entity schema derived from Bullhorn Entity Reference.",
        "properties": {},
        "additionalProperties": false
      },
      "CertificationRequirement": {
        "type": "object",
        "description": "CertificationRequirement entity schema derived from Bullhorn Entity Reference.",
        "properties": {},
        "additionalProperties": false
      },
      "ClientContact": {
        "type": "object",
        "description": "ClientContact entity schema derived from Bullhorn Entity Reference.",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64",
            "description": "Unique identifier for this entity.",
            "readOnly": true
          },
          "address": {
            "type": "string",
            "description": "Contact&rsquo;s address:<ul><li>address1</li><li>address2</li><li>city</li><li>state</li><li>zip</li><li>countryID: options:<ul><li>value: 1</li><li>value: 2</li></ul></ul>Use the following REST call to get the list of countryIDs and labels:<br>/meta/ClientContact?fields=address(countryID)"
          },
          "businessSectors": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Ids of BusinessSectors in which the Contact operates."
          },
          "category": {
            "type": "integer",
            "format": "int64",
            "description": "Contact&rsquo;s primary Category. The default value is the Other Area(s) category for the user’s private label or the first Category."
          },
          "categories": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Ids of the Categories associated with the Contact. Note that the categoryId property is used to store the contact&rsquo;s primary Category, while this association hold that Category and any other Categories to which the Contact belongs."
          },
          "certifications": {
            "type": "string",
            "description": "Contact&rsquo;s certifications."
          },
          "clientCorporation": {
            "type": "integer",
            "format": "int64",
            "description": "ClientCorporation for which the Contact works."
          },
          "comments": {
            "type": "string",
            "description": "Free-text comments on this Contact."
          },
          "customDate1-3": {
            "type": "string",
            "format": "date-time",
            "description": "Configurable date fields that can be used to store custom data depending on the needs of a particular deployment. *Must* be in epoch milliseconds."
          },
          "customFloat1-3": {
            "type": "number",
            "description": "Configurable numeric fields that can be used to store custom data depending on the needs of a particular deployment."
          },
          "customInt1-3": {
            "type": "integer",
            "format": "int64",
            "description": "Configurable numeric fields that can be used to store custom data depending on the needs of a particular deployment."
          },
          "customObject1s to 35s": {
            "type": "string",
            "description": "Fields to which custom objects can be assigned. For more information about custom objects, see the Bullhorn Resource Center and the following article on using the REST API with custom objects:<br><a href=\"http://bullhorn.github.io/Custom-Objects\">http://bullhorn.github.io/Custom-Objects</a>"
          },
          "customText1-20": {
            "type": "string",
            "description": "Configurable text fields that can be used to store custom data depending on the needs of a particular deployment."
          },
          "customTextBlock1-5": {
            "type": "string",
            "description": "Configurable text fields that can be used to store custom data depending on the needs of a particular deployment."
          },
          "dateAdded": {
            "type": "string",
            "format": "date-time",
            "description": "Date on which this record was created in the Bullhorn system. *Must* be in epoch milliseconds."
          },
          "dateLastModified": {
            "type": "string",
            "format": "date-time",
            "description": "Date on which the ClientContact was last modified. *Must* be in epoch milliseconds.",
            "readOnly": true
          },
          "dateLastVisit": {
            "type": "string",
            "format": "date-time",
            "description": "Date of ClientContact’s last visit. *Must* be in epoch milliseconds."
          },
          "description": {
            "type": "string",
            "description": "Large text field for additional information about the contact."
          },
          "desiredCategories": {
            "type": "string",
            "description": "Categories that the ClientContact wants Candidates to belong to."
          },
          "desiredSkills": {
            "type": "string",
            "description": "Skills that the ClientContact wants his or her Candidates to have."
          },
          "desiredSpecialties": {
            "type": "string",
            "description": "Specialties that the ClientContact wants his or her Candidates to have."
          },
          "division": {
            "type": "string",
            "description": "Department that the Contact is associated with."
          },
          "email": {
            "type": "string",
            "description": "ClientContact&rsquo;s primary (work) email address."
          },
          "email2": {
            "type": "string",
            "description": "Additional email address. Typically used for the ClientContact’s home or personal email."
          },
          "email3": {
            "type": "string",
            "description": "Additional email address."
          },
          "externalID": {
            "type": "string",
            "description": "External identifier for the record, used for migrations and back-office Integration."
          },
          "fax": {
            "type": "string",
            "description": "ClientContact&rsquo;s primary (work) fax number."
          },
          "fax2": {
            "type": "string",
            "description": "Additional fax number. Typically used for the contact&rsquo;s home or personal fax."
          },
          "fax3": {
            "type": "string",
            "description": "Additional fax number."
          },
          "firstName": {
            "type": "string",
            "description": "ClientContact&rsquo;s first name."
          },
          "isAnonymized": {
            "type": "boolean",
            "description": "Indicates whether this record is marked as anonymized in the Bullhorn system."
          },
          "isDayLightSavings": {
            "type": "boolean",
            "description": "Indicates whether the ClientContact&rsquo;s location is using Daylight Saving Time."
          },
          "isDeleted": {
            "type": "boolean",
            "description": "Indicates whether this record has been marked as deleted in the Bullhorn system."
          },
          "lastName": {
            "type": "string",
            "description": "ClientContact&rsquo;s last name."
          },
          "leads": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Leads associated with this ClientContact."
          },
          "linkedPerson": {
            "type": "string",
            "format": "date",
            "description": "If the person represented by this ClientContact is also a Candidate, this field includes the following Candidate fields: id, _subtype"
          },
          "massMailOptOut": {
            "type": "boolean",
            "description": "Indicates whether the Contact has chosen not to be included in mass emails through the Bullhorn system."
          },
          "middleName": {
            "type": "string",
            "description": "ClientContact&rsquo;s middle name."
          },
          "mobile": {
            "type": "string",
            "description": "ClientContact&rsquo;s mobile (cellular) telephone number."
          },
          "name": {
            "type": "string",
            "description": "ClientContact&rsquo;s full name. Should be a combination of the firstName and lastName fields separated by a space. <strong>Notes:</strong> If you create a ClientContact with no value in the name field, users will have no way to select that ClientContact in the Bullhorn staffing application. If you create or modify a ClientContact name that is not a combination of the firstName and lastName fields, the name will be overwritten when a user saves the ClientContact in the Bullhorn staffing application. The name will change to a combination of the firstName and lastName fields."
          },
          "namePrefix": {
            "type": "string",
            "description": "ClientContact&rsquo;s name prefix, for example Dr., Ms, Mr., and so forth."
          },
          "nameSuffix": {
            "type": "string",
            "description": "ClientContact&rsquo;s name suffix, for example Jr."
          },
          "nickName": {
            "type": "string",
            "description": "ClientContact&rsquo;s nickname."
          },
          "numEmployees": {
            "type": "integer",
            "format": "int64",
            "description": "Number of employees who report to this Contact."
          },
          "occupation": {
            "type": "string",
            "description": "ClientContact&rsquo;s job title."
          },
          "office": {
            "type": "string",
            "description": "For companies with multiple locations, this field can be used to indicate which office this contact works out of."
          },
          "owner": {
            "type": "integer",
            "format": "int64",
            "description": "CorporateUser who is the owner of this Contact record. The default value is user who creates the ClientContact."
          },
          "pager": {
            "type": "string",
            "description": "ClientContact&rsquo;s pager number."
          },
          "password": {
            "type": "string",
            "description": "ClientContact&rsquo;s password for logging in to Bullhorn. The default value is a randomly generated string."
          },
          "phone": {
            "type": "string",
            "description": "ClientContact&rsquo;s primary (work) telephone number."
          },
          "phone2": {
            "type": "string",
            "description": "Alternate phone number. Typically used for the contact&rsquo;s home phone number."
          },
          "phone3": {
            "type": "string",
            "description": "Alternate phone number."
          },
          "preferredContact": {
            "type": "string",
            "description": "Contact&rsquo;s preferred method of contact (For example, phone, email, and so forth.)"
          },
          "referredByPerson": {
            "type": "string",
            "description": "Person who referred this ClientContact."
          },
          "reportToPerson": {
            "type": "string",
            "description": "Person to whom this ClientContact reports."
          },
          "secondaryAddress": {
            "type": "string",
            "description": "ClientContact&rsquo;s secondary (home) address:<ul><li>address1</li><li>address2</li><li>city</li><li>state</li><li>zip</li><li>countryID: options:<ul><li>value: 1</li><li>value: 2</li></ul></ul>Use the following REST call to get the list of countryIDs and labels:<br>/meta/ClientContact?fields=address(countryID)."
          },
          "secondaryOwners": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Ids of internal users who are secondary owners of this Contact. Note that the owner property is used to store the ClientContact’s primary owner, while this association hold that person and any other owners of the Contact."
          },
          "skills": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Ids of Skills that the ClientContact wants Candidates to have."
          },
          "smsOptIn": {
            "type": "boolean",
            "description": "Indicates whether the ClientContact has granted permission to be sent messages via SMS. Can only set on create calls; updates are not allowed."
          },
          "source": {
            "type": "string",
            "description": "Source from which this ClientContact was found."
          },
          "status": {
            "type": "string",
            "description": "Status of the contact; for example, New Lead, Active, Prospect, and so forth. Possible values can be configured using field maps."
          },
          "timeZoneOffsetEST": {
            "type": "integer",
            "format": "int64",
            "description": "Indicates the number of hours by which the ClientContact&rsquo;s time zone differs from Eastern Standard Time. For example, Pacific Standard Time is -3, three hours earlier than Eastern."
          },
          "type": {
            "type": "string",
            "description": "Describes the type of ClientContact (for example, Primary, Secondary, Target, Gatekeeper). Possible values can be configured using field maps."
          },
          "username": {
            "type": "string",
            "description": "ClientContact&rsquo;s username for logging in to Bullhorn. The default value is _[random number]"
          }
        },
        "additionalProperties": false,
        "required": [
          "id",
          "category",
          "clientCorporation",
          "dateAdded",
          "dateLastModified",
          "email",
          "isDeleted",
          "massMailOptOut",
          "numEmployees",
          "owner",
          "password",
          "preferredContact",
          "status",
          "type",
          "username"
        ]
      },
      "ClientCorporation": {
        "type": "object",
        "description": "ClientCorporation entity schema derived from Bullhorn Entity Reference.",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64",
            "description": "Unique identifier for this entity.",
            "readOnly": true
          },
          "address": {
            "type": "string",
            "description": "ClientCorporation&rsquo;s main address:<ul><li>address1</li><li>address2</li><li>city</li><li>state</li><li>zip</li><li>countryID: options:<ul><li>value: 1</li><li>value: 2</li></ul></ul>Use the following REST call to get the list of countryIDs and labels:<br>/meta/ClientContact?fields=address(countryID)"
          },
          "annualRevenue": {
            "type": "string",
            "description": "ClientCorporation&rsquo;s annual revenue in millions of U.S. dollars."
          },
          "billingAddress": {
            "type": "string",
            "description": "Address that contains the address to which bills should be sent for this ClientCorporation. address1, address2, city, state, zip"
          },
          "billingContact": {
            "type": "string",
            "description": "Name of the person to whom bills should be sent."
          },
          "billingFrequency": {
            "type": "string",
            "description": "Frequency with which bills should be sent to the ClientCorporation: for example, Weekly, Bi-Weekly, Semi-Monthly, Monthly."
          },
          "billingPhone": {
            "type": "string",
            "description": "Phone number of the billing contact person."
          },
          "businessSectorList": {
            "type": "string",
            "description": "Comma-separated list of BusinessSectors in which the ClientCorporation operates. See field map data for a list of possible values."
          },
          "childClientCorporations": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "ClientCorporations that are children of this one."
          },
          "clientCorporationCertifications": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "<strong>Not supported in this release.</strong> ClientCorporationCertifications associated with this corporation."
          },
          "clientContacts": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "ClientContacts who work at this ClientCorporation."
          },
          "companyDescription": {
            "type": "string",
            "description": "Text description of the company."
          },
          "companyURL": {
            "type": "string",
            "description": "Company&rsquo;s website URL. May use http:// but not required."
          },
          "competitors": {
            "type": "string",
            "description": "Company&rsquo;s major competitors."
          },
          "culture": {
            "type": "string",
            "description": "Text description of the corporate culture."
          },
          "customDate1-3": {
            "type": "string",
            "format": "date-time",
            "description": "Configurable date fields that can be used to store custom data depending on the needs of a particular deployment. *Must* be in epoch milliseconds."
          },
          "customFloat1-3": {
            "type": "number",
            "description": "Configurable numeric fields that can be used to store custom data depending on the needs of a particular deployment."
          },
          "customInt1-3": {
            "type": "integer",
            "format": "int64",
            "description": "Configurable numeric fields that can be used to store custom data depending on the needs of a particular deployment."
          },
          "customObject1s to 35s": {
            "type": "string",
            "description": "Fields to which custom objects can be assigned. For more information about custom objects, see the Bullhorn Resource Center and the following article on using the REST API with custom objects:<br><a href=\"http://bullhorn.github.io/Custom-Objects\">http://bullhorn.github.io/Custom-Objects</a>"
          },
          "customText1-20": {
            "type": "string",
            "description": "Configurable text fields that can be used to store custom data depending on the needs of a particular deployment."
          },
          "customTextBlock1-5": {
            "type": "string",
            "description": "Configurable text fields that can be used to store custom data depending on the needs of a particular deployment."
          },
          "dateAdded": {
            "type": "string",
            "format": "date-time",
            "description": "Date on which this record was created in the Bullhorn system. *Must* be in epoch milliseconds.",
            "readOnly": true
          },
          "dateFounded": {
            "type": "string",
            "format": "date-time",
            "description": "Date on which the ClientCorporation was founded. *Must* be in epoch milliseconds."
          },
          "dateLastModified": {
            "type": "string",
            "format": "date-time",
            "description": "Date on which the ClientCorporation was last modified. *Must* be in epoch milliseconds.",
            "readOnly": true
          },
          "department": {
            "type": "integer",
            "format": "int64",
            "description": "Department in the ClientCorporation that has primary responsibility for this client (for example, a regional office). Default value is primary department of user who adds the ClientCorporation."
          },
          "externalID": {
            "type": "string",
            "description": "External identifier for the record, used for migrations and back-office Integration."
          },
          "exemptionStatus": {
            "type": "string",
            "description": "Tax exemption status for the ClientCorporation. Options are: 1=Exempt, 2=Non-Exempt, 3=Self-Pay"
          },
          "feeArrangement": {
            "type": "number",
            "description": "Fee, expressed as a percentage, that this ClientCorporation will pay for each Placement."
          },
          "funding": {
            "type": "string",
            "description": "Current funding status of the ClientCorporation."
          },
          "industryList": {
            "type": "string",
            "description": "Comma-separated list of industries in which the company operates. See field map data for the list used by a particular company."
          },
          "invoiceFormat": {
            "type": "string",
            "description": "Configurable field to be passed to a back-office system to indicate how to group invoices for this company (Per Placement, Per Billing Contact, and so forth.)"
          },
          "invoiceGroups": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "<strong>Not supported in this release.</strong> Invoice groups associated with this ClientCorporation."
          },
          "invoices": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "<strong>Not supported in this release.</strong> Invoices associated with this corporation."
          },
          "leads": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Leads associated with this ClientCorporation."
          },
          "name": {
            "type": "string",
            "description": "Name of the company."
          },
          "notes": {
            "type": "string",
            "description": "Free text field for entering any comments or notes about the company."
          },
          "numEmployees": {
            "type": "integer",
            "format": "int64",
            "description": "Total number of people employed by the company."
          },
          "numOffices": {
            "type": "integer",
            "format": "int64",
            "description": "Total number of offices for the ClientCorporation."
          },
          "owners": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Owners of the ClientContacts for this ClientCorporation.",
            "readOnly": true
          },
          "ownerShip": {
            "type": "string",
            "description": "Status of the ClientCorporation&rsquo;s current ownership (for example, Public, Private)."
          },
          "parentClientCorporation": {
            "type": "integer",
            "format": "int64",
            "description": "ClientCorporation that is a parent of this one."
          },
          "phone": {
            "type": "string",
            "description": "Main phone number for the ClientCorporation."
          },
          "rateCards": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "<strong>Not supported in this release.</strong> Rate cards associated with this ClientCorporation."
          },
          "revenue": {
            "type": "string",
            "description": "Estimated annual revenue in millions for the company."
          },
          "requirements": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Certifications that Candidates should have."
          },
          "status": {
            "type": "string",
            "description": "Status of the business relationship with this company; for example, Prospect, Active, and so forth."
          },
          "taxRate": {
            "type": "number",
            "description": "Tax rate for the company expressed in percentage: for example, 28%. Passed to a back-office system if applicable."
          },
          "tickerSymbol": {
            "type": "string",
            "description": "Stock market ticker symbol for the company."
          },
          "workWeekStart": {
            "type": "integer",
            "format": "int64",
            "description": "Day of the week on which the work week starts for this company. 1=Sunday, 2=Monday, and so forth."
          }
        },
        "additionalProperties": false,
        "required": [
          "id",
          "address",
          "annualRevenue",
          "dateAdded",
          "dateLastModified",
          "feeArrangement",
          "name",
          "numEmployees",
          "numOffices",
          "status"
        ]
      },
      "ClientCorporationAppointment": {
        "type": "object",
        "description": "ClientCorporationAppointment entity schema derived from Bullhorn Entity Reference.",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64",
            "description": "Unique identifier for this entity.",
            "readOnly": true
          },
          "clientCorporation": {
            "type": "integer",
            "format": "int64",
            "description": "Associated ClientCorporation."
          },
          "clientContact": {
            "type": "integer",
            "format": "int64",
            "description": "Associated ClientContact."
          },
          "appointment": {
            "type": "integer",
            "format": "int64",
            "description": "Associated Appointment."
          }
        },
        "additionalProperties": false,
        "required": [
          "id",
          "clientCorporation",
          "clientContact",
          "appointment"
        ]
      },
      "ClientCorporationNote": {
        "type": "object",
        "description": "ClientCorporationNote entity schema derived from Bullhorn Entity Reference.",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64",
            "description": "Unique identifier for this entity.",
            "readOnly": true
          },
          "clientCorporation": {
            "type": "integer",
            "format": "int64",
            "description": "Associated ClientCorporation."
          },
          "clientContact": {
            "type": "integer",
            "format": "int64",
            "description": "Associated ClientContact."
          },
          "note": {
            "type": "integer",
            "format": "int64",
            "description": "Associated Note."
          }
        },
        "additionalProperties": false,
        "required": [
          "id",
          "clientCorporation",
          "clientContact",
          "note"
        ]
      },
      "ClientCorporationTask": {
        "type": "object",
        "description": "ClientCorporationTask entity schema derived from Bullhorn Entity Reference.",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64",
            "description": "Unique identifier for this entity.",
            "readOnly": true
          },
          "clientCorporation": {
            "type": "integer",
            "format": "int64",
            "description": "Associated ClientCorporation."
          },
          "clientContact": {
            "type": "integer",
            "format": "int64",
            "description": "Associated ClientContact."
          },
          "task": {
            "type": "integer",
            "format": "int64",
            "description": "Associated Task."
          }
        },
        "additionalProperties": false,
        "required": [
          "id",
          "clientCorporation",
          "clientContact",
          "task"
        ]
      },
      "CorporateUser": {
        "type": "object",
        "description": "CorporateUser entity schema derived from Bullhorn Entity Reference.",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64",
            "description": "Unique identifier for this entity.",
            "readOnly": true
          },
          "address": {
            "type": "string",
            "description": "CorporateUser’s main address:<ul><li>address1</li><li>address2</li><li>city</li><li>state</li><li>zip</li><li>countryID: options:<ul><li>value: 1</li><li>value: 2</li></ul></ul>Use the following REST call to get the list of countryIDs and labels:<br>/meta/CorporateUser?fields=address(countryID)"
          },
          "branch": {
            "type": "integer",
            "format": "int64",
            "description": "CorporateUser’s Branch."
          },
          "branches": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "CorporateUser’s Branches."
          },
          "companyName": {
            "type": "string",
            "description": "Name of company where the Candidate currently works."
          },
          "corporation": {
            "type": "integer",
            "format": "int64",
            "description": "Corporation associated with this CorporateUser.",
            "readOnly": true
          },
          "customDate1 to 3": {
            "type": "string",
            "format": "date-time",
            "description": "Configurable date fields that can be used to store custom data depending on the needs of a particular deployment. *Must* be in epoch milliseconds."
          },
          "customFloat1 to 3": {
            "type": "number",
            "description": "Configurable numeric fields that can be used to store custom data depending on the needs of a particular deployment."
          },
          "customInt1 to 3": {
            "type": "integer",
            "format": "int64",
            "description": "Configurable numeric fields that can be used to store custom data depending on the needs of a particular deployment."
          },
          "customText1 to 20": {
            "type": "string",
            "description": "Configurable text fields that can be used to store custom data depending on the needs of a particular deployment."
          },
          "dateLastComment": {
            "type": "string",
            "format": "date-time",
            "description": "Date on which CorporateUser’s last comment was made. *Must* be in epoch milliseconds."
          },
          "dateLastModified": {
            "type": "string",
            "format": "date-time",
            "description": "The last time record was modified. *Must* be in epoch milliseconds.",
            "readOnly": true
          },
          "delegations": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "CorporateUser&rsquo;s delegations."
          },
          "departmentIdList": {
            "type": "string",
            "description": "Ids of departments to which the CorporateUser belongs."
          },
          "departments": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Departments to which the CorporateUser belongs."
          },
          "email": {
            "type": "string",
            "description": "Primary email address."
          },
          "email2": {
            "type": "string",
            "description": "Additional email address 2."
          },
          "email3": {
            "type": "string",
            "description": "Additional email address 3."
          },
          "emailNotify": {
            "type": "boolean",
            "description": "Indicates whether the CorporateUser has chosen to be notified via pop-up in the Bullhorn application when a new email message arrives."
          },
          "emailSignature": {
            "type": "string",
            "description": "Contents of the CorporateUser&rsquo;s email signature."
          },
          "enabled": {
            "type": "boolean",
            "description": "Indicates whether the CorporateUser may log in to the Bullhorn application.",
            "readOnly": true
          },
          "externalEmail": {
            "type": "string",
            "description": "External (non-Bullhorn) email address. Used for forwarding."
          },
          "fax1 to 3": {
            "type": "string",
            "description": "Fax number."
          },
          "firstName": {
            "type": "string",
            "description": "First name of the CorporateUser."
          },
          "inboundEmailEnabled": {
            "type": "boolean",
            "description": "Indicates whether the CorporateUser can receive email through the Bullhorn application."
          },
          "isDayLightSavingsTime": {
            "type": "boolean",
            "description": "Indicates whether it is daylight savings time."
          },
          "isDeleted": {
            "type": "boolean",
            "description": "Indicates whether CorporateUser is deleted."
          },
          "isHidden": {
            "type": "boolean",
            "description": "Indicates whether the record is hidden."
          },
          "isLockedOut": {
            "type": "boolean",
            "description": "Indicates whether the CorporateUser is locked out."
          },
          "isOutboundFaxEnabled": {
            "type": "boolean",
            "description": "Indicates whether the CorporateUser has permission to send faxes."
          },
          "jobAssignments": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "JobOrders that have been assigned to this CorporateUser."
          },
          "lastName": {
            "type": "string",
            "description": "CorporateUser’s last name."
          },
          "loginRestrictions": {
            "type": "string",
            "description": "A group of available login restrictions, including time, date, and IP address."
          },
          "massMailOptOut": {
            "type": "boolean",
            "description": "Indicates whether the CorporateUser opted out of mass mailings."
          },
          "masterUserID": {
            "type": "integer",
            "format": "int64",
            "description": "Master user id.",
            "readOnly": true
          },
          "middleName": {
            "type": "string",
            "description": "Middle name of the CorporateUser."
          },
          "mobile": {
            "type": "string",
            "description": "Mobile phone number of the CorporateUser."
          },
          "name": {
            "type": "string",
            "description": "Name of the CorporateUser."
          },
          "namePrefix": {
            "type": "string",
            "description": "Name prefix of the CorporateUser."
          },
          "nameSuffix": {
            "type": "string",
            "description": "Name suffix of the CorporateUser."
          },
          "nickName": {
            "type": "string",
            "description": "Nickname of the CorporateUser."
          },
          "occupation": {
            "type": "string",
            "description": "Occupation of the CorporateUser."
          },
          "pager": {
            "type": "string",
            "description": "Pager number of the CorporateUser."
          },
          "phone to phone3": {
            "type": "string",
            "description": "Phone number of the CorporateUser."
          },
          "primaryDepartment": {
            "type": "integer",
            "format": "int64",
            "description": "Primary department of the CorporateUser."
          },
          "reportToPerson": {
            "type": "string",
            "description": "Person to whom this CorporateUser reports."
          },
          "salesforceUserID": {
            "type": "string",
            "description": "Salesforce user ID tied to the CorporateUser (user/corp must be enabled for Unified Search + Salesforce use)."
          },
          "smsOptIn": {
            "type": "boolean",
            "description": "Indicates whether the CorporateUser has granted permission to be sent messages via SMS."
          },
          "status": {
            "type": "string",
            "description": "Status of the CorporateUser."
          },
          "taskAssignments": {
            "type": "string",
            "description": "Tasks that have been assigned to the CorporateUser, including those owned by the CorporateUser."
          },
          "timeZoneOffsetEST": {
            "type": "integer",
            "format": "int64",
            "description": "Indicates the number of hours by which the CorporateUser’s time zone differs from Eastern Standard Time. For example, Pacific Standard Time is -3, three hours earlier than Eastern."
          },
          "userDateAdded": {
            "type": "string",
            "format": "date-time",
            "description": "Date the record was added to the system. *Must* be in epoch milliseconds.",
            "readOnly": true
          },
          "userType": {
            "type": "integer",
            "format": "int64",
            "description": "User type"
          },
          "username": {
            "type": "string",
            "description": "username for logging in to Bullhorn."
          }
        },
        "additionalProperties": false,
        "required": [
          "id",
          "address",
          "corporation",
          "dateLastModified",
          "emailNotify",
          "emailSignature",
          "enabled",
          "externalEmail",
          "inboundEmailEnabled",
          "isOutboundFaxEnabled",
          "masterUserID",
          "userDateAdded",
          "userType",
          "username"
        ]
      },
      "CorporationDepartment": {
        "type": "object",
        "description": "CorporationDepartment entity schema derived from Bullhorn Entity Reference.",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64",
            "description": "Unique identifier for this entity.",
            "readOnly": true
          },
          "dateAdded": {
            "type": "string",
            "format": "date-time",
            "description": "Date when this record was created in the Bullhorn system. *Must* be in epoch milliseconds.",
            "readOnly": true
          },
          "description": {
            "type": "string",
            "description": "Text description of the CorporationDepartment."
          },
          "enabled": {
            "type": "boolean",
            "description": "Indicates whether this CorporationDepartment is enabled for use in the system.",
            "readOnly": true
          },
          "name": {
            "type": "string",
            "description": "Name of the CorporationDepartment.",
            "readOnly": true
          }
        },
        "additionalProperties": false,
        "required": [
          "id",
          "dateAdded",
          "enabled",
          "name"
        ]
      },
      "Country": {
        "type": "object",
        "description": "Country entity schema derived from Bullhorn Entity Reference.",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64",
            "description": "Unique identifier for this entity.",
            "readOnly": true
          },
          "code": {
            "type": "string",
            "description": "Code associated with this Country."
          },
          "name": {
            "type": "string",
            "description": "Name of the Country."
          },
          "states": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Ids of States that are associated with this Country."
          }
        },
        "additionalProperties": false,
        "required": [
          "id",
          "name"
        ]
      },
      "CustomAction": {
        "type": "object",
        "description": "CustomAction entity schema derived from Bullhorn Entity Reference.",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64",
            "description": "Unique identifier for this entity.",
            "readOnly": true
          },
          "actionOrder": {
            "type": "integer",
            "format": "int64",
            "description": "Order of custom action."
          },
          "apiKeyID": {
            "type": "integer",
            "format": "int64",
            "description": "Bullhorn API key id."
          },
          "componentURL": {
            "type": "string",
            "description": "URL of CustomAction."
          },
          "enabled": {
            "type": "boolean",
            "description": "Indicates whether CustomAction is enabled."
          },
          "entity": {
            "type": "string",
            "description": "Entity to which CustomAction applies."
          },
          "location": {
            "type": "integer",
            "format": "int64",
            "description": "Location of the action within Bullhorn."
          },
          "name": {
            "type": "string",
            "description": "Name of CustomAction."
          },
          "privateLabel": {
            "type": "integer",
            "format": "int64",
            "description": "PrivateLabel the custom action is associated with."
          }
        },
        "additionalProperties": false,
        "required": [
          "id",
          "entity",
          "location",
          "privateLabel"
        ]
      },
      "Deduction": {
        "type": "object",
        "description": "Deduction entity schema derived from Bullhorn Entity Reference.",
        "properties": {},
        "additionalProperties": false
      },
      "DeductionCategoryLookup": {
        "type": "object",
        "description": "DeductionCategoryLookup entity schema derived from Bullhorn Entity Reference.",
        "properties": {},
        "additionalProperties": false
      },
      "Department": {
        "type": "object",
        "description": "Department entity schema derived from Bullhorn Entity Reference.",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64",
            "description": "Unique identifier for this entity.",
            "readOnly": true
          },
          "description": {
            "type": "string",
            "description": "Department description."
          },
          "enabled": {
            "type": "boolean",
            "description": "Indicates whether department is enabled."
          },
          "name": {
            "type": "string",
            "description": "Department name."
          }
        },
        "additionalProperties": false,
        "required": [
          "id",
          "description",
          "name"
        ]
      },
      "EmployerContribution": {
        "type": "object",
        "description": "EmployerContribution entity schema derived from Bullhorn Entity Reference.",
        "properties": {},
        "additionalProperties": false
      },
      "{Entity}EditHistory": {
        "type": "object",
        "description": "{Entity}EditHistory entity schema derived from Bullhorn Entity Reference.",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64",
            "description": "id of this entity.",
            "readOnly": true
          },
          "auditTrail": {
            "type": "string",
            "description": "An HTML snippet representing the field changes for the given ID. Not always generated."
          },
          "dateAdded": {
            "type": "string",
            "format": "date-time",
            "description": "Date on which this {Entity}EditHistory record was created in the Bullhorn system. *Must* be in epoch milliseconds.",
            "readOnly": true
          },
          "fieldChanges": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "The {Entity}EditHistoryFieldChange entities associated with this {Entity}EditHistory."
          },
          "migrateGUID": {
            "type": "string",
            "description": "Unused."
          },
          "modifyingPerson": {
            "type": "integer",
            "format": "int64",
            "description": "User credited with making the [Entity] change(s)."
          },
          "targetEntity": {
            "type": "integer",
            "format": "int64",
            "description": "The [Entity] to which this {Entity}EditHistory applies.",
            "readOnly": true
          },
          "transactionID": {
            "type": "string",
            "description": "Unique transaction id for this {Entity}EditHistory."
          }
        },
        "additionalProperties": false,
        "required": [
          "id",
          "auditTrail",
          "dateAdded",
          "fieldChanges",
          "migrateGUID",
          "modifyingPerson",
          "targetEntity",
          "transactionID"
        ]
      },
      "{Entity}EditHistoryFieldChange": {
        "type": "object",
        "description": "{Entity}EditHistoryFieldChange entity schema derived from Bullhorn Entity Reference.",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64",
            "description": "id of this entity.",
            "readOnly": true
          },
          "columnName": {
            "type": "string",
            "description": "Database column name for the value that was changed.",
            "readOnly": true
          },
          "display": {
            "type": "string",
            "description": "FieldMap label for the columnName. Value is deduced at the time of [Entity]EditHistoryFieldChange entity creation and does not update if the columnName FieldMap is subsequently renamed/relabeled.",
            "readOnly": true
          },
          "editHistory": {
            "type": "integer",
            "format": "int64",
            "description": "{Entity}EditHistory entity that owns this [Entity]EditHistoryFieldChange entity.",
            "readOnly": true
          },
          "newValue": {
            "type": "string",
            "description": "The value of columnName after update."
          },
          "oldValue": {
            "type": "string",
            "description": "The value of columnName before update."
          }
        },
        "additionalProperties": false,
        "required": [
          "id",
          "columnName",
          "display",
          "editHistory",
          "newValue",
          "oldValue"
        ]
      },
      "{Entity}FileAttachment": {
        "type": "object",
        "description": "{Entity}FileAttachment entity schema derived from Bullhorn Entity Reference.",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64",
            "description": "Unique identifier for the entity.",
            "readOnly": true
          },
          "contentSubType": {
            "type": "string",
            "description": "Content subtype for the file."
          },
          "contentType": {
            "type": "string",
            "description": "Content type for the file."
          },
          "dateAdded": {
            "type": "string",
            "format": "date-time",
            "description": "When the file was added. *Must* be in epoch milliseconds.",
            "readOnly": true
          },
          "departmentsSharedWith": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Departments with which the file is shared."
          },
          "description": {
            "type": "string",
            "description": "Description for the file."
          },
          "directory": {
            "type": "string",
            "description": "Location of the file on server."
          },
          "distribution": {
            "type": "string",
            "description": "Distribution type for the file."
          },
          "externalID": {
            "type": "string",
            "description": "Third-party id of the file."
          },
          "fileExtension": {
            "type": "string",
            "description": "Extension type of the file.",
            "readOnly": true
          },
          "fileSize": {
            "type": "integer",
            "format": "int64",
            "description": "Size on disk of the file.",
            "readOnly": true
          },
          "fileType": {
            "type": "string",
            "description": "Type of the file; for example, SAMPLE."
          },
          "isCopied": {
            "type": "boolean",
            "description": "Whether the file was copied from another entity."
          },
          "isDeleted": {
            "type": "boolean",
            "description": "Whether file is deleted",
            "readOnly": true
          },
          "isOpen": {
            "type": "boolean",
            "description": "Whether file is open.",
            "readOnly": true
          },
          "isPrivate": {
            "type": "boolean",
            "description": "Whether the file is private.",
            "readOnly": true
          },
          "isSendOut": {
            "type": "boolean",
            "description": "Whether the file is from a sendout.",
            "readOnly": true
          },
          "{entity}": {
            "type": "integer",
            "format": "int64",
            "description": "Entity associated with the file.",
            "readOnly": true
          },
          "name": {
            "type": "string",
            "description": "Name of the file.",
            "readOnly": true
          },
          "type": {
            "type": "string",
            "description": "Type of the file; for example, Resume."
          },
          "usersSharedWith": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Users with whom the file is shared."
          },
          "uuid": {
            "type": "string",
            "description": "Globally unique random ID.",
            "readOnly": true
          }
        },
        "additionalProperties": false,
        "required": [
          "id",
          "contentSubType",
          "contentType",
          "dateAdded",
          "departmentsSharedWith",
          "description",
          "directory",
          "distribution",
          "externalID",
          "fileExtension",
          "fileSize",
          "fileType",
          "isCopied",
          "isDeleted",
          "isOpen",
          "isPrivate",
          "isSendOut",
          "{entity}",
          "name",
          "type",
          "usersSharedWith",
          "uuid"
        ]
      },
      "EstaffMappableFlowback": {
        "type": "object",
        "description": "EstaffMappableFlowback entity schema derived from Bullhorn Entity Reference.",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64",
            "description": "Unique identifier for this entity.",
            "readOnly": true
          },
          "estaffFieldType": {
            "type": "string",
            "description": "Field type in eStaff ATS."
          },
          "estaffRecordType": {
            "type": "string",
            "description": "Record type in eStaff ATS."
          },
          "atsField": {
            "type": "string",
            "description": "Field type in Bullhorn ATS."
          },
          "atsEntity": {
            "type": "string",
            "description": "Entity type in Bullhorn ATS."
          },
          "alwaysOverwrite": {
            "type": "boolean",
            "description": "Determines if values in Bullhorn ATS should always be overwritten by eStaff values or only if the Bullhorn value is blank."
          }
        },
        "additionalProperties": false,
        "required": [
          "id",
          "estaffFieldType",
          "estaffRecordType",
          "atsField",
          "atsEntity",
          "alwaysOverwrite"
        ]
      },
      "FederalTaxForm": {
        "type": "object",
        "description": "FederalTaxForm entity schema derived from Bullhorn Entity Reference.",
        "properties": {},
        "additionalProperties": false
      },
      "Issue": {
        "type": "object",
        "description": "Issue entity schema derived from Bullhorn Entity Reference.",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64",
            "description": "Unique identifier for this entity.",
            "readOnly": true
          },
          "action": {
            "type": "string",
            "description": "The action being performed that initiated this Issue. This field is free-form. For Payroll Export issues, typical values are &ldquo;Payroll Export&rdquo;, &ldquo;New Hire Export&rdquo;, &ldquo;Accounts Payable Export&rdquo;, or &ldquo;Unknown&rdquo;."
          },
          "actionEntityID": {
            "type": "integer",
            "format": "int64",
            "description": "The ID of the entity on which this Issue is based. This can be left blank if no specific entity is relevant."
          },
          "actionEntityName": {
            "type": "string",
            "description": "The name of the entity on which this Issue is based. This can be left blank if no specific entity is relevant."
          },
          "dateAdded": {
            "type": "string",
            "format": "date-time",
            "description": "Date on which the entity was created. *Must* be in epoch milliseconds."
          },
          "externalSystemName": {
            "type": "string",
            "description": "Name of an integrating external system to be used to specify the source of the issue being reported."
          },
          "issueItems": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "The list of associated IssueItems related to this Issue."
          },
          "payMasterTransactionPayExportBatchIssues": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Association to any related PayMasterTransactionPayExportBatchIssues which can tie the issue to a pay export batch.",
            "readOnly": true
          },
          "severity": {
            "type": "string",
            "description": "The severity of the Issue. Valid values are Error, Warning, Exception, and Unknown."
          }
        },
        "additionalProperties": false,
        "required": [
          "id",
          "dateAdded",
          "severity"
        ]
      },
      "IssueItems": {
        "type": "object",
        "description": "IssueItems entity schema derived from Bullhorn Entity Reference.",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64",
            "description": "Unique identifier for this entity.",
            "readOnly": true
          },
          "comments": {
            "type": "string",
            "description": "Comments about the IssueItems to be used for reference."
          },
          "description": {
            "type": "string",
            "description": "A text description of the IssueItems."
          },
          "dateAdded": {
            "type": "string",
            "format": "date-time",
            "description": "Date on which the entity was created. *Must* be in epoch milliseconds."
          },
          "dateLateModified": {
            "type": "string",
            "format": "date-time",
            "description": "Date on which the entity was last modified. *Must* be in epoch milliseconds."
          },
          "errorType": {
            "type": "string",
            "description": "The type of error type being reported. Valid values are INVALID-DATA, MISSING-DATA, DATA-MISMATCH, SYSTEM-ERROR, or UNKNOWN."
          },
          "externalEntityID": {
            "type": "string",
            "description": "A reference to any external entity ID that is related to this issue."
          },
          "externalEntityName": {
            "type": "string",
            "description": "A reference to any external entity name that is related to this issue."
          },
          "fieldReference": {
            "type": "string",
            "description": "The field on the entity that is known to be related to the issue being reported."
          },
          "fixableByUser": {
            "type": "boolean",
            "description": "Whether or not this issue should be fixable by a user."
          },
          "fixInBullhorn": {
            "type": "boolean",
            "description": "Whether or not this issue should be fixable within the Bullhorn system."
          },
          "issue": {
            "type": "string",
            "description": "The Issue entity to which this IssueItems entity is associated."
          },
          "issueResolutionStatusLookup": {
            "type": "string",
            "description": "The code of the issue resolution status. A value of 1 means Open. A value of 2 means Resolved. A value of 3 means Dismissed."
          },
          "modifiedByUser": {
            "type": "integer",
            "format": "int64",
            "description": "The user who last modified the entity."
          },
          "rawIssueItemPayload": {
            "type": "string",
            "description": "Text field containing raw payload information such as JSON containing additional context of the reported issue."
          },
          "referenceUrl": {
            "type": "string",
            "description": "The Bullhorn API URL that is being reported on by this issue."
          },
          "referenceUrlMethod": {
            "type": "string",
            "description": "The Bullhorn API HTTP method that is being reported on by this issue."
          },
          "referenceUrlResponse": {
            "type": "string",
            "description": "The Bullhorn API response message that is being reported on by this issue."
          },
          "referenceUrlStatusCode": {
            "type": "integer",
            "format": "int64",
            "description": "The Bullhorn API HTTP status code that is being reported on by this issue."
          },
          "severity": {
            "type": "string",
            "description": "The severity of the IssueItems. Valid values are Error, Warning, Exception, and Unknown."
          },
          "sourceEntity": {
            "type": "string",
            "description": "The entity type that is being reported on in this issue."
          },
          "sourceEntityID": {
            "type": "integer",
            "format": "int64",
            "description": "The ID of the entity that is being reported on in this issue."
          }
        },
        "additionalProperties": false,
        "required": [
          "id",
          "dateAdded",
          "issue",
          "issueResolutionStatusLookup",
          "severity"
        ]
      },
      "JobBoardPost": {
        "type": "object",
        "description": "JobBoardPost entity schema derived from Bullhorn Entity Reference.",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64",
            "description": "Unique identifier for this entity.",
            "readOnly": true
          },
          "address": {
            "type": "string",
            "description": "Address of the hiring company; when the record is created in the Bullhorn application, this data is pulled from the client contact record."
          },
          "benefits": {
            "type": "string",
            "description": "Text description of benefits offered with this job."
          },
          "bonusPackage": {
            "type": "string",
            "description": "Text description of the bonus package offered with this job."
          },
          "categories": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "IDs of Categories associated with this job."
          },
          "dateAdded": {
            "type": "string",
            "format": "date-time",
            "description": "Date when this record was created in the Bullhorn system. *Must* be in epoch milliseconds."
          },
          "dateEnd": {
            "type": "string",
            "format": "date-time",
            "description": "Date when the job will end (if applicable). *Must* be in epoch milliseconds."
          },
          "dateLastPublished": {
            "type": "string",
            "format": "date-time",
            "description": "Date when this record was last published to the &lsquo;Corporate&rsquo; Job Board. *Must* be in epoch milliseconds."
          },
          "employmentType": {
            "type": "string",
            "description": "Type of employment offered: for example, contract, permanent, and so forth. Determines which of the five job types are used.",
            "readOnly": true
          },
          "isPublic": {
            "type": "boolean",
            "description": "Controls whether a job appears on the Bullhorn job board (if in use). Only 3 values allows, -1, 0, 1."
          },
          "isOpen": {
            "type": "boolean",
            "description": "Indicates whether the job is open."
          },
          "payRate": {
            "type": "string",
            "description": "Pay rate offered with this job."
          },
          "publicDescription": {
            "type": "string",
            "description": "Description of this job for use on public job boards."
          },
          "publishedCategory": {
            "type": "integer",
            "format": "int64",
            "description": "The category that was last selected when publishing the job."
          },
          "publishedZip": {
            "type": "string",
            "description": "Published Zip Code of the job location."
          },
          "responseUser": {
            "type": "integer",
            "format": "int64",
            "description": "id of CorporateUser to whom submissions should be sent."
          },
          "salary": {
            "type": "string",
            "description": "Salary offered for this job."
          },
          "salaryUnit": {
            "type": "string",
            "description": "Salary unit represented by the range (e.g. per hour, yearly)."
          },
          "startDate": {
            "type": "string",
            "format": "date-time",
            "description": "Desired start date for the position. *Must* be in epoch milliseconds.",
            "readOnly": true
          },
          "title": {
            "type": "string",
            "description": "Job title."
          },
          "travelRequirements": {
            "type": "string",
            "description": "Text description of the amount of travel required for this job."
          },
          "willRelocate": {
            "type": "boolean",
            "description": "Indicates whether the hiring company will provide relocation assistance."
          },
          "willSponsor": {
            "type": "boolean",
            "description": "Indicates whether the hiring company is willing to sponsor an employee on a work visa."
          },
          "yearsRequired": {
            "type": "integer",
            "format": "int64",
            "description": "Number of years of experience required for the job."
          }
        },
        "additionalProperties": false,
        "required": [
          "id",
          "address",
          "benefits",
          "bonusPackage",
          "categories",
          "dateAdded",
          "dateEnd",
          "dateLastPublished",
          "employmentType",
          "isPublic",
          "isOpen",
          "payRate",
          "publicDescription",
          "publishedCategory",
          "publishedZip",
          "responseUser",
          "salary",
          "salaryUnit",
          "startDate",
          "title",
          "travelRequirements",
          "willRelocate",
          "willSponsor",
          "yearsRequired"
        ]
      },
      "JobOrder": {
        "type": "object",
        "description": "JobOrder entity schema derived from Bullhorn Entity Reference.",
        "properties": {},
        "additionalProperties": false
      },
      "JobOrderScreenerQuestion": {
        "type": "object",
        "description": "JobOrderScreenerQuestion entity schema derived from Bullhorn Entity Reference.",
        "properties": {},
        "additionalProperties": false
      },
      "JobShift": {
        "type": "object",
        "description": "JobShift entity schema derived from Bullhorn Entity Reference.",
        "properties": {},
        "additionalProperties": false
      },
      "JobShiftSubmission": {
        "type": "object",
        "description": "JobShiftSubmission entity schema derived from Bullhorn Entity Reference.",
        "properties": {},
        "additionalProperties": false
      },
      "JobShiftAssignment": {
        "type": "object",
        "description": "JobShiftAssignment entity schema derived from Bullhorn Entity Reference.",
        "properties": {},
        "additionalProperties": false
      },
      "JobSubmission": {
        "type": "object",
        "description": "JobSubmission entity schema derived from Bullhorn Entity Reference.",
        "properties": {},
        "additionalProperties": false
      },
      "JobSubmissionCertificationRequirement": {
        "type": "object",
        "description": "JobSubmissionCertificationRequirement entity schema derived from Bullhorn Entity Reference.",
        "properties": {},
        "additionalProperties": false
      },
      "JobSubmissionHistory": {
        "type": "object",
        "description": "JobSubmissionHistory entity schema derived from Bullhorn Entity Reference.",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64",
            "description": "Unique identifier for this entity.",
            "readOnly": true
          },
          "comments": {
            "type": "string",
            "description": "Value of the JobSubmission comments fields for this transaction."
          },
          "dateAdded": {
            "type": "string",
            "format": "date-time",
            "description": "Date on which the JobSubmission record was created in the Bullhorn system. *Must* be in epoch milliseconds.",
            "readOnly": true
          },
          "jobSubmission": {
            "type": "integer",
            "format": "int64",
            "description": "JobSubmission associated with this JobSubmissionHistory.",
            "readOnly": true
          },
          "modifyingUser": {
            "type": "integer",
            "format": "int64",
            "description": "CorporateUser credited with modifying the JobSubmission.",
            "readOnly": true
          },
          "status": {
            "type": "string",
            "description": "Status of the JobSubmission (for example, reviewed, accepted, and so forth.). Allowable values are configured in field maps.",
            "readOnly": true
          },
          "transactionID": {
            "type": "string",
            "description": "Unique transaction id for this JobSubmissionHistory."
          }
        },
        "additionalProperties": false,
        "required": [
          "id",
          "dateAdded",
          "jobSubmission",
          "modifyingUser",
          "status"
        ]
      },
      "Lead": {
        "type": "object",
        "description": "Lead entity schema derived from Bullhorn Entity Reference.",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64",
            "description": "Unique identifier for this entity.",
            "readOnly": true
          },
          "address": {
            "type": "string",
            "description": "Lead&rsquo;s address. This is an address object containing Street Address, City, State, Zip, and CountryID."
          },
          "assignedTo": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "CorporateUser(s) this Lead is assigned to."
          },
          "businessSectors": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "IDs of BusinessSectors in which the Lead operates."
          },
          "campaignSource": {
            "type": "string",
            "description": "Campaign source of the Lead."
          },
          "candidates": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Candidates associated with this Lead."
          },
          "category": {
            "type": "integer",
            "format": "int64",
            "description": "Lead&rsquo;s primary Category."
          },
          "categories": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "IDs of the Categories associated with the Lead. Note that the categoryId property is used to store the Lead&rsquo;s primary Category, while this association hold that Category and any other Categories to which the Lead belongs."
          },
          "clientContacts": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "ClientContacts associated with this Lead."
          },
          "clientCorporation": {
            "type": "integer",
            "format": "int64",
            "description": "ClientCorporation associated with this Lead."
          },
          "comments": {
            "type": "string",
            "description": "Free-text comments on this Lead."
          },
          "companyName": {
            "type": "string",
            "description": "Name of the Lead&rsquo;s company (can be used if there is no ClientCorporation entity for this Lead&rsquo;s company)."
          },
          "companyURL": {
            "type": "string",
            "description": ""
          },
          "conversionSource": {
            "type": "string",
            "description": "Source of the Lead&rsquo;s conversion. For example, Cold Call, Monster, and so forth."
          },
          "customDate1-3": {
            "type": "string",
            "format": "date-time",
            "description": "Configurable date fields that can be used to store custom data depending on the needs of a particular deployment. *Must* be in epoch milliseconds."
          },
          "customFloat1-3": {
            "type": "number",
            "description": "Configurable numeric fields that can be used to store custom data depending on the needs of a particular deployment."
          },
          "customInt1-3": {
            "type": "integer",
            "format": "int64",
            "description": "Configurable numeric fields that can be used to store custom data depending on the needs of a particular deployment."
          },
          "customText1-20": {
            "type": "string",
            "description": "Configurable text fields that can be used to store custom data depending on the needs of a particular deployment."
          },
          "customTextBlock1-5": {
            "type": "string",
            "description": "Configurable text fields that can be used to store custom data depending on the needs of a particular deployment."
          },
          "dateAdded": {
            "type": "string",
            "format": "date-time",
            "description": "Date on which this record was created in the Bullhorn system. *Must* be in epoch milliseconds."
          },
          "dateLastComment": {
            "type": "string",
            "format": "date-time",
            "description": "Date on which the last comment referencing this Lead was made. *Must* be in epoch milliseconds."
          },
          "dateLastModified": {
            "type": "string",
            "format": "date-time",
            "description": "Date on which the Lead was last modified. *Must* be in epoch milliseconds.",
            "readOnly": true
          },
          "dateLastVisited": {
            "type": "string",
            "format": "date-time",
            "description": "Date on which the Lead was last visited. *Must* be in epoch milliseconds."
          },
          "description": {
            "type": "string",
            "description": "Description of the Lead."
          },
          "distributionLists": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "IDs of DistributionLists associated with this Lead."
          },
          "division": {
            "type": "string",
            "description": "Department that the Lead is associated with."
          },
          "email": {
            "type": "string",
            "description": "Lead&rsquo;s primary email address."
          },
          "email2": {
            "type": "string",
            "description": "Additional email address. Typically used for the Lead&rsquo;s home or personal email."
          },
          "email3": {
            "type": "string",
            "description": "Additional email address. Typically used for the Lead&rsquo;s home or personal email."
          },
          "fax": {
            "type": "string",
            "description": "The primary fax number for the Lead."
          },
          "fax2": {
            "type": "string",
            "description": "An additional fax number for the Lead."
          },
          "fax3": {
            "type": "string",
            "description": "An additional fax number for the Lead."
          },
          "firstName": {
            "type": "string",
            "description": "Lead&rsquo;s first name."
          },
          "history": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "IDs of LeadHistory entities associated with this Lead."
          },
          "isAnonymized": {
            "type": "boolean",
            "description": "Indicates whether this record is marked as anonymized in the Bullhorn system."
          },
          "isDayLightSavingsTime": {
            "type": "boolean",
            "description": "Indicates whether the Lead&rsquo;s location is using Daylight Saving Time."
          },
          "isDeleted": {
            "type": "boolean",
            "description": "Indicates whether this record has been marked as Deleted in the Bullhorn system."
          },
          "lastName": {
            "type": "string",
            "description": "Lead&rsquo;s last name"
          },
          "leadSource": {
            "type": "string",
            "description": "Source of the Lead. For example, LinkedIn, Facebook, Marketing, and so forth."
          },
          "massMailOptOut": {
            "type": "boolean",
            "description": "Indicates whether the Lead has chosen not to be included in mass emails through the Bullhorn system"
          },
          "middleName": {
            "type": "string",
            "description": "Lead&rsquo;s middle name."
          },
          "mobile": {
            "type": "string",
            "description": "Lead&rsquo;s mobile (cellular) telephone number."
          },
          "name": {
            "type": "string",
            "description": "Lead&rsquo;s full name. Should be a combination of the firstName and lastName fields separated by a space. <br><strong>Notes:</strong> If you create a Lead with no value in the name field, users have no way to select that Lead in the Bullhorn staffing application. If you create or modify a Lead name that is not a combination of the firstName and lastName fields, the name will be overwritten when a user saves the Lead in the Bullhorn staffing application. The name will change to a combination of the firstName and lastName fields."
          },
          "namePrefix": {
            "type": "string",
            "description": "Lead&rsquo;s name prefix. For example Dr., Ms, Mr., and so forth."
          },
          "nameSuffix": {
            "type": "string",
            "description": "Lead&rsquo;s name suffix. For example Jr."
          },
          "nickName": {
            "type": "string",
            "description": "Lead&rsquo;s nickname."
          },
          "notes": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "IDs of Note entities associated with this Lead."
          },
          "numEmployees": {
            "type": "integer",
            "format": "int64",
            "description": "The number of employees associated with the Lead."
          },
          "occupation": {
            "type": "string",
            "description": "Occupation of the Lead."
          },
          "owner": {
            "type": "integer",
            "format": "int64",
            "description": "id of the CorporateUser who is the owner of this Lead record."
          },
          "ownerCorporation": {
            "type": "integer",
            "format": "int64",
            "description": "Corporation id of the Lead&rsquo;s owner."
          },
          "pager": {
            "type": "string",
            "description": "Lead&rsquo;s pager number."
          },
          "phone": {
            "type": "string",
            "description": "Lead&rsquo;s primary telephone number."
          },
          "phone2": {
            "type": "string",
            "description": "Additional phone number for the Lead."
          },
          "phone3": {
            "type": "string",
            "description": "Additional phone number for the Lead."
          },
          "preferredContact": {
            "type": "string",
            "description": "Preferred contact method of the Lead."
          },
          "primarySkills": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Skills that are listed as the primary skills for this Lead."
          },
          "priority": {
            "type": "string",
            "description": "Priority of the Lead."
          },
          "referredByPerson": {
            "type": "integer",
            "format": "int64",
            "description": "Person who referred this Lead."
          },
          "reportToPerson": {
            "type": "integer",
            "format": "int64",
            "description": "Person to whom this Lead reports."
          },
          "role": {
            "type": "string",
            "description": "Role of the Lead."
          },
          "salary": {
            "type": "string",
            "description": "The desired salary of the Lead."
          },
          "salaryLow": {
            "type": "string",
            "description": "The lowest yearly salary the Lead would accept."
          },
          "secondarySkills": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Skills that are listed as secondary skills for this Lead"
          },
          "skillSet": {
            "type": "string",
            "description": "Text description of the Lead&rsquo;s skills."
          },
          "smsOptIn": {
            "type": "boolean",
            "description": "Indicates whether the Lead has granted permission to be sent messages via SMS. Can only set on create calls; updates are not allowed."
          },
          "specialties": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "IDs of the Specialties are associated with this Lead."
          },
          "status": {
            "type": "string",
            "description": "Status of the lead; for example, New Lead, Active, Prospect, and so forth. Possible values can be configured using field maps."
          },
          "tearsheets": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "IDs of Tearsheets associated with this Lead."
          },
          "timeZoneOffsetEST": {
            "type": "integer",
            "format": "int64",
            "description": "Indicates the number of hours by which the Lead&rsquo;s time zone differs from Eastern Standard Time. For example, Pacific Standard Time is -3, three hours earlier than Eastern Standard Time."
          },
          "type": {
            "type": "string",
            "description": "Describes the type of Lead. For example, Staffing, RFP/VOR, etc. Possible values can be configured using the field maps."
          },
          "willRelocate": {
            "type": "boolean",
            "description": "Indicates whether or not a Lead is willing to relocate."
          }
        },
        "additionalProperties": false,
        "required": [
          "id",
          "category",
          "dateAdded",
          "dateLastModified",
          "email",
          "isDeleted",
          "massMailOptOut",
          "owner",
          "preferredContact",
          "status",
          "type"
        ]
      },
      "LeadHistory": {
        "type": "object",
        "description": "LeadHistory entity schema derived from Bullhorn Entity Reference.",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64",
            "description": "Unique identifier for this entity.",
            "readOnly": true
          },
          "clientCorporation": {
            "type": "integer",
            "format": "int64",
            "description": "ClientCorporation of the associated Lead at the time this LeadHistory was created."
          },
          "dateAdded": {
            "type": "string",
            "format": "date-time",
            "description": "Date this LeadHistory was added. *Must* be in epoch milliseconds.",
            "readOnly": true
          },
          "lead": {
            "type": "integer",
            "format": "int64",
            "description": "Lead associated with this LeadHistory.",
            "readOnly": true
          },
          "modifyingUser": {
            "type": "integer",
            "format": "int64",
            "description": "CorporateUser who modified the Lead associated with this LeadHistory.",
            "readOnly": true
          },
          "status": {
            "type": "string",
            "description": "Status of the associated Lead at the time this LeadHistory was created.",
            "readOnly": true
          }
        },
        "additionalProperties": false,
        "required": [
          "id",
          "clientCorporation",
          "dateAdded",
          "lead",
          "modifyingUser",
          "status"
        ]
      },
      "LocalTaxForm": {
        "type": "object",
        "description": "LocalTaxForm entity schema derived from Bullhorn Entity Reference.",
        "properties": {},
        "additionalProperties": false
      },
      "Location": {
        "type": "object",
        "description": "Location entity schema derived from Bullhorn Entity Reference.",
        "properties": {},
        "additionalProperties": false
      },
      "LocationVersion": {
        "type": "object",
        "description": "LocationVersion entity schema derived from Bullhorn Entity Reference.",
        "properties": {},
        "additionalProperties": false
      },
      "Note": {
        "type": "object",
        "description": "Note entity schema derived from Bullhorn Entity Reference.",
        "properties": {},
        "additionalProperties": false
      },
      "NoteEntity": {
        "type": "object",
        "description": "NoteEntity entity schema derived from Bullhorn Entity Reference.",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64",
            "description": "Unique identifier for this entity."
          },
          "note": {
            "type": "integer",
            "format": "int64",
            "description": "Note associated with this NoteEntity."
          },
          "targetEntityID": {
            "type": "integer",
            "format": "int64",
            "description": "Id of target entity to which the associated Note applies."
          },
          "targetEntityName": {
            "type": "string",
            "description": "Name of target entity type. For Candidates ClientContacts, and CorporateUsers, specify “User” as the targetEntityName value. For JobOrders and Placements, specify the actual entity name as the targetEntityName value."
          }
        },
        "additionalProperties": false,
        "required": [
          "id",
          "targetEntityID",
          "targetEntityName"
        ]
      },
      "Opportunity": {
        "type": "object",
        "description": "Opportunity entity schema derived from Bullhorn Entity Reference.",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64",
            "description": "Unique identifier for this entity.",
            "readOnly": true
          },
          "actualCloseDate": {
            "type": "string",
            "format": "date-time",
            "description": "Actual close date of the Opportunity. *Must* be in epoch milliseconds."
          },
          "address": {
            "type": "string",
            "description": "Address of the hiring company; when the Opportunity is created in the Bullhorn application, this data is pulled from the ClientContact record that is associated with this Opportunity."
          },
          "appointments": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "IDs of Appointments associated with this Opportunity."
          },
          "assignedDate": {
            "type": "string",
            "format": "date-time",
            "description": "Date the Opportunity was assigned to a CorporateUser. *Must* be in epoch milliseconds."
          },
          "assignedUsers": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "CorporateUsers assigned to this Opportunity."
          },
          "benefits": {
            "type": "string",
            "description": "Text description of benefits offered with this Opportunity."
          },
          "billRateCategoryID": {
            "type": "integer",
            "format": "int64",
            "description": "ID of the client bill rate category."
          },
          "bonusPackage": {
            "type": "string",
            "description": "Text description of the bonus package offered with this Opportunity."
          },
          "branchCode": {
            "type": "string",
            "description": "Code representing the corporate branch where this Opportunity is located."
          },
          "businessSector": {
            "type": "integer",
            "format": "int64",
            "description": "ID of the primary BusinessSector associated with this Opportunity."
          },
          "businessSectors": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "IDs of BusinessSectors associated with this Opportunity."
          },
          "campaignSource": {
            "type": "string",
            "description": "Campaign source of this Opportunity."
          },
          "category": {
            "type": "integer",
            "format": "int64",
            "description": "ID of the primary Category associated with this Opportunity."
          },
          "categories": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "IDs of Categories associated with this Opportunity."
          },
          "certifications": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Certifications needed for this Opportunity."
          },
          "clientContact": {
            "type": "integer",
            "format": "int64",
            "description": "ClientContact associated with this Opportunity."
          },
          "clientCorporation": {
            "type": "integer",
            "format": "int64",
            "description": "ClientCorporation the ClientContact associated with this Opportunity is employed by."
          },
          "committed": {
            "type": "boolean",
            "description": "Indicates whether the Opportunity has been committed to."
          },
          "customDate1-3": {
            "type": "string",
            "description": "Configurable date fields that can be used to store custom data depending on the needs of a particular deployment."
          },
          "customFloat1-3": {
            "type": "number",
            "description": "Configurable numeric fields that can be used to store custom data depending on the needs of a particular deployment."
          },
          "customInt1-3": {
            "type": "integer",
            "format": "int64",
            "description": "Configurable numeric fields that can be used to store custom data depending on the needs of a particular deployment."
          },
          "customText1-20": {
            "type": "string",
            "description": "Configurable text fields that can be used to store custom data depending on the needs of a particular deployment."
          },
          "customTextBlock1-5": {
            "type": "string",
            "description": "Configurable text fields that can be used to store custom data depending on the needs of a particular deployment."
          },
          "customObject1s to 10s": {
            "type": "string",
            "description": "Fields to which custom objects can be assigned. For more information about custom objects, see the Bullhorn Resource Center and the following article on using the REST API with custom objects:<br><a href=\"http://bullhorn.github.io/Custom-Objects\">http://bullhorn.github.io/Custom-Objects</a>"
          },
          "dateAdded": {
            "type": "string",
            "format": "date-time",
            "description": "Date when this record was created in the Bullhorn system. *Must* be in epoch milliseconds."
          },
          "dateLastModified": {
            "type": "string",
            "format": "date-time",
            "description": "Date this record was last modified. *Must* be in epoch milliseconds.",
            "readOnly": true
          },
          "dealValue": {
            "type": "string",
            "description": "Deal value for this Opportunity."
          },
          "degreeList": {
            "type": "string",
            "description": "Degree requirements for this Opportunity."
          },
          "description": {
            "type": "string",
            "description": "Text description of this Opportunity."
          },
          "educationDegree": {
            "type": "string",
            "description": "Education requirements for this Opportunity."
          },
          "effectiveDate": {
            "type": "string",
            "format": "date-time",
            "description": "Effective date of this Opportunity. *Must* be in epoch milliseconds."
          },
          "estimatedDuration": {
            "type": "number",
            "description": "Estimated duration of this Opportunity."
          },
          "estimatedEndDate": {
            "type": "string",
            "format": "date-time",
            "description": "Estimated date when this Opportunity will end (if applicable). *Must* be in epoch milliseconds."
          },
          "estimatedHoursPerWeek": {
            "type": "number",
            "description": "The estimated hours per week of this Opportunity."
          },
          "estimatedStartDate": {
            "type": "string",
            "format": "date-time",
            "description": "The estimated start date for this Opportunity. *Must* be in epoch milliseconds."
          },
          "estimatedBillRate": {
            "type": "string",
            "description": "Estimated bill rate of this Opportunity."
          },
          "expectedCloseDate": {
            "type": "string",
            "format": "date-time",
            "description": "Expected close date of this Opportunity. *Must* be in epoch milliseconds."
          },
          "expectedFee": {
            "type": "number",
            "description": "Fee, expressed as a percentage, that will be paid by the ClientCorporation when the potential JobOrder is filled."
          },
          "expectedPayRate": {
            "type": "string",
            "description": "The expected pay rate of this Opportunity."
          },
          "externalCategoryID": {
            "type": "integer",
            "format": "int64",
            "description": "ID of the external category of this Opportunity."
          },
          "externalID": {
            "type": "string",
            "description": "External identifier for the record, used for migrations and back-office integration."
          },
          "history": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "IDs of OpportunityHistory entities associated with this Opportunity."
          },
          "ignoreUntilDate": {
            "type": "string",
            "format": "date-time",
            "description": "The date, if any, until which to ignore this Opportunity. Allows you to ignore an Opportunity until a certain day/time. *Must* be in epoch milliseconds."
          },
          "isDeleted": {
            "type": "boolean",
            "description": "Indicates whether this record has been marked as Deleted in the Bullhorn system."
          },
          "isOpen": {
            "type": "boolean",
            "description": "Indicates whether this Opportunity is Open or Closed."
          },
          "jobOrders": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "JobOrders that have been converted from this Opportunity."
          },
          "lead": {
            "type": "integer",
            "format": "int64",
            "description": "Lead, if any, that is associated to this Opportunity."
          },
          "markUpPercentage": {
            "type": "number",
            "description": "Percent of mark up for this Opportunity."
          },
          "notes": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Notes associated with this Opportunity."
          },
          "numOpenings": {
            "type": "integer",
            "format": "int64",
            "description": "Number of openings of this Opportunity."
          },
          "onSite": {
            "type": "string",
            "description": "Location requirements of this Opportunity."
          },
          "optionsPackage": {
            "type": "string",
            "description": "Options package of this Opportunity."
          },
          "owner": {
            "type": "integer",
            "format": "int64",
            "description": "ID of CorporateUser who owns this Opportunity."
          },
          "priority": {
            "type": "integer",
            "format": "int64",
            "description": "Priority of this Opportunity, for example, Cold, Cool, Medium, Warm, Hot. Stored in DB as Integer with display values configured in field maps."
          },
          "publicDescription": {
            "type": "string",
            "description": "Public description of this Opportunity."
          },
          "publishedZip": {
            "type": "string",
            "description": "Published zip code of this Opportunity."
          },
          "reasonClosed": {
            "type": "string",
            "description": "Text description of the reason this Opportunity was closed."
          },
          "salary": {
            "type": "string",
            "description": "Salary offered for this Opportunity."
          },
          "salaryUnit": {
            "type": "string",
            "description": "Salary unit represented by the range. For example, per hour, yearly, and so forth."
          },
          "skillList": {
            "type": "string",
            "description": "Comma-separated list of skills the applicants should have."
          },
          "skills": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "IDs of Skills associated with this Opportunity."
          },
          "source": {
            "type": "string",
            "description": "Source of this Opportunity. For example, Existing Client, Internet Search, and so forth."
          },
          "specialties": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "IDs of Specialties associated with this Opportunity."
          },
          "status": {
            "type": "string",
            "description": "Current status of this Opportunity. i.e. Prospective, Active, Lost to Competition, and so forth."
          },
          "tasks": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Tasks associated with this Opportunity."
          },
          "taxRate": {
            "type": "number",
            "description": "Rate (percentage) at which the person hired for this job will be taxed."
          },
          "taxStatus": {
            "type": "string",
            "description": "Tax Status, for example, 1099, W-2, and so forth."
          },
          "tearsheets": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Tearsheets associated with this Opportunity"
          },
          "title": {
            "type": "string",
            "description": "Opportunity title."
          },
          "type": {
            "type": "string",
            "description": "Type of employment offered: for example, contract, permanent, and so forth. Determines which of the five Opportunity tracks are used."
          },
          "weightedDealValue": {
            "type": "string",
            "description": "Weighted deal value of this Opportunity."
          },
          "willRelocate": {
            "type": "boolean",
            "description": "Indicates whether or not the company will provide relocation assistance for this Opportunity."
          },
          "winProbabilityPercent": {
            "type": "number",
            "description": "Probability of winning this Opportunity."
          },
          "yearsRequired": {
            "type": "integer",
            "format": "int64",
            "description": "Minimum experience required for this Opportunity."
          }
        },
        "additionalProperties": false,
        "required": [
          "id",
          "clientContact",
          "clientCorporation",
          "dateAdded",
          "dateLastModified",
          "estimatedStartDate",
          "isDeleted",
          "isOpen",
          "owner",
          "type"
        ]
      },
      "OpportunityHistory": {
        "type": "object",
        "description": "OpportunityHistory entity schema derived from Bullhorn Entity Reference.",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64",
            "description": "Unique identifier for this entity.",
            "readOnly": true
          },
          "dateAdded": {
            "type": "string",
            "format": "date-time",
            "description": "Date this OpportunityHistory was added. *Must* be in epoch milliseconds.",
            "readOnly": true
          },
          "dealValue": {
            "type": "string",
            "description": "Deal value of the associated Opportunity at the time this OpportunityHistory was created."
          },
          "effectiveDate": {
            "type": "string",
            "format": "date-time",
            "description": "Date the status change comes into effect for the associated Opportunity. *Must* be in epoch milliseconds."
          },
          "modifyingUser": {
            "type": "integer",
            "format": "int64",
            "description": "CorporateUser who modified the Opportunity associated with this OpportunityHistory.",
            "readOnly": true
          },
          "opportunity": {
            "type": "integer",
            "format": "int64",
            "description": "Opportunity associated with this OpportunityHistory.",
            "readOnly": true
          },
          "status": {
            "type": "string",
            "description": "Status of the associated Opportunity at the time this OpportunityHistory was created.",
            "readOnly": true
          },
          "weightedDealValue": {
            "type": "string",
            "description": "Weighted deal value of the associated Opportunity at the time this OpportunityHistory was created."
          },
          "winProbabilityPercent": {
            "type": "number",
            "description": "Probability of winning the associated Opportunity at the time this OpportunityHistory was created."
          }
        },
        "additionalProperties": false,
        "required": [
          "id",
          "dateAdded",
          "dealValue",
          "effectiveDate",
          "modifyingUser",
          "opportunity",
          "status",
          "weightedDealValue",
          "winProbabilityPercent"
        ]
      },
      "ExpenseSheet": {
        "type": "object",
        "description": "ExpenseSheet entity schema derived from Bullhorn Entity Reference.",
        "properties": {},
        "additionalProperties": false
      },
      "ExpenseSheetEntry": {
        "type": "object",
        "description": "ExpenseSheetEntry entity schema derived from Bullhorn Entity Reference.",
        "properties": {},
        "additionalProperties": false
      },
      "TimeLaborEvalRule": {
        "type": "object",
        "description": "TimeLaborEvalRule entity schema derived from Bullhorn Entity Reference.",
        "properties": {},
        "additionalProperties": false
      },
      "TimeLaborEvalRuleTemplate": {
        "type": "object",
        "description": "TimeLaborEvalRuleTemplate entity schema derived from Bullhorn Entity Reference.",
        "properties": {},
        "additionalProperties": false
      },
      "Timesheet": {
        "type": "object",
        "description": "Timesheet entity schema derived from Bullhorn Entity Reference.",
        "properties": {},
        "additionalProperties": false
      },
      "TimesheetEntry": {
        "type": "object",
        "description": "TimesheetEntry entity schema derived from Bullhorn Entity Reference.",
        "properties": {},
        "additionalProperties": false
      },
      "Placement": {
        "type": "object",
        "description": "Placement entity schema derived from Bullhorn Entity Reference.",
        "properties": {},
        "additionalProperties": false
      },
      "PlacementCertification": {
        "type": "object",
        "description": "PlacementCertification entity schema derived from Bullhorn Entity Reference.",
        "properties": {},
        "additionalProperties": false
      },
      "PlacementChangeRequest": {
        "type": "object",
        "description": "PlacementChangeRequest entity schema derived from Bullhorn Entity Reference.",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64",
            "description": "Unique identifier for this entity.",
            "readOnly": true
          },
          "approvingUser": {
            "type": "integer",
            "format": "int64",
            "description": "Id of user who approved the change."
          },
          "benefitGroup": {
            "type": "string",
            "description": "Indicates the benefits group that is selected for this placement."
          },
          "billingClientContact": {
            "type": "integer",
            "format": "int64",
            "description": "ClientContact in charge of processing bills for this Placement."
          },
          "billingFrequency": {
            "type": "string",
            "description": "Frequency with which the client company will be billed for this position, initially copied from the associated ClientCorporation but can be modified on the Placement."
          },
          "bonusPackage": {
            "type": "string",
            "description": "Text description of the bonus package for this Placement."
          },
          "clientBillRate": {
            "type": "number",
            "description": "Hourly rate at which the client company will be billed for work done during regular business hours."
          },
          "clientOvertimeRate": {
            "type": "number",
            "description": "Hourly rate at which the client company will be billed for overtime."
          },
          "comments": {
            "type": "string",
            "description": "Free text field for any comments on this record."
          },
          "correlatedCustomDate1-3": {
            "type": "string",
            "format": "date-time",
            "description": "Configurable date fields that can be used to store custom data depending on the needs of a particular deployment. *Must* be in epoch milliseconds."
          },
          "correlatedCustomFloat1-3": {
            "type": "number",
            "description": "Configurable numeric fields that can be used to store custom data depending on the needs of a particular deployment."
          },
          "correlatedCustomInt1-3": {
            "type": "integer",
            "format": "int64",
            "description": "Configurable numeric fields that can be used to store custom data depending on the needs of a particular deployment."
          },
          "correlatedCustomText1-10": {
            "type": "string",
            "description": "Configurable text fields that can be used to store custom data depending on the needs of a particular deployment."
          },
          "correlatedCustomTextBlock1-3": {
            "type": "string",
            "description": "Configurable text fields that can be used to store custom data depending on the needs of a particular deployment."
          },
          "costCenter": {
            "type": "string",
            "description": "Text field for Client Cost Center. Drives invoice grouping (placements with the same cost center for the same client will be grouped together)."
          },
          "customBillRate1-10": {
            "type": "string",
            "description": "Configurable numeric fields that can be used to store custom data depending on the needs of a particular deployment."
          },
          "customDate1-13": {
            "type": "string",
            "format": "date-time",
            "description": "Configurable date fields that can be used to store custom data depending on the needs of a particular deployment. *Must* be in epoch milliseconds."
          },
          "customEncryptedText1-10": {
            "type": "string",
            "description": "Configurable encrypted text fields that can be used to store custom data depending on the needs of a particular deployment."
          },
          "customFloat1-23": {
            "type": "number",
            "description": "Configurable numeric fields that can be used to store custom data depending on the needs of a particular deployment."
          },
          "customInt1-23": {
            "type": "integer",
            "format": "int64",
            "description": "Configurable numeric fields that can be used to store custom data depending on the needs of a particular deployment"
          },
          "customPayRate1-10": {
            "type": "string",
            "description": "Configurable numeric fields that can be used to store custom data depending on the needs of a particular deployment."
          },
          "customText1-60": {
            "type": "string",
            "description": "Configurable text fields that can be used to store custom data depending on the needs of a particular deployment."
          },
          "customTextBlock1-5": {
            "type": "string",
            "description": "Configurable text fields that can be used to store custom data depending on the needs of a particular deployment."
          },
          "dateAdded": {
            "type": "string",
            "format": "date-time",
            "description": "Date on which this entity was created. *Must* be in epoch milliseconds.",
            "readOnly": true
          },
          "dateApproved": {
            "type": "string",
            "format": "date-time",
            "description": "Date on which this change was approved. *Must* be in epoch milliseconds."
          },
          "dateBegin": {
            "type": "string",
            "format": "date-time",
            "description": "Date on which Candidate will begin work. *Must* be in epoch milliseconds."
          },
          "dateClientEffective": {
            "type": "string",
            "format": "date-time",
            "description": "Date on which a pending change to the ClientCorporation bill rate will take effect. *Must* be in epoch milliseconds."
          },
          "dateEffective": {
            "type": "string",
            "format": "date-time",
            "description": "Date on which a pending change to the Candidate&rsquo;s pay rate will take effect. *Must* be in epoch milliseconds."
          },
          "dateEnd": {
            "type": "string",
            "format": "date-time",
            "description": "Date on which the job will end. For a permanent placement, this will be null. *Must* be in epoch milliseconds."
          },
          "dateLastModified": {
            "type": "string",
            "format": "date-time",
            "description": "Date on which the PlacementChangeRequest was last modified. *Must* be in epoch milliseconds.",
            "readOnly": true
          },
          "daysGuaranteed": {
            "type": "integer",
            "format": "int64",
            "description": "Number of days Candidate is guaranteed for this job. If Candidate leaves the job before working this many days, the ClientCorporation may not have to pay its fee; see daysProRated. Used for Permanent placements."
          },
          "daysProRated": {
            "type": "integer",
            "format": "int64",
            "description": "Indicates how many days the Candidate must work before the ClientCorporation will be expected to pay a pro-rated portion of the fee. Used for Permanent placements. For example, if daysGuaranteed = 90 and daysProRated = 30, then if the Candidate works 29 days no fee is due, but if the Candidate works 30-89 days the ClientCorporation must pay a percentage of the fee, and if the Candidate works 90 days or more, the full fee is due."
          },
          "durationWeeks": {
            "type": "number",
            "description": "Duration of the job in weeks. This field can be used in addition to dateEnd."
          },
          "employmentStartDate": {
            "type": "string",
            "format": "date-time",
            "description": "Indicates Date on which paid employment begins for this placement. Can be different from placement start date. Used for payroll integrations. *Must* be in epoch milliseconds."
          },
          "employeeType": {
            "type": "string",
            "description": "Type of employee: for example W2, 1099, Employee, Contractor, and so forth."
          },
          "employmentType": {
            "type": "string",
            "description": "Employment type, initially copied from the associated JobOrder but can be modified on the Placement."
          },
          "fee": {
            "type": "number",
            "description": "Fee (expressed as a decimal) that the company will receive for this placement."
          },
          "hoursOfOperation": {
            "type": "string",
            "description": "Hours during which the employee will work."
          },
          "hoursPerDay": {
            "type": "number",
            "description": "Number of hours per day that the employee will work."
          },
          "housingManagerID": {
            "type": "integer",
            "format": "int64",
            "description": "Id of CorporateUser serving as manager of the housing arrangements, if applicable."
          },
          "housingStatus": {
            "type": "string",
            "description": "Status of the Placement Housing, if applicable."
          },
          "optionsPackage": {
            "type": "string",
            "description": "Text description of the stock options package associated with this Placement."
          },
          "otExemption": {
            "type": "integer",
            "format": "int64",
            "description": "Indicates whether the employee is eligible for hours over 40 to automatically be classified as Overtime. Boolean 0 = Eligible, 1 = Exempt."
          },
          "otherHourlyFee": {
            "type": "number",
            "description": "Additional hourly fees, if any."
          },
          "otherHourlyFeeComments": {
            "type": "string",
            "description": "Free text field for comments on additional hourly fees."
          },
          "overtimeRate": {
            "type": "number",
            "description": "Hourly rate at which the employee will be paid for overtime work."
          },
          "payGroup": {
            "type": "string",
            "description": "Indicates the frequency with which the placement is paid. Used for payroll integrations."
          },
          "payRate": {
            "type": "string",
            "description": "Rate at which the employee will be paid during regular business hours. This may or may not be used depending on the job type."
          },
          "payrollEmployeeType": {
            "type": "string",
            "description": "Indicates the type of employee for payroll purposes."
          },
          "placement": {
            "type": "integer",
            "format": "int64",
            "description": "Placement to which this change request applies."
          },
          "positionCode": {
            "type": "string",
            "description": "Indicates a code for the position. Used in payroll integrations."
          },
          "recruitingManagerPercentGrossMargin": {
            "type": "number",
            "description": "Percentage of total gross margin that the recruiting manager will receive."
          },
          "referralFee": {
            "type": "string",
            "description": "Referral fee associated with this Placement, if any. Only used with external Candidate source."
          },
          "referralFeeType": {
            "type": "string",
            "description": "Configurable list of fee types associated with referralFee. Only used with external Candidate source."
          },
          "reportTo": {
            "type": "string",
            "description": "Name/title of the person to whom this position will report."
          },
          "requestCustomDate1-3": {
            "type": "string",
            "format": "date-time",
            "description": "Configurable date fields. *Must* be in epoch milliseconds."
          },
          "requestCustomFloat1-3": {
            "type": "number",
            "description": "Configurable numeric fields."
          },
          "requestCustomInt1-3": {
            "type": "integer",
            "format": "int64",
            "description": "Configurable numeric fields."
          },
          "requestCustomText1-20": {
            "type": "string",
            "description": "Configurable text fields."
          },
          "requestCustomTextBlock1-5": {
            "type": "string",
            "description": "Configurable text fields."
          },
          "requestingUser": {
            "type": "integer",
            "format": "int64",
            "description": "CorporateUser who initiated this change request."
          },
          "requestStatus": {
            "type": "string",
            "description": "Status of change request."
          },
          "requestType": {
            "type": "string",
            "description": "Configurable. Type of request."
          },
          "salary": {
            "type": "string",
            "description": "Salary that employee will receive. This may be either a yearly or hourly salary. See salaryUnit."
          },
          "salaryUnit": {
            "type": "string",
            "description": "Indicates whether the salary is per year or per hour."
          },
          "salesManager-PercentGrossMargin": {
            "type": "number",
            "description": "Percentage of the total gross margin that the sales manager will receive."
          },
          "statementClientContact": {
            "type": "integer",
            "format": "int64",
            "description": "ClientContact who should receive statements associated with this Placement."
          },
          "status": {
            "type": "string",
            "description": "Status of Placement: for example, Approved, Completed, Terminated, and so forth."
          },
          "terminationReason": {
            "type": "string",
            "description": "Status of Placement: for example, Approved, Completed, Terminated, and so forth."
          },
          "vendorClientCorporation": {
            "type": "integer",
            "format": "int64",
            "description": "Vendor ClientCorporation associated with change request."
          },
          "workersCompRateID": {
            "type": "integer",
            "format": "int64",
            "description": "<strong>Not supported in this release.</strong> Id of the WorkersCompensationRate object associated with this Placement."
          },
          "workWeekStart": {
            "type": "integer",
            "format": "int64",
            "description": "Day of the week on which the work week begins for this Placement. 1 = Sunday, 2 = Monday, and so forth."
          }
        },
        "additionalProperties": false,
        "required": [
          "id",
          "dateAdded",
          "dateBegin",
          "dateLastModified",
          "daysGuaranteed",
          "daysProRated",
          "durationWeeks",
          "employmentType",
          "fee",
          "hoursPerDay",
          "payRate",
          "placement",
          "recruitingManagerPercentGrossMargin",
          "requestingUser",
          "requestStatus",
          "requestType",
          "salary",
          "salaryUnit",
          "salesManager-PercentGrossMargin",
          "status"
        ]
      },
      "PlacementTimeAndExpense": {
        "type": "object",
        "description": "PlacementTimeAndExpense entity schema derived from Bullhorn Entity Reference.",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64",
            "description": "Unique identifier for this entity.",
            "readOnly": true
          },
          "alternateWorkSchedule": {
            "type": "string",
            "description": "Used to designate alternate work schedule."
          },
          "approvalMethod": {
            "type": "string",
            "description": "Indicates the method used for approval.<br/> ELEC = Email/Electronic Approval, ASAP = Fax Approver/ASAP, NAR = No Approval Required"
          },
          "backupExpenseApproverEmail": {
            "type": "string",
            "description": "Email address of the backup expense approver."
          },
          "backupExpenseApproverFName": {
            "type": "string",
            "description": "First name of the backup expense approver."
          },
          "backupExpenseApproverLName": {
            "type": "string",
            "description": "Last name of the backup expense approver."
          },
          "backupNoBillExpenseApproverEmail": {
            "type": "string",
            "description": "Email address of the backup no bill expense approver."
          },
          "backupNoBillExpenseApproverFirstName": {
            "type": "string",
            "description": "First name of the backup no bill expense approver."
          },
          "backupNoBillExpenseApproverLastName": {
            "type": "string",
            "description": "Last name of the backup no bill expense approver."
          },
          "branding": {
            "type": "string",
            "description": "Designates the branding."
          },
          "clientDepartmentCode": {
            "type": "string",
            "description": "Used to expand Peoplenet Department mapping for clocks, not used by web."
          },
          "clockMapping": {
            "type": "string",
            "description": "Location code used for Clocks."
          },
          "departmentAbbr": {
            "type": "string",
            "description": "Used to create the short department name that is displayed on clocks."
          },
          "departmentMapping": {
            "type": "string",
            "description": "Used to map to a Peoplenet Department for clocks. Not used by web."
          },
          "departmentName": {
            "type": "string",
            "description": "Used to create the long department name that is displayed on TMC, reporting, and so forth."
          },
          "dtBillingFactor": {
            "type": "string",
            "description": "If not provided, the default is 2.00000."
          },
          "employeeBadge": {
            "type": "integer",
            "format": "int64",
            "description": "If cards are used by locations, then pass a unique badge/card number. Maps to Employee Badge field."
          },
          "employeeCPAFlag": {
            "type": "string",
            "description": "Enables Closed Period Adjustment for Employee.<br/> 0 = Off, 1 = On"
          },
          "employeeOtType": {
            "type": "integer",
            "format": "int64",
            "description": "Indicates whether or not to search for and apply pay rules to the time card.<br/> 0 = Default OT Rules, 1=No OT calculated, 2=Exempt"
          },
          "expenseApproverEmail": {
            "type": "string",
            "description": "Email address name of the expense approver."
          },
          "expenseApproverFName": {
            "type": "string",
            "description": "First name of the expense approver."
          },
          "expenseApproverLName": {
            "type": "string",
            "description": "Last name of the expense approver."
          },
          "expenseIndicator": {
            "type": "string",
            "description": "Indicates if this is an expense.<br/> 0 = Off, 1 = On"
          },
          "inOutIndicator": {
            "type": "string",
            "description": "Indicates how in and out times are implemented.<br/> Blank=Default, 0=Hours per day, 1=In/Out template"
          },
          "noBillExpenseApproverEmail": {
            "type": "string",
            "description": "Email address of the no bill expense approver."
          },
          "noBillExpenseApproverFirstName": {
            "type": "string",
            "description": "First name of the no bill expense approver."
          },
          "noBillExpenseApproverLastName": {
            "type": "string",
            "description": "Last name of the no bill expense approver."
          },
          "payRules": {
            "type": "string",
            "description": "Pay rule type."
          },
          "proxyCPAFlag": {
            "type": "string",
            "description": "Enables Closed Period Adjustment for Proxy (Admin).<br/> 0 = Off, 1 =On"
          },
          "rounding": {
            "type": "string",
            "description": "Designates the rounding compensating adjustment to then round the whole day to the &frac14; hour, or 1/10 hour, as opposed to rounding each transaction individually."
          },
          "timeAndExpenseBranch": {
            "type": "string",
            "description": "Name or code of the time and expense branch."
          },
          "timeAndExpenseSource": {
            "type": "string",
            "description": "Indicates type of assignment.<br/> C=Clock, W=Web or V=VMS Provider."
          },
          "timeAndLaborEnabledDate": {
            "type": "string",
            "format": "date-time",
            "description": "Date when placement is to be evaluated through the Time and Labor Engine. *Must* be in epoch milliseconds."
          },
          "vmsAssignmentNumber": {
            "type": "string",
            "description": "VMS assignment identification number."
          },
          "vmsCostCenter": {
            "type": "string",
            "description": "Name of the cost center associated with this job. This cost center flows to the placement record and drives invoice grouping."
          },
          "vmsEmployeeID": {
            "type": "string",
            "description": "VMS employee identification number."
          },
          "vmsRequisitionID": {
            "type": "string",
            "description": "VMS requisition identification number."
          }
        },
        "additionalProperties": false,
        "required": [
          "id"
        ]
      },
      "PlacementTimeAndExpenseChangeRequest": {
        "type": "object",
        "description": "PlacementTimeAndExpenseChangeRequest entity schema derived from Bullhorn Entity Reference.",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64",
            "description": "Unique identifier for this entity.",
            "readOnly": true
          },
          "timeAndExpenseSource": {
            "type": "string",
            "description": "Indicates type of assignment.<br/> C=Clock, W=Web or V=VMS Provider."
          },
          "employeeBadge": {
            "type": "integer",
            "format": "int64",
            "description": "If cards are used by locations, then pass a unique badge/card number. Maps to Employee Badge field."
          },
          "departmentMapping": {
            "type": "string",
            "description": "Used to map to a Peoplenet Department for clocks. Not used by web."
          },
          "departmentAbbr": {
            "type": "string",
            "description": "Used to create the short department name that is displayed on clocks."
          },
          "departmentName": {
            "type": "string",
            "description": "Used to create the long department name that is displayed on TMC, reporting, and so forth."
          },
          "clientDepartmentCode": {
            "type": "string",
            "description": "Used to expand Peoplenet Department mapping for clocks, not used by web."
          },
          "dtBillingFactor": {
            "type": "string",
            "description": "If not provided, the default is 2.00000."
          },
          "inOutIndicator": {
            "type": "string",
            "description": "Indicates how in and out times are implemented.<br/> Blank=Default, 0=Hours per day, 1=In/Out template"
          },
          "proxyCPAFlag": {
            "type": "string",
            "description": "Enables Closed Period Adjustment for Proxy (Admin).<br/> 0 = Off, 1 =On"
          },
          "employeeCPAFlag": {
            "type": "string",
            "description": "Enables Closed Period Adjustment for Employee.<br/> 0 = Off, 1 = On"
          },
          "employeeOtType": {
            "type": "integer",
            "format": "int64",
            "description": "Indicates whether or not to search for and apply pay rules to the time card.<br/> 0 = Default OT Rules, 1=No OT calculated, 2=Exempt"
          },
          "expenseApproverFName": {
            "type": "string",
            "description": "First name of the expense approver."
          },
          "expenseApproverLName": {
            "type": "string",
            "description": "Last name of the expense approver."
          },
          "expenseApproverEmail": {
            "type": "string",
            "description": "Email address name of the expense approver."
          },
          "backupExpenseApproverFName": {
            "type": "string",
            "description": "First name of the backup expense approver."
          },
          "backupExpenseApproverLName": {
            "type": "string",
            "description": "Last name of the backup expense approver."
          },
          "backupExpenseApproverEmail": {
            "type": "string",
            "description": "Email address of the backup expense approver."
          },
          "approvalMethod": {
            "type": "string",
            "description": "Indicates the method used for approval.<br/> ELEC = Email/Electronic Approval, ASAP = Fax Approver/ASAP, NAR = No Approval Required"
          },
          "expenseIndicator": {
            "type": "string",
            "description": "Indicates if this is an expense.<br/> 0 = Off, 1 = On"
          },
          "clockMapping": {
            "type": "string",
            "description": "Location code used for Clocks."
          },
          "rounding": {
            "type": "string",
            "description": "Designates the rounding compensating adjustment to then round the whole day to the &frac14; hour, or 1/10 hour, as opposed to rounding each transaction individually."
          },
          "branding": {
            "type": "string",
            "description": "Designates the branding."
          },
          "payRules": {
            "type": "string",
            "description": "Pay rule type."
          },
          "vmsEmployeeID": {
            "type": "string",
            "description": "VMS employee identification number."
          },
          "vmsAssignmentNumber": {
            "type": "string",
            "description": "VMS assignment identification number."
          },
          "vmsCostCenter": {
            "type": "string",
            "description": "Name of the cost center associated with this job. This cost center flows to the placement record and drives invoice grouping."
          },
          "vmsRequisitionID": {
            "type": "string",
            "description": "VMS requisition identification number."
          },
          "alternateWorkSchedule": {
            "type": "string",
            "description": "Used to designate alternate work schedule."
          },
          "noBillExpenseApproverFirstName": {
            "type": "string",
            "description": "First name of the no bill expense approver."
          },
          "noBillExpenseApproverLastName": {
            "type": "string",
            "description": "Last name of the no bill expense approver."
          },
          "noBillExpenseApproverEmail": {
            "type": "string",
            "description": "Email address of the no bill expense approver."
          },
          "backupNoBillExpenseApproverFirstName": {
            "type": "string",
            "description": "First name of the backup no bill expense approver."
          },
          "backupNoBillExpenseApproverLastName": {
            "type": "string",
            "description": "Last name of the backup no bill expense approver."
          },
          "backupNoBillExpenseApproverEmail": {
            "type": "string",
            "description": "Email address of the backup no bill expense approver."
          },
          "timeAndExpenseBranch": {
            "type": "string",
            "description": "Name or code of the time and expense branch."
          }
        },
        "additionalProperties": false,
        "required": [
          "id"
        ]
      },
      "PlacementCommission": {
        "type": "object",
        "description": "PlacementCommission entity schema derived from Bullhorn Entity Reference.",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64",
            "description": "Unique identifier for this entity."
          },
          "comments": {
            "type": "string",
            "description": "Free-text comments on this commission."
          },
          "commissionPercentage": {
            "type": "number",
            "description": "The commission amount, expressed as a percentage: for example, 0.05 = 5%. Saved as decimal."
          },
          "dateAdded": {
            "type": "string",
            "format": "date-time",
            "description": "Date on which this record was created in the Bullhorn system. *Must* be in epoch milliseconds."
          },
          "dateLastModified": {
            "type": "string",
            "format": "date-time",
            "description": "Date on which the PlacementCommission was last modified. *Must* be in epoch milliseconds.",
            "readOnly": true
          },
          "externalRecipient": {
            "type": "string",
            "description": "If the person who should receive the commission does not have a Bullhorn id, this field indicates that person&rsquo;s name."
          },
          "flatPayout": {
            "type": "number",
            "description": "The commission expressed as a flat sum."
          },
          "grossMarginPercentage": {
            "type": "number",
            "description": "The percentage of the total gross margin for the Placement that the commission recipient will receive."
          },
          "hourlyPayout": {
            "type": "number",
            "description": "The commission expressed as an hourly rate (e.g., $1.00 for each hour worked by the employee)."
          },
          "placement": {
            "type": "integer",
            "format": "int64",
            "description": "Placement to which this commission pertains."
          },
          "role": {
            "type": "string",
            "description": "The commission recipient&rsquo;s role for the Placement (Sales, Recruiting, and so forth)."
          },
          "status": {
            "type": "string",
            "description": "Status of this commission."
          },
          "user": {
            "type": "integer",
            "format": "int64",
            "description": "User who will receive the commission, if applicable."
          }
        },
        "additionalProperties": false,
        "required": [
          "id",
          "commissionPercentage",
          "dateAdded",
          "dateLastModified",
          "flatPayout",
          "grossMarginPercentage",
          "hourlyPayout",
          "placement"
        ]
      },
      "PlacementShiftSet": {
        "type": "object",
        "description": "PlacementShiftSet entity schema derived from Bullhorn Entity Reference.",
        "properties": {},
        "additionalProperties": false
      },
      "ScreenerQuestion": {
        "type": "object",
        "description": "ScreenerQuestion entity schema derived from Bullhorn Entity Reference.",
        "properties": {},
        "additionalProperties": false
      },
      "Sendout": {
        "type": "object",
        "description": "Sendout entity schema derived from Bullhorn Entity Reference.",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64",
            "description": "Unique identifier for this entity."
          },
          "candidate": {
            "type": "integer",
            "format": "int64",
            "description": "Candidate being sent out."
          },
          "clientContact": {
            "type": "integer",
            "format": "int64",
            "description": "ClientContact receiving the Sendout."
          },
          "clientCorporation": {
            "type": "integer",
            "format": "int64",
            "description": "Hiring company."
          },
          "dateAdded": {
            "type": "string",
            "format": "date-time",
            "description": "Date on which this entity was created in the Bullhorn system. *Must* be in epoch milliseconds."
          },
          "email": {
            "type": "string",
            "description": "Email address to which the Sendout is sent."
          },
          "isRead": {
            "type": "boolean",
            "description": "Indicates whether the email has been opened."
          },
          "jobOrder": {
            "type": "integer",
            "format": "int64",
            "description": "JobOrder for which the Candidate is being considered."
          },
          "user": {
            "type": "integer",
            "format": "int64",
            "description": "CorporateUser who initiated this Sendout. The default value is user who creates the Sendout."
          }
        },
        "additionalProperties": false,
        "required": [
          "id",
          "candidate",
          "dateAdded",
          "isRead",
          "user"
        ]
      },
      "Shift": {
        "type": "object",
        "description": "Shift entity schema derived from Bullhorn Entity Reference.",
        "properties": {},
        "additionalProperties": false
      },
      "ShiftPosition": {
        "type": "object",
        "description": "ShiftPosition entity schema derived from Bullhorn Entity Reference.",
        "properties": {},
        "additionalProperties": false
      },
      "ShiftType": {
        "type": "object",
        "description": "ShiftType entity schema derived from Bullhorn Entity Reference.",
        "properties": {},
        "additionalProperties": false
      },
      "Skill": {
        "type": "object",
        "description": "Skill entity schema derived from Bullhorn Entity Reference.",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64",
            "description": "Unique identifier for this entity.",
            "readOnly": true
          },
          "enabled": {
            "type": "boolean",
            "description": "Indicates whether Skill is enabled."
          },
          "categories": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Categories with which this Skill is associated."
          },
          "name": {
            "type": "string",
            "description": "Name of this Skill.",
            "readOnly": true
          }
        },
        "additionalProperties": false,
        "required": [
          "id",
          "name"
        ]
      },
      "Specialty": {
        "type": "object",
        "description": "Specialty entity schema derived from Bullhorn Entity Reference.",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64",
            "description": "Unique identifier for this entity.",
            "readOnly": true
          },
          "dateAdded": {
            "type": "string",
            "format": "date-time",
            "description": "Date on which this record was created in the Bullhorn system. *Must* be in epoch milliseconds.",
            "readOnly": true
          },
          "enabled": {
            "type": "boolean",
            "description": "Indicates whether category is available for use in the Bullhorn application.",
            "readOnly": true
          },
          "name": {
            "type": "string",
            "description": "Name of Specialty.",
            "readOnly": true
          },
          "parentCategory": {
            "type": "integer",
            "format": "int64",
            "description": "Category that is parent of this Specialty.",
            "readOnly": true
          }
        },
        "additionalProperties": false,
        "required": [
          "id",
          "dateAdded",
          "enabled",
          "name",
          "parentCategory"
        ]
      },
      "State": {
        "type": "object",
        "description": "State entity schema derived from Bullhorn Entity Reference.",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64",
            "description": "Unique identifier for this entity."
          },
          "code": {
            "type": "string",
            "description": "Postal abbreviation of the state."
          },
          "country": {
            "type": "integer",
            "format": "int64",
            "description": "Nation that contains this state."
          },
          "name": {
            "type": "string",
            "description": "Name of the state."
          }
        },
        "additionalProperties": false,
        "required": [
          "id",
          "country",
          "name"
        ]
      },
      "StateTaxForm": {
        "type": "object",
        "description": "StateTaxForm entity schema derived from Bullhorn Entity Reference.",
        "properties": {},
        "additionalProperties": false
      },
      "Task": {
        "type": "object",
        "description": "Task entity schema derived from Bullhorn Entity Reference.",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64",
            "description": "Unique identifier for this entity.",
            "readOnly": true
          },
          "assignees": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Associates CorporateUsers with a Task. Can only be accessed from the user interface when the multipleAssigneesAndContactsOnTasks corporation setting is enabled, in which case childTasks are neither shown nor created."
          },
          "candidate": {
            "type": "integer",
            "format": "int64",
            "description": "Candidate associated with this task, if any."
          },
          "childTaskOwners": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Users assigned to childTasks."
          },
          "childTasks": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Assignments. You populate this field by creating Tasks where Task.parentTask is this Task."
          },
          "clientContact": {
            "type": "integer",
            "format": "int64",
            "description": "ClientContact associated with this task, if any."
          },
          "clientContactReferences": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Associates Tasks to multiple ClientContacts. Can only be accessed from the user interface when the multipleAssigneesAndContactsOnTasks corporation setting is enabled, in which case this field is populated instead of the clientContact field."
          },
          "dateAdded": {
            "type": "string",
            "format": "date-time",
            "description": "Date on which this record was created. *Must* be in epoch milliseconds."
          },
          "dateBegin": {
            "type": "string",
            "format": "date-time",
            "description": "The date when the task is due to begin. The default value is current time rounded up to next 15 minutes, or dateEnd if it is provided. *Must* be in epoch milliseconds."
          },
          "dateCompleted": {
            "type": "string",
            "format": "date-time",
            "description": "The date when the task was completed, if applicable. The default value is current time rounded up to next 15 minutes, or dateBegin if it is provided. *Must* be in epoch milliseconds."
          },
          "dateEnd": {
            "type": "string",
            "format": "date-time",
            "description": "The date when the task was scheduled to end. Used for recurring tasks. *Must* be in epoch milliseconds."
          },
          "dateLastModified": {
            "type": "string",
            "format": "date-time",
            "description": "Date when the Task was last modified. *Must* be in epoch milliseconds.",
            "readOnly": true
          },
          "description": {
            "type": "string",
            "description": "Free-text description of the task. The default value is “”."
          },
          "isCompleted": {
            "type": "boolean",
            "description": "Indicates whether the task has been completed."
          },
          "isDeleted": {
            "type": "boolean",
            "description": "Indicates whether this record has been marked as deleted."
          },
          "isPrivate": {
            "type": "boolean",
            "description": "Indicates whether this is a private task. A private task is not visible to users other than the user who created the task."
          },
          "jobOrder": {
            "type": "integer",
            "format": "int64",
            "description": "JobOrder associated with this task, if any."
          },
          "lead": {
            "type": "integer",
            "format": "int64",
            "description": "Lead, if any, associated with this task."
          },
          "notificationMinutes": {
            "type": "integer",
            "format": "int64",
            "description": "Indicates how many minutes in advance the user has chosen to be reminded of this task."
          },
          "opportunity": {
            "type": "integer",
            "format": "int64",
            "description": "Opportunity, if any, associated with this task."
          },
          "owner": {
            "type": "integer",
            "format": "int64",
            "description": "User who created the task. The default value is user who creates the Task."
          },
          "parentTask": {
            "type": "integer",
            "format": "int64",
            "description": "Task that is parent of this one, if any. Used when the task is assigned to someone other than the owner. The childTask is a copy of the parentTask managed by the assignee."
          },
          "placement": {
            "type": "integer",
            "format": "int64",
            "description": "Placement associated with this Task."
          },
          "priority": {
            "type": "integer",
            "format": "int64",
            "description": "Priority level of a task.Value is 1, 2, or 3, where 1 is Low, 2 is Normal, and 3 is High."
          },
          "recurrenceDayBits": {
            "type": "integer",
            "format": "int64",
            "description": "Indicates which days are part of the recurrence pattern, if the task is a recurring one. The value of this field is the sum of the days included in the series: Sun = 2, Mon = 4, Tue = 8, Wed = 16, Thur = 32, Fri = 64, Sat = 128. For example, a meeting that occurs on Monday and Friday would have a recurrenceDayBits value of 68 (4+64)."
          },
          "recurrenceFrequency": {
            "type": "integer",
            "format": "int64",
            "description": "Frequency with which the task recurs: for example, a recurrenceFrequency of 2 for a weekly meeting would imply the meeting occurs every 2 weeks. Null for a one-time task."
          },
          "recurrenceStyle": {
            "type": "string",
            "description": "A=absolute, R=relative: e.g., an absolute would be the third week of every month, whereas a relative would be every third week."
          },
          "recurrenceType": {
            "type": "string",
            "description": "Type of recurrence. D=daily, W=weekly, M=monthly, A=annually."
          },
          "subject": {
            "type": "string",
            "description": "Subject header for the task."
          },
          "taskUUID": {
            "type": "string",
            "description": "Secondary unique identifier for this entity. Used to identify the record when it is synchronized to external systems. Format is 8-4-4-16 where all characters are A-Z or 0-9."
          },
          "timeZoneID": {
            "type": "string",
            "description": "Id of time zone."
          },
          "type": {
            "type": "string",
            "description": "Type of task. For example, Follow-Up, Email, Personal, and so forth."
          }
        },
        "additionalProperties": false,
        "required": [
          "id",
          "dateAdded",
          "dateBegin",
          "dateEnd",
          "dateLastModified",
          "description",
          "isCompleted",
          "isDeleted",
          "isPrivate",
          "notificationMinutes",
          "owner",
          "subject",
          "type"
        ]
      },
      "Tearsheet": {
        "type": "object",
        "description": "Tearsheet entity schema derived from Bullhorn Entity Reference.",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64",
            "description": "Unique identifier for this entity."
          },
          "candidates": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Candidates with which this Tearsheet is associated. The default fields"
          },
          "clientContacts": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "ClientContacts with which this Tearsheet is associated."
          },
          "dateAdded": {
            "type": "string",
            "format": "date-time",
            "description": "Date on which the Tearsheet was created in the Bullhorn system. *Must* be in epoch milliseconds."
          },
          "dateLastModified": {
            "type": "string",
            "format": "date-time",
            "description": "Date on which the Tearsheet was last modified. *Must* be in epoch milliseconds.",
            "readOnly": true
          },
          "description": {
            "type": "string",
            "description": "Free-text description."
          },
          "isDeleted": {
            "type": "boolean",
            "description": "Indicates whether this record is marked as deleted in the Bullhorn system."
          },
          "isPrivate": {
            "type": "boolean",
            "description": "Indicates whether this is a private Tearsheet. A private Tearsheet is not visible to users other than the user who created the tearsheet."
          },
          "jobOrders": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "JobOrders with which this Tearsheet is associated."
          },
          "name": {
            "type": "string",
            "description": "Name of this Tearsheet."
          },
          "owner": {
            "type": "integer",
            "format": "int64",
            "description": "CorporateUser who is the primary owner of this Tearsheet. The default value is user who created the tearsheet."
          },
          "recipients": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Ids of TearsheetRecipients with which this Tearsheet is associated."
          }
        },
        "additionalProperties": false,
        "required": [
          "id",
          "dateAdded",
          "dateLastModified",
          "isDeleted",
          "name"
        ]
      },
      "TearsheetMember": {
        "type": "object",
        "description": "TearsheetMember entity schema derived from Bullhorn Entity Reference.",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64",
            "description": "Unique identifier for this entity."
          },
          "candidateRestrictionBits": {
            "type": "integer",
            "format": "int64",
            "description": "Candidate restriction bits."
          },
          "dateAdded": {
            "type": "string",
            "format": "date-time",
            "description": "Date on which this record was created in the Bullhorn system. *Must* be in epoch milliseconds."
          },
          "person": {
            "type": "integer",
            "format": "int64",
            "description": "Person with whom this TearsheetMember is associated."
          },
          "tearsheet": {
            "type": "integer",
            "format": "int64",
            "description": "Tearsheet with which this TearsheetMember is associated."
          }
        },
        "additionalProperties": false,
        "required": [
          "id",
          "candidateRestrictionBits",
          "dateAdded"
        ]
      },
      "TearsheetRecipient": {
        "type": "object",
        "description": "TearsheetRecipient entity schema derived from Bullhorn Entity Reference.",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64",
            "description": "Unique identifier for this entity."
          },
          "candidateRestrictionBits": {
            "type": "integer",
            "format": "int64",
            "description": "Candidate restriction bits."
          },
          "dateAdded": {
            "type": "string",
            "format": "date-time",
            "description": "Date on which this record was created in the Bullhorn system. *Must* be in epoch milliseconds."
          },
          "description": {
            "type": "string",
            "description": "Free-text description."
          },
          "isDeleted": {
            "type": "boolean",
            "description": "Indicates whether this record is marked as deleted in the Bullhorn system."
          },
          "isSent": {
            "type": "boolean",
            "description": "Indicates whether"
          },
          "jobOrder": {
            "type": "integer",
            "format": "int64",
            "description": "JobOrder with which this TearsheetRecipient is associated."
          },
          "person": {
            "type": "integer",
            "format": "int64",
            "description": "Person with whom this TearsheetRecipient is associated."
          },
          "tearsheet": {
            "type": "integer",
            "format": "int64",
            "description": "Tearsheet with which this TearsheetRecipient is associated."
          }
        },
        "additionalProperties": false,
        "required": [
          "id",
          "candidateRestrictionBits",
          "dateAdded",
          "isDeleted"
        ]
      },
      "TimeUnit": {
        "type": "object",
        "description": "TimeUnit entity schema derived from Bullhorn Entity Reference.",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64",
            "description": "Unique identifier for this entity."
          },
          "name": {
            "type": "string",
            "description": "Name of this TimeUnit."
          },
          "timeMarker": {
            "type": "integer",
            "format": "int64",
            "description": "Time marker, such as AM or PM."
          },
          "weekDay": {
            "type": "integer",
            "format": "int64",
            "description": "Day of the week."
          }
        },
        "additionalProperties": false,
        "required": [
          "id",
          "name",
          "timeMarker",
          "weekDay"
        ]
      },
      "WorkersCompensation": {
        "type": "object",
        "description": "WorkersCompensation entity schema derived from Bullhorn Entity Reference.",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64",
            "description": "Unique identifier for this entity.",
            "readOnly": true
          },
          "code": {
            "type": "string",
            "description": "The code set for this WorkersCompensation."
          },
          "dateAdded": {
            "type": "string",
            "format": "date-time",
            "description": "Date on which this record was created in the Bullhorn system. *Must* be in epoch milliseconds.",
            "readOnly": true
          },
          "dateLastModified": {
            "type": "string",
            "format": "date-time",
            "description": "Date on which the WorkersCompensation was last modified. *Must* be in epoch milliseconds.",
            "readOnly": true
          },
          "description": {
            "type": "string",
            "description": "Description text about the WorkersCompensation."
          },
          "name": {
            "type": "string",
            "description": "The name of the WorkersCompensation."
          },
          "rates": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Set of WorkersCompensationRate entities attached to this WorkersCompensation."
          },
          "state": {
            "type": "string",
            "description": "State associated to this WorkersCompensation."
          }
        },
        "additionalProperties": false,
        "required": [
          "id",
          "code",
          "dateAdded",
          "dateLastModified"
        ]
      },
      "WorkersCompensationRate": {
        "type": "object",
        "description": "WorkersCompensationRate entity schema derived from Bullhorn Entity Reference.",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64",
            "description": "Unique identifier for this entity.",
            "readOnly": true
          },
          "compensation": {
            "type": "string",
            "description": "WorkersCompensation entity related to this rate."
          },
          "dateAdded": {
            "type": "string",
            "format": "date-time",
            "description": "Date on which this record was created in the Bullhorn system. *Must* be in epoch milliseconds.",
            "readOnly": true
          },
          "dateLastModified": {
            "type": "string",
            "format": "date-time",
            "description": "Date on which the WorkersCompensationRate was last modified. *Must* be in epoch milliseconds.",
            "readOnly": true
          },
          "endDate": {
            "type": "string",
            "format": "date-time",
            "description": "End date set for this WorkersCompensationRate. *Must* be in epoch milliseconds."
          },
          "rate": {
            "type": "number",
            "description": "Value of the rate."
          },
          "startDate": {
            "type": "string",
            "format": "date-time",
            "description": "Start date set for this WorkersCompensationRate. *Must* be in epoch milliseconds."
          }
        },
        "additionalProperties": false,
        "required": [
          "id",
          "compensation",
          "dateAdded",
          "dateLastModified",
          "endDate",
          "rate",
          "startDate"
        ]
      }
    }
  },
  "paths": {
    "/loginInfo": {
      "get": {
        "operationId": "getLoginInfo",
        "summary": "Resolve data center URLs for a Bullhorn API user",
        "description": "Calls GET /rest-services/loginInfo to discover the correct data center and OAuth host for the supplied API username. Use the returned restUrl to prefix all subsequent API calls.",
        "parameters": [
          {
            "name": "username",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Bullhorn API username used for authentication."
          }
        ],
        "responses": {
          "200": {
            "description": "Data center resolution succeeded.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LoginInfoResponse"
                }
              }
            }
          }
        }
      }
    },
    "/login": {
      "get": {
        "operationId": "login",
        "summary": "Exchange OAuth access token for BhRestToken session",
        "description": "Exchanges an OAuth access token for a BhRestToken session and returns the corp-specific restUrl. The BhRestToken must be supplied on all subsequent API calls via header or query string.",
        "parameters": [
          {
            "name": "version",
            "in": "query",
            "required": false,
            "schema": {
              "type": "number",
              "format": "float"
            },
            "description": "API version (use 2.0 for current REST behavior)."
          },
          {
            "name": "access_token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "OAuth 2.0 access token obtained from Bullhorn authorization server."
          }
        ],
        "responses": {
          "200": {
            "description": "Session established.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LoginResponse"
                }
              }
            }
          }
        }
      }
    },
    "/{corpToken}/entity/{entityType}": {
      "put": {
        "operationId": "createOrUpdateEntity",
        "summary": "Create entity",
        "description": "Creates a new entity record. Use the fields query param to control returned projections. Pass BhRestToken via header or query.",
        "parameters": [
          {
            "$ref": "#/components/parameters/CorpToken"
          },
          {
            "$ref": "#/components/parameters/EntityType"
          },
          {
            "$ref": "#/components/parameters/Fields"
          },
          {
            "$ref": "#/components/parameters/BhRestTokenQuery"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/ActivityGoal"
                  },
                  {
                    "$ref": "#/components/schemas/ActivityGoalConfiguration"
                  },
                  {
                    "$ref": "#/components/schemas/ActivityGoalTarget"
                  },
                  {
                    "$ref": "#/components/schemas/Appointment"
                  },
                  {
                    "$ref": "#/components/schemas/AppointmentAttendee"
                  },
                  {
                    "$ref": "#/components/schemas/BusinessSector"
                  },
                  {
                    "$ref": "#/components/schemas/Candidate"
                  },
                  {
                    "$ref": "#/components/schemas/CandidateAvailability"
                  },
                  {
                    "$ref": "#/components/schemas/CandidateCertification"
                  },
                  {
                    "$ref": "#/components/schemas/CandidateCertificationRequirement"
                  },
                  {
                    "$ref": "#/components/schemas/CandidateEducation"
                  },
                  {
                    "$ref": "#/components/schemas/CandidateReference"
                  },
                  {
                    "$ref": "#/components/schemas/CandidateReferenceQuestion"
                  },
                  {
                    "$ref": "#/components/schemas/CandidateReferenceResponse"
                  },
                  {
                    "$ref": "#/components/schemas/CandidateShiftPreference"
                  },
                  {
                    "$ref": "#/components/schemas/CandidateTaxInfo"
                  },
                  {
                    "$ref": "#/components/schemas/CandidateWorkHistory"
                  },
                  {
                    "$ref": "#/components/schemas/Category"
                  },
                  {
                    "$ref": "#/components/schemas/Certification"
                  },
                  {
                    "$ref": "#/components/schemas/CertificationFileAttachment"
                  },
                  {
                    "$ref": "#/components/schemas/CertificationGroup"
                  },
                  {
                    "$ref": "#/components/schemas/CertificationRequirement"
                  },
                  {
                    "$ref": "#/components/schemas/ClientContact"
                  },
                  {
                    "$ref": "#/components/schemas/ClientCorporation"
                  },
                  {
                    "$ref": "#/components/schemas/ClientCorporationAppointment"
                  },
                  {
                    "$ref": "#/components/schemas/ClientCorporationNote"
                  },
                  {
                    "$ref": "#/components/schemas/ClientCorporationTask"
                  },
                  {
                    "$ref": "#/components/schemas/CorporateUser"
                  },
                  {
                    "$ref": "#/components/schemas/CorporationDepartment"
                  },
                  {
                    "$ref": "#/components/schemas/Country"
                  },
                  {
                    "$ref": "#/components/schemas/CustomAction"
                  },
                  {
                    "$ref": "#/components/schemas/Deduction"
                  },
                  {
                    "$ref": "#/components/schemas/DeductionCategoryLookup"
                  },
                  {
                    "$ref": "#/components/schemas/Department"
                  },
                  {
                    "$ref": "#/components/schemas/EmployerContribution"
                  },
                  {
                    "$ref": "#/components/schemas/EstaffMappableFlowback"
                  },
                  {
                    "$ref": "#/components/schemas/ExpenseSheet"
                  },
                  {
                    "$ref": "#/components/schemas/ExpenseSheetEntry"
                  },
                  {
                    "$ref": "#/components/schemas/FederalTaxForm"
                  },
                  {
                    "$ref": "#/components/schemas/Issue"
                  },
                  {
                    "$ref": "#/components/schemas/IssueItems"
                  },
                  {
                    "$ref": "#/components/schemas/JobBoardPost"
                  },
                  {
                    "$ref": "#/components/schemas/JobOrder"
                  },
                  {
                    "$ref": "#/components/schemas/JobOrderScreenerQuestion"
                  },
                  {
                    "$ref": "#/components/schemas/JobShift"
                  },
                  {
                    "$ref": "#/components/schemas/JobShiftAssignment"
                  },
                  {
                    "$ref": "#/components/schemas/JobShiftSubmission"
                  },
                  {
                    "$ref": "#/components/schemas/JobSubmission"
                  },
                  {
                    "$ref": "#/components/schemas/JobSubmissionCertificationRequirement"
                  },
                  {
                    "$ref": "#/components/schemas/JobSubmissionHistory"
                  },
                  {
                    "$ref": "#/components/schemas/Lead"
                  },
                  {
                    "$ref": "#/components/schemas/LeadHistory"
                  },
                  {
                    "$ref": "#/components/schemas/LocalTaxForm"
                  },
                  {
                    "$ref": "#/components/schemas/Location"
                  },
                  {
                    "$ref": "#/components/schemas/LocationVersion"
                  },
                  {
                    "$ref": "#/components/schemas/Note"
                  },
                  {
                    "$ref": "#/components/schemas/NoteEntity"
                  },
                  {
                    "$ref": "#/components/schemas/Opportunity"
                  },
                  {
                    "$ref": "#/components/schemas/OpportunityHistory"
                  },
                  {
                    "$ref": "#/components/schemas/Placement"
                  },
                  {
                    "$ref": "#/components/schemas/PlacementCertification"
                  },
                  {
                    "$ref": "#/components/schemas/PlacementChangeRequest"
                  },
                  {
                    "$ref": "#/components/schemas/PlacementCommission"
                  },
                  {
                    "$ref": "#/components/schemas/PlacementShiftSet"
                  },
                  {
                    "$ref": "#/components/schemas/PlacementTimeAndExpense"
                  },
                  {
                    "$ref": "#/components/schemas/PlacementTimeAndExpenseChangeRequest"
                  },
                  {
                    "$ref": "#/components/schemas/ScreenerQuestion"
                  },
                  {
                    "$ref": "#/components/schemas/Sendout"
                  },
                  {
                    "$ref": "#/components/schemas/Shift"
                  },
                  {
                    "$ref": "#/components/schemas/ShiftPosition"
                  },
                  {
                    "$ref": "#/components/schemas/ShiftType"
                  },
                  {
                    "$ref": "#/components/schemas/Skill"
                  },
                  {
                    "$ref": "#/components/schemas/Specialty"
                  },
                  {
                    "$ref": "#/components/schemas/State"
                  },
                  {
                    "$ref": "#/components/schemas/StateTaxForm"
                  },
                  {
                    "$ref": "#/components/schemas/Task"
                  },
                  {
                    "$ref": "#/components/schemas/Tearsheet"
                  },
                  {
                    "$ref": "#/components/schemas/TearsheetMember"
                  },
                  {
                    "$ref": "#/components/schemas/TearsheetRecipient"
                  },
                  {
                    "$ref": "#/components/schemas/TimeLaborEvalRule"
                  },
                  {
                    "$ref": "#/components/schemas/TimeLaborEvalRuleTemplate"
                  },
                  {
                    "$ref": "#/components/schemas/TimeUnit"
                  },
                  {
                    "$ref": "#/components/schemas/Timesheet"
                  },
                  {
                    "$ref": "#/components/schemas/TimesheetEntry"
                  },
                  {
                    "$ref": "#/components/schemas/WorkersCompensation"
                  },
                  {
                    "$ref": "#/components/schemas/WorkersCompensationRate"
                  },
                  {
                    "$ref": "#/components/schemas/{Entity}EditHistory"
                  },
                  {
                    "$ref": "#/components/schemas/{Entity}EditHistoryFieldChange"
                  },
                  {
                    "$ref": "#/components/schemas/{Entity}FileAttachment"
                  }
                ]
              }
            }
          }
        },
        "security": [
          {
            "BhRestTokenHeader": []
          },
          {
            "BhRestTokenQuery": []
          }
        ],
        "responses": {
          "200": {
            "description": "Entity created.",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/ActivityGoal"
                    },
                    {
                      "$ref": "#/components/schemas/ActivityGoalConfiguration"
                    },
                    {
                      "$ref": "#/components/schemas/ActivityGoalTarget"
                    },
                    {
                      "$ref": "#/components/schemas/Appointment"
                    },
                    {
                      "$ref": "#/components/schemas/AppointmentAttendee"
                    },
                    {
                      "$ref": "#/components/schemas/BusinessSector"
                    },
                    {
                      "$ref": "#/components/schemas/Candidate"
                    },
                    {
                      "$ref": "#/components/schemas/CandidateAvailability"
                    },
                    {
                      "$ref": "#/components/schemas/CandidateCertification"
                    },
                    {
                      "$ref": "#/components/schemas/CandidateCertificationRequirement"
                    },
                    {
                      "$ref": "#/components/schemas/CandidateEducation"
                    },
                    {
                      "$ref": "#/components/schemas/CandidateReference"
                    },
                    {
                      "$ref": "#/components/schemas/CandidateReferenceQuestion"
                    },
                    {
                      "$ref": "#/components/schemas/CandidateReferenceResponse"
                    },
                    {
                      "$ref": "#/components/schemas/CandidateShiftPreference"
                    },
                    {
                      "$ref": "#/components/schemas/CandidateTaxInfo"
                    },
                    {
                      "$ref": "#/components/schemas/CandidateWorkHistory"
                    },
                    {
                      "$ref": "#/components/schemas/Category"
                    },
                    {
                      "$ref": "#/components/schemas/Certification"
                    },
                    {
                      "$ref": "#/components/schemas/CertificationFileAttachment"
                    },
                    {
                      "$ref": "#/components/schemas/CertificationGroup"
                    },
                    {
                      "$ref": "#/components/schemas/CertificationRequirement"
                    },
                    {
                      "$ref": "#/components/schemas/ClientContact"
                    },
                    {
                      "$ref": "#/components/schemas/ClientCorporation"
                    },
                    {
                      "$ref": "#/components/schemas/ClientCorporationAppointment"
                    },
                    {
                      "$ref": "#/components/schemas/ClientCorporationNote"
                    },
                    {
                      "$ref": "#/components/schemas/ClientCorporationTask"
                    },
                    {
                      "$ref": "#/components/schemas/CorporateUser"
                    },
                    {
                      "$ref": "#/components/schemas/CorporationDepartment"
                    },
                    {
                      "$ref": "#/components/schemas/Country"
                    },
                    {
                      "$ref": "#/components/schemas/CustomAction"
                    },
                    {
                      "$ref": "#/components/schemas/Deduction"
                    },
                    {
                      "$ref": "#/components/schemas/DeductionCategoryLookup"
                    },
                    {
                      "$ref": "#/components/schemas/Department"
                    },
                    {
                      "$ref": "#/components/schemas/EmployerContribution"
                    },
                    {
                      "$ref": "#/components/schemas/EstaffMappableFlowback"
                    },
                    {
                      "$ref": "#/components/schemas/ExpenseSheet"
                    },
                    {
                      "$ref": "#/components/schemas/ExpenseSheetEntry"
                    },
                    {
                      "$ref": "#/components/schemas/FederalTaxForm"
                    },
                    {
                      "$ref": "#/components/schemas/Issue"
                    },
                    {
                      "$ref": "#/components/schemas/IssueItems"
                    },
                    {
                      "$ref": "#/components/schemas/JobBoardPost"
                    },
                    {
                      "$ref": "#/components/schemas/JobOrder"
                    },
                    {
                      "$ref": "#/components/schemas/JobOrderScreenerQuestion"
                    },
                    {
                      "$ref": "#/components/schemas/JobShift"
                    },
                    {
                      "$ref": "#/components/schemas/JobShiftAssignment"
                    },
                    {
                      "$ref": "#/components/schemas/JobShiftSubmission"
                    },
                    {
                      "$ref": "#/components/schemas/JobSubmission"
                    },
                    {
                      "$ref": "#/components/schemas/JobSubmissionCertificationRequirement"
                    },
                    {
                      "$ref": "#/components/schemas/JobSubmissionHistory"
                    },
                    {
                      "$ref": "#/components/schemas/Lead"
                    },
                    {
                      "$ref": "#/components/schemas/LeadHistory"
                    },
                    {
                      "$ref": "#/components/schemas/LocalTaxForm"
                    },
                    {
                      "$ref": "#/components/schemas/Location"
                    },
                    {
                      "$ref": "#/components/schemas/LocationVersion"
                    },
                    {
                      "$ref": "#/components/schemas/Note"
                    },
                    {
                      "$ref": "#/components/schemas/NoteEntity"
                    },
                    {
                      "$ref": "#/components/schemas/Opportunity"
                    },
                    {
                      "$ref": "#/components/schemas/OpportunityHistory"
                    },
                    {
                      "$ref": "#/components/schemas/Placement"
                    },
                    {
                      "$ref": "#/components/schemas/PlacementCertification"
                    },
                    {
                      "$ref": "#/components/schemas/PlacementChangeRequest"
                    },
                    {
                      "$ref": "#/components/schemas/PlacementCommission"
                    },
                    {
                      "$ref": "#/components/schemas/PlacementShiftSet"
                    },
                    {
                      "$ref": "#/components/schemas/PlacementTimeAndExpense"
                    },
                    {
                      "$ref": "#/components/schemas/PlacementTimeAndExpenseChangeRequest"
                    },
                    {
                      "$ref": "#/components/schemas/ScreenerQuestion"
                    },
                    {
                      "$ref": "#/components/schemas/Sendout"
                    },
                    {
                      "$ref": "#/components/schemas/Shift"
                    },
                    {
                      "$ref": "#/components/schemas/ShiftPosition"
                    },
                    {
                      "$ref": "#/components/schemas/ShiftType"
                    },
                    {
                      "$ref": "#/components/schemas/Skill"
                    },
                    {
                      "$ref": "#/components/schemas/Specialty"
                    },
                    {
                      "$ref": "#/components/schemas/State"
                    },
                    {
                      "$ref": "#/components/schemas/StateTaxForm"
                    },
                    {
                      "$ref": "#/components/schemas/Task"
                    },
                    {
                      "$ref": "#/components/schemas/Tearsheet"
                    },
                    {
                      "$ref": "#/components/schemas/TearsheetMember"
                    },
                    {
                      "$ref": "#/components/schemas/TearsheetRecipient"
                    },
                    {
                      "$ref": "#/components/schemas/TimeLaborEvalRule"
                    },
                    {
                      "$ref": "#/components/schemas/TimeLaborEvalRuleTemplate"
                    },
                    {
                      "$ref": "#/components/schemas/TimeUnit"
                    },
                    {
                      "$ref": "#/components/schemas/Timesheet"
                    },
                    {
                      "$ref": "#/components/schemas/TimesheetEntry"
                    },
                    {
                      "$ref": "#/components/schemas/WorkersCompensation"
                    },
                    {
                      "$ref": "#/components/schemas/WorkersCompensationRate"
                    },
                    {
                      "$ref": "#/components/schemas/{Entity}EditHistory"
                    },
                    {
                      "$ref": "#/components/schemas/{Entity}EditHistoryFieldChange"
                    },
                    {
                      "$ref": "#/components/schemas/{Entity}FileAttachment"
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/{corpToken}/entity/{entityType}/{id}": {
      "get": {
        "operationId": "getEntityById",
        "summary": "Retrieve entity by id",
        "description": "Retrieves a single entity record with optional field projection and metadata.",
        "parameters": [
          {
            "$ref": "#/components/parameters/CorpToken"
          },
          {
            "$ref": "#/components/parameters/EntityType"
          },
          {
            "$ref": "#/components/parameters/EntityId"
          },
          {
            "$ref": "#/components/parameters/Fields"
          },
          {
            "$ref": "#/components/parameters/Meta"
          },
          {
            "$ref": "#/components/parameters/BhRestTokenQuery"
          }
        ],
        "security": [
          {
            "BhRestTokenHeader": []
          },
          {
            "BhRestTokenQuery": []
          }
        ],
        "responses": {
          "200": {
            "description": "Entity retrieved.",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/ActivityGoal"
                    },
                    {
                      "$ref": "#/components/schemas/ActivityGoalConfiguration"
                    },
                    {
                      "$ref": "#/components/schemas/ActivityGoalTarget"
                    },
                    {
                      "$ref": "#/components/schemas/Appointment"
                    },
                    {
                      "$ref": "#/components/schemas/AppointmentAttendee"
                    },
                    {
                      "$ref": "#/components/schemas/BusinessSector"
                    },
                    {
                      "$ref": "#/components/schemas/Candidate"
                    },
                    {
                      "$ref": "#/components/schemas/CandidateAvailability"
                    },
                    {
                      "$ref": "#/components/schemas/CandidateCertification"
                    },
                    {
                      "$ref": "#/components/schemas/CandidateCertificationRequirement"
                    },
                    {
                      "$ref": "#/components/schemas/CandidateEducation"
                    },
                    {
                      "$ref": "#/components/schemas/CandidateReference"
                    },
                    {
                      "$ref": "#/components/schemas/CandidateReferenceQuestion"
                    },
                    {
                      "$ref": "#/components/schemas/CandidateReferenceResponse"
                    },
                    {
                      "$ref": "#/components/schemas/CandidateShiftPreference"
                    },
                    {
                      "$ref": "#/components/schemas/CandidateTaxInfo"
                    },
                    {
                      "$ref": "#/components/schemas/CandidateWorkHistory"
                    },
                    {
                      "$ref": "#/components/schemas/Category"
                    },
                    {
                      "$ref": "#/components/schemas/Certification"
                    },
                    {
                      "$ref": "#/components/schemas/CertificationFileAttachment"
                    },
                    {
                      "$ref": "#/components/schemas/CertificationGroup"
                    },
                    {
                      "$ref": "#/components/schemas/CertificationRequirement"
                    },
                    {
                      "$ref": "#/components/schemas/ClientContact"
                    },
                    {
                      "$ref": "#/components/schemas/ClientCorporation"
                    },
                    {
                      "$ref": "#/components/schemas/ClientCorporationAppointment"
                    },
                    {
                      "$ref": "#/components/schemas/ClientCorporationNote"
                    },
                    {
                      "$ref": "#/components/schemas/ClientCorporationTask"
                    },
                    {
                      "$ref": "#/components/schemas/CorporateUser"
                    },
                    {
                      "$ref": "#/components/schemas/CorporationDepartment"
                    },
                    {
                      "$ref": "#/components/schemas/Country"
                    },
                    {
                      "$ref": "#/components/schemas/CustomAction"
                    },
                    {
                      "$ref": "#/components/schemas/Deduction"
                    },
                    {
                      "$ref": "#/components/schemas/DeductionCategoryLookup"
                    },
                    {
                      "$ref": "#/components/schemas/Department"
                    },
                    {
                      "$ref": "#/components/schemas/EmployerContribution"
                    },
                    {
                      "$ref": "#/components/schemas/EstaffMappableFlowback"
                    },
                    {
                      "$ref": "#/components/schemas/ExpenseSheet"
                    },
                    {
                      "$ref": "#/components/schemas/ExpenseSheetEntry"
                    },
                    {
                      "$ref": "#/components/schemas/FederalTaxForm"
                    },
                    {
                      "$ref": "#/components/schemas/Issue"
                    },
                    {
                      "$ref": "#/components/schemas/IssueItems"
                    },
                    {
                      "$ref": "#/components/schemas/JobBoardPost"
                    },
                    {
                      "$ref": "#/components/schemas/JobOrder"
                    },
                    {
                      "$ref": "#/components/schemas/JobOrderScreenerQuestion"
                    },
                    {
                      "$ref": "#/components/schemas/JobShift"
                    },
                    {
                      "$ref": "#/components/schemas/JobShiftAssignment"
                    },
                    {
                      "$ref": "#/components/schemas/JobShiftSubmission"
                    },
                    {
                      "$ref": "#/components/schemas/JobSubmission"
                    },
                    {
                      "$ref": "#/components/schemas/JobSubmissionCertificationRequirement"
                    },
                    {
                      "$ref": "#/components/schemas/JobSubmissionHistory"
                    },
                    {
                      "$ref": "#/components/schemas/Lead"
                    },
                    {
                      "$ref": "#/components/schemas/LeadHistory"
                    },
                    {
                      "$ref": "#/components/schemas/LocalTaxForm"
                    },
                    {
                      "$ref": "#/components/schemas/Location"
                    },
                    {
                      "$ref": "#/components/schemas/LocationVersion"
                    },
                    {
                      "$ref": "#/components/schemas/Note"
                    },
                    {
                      "$ref": "#/components/schemas/NoteEntity"
                    },
                    {
                      "$ref": "#/components/schemas/Opportunity"
                    },
                    {
                      "$ref": "#/components/schemas/OpportunityHistory"
                    },
                    {
                      "$ref": "#/components/schemas/Placement"
                    },
                    {
                      "$ref": "#/components/schemas/PlacementCertification"
                    },
                    {
                      "$ref": "#/components/schemas/PlacementChangeRequest"
                    },
                    {
                      "$ref": "#/components/schemas/PlacementCommission"
                    },
                    {
                      "$ref": "#/components/schemas/PlacementShiftSet"
                    },
                    {
                      "$ref": "#/components/schemas/PlacementTimeAndExpense"
                    },
                    {
                      "$ref": "#/components/schemas/PlacementTimeAndExpenseChangeRequest"
                    },
                    {
                      "$ref": "#/components/schemas/ScreenerQuestion"
                    },
                    {
                      "$ref": "#/components/schemas/Sendout"
                    },
                    {
                      "$ref": "#/components/schemas/Shift"
                    },
                    {
                      "$ref": "#/components/schemas/ShiftPosition"
                    },
                    {
                      "$ref": "#/components/schemas/ShiftType"
                    },
                    {
                      "$ref": "#/components/schemas/Skill"
                    },
                    {
                      "$ref": "#/components/schemas/Specialty"
                    },
                    {
                      "$ref": "#/components/schemas/State"
                    },
                    {
                      "$ref": "#/components/schemas/StateTaxForm"
                    },
                    {
                      "$ref": "#/components/schemas/Task"
                    },
                    {
                      "$ref": "#/components/schemas/Tearsheet"
                    },
                    {
                      "$ref": "#/components/schemas/TearsheetMember"
                    },
                    {
                      "$ref": "#/components/schemas/TearsheetRecipient"
                    },
                    {
                      "$ref": "#/components/schemas/TimeLaborEvalRule"
                    },
                    {
                      "$ref": "#/components/schemas/TimeLaborEvalRuleTemplate"
                    },
                    {
                      "$ref": "#/components/schemas/TimeUnit"
                    },
                    {
                      "$ref": "#/components/schemas/Timesheet"
                    },
                    {
                      "$ref": "#/components/schemas/TimesheetEntry"
                    },
                    {
                      "$ref": "#/components/schemas/WorkersCompensation"
                    },
                    {
                      "$ref": "#/components/schemas/WorkersCompensationRate"
                    },
                    {
                      "$ref": "#/components/schemas/{Entity}EditHistory"
                    },
                    {
                      "$ref": "#/components/schemas/{Entity}EditHistoryFieldChange"
                    },
                    {
                      "$ref": "#/components/schemas/{Entity}FileAttachment"
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "post": {
        "operationId": "updateEntity",
        "summary": "Update entity",
        "description": "Updates an existing entity record. Use fields to control returned projections.",
        "parameters": [
          {
            "$ref": "#/components/parameters/CorpToken"
          },
          {
            "$ref": "#/components/parameters/EntityType"
          },
          {
            "$ref": "#/components/parameters/EntityId"
          },
          {
            "$ref": "#/components/parameters/Fields"
          },
          {
            "$ref": "#/components/parameters/BhRestTokenQuery"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/ActivityGoal"
                  },
                  {
                    "$ref": "#/components/schemas/ActivityGoalConfiguration"
                  },
                  {
                    "$ref": "#/components/schemas/ActivityGoalTarget"
                  },
                  {
                    "$ref": "#/components/schemas/Appointment"
                  },
                  {
                    "$ref": "#/components/schemas/AppointmentAttendee"
                  },
                  {
                    "$ref": "#/components/schemas/BusinessSector"
                  },
                  {
                    "$ref": "#/components/schemas/Candidate"
                  },
                  {
                    "$ref": "#/components/schemas/CandidateAvailability"
                  },
                  {
                    "$ref": "#/components/schemas/CandidateCertification"
                  },
                  {
                    "$ref": "#/components/schemas/CandidateCertificationRequirement"
                  },
                  {
                    "$ref": "#/components/schemas/CandidateEducation"
                  },
                  {
                    "$ref": "#/components/schemas/CandidateReference"
                  },
                  {
                    "$ref": "#/components/schemas/CandidateReferenceQuestion"
                  },
                  {
                    "$ref": "#/components/schemas/CandidateReferenceResponse"
                  },
                  {
                    "$ref": "#/components/schemas/CandidateShiftPreference"
                  },
                  {
                    "$ref": "#/components/schemas/CandidateTaxInfo"
                  },
                  {
                    "$ref": "#/components/schemas/CandidateWorkHistory"
                  },
                  {
                    "$ref": "#/components/schemas/Category"
                  },
                  {
                    "$ref": "#/components/schemas/Certification"
                  },
                  {
                    "$ref": "#/components/schemas/CertificationFileAttachment"
                  },
                  {
                    "$ref": "#/components/schemas/CertificationGroup"
                  },
                  {
                    "$ref": "#/components/schemas/CertificationRequirement"
                  },
                  {
                    "$ref": "#/components/schemas/ClientContact"
                  },
                  {
                    "$ref": "#/components/schemas/ClientCorporation"
                  },
                  {
                    "$ref": "#/components/schemas/ClientCorporationAppointment"
                  },
                  {
                    "$ref": "#/components/schemas/ClientCorporationNote"
                  },
                  {
                    "$ref": "#/components/schemas/ClientCorporationTask"
                  },
                  {
                    "$ref": "#/components/schemas/CorporateUser"
                  },
                  {
                    "$ref": "#/components/schemas/CorporationDepartment"
                  },
                  {
                    "$ref": "#/components/schemas/Country"
                  },
                  {
                    "$ref": "#/components/schemas/CustomAction"
                  },
                  {
                    "$ref": "#/components/schemas/Deduction"
                  },
                  {
                    "$ref": "#/components/schemas/DeductionCategoryLookup"
                  },
                  {
                    "$ref": "#/components/schemas/Department"
                  },
                  {
                    "$ref": "#/components/schemas/EmployerContribution"
                  },
                  {
                    "$ref": "#/components/schemas/EstaffMappableFlowback"
                  },
                  {
                    "$ref": "#/components/schemas/ExpenseSheet"
                  },
                  {
                    "$ref": "#/components/schemas/ExpenseSheetEntry"
                  },
                  {
                    "$ref": "#/components/schemas/FederalTaxForm"
                  },
                  {
                    "$ref": "#/components/schemas/Issue"
                  },
                  {
                    "$ref": "#/components/schemas/IssueItems"
                  },
                  {
                    "$ref": "#/components/schemas/JobBoardPost"
                  },
                  {
                    "$ref": "#/components/schemas/JobOrder"
                  },
                  {
                    "$ref": "#/components/schemas/JobOrderScreenerQuestion"
                  },
                  {
                    "$ref": "#/components/schemas/JobShift"
                  },
                  {
                    "$ref": "#/components/schemas/JobShiftAssignment"
                  },
                  {
                    "$ref": "#/components/schemas/JobShiftSubmission"
                  },
                  {
                    "$ref": "#/components/schemas/JobSubmission"
                  },
                  {
                    "$ref": "#/components/schemas/JobSubmissionCertificationRequirement"
                  },
                  {
                    "$ref": "#/components/schemas/JobSubmissionHistory"
                  },
                  {
                    "$ref": "#/components/schemas/Lead"
                  },
                  {
                    "$ref": "#/components/schemas/LeadHistory"
                  },
                  {
                    "$ref": "#/components/schemas/LocalTaxForm"
                  },
                  {
                    "$ref": "#/components/schemas/Location"
                  },
                  {
                    "$ref": "#/components/schemas/LocationVersion"
                  },
                  {
                    "$ref": "#/components/schemas/Note"
                  },
                  {
                    "$ref": "#/components/schemas/NoteEntity"
                  },
                  {
                    "$ref": "#/components/schemas/Opportunity"
                  },
                  {
                    "$ref": "#/components/schemas/OpportunityHistory"
                  },
                  {
                    "$ref": "#/components/schemas/Placement"
                  },
                  {
                    "$ref": "#/components/schemas/PlacementCertification"
                  },
                  {
                    "$ref": "#/components/schemas/PlacementChangeRequest"
                  },
                  {
                    "$ref": "#/components/schemas/PlacementCommission"
                  },
                  {
                    "$ref": "#/components/schemas/PlacementShiftSet"
                  },
                  {
                    "$ref": "#/components/schemas/PlacementTimeAndExpense"
                  },
                  {
                    "$ref": "#/components/schemas/PlacementTimeAndExpenseChangeRequest"
                  },
                  {
                    "$ref": "#/components/schemas/ScreenerQuestion"
                  },
                  {
                    "$ref": "#/components/schemas/Sendout"
                  },
                  {
                    "$ref": "#/components/schemas/Shift"
                  },
                  {
                    "$ref": "#/components/schemas/ShiftPosition"
                  },
                  {
                    "$ref": "#/components/schemas/ShiftType"
                  },
                  {
                    "$ref": "#/components/schemas/Skill"
                  },
                  {
                    "$ref": "#/components/schemas/Specialty"
                  },
                  {
                    "$ref": "#/components/schemas/State"
                  },
                  {
                    "$ref": "#/components/schemas/StateTaxForm"
                  },
                  {
                    "$ref": "#/components/schemas/Task"
                  },
                  {
                    "$ref": "#/components/schemas/Tearsheet"
                  },
                  {
                    "$ref": "#/components/schemas/TearsheetMember"
                  },
                  {
                    "$ref": "#/components/schemas/TearsheetRecipient"
                  },
                  {
                    "$ref": "#/components/schemas/TimeLaborEvalRule"
                  },
                  {
                    "$ref": "#/components/schemas/TimeLaborEvalRuleTemplate"
                  },
                  {
                    "$ref": "#/components/schemas/TimeUnit"
                  },
                  {
                    "$ref": "#/components/schemas/Timesheet"
                  },
                  {
                    "$ref": "#/components/schemas/TimesheetEntry"
                  },
                  {
                    "$ref": "#/components/schemas/WorkersCompensation"
                  },
                  {
                    "$ref": "#/components/schemas/WorkersCompensationRate"
                  },
                  {
                    "$ref": "#/components/schemas/{Entity}EditHistory"
                  },
                  {
                    "$ref": "#/components/schemas/{Entity}EditHistoryFieldChange"
                  },
                  {
                    "$ref": "#/components/schemas/{Entity}FileAttachment"
                  }
                ]
              }
            }
          }
        },
        "security": [
          {
            "BhRestTokenHeader": []
          },
          {
            "BhRestTokenQuery": []
          }
        ],
        "responses": {
          "200": {
            "description": "Entity updated.",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/ActivityGoal"
                    },
                    {
                      "$ref": "#/components/schemas/ActivityGoalConfiguration"
                    },
                    {
                      "$ref": "#/components/schemas/ActivityGoalTarget"
                    },
                    {
                      "$ref": "#/components/schemas/Appointment"
                    },
                    {
                      "$ref": "#/components/schemas/AppointmentAttendee"
                    },
                    {
                      "$ref": "#/components/schemas/BusinessSector"
                    },
                    {
                      "$ref": "#/components/schemas/Candidate"
                    },
                    {
                      "$ref": "#/components/schemas/CandidateAvailability"
                    },
                    {
                      "$ref": "#/components/schemas/CandidateCertification"
                    },
                    {
                      "$ref": "#/components/schemas/CandidateCertificationRequirement"
                    },
                    {
                      "$ref": "#/components/schemas/CandidateEducation"
                    },
                    {
                      "$ref": "#/components/schemas/CandidateReference"
                    },
                    {
                      "$ref": "#/components/schemas/CandidateReferenceQuestion"
                    },
                    {
                      "$ref": "#/components/schemas/CandidateReferenceResponse"
                    },
                    {
                      "$ref": "#/components/schemas/CandidateShiftPreference"
                    },
                    {
                      "$ref": "#/components/schemas/CandidateTaxInfo"
                    },
                    {
                      "$ref": "#/components/schemas/CandidateWorkHistory"
                    },
                    {
                      "$ref": "#/components/schemas/Category"
                    },
                    {
                      "$ref": "#/components/schemas/Certification"
                    },
                    {
                      "$ref": "#/components/schemas/CertificationFileAttachment"
                    },
                    {
                      "$ref": "#/components/schemas/CertificationGroup"
                    },
                    {
                      "$ref": "#/components/schemas/CertificationRequirement"
                    },
                    {
                      "$ref": "#/components/schemas/ClientContact"
                    },
                    {
                      "$ref": "#/components/schemas/ClientCorporation"
                    },
                    {
                      "$ref": "#/components/schemas/ClientCorporationAppointment"
                    },
                    {
                      "$ref": "#/components/schemas/ClientCorporationNote"
                    },
                    {
                      "$ref": "#/components/schemas/ClientCorporationTask"
                    },
                    {
                      "$ref": "#/components/schemas/CorporateUser"
                    },
                    {
                      "$ref": "#/components/schemas/CorporationDepartment"
                    },
                    {
                      "$ref": "#/components/schemas/Country"
                    },
                    {
                      "$ref": "#/components/schemas/CustomAction"
                    },
                    {
                      "$ref": "#/components/schemas/Deduction"
                    },
                    {
                      "$ref": "#/components/schemas/DeductionCategoryLookup"
                    },
                    {
                      "$ref": "#/components/schemas/Department"
                    },
                    {
                      "$ref": "#/components/schemas/EmployerContribution"
                    },
                    {
                      "$ref": "#/components/schemas/EstaffMappableFlowback"
                    },
                    {
                      "$ref": "#/components/schemas/ExpenseSheet"
                    },
                    {
                      "$ref": "#/components/schemas/ExpenseSheetEntry"
                    },
                    {
                      "$ref": "#/components/schemas/FederalTaxForm"
                    },
                    {
                      "$ref": "#/components/schemas/Issue"
                    },
                    {
                      "$ref": "#/components/schemas/IssueItems"
                    },
                    {
                      "$ref": "#/components/schemas/JobBoardPost"
                    },
                    {
                      "$ref": "#/components/schemas/JobOrder"
                    },
                    {
                      "$ref": "#/components/schemas/JobOrderScreenerQuestion"
                    },
                    {
                      "$ref": "#/components/schemas/JobShift"
                    },
                    {
                      "$ref": "#/components/schemas/JobShiftAssignment"
                    },
                    {
                      "$ref": "#/components/schemas/JobShiftSubmission"
                    },
                    {
                      "$ref": "#/components/schemas/JobSubmission"
                    },
                    {
                      "$ref": "#/components/schemas/JobSubmissionCertificationRequirement"
                    },
                    {
                      "$ref": "#/components/schemas/JobSubmissionHistory"
                    },
                    {
                      "$ref": "#/components/schemas/Lead"
                    },
                    {
                      "$ref": "#/components/schemas/LeadHistory"
                    },
                    {
                      "$ref": "#/components/schemas/LocalTaxForm"
                    },
                    {
                      "$ref": "#/components/schemas/Location"
                    },
                    {
                      "$ref": "#/components/schemas/LocationVersion"
                    },
                    {
                      "$ref": "#/components/schemas/Note"
                    },
                    {
                      "$ref": "#/components/schemas/NoteEntity"
                    },
                    {
                      "$ref": "#/components/schemas/Opportunity"
                    },
                    {
                      "$ref": "#/components/schemas/OpportunityHistory"
                    },
                    {
                      "$ref": "#/components/schemas/Placement"
                    },
                    {
                      "$ref": "#/components/schemas/PlacementCertification"
                    },
                    {
                      "$ref": "#/components/schemas/PlacementChangeRequest"
                    },
                    {
                      "$ref": "#/components/schemas/PlacementCommission"
                    },
                    {
                      "$ref": "#/components/schemas/PlacementShiftSet"
                    },
                    {
                      "$ref": "#/components/schemas/PlacementTimeAndExpense"
                    },
                    {
                      "$ref": "#/components/schemas/PlacementTimeAndExpenseChangeRequest"
                    },
                    {
                      "$ref": "#/components/schemas/ScreenerQuestion"
                    },
                    {
                      "$ref": "#/components/schemas/Sendout"
                    },
                    {
                      "$ref": "#/components/schemas/Shift"
                    },
                    {
                      "$ref": "#/components/schemas/ShiftPosition"
                    },
                    {
                      "$ref": "#/components/schemas/ShiftType"
                    },
                    {
                      "$ref": "#/components/schemas/Skill"
                    },
                    {
                      "$ref": "#/components/schemas/Specialty"
                    },
                    {
                      "$ref": "#/components/schemas/State"
                    },
                    {
                      "$ref": "#/components/schemas/StateTaxForm"
                    },
                    {
                      "$ref": "#/components/schemas/Task"
                    },
                    {
                      "$ref": "#/components/schemas/Tearsheet"
                    },
                    {
                      "$ref": "#/components/schemas/TearsheetMember"
                    },
                    {
                      "$ref": "#/components/schemas/TearsheetRecipient"
                    },
                    {
                      "$ref": "#/components/schemas/TimeLaborEvalRule"
                    },
                    {
                      "$ref": "#/components/schemas/TimeLaborEvalRuleTemplate"
                    },
                    {
                      "$ref": "#/components/schemas/TimeUnit"
                    },
                    {
                      "$ref": "#/components/schemas/Timesheet"
                    },
                    {
                      "$ref": "#/components/schemas/TimesheetEntry"
                    },
                    {
                      "$ref": "#/components/schemas/WorkersCompensation"
                    },
                    {
                      "$ref": "#/components/schemas/WorkersCompensationRate"
                    },
                    {
                      "$ref": "#/components/schemas/{Entity}EditHistory"
                    },
                    {
                      "$ref": "#/components/schemas/{Entity}EditHistoryFieldChange"
                    },
                    {
                      "$ref": "#/components/schemas/{Entity}FileAttachment"
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "deleteEntity",
        "summary": "Delete entity",
        "description": "Soft deletes an entity where supported by Bullhorn.",
        "parameters": [
          {
            "$ref": "#/components/parameters/CorpToken"
          },
          {
            "$ref": "#/components/parameters/EntityType"
          },
          {
            "$ref": "#/components/parameters/EntityId"
          },
          {
            "$ref": "#/components/parameters/BhRestTokenQuery"
          }
        ],
        "security": [
          {
            "BhRestTokenHeader": []
          },
          {
            "BhRestTokenQuery": []
          }
        ],
        "responses": {
          "200": {
            "description": "Delete acknowledged.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteResponse"
                }
              }
            }
          }
        }
      }
    },
    "/{corpToken}/search/{entityType}": {
      "get": {
        "operationId": "searchEntities",
        "summary": "Search entities (Lucene)",
        "description": "Performs Lucene-style searches returning entity ids and requested fields. Supports facets and to-many field filters via field syntax. Use count/start for paging.",
        "parameters": [
          {
            "$ref": "#/components/parameters/CorpToken"
          },
          {
            "$ref": "#/components/parameters/EntityType"
          },
          {
            "$ref": "#/components/parameters/QueryParam"
          },
          {
            "$ref": "#/components/parameters/Fields"
          },
          {
            "$ref": "#/components/parameters/Start"
          },
          {
            "$ref": "#/components/parameters/Count"
          },
          {
            "$ref": "#/components/parameters/Sort"
          },
          {
            "$ref": "#/components/parameters/Meta"
          },
          {
            "$ref": "#/components/parameters/BhRestTokenQuery"
          }
        ],
        "security": [
          {
            "BhRestTokenHeader": []
          },
          {
            "BhRestTokenQuery": []
          }
        ],
        "responses": {
          "200": {
            "description": "Search results.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "total": {
                      "type": "integer"
                    },
                    "start": {
                      "type": "integer"
                    },
                    "count": {
                      "type": "integer"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "oneOf": [
                          {
                            "$ref": "#/components/schemas/ActivityGoal"
                          },
                          {
                            "$ref": "#/components/schemas/ActivityGoalConfiguration"
                          },
                          {
                            "$ref": "#/components/schemas/ActivityGoalTarget"
                          },
                          {
                            "$ref": "#/components/schemas/Appointment"
                          },
                          {
                            "$ref": "#/components/schemas/AppointmentAttendee"
                          },
                          {
                            "$ref": "#/components/schemas/BusinessSector"
                          },
                          {
                            "$ref": "#/components/schemas/Candidate"
                          },
                          {
                            "$ref": "#/components/schemas/CandidateAvailability"
                          },
                          {
                            "$ref": "#/components/schemas/CandidateCertification"
                          },
                          {
                            "$ref": "#/components/schemas/CandidateCertificationRequirement"
                          },
                          {
                            "$ref": "#/components/schemas/CandidateEducation"
                          },
                          {
                            "$ref": "#/components/schemas/CandidateReference"
                          },
                          {
                            "$ref": "#/components/schemas/CandidateReferenceQuestion"
                          },
                          {
                            "$ref": "#/components/schemas/CandidateReferenceResponse"
                          },
                          {
                            "$ref": "#/components/schemas/CandidateShiftPreference"
                          },
                          {
                            "$ref": "#/components/schemas/CandidateTaxInfo"
                          },
                          {
                            "$ref": "#/components/schemas/CandidateWorkHistory"
                          },
                          {
                            "$ref": "#/components/schemas/Category"
                          },
                          {
                            "$ref": "#/components/schemas/Certification"
                          },
                          {
                            "$ref": "#/components/schemas/CertificationFileAttachment"
                          },
                          {
                            "$ref": "#/components/schemas/CertificationGroup"
                          },
                          {
                            "$ref": "#/components/schemas/CertificationRequirement"
                          },
                          {
                            "$ref": "#/components/schemas/ClientContact"
                          },
                          {
                            "$ref": "#/components/schemas/ClientCorporation"
                          },
                          {
                            "$ref": "#/components/schemas/ClientCorporationAppointment"
                          },
                          {
                            "$ref": "#/components/schemas/ClientCorporationNote"
                          },
                          {
                            "$ref": "#/components/schemas/ClientCorporationTask"
                          },
                          {
                            "$ref": "#/components/schemas/CorporateUser"
                          },
                          {
                            "$ref": "#/components/schemas/CorporationDepartment"
                          },
                          {
                            "$ref": "#/components/schemas/Country"
                          },
                          {
                            "$ref": "#/components/schemas/CustomAction"
                          },
                          {
                            "$ref": "#/components/schemas/Deduction"
                          },
                          {
                            "$ref": "#/components/schemas/DeductionCategoryLookup"
                          },
                          {
                            "$ref": "#/components/schemas/Department"
                          },
                          {
                            "$ref": "#/components/schemas/EmployerContribution"
                          },
                          {
                            "$ref": "#/components/schemas/EstaffMappableFlowback"
                          },
                          {
                            "$ref": "#/components/schemas/ExpenseSheet"
                          },
                          {
                            "$ref": "#/components/schemas/ExpenseSheetEntry"
                          },
                          {
                            "$ref": "#/components/schemas/FederalTaxForm"
                          },
                          {
                            "$ref": "#/components/schemas/Issue"
                          },
                          {
                            "$ref": "#/components/schemas/IssueItems"
                          },
                          {
                            "$ref": "#/components/schemas/JobBoardPost"
                          },
                          {
                            "$ref": "#/components/schemas/JobOrder"
                          },
                          {
                            "$ref": "#/components/schemas/JobOrderScreenerQuestion"
                          },
                          {
                            "$ref": "#/components/schemas/JobShift"
                          },
                          {
                            "$ref": "#/components/schemas/JobShiftAssignment"
                          },
                          {
                            "$ref": "#/components/schemas/JobShiftSubmission"
                          },
                          {
                            "$ref": "#/components/schemas/JobSubmission"
                          },
                          {
                            "$ref": "#/components/schemas/JobSubmissionCertificationRequirement"
                          },
                          {
                            "$ref": "#/components/schemas/JobSubmissionHistory"
                          },
                          {
                            "$ref": "#/components/schemas/Lead"
                          },
                          {
                            "$ref": "#/components/schemas/LeadHistory"
                          },
                          {
                            "$ref": "#/components/schemas/LocalTaxForm"
                          },
                          {
                            "$ref": "#/components/schemas/Location"
                          },
                          {
                            "$ref": "#/components/schemas/LocationVersion"
                          },
                          {
                            "$ref": "#/components/schemas/Note"
                          },
                          {
                            "$ref": "#/components/schemas/NoteEntity"
                          },
                          {
                            "$ref": "#/components/schemas/Opportunity"
                          },
                          {
                            "$ref": "#/components/schemas/OpportunityHistory"
                          },
                          {
                            "$ref": "#/components/schemas/Placement"
                          },
                          {
                            "$ref": "#/components/schemas/PlacementCertification"
                          },
                          {
                            "$ref": "#/components/schemas/PlacementChangeRequest"
                          },
                          {
                            "$ref": "#/components/schemas/PlacementCommission"
                          },
                          {
                            "$ref": "#/components/schemas/PlacementShiftSet"
                          },
                          {
                            "$ref": "#/components/schemas/PlacementTimeAndExpense"
                          },
                          {
                            "$ref": "#/components/schemas/PlacementTimeAndExpenseChangeRequest"
                          },
                          {
                            "$ref": "#/components/schemas/ScreenerQuestion"
                          },
                          {
                            "$ref": "#/components/schemas/Sendout"
                          },
                          {
                            "$ref": "#/components/schemas/Shift"
                          },
                          {
                            "$ref": "#/components/schemas/ShiftPosition"
                          },
                          {
                            "$ref": "#/components/schemas/ShiftType"
                          },
                          {
                            "$ref": "#/components/schemas/Skill"
                          },
                          {
                            "$ref": "#/components/schemas/Specialty"
                          },
                          {
                            "$ref": "#/components/schemas/State"
                          },
                          {
                            "$ref": "#/components/schemas/StateTaxForm"
                          },
                          {
                            "$ref": "#/components/schemas/Task"
                          },
                          {
                            "$ref": "#/components/schemas/Tearsheet"
                          },
                          {
                            "$ref": "#/components/schemas/TearsheetMember"
                          },
                          {
                            "$ref": "#/components/schemas/TearsheetRecipient"
                          },
                          {
                            "$ref": "#/components/schemas/TimeLaborEvalRule"
                          },
                          {
                            "$ref": "#/components/schemas/TimeLaborEvalRuleTemplate"
                          },
                          {
                            "$ref": "#/components/schemas/TimeUnit"
                          },
                          {
                            "$ref": "#/components/schemas/Timesheet"
                          },
                          {
                            "$ref": "#/components/schemas/TimesheetEntry"
                          },
                          {
                            "$ref": "#/components/schemas/WorkersCompensation"
                          },
                          {
                            "$ref": "#/components/schemas/WorkersCompensationRate"
                          },
                          {
                            "$ref": "#/components/schemas/{Entity}EditHistory"
                          },
                          {
                            "$ref": "#/components/schemas/{Entity}EditHistoryFieldChange"
                          },
                          {
                            "$ref": "#/components/schemas/{Entity}FileAttachment"
                          }
                        ]
                      }
                    },
                    "meta": {
                      "$ref": "#/components/schemas/MetaResponse"
                    }
                  },
                  "required": [
                    "total",
                    "start",
                    "count",
                    "data"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/{corpToken}/query/{entityType}": {
      "get": {
        "operationId": "queryOrFindEntities",
        "summary": "Query entities (JPQL)",
        "description": "Performs JPQL-style queries with where/orderBy clauses. Supports projections via fields and paging via start/count.",
        "parameters": [
          {
            "$ref": "#/components/parameters/CorpToken"
          },
          {
            "$ref": "#/components/parameters/EntityType"
          },
          {
            "$ref": "#/components/parameters/Where"
          },
          {
            "$ref": "#/components/parameters/Fields"
          },
          {
            "$ref": "#/components/parameters/Start"
          },
          {
            "$ref": "#/components/parameters/Count"
          },
          {
            "$ref": "#/components/parameters/OrderBy"
          },
          {
            "$ref": "#/components/parameters/Meta"
          },
          {
            "$ref": "#/components/parameters/BhRestTokenQuery"
          }
        ],
        "security": [
          {
            "BhRestTokenHeader": []
          },
          {
            "BhRestTokenQuery": []
          }
        ],
        "responses": {
          "200": {
            "description": "Query results.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "total": {
                      "type": "integer"
                    },
                    "start": {
                      "type": "integer"
                    },
                    "count": {
                      "type": "integer"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "oneOf": [
                          {
                            "$ref": "#/components/schemas/ActivityGoal"
                          },
                          {
                            "$ref": "#/components/schemas/ActivityGoalConfiguration"
                          },
                          {
                            "$ref": "#/components/schemas/ActivityGoalTarget"
                          },
                          {
                            "$ref": "#/components/schemas/Appointment"
                          },
                          {
                            "$ref": "#/components/schemas/AppointmentAttendee"
                          },
                          {
                            "$ref": "#/components/schemas/BusinessSector"
                          },
                          {
                            "$ref": "#/components/schemas/Candidate"
                          },
                          {
                            "$ref": "#/components/schemas/CandidateAvailability"
                          },
                          {
                            "$ref": "#/components/schemas/CandidateCertification"
                          },
                          {
                            "$ref": "#/components/schemas/CandidateCertificationRequirement"
                          },
                          {
                            "$ref": "#/components/schemas/CandidateEducation"
                          },
                          {
                            "$ref": "#/components/schemas/CandidateReference"
                          },
                          {
                            "$ref": "#/components/schemas/CandidateReferenceQuestion"
                          },
                          {
                            "$ref": "#/components/schemas/CandidateReferenceResponse"
                          },
                          {
                            "$ref": "#/components/schemas/CandidateShiftPreference"
                          },
                          {
                            "$ref": "#/components/schemas/CandidateTaxInfo"
                          },
                          {
                            "$ref": "#/components/schemas/CandidateWorkHistory"
                          },
                          {
                            "$ref": "#/components/schemas/Category"
                          },
                          {
                            "$ref": "#/components/schemas/Certification"
                          },
                          {
                            "$ref": "#/components/schemas/CertificationFileAttachment"
                          },
                          {
                            "$ref": "#/components/schemas/CertificationGroup"
                          },
                          {
                            "$ref": "#/components/schemas/CertificationRequirement"
                          },
                          {
                            "$ref": "#/components/schemas/ClientContact"
                          },
                          {
                            "$ref": "#/components/schemas/ClientCorporation"
                          },
                          {
                            "$ref": "#/components/schemas/ClientCorporationAppointment"
                          },
                          {
                            "$ref": "#/components/schemas/ClientCorporationNote"
                          },
                          {
                            "$ref": "#/components/schemas/ClientCorporationTask"
                          },
                          {
                            "$ref": "#/components/schemas/CorporateUser"
                          },
                          {
                            "$ref": "#/components/schemas/CorporationDepartment"
                          },
                          {
                            "$ref": "#/components/schemas/Country"
                          },
                          {
                            "$ref": "#/components/schemas/CustomAction"
                          },
                          {
                            "$ref": "#/components/schemas/Deduction"
                          },
                          {
                            "$ref": "#/components/schemas/DeductionCategoryLookup"
                          },
                          {
                            "$ref": "#/components/schemas/Department"
                          },
                          {
                            "$ref": "#/components/schemas/EmployerContribution"
                          },
                          {
                            "$ref": "#/components/schemas/EstaffMappableFlowback"
                          },
                          {
                            "$ref": "#/components/schemas/ExpenseSheet"
                          },
                          {
                            "$ref": "#/components/schemas/ExpenseSheetEntry"
                          },
                          {
                            "$ref": "#/components/schemas/FederalTaxForm"
                          },
                          {
                            "$ref": "#/components/schemas/Issue"
                          },
                          {
                            "$ref": "#/components/schemas/IssueItems"
                          },
                          {
                            "$ref": "#/components/schemas/JobBoardPost"
                          },
                          {
                            "$ref": "#/components/schemas/JobOrder"
                          },
                          {
                            "$ref": "#/components/schemas/JobOrderScreenerQuestion"
                          },
                          {
                            "$ref": "#/components/schemas/JobShift"
                          },
                          {
                            "$ref": "#/components/schemas/JobShiftAssignment"
                          },
                          {
                            "$ref": "#/components/schemas/JobShiftSubmission"
                          },
                          {
                            "$ref": "#/components/schemas/JobSubmission"
                          },
                          {
                            "$ref": "#/components/schemas/JobSubmissionCertificationRequirement"
                          },
                          {
                            "$ref": "#/components/schemas/JobSubmissionHistory"
                          },
                          {
                            "$ref": "#/components/schemas/Lead"
                          },
                          {
                            "$ref": "#/components/schemas/LeadHistory"
                          },
                          {
                            "$ref": "#/components/schemas/LocalTaxForm"
                          },
                          {
                            "$ref": "#/components/schemas/Location"
                          },
                          {
                            "$ref": "#/components/schemas/LocationVersion"
                          },
                          {
                            "$ref": "#/components/schemas/Note"
                          },
                          {
                            "$ref": "#/components/schemas/NoteEntity"
                          },
                          {
                            "$ref": "#/components/schemas/Opportunity"
                          },
                          {
                            "$ref": "#/components/schemas/OpportunityHistory"
                          },
                          {
                            "$ref": "#/components/schemas/Placement"
                          },
                          {
                            "$ref": "#/components/schemas/PlacementCertification"
                          },
                          {
                            "$ref": "#/components/schemas/PlacementChangeRequest"
                          },
                          {
                            "$ref": "#/components/schemas/PlacementCommission"
                          },
                          {
                            "$ref": "#/components/schemas/PlacementShiftSet"
                          },
                          {
                            "$ref": "#/components/schemas/PlacementTimeAndExpense"
                          },
                          {
                            "$ref": "#/components/schemas/PlacementTimeAndExpenseChangeRequest"
                          },
                          {
                            "$ref": "#/components/schemas/ScreenerQuestion"
                          },
                          {
                            "$ref": "#/components/schemas/Sendout"
                          },
                          {
                            "$ref": "#/components/schemas/Shift"
                          },
                          {
                            "$ref": "#/components/schemas/ShiftPosition"
                          },
                          {
                            "$ref": "#/components/schemas/ShiftType"
                          },
                          {
                            "$ref": "#/components/schemas/Skill"
                          },
                          {
                            "$ref": "#/components/schemas/Specialty"
                          },
                          {
                            "$ref": "#/components/schemas/State"
                          },
                          {
                            "$ref": "#/components/schemas/StateTaxForm"
                          },
                          {
                            "$ref": "#/components/schemas/Task"
                          },
                          {
                            "$ref": "#/components/schemas/Tearsheet"
                          },
                          {
                            "$ref": "#/components/schemas/TearsheetMember"
                          },
                          {
                            "$ref": "#/components/schemas/TearsheetRecipient"
                          },
                          {
                            "$ref": "#/components/schemas/TimeLaborEvalRule"
                          },
                          {
                            "$ref": "#/components/schemas/TimeLaborEvalRuleTemplate"
                          },
                          {
                            "$ref": "#/components/schemas/TimeUnit"
                          },
                          {
                            "$ref": "#/components/schemas/Timesheet"
                          },
                          {
                            "$ref": "#/components/schemas/TimesheetEntry"
                          },
                          {
                            "$ref": "#/components/schemas/WorkersCompensation"
                          },
                          {
                            "$ref": "#/components/schemas/WorkersCompensationRate"
                          },
                          {
                            "$ref": "#/components/schemas/{Entity}EditHistory"
                          },
                          {
                            "$ref": "#/components/schemas/{Entity}EditHistoryFieldChange"
                          },
                          {
                            "$ref": "#/components/schemas/{Entity}FileAttachment"
                          }
                        ]
                      }
                    },
                    "meta": {
                      "$ref": "#/components/schemas/MetaResponse"
                    }
                  },
                  "required": [
                    "total",
                    "start",
                    "count",
                    "data"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/{corpToken}/meta/{entityType}": {
      "get": {
        "operationId": "getEntityMetadata",
        "summary": "Retrieve entity metadata",
        "description": "Returns schema metadata for the specified entity (field names, types, required, data types, lengths, and picklist options). Use meta=full to include all field details.",
        "parameters": [
          {
            "$ref": "#/components/parameters/CorpToken"
          },
          {
            "$ref": "#/components/parameters/EntityType"
          },
          {
            "$ref": "#/components/parameters/Fields"
          },
          {
            "$ref": "#/components/parameters/Meta"
          },
          {
            "$ref": "#/components/parameters/BhRestTokenQuery"
          }
        ],
        "security": [
          {
            "BhRestTokenHeader": []
          },
          {
            "BhRestTokenQuery": []
          }
        ],
        "responses": {
          "200": {
            "description": "Entity metadata response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MetaResponse"
                }
              }
            }
          }
        }
      }
    },
    "/{corpToken}/file/{entityType}/{id}/{fileType}": {
      "get": {
        "operationId": "downloadFileAttachment",
        "summary": "Download file attachment",
        "description": "Downloads a file of the specified type associated with an entity.",
        "parameters": [
          {
            "$ref": "#/components/parameters/CorpToken"
          },
          {
            "$ref": "#/components/parameters/EntityType"
          },
          {
            "$ref": "#/components/parameters/EntityId"
          },
          {
            "$ref": "#/components/parameters/FileType"
          },
          {
            "$ref": "#/components/parameters/BhRestTokenQuery"
          }
        ],
        "security": [
          {
            "BhRestTokenHeader": []
          },
          {
            "BhRestTokenQuery": []
          }
        ],
        "responses": {
          "200": {
            "description": "File content.",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          }
        }
      }
    },
    "/{corpToken}/options/{entityType}/{fieldName}": {
      "get": {
        "operationId": "getPicklistOptions",
        "summary": "List picklist options for a field",
        "description": "Returns picklist/options metadata for a given field of an entity.",
        "parameters": [
          {
            "$ref": "#/components/parameters/CorpToken"
          },
          {
            "$ref": "#/components/parameters/EntityType"
          },
          {
            "$ref": "#/components/parameters/FieldName"
          },
          {
            "$ref": "#/components/parameters/BhRestTokenQuery"
          }
        ],
        "security": [
          {
            "BhRestTokenHeader": []
          },
          {
            "BhRestTokenQuery": []
          }
        ],
        "responses": {
          "200": {
            "description": "Options returned.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OptionResponse"
                }
              }
            }
          }
        }
      }
    },
    "/{corpToken}/settings/{settingName}": {
      "get": {
        "operationId": "getSetting",
        "summary": "Retrieve a setting",
        "description": "Fetches a setting value by name for the corporation.",
        "parameters": [
          {
            "$ref": "#/components/parameters/CorpToken"
          },
          {
            "$ref": "#/components/parameters/SettingName"
          },
          {
            "$ref": "#/components/parameters/BhRestTokenQuery"
          }
        ],
        "security": [
          {
            "BhRestTokenHeader": []
          },
          {
            "BhRestTokenQuery": []
          }
        ],
        "responses": {
          "200": {
            "description": "Setting returned.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SettingResponse"
                }
              }
            }
          }
        }
      }
    },
    "/{corpToken}/events": {
      "get": {
        "operationId": "getOrPollForEvents",
        "summary": "Retrieve events for a subscription",
        "description": "Fetches events from the event subscription system using a subscriptionId and optional sequence cursor.",
        "parameters": [
          {
            "$ref": "#/components/parameters/CorpToken"
          },
          {
            "$ref": "#/components/parameters/SubscriptionId"
          },
          {
            "name": "maxEvents",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Max events to return (Bullhorn defaults apply)."
          },
          {
            "name": "startSequence",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Start sequence for incremental consumption."
          },
          {
            "$ref": "#/components/parameters/BhRestTokenQuery"
          }
        ],
        "security": [
          {
            "BhRestTokenHeader": []
          },
          {
            "BhRestTokenQuery": []
          }
        ],
        "responses": {
          "200": {
            "description": "Event stream returned.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EventMessage"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/{corpToken}/userHeadshotFile/{entityType}/{id}": {
      "post": {
        "operationId": "attachHeadshotFileBase64",
        "summary": "Attach headshot file (base64)",
        "description": "Attaches a headshot file using base64 JSON payload. Supports Candidate, ClientContact, ClientCorporation, JobOrder, Opportunity, and Placement entities.",
        "parameters": [
          {
            "$ref": "#/components/parameters/CorpToken"
          },
          {
            "$ref": "#/components/parameters/EntityType"
          },
          {
            "$ref": "#/components/parameters/EntityId"
          },
          {
            "$ref": "#/components/parameters/BhRestTokenQuery"
          }
        ],
        "security": [
          {
            "BhRestTokenHeader": []
          },
          {
            "BhRestTokenQuery": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/HeadshotRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "File attached.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HeadshotResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "operationId": "attachHeadshotFileBase64",
        "summary": "Attach headshot file (base64)",
        "description": "Same as POST; supported for compatibility.",
        "parameters": [
          {
            "$ref": "#/components/parameters/CorpToken"
          },
          {
            "$ref": "#/components/parameters/EntityType"
          },
          {
            "$ref": "#/components/parameters/EntityId"
          },
          {
            "$ref": "#/components/parameters/BhRestTokenQuery"
          }
        ],
        "security": [
          {
            "BhRestTokenHeader": []
          },
          {
            "BhRestTokenQuery": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/HeadshotRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "File attached.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HeadshotResponse"
                }
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "deleteHeadshotFile",
        "summary": "Delete headshot file",
        "description": "Soft-deletes a headshot file for the specified entity.",
        "parameters": [
          {
            "$ref": "#/components/parameters/CorpToken"
          },
          {
            "$ref": "#/components/parameters/EntityType"
          },
          {
            "$ref": "#/components/parameters/EntityId"
          },
          {
            "$ref": "#/components/parameters/BhRestTokenQuery"
          }
        ],
        "security": [
          {
            "BhRestTokenHeader": []
          },
          {
            "BhRestTokenQuery": []
          }
        ],
        "responses": {
          "200": {
            "description": "File deleted.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HeadshotResponse"
                }
              }
            }
          }
        }
      }
    },
    "/{corpToken}/userHeadshotFile/{entityType}/{id}/raw": {
      "post": {
        "operationId": "attachHeadshotFileMultipart",
        "summary": "Attach headshot file (multipart)",
        "description": "Attaches a headshot file using multipart/form-data. Supports the same entities as the base64 endpoint.",
        "parameters": [
          {
            "$ref": "#/components/parameters/CorpToken"
          },
          {
            "$ref": "#/components/parameters/EntityType"
          },
          {
            "$ref": "#/components/parameters/EntityId"
          },
          {
            "$ref": "#/components/parameters/BhRestTokenQuery"
          }
        ],
        "security": [
          {
            "BhRestTokenHeader": []
          },
          {
            "BhRestTokenQuery": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary"
                  },
                  "externalID": {
                    "type": "string"
                  },
                  "fileType": {
                    "type": "string",
                    "example": "SAMPLE"
                  },
                  "name": {
                    "type": "string"
                  },
                  "contentType": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string"
                  },
                  "type": {
                    "type": "string"
                  }
                },
                "required": [
                  "file",
                  "externalID",
                  "fileType",
                  "name"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "File attached.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HeadshotResponse"
                }
              }
            }
          }
        }
      }
    }
  }
}