{
  "x-generator": "NSwag v14.7.1.0 (NJsonSchema v11.6.1.0 (Newtonsoft.Json v13.0.0.0))",
  "openapi": "3.0.0",
  "info": {
    "title": "Infinity API",
    "version": "v1"
  },
  "servers": [
    {
      "url": "https://live.vslcloud.com"
    }
  ],
  "paths": {
    "/Reference/MaxUploadSize": {
      "get": {
        "tags": [
          "Reference"
        ],
        "summary": "Gets the max upload size configured in Infinity (In KB)",
        "operationId": "getReferenceMaxUploadSize",
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          }
        }
      }
    },
    "/Reference/AutoPopulateCandidateEaaRightToWork": {
      "get": {
        "tags": [
          "Reference"
        ],
        "summary": "Gets the auto-populate EAA/Right to Work setting configured in Infinity",
        "operationId": "getReferenceAutoPopulateCandidateRtwEaaOnSave",
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "boolean"
                }
              }
            }
          }
        }
      }
    },
    "/Reference/Titles": {
      "get": {
        "tags": [
          "Reference"
        ],
        "summary": "Gets all active titles",
        "operationId": "getReferenceTitles",
        "parameters": [
          {
            "name": "includeInactive",
            "in": "query",
            "description": "Optionally include inactive items",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "x-position": 1
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "nullable": true,
                  "items": {
                    "$ref": "#/components/schemas/Title"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Reference/Genders": {
      "get": {
        "tags": [
          "Reference"
        ],
        "summary": "Gets all active genders",
        "operationId": "getReferenceGenders",
        "parameters": [
          {
            "name": "includeInactive",
            "in": "query",
            "description": "Optionally include inactive items",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "x-position": 1
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "nullable": true,
                  "items": {
                    "$ref": "#/components/schemas/Gender"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Reference/MaritalStatuses": {
      "get": {
        "tags": [
          "Reference"
        ],
        "summary": "Gets all active marital statuses",
        "operationId": "getReferenceMaritalStatuses",
        "parameters": [
          {
            "name": "includeInactive",
            "in": "query",
            "description": "Optionally include inactive items",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "x-position": 1
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "nullable": true,
                  "items": {
                    "$ref": "#/components/schemas/MaritalStatus"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Reference/Nationalities": {
      "get": {
        "tags": [
          "Reference"
        ],
        "summary": "Gets all active nationalities",
        "operationId": "getReferenceNationalities",
        "parameters": [
          {
            "name": "includeInactive",
            "in": "query",
            "description": "Optionally include inactive items",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "x-position": 1
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "nullable": true,
                  "items": {
                    "$ref": "#/components/schemas/Nationality"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Reference/EthnicOrigins": {
      "get": {
        "tags": [
          "Reference"
        ],
        "summary": "Gets all active ethnic origins",
        "operationId": "getReferenceEthnicOrigins",
        "parameters": [
          {
            "name": "includeInactive",
            "in": "query",
            "description": "Optionally include inactive items",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "x-position": 1
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "nullable": true,
                  "items": {
                    "$ref": "#/components/schemas/EthnicOrigin"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Reference/Countries": {
      "get": {
        "tags": [
          "Reference"
        ],
        "summary": "Gets all active countries",
        "description": "IsDefaultCountryForAddresses will return True for the item that is set as the default country for addresses in the Infinity Administration page",
        "operationId": "getReferenceCountries",
        "parameters": [
          {
            "name": "includeInactive",
            "in": "query",
            "description": "Optionally include inactive items",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "x-position": 1
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "nullable": true,
                  "items": {
                    "$ref": "#/components/schemas/Country"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Reference/RateIntervals": {
      "get": {
        "tags": [
          "Reference"
        ],
        "summary": "Gets all active rate intervals",
        "operationId": "getReferenceRateIntervals",
        "parameters": [
          {
            "name": "includeInactive",
            "in": "query",
            "description": "Optionally include inactive items",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "x-position": 1
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "nullable": true,
                  "items": {
                    "$ref": "#/components/schemas/RateInterval"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Reference/Currencies": {
      "get": {
        "tags": [
          "Reference"
        ],
        "summary": "Gets all active currencies",
        "operationId": "getReferenceCurrencies",
        "parameters": [
          {
            "name": "includeInactive",
            "in": "query",
            "description": "Optionally include inactive items",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "x-position": 1
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "nullable": true,
                  "items": {
                    "$ref": "#/components/schemas/Currency"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Reference/JobTitles": {
      "get": {
        "tags": [
          "Reference"
        ],
        "summary": "Gets all active job titles and their categories",
        "operationId": "getReferenceJobTitles",
        "parameters": [
          {
            "name": "includeInactive",
            "in": "query",
            "description": "Optionally include inactive items",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "x-position": 1
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "nullable": true,
                  "items": {
                    "$ref": "#/components/schemas/JobTitle"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Reference/JobTitleCategories": {
      "get": {
        "tags": [
          "Reference"
        ],
        "summary": "Gets all job title categories",
        "operationId": "getReferenceJobTitleCategories",
        "parameters": [
          {
            "name": "includeInactive",
            "in": "query",
            "description": "Optionally include inactive items",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "x-position": 1
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "nullable": true,
                  "items": {
                    "$ref": "#/components/schemas/JobTitleCategory"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Reference/Attributes": {
      "get": {
        "tags": [
          "Reference"
        ],
        "summary": "Gets all active attributes",
        "description": "Each attribute returns a ScoreType which can be used to map linked scores from the /Reference/AttributeScores method",
        "operationId": "getReferenceAttributes",
        "parameters": [
          {
            "name": "includeInactive",
            "in": "query",
            "description": "Optionally include inactive items",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "x-position": 1
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "nullable": true,
                  "items": {
                    "$ref": "#/components/schemas/Attribute"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Reference/ChildAttributes": {
      "get": {
        "tags": [
          "Reference"
        ],
        "summary": "Gets all active child attributes",
        "description": "Each attribute returns a ScoreType which can be used to map linked scores from the /Reference/AttributeScores method\n\nEach attribute returns a ParentAttribute which can be used to map linked attributes from the /Reference/Attributes method\n\nChild attributes can also optionally by filtered by a parent attribute id",
        "operationId": "getReferenceChildAttributes",
        "parameters": [
          {
            "name": "includeInactive",
            "in": "query",
            "description": "Optionally include inactive items",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "x-position": 1
          },
          {
            "name": "parentAttributeId",
            "in": "query",
            "description": "An attribute id (optional)",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            },
            "x-position": 2
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "nullable": true,
                  "items": {
                    "$ref": "#/components/schemas/AttributeChild"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Reference/AttributeScores": {
      "get": {
        "tags": [
          "Reference"
        ],
        "summary": "Gets all active attribute scores",
        "description": "Each attribute score returns a ScoreType which can be used to map linked attributes from the /Reference/Attributes method and linked child attributes from the /Reference/ChildAttributes method\n\nAttributes scores can also optionally by filtered by attribute score type id",
        "operationId": "getReferenceAttributeScores",
        "parameters": [
          {
            "name": "includeInactive",
            "in": "query",
            "description": "Optionally include inactive items",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "x-position": 1
          },
          {
            "name": "attributeScoreTypeId",
            "in": "query",
            "description": "An attribute score type id (optional)",
            "schema": {
              "type": "integer",
              "format": "byte",
              "nullable": true
            },
            "x-position": 2
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "nullable": true,
                  "items": {
                    "$ref": "#/components/schemas/AttributeScore"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Reference/QualificationsAndCertifications": {
      "get": {
        "tags": [
          "Reference"
        ],
        "summary": "Gets all active qualifications and certifications",
        "operationId": "getReferenceQualificationsAndCertifications",
        "parameters": [
          {
            "name": "includeInactive",
            "in": "query",
            "description": "Optionally include inactive items",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "x-position": 1
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "nullable": true,
                  "items": {
                    "$ref": "#/components/schemas/QualificationAndCertification"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Reference/QualificationAndCertificationTypes": {
      "get": {
        "tags": [
          "Reference"
        ],
        "summary": "Gets all active qualification and certification types",
        "description": "Each qualification and certification type returns a ParentQualificationAndCertification which can be used to map linked qualifications and certifications from the /Reference/QualificationsAndCertifications method\n\nQualification and certification types can also optionally by filtered by parent qualification and certification id",
        "operationId": "getReferenceQualificationAndCertificationTypes",
        "parameters": [
          {
            "name": "includeInactive",
            "in": "query",
            "description": "Optionally include inactive items",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "x-position": 1
          },
          {
            "name": "parentQualificationAndCertificationId",
            "in": "query",
            "description": "A qualification and certification id (optional)",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            },
            "x-position": 2
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "nullable": true,
                  "items": {
                    "$ref": "#/components/schemas/QualificationAndCertificationType"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Reference/QualificationAndCertificationLevels": {
      "get": {
        "tags": [
          "Reference"
        ],
        "summary": "Gets all active qualification and certification levels",
        "description": "Each qualification and certification level returns a ParentQualificationAndCertification which can be used to map linked qualifications and certifications from the /Reference/QualificationsAndCertifications method\n\nQualification and certification levels can also optionally by filtered by parent qualification and certification id",
        "operationId": "getReferenceQualificationAndCertificationLevels",
        "parameters": [
          {
            "name": "includeInactive",
            "in": "query",
            "description": "Optionally include inactive items",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "x-position": 1
          },
          {
            "name": "parentQualificationAndCertificationId",
            "in": "query",
            "description": "A qualification and certification id (optional)",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            },
            "x-position": 2
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "nullable": true,
                  "items": {
                    "$ref": "#/components/schemas/QualificationAndCertificationLevel"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Reference/Sources": {
      "get": {
        "tags": [
          "Reference"
        ],
        "summary": "Gets all active sources",
        "operationId": "getReferenceSources",
        "parameters": [
          {
            "name": "includeInactive",
            "in": "query",
            "description": "Optionally include inactive items",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "x-position": 1
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "nullable": true,
                  "items": {
                    "$ref": "#/components/schemas/Source"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Reference/Benefits": {
      "get": {
        "tags": [
          "Reference"
        ],
        "summary": "Gets all active benefits",
        "operationId": "getReferenceBenefits",
        "parameters": [
          {
            "name": "includeInactive",
            "in": "query",
            "description": "Optionally include inactive items",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "x-position": 1
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "nullable": true,
                  "items": {
                    "$ref": "#/components/schemas/Benefit"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Reference/Intervals": {
      "get": {
        "tags": [
          "Reference"
        ],
        "summary": "Gets all active intervals",
        "operationId": "getReferenceIntervals",
        "parameters": [
          {
            "name": "includeInactive",
            "in": "query",
            "description": "Optionally include inactive items",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "x-position": 1
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "nullable": true,
                  "items": {
                    "$ref": "#/components/schemas/Interval"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Reference/JobStatuses": {
      "get": {
        "tags": [
          "Reference"
        ],
        "summary": "Gets all active job statuses",
        "operationId": "getReferenceJobStatuses",
        "parameters": [
          {
            "name": "includeInactive",
            "in": "query",
            "description": "Optionally include inactive items",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "x-position": 1
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "nullable": true,
                  "items": {
                    "$ref": "#/components/schemas/JobStatus"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Reference/PlacementStatuses": {
      "get": {
        "tags": [
          "Reference"
        ],
        "summary": "Gets all active placement statuses",
        "operationId": "getReferencePlacementStatuses",
        "parameters": [
          {
            "name": "includeInactive",
            "in": "query",
            "description": "Optionally include inactive items",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "x-position": 1
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "nullable": true,
                  "items": {
                    "$ref": "#/components/schemas/PlacementStatus"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Reference/RateNames": {
      "get": {
        "tags": [
          "Reference"
        ],
        "summary": "Gets all active rate names",
        "operationId": "getReferenceRateNames",
        "parameters": [
          {
            "name": "includeInactive",
            "in": "query",
            "description": "Optionally include inactive items",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "x-position": 1
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "nullable": true,
                  "items": {
                    "$ref": "#/components/schemas/RateName"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Reference/ShiftNames": {
      "get": {
        "tags": [
          "Reference"
        ],
        "summary": "Gets all shift names",
        "operationId": "getReferenceShiftNames",
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "nullable": true,
                  "items": {
                    "$ref": "#/components/schemas/ShiftName"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Reference/UnavailabilityReasons": {
      "get": {
        "tags": [
          "Reference"
        ],
        "summary": "Gets all active unavailability reason names",
        "operationId": "getReferenceUnavailabilityReasons",
        "parameters": [
          {
            "name": "includeInactive",
            "in": "query",
            "description": "Optionally include inactive items",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "x-position": 1
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "nullable": true,
                  "items": {
                    "$ref": "#/components/schemas/UnavailabilityReason"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Reference/NoticePeriodIntervals": {
      "get": {
        "tags": [
          "Reference"
        ],
        "summary": "Gets all active notice period intervals",
        "operationId": "getReferenceNoticePeriodIntervals",
        "parameters": [
          {
            "name": "includeInactive",
            "in": "query",
            "description": "Optionally include inactive items",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "x-position": 1
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "nullable": true,
                  "items": {
                    "$ref": "#/components/schemas/Interval"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Reference/CandidateStatuses": {
      "get": {
        "tags": [
          "Reference"
        ],
        "summary": "Gets all active candidate statuses",
        "description": "IsDefault will return True for the item that is set as the default candidate statuses in the Infinity Administration page",
        "operationId": "getReferenceCandidateStatuses",
        "parameters": [
          {
            "name": "includeInactive",
            "in": "query",
            "description": "Optionally include inactive items",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "x-position": 1
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "nullable": true,
                  "items": {
                    "$ref": "#/components/schemas/Status"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Reference/CandidateAddressTypes": {
      "get": {
        "tags": [
          "Reference"
        ],
        "summary": "Gets all active candidate address types",
        "operationId": "getReferenceCandidateAddressTypes",
        "parameters": [
          {
            "name": "includeInactive",
            "in": "query",
            "description": "Optionally include inactive items",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "x-position": 1
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "nullable": true,
                  "items": {
                    "$ref": "#/components/schemas/AddressType"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Reference/Telecoms": {
      "get": {
        "tags": [
          "Reference"
        ],
        "summary": "Gets all active telecoms",
        "operationId": "getReferenceTelecoms",
        "parameters": [
          {
            "name": "includeInactive",
            "in": "query",
            "description": "Optionally include inactive items",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "x-position": 1
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "nullable": true,
                  "items": {
                    "$ref": "#/components/schemas/Telecom"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Reference/CallBackTypes": {
      "get": {
        "tags": [
          "Reference"
        ],
        "summary": "Gets all active call back types",
        "operationId": "getReferenceCallBackTypes",
        "parameters": [
          {
            "name": "includeInactive",
            "in": "query",
            "description": "Optionally include inactive items",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "x-position": 1
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "nullable": true,
                  "items": {
                    "$ref": "#/components/schemas/CallBackType"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Reference/LawfulBasisReasons": {
      "get": {
        "tags": [
          "Reference"
        ],
        "summary": "Gets all active lawful basis reasons",
        "operationId": "getReferenceLawfulBasisReasons",
        "parameters": [
          {
            "name": "includeInactive",
            "in": "query",
            "description": "Optionally include inactive items",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "x-position": 1
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "nullable": true,
                  "items": {
                    "$ref": "#/components/schemas/LawfulBasisReason"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Reference/LawfulBasisStatuses": {
      "get": {
        "tags": [
          "Reference"
        ],
        "summary": "Gets all lawful basis statuses",
        "operationId": "getReferenceLawfulBasisStatuses",
        "parameters": [
          {
            "name": "filterByLawfulBasis",
            "in": "query",
            "description": "Optionally return statuses for a specific LawfulBasis",
            "schema": {
              "x-enumNames": [
                "None",
                "DigitalConsent",
                "VerbalConsent",
                "LegitimateInterest",
                "ContractualLegal",
                "LegalObligation",
                "VitalInterests",
                "PublicTask",
                "NotRequired"
              ],
              "enum": [
                "None",
                "DigitalConsent",
                "VerbalConsent",
                "LegitimateInterest",
                "ContractualLegal",
                "LegalObligation",
                "VitalInterests",
                "PublicTask",
                "NotRequired"
              ]
            },
            "x-position": 1
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "nullable": true,
                  "items": {
                    "$ref": "#/components/schemas/LawfulBasisStatus"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Reference/OriginOfDatas": {
      "get": {
        "tags": [
          "Reference"
        ],
        "summary": "Gets all origin of data values",
        "operationId": "getReferenceOriginOfDatas",
        "parameters": [
          {
            "name": "includeInactive",
            "in": "query",
            "description": "Optionally include inactive items",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "x-position": 1
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "nullable": true,
                  "items": {
                    "$ref": "#/components/schemas/OriginOfData"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Reference/WorkerTypes": {
      "get": {
        "tags": [
          "Reference"
        ],
        "summary": "Gets all worker types",
        "description": "IsDefault will return True for the item that is set as the worker type in the Infinity Administration page",
        "operationId": "getReferenceWorkerTypes",
        "parameters": [
          {
            "name": "includeInactive",
            "in": "query",
            "description": "Optionally include inactive items",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "x-position": 1
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "nullable": true,
                  "items": {
                    "$ref": "#/components/schemas/WorkerType"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Reference/PaymentTypes": {
      "get": {
        "tags": [
          "Reference"
        ],
        "summary": "Gets all payment types",
        "operationId": "getReferencePaymentTypes",
        "parameters": [
          {
            "name": "includeInactive",
            "in": "query",
            "description": "Optionally include inactive items",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "x-position": 1
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "nullable": true,
                  "items": {
                    "$ref": "#/components/schemas/PaymentType"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Reference/PayIntervals": {
      "get": {
        "tags": [
          "Reference"
        ],
        "summary": "Gets all pay intervals",
        "operationId": "getReferencePayIntervals",
        "parameters": [
          {
            "name": "includeInactive",
            "in": "query",
            "description": "Optionally include inactive items",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "x-position": 1
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "nullable": true,
                  "items": {
                    "$ref": "#/components/schemas/PayInterval"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Reference/VATCodes": {
      "get": {
        "tags": [
          "Reference"
        ],
        "summary": "Gets all VAT codes",
        "operationId": "getReferenceVATCodes",
        "parameters": [
          {
            "name": "includeInactive",
            "in": "query",
            "description": "Optionally include inactive items",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "x-position": 1
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "nullable": true,
                  "items": {
                    "$ref": "#/components/schemas/VATCode"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Reference/DrivingLicenceEndorsements": {
      "get": {
        "tags": [
          "Reference"
        ],
        "summary": "Gets all driving licence endorsements",
        "operationId": "getReferenceDrivingLicenceEndorsements",
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "nullable": true,
                  "items": {
                    "$ref": "#/components/schemas/DrivingLicenceEndorsement"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Reference/AttachmentTypes": {
      "get": {
        "tags": [
          "Reference"
        ],
        "summary": "Gets all active attachment types",
        "operationId": "getReferenceAttachmentTypes",
        "parameters": [
          {
            "name": "includeInactive",
            "in": "query",
            "description": "Optionally include inactive items",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "x-position": 1
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "nullable": true,
                  "items": {
                    "$ref": "#/components/schemas/AttachmentType"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Reference/CustomFields": {
      "get": {
        "tags": [
          "Reference"
        ],
        "summary": "Gets all active custom field definitions to facilitate custom field entry",
        "operationId": "getReferenceCustomFieldDefinition",
        "parameters": [
          {
            "name": "includeInactive",
            "in": "query",
            "description": "Optionally include inactive items",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "x-position": 1
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/CustomFieldDefinitionResult"
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/Reference/CompanyTypes": {
      "get": {
        "tags": [
          "Reference"
        ],
        "summary": "Gets all company types",
        "operationId": "getReferenceCompanyTypes",
        "parameters": [
          {
            "name": "includeInactive",
            "in": "query",
            "description": "Optionally include inactive items",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "x-position": 1
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "nullable": true,
                  "items": {
                    "$ref": "#/components/schemas/CompanyType"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Reference/BusinessSectors": {
      "get": {
        "tags": [
          "Reference"
        ],
        "summary": "Gets all business sectors",
        "operationId": "getReferenceBusinessSectors",
        "parameters": [
          {
            "name": "includeInactive",
            "in": "query",
            "description": "Optionally include inactive items",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "x-position": 1
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "nullable": true,
                  "items": {
                    "$ref": "#/components/schemas/BusinessSector"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Reference/CompanyCompetitors": {
      "get": {
        "tags": [
          "Reference"
        ],
        "summary": "Gets all company competitors",
        "operationId": "getReferenceCompanyCompetitors",
        "parameters": [
          {
            "name": "includeInactive",
            "in": "query",
            "description": "Optionally include inactive items",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "x-position": 1
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "nullable": true,
                  "items": {
                    "$ref": "#/components/schemas/Competitor"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Reference/Territories": {
      "get": {
        "tags": [
          "Reference"
        ],
        "summary": "Gets all territories",
        "operationId": "getReferenceTerritories",
        "parameters": [
          {
            "name": "includeInactive",
            "in": "query",
            "description": "Optionally include inactive items",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "x-position": 1
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "nullable": true,
                  "items": {
                    "$ref": "#/components/schemas/Territory"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Reference/ContactPriorities": {
      "get": {
        "tags": [
          "Reference"
        ],
        "summary": "Gets all contact priorities",
        "operationId": "getReferenceContactPriorities",
        "parameters": [
          {
            "name": "includeInactive",
            "in": "query",
            "description": "Optionally include inactive items",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "x-position": 1
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "nullable": true,
                  "items": {
                    "$ref": "#/components/schemas/ContactPriority"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Reference/ConsultantRoles": {
      "get": {
        "tags": [
          "Reference"
        ],
        "summary": "Gets all consultant roles",
        "operationId": "getReferenceConsultantRoles",
        "parameters": [
          {
            "name": "includeInactive",
            "in": "query",
            "description": "Optionally include inactive items",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "x-position": 1
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "nullable": true,
                  "items": {
                    "$ref": "#/components/schemas/ConsultantRole"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Reference/EventTypes": {
      "get": {
        "tags": [
          "Reference"
        ],
        "summary": "Get all event types",
        "operationId": "getReferenceGetEventTypes",
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "nullable": true,
                  "items": {
                    "$ref": "#/components/schemas/EventTypeResponse"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Reference/EventActions": {
      "get": {
        "tags": [
          "Reference"
        ],
        "summary": "Return all event actions for the passed event logger",
        "operationId": "getReferenceGetEventActions",
        "parameters": [
          {
            "name": "eventLoggerScreen",
            "in": "query",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/EventLoggerScreen"
            },
            "x-position": 1
          },
          {
            "name": "showInactive",
            "in": "query",
            "description": "Optionally return inactive items",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "x-position": 2
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "nullable": true,
                  "items": {
                    "$ref": "#/components/schemas/EventAction"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Account/Login": {
      "post": {
        "tags": [
          "Account"
        ],
        "summary": "Authenticates and creates a session for a user",
        "description": "To access the API, a user must have the required permissions set in Infinity for the supplied WebApiClient.\n\nIf authentication is successful, a .AspNet.ApplicationCookie cookie will be stored automatically for use with the methods that require authentication.\n\nNOTE: You can access the cookie by using Developer Tools in your browser and checking the response headers if required.\n            \n            \nIf your session expires, you will need to run the login method again",
        "operationId": "postAccountLogin",
        "requestBody": {
          "x-name": "credentials",
          "description": "A valid LoginCredentials request",
          "content": {
            "application/json": {
              "schema": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/LoginCredentials"
                  }
                ]
              }
            }
          },
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SessionDetails"
                }
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          }
        }
      }
    },
    "/Account/Logout": {
      "post": {
        "tags": [
          "Account"
        ],
        "summary": "Ends a session for a user",
        "operationId": "postAccountLogout",
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          }
        }
      }
    },
    "/Account/KeepAlive": {
      "get": {
        "tags": [
          "Account"
        ],
        "summary": "Keeps a session alive so it does not time out",
        "operationId": "getAccountKeepAlive",
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          }
        }
      }
    },
    "/Database/Databases": {
      "get": {
        "tags": [
          "Database"
        ],
        "summary": "Gets all active databases for a customer",
        "operationId": "getDatabaseDatabases",
        "parameters": [
          {
            "name": "flexnet",
            "in": "query",
            "required": true,
            "description": "A VIC code",
            "schema": {
              "type": "string",
              "nullable": true
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "nullable": true,
                  "items": {
                    "$ref": "#/components/schemas/DatabaseChoice"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Entity/Companies": {
      "get": {
        "tags": [
          "Entity"
        ],
        "summary": "Gets all companies",
        "description": "The optional name parameter returns companies that contain matching text in the Company Name, Company Short Name or Company Other Names fields in Infinity\n\nThe limit and offset Parameters can be used for paging purposes.\n\nWhen supplied, the limit value should be greater than or equal to one. If the value is omitted, zero or a negative number then all results after the offset will be returned.\n\nWhen supplied, the offset should be greater than or equal to zero. If the value is omitted or a negative number then results will start from the first page.\n\nResults are ordered by LastUpdated date in descending order",
        "operationId": "getEntityCompanies",
        "parameters": [
          {
            "name": "lastUpdatedSince",
            "in": "query",
            "description": "Optionally filter companies updated since a specific date and time",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            },
            "x-position": 1
          },
          {
            "name": "name",
            "in": "query",
            "description": "Optionally filter companies that have a matching name",
            "schema": {
              "type": "string",
              "nullable": true
            },
            "x-position": 2
          },
          {
            "name": "website",
            "in": "query",
            "description": "Optionally filter companies that have a matching website",
            "schema": {
              "type": "string",
              "nullable": true
            },
            "x-position": 3
          },
          {
            "name": "linkedInUrl",
            "in": "query",
            "description": "Optionally filter companies that have a matching LinkedIn url",
            "schema": {
              "type": "string",
              "nullable": true
            },
            "x-position": 4
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Optionally limit the number of results to return in one request.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            },
            "x-position": 5
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Optionally set the number of results to skip before returning the results.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            },
            "x-position": 6
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "nullable": true,
                  "items": {
                    "$ref": "#/components/schemas/CompanyResult"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Entity/Company": {
      "get": {
        "tags": [
          "Entity"
        ],
        "summary": "Gets a company",
        "operationId": "getEntityCompany",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "description": "Company Id to return",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "OK - Full company including location and contact basic information",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CompanyGetResult"
                }
              }
            }
          },
          "404": {
            "description": "NotFound",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Entity"
        ],
        "summary": "Creates a new company",
        "description": "If valid, the company will be created directly in Infinity.\n            \nNotes must not exceed the max upload size configured in Infinity.\n            \nA Logo must not exceed the max upload size configured in Infinity.\n            \nThe max upload size can be retrieved from the /Reference/MaxUploadSize method (In KB).\n            \nAll id fields must match valid reference data from the /Reference methods.\n            \nThe Financials.TerritoryId only supports a territory of 'United Kingdom'.\n            \nThe Telecoms field can only contain one item set as IsPreferredTelecom\n\nIf passed, the CustomFieldData must adhere to the field definitions retrieved from the /Reference/CustomFields method especially\nregarding item ids, in the case of combo boxes and multi-select lists, min/max values for dates and max length for text. Note that the Company\ncreation request will fail if the custom data is not valid.",
        "operationId": "postEntityCreateCompany",
        "requestBody": {
          "x-name": "request",
          "description": "A valid CompanyRequest",
          "content": {
            "application/json": {
              "schema": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/CompanyRequest"
                  }
                ]
              }
            }
          },
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "404": {
            "description": "NotFound",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Entity"
        ],
        "summary": "Updates a company",
        "description": "If valid, the company will be updated directly in Infinity.\n            \nNotes must not exceed the max upload size configured in Infinity.\n            \nA Logo must not exceed the max upload size configured in Infinity.\n            \nThe max upload size can be retrieved from the /Reference/MaxUploadSize method (In KB).\n            \nAll id fields must match valid reference data from the /Reference methods.\n            \nThe Financials.TerritoryId only supports a territory of 'United Kingdom'.\n            \nThe Telecoms field can only contain one item set as IsPreferredTelecom\n\nIf passed, the CustomFieldData must adhere to the field definitions retrieved from the /Reference/CustomFields method especially\nregarding item ids, in the case of combo boxes and multi-select lists, min/max values for dates and max length for text. Note that the Company\ncreation request will fail if the custom data is not valid.",
        "operationId": "putEntityUpdateCompany",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "description": "The company id to update",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "request",
          "description": "A valid CompanyRequest",
          "content": {
            "application/json": {
              "schema": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/CompanyRequest"
                  }
                ]
              }
            }
          },
          "x-position": 2
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "BadRequest",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "404": {
            "description": "NotFound",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          }
        }
      }
    },
    "/Entity/CompanyProjectCodes": {
      "get": {
        "tags": [
          "Entity"
        ],
        "summary": "Gets project codes for a single company",
        "operationId": "getEntityCompanyProjectCodes",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "description": "Company Id to return",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProjectCodeResult"
                  }
                }
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "404": {
            "description": "NotFound",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          }
        }
      }
    },
    "/Entity/Location": {
      "get": {
        "tags": [
          "Entity"
        ],
        "summary": "Gets a location",
        "operationId": "getEntityLocation",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "description": "Location Id to return",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LocationGetResult"
                }
              }
            }
          },
          "404": {
            "description": "NotFound",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Entity"
        ],
        "summary": "Creates a new location",
        "description": "If valid, the location will be created directly in Infinity.\n            \nNotes must not exceed the max upload size configured in Infinity.\n            \nThe max upload size can be retrieved from the /Reference/MaxUploadSize method (In KB).\n            \nAll id fields must match valid reference data from the /Reference methods.\n            \nThe Telecoms field can only contain one item set as IsPreferredTelecom\n\nIf passed, the CustomFieldData must adhere to the field definitions retrieved from the /Reference/CustomFields method especially\nregarding item ids, in the case of combo boxes and multi-select lists, min/max values for dates and max length for text. Note that the Location\ncreation request will fail if the custom data is not valid.",
        "operationId": "postEntityCreateLocation",
        "requestBody": {
          "x-name": "request",
          "description": "A valid CreateLocationRequest",
          "content": {
            "application/json": {
              "schema": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/CreateLocationRequest"
                  }
                ]
              }
            }
          },
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "404": {
            "description": "NotFound",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Entity"
        ],
        "summary": "Updates a location",
        "description": "If valid, the location will be updated directly in Infinity.\n            \nNotes must not exceed the max upload size configured in Infinity.\n            \nThe max upload size can be retrieved from the /Reference/MaxUploadSize method (In KB).\n            \nAll id fields must match valid reference data from the /Reference methods.\n            \nThe Telecoms field can only contain one item set as IsPreferredTelecom\n\nIf passed, the CustomFieldData must adhere to the field definitions retrieved from the /Reference/CustomFields method especially\nregarding item ids, in the case of combo boxes and multi-select lists, min/max values for dates and max length for text. Note that the Location\ncreation request will fail if the custom data is not valid.",
        "operationId": "putEntityUpdateLocation",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "description": "The location id to update",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "request",
          "description": "A valid LocationRequest",
          "content": {
            "application/json": {
              "schema": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/LocationRequest"
                  }
                ]
              }
            }
          },
          "x-position": 2
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "BadRequest",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "404": {
            "description": "NotFound",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          }
        }
      }
    },
    "/Entity/Contacts": {
      "get": {
        "tags": [
          "Entity"
        ],
        "summary": "Gets all contacts",
        "description": "The optional name parameter returns contacts that contain matching text in the Contact Forename, Contact Middle Name or Contact Surname fields in Infinity\n            \nThe optional socialMediaUrl parameter returns contacts that contain matching text in the Contact LinkedIn Url, Contact Xing Url, Contact Facebook Profile Url or Contact Twitter Profile Url fields in Infinity\n\nThe limit and offset Parameters can be used for paging purposes.\n\nWhen supplied, the limit value should be greater than or equal to one. If the value is omitted, zero or a negative number then all results after the offset will be returned.\n\nWhen supplied, the offset should be greater than or equal to zero. If the value is omitted or a negative number then results will start from the first page.\n\nResults are ordered by LastUpdated date in descending order",
        "operationId": "getEntityContacts",
        "parameters": [
          {
            "name": "lastUpdatedSince",
            "in": "query",
            "description": "Optionally filter contacts updated since a specific date and time",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            },
            "x-position": 1
          },
          {
            "name": "name",
            "in": "query",
            "description": "Optionally filter contacts that have a matching name",
            "schema": {
              "type": "string",
              "nullable": true
            },
            "x-position": 2
          },
          {
            "name": "phone",
            "in": "query",
            "description": "Optionally filter contacts that have a matching phone number",
            "schema": {
              "type": "string",
              "nullable": true
            },
            "x-position": 3
          },
          {
            "name": "email",
            "in": "query",
            "description": "Optionally filter contacts that have a matching email",
            "schema": {
              "type": "string",
              "nullable": true
            },
            "x-position": 4
          },
          {
            "name": "socialMediaUrl",
            "in": "query",
            "description": "Optionally filter contacts that have a matching social media url",
            "schema": {
              "type": "string",
              "nullable": true
            },
            "x-position": 5
          },
          {
            "name": "town",
            "in": "query",
            "description": "Optionally filter contacts that have a matching location town name",
            "schema": {
              "type": "string",
              "nullable": true
            },
            "x-position": 6
          },
          {
            "name": "lastContactedAfter",
            "in": "query",
            "description": "Optionally filter candidates last contacted after a specific date",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            },
            "x-position": 7
          },
          {
            "name": "lastContactedBefore",
            "in": "query",
            "description": "Optionally filter candidates last contacted before a specific date",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            },
            "x-position": 8
          },
          {
            "name": "lastContactedByUserId",
            "in": "query",
            "description": "Optionally filter candidates last contacted by ba specific user",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            },
            "x-position": 9
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Optionally limit the number of results to return in one request.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            },
            "x-position": 10
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Optionally set the number of results to skip before returning the results.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            },
            "x-position": 11
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "nullable": true,
                  "items": {
                    "$ref": "#/components/schemas/ContactResult"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Entity/Contact": {
      "get": {
        "tags": [
          "Entity"
        ],
        "summary": "Gets a contact",
        "operationId": "getEntityContact",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "description": "Contact Id to return",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "OK - Full contact including location basic information",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContactGetResult"
                }
              }
            }
          },
          "404": {
            "description": "NotFound",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Entity"
        ],
        "summary": "Updates a contact",
        "description": "If valid, the contact will be updated directly in Infinity.\n            \nNotes must not exceed the max upload size configured in Infinity.\n            \nA Photo must not exceed the max upload size configured in Infinity.\n\nThe max upload size can be retrieved from the /Reference/MaxUploadSize method (In KB).\n            \nAll id fields must match valid reference data from the /Reference methods.\n            \nThe Telecoms field can only contain one item set as IsPreferredTelecom\n\nIf passed, the CustomFieldData must adhere to the field definitions retrieved from the /Reference/CustomFields method especially\nregarding item ids, in the case of combo boxes and multi-select lists, min/max values for dates and max length for text. Note that the Contact\nupdate request will fail if the custom data is not valid.",
        "operationId": "putEntityUpdateContact",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "description": "The id to update",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "request",
          "description": "A valid ContactRequest",
          "content": {
            "application/json": {
              "schema": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/ContactRequest"
                  }
                ]
              }
            }
          },
          "x-position": 2
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "BadRequest",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "404": {
            "description": "NotFound",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Entity"
        ],
        "summary": "Creates a new contact",
        "description": "If valid, the contact will be created directly in Infinity.\n            \nNotes must not exceed the max upload size configured in Infinity.\n            \nA Photo must not exceed the max upload size configured in Infinity.\n\nThe max upload size can be retrieved from the /Reference/MaxUploadSize method (In KB).\n            \nAll id fields must match valid reference data from the /Reference methods.\n            \nThe Telecoms field can only contain one item set as IsPreferredTelecom\n\nIf passed, the CustomFieldData must adhere to the field definitions retrieved from the /Reference/CustomFields method especially\nregarding item ids, in the case of combo boxes and multi-select lists, min/max values for dates and max length for text. Note that the Contact\ncreation request will fail if the custom data is not valid.",
        "operationId": "postEntityCreateContact",
        "requestBody": {
          "x-name": "request",
          "description": "A valid CreateContactRequest",
          "content": {
            "application/json": {
              "schema": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/CreateContactRequest"
                  }
                ]
              }
            }
          },
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "404": {
            "description": "NotFound",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          }
        }
      }
    },
    "/Entity/Consultants": {
      "get": {
        "tags": [
          "Entity"
        ],
        "summary": "Gets all active consultants",
        "operationId": "getEntityConsultants",
        "parameters": [
          {
            "name": "includeInactive",
            "in": "query",
            "description": "Optionally include inactive consultants",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "x-position": 1
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "nullable": true,
                  "items": {
                    "$ref": "#/components/schemas/ConsultantEntity"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Entity/Jobs": {
      "get": {
        "tags": [
          "Entity"
        ],
        "summary": "Gets all jobs",
        "description": "The limit and offset Parameters can be used for paging purposes.\n\nWhen supplied, the limit value should be greater than or equal to one. If the value is omitted, zero or a negative number then all results after the offset will be returned.\n\nWhen supplied, the offset should be greater than or equal to zero. If the value is omitted or a negative number then results will start from the first page.\n\nResults are ordered by LastUpdated date in descending order",
        "operationId": "getEntityJobs",
        "parameters": [
          {
            "name": "lastUpdatedSince",
            "in": "query",
            "description": "Optionally filter jobs updated since a specific date and time",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            },
            "x-position": 1
          },
          {
            "name": "jobType",
            "in": "query",
            "description": "Optionally filter jobs by type",
            "schema": {
              "x-enumNames": [
                "Permanent",
                "Contract",
                "Temporary",
                "FixedTerm"
              ],
              "enum": [
                "Permanent",
                "Contract",
                "Temporary",
                "FixedTerm"
              ]
            },
            "x-position": 2
          },
          {
            "name": "statusType",
            "in": "query",
            "description": "Optionally filter jobs by status",
            "schema": {
              "x-enumNames": [
                "Current",
                "Closed"
              ],
              "enum": [
                "Current",
                "Closed"
              ]
            },
            "x-position": 3
          },
          {
            "name": "companyId",
            "in": "query",
            "description": "Optionally filter jobs by company",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            },
            "x-position": 4
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Optionally limit the number of results to return in one request.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            },
            "x-position": 5
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Optionally set the number of results to skip before returning the results.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            },
            "x-position": 6
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "nullable": true,
                  "items": {
                    "$ref": "#/components/schemas/JobResult"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Entity/Job": {
      "get": {
        "tags": [
          "Entity"
        ],
        "summary": "Gets a job",
        "description": "The response can differ per job type. Detail models that are not applicable to the job type being returned can be null.",
        "operationId": "getEntityJob",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "description": "Job Id to return",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JobGetResult"
                }
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "404": {
            "description": "NotFound",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          }
        }
      }
    },
    "/Entity/TempJobRates": {
      "get": {
        "tags": [
          "Entity"
        ],
        "summary": "Gets job rates for a single temp job",
        "operationId": "getEntityTempJobRates",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "description": "Job Id to return",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JobRateResult"
                  }
                }
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "404": {
            "description": "NotFound",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          }
        }
      }
    },
    "/Entity/TempJobShifts": {
      "get": {
        "tags": [
          "Entity"
        ],
        "summary": "Gets job shifts for a single temp job",
        "operationId": "getEntityTempJobShifts",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "description": "Job Id to return",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JobShiftResult"
                  }
                }
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "404": {
            "description": "NotFound",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          }
        }
      }
    },
    "/Entity/TempJob": {
      "post": {
        "tags": [
          "Entity"
        ],
        "summary": "Creates a temp job",
        "operationId": "postEntityCreateTempJob",
        "requestBody": {
          "x-name": "request",
          "description": "A valid TempJobRequest",
          "content": {
            "application/json": {
              "schema": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/TempJobRequest"
                  }
                ]
              }
            }
          },
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "404": {
            "description": "NotFound",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          }
        }
      }
    },
    "/Entity/ICaptureCandidate": {
      "post": {
        "tags": [
          "Entity"
        ],
        "summary": "Creates an item in the ICapture candidate queue",
        "description": "If valid, the candidate will be placed in a queue to be processed by the Infinity ICapture service.\nA 'Candidate API'data source must be setup and active in Infinity for it to be processed.\nIf the data source is not active, records will still be accepted but remain in the queue.\n            \nA Surname is required.\n            \nComments and Summary must not exceed the max upload size configured in Infinity.\n            \nA CV must not exceed the max upload size configured in Infinity.\n            \nA maximimum of 5 attachments can be uploaded.\nAll Attachments must not exceed the max upload size configured in Infinity.\n            \nThe max upload size can be retrieved from the /Reference/MaxUploadSize method (In KB)\n\nAll id fields must match active reference data from the /Reference methods",
        "operationId": "postEntityICaptureCandidate",
        "requestBody": {
          "x-name": "request",
          "description": "A valid ICaptureCandidateRequest",
          "content": {
            "application/json": {
              "schema": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/ICaptureCandidateRequest"
                  }
                ]
              }
            }
          },
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "404": {
            "description": "NotFound",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          }
        }
      }
    },
    "/Entity/Candidates": {
      "get": {
        "tags": [
          "Entity"
        ],
        "summary": "Gets all candidates",
        "description": "The limit and offset Parameters can be used for paging purposes.\n\nWhen supplied, the limit value should be greater than or equal to one. If the value is omitted, zero or a negative number then all results after the offset will be returned.\n\nWhen supplied, the offset should be greater than or equal to zero. If the value is omitted or a negative number then results will start from the first page.\n\nResults are ordered by LastUpdated date in descending order",
        "operationId": "getEntityCandidates",
        "parameters": [
          {
            "name": "lastUpdatedSince",
            "in": "query",
            "description": "Optionally filter candidates updated since a specific date and time",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            },
            "x-position": 1
          },
          {
            "name": "tempCandidatesOnly",
            "in": "query",
            "description": "Optionally filter candidates that are marked as Temp candidates",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "x-position": 2
          },
          {
            "name": "mobileNumber",
            "in": "query",
            "description": "Optionally filter candidates that have a matching mobile number",
            "schema": {
              "type": "string",
              "nullable": true
            },
            "x-position": 3
          },
          {
            "name": "phone",
            "in": "query",
            "description": "Optionally filter candidates that have any matching phone number. This includes landlines and mobile numbers.",
            "schema": {
              "type": "string",
              "nullable": true
            },
            "x-position": 4
          },
          {
            "name": "emailAddress",
            "in": "query",
            "description": "Optionally filter candidates that have a matching email address",
            "schema": {
              "type": "string",
              "nullable": true
            },
            "x-position": 5
          },
          {
            "name": "lastContactedAfter",
            "in": "query",
            "description": "Optionally filter candidates last contacted after a specific date",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            },
            "x-position": 6
          },
          {
            "name": "lastContactedBefore",
            "in": "query",
            "description": "Optionally filter candidates last contacted before a specific date",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            },
            "x-position": 7
          },
          {
            "name": "lastContactedByUserId",
            "in": "query",
            "description": "Optionally filter candidates last contacted by ba specific user",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            },
            "x-position": 8
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Optionally limit the number of results to return in one request.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            },
            "x-position": 9
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Optionally set the number of results to skip before returning the results.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            },
            "x-position": 10
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "nullable": true,
                  "items": {
                    "$ref": "#/components/schemas/CandidateResult"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Entity/Candidate": {
      "get": {
        "tags": [
          "Entity"
        ],
        "summary": "Gets a candidate",
        "operationId": "getEntityCandidate",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "description": "Candidate Id to return",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CandidateGetResult"
                }
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "404": {
            "description": "NotFound",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Entity"
        ],
        "summary": "Creates a new candidate",
        "description": "If valid, the candidate will be created directly in Infinity.\n            \nComments, Summary and Insights must not exceed the max upload size configured in Infinity.\n            \nA Photo must not exceed the max upload size configured in Infinity.\n            \nThe max upload size can be retrieved from the /Reference/MaxUploadSize method (In KB).\n            \nAll id fields must match reference data from the /Reference methods.\n            \nEAA and RightToWork fields can only be passed if the system is not set up to auto-populate EAA/Right to Work information\n\nThe auto-populate EAA/Right to Work setting can be retrieved from the /Reference/AutoPopulateCandidateEaaRightToWork method\n\nThe ContractualLegalLawfulBasis field can only be set to None, ContractualLegal or left blank.\n            \nThe ConsentLegitimateInterestLawfulBasis field can only be set to None, DigitalConsent, VerbalConsent, LegitimateInterest, NotRequired or left blank.\nWhen set, the LawfulBasisStatusId field must be set to a valid value for the type of consent which can be retrieved from the /Reference/LawfulBasisStatuses method.\n            \nThe Financials.WorkerTypeId only supports worker types with a territory of 'United Kingdom'.\n            \nThe Financials.BankAccountNumber must be 8 digits when set\n            \nThe Financials.BankSortCode must be 6 digits when set\n            \nThe Financials.IBANNumber must be in a valid format when set according to the following RegEx [A-Z]{2}[0-9]{2}[A-Z0-9]{1,30}\n            \nThe Financials.SwiftCode must be in a valid format when set according to the following RegEx [A-Z]{6}[A-Z0-9]{2}[A-Z0-9]{0,3}\n            \nThe Telecoms field can only contain one item set as IsPreferredTelecom\n            \nThe Addresses field must have one item that is marked as SendByDefault if addresses are set. Each item must also have a unique address type.\n\nIf passed, the CustomFieldData must adhere to the field definitions retrieved from the /Reference/CustomFields method especially\nregarding item ids, in the case of combo boxes and multi-select lists, min/max values for dates and max length for text. Note that the Candidate\ncreation request will fail if the custom data is not valid.",
        "operationId": "postEntityCreateCandidate",
        "requestBody": {
          "x-name": "request",
          "description": "A valid CandidateRequest",
          "content": {
            "application/json": {
              "schema": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/CandidateRequest"
                  }
                ]
              }
            }
          },
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "404": {
            "description": "NotFound",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Entity"
        ],
        "summary": "Updates a candidate",
        "description": "If valid, the candidate will be updated directly in Infinity.\n            \nNOTE: All fields will be replaced in the record even when they are not passed into the request. e.g If \"Forename\" is omitted it will be blank in Infinity\n            \nComments, Summary and Insights must not exceed the max upload size configured in Infinity.\n            \nA Photo must not exceed the max upload size configured in Infinity.\n            \nThe max upload size can be retrieved from the /Reference/MaxUploadSize method (In KB).\n            \nAll id fields must match reference data from the /Reference methods.\n            \nEAA and RightToWork fields can only be changed if the system is not set up to auto-populate EAA/Right to Work information, and if the candidate's\nright to work is not controlled by TrustID\n\nThe ContractualLegalLawfulBasis field can only be set to None, ContractualLegal or left blank.\n            \nThe ConsentLegitimateInterestLawfulBasis field can only be set to None, DigitalConsent, VerbalConsent, LegitimateInterest, NotRequired or left blank.\nWhen set, the LawfulBasisStatusId field must be set to a valid value for the type of consent which can be retrieved from the /Reference/LawfulBasisStatuses method.\n            \nThe Financials.WorkerTypeId only supports worker types with a territory of 'United Kingdom'.\n            \nThe Financials.BankAccountNumber must be 8 digits when set\n            \nThe Financials.BankSortCode must be 6 digits when set\n            \nThe Financials.IBANNumber must be in a valid format when set according to the following RegEx [A-Z]{2}[0-9]{2}[A-Z0-9]{1,30}\n            \nThe Financials.SwiftCode must be in a valid format when set according to the following RegEx [A-Z]{6}[A-Z0-9]{2}[A-Z0-9]{0,3}\n            \nThe Telecoms field can only contain one item set as IsPreferredTelecom\n            \nThe Addresses field must have one item that is marked as SendByDefault if addresses are set. Each item must also have a unique address type.\n            \nCandidate StatusId must be set to a valid value. The /Reference/CandidateStatuses method will tell you if a status is a shortlist status or not. A\nshortlist status is one which has work-flow behind it.\n\nA Candidate's status can only be changed if: Its current value is not a shortlist status, and the new value is not a shortlist status, or the current status\nis 'Placed By Us' or 'Placed By Us, But Looking' and the new value is also one of those, or the current status is 'Working For Us' or 'Working For Us, But Looking'\nand the new value is also one of those.\n            \nIn other cases, if the status values are different, the request will be rejected.\n\nIf passed, the CustomFieldData must adhere to the field definitions retrieved from the /Reference/CustomFields method especially\nregarding item ids, in the case of combo boxes and multi-select lists, min/max values for dates and max length for text. Note that the Candidate\nupdate request will fail if the custom data is not valid.",
        "operationId": "putEntityUpdateCandidate",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "description": "The candidate id to update",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "request",
          "description": "A valid CandidateRequest",
          "content": {
            "application/json": {
              "schema": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/CandidateRequest"
                  }
                ]
              }
            }
          },
          "x-position": 2
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "BadRequest",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "404": {
            "description": "NotFound",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          }
        }
      }
    },
    "/Entity/TempCandidateAvailabilityDates": {
      "get": {
        "tags": [
          "Entity"
        ],
        "summary": "Gets availability dates for a single temp candidate",
        "description": "A candidate is available when the IsAvailable property is True. The UnavailabilityDetail property will return null in this instance.\n\nA candidate is unavailable when the IsAvailable property is False. The UnavailabilityDetail property will return additional information about why they are unavailable.\n\nIf they are unavailable because they are in an Infinity placement, then the PlacementId property will return a value.\n\nThe /Entity/Placement method can be used to get additional information about an Infinity Placement if required.",
        "operationId": "getEntityTempCandidateAvailabilities",
        "parameters": [
          {
            "name": "candidateid",
            "in": "query",
            "required": true,
            "description": "Candidate Id to return",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          },
          {
            "name": "fromDate",
            "in": "query",
            "required": true,
            "description": "From date",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "x-position": 2
          },
          {
            "name": "toDate",
            "in": "query",
            "description": "Optional to date. If not supplied, all future shifts will be returned",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            },
            "x-position": 3
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CandidateAvailabilityResult"
                  }
                }
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "404": {
            "description": "NotFound",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Entity"
        ],
        "summary": "Creates availability dates for a single temp candidate",
        "description": "Multiple availability dates can be created in one request per candidate\n\nThe Start and End date must be valid e.g Start date can not be after end date\n            \nTo create availability set the IsAvailable property to True and the UnavailabilityReasonId property to null\n\nTo create unavailability set the IsAvailable property to False and the UnavailabilityReasonId to a valid unavailability reason\n            \nThe UnavailabilityReasonId field must match active reference data from the /Reference/UnavailabilityReasons method",
        "operationId": "postEntityCreateTempCandidateAvailabilities",
        "requestBody": {
          "x-name": "request",
          "description": "A valid TempCandidateAvailabilitiesRequest",
          "content": {
            "application/json": {
              "schema": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/TempCandidateAvailabilityDatesRequest"
                  }
                ]
              }
            }
          },
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "OK - List of new availability records",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CandidateAvailabilityResult"
                  }
                }
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "404": {
            "description": "NotFound",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          }
        }
      }
    },
    "/Entity/TempCandidateAvailabilityDate": {
      "patch": {
        "tags": [
          "Entity"
        ],
        "summary": "Updates a single availability date on a temp candidate",
        "description": "A Conflict will be returned if the candidate availability is locked for editing to another user in Infinity.\n            \nThe Start and End date must be valid e.g Start date can not be after end date\n            \nTo create availability set the IsAvailable property to True and the UnavailabilityReasonId property to null\n\nTo create unavailability set the IsAvailable property to False and the UnavailabilityReasonId to a valid unavailability reason\n            \nThe UnavailabilityReasonId field must match active reference data from the /Reference/UnavailabilityReasons method",
        "operationId": "patchEntityUpdateTempCandidateAvailability",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "description": "The candidate availability id to update",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "request",
          "description": "A valid TempCandidateAvailabilityEntryRequest",
          "content": {
            "application/json": {
              "schema": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/TempCandidateAvailabilityDateRequest"
                  }
                ]
              }
            }
          },
          "x-position": 2
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "BadRequest",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "404": {
            "description": "NotFound",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Entity"
        ],
        "summary": "Deletes a single availability date from a temp candidate",
        "description": "A Conflict will be returned if the candidate availability is locked for editing to another user in Infinity.",
        "operationId": "deleteEntityDeleteTempCandidateAvailability",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "description": "The candidate availability id to delete",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "BadRequest",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "404": {
            "description": "NotFound",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          }
        }
      }
    },
    "/Entity/Placements": {
      "get": {
        "tags": [
          "Entity"
        ],
        "summary": "Gets all placements",
        "description": "The limit and offset Parameters can be used for paging purposes.\n\nWhen supplied, the limit value should be greater than or equal to one. If the value is omitted, zero or a negative number then all results after the offset will be returned.\n\nWhen supplied, the offset should be greater than or equal to zero. If the value is omitted or a negative number then results will start from the first page.\n\nResults are ordered by LastUpdated date in descending order",
        "operationId": "getEntityPlacements",
        "parameters": [
          {
            "name": "lastUpdatedSince",
            "in": "query",
            "description": "Optionally filter placements updated since a specific date and time",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            },
            "x-position": 1
          },
          {
            "name": "placementType",
            "in": "query",
            "description": "Optionally filter placements by type",
            "schema": {
              "x-enumNames": [
                "Permanent",
                "Contract",
                "Temporary",
                "FixedTerm"
              ],
              "enum": [
                "Permanent",
                "Contract",
                "Temporary",
                "FixedTerm"
              ]
            },
            "x-position": 2
          },
          {
            "name": "companyId",
            "in": "query",
            "description": "Optionally filter placements by company",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            },
            "x-position": 3
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Optionally limit the number of results to return in one request.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            },
            "x-position": 4
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Optionally set the number of results to skip before returning the results.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            },
            "x-position": 5
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "nullable": true,
                  "items": {
                    "$ref": "#/components/schemas/PlacementResult"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Entity/Placement": {
      "get": {
        "tags": [
          "Entity"
        ],
        "summary": "Gets a placement",
        "operationId": "getEntityPlacement",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "description": "Placement Id to return",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PlacementGetResult"
                }
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "404": {
            "description": "NotFound",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          }
        }
      }
    },
    "/Entity/CandidateAttachment": {
      "post": {
        "tags": [
          "Entity"
        ],
        "summary": "Adds a file attachment to an existing candidate",
        "description": "The attachment's Name field must be less than 255 characters.\n\nThe AttachmentTypeId field must match active reference data from the /Reference/AttachmentTypes method.\n            \nThe FileExtension should match the file contents and be a valid Windows extension, preceded by a full stop. Infinity \nwill not be able to open the file if the extension doesn't match and it could cause issues within Infinity.\n\nThe attachment's Content must not exceed the max upload size configured in Infinity.\n            \nThe max upload size can be retrieved from the /Reference/MaxUploadSize method (In KB)",
        "operationId": "postEntityCreateCandidateAttachment",
        "requestBody": {
          "x-name": "request",
          "description": "A valid CandidateAttachmentRequest",
          "content": {
            "application/json": {
              "schema": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/CandidateAttachmentRequest"
                  }
                ]
              }
            }
          },
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "OK - Created ID",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "404": {
            "description": "NotFound",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Entity"
        ],
        "summary": "Gets an Attachment",
        "operationId": "getEntityCandidateAttachment",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "description": "Attachment to return",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          },
          {
            "name": "returnContent",
            "in": "query",
            "description": "Optionally return the byte[] content of the Attachment as a Base64 string",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "x-position": 2
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CandidateAttachmentResult"
                }
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "404": {
            "description": "NotFound",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          }
        }
      }
    },
    "/Entity/CandidateCVs": {
      "get": {
        "tags": [
          "Entity"
        ],
        "summary": "Gets all CVs for a candidate",
        "description": "Results are ordered by Received date in descending order",
        "operationId": "getEntityCandidateCVs",
        "parameters": [
          {
            "name": "candidateId",
            "in": "query",
            "required": true,
            "description": "Candidate to return",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          },
          {
            "name": "returnDefaultOnly",
            "in": "query",
            "description": "Optionally return CVs marked as default only",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "x-position": 2
          },
          {
            "name": "returnContent",
            "in": "query",
            "description": "Optionally return the byte[] content of the CVs as Base64 strings",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "x-position": 3
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CandidateCVResult"
                  }
                }
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "404": {
            "description": "NotFound",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          }
        }
      }
    },
    "/Entity/CandidateCV": {
      "get": {
        "tags": [
          "Entity"
        ],
        "summary": "Gets a CV",
        "operationId": "getEntityCandidateCV",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "description": "CV to return",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          },
          {
            "name": "returnContent",
            "in": "query",
            "description": "Optionally return the byte[] content of the CV as a Base64 string",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "x-position": 2
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CandidateCVResult"
                }
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "404": {
            "description": "NotFound",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Entity"
        ],
        "summary": "Adds a CV file to an existing candidate",
        "description": "The CV's Name field must be less than 255 characters.\n\nThe FileExtension should match the file contents and be a valid Windows extension and be one of these values: .docx, \n.doc, .rtf, .txt, .html, .pdf, or .odt. Infinity will not be able to open the file if the extension doesn't match and it could \ncause issues within Infinity.\n            \nThe OnlineReference must be a valid URL and less than 512 characters, if passed.\n\nThe CV's Content must not exceed the max upload size configured in Infinity.\n            \nThe max upload size can be retrieved from the /Reference/MaxUploadSize method (In KB)\n            \nNOTE: Setting the Default value to true, will set the value to false for all of the candidate's other CVs",
        "operationId": "postEntityCreateCandidateCV",
        "requestBody": {
          "x-name": "request",
          "description": "A valid CandidateCVRequest",
          "content": {
            "application/json": {
              "schema": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/CandidateCVRequest"
                  }
                ]
              }
            }
          },
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "OK - Created ID",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "404": {
            "description": "NotFound",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          }
        }
      }
    },
    "/Entity/CandidateCVContent": {
      "get": {
        "tags": [
          "Entity"
        ],
        "summary": "Gets a CV in binary format to download",
        "description": "As Infinity supports multiple formats for CV files, the content-disposition header will describe the cv filename as standard",
        "operationId": "getEntityCandidateCVContent",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "description": "CV to return",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "404": {
            "description": "NotFound",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          }
        }
      }
    },
    "/Entity/CandidateEvent": {
      "post": {
        "tags": [
          "Entity"
        ],
        "summary": "Creates an event against the given candidate id.",
        "description": "All id fields must match valid reference data from the /Reference methods.\n            \nThe EventDirection must be either 'In' or 'Out'.\n            \nThe EventType is the name of the Event Type returned by /Reference/EventTypes.",
        "operationId": "postEntityCreateCandidateEvent",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "description": "The Candidate to log the event against",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "request",
          "description": "A valid EventsRequest object",
          "content": {
            "application/json": {
              "schema": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/EventsRequest"
                  }
                ]
              }
            }
          },
          "x-position": 2
        },
        "responses": {
          "200": {
            "description": "OK - Created ID",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "404": {
            "description": "NotFound",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          }
        }
      }
    },
    "/Entity/ContactEvent": {
      "post": {
        "tags": [
          "Entity"
        ],
        "summary": "Creates an event against the given contact id.",
        "description": "All id fields must match valid reference data from the /Reference methods.\n            \nThe EventDirection must be either 'In' or 'Out'.\n            \nThe EventType is the name of the Event Type returned by /Reference/EventTypes.",
        "operationId": "postEntityCreateContactEvent",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "description": "The Contact to log the event against",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "request",
          "description": "A valid EventsRequest object",
          "content": {
            "application/json": {
              "schema": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/EventsRequest"
                  }
                ]
              }
            }
          },
          "x-position": 2
        },
        "responses": {
          "200": {
            "description": "OK - Created ID",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "404": {
            "description": "NotFound",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          }
        }
      }
    },
    "/Entity/CandidateAttachments": {
      "get": {
        "tags": [
          "Entity"
        ],
        "summary": "Gets all Attachments for a candidate",
        "description": "Results are ordered by date attached in descending order",
        "operationId": "getEntityCandidateAttachments",
        "parameters": [
          {
            "name": "candidateId",
            "in": "query",
            "required": true,
            "description": "Candidate to return",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          },
          {
            "name": "attachmentTypeId",
            "in": "query",
            "description": "Optionally return Attachments of a selected type (see /Reference/AttachmentTypes)",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            },
            "x-position": 2
          },
          {
            "name": "returnContent",
            "in": "query",
            "description": "Optionally return the byte[] content of the Attachments as Base64 strings",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "x-position": 3
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CandidateAttachmentResult"
                  }
                }
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "404": {
            "description": "NotFound",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          }
        }
      }
    },
    "/Entity/CandidateAttachmentContent": {
      "get": {
        "tags": [
          "Entity"
        ],
        "summary": "Gets an Attachment in binary format to download",
        "description": "As Infinity supports multiple formats for Attachment files, the content-disposition header will describe the attachment filename as standard",
        "operationId": "getEntityCandidateAttachmentContent",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "description": "Attachment to return",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "404": {
            "description": "NotFound",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          }
        }
      }
    },
    "/Entity/Referees": {
      "get": {
        "tags": [
          "Entity"
        ],
        "summary": "Gets all Referees/ICE Contacts for a candidate",
        "description": "Results are ordered by date added in descending order",
        "operationId": "getEntityReferees",
        "parameters": [
          {
            "name": "candidateId",
            "in": "query",
            "required": true,
            "description": "Candidate to return",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/RefereeResult"
                  }
                }
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "404": {
            "description": "NotFound",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          }
        }
      }
    },
    "/Entity/Referee": {
      "get": {
        "tags": [
          "Entity"
        ],
        "summary": "Gets a Referee/ICE Contact",
        "operationId": "getEntityReferee",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "description": "Referee to return",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RefereeResult"
                }
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "404": {
            "description": "NotFound",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Entity"
        ],
        "summary": "Adds a referee to an existing candidate",
        "description": "The Referee's Surname and RefereeType value must be passed.\n            \nCompany and JobTitle are not supported if the RefereeType is InCaseOfEmergencyContact\n            \nAlthough Checked is optional, if set to true then the CheckedDate must also be passed.",
        "operationId": "postEntityCreateReferee",
        "requestBody": {
          "x-name": "request",
          "description": "A valid RefereeRequest",
          "content": {
            "application/json": {
              "schema": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/RefereeRequest"
                  }
                ]
              }
            }
          },
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "OK - Created ID",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "404": {
            "description": "NotFound",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          }
        }
      }
    },
    "/Entity/RefereeAttachment": {
      "post": {
        "tags": [
          "Entity"
        ],
        "summary": "Adds a file attachment to an existing referee",
        "description": "The attachment's Name field must be less than 255 characters.\n\nThe attachment's type will be automatically set depending on the Referee's type. ICE Contact referees do not support attachments.\n            \nThe FileExtension must match the file contents and be a valid Windows extension, preceded by a full stop. Infinity will not \nbe able to open the file if the extension doesn't match and it could cause issues within Infinity.\n\nThe attachment's Content must not exceed the max upload size configured in Infinity.\n            \nThe max upload size can be retrieved from the /Reference/MaxUploadSize method (In KB)",
        "operationId": "postEntityCreateRefereeAttachment",
        "requestBody": {
          "x-name": "request",
          "description": "A valid RefereeAttachmentRequest",
          "content": {
            "application/json": {
              "schema": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/RefereeAttachmentRequest"
                  }
                ]
              }
            }
          },
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "OK - Created ID",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "404": {
            "description": "NotFound",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          }
        }
      }
    },
    "/Entity/Lead": {
      "get": {
        "tags": [
          "Entity"
        ],
        "summary": "Gets a Lead",
        "operationId": "getEntityLead",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "description": "Lead Id to return",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LeadGetResult"
                }
              }
            }
          },
          "404": {
            "description": "NotFound",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Entity"
        ],
        "summary": "Adds a new Lead",
        "description": "If valid, the Lead will be created directly in Infinity.\n            \nContact and Company Notes, and Job Description must not exceed the max upload size configured in Infinity.\n            \nA Photo must not exceed the max upload size configured in Infinity.\n            \nThe max upload size can be retrieved from the /Reference/MaxUploadSize method (In KB).\n\nThe OwningConsultantId is optional, but if passed, it must be an active user id.\n            \nOnly one of LinkedCompanyId and LinkedContactId can be passed for manual linking and must refer to a valid record on the database.\n\nAutomatic contact linking only occurs if both LinkedCompanyId and LinkedContactId are not supplied\n            \nTags should be passed in as a comma-delimited string.",
        "operationId": "postEntityCreateLead",
        "parameters": [
          {
            "name": "automaticallyLinkToContacts",
            "in": "query",
            "required": true,
            "description": "Automatically link to active Infinity contacts",
            "schema": {
              "type": "boolean"
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "request",
          "description": "A valid LeadRequest",
          "content": {
            "application/json": {
              "schema": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/LeadRequest"
                  }
                ]
              }
            }
          },
          "x-position": 2
        },
        "responses": {
          "200": {
            "description": "OK - Created ID",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "404": {
            "description": "NotFound",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          }
        }
      }
    },
    "/Entity/Leads": {
      "get": {
        "tags": [
          "Entity"
        ],
        "summary": "Gets all leads",
        "description": "The limit and offset Parameters can be used for paging purposes.\n\nWhen supplied, the limit value should be greater than or equal to one. If the value is omitted, zero or a negative number then all results after the offset will be returned.\n\nWhen supplied, the offset should be greater than or equal to zero. If the value is omitted or a negative number then results will start from the first page.\n\nResults are ordered by Created date in descending order",
        "operationId": "getEntityLeads",
        "parameters": [
          {
            "name": "createdSince",
            "in": "query",
            "description": "Optionally filter leads created since a specific date and time",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            },
            "x-position": 1
          },
          {
            "name": "mobileNumber",
            "in": "query",
            "description": "Optionally filter leads that have a matching mobile number",
            "schema": {
              "type": "string",
              "nullable": true
            },
            "x-position": 2
          },
          {
            "name": "emailAddress",
            "in": "query",
            "description": "Optionally filter leads that have a matching email address",
            "schema": {
              "type": "string",
              "nullable": true
            },
            "x-position": 3
          },
          {
            "name": "returnPhotos",
            "in": "query",
            "description": "Optionally return lead photos",
            "schema": {
              "type": "boolean",
              "default": false,
              "nullable": true
            },
            "x-position": 4
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Optionally limit the number of results to return in one request.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            },
            "x-position": 5
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Optionally set the number of results to skip before returning the results.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            },
            "x-position": 6
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "nullable": true,
                  "items": {
                    "$ref": "#/components/schemas/LeadGetResult"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Entity/UmbrellaCompanies": {
      "get": {
        "tags": [
          "Entity"
        ],
        "summary": "Gets all umbrella companies",
        "description": "Results are ordered by LastUpdated date in descending order",
        "operationId": "getEntityUmbrellaCompanies",
        "parameters": [
          {
            "name": "includeInactive",
            "in": "query",
            "description": "Optionally include inactive umbrella companies",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "x-position": 1
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResult"
                }
              }
            }
          },
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "nullable": true,
                  "items": {
                    "$ref": "#/components/schemas/UmbrellaCompanyResult"
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "AddressDetail": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "AddressLine1",
          "AddressLine2",
          "AddressLine3",
          "Town",
          "County",
          "Postcode"
        ],
        "properties": {
          "AddressLine1": {
            "type": "string",
            "minLength": 1
          },
          "AddressLine2": {
            "type": "string",
            "minLength": 1
          },
          "AddressLine3": {
            "type": "string",
            "minLength": 1
          },
          "Town": {
            "type": "string",
            "minLength": 1
          },
          "County": {
            "type": "string",
            "minLength": 1
          },
          "Postcode": {
            "type": "string",
            "minLength": 1
          },
          "CountryId": {
            "type": "integer",
            "nullable": true
          }
        }
      },
      "AddressRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "OkToMailShot"
        ],
        "properties": {
          "Description": {
            "type": "string",
            "maxLength": 50,
            "nullable": true
          },
          "AddressLine1": {
            "type": "string",
            "maxLength": 150,
            "nullable": true
          },
          "AddressLine2": {
            "type": "string",
            "maxLength": 150,
            "nullable": true
          },
          "AddressLine3": {
            "type": "string",
            "maxLength": 150,
            "nullable": true
          },
          "Town": {
            "type": "string",
            "maxLength": 50,
            "nullable": true
          },
          "County": {
            "type": "string",
            "maxLength": 50,
            "nullable": true
          },
          "Postcode": {
            "type": "string",
            "maxLength": 10,
            "nullable": true
          },
          "CountryId": {
            "type": "integer",
            "nullable": true
          },
          "OkToMailShot": {
            "type": "boolean"
          }
        }
      },
      "AddressType": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ReferenceItem"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "Id": {
                "type": "integer",
                "format": "byte"
              },
              "Name": {
                "type": "string",
                "nullable": true
              },
              "CandidateTravelDefault": {
                "type": "boolean"
              }
            }
          }
        ]
      },
      "AttachmentType": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ReferenceItem"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "Id": {
                "type": "integer",
                "format": "int32"
              },
              "Name": {
                "type": "string",
                "nullable": true
              },
              "Candidate": {
                "type": "boolean"
              },
              "Company": {
                "type": "boolean"
              },
              "Location": {
                "type": "boolean"
              },
              "Contact": {
                "type": "boolean"
              },
              "Job": {
                "type": "boolean"
              },
              "Interview": {
                "type": "boolean"
              },
              "Placement": {
                "type": "boolean"
              }
            }
          }
        ]
      },
      "Attribute": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ReferenceItem"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "Id": {
                "type": "integer",
                "format": "int32"
              },
              "Name": {
                "type": "string",
                "nullable": true
              },
              "Description": {
                "type": "string",
                "nullable": true
              },
              "ScoreType": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/AttributeScoreType"
                  }
                ]
              }
            }
          }
        ]
      },
      "AttributeChild": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ReferenceItem"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "Id": {
                "type": "integer",
                "format": "int32"
              },
              "Name": {
                "type": "string",
                "nullable": true
              },
              "Description": {
                "type": "string",
                "nullable": true
              },
              "ScoreType": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/AttributeScoreType"
                  }
                ]
              },
              "ParentAttribute": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/Attribute"
                  }
                ]
              }
            }
          }
        ]
      },
      "AttributeScore": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ReferenceItem"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "Id": {
                "type": "integer"
              },
              "Name": {
                "type": "string",
                "nullable": true
              },
              "Description": {
                "type": "string",
                "nullable": true
              },
              "ScoreType": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/AttributeScoreType"
                  }
                ]
              }
            }
          }
        ]
      },
      "AttributeScoreType": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ReferenceItem"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "Id": {
                "type": "integer",
                "format": "byte"
              },
              "Name": {
                "type": "string",
                "nullable": true
              },
              "Description": {
                "type": "string",
                "nullable": true
              }
            }
          }
        ]
      },
      "BaseCandidateResult": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "Id",
          "Forename",
          "Surname",
          "IsTemp",
          "IsActive",
          "Created",
          "LastUpdated"
        ],
        "properties": {
          "Id": {
            "type": "integer",
            "format": "int32"
          },
          "Forename": {
            "type": "string",
            "minLength": 1
          },
          "Surname": {
            "type": "string",
            "minLength": 1
          },
          "DateOfBirth": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "IsTemp": {
            "type": "boolean"
          },
          "IsActive": {
            "type": "boolean"
          },
          "Created": {
            "type": "string",
            "format": "date-time"
          },
          "LastUpdated": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "BaseCompanyResult": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "Id",
          "Name",
          "ShortName",
          "OtherNames",
          "LinkedInUrl",
          "XingUrl",
          "FacebookProfileUrl",
          "TwitterProfileUrl",
          "IsActive",
          "Created",
          "LastUpdated"
        ],
        "properties": {
          "Id": {
            "type": "integer",
            "format": "int32"
          },
          "Name": {
            "type": "string",
            "minLength": 1
          },
          "ShortName": {
            "type": "string",
            "minLength": 1
          },
          "OtherNames": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "LinkedInUrl": {
            "type": "string",
            "minLength": 1
          },
          "XingUrl": {
            "type": "string",
            "minLength": 1
          },
          "FacebookProfileUrl": {
            "type": "string",
            "minLength": 1
          },
          "TwitterProfileUrl": {
            "type": "string",
            "minLength": 1
          },
          "IsActive": {
            "type": "boolean"
          },
          "Created": {
            "type": "string",
            "format": "date-time"
          },
          "LastUpdated": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "BaseContactRequest": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "TitleId": {
            "type": "integer",
            "format": "byte",
            "nullable": true
          },
          "Forename": {
            "type": "string",
            "maxLength": 50,
            "nullable": true
          },
          "Middlename": {
            "type": "string",
            "maxLength": 50,
            "nullable": true
          },
          "Surname": {
            "type": "string",
            "maxLength": 50,
            "nullable": true
          },
          "KnownAs": {
            "type": "string",
            "maxLength": 50,
            "nullable": true
          },
          "FestiveMail": {
            "type": "boolean",
            "nullable": true
          },
          "LinkedInUrl": {
            "type": "string",
            "maxLength": 100,
            "nullable": true
          },
          "XingUrl": {
            "type": "string",
            "maxLength": 100,
            "nullable": true
          },
          "FacebookProfileUrl": {
            "type": "string",
            "maxLength": 100,
            "nullable": true
          },
          "TwitterProfileUrl": {
            "type": "string",
            "maxLength": 100,
            "nullable": true
          },
          "Photo": {
            "type": "string",
            "description": "A Base64 image to display against the candidate\n\nThe image cannot exceed the max upload size configured in Infinity.",
            "format": "byte",
            "nullable": true
          },
          "StartDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "EndDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "Salary": {
            "type": "number",
            "format": "decimal",
            "nullable": true
          },
          "SalaryPerId": {
            "type": "integer",
            "format": "byte",
            "nullable": true
          },
          "SalaryCurrencyId": {
            "type": "integer",
            "format": "byte",
            "nullable": true
          },
          "JobTitle": {
            "type": "string",
            "maxLength": 70,
            "nullable": true
          },
          "Department": {
            "type": "string",
            "maxLength": 50,
            "nullable": true
          },
          "ContactPriorityId": {
            "type": "integer",
            "format": "byte",
            "nullable": true
          },
          "IsDecisionMaker": {
            "type": "boolean",
            "nullable": true
          },
          "AlternateCode": {
            "type": "string",
            "maxLength": 15,
            "nullable": true
          },
          "Notes": {
            "type": "string",
            "nullable": true
          },
          "Telecoms": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ContactTelecomRequest"
            }
          },
          "OwningConsultants": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/OwningConsultant"
            }
          },
          "Consultants": {
            "type": "array",
            "description": "Depreciated. OwningConsultants can be used instead to supply a list of consultants and their roles.",
            "nullable": true,
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "JobTitles": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/CompanyJobTitleRequest"
            }
          },
          "Attributes": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/CompanyAttributeRequest"
            }
          },
          "ChildAttributes": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/CompanyAttributeRequest"
            }
          },
          "QualificationsAndCertifications": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/CompanyQualificationAndCertificationRequest"
            }
          },
          "CallBacks": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/CallBackRequest"
            }
          },
          "CustomFieldDetails": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/CustomFieldDetailRequest"
              }
            ]
          }
        }
      },
      "BaseContactResult": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "Id",
          "Forename",
          "MiddleName",
          "Surname",
          "LinkedInUrl",
          "XingUrl",
          "FacebookProfileUrl",
          "TwitterProfileUrl",
          "IsActive",
          "Created",
          "LastUpdated",
          "Location",
          "Company"
        ],
        "properties": {
          "Id": {
            "type": "integer",
            "format": "int32"
          },
          "Forename": {
            "type": "string",
            "minLength": 1
          },
          "MiddleName": {
            "type": "string",
            "minLength": 1
          },
          "Surname": {
            "type": "string",
            "minLength": 1
          },
          "LinkedInUrl": {
            "type": "string",
            "minLength": 1
          },
          "XingUrl": {
            "type": "string",
            "minLength": 1
          },
          "FacebookProfileUrl": {
            "type": "string",
            "minLength": 1
          },
          "TwitterProfileUrl": {
            "type": "string",
            "minLength": 1
          },
          "IsActive": {
            "type": "boolean"
          },
          "Created": {
            "type": "string",
            "format": "date-time"
          },
          "LastUpdated": {
            "type": "string",
            "format": "date-time"
          },
          "Location": {
            "$ref": "#/components/schemas/ContactLocationDetails"
          },
          "Company": {
            "$ref": "#/components/schemas/Entity"
          }
        }
      },
      "BaseLocationRequest": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Name": {
            "type": "string",
            "maxLength": 50,
            "nullable": true
          },
          "Address": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/AddressRequest"
              }
            ]
          },
          "Telecoms": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/TelecomRequest"
            }
          },
          "NearestTrainStation": {
            "type": "string",
            "maxLength": 30,
            "nullable": true
          },
          "AlternateCode": {
            "type": "string",
            "maxLength": 15,
            "nullable": true
          },
          "Notes": {
            "type": "string",
            "nullable": true
          },
          "JobTitles": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/CompanyJobTitleRequest"
            }
          },
          "Attributes": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/CompanyAttributeRequest"
            }
          },
          "ChildAttributes": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/CompanyAttributeRequest"
            }
          },
          "QualificationsAndCertifications": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/CompanyQualificationAndCertificationRequest"
            }
          },
          "CallBacks": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/CallBackRequest"
            }
          },
          "CustomFieldDetails": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/CustomFieldDetailRequest"
              }
            ]
          }
        }
      },
      "BaseResult": {
        "type": "object",
        "x-abstract": true,
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "Benefit": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ReferenceItem"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "Id": {
                "type": "integer"
              },
              "Name": {
                "type": "string",
                "nullable": true
              }
            }
          }
        ]
      },
      "BenefitRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "BenefitId",
          "Notes"
        ],
        "properties": {
          "BenefitId": {
            "type": "integer"
          },
          "Notes": {
            "type": "string",
            "minLength": 1
          }
        }
      },
      "BreaksType": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "PaidAndCharged",
          "UnpaidAndUncharged"
        ],
        "enum": [
          "PaidAndCharged",
          "UnpaidAndUncharged"
        ]
      },
      "BusinessSector": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ReferenceItem"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "Id": {
                "type": "integer"
              },
              "Name": {
                "type": "string",
                "nullable": true
              }
            }
          }
        ]
      },
      "CallBackRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "TypeId",
          "DueDate",
          "ForConsultantId"
        ],
        "properties": {
          "TypeId": {
            "type": "integer",
            "format": "byte"
          },
          "DueDate": {
            "type": "string",
            "format": "date-time"
          },
          "DueTime": {
            "type": "string",
            "format": "duration",
            "nullable": true
          },
          "ForConsultantId": {
            "type": "integer",
            "format": "int32"
          },
          "Details": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "CallBackType": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ReferenceItem"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "Id": {
                "type": "integer",
                "format": "byte"
              },
              "Name": {
                "type": "string",
                "nullable": true
              }
            }
          }
        ]
      },
      "CandidateAddressRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/AddressRequest"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "AddressTypeId",
              "SendByDefault"
            ],
            "properties": {
              "AddressTypeId": {
                "type": "integer",
                "format": "byte"
              },
              "SendByDefault": {
                "type": "boolean"
              }
            }
          }
        ]
      },
      "CandidateAttachmentRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ICaptureCandidateAttachmentRequest"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "CandidateId",
              "FileExtension"
            ],
            "properties": {
              "CandidateId": {
                "type": "integer",
                "format": "int32"
              },
              "AttachmentTypeId": {
                "type": "integer",
                "format": "int32",
                "nullable": true
              },
              "FileExtension": {
                "type": "string",
                "maxLength": 6,
                "minLength": 1
              }
            }
          }
        ]
      },
      "CandidateAttachmentResult": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Id": {
            "type": "integer",
            "format": "int32"
          },
          "Name": {
            "type": "string",
            "maxLength": 255
          },
          "FileExtension": {
            "type": "string",
            "maxLength": 6
          },
          "AttachmentTypeId": {
            "type": "integer",
            "format": "int32"
          },
          "Attached": {
            "type": "string",
            "format": "date-time"
          },
          "Content": {
            "type": "string",
            "format": "byte",
            "nullable": true
          }
        }
      },
      "CandidateAttributeRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ICaptureCandidateAttributeRequest"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "Period"
            ],
            "properties": {
              "Experience": {
                "type": "integer",
                "format": "byte",
                "nullable": true
              },
              "Period": {
                "$ref": "#/components/schemas/ExperienceInterval"
              },
              "Notes": {
                "type": "string",
                "maxLength": 200,
                "nullable": true
              },
              "LastUsed": {
                "type": "string",
                "format": "date-time",
                "nullable": true
              }
            }
          }
        ]
      },
      "CandidateAvailabilityResult": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "Id",
          "Start",
          "End",
          "TimeZoneId",
          "IsAvailable",
          "IsReadOnly",
          "CanDelete"
        ],
        "properties": {
          "Id": {
            "type": "integer",
            "format": "int32"
          },
          "Start": {
            "type": "string",
            "format": "date-time"
          },
          "End": {
            "type": "string",
            "format": "date-time"
          },
          "TimeZoneId": {
            "type": "string",
            "minLength": 1
          },
          "IsAvailable": {
            "type": "boolean"
          },
          "UnavailabilityDetail": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/CandidateUnavailabilityDetail"
              }
            ]
          },
          "IsReadOnly": {
            "type": "boolean"
          },
          "CanDelete": {
            "type": "boolean"
          }
        }
      },
      "CandidateCISRequest": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "CISPercentage": {
            "type": "number",
            "format": "decimal",
            "nullable": true
          },
          "UTRNumber": {
            "type": "string",
            "maxLength": 30,
            "nullable": true
          },
          "VerificationNumber": {
            "type": "string",
            "maxLength": 30,
            "nullable": true
          }
        }
      },
      "CandidateCVRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "CandidateId",
          "Name",
          "FileExtension",
          "Content"
        ],
        "properties": {
          "CandidateId": {
            "type": "integer",
            "format": "int32"
          },
          "Name": {
            "type": "string",
            "maxLength": 255,
            "minLength": 1
          },
          "FileExtension": {
            "type": "string",
            "description": "Supported values: .docx, .doc, .rtf, .txt, .html, .pdf, .odt",
            "minLength": 1
          },
          "OnlineReference": {
            "type": "string",
            "nullable": true
          },
          "IsDefault": {
            "type": "boolean"
          },
          "IsFormatted": {
            "type": "boolean"
          },
          "IsCurrent": {
            "type": "boolean"
          },
          "Content": {
            "type": "string",
            "description": "A Base64 CV document to attach to the candidate.\n\nThe document cannot exceed the max upload size configured in Infinity.",
            "format": "byte",
            "minLength": 1
          }
        }
      },
      "CandidateCVResult": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Id": {
            "type": "integer",
            "format": "int32"
          },
          "CandidateId": {
            "type": "integer",
            "format": "int32"
          },
          "Name": {
            "type": "string",
            "maxLength": 255
          },
          "FileExtension": {
            "type": "string",
            "maxLength": 6
          },
          "OnlineReference": {
            "type": "string",
            "maxLength": 512
          },
          "IsDefault": {
            "type": "boolean"
          },
          "IsFormatted": {
            "type": "boolean"
          },
          "IsCurrent": {
            "type": "boolean"
          },
          "Received": {
            "type": "string",
            "format": "date-time"
          },
          "Edited": {
            "type": "string",
            "format": "date-time"
          },
          "Content": {
            "type": "string",
            "format": "byte",
            "nullable": true
          }
        }
      },
      "CandidateDetail": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Id": {
            "type": "integer",
            "format": "int32"
          },
          "Photo": {
            "type": "string",
            "format": "byte",
            "nullable": true
          },
          "Landline": {
            "type": "string",
            "nullable": true
          },
          "Mobile": {
            "type": "string",
            "nullable": true
          },
          "EmailAddress": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "CandidateEmploymentHistoryRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ICaptureCandidateEmploymentHistoryRequest"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "CurrencyId": {
                "type": "integer",
                "format": "byte",
                "nullable": true
              },
              "Pay": {
                "type": "number",
                "format": "decimal"
              },
              "IntervalPerId": {
                "type": "integer",
                "format": "byte",
                "nullable": true
              },
              "Notes": {
                "type": "string",
                "nullable": true
              }
            }
          }
        ]
      },
      "CandidateExpectedRateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ICaptureCandidateExpectedRateRequest"
          },
          {
            "type": "object",
            "additionalProperties": false
          }
        ]
      },
      "CandidateFinancialRequest": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "WorkerTypeId": {
            "type": "integer",
            "nullable": true
          },
          "PaymentTypeId": {
            "type": "integer",
            "format": "byte",
            "nullable": true
          },
          "PayIntervalId": {
            "type": "integer",
            "format": "byte",
            "nullable": true
          },
          "AWRCandidate": {
            "type": "boolean",
            "description": "Depreciated. Field has been removed from Infinity as they can no longer opt out."
          },
          "NINumber": {
            "type": "string",
            "maxLength": 15,
            "nullable": true
          },
          "StartDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "BankName": {
            "type": "string",
            "maxLength": 50,
            "nullable": true
          },
          "BankAddressLine1": {
            "type": "string",
            "maxLength": 150,
            "nullable": true
          },
          "BankAddressLine2": {
            "type": "string",
            "maxLength": 150,
            "nullable": true
          },
          "BankAddressLine3": {
            "type": "string",
            "maxLength": 150,
            "nullable": true
          },
          "BankTown": {
            "type": "string",
            "maxLength": 50,
            "nullable": true
          },
          "BankCounty": {
            "type": "string",
            "maxLength": 50,
            "nullable": true
          },
          "BankPostcode": {
            "type": "string",
            "maxLength": 10,
            "nullable": true
          },
          "BankCountryId": {
            "type": "integer",
            "nullable": true
          },
          "BankAccountName": {
            "type": "string",
            "maxLength": 50,
            "nullable": true
          },
          "BankAccountNumber": {
            "type": "string",
            "maxLength": 8,
            "nullable": true
          },
          "BankSortCode": {
            "type": "string",
            "maxLength": 6,
            "nullable": true
          },
          "BuildingSocietyReference": {
            "type": "string",
            "maxLength": 20,
            "nullable": true
          },
          "IBANNumber": {
            "type": "string",
            "maxLength": 34,
            "nullable": true
          },
          "SwiftCode": {
            "type": "string",
            "maxLength": 11,
            "nullable": true
          },
          "PAYEDetails": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/CandidatePAYERequest"
              }
            ]
          },
          "NonPAYEDetails": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/CandidateNonPAYERequest"
              }
            ]
          },
          "CISDetails": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/CandidateCISRequest"
              }
            ]
          },
          "UmbrellaCompanyId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        }
      },
      "CandidateGetResult": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseCandidateResult"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "IsRestricted",
              "Status",
              "WebId",
              "Middlename",
              "KnownAs",
              "ThirdPartyOptOut",
              "MaximumWeeklyWorkingHoursOptOut",
              "LawfulBasisOtherReason",
              "Telecoms",
              "LinkedInUrl",
              "XingUrl",
              "FacebookProfileUrl",
              "TwitterProfileUrl",
              "ICaptureWebId",
              "Addresses",
              "Sources",
              "Alert",
              "IsPermanent",
              "IsContract",
              "IsTemporary",
              "PreferredLocation",
              "BasedIn",
              "Relocate",
              "Transport",
              "NoticePeriod",
              "StudentVisa",
              "OwningConsultants",
              "Consultants",
              "AlternateCode",
              "RightToWork",
              "EAA",
              "RTWControlledByTrustID",
              "FestiveMail",
              "Comments",
              "Summary",
              "Insights",
              "DrivingLicence",
              "EmploymentHistory",
              "JobTitles",
              "Attributes",
              "ChildAttributes",
              "QualificationsAndCertifications",
              "CallBacks",
              "ShortlistJobCodes"
            ],
            "properties": {
              "IsRestricted": {
                "type": "boolean"
              },
              "Status": {
                "type": "string",
                "minLength": 1
              },
              "WebId": {
                "type": "string",
                "minLength": 1
              },
              "TitleId": {
                "type": "integer",
                "format": "byte",
                "nullable": true
              },
              "Middlename": {
                "type": "string",
                "maxLength": 50,
                "minLength": 1
              },
              "KnownAs": {
                "type": "string",
                "maxLength": 50,
                "minLength": 1
              },
              "GenderId": {
                "type": "integer",
                "format": "byte",
                "nullable": true
              },
              "MaritalStatusId": {
                "type": "integer",
                "format": "byte",
                "nullable": true
              },
              "NationalityId": {
                "type": "integer",
                "nullable": true
              },
              "SecondNationalityId": {
                "type": "integer",
                "nullable": true
              },
              "ThirdNationalityId": {
                "type": "integer",
                "nullable": true
              },
              "FourthNationalityId": {
                "type": "integer",
                "nullable": true
              },
              "EthnicOriginId": {
                "type": "integer",
                "format": "byte",
                "nullable": true
              },
              "CountryOfOriginId": {
                "type": "integer",
                "nullable": true
              },
              "ThirdPartyOptOut": {
                "type": "boolean"
              },
              "MaximumWeeklyWorkingHoursOptOut": {
                "type": "boolean"
              },
              "ContractualLegalLawfulBasis": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/LawfulBasis"
                  }
                ]
              },
              "ConsentLegitimateInterestLawfulBasis": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/LawfulBasis"
                  }
                ]
              },
              "LawfulBasisReasonId": {
                "type": "integer",
                "format": "int32",
                "nullable": true
              },
              "LawfulBasisOtherReason": {
                "type": "string",
                "minLength": 1
              },
              "LawfulBasisStatusId": {
                "type": "integer",
                "format": "int32",
                "nullable": true
              },
              "OriginOfDataId": {
                "type": "integer",
                "format": "int32",
                "nullable": true
              },
              "Telecoms": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/EntityTelecomDetail"
                }
              },
              "LinkedInUrl": {
                "type": "string",
                "maxLength": 100,
                "minLength": 1
              },
              "XingUrl": {
                "type": "string",
                "maxLength": 100,
                "minLength": 1
              },
              "FacebookProfileUrl": {
                "type": "string",
                "maxLength": 100,
                "minLength": 1
              },
              "TwitterProfileUrl": {
                "type": "string",
                "maxLength": 100,
                "minLength": 1
              },
              "ICaptureWebId": {
                "type": "string",
                "maxLength": 15,
                "minLength": 1
              },
              "Photo": {
                "type": "string",
                "description": "A Base64 image to display against the candidate\n\nThe image cannot exceed the max upload size configured in Infinity.",
                "format": "byte",
                "nullable": true
              },
              "Addresses": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/CandidateAddressRequest"
                }
              },
              "StatusId": {
                "type": "integer",
                "format": "byte",
                "nullable": true
              },
              "AvailabilityDate": {
                "type": "string",
                "format": "date-time",
                "nullable": true
              },
              "Sources": {
                "type": "array",
                "items": {
                  "type": "integer"
                }
              },
              "Alert": {
                "type": "string",
                "maxLength": 255,
                "minLength": 1
              },
              "IsPermanent": {
                "type": "boolean"
              },
              "PermanentExpectedRate": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/CandidateExpectedRateRequest"
                  }
                ]
              },
              "IsContract": {
                "type": "boolean"
              },
              "ContractExpectedRate": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/CandidateExpectedRateRequest"
                  }
                ]
              },
              "IsTemporary": {
                "type": "boolean"
              },
              "TemporaryExpectedRate": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/CandidateExpectedRateRequest"
                  }
                ]
              },
              "ExpectedRateCurrencyId": {
                "type": "integer",
                "format": "byte",
                "nullable": true
              },
              "PreferredLocation": {
                "type": "string",
                "maxLength": 200,
                "minLength": 1
              },
              "BasedIn": {
                "type": "string",
                "maxLength": 50,
                "minLength": 1
              },
              "Relocate": {
                "type": "boolean"
              },
              "Transport": {
                "type": "boolean"
              },
              "NoticePeriod": {
                "type": "integer",
                "format": "byte"
              },
              "NoticePeriodIntervalId": {
                "type": "integer",
                "format": "byte",
                "nullable": true
              },
              "StudentVisa": {
                "type": "boolean"
              },
              "OwningConsultants": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/OwningConsultant"
                }
              },
              "Consultants": {
                "type": "array",
                "description": "Depreciated. OwningConsultants can be used instead to return a list of consultants and their roles.",
                "items": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "AlternateCode": {
                "type": "string",
                "maxLength": 15,
                "minLength": 1
              },
              "RightToWork": {
                "type": "boolean"
              },
              "EAA": {
                "type": "boolean"
              },
              "RTWControlledByTrustID": {
                "type": "boolean"
              },
              "FestiveMail": {
                "type": "boolean"
              },
              "Comments": {
                "type": "string",
                "minLength": 1
              },
              "Summary": {
                "type": "string",
                "minLength": 1
              },
              "Insights": {
                "type": "string",
                "minLength": 1
              },
              "Financials": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/CandidateFinancialRequest"
                  }
                ]
              },
              "DrivingLicence": {
                "$ref": "#/components/schemas/DrivingLicenceRequest"
              },
              "EmploymentHistory": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/CandidateEmploymentHistoryRequest"
                }
              },
              "JobTitles": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/CandidateJobTitleRequest"
                }
              },
              "Attributes": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/CandidateAttributeRequest"
                }
              },
              "ChildAttributes": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/CandidateAttributeRequest"
                }
              },
              "QualificationsAndCertifications": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/CandidateQualificationAndCertificationRequest"
                }
              },
              "CallBacks": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/CallBackRequest"
                }
              },
              "CustomFieldDetails": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/CustomFieldDetail"
                  }
                ]
              },
              "ShortlistJobCodes": {
                "type": "array",
                "description": "A list of valid job codes to shortlist the candidate against e.g. JO0000000112",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        ]
      },
      "CandidateJobTitleRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "Period"
        ],
        "properties": {
          "Id": {
            "type": "integer",
            "format": "int32"
          },
          "IsPreferred": {
            "type": "boolean"
          },
          "Experience": {
            "type": "integer",
            "nullable": true
          },
          "Period": {
            "$ref": "#/components/schemas/ExperienceInterval"
          },
          "Notes": {
            "type": "string",
            "maxLength": 200,
            "nullable": true
          },
          "LastUsed": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        }
      },
      "CandidateNonPAYERequest": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Name": {
            "type": "string",
            "maxLength": 50,
            "nullable": true
          },
          "AddressLine1": {
            "type": "string",
            "maxLength": 150,
            "nullable": true
          },
          "AddressLine2": {
            "type": "string",
            "maxLength": 150,
            "nullable": true
          },
          "AddressLine3": {
            "type": "string",
            "maxLength": 150,
            "nullable": true
          },
          "Town": {
            "type": "string",
            "maxLength": 50,
            "nullable": true
          },
          "County": {
            "type": "string",
            "maxLength": 50,
            "nullable": true
          },
          "Postcode": {
            "type": "string",
            "maxLength": 10,
            "nullable": true
          },
          "CountryId": {
            "type": "integer",
            "nullable": true
          },
          "RegistrationNumber": {
            "type": "string",
            "maxLength": 30,
            "nullable": true
          },
          "VATNumber": {
            "type": "string",
            "maxLength": 30,
            "nullable": true
          },
          "VATCodeId": {
            "type": "integer",
            "format": "byte",
            "nullable": true
          },
          "NonUKTaxCode": {
            "type": "string",
            "maxLength": 20,
            "nullable": true
          }
        }
      },
      "CandidatePAYERequest": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "HolidayYearStartDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        }
      },
      "CandidatePortalAvailabilityType": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "Daily",
          "PerShift"
        ],
        "enum": [
          "Daily",
          "PerShift"
        ]
      },
      "CandidatePortalDocumentEntity": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Type": {
            "$ref": "#/components/schemas/CandidatePortalDocumentType"
          },
          "TypeValue": {
            "type": "integer",
            "format": "int32"
          },
          "Name": {
            "type": "string",
            "nullable": true
          },
          "Description": {
            "type": "string",
            "nullable": true
          },
          "PortalName": {
            "type": "string",
            "nullable": true
          },
          "DocumentUrl": {
            "type": "string",
            "nullable": true
          },
          "PartitionKey": {
            "type": "string",
            "nullable": true
          },
          "RowKey": {
            "type": "string",
            "nullable": true
          },
          "Timestamp": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "ETag": {
            "$ref": "#/components/schemas/ETag"
          }
        }
      },
      "CandidatePortalDocumentType": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "References",
          "Upload",
          "TrustID",
          "Legalesign",
          "Sign",
          "ApplicationForm",
          "View",
          "UploadDrivingLicence",
          "Info",
          "GdprConsent",
          "UploadCv",
          "QualsAndCerts",
          "RightToWork",
          "TempAvailability"
        ],
        "enum": [
          "References",
          "Upload",
          "TrustID",
          "Legalesign",
          "Sign",
          "ApplicationForm",
          "View",
          "UploadDrivingLicence",
          "Info",
          "GdprConsent",
          "UploadCv",
          "QualsAndCerts",
          "RightToWork",
          "TempAvailability"
        ]
      },
      "CandidatePortalInviteStatus": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "Invited",
          "CodeSent",
          "LoggedIn"
        ],
        "enum": [
          "Invited",
          "CodeSent",
          "LoggedIn"
        ]
      },
      "CandidatePortalType": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "Temp"
        ],
        "enum": [
          "Temp"
        ]
      },
      "CandidateQualificationAndCertificationRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ICaptureCandidateQualificationAndCertificationRequest"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "Held",
              "Original"
            ],
            "properties": {
              "Issued": {
                "type": "string",
                "format": "date-time",
                "nullable": true
              },
              "Expires": {
                "type": "string",
                "format": "date-time",
                "nullable": true
              },
              "Review": {
                "type": "string",
                "format": "date-time",
                "nullable": true
              },
              "DateCopied": {
                "type": "string",
                "format": "date-time",
                "nullable": true
              },
              "DateSeen": {
                "type": "string",
                "format": "date-time",
                "nullable": true
              },
              "Held": {
                "type": "boolean"
              },
              "Obtained": {
                "type": "string",
                "maxLength": 70,
                "nullable": true
              },
              "Original": {
                "type": "boolean"
              },
              "Notes": {
                "type": "string",
                "maxLength": 200,
                "nullable": true
              },
              "ReferenceNumber": {
                "type": "string",
                "maxLength": 20,
                "nullable": true
              }
            }
          }
        ]
      },
      "CandidateRefereeType": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "InCaseOfEmergencyContact",
          "PersonalReference",
          "EmployerReference",
          "AcademicReference",
          "VoluntaryReference"
        ],
        "enum": [
          "InCaseOfEmergencyContact",
          "PersonalReference",
          "EmployerReference",
          "AcademicReference",
          "VoluntaryReference"
        ]
      },
      "CandidateRequest": {
        "type": "object",
        "description": "Model to create a Candidate",
        "additionalProperties": false,
        "properties": {
          "TitleId": {
            "type": "integer",
            "format": "byte",
            "nullable": true
          },
          "Forename": {
            "type": "string",
            "maxLength": 50,
            "nullable": true
          },
          "Middlename": {
            "type": "string",
            "maxLength": 50,
            "nullable": true
          },
          "Surname": {
            "type": "string",
            "maxLength": 50,
            "nullable": true
          },
          "KnownAs": {
            "type": "string",
            "maxLength": 50,
            "nullable": true
          },
          "GenderId": {
            "type": "integer",
            "format": "byte",
            "nullable": true
          },
          "MaritalStatusId": {
            "type": "integer",
            "format": "byte",
            "nullable": true
          },
          "DateOfBirth": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "NationalityId": {
            "type": "integer",
            "nullable": true
          },
          "SecondNationalityId": {
            "type": "integer",
            "nullable": true
          },
          "ThirdNationalityId": {
            "type": "integer",
            "nullable": true
          },
          "FourthNationalityId": {
            "type": "integer",
            "nullable": true
          },
          "EthnicOriginId": {
            "type": "integer",
            "format": "byte",
            "nullable": true
          },
          "CountryOfOriginId": {
            "type": "integer",
            "nullable": true
          },
          "ThirdPartyOptOut": {
            "type": "boolean"
          },
          "MaximumWeeklyWorkingHoursOptOut": {
            "type": "boolean"
          },
          "ContractualLegalLawfulBasis": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/LawfulBasis"
              }
            ]
          },
          "ConsentLegitimateInterestLawfulBasis": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/LawfulBasis"
              }
            ]
          },
          "LawfulBasisReasonId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "LawfulBasisOtherReason": {
            "type": "string",
            "maxLength": 100,
            "nullable": true
          },
          "LawfulBasisStatusId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "OriginOfDataId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "LinkedInUrl": {
            "type": "string",
            "maxLength": 100,
            "nullable": true
          },
          "XingUrl": {
            "type": "string",
            "maxLength": 100,
            "nullable": true
          },
          "FacebookProfileUrl": {
            "type": "string",
            "maxLength": 100,
            "nullable": true
          },
          "TwitterProfileUrl": {
            "type": "string",
            "maxLength": 100,
            "nullable": true
          },
          "ICaptureWebId": {
            "type": "string",
            "maxLength": 15,
            "nullable": true
          },
          "Photo": {
            "type": "string",
            "description": "A Base64 image to display against the candidate\n\nThe image cannot exceed the max upload size configured in Infinity.",
            "format": "byte",
            "nullable": true
          },
          "Telecoms": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/TelecomRequest"
            }
          },
          "Addresses": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/CandidateAddressRequest"
            }
          },
          "StatusId": {
            "type": "integer",
            "format": "byte",
            "nullable": true
          },
          "AvailabilityDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "Sources": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "integer"
            }
          },
          "Alert": {
            "type": "string",
            "maxLength": 255,
            "nullable": true
          },
          "IsPermanent": {
            "type": "boolean"
          },
          "PermanentExpectedRate": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/CandidateExpectedRateRequest"
              }
            ]
          },
          "IsContract": {
            "type": "boolean"
          },
          "ContractExpectedRate": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/CandidateExpectedRateRequest"
              }
            ]
          },
          "IsTemporary": {
            "type": "boolean"
          },
          "TemporaryExpectedRate": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/CandidateExpectedRateRequest"
              }
            ]
          },
          "ExpectedRateCurrencyId": {
            "type": "integer",
            "format": "byte",
            "nullable": true
          },
          "PreferredLocation": {
            "type": "string",
            "maxLength": 200,
            "nullable": true
          },
          "BasedIn": {
            "type": "string",
            "maxLength": 50,
            "nullable": true
          },
          "Relocate": {
            "type": "boolean"
          },
          "Transport": {
            "type": "boolean"
          },
          "NoticePeriod": {
            "type": "integer",
            "format": "byte"
          },
          "NoticePeriodIntervalId": {
            "type": "integer",
            "format": "byte",
            "nullable": true
          },
          "StudentVisa": {
            "type": "boolean"
          },
          "OwningConsultants": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/OwningConsultant"
            }
          },
          "Consultants": {
            "type": "array",
            "description": "Depreciated. OwningConsultants can be used instead to supply a list of consultants and their roles.",
            "nullable": true,
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "AlternateCode": {
            "type": "string",
            "maxLength": 15,
            "nullable": true
          },
          "RightToWork": {
            "type": "boolean",
            "nullable": true
          },
          "EAA": {
            "type": "boolean",
            "nullable": true
          },
          "EaaRightToWorkExpiry": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "EaaRightToWorkNeverExpires": {
            "type": "boolean",
            "nullable": true
          },
          "FestiveMail": {
            "type": "boolean"
          },
          "Comments": {
            "type": "string",
            "nullable": true
          },
          "Summary": {
            "type": "string",
            "nullable": true
          },
          "Insights": {
            "type": "string",
            "nullable": true
          },
          "Financials": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/CandidateFinancialRequest"
              }
            ]
          },
          "DrivingLicence": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/DrivingLicenceRequest"
              }
            ]
          },
          "EmploymentHistory": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/CandidateEmploymentHistoryRequest"
            }
          },
          "JobTitles": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/CandidateJobTitleRequest"
            }
          },
          "Attributes": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/CandidateAttributeRequest"
            }
          },
          "ChildAttributes": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/CandidateAttributeRequest"
            }
          },
          "QualificationsAndCertifications": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/CandidateQualificationAndCertificationRequest"
            }
          },
          "CallBacks": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/CallBackRequest"
            }
          },
          "CustomFieldDetails": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/CustomFieldDetailRequest"
              }
            ]
          },
          "ShortlistJobCodes": {
            "type": "array",
            "description": "A list of valid job codes to shortlist the candidate against e.g. JO0000000112",
            "nullable": true,
            "items": {
              "type": "string"
            }
          }
        }
      },
      "CandidateResult": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseCandidateResult"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "Telecoms"
            ],
            "properties": {
              "Telecoms": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/TelecomDetail"
                }
              }
            }
          }
        ]
      },
      "CandidatesResult": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseResult"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "CandidateId": {
                "type": "integer",
                "format": "int32"
              },
              "Created": {
                "type": "string",
                "format": "date-time"
              },
              "Updated": {
                "type": "string",
                "format": "date-time"
              },
              "Title": {
                "type": "string",
                "nullable": true
              },
              "FirstName": {
                "type": "string",
                "nullable": true
              },
              "MiddleName": {
                "type": "string",
                "nullable": true
              },
              "LastName": {
                "type": "string",
                "nullable": true
              },
              "KnownAs": {
                "type": "string",
                "nullable": true
              },
              "LinkedIn": {
                "type": "string",
                "nullable": true
              },
              "Summary": {
                "type": "string",
                "nullable": true
              },
              "MobileNumberCountryCode": {
                "type": "integer",
                "nullable": true
              },
              "MobileNumber": {
                "type": "string",
                "nullable": true
              },
              "MobileNumberOkToSms": {
                "type": "boolean",
                "nullable": true
              },
              "MobileNumberOkToMailshot": {
                "type": "boolean",
                "nullable": true
              },
              "HomeEmailAddress": {
                "type": "string",
                "nullable": true
              },
              "HomeEmailAddressOkToMailshot": {
                "type": "boolean",
                "nullable": true
              },
              "HomePhoneNumberCountryCode": {
                "type": "integer",
                "nullable": true
              },
              "HomePhoneNumber": {
                "type": "string",
                "nullable": true
              },
              "WorkEmailAddress": {
                "type": "string",
                "nullable": true
              },
              "WorkEmailAddressOkToMailshot": {
                "type": "boolean",
                "nullable": true
              },
              "WorkPhoneNumberCountryCode": {
                "type": "integer",
                "nullable": true
              },
              "WorkPhoneNumber": {
                "type": "string",
                "nullable": true
              },
              "HomeAddressLine1": {
                "type": "string",
                "nullable": true
              },
              "HomeAddressLine2": {
                "type": "string",
                "nullable": true
              },
              "HomeAddressLine3": {
                "type": "string",
                "nullable": true
              },
              "HomeAddressTown": {
                "type": "string",
                "nullable": true
              },
              "HomeAddressCounty": {
                "type": "string",
                "nullable": true
              },
              "HomeAddressPostCode": {
                "type": "string",
                "nullable": true
              },
              "HomeAddressCountry": {
                "type": "string",
                "nullable": true
              },
              "HomeAddressOkToMailshot": {
                "type": "boolean",
                "nullable": true
              },
              "OwningConsultantFirstName": {
                "type": "string",
                "nullable": true
              },
              "OwningConsultantLastName": {
                "type": "string",
                "nullable": true
              },
              "CurrentEmploymentJobTitle": {
                "type": "string",
                "nullable": true
              },
              "CurrentEmploymentCompanyName": {
                "type": "string",
                "nullable": true
              },
              "ThirdPartyOptOut": {
                "type": "boolean"
              }
            }
          }
        ]
      },
      "CandidateUnavailabilityDetail": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "UnavailabilityReason"
        ],
        "properties": {
          "UnavailabilityReason": {
            "$ref": "#/components/schemas/UnavailabilityReason"
          },
          "PlacementId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        }
      },
      "CategorisedMultiSelectField": {
        "allOf": [
          {
            "$ref": "#/components/schemas/CustomFieldItem"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "Values",
              "ValueIds"
            ],
            "properties": {
              "Values": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "ValueIds": {
                "type": "array",
                "items": {
                  "type": "integer"
                }
              }
            }
          }
        ]
      },
      "CategorisedMultiSelectFieldDefinition": {
        "allOf": [
          {
            "$ref": "#/components/schemas/CustomFieldDefinition"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "Categories": {
                "type": "array",
                "nullable": true,
                "items": {
                  "$ref": "#/components/schemas/CustomCategory"
                }
              }
            }
          }
        ]
      },
      "CategorisedMultiSelectFieldRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/CustomFieldItemRequest"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "ValueIds"
            ],
            "properties": {
              "ValueIds": {
                "type": "array",
                "items": {
                  "type": "integer"
                }
              }
            }
          }
        ]
      },
      "CategoryValues": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "CategoryId": {
            "type": "integer"
          },
          "CategoryValueId": {
            "type": "integer"
          },
          "Value": {
            "type": "string",
            "nullable": true
          },
          "Active": {
            "type": "boolean"
          }
        }
      },
      "CheckBoxField": {
        "allOf": [
          {
            "$ref": "#/components/schemas/CustomFieldItem"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "Value"
            ],
            "properties": {
              "Value": {
                "type": "boolean"
              }
            }
          }
        ]
      },
      "CheckBoxFieldRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/CustomFieldItemRequest"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "Value"
            ],
            "properties": {
              "Value": {
                "type": "boolean"
              }
            }
          }
        ]
      },
      "Color": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "R": {
            "type": "integer",
            "format": "byte"
          },
          "G": {
            "type": "integer",
            "format": "byte"
          },
          "B": {
            "type": "integer",
            "format": "byte"
          },
          "A": {
            "type": "integer",
            "format": "byte"
          },
          "IsKnownColor": {
            "type": "boolean"
          },
          "IsEmpty": {
            "type": "boolean"
          },
          "IsNamedColor": {
            "type": "boolean"
          },
          "IsSystemColor": {
            "type": "boolean"
          },
          "Name": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "ComboBoxField": {
        "allOf": [
          {
            "$ref": "#/components/schemas/CustomFieldItem"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "Value",
              "ValueId"
            ],
            "properties": {
              "Value": {
                "type": "string",
                "minLength": 1
              },
              "ValueId": {
                "type": "integer"
              }
            }
          }
        ]
      },
      "ComboBoxFieldDefinition": {
        "allOf": [
          {
            "$ref": "#/components/schemas/CustomFieldDefinition"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "OrderAlphabetically": {
                "type": "boolean"
              },
              "ComboValues": {
                "type": "array",
                "nullable": true,
                "items": {
                  "$ref": "#/components/schemas/CustomComboValue"
                }
              }
            }
          }
        ]
      },
      "ComboBoxFieldRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/CustomFieldItemRequest"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "ValueId"
            ],
            "properties": {
              "ValueId": {
                "type": "integer"
              }
            }
          }
        ]
      },
      "CommsCentreApplication": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "NotApplicable",
          "HTMLEditor",
          "MicrosoftWord"
        ],
        "enum": [
          "NotApplicable",
          "HTMLEditor",
          "MicrosoftWord"
        ]
      },
      "CommsCentreEventDetailType": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "Name",
          "Contents",
          "Custom",
          "EmailSubject"
        ],
        "enum": [
          "Name",
          "Contents",
          "Custom",
          "EmailSubject"
        ]
      },
      "CommsCentreScreen": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "Admin",
          "Master",
          "Candidate",
          "Company",
          "Meeting",
          "Job",
          "JobShorlist",
          "Interview",
          "Placement",
          "SubmitCV",
          "Lead",
          "Referee"
        ],
        "enum": [
          "Admin",
          "Master",
          "Candidate",
          "Company",
          "Meeting",
          "Job",
          "JobShorlist",
          "Interview",
          "Placement",
          "SubmitCV",
          "Lead",
          "Referee"
        ]
      },
      "CommsCentreSubmitTo": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "NotApplicable",
          "Candidate",
          "Contact",
          "Job",
          "Spec"
        ],
        "enum": [
          "NotApplicable",
          "Candidate",
          "Contact",
          "Job",
          "Spec"
        ]
      },
      "CommsCentreTemplateEntity": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "TypeValue": {
            "type": "integer",
            "format": "int32"
          },
          "ScreenValue": {
            "type": "integer",
            "format": "int32"
          },
          "SubmitToValue": {
            "type": "integer",
            "format": "int32"
          },
          "ApplicationValue": {
            "type": "integer",
            "format": "int32"
          },
          "Name": {
            "type": "string",
            "nullable": true
          },
          "From": {
            "type": "string",
            "nullable": true
          },
          "TemplateUrl": {
            "type": "string",
            "nullable": true
          },
          "AttachmentParentRowKey": {
            "type": "string",
            "nullable": true
          },
          "EmailSubject": {
            "type": "string",
            "nullable": true
          },
          "EmailFormatValue": {
            "type": "integer",
            "format": "int32"
          },
          "EventActionId": {
            "type": "integer",
            "format": "int32"
          },
          "EventDetailTypeValue": {
            "type": "integer",
            "format": "int32"
          },
          "Type": {
            "$ref": "#/components/schemas/CommsCentreType"
          },
          "Screen": {
            "$ref": "#/components/schemas/CommsCentreScreen"
          },
          "SubmitTo": {
            "$ref": "#/components/schemas/CommsCentreSubmitTo"
          },
          "Application": {
            "$ref": "#/components/schemas/CommsCentreApplication"
          },
          "EmailFormat": {
            "$ref": "#/components/schemas/EmailFormat"
          },
          "EventDetailType": {
            "$ref": "#/components/schemas/CommsCentreEventDetailType"
          },
          "PartitionKey": {
            "type": "string",
            "nullable": true
          },
          "RowKey": {
            "type": "string",
            "nullable": true
          },
          "Timestamp": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "ETag": {
            "$ref": "#/components/schemas/ETag"
          }
        }
      },
      "CommsCentreType": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "Email",
          "SMS",
          "Post",
          "OnlineSignature",
          "None"
        ],
        "enum": [
          "Email",
          "SMS",
          "Post",
          "OnlineSignature",
          "None"
        ]
      },
      "CompanyAttributeRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ICaptureCandidateAttributeRequest"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "Notes": {
                "type": "string",
                "maxLength": 200,
                "nullable": true
              }
            }
          }
        ]
      },
      "CompanyFinancialRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "TerritoryId"
        ],
        "properties": {
          "TerritoryId": {
            "type": "integer"
          },
          "ChargeCurrencyId": {
            "type": "integer",
            "format": "byte",
            "nullable": true
          },
          "RegisteredNumber": {
            "type": "string",
            "maxLength": 20,
            "nullable": true
          },
          "VATCodeId": {
            "type": "integer",
            "format": "byte",
            "nullable": true
          },
          "VATNumber": {
            "type": "string",
            "maxLength": 30,
            "nullable": true
          },
          "NonUkTaxCode": {
            "type": "string",
            "maxLength": 20,
            "nullable": true
          },
          "CreditLimit": {
            "type": "number",
            "format": "decimal",
            "nullable": true
          },
          "CreditBalance": {
            "type": "number",
            "format": "decimal",
            "nullable": true
          }
        }
      },
      "CompanyGetResult": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseCompanyResult"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "Telecoms",
              "OwningConsultants",
              "Consultants",
              "Competitors",
              "AlternateCode",
              "Alert",
              "Notes",
              "JobTitles",
              "Attributes",
              "ChildAttributes",
              "QualificationsAndCertifications",
              "CallBacks",
              "Financials"
            ],
            "properties": {
              "Logo": {
                "type": "string",
                "description": "A Base64 image to display against the company\n\nThe image cannot exceed the max upload size configured in Infinity.",
                "format": "byte",
                "nullable": true
              },
              "Telecoms": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/EntityTelecomDetail"
                }
              },
              "CompanyTypeId": {
                "type": "integer",
                "format": "byte",
                "nullable": true
              },
              "BusinessSectorId": {
                "type": "integer",
                "nullable": true
              },
              "OwningConsultants": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/OwningConsultant"
                }
              },
              "Consultants": {
                "type": "array",
                "description": "Depreciated. OwningConsultants can be used instead to return a list of consultants and their roles.",
                "items": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Competitors": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "byte"
                }
              },
              "AlternateCode": {
                "type": "string",
                "minLength": 1
              },
              "Alert": {
                "type": "string",
                "minLength": 1
              },
              "Notes": {
                "type": "string",
                "minLength": 1
              },
              "JobTitles": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/CompanyJobTitleRequest"
                }
              },
              "Attributes": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/CompanyAttributeRequest"
                }
              },
              "ChildAttributes": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/CompanyAttributeRequest"
                }
              },
              "QualificationsAndCertifications": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/CompanyQualificationAndCertificationRequest"
                }
              },
              "CallBacks": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/CallBackRequest"
                }
              },
              "Financials": {
                "$ref": "#/components/schemas/CompanyFinancialRequest"
              },
              "CustomFieldDetails": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/CustomFieldDetail"
                  }
                ]
              },
              "TempJobTitles": {
                "type": "array",
                "nullable": true,
                "items": {
                  "$ref": "#/components/schemas/Entity"
                }
              },
              "Locations": {
                "type": "array",
                "nullable": true,
                "items": {
                  "$ref": "#/components/schemas/LocationDetails"
                }
              }
            }
          }
        ]
      },
      "CompanyJobTitleRequest": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Id": {
            "type": "integer",
            "format": "int32"
          },
          "Notes": {
            "type": "string",
            "maxLength": 200,
            "nullable": true
          }
        }
      },
      "CompanyQualificationAndCertificationRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ICaptureCandidateQualificationAndCertificationRequest"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "Notes": {
                "type": "string",
                "maxLength": 200,
                "nullable": true
              }
            }
          }
        ]
      },
      "CompanyRequest": {
        "type": "object",
        "description": "Model to create or update a Company",
        "additionalProperties": false,
        "properties": {
          "Name": {
            "type": "string",
            "maxLength": 100,
            "nullable": true
          },
          "ShortName": {
            "type": "string",
            "maxLength": 20,
            "nullable": true
          },
          "OtherNames": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "Logo": {
            "type": "string",
            "description": "A Base64 image to display against the company\n\nThe image cannot exceed the max upload size configured in Infinity.",
            "format": "byte",
            "nullable": true
          },
          "LinkedInUrl": {
            "type": "string",
            "maxLength": 100,
            "nullable": true
          },
          "XingUrl": {
            "type": "string",
            "maxLength": 100,
            "nullable": true
          },
          "FacebookProfileUrl": {
            "type": "string",
            "maxLength": 100,
            "nullable": true
          },
          "TwitterProfileUrl": {
            "type": "string",
            "maxLength": 100,
            "nullable": true
          },
          "Telecoms": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/TelecomRequest"
            }
          },
          "CompanyTypeId": {
            "type": "integer",
            "format": "byte",
            "nullable": true
          },
          "BusinessSectorId": {
            "type": "integer",
            "nullable": true
          },
          "OwningConsultants": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/OwningConsultant"
            }
          },
          "Consultants": {
            "type": "array",
            "description": "Depreciated. OwningConsultants can be used instead to supply a list of consultants and their roles.",
            "nullable": true,
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "Competitors": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "integer",
              "format": "byte"
            }
          },
          "AlternateCode": {
            "type": "string",
            "maxLength": 15,
            "nullable": true
          },
          "Alert": {
            "type": "string",
            "maxLength": 255,
            "nullable": true
          },
          "Notes": {
            "type": "string",
            "nullable": true
          },
          "JobTitles": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/CompanyJobTitleRequest"
            }
          },
          "Attributes": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/CompanyAttributeRequest"
            }
          },
          "ChildAttributes": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/CompanyAttributeRequest"
            }
          },
          "QualificationsAndCertifications": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/CompanyQualificationAndCertificationRequest"
            }
          },
          "CallBacks": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/CallBackRequest"
            }
          },
          "Financials": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/CompanyFinancialRequest"
              }
            ]
          },
          "CustomFieldDetails": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/CustomFieldDetailRequest"
              }
            ]
          }
        }
      },
      "CompanyResult": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseCompanyResult"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "Telecoms"
            ],
            "properties": {
              "Telecoms": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/TelecomDetail"
                }
              }
            }
          }
        ]
      },
      "CompanyType": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ReferenceItem"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "Id": {
                "type": "integer",
                "format": "byte"
              },
              "Name": {
                "type": "string",
                "nullable": true
              }
            }
          }
        ]
      },
      "Competitor": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ReferenceItem"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "Id": {
                "type": "integer",
                "format": "byte"
              },
              "Name": {
                "type": "string",
                "nullable": true
              }
            }
          }
        ]
      },
      "ConfigurationOptionsDropDownItem": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Key": {
            "type": "integer",
            "format": "int32"
          },
          "Value": {
            "type": "string",
            "nullable": true
          },
          "RequiresFreeText": {
            "type": "boolean",
            "nullable": true
          },
          "IsDefault": {
            "type": "boolean",
            "nullable": true
          }
        }
      },
      "ConnectCandidateCVResponse": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Id": {
            "type": "integer",
            "format": "int32"
          },
          "FileName": {
            "type": "string",
            "nullable": true
          },
          "CanView": {
            "type": "boolean"
          }
        }
      },
      "ConnectCandidateExpectedRateResponse": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Min": {
            "type": "number",
            "format": "decimal"
          },
          "Max": {
            "type": "number",
            "format": "decimal"
          },
          "Period": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/RateInterval"
              }
            ]
          }
        }
      },
      "ConnectCandidateResponse": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Id": {
            "type": "integer",
            "format": "int32"
          },
          "Name": {
            "type": "string",
            "nullable": true
          },
          "Address": {
            "type": "string",
            "nullable": true
          },
          "JobTitle": {
            "type": "string",
            "nullable": true
          },
          "Photo": {
            "type": "string",
            "format": "byte",
            "nullable": true
          },
          "Landline": {
            "type": "string",
            "nullable": true
          },
          "Mobile": {
            "type": "string",
            "nullable": true
          },
          "EmailAddress": {
            "type": "string",
            "nullable": true
          },
          "Comments": {
            "type": "string",
            "nullable": true
          },
          "Summary": {
            "type": "string",
            "nullable": true
          },
          "Insights": {
            "type": "string",
            "nullable": true
          },
          "DefaultCV": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ConnectCandidateCVResponse"
              }
            ]
          },
          "ExpectedRatePerm": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ConnectCandidateExpectedRateResponse"
              }
            ]
          },
          "ExpectedRateContract": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ConnectCandidateExpectedRateResponse"
              }
            ]
          },
          "ExpectedRateTemp": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ConnectCandidateExpectedRateResponse"
              }
            ]
          },
          "ExpectedRateCurrency": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Currency"
              }
            ]
          },
          "Status": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "ConnectContactResponse": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Id": {
            "type": "integer",
            "format": "int32"
          },
          "Name": {
            "type": "string",
            "nullable": true
          },
          "Address": {
            "type": "string",
            "nullable": true
          },
          "JobTitle": {
            "type": "string",
            "nullable": true
          },
          "CompanyName": {
            "type": "string",
            "nullable": true
          },
          "Photo": {
            "type": "string",
            "format": "byte",
            "nullable": true
          },
          "Landline": {
            "type": "string",
            "nullable": true
          },
          "Mobile": {
            "type": "string",
            "nullable": true
          },
          "EmailAddress": {
            "type": "string",
            "nullable": true
          },
          "Notes": {
            "type": "string",
            "nullable": true
          },
          "LocationNotes": {
            "type": "string",
            "nullable": true
          },
          "CompanyNotes": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "ConnectEventRequest": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "EventDetails": {
            "type": "string",
            "nullable": true
          },
          "EventType": {
            "$ref": "#/components/schemas/EventType"
          }
        }
      },
      "ConnectEventResponse": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Id": {
            "type": "integer",
            "format": "int32"
          },
          "EventDate": {
            "type": "string",
            "format": "date-time"
          },
          "EventType": {
            "$ref": "#/components/schemas/EventType"
          },
          "LoggedBy": {
            "type": "string",
            "nullable": true
          },
          "Action": {
            "type": "string",
            "nullable": true
          },
          "Details": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "ConnectPersonResponse": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Id": {
            "type": "integer",
            "format": "int32"
          },
          "SearchResultType": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/SearchResultType"
              }
            ]
          },
          "Name": {
            "type": "string",
            "nullable": true
          },
          "Address": {
            "type": "string",
            "nullable": true
          },
          "JobTitle": {
            "type": "string",
            "nullable": true
          },
          "CompanyName": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "ConsultantEntity": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Entity"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "Phone": {
                "type": "string",
                "nullable": true
              },
              "Email": {
                "type": "string",
                "nullable": true
              },
              "EmailOther": {
                "type": "string",
                "nullable": true
              },
              "IsActive": {
                "type": "boolean"
              },
              "DefaultConsultantRoleId": {
                "type": "integer",
                "format": "int32",
                "nullable": true
              }
            }
          }
        ]
      },
      "ConsultantRole": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ReferenceItem"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "Id": {
                "type": "integer",
                "format": "int32"
              },
              "Name": {
                "type": "string",
                "nullable": true
              }
            }
          }
        ]
      },
      "ContactDetail": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Id": {
            "type": "integer",
            "format": "int32"
          },
          "Photo": {
            "type": "string",
            "format": "byte",
            "nullable": true
          },
          "Landline": {
            "type": "string",
            "nullable": true
          },
          "Mobile": {
            "type": "string",
            "nullable": true
          },
          "EmailAddress": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "ContactDetails": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Entity"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "Telecoms"
            ],
            "properties": {
              "Telecoms": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ContactTelecomResultDetail"
                }
              }
            }
          }
        ]
      },
      "ContactGetResult": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseContactResult"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "OwningConsultants",
              "Consultants",
              "JobTitles",
              "Attributes",
              "ChildAttributes",
              "QualificationsAndCertifications",
              "CallBacks"
            ],
            "properties": {
              "Photo": {
                "type": "string",
                "description": "A Base64 image to display against the contact\n\nThe image cannot exceed the max upload size configured in Infinity.",
                "format": "byte",
                "nullable": true
              },
              "Telecoms": {
                "type": "array",
                "nullable": true,
                "items": {
                  "$ref": "#/components/schemas/ContactTelecomDetail"
                }
              },
              "StartDate": {
                "type": "string",
                "format": "date-time",
                "nullable": true
              },
              "EndDate": {
                "type": "string",
                "format": "date-time",
                "nullable": true
              },
              "Salary": {
                "type": "number",
                "format": "decimal",
                "nullable": true
              },
              "SalaryPerId": {
                "type": "integer",
                "format": "byte",
                "nullable": true
              },
              "SalaryCurrencyId": {
                "type": "integer",
                "format": "byte",
                "nullable": true
              },
              "JobTitle": {
                "type": "string",
                "maxLength": 70,
                "nullable": true
              },
              "Department": {
                "type": "string",
                "maxLength": 50,
                "nullable": true
              },
              "ContactPriorityId": {
                "type": "integer",
                "format": "byte",
                "nullable": true
              },
              "IsDecisionMaker": {
                "type": "boolean",
                "nullable": true
              },
              "AlternateCode": {
                "type": "string",
                "maxLength": 15,
                "nullable": true
              },
              "Notes": {
                "type": "string",
                "nullable": true
              },
              "OwningConsultants": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/OwningConsultant"
                }
              },
              "Consultants": {
                "type": "array",
                "description": "Depreciated. OwningConsultants can be used instead to return a list of consultants and their roles.",
                "items": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "JobTitles": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/CompanyJobTitleRequest"
                }
              },
              "Attributes": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/CompanyAttributeRequest"
                }
              },
              "ChildAttributes": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/CompanyAttributeRequest"
                }
              },
              "QualificationsAndCertifications": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/CompanyQualificationAndCertificationRequest"
                }
              },
              "CallBacks": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/CallBackRequest"
                }
              },
              "CustomFieldDetails": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/CustomFieldDetail"
                  }
                ]
              }
            }
          }
        ]
      },
      "ContactLocationDetails": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Entity"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "Address"
            ],
            "properties": {
              "Address": {
                "$ref": "#/components/schemas/AddressDetail"
              }
            }
          }
        ]
      },
      "ContactPriority": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ReferenceItem"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "Id": {
                "type": "integer",
                "format": "byte"
              },
              "Name": {
                "type": "string",
                "nullable": true
              }
            }
          }
        ]
      },
      "ContactRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseContactRequest"
          },
          {
            "type": "object",
            "description": "Model to update a Contact",
            "additionalProperties": false
          }
        ]
      },
      "ContactResult": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseContactResult"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "Telecoms"
            ],
            "properties": {
              "Telecoms": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/TelecomDetail"
                }
              }
            }
          }
        ]
      },
      "ContactsResult": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseResult"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "CompanyTierContactId": {
                "type": "integer",
                "format": "int32"
              },
              "Created": {
                "type": "string",
                "format": "date-time"
              },
              "Updated": {
                "type": "string",
                "format": "date-time"
              },
              "Title": {
                "type": "string",
                "nullable": true
              },
              "FirstName": {
                "type": "string",
                "nullable": true
              },
              "MiddleName": {
                "type": "string",
                "nullable": true
              },
              "LastName": {
                "type": "string",
                "nullable": true
              },
              "KnownAs": {
                "type": "string",
                "nullable": true
              },
              "JobTitle": {
                "type": "string",
                "nullable": true
              },
              "Department": {
                "type": "string",
                "nullable": true
              },
              "LinkedIn": {
                "type": "string",
                "nullable": true
              },
              "Notes": {
                "type": "string",
                "nullable": true
              },
              "MobileNumberCountryCode": {
                "type": "integer",
                "nullable": true
              },
              "MobileNumber": {
                "type": "string",
                "nullable": true
              },
              "MobileNumberOkToSms": {
                "type": "boolean",
                "nullable": true
              },
              "MobileNumberOkToMailshot": {
                "type": "boolean",
                "nullable": true
              },
              "WorkEmailAddress": {
                "type": "string",
                "nullable": true
              },
              "WorkEmailAddressOkToMailshot": {
                "type": "boolean",
                "nullable": true
              },
              "WorkPhoneNumberCountryCode": {
                "type": "integer",
                "nullable": true
              },
              "WorkPhoneNumber": {
                "type": "string",
                "nullable": true
              },
              "CompanyName": {
                "type": "string",
                "nullable": true
              },
              "CompanyWebsite": {
                "type": "string",
                "nullable": true
              },
              "CompanySwitchboard": {
                "type": "string",
                "nullable": true
              },
              "CompanyBusinessSector": {
                "type": "string",
                "nullable": true
              },
              "LocationName": {
                "type": "string",
                "nullable": true
              },
              "LocationAddressLine1": {
                "type": "string",
                "nullable": true
              },
              "LocationAddressLine2": {
                "type": "string",
                "nullable": true
              },
              "LocationAddressLine3": {
                "type": "string",
                "nullable": true
              },
              "LocationAddressTown": {
                "type": "string",
                "nullable": true
              },
              "LocationAddressCounty": {
                "type": "string",
                "nullable": true
              },
              "LocationAddressPostCode": {
                "type": "string",
                "nullable": true
              },
              "LocationAddressCountry": {
                "type": "string",
                "nullable": true
              },
              "OwningConsultantFirstName": {
                "type": "string",
                "nullable": true
              },
              "OwningConsultantLastName": {
                "type": "string",
                "nullable": true
              }
            }
          }
        ]
      },
      "ContactTelecomDetail": {
        "allOf": [
          {
            "$ref": "#/components/schemas/EntityTelecomDetail"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "IsGlobalTelecom"
            ],
            "properties": {
              "IsGlobalTelecom": {
                "type": "boolean"
              }
            }
          }
        ]
      },
      "ContactTelecomRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/TelecomRequest"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "IsGlobalTelecom"
            ],
            "properties": {
              "IsGlobalTelecom": {
                "type": "boolean"
              }
            }
          }
        ]
      },
      "ContactTelecomResultDetail": {
        "allOf": [
          {
            "$ref": "#/components/schemas/TelecomDetail"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "IsGlobalTelecom"
            ],
            "properties": {
              "IsGlobalTelecom": {
                "type": "boolean"
              }
            }
          }
        ]
      },
      "ContractJobDetail": {
        "allOf": [
          {
            "$ref": "#/components/schemas/NonTempJobDetail"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "Hours",
              "HoursPer",
              "RateMin",
              "RateMax",
              "RatePer",
              "IR35Status"
            ],
            "properties": {
              "EndDate": {
                "type": "string",
                "format": "date-time",
                "nullable": true
              },
              "Hours": {
                "type": "number",
                "format": "decimal"
              },
              "HoursPer": {
                "$ref": "#/components/schemas/Interval"
              },
              "RateMin": {
                "type": "number",
                "format": "decimal"
              },
              "RateMax": {
                "type": "number",
                "format": "decimal"
              },
              "RatePer": {
                "$ref": "#/components/schemas/RateInterval"
              },
              "IR35Status": {
                "$ref": "#/components/schemas/IR35Status"
              }
            }
          }
        ]
      },
      "CopilotPlusFollowUpAction": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "CopyToInsightsTab",
          "CreateCv",
          "ReformatCv"
        ],
        "enum": [
          "CopyToInsightsTab",
          "CreateCv",
          "ReformatCv"
        ]
      },
      "CopilotPlusModel": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "Gpt51"
        ],
        "enum": [
          "Gpt51"
        ]
      },
      "CopilotPlusTemperature": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "VeryPrecise",
          "Precise",
          "Balanced",
          "Creative",
          "VeryCreative"
        ],
        "enum": [
          "VeryPrecise",
          "Precise",
          "Balanced",
          "Creative",
          "VeryCreative"
        ]
      },
      "CopilotPlusTrackingRequest": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Code": {
            "type": "string",
            "nullable": true
          },
          "Model": {
            "type": "string",
            "nullable": true
          },
          "Function": {
            "type": "string",
            "nullable": true
          },
          "InputTokens": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "OutputTokens": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "SessionId": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "CountriesResult": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseResult"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "CountryId": {
                "type": "integer"
              },
              "Country": {
                "type": "string",
                "nullable": true
              }
            }
          }
        ]
      },
      "Country": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ReferenceItem"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "Id": {
                "type": "integer"
              },
              "Name": {
                "type": "string",
                "nullable": true
              },
              "Code": {
                "type": "string",
                "nullable": true
              },
              "IsDefaultCountryForAddresses": {
                "type": "boolean"
              }
            }
          }
        ]
      },
      "CreateContactRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseContactRequest"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "LocationId"
            ],
            "properties": {
              "LocationId": {
                "type": "integer",
                "format": "int32"
              }
            }
          }
        ]
      },
      "CreateLocationRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseLocationRequest"
          },
          {
            "type": "object",
            "description": "Model to create a Location",
            "additionalProperties": false,
            "required": [
              "CompanyId"
            ],
            "properties": {
              "CompanyId": {
                "type": "integer",
                "format": "int32"
              }
            }
          }
        ]
      },
      "Currency": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ReferenceItem"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "Id": {
                "type": "integer",
                "format": "byte"
              },
              "Name": {
                "type": "string",
                "nullable": true
              },
              "Symbol": {
                "type": "string",
                "nullable": true
              },
              "Description": {
                "type": "string",
                "nullable": true
              }
            }
          }
        ]
      },
      "CustomCategory": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "CustomFieldId": {
            "type": "integer"
          },
          "CategoryId": {
            "type": "integer"
          },
          "Name": {
            "type": "string",
            "nullable": true
          },
          "Active": {
            "type": "boolean"
          },
          "Values": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/CategoryValues"
            }
          }
        }
      },
      "CustomComboValue": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "CustomFieldId": {
            "type": "integer"
          },
          "ComboValueId": {
            "type": "integer"
          },
          "Value": {
            "type": "string",
            "nullable": true
          },
          "Order": {
            "type": "integer"
          },
          "Active": {
            "type": "boolean"
          }
        }
      },
      "CustomFieldDefinition": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Id": {
            "type": "integer",
            "format": "int32"
          },
          "Label": {
            "type": "string",
            "nullable": true
          },
          "CandidatePage": {
            "type": "boolean"
          },
          "CompanyPage": {
            "type": "boolean"
          },
          "CompanyTierPage": {
            "type": "boolean"
          },
          "ContactPage": {
            "type": "boolean"
          },
          "JobPage": {
            "type": "boolean"
          },
          "IsActive": {
            "type": "boolean"
          }
        }
      },
      "CustomFieldDefinitionResult": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "IntegerFieldDefinitions": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/IntegerFieldDefinition"
            }
          },
          "DecimalFieldDefinitions": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/DecimalFieldDefinition"
            }
          },
          "TextBoxFieldDefinitions": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/TextBoxFieldDefinition"
            }
          },
          "DateTimePickerFieldDefinitions": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/DateTimePickerFieldDefinition"
            }
          },
          "CheckBoxFieldDefinitions": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/CustomFieldDefinition"
            }
          },
          "ComboBoxFieldDefinitions": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ComboBoxFieldDefinition"
            }
          },
          "MultiSelectListBoxFieldDefinitions": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/MultiSelectListBoxFieldDefinition"
            }
          },
          "CategorisedMultiSelectFieldDefinitions": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/CategorisedMultiSelectFieldDefinition"
            }
          },
          "NoteControlFieldDefinitions": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/CustomFieldDefinition"
            }
          }
        }
      },
      "CustomFieldDetail": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "CategorisedMultiSelectFields",
          "CheckBoxFields",
          "ComboBoxFields",
          "DateTimePickerFields",
          "DecimalFields",
          "IntegerFields",
          "MultiSelectListBoxFields",
          "NoteControlFields",
          "TextBoxFields"
        ],
        "properties": {
          "CategorisedMultiSelectFields": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CategorisedMultiSelectField"
            }
          },
          "CheckBoxFields": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CheckBoxField"
            }
          },
          "ComboBoxFields": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ComboBoxField"
            }
          },
          "DateTimePickerFields": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DateTimePickerField"
            }
          },
          "DecimalFields": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DecimalField"
            }
          },
          "IntegerFields": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IntegerField"
            }
          },
          "MultiSelectListBoxFields": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MultiSelectListBoxField"
            }
          },
          "NoteControlFields": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NoteControlField"
            }
          },
          "TextBoxFields": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TextBoxField"
            }
          }
        }
      },
      "CustomFieldDetailRequest": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "CategorisedMultiSelectFields": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/CategorisedMultiSelectFieldRequest"
            }
          },
          "CheckBoxFields": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/CheckBoxFieldRequest"
            }
          },
          "ComboBoxFields": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ComboBoxFieldRequest"
            }
          },
          "DateTimePickerFields": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/DateTimePickerFieldRequest"
            }
          },
          "DecimalFields": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/DecimalFieldRequest"
            }
          },
          "IntegerFields": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/IntegerFieldRequest"
            }
          },
          "MultiSelectListBoxFields": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/MultiSelectListBoxFieldRequest"
            }
          },
          "NoteControlFields": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/NoteControlFieldRequest"
            }
          },
          "TextBoxFields": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/TextBoxFieldRequest"
            }
          }
        }
      },
      "CustomFieldItem": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "Id",
          "Name"
        ],
        "properties": {
          "Id": {
            "type": "integer",
            "format": "int32"
          },
          "Name": {
            "type": "string",
            "minLength": 1
          }
        }
      },
      "CustomFieldItemRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "Id"
        ],
        "properties": {
          "Id": {
            "type": "integer"
          }
        }
      },
      "DatabaseChoice": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Name": {
            "type": "string",
            "nullable": true
          },
          "Flexnet": {
            "type": "string",
            "nullable": true
          },
          "CloudLocation": {
            "type": "string",
            "nullable": true
          },
          "CloudHostname": {
            "type": "string",
            "nullable": true
          },
          "CloudCustomer": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "DateFormat": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "Date",
          "Time",
          "DateTime"
        ],
        "enum": [
          "Date",
          "Time",
          "DateTime"
        ]
      },
      "DateTimePickerField": {
        "allOf": [
          {
            "$ref": "#/components/schemas/CustomFieldItem"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "Value": {
                "type": "string",
                "format": "date-time",
                "nullable": true
              }
            }
          }
        ]
      },
      "DateTimePickerFieldDefinition": {
        "allOf": [
          {
            "$ref": "#/components/schemas/CustomFieldDefinition"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "MaxDate": {
                "type": "string",
                "format": "date-time"
              },
              "MinDate": {
                "type": "string",
                "format": "date-time"
              },
              "DateFormat": {
                "$ref": "#/components/schemas/DateFormat"
              },
              "TimeFormat": {
                "type": "string",
                "nullable": true
              }
            }
          }
        ]
      },
      "DateTimePickerFieldRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/CustomFieldItemRequest"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "Value"
            ],
            "properties": {
              "Value": {
                "type": "string",
                "format": "date-time"
              }
            }
          }
        ]
      },
      "DayOfWeek": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "Sunday",
          "Monday",
          "Tuesday",
          "Wednesday",
          "Thursday",
          "Friday",
          "Saturday"
        ],
        "enum": [
          "Sunday",
          "Monday",
          "Tuesday",
          "Wednesday",
          "Thursday",
          "Friday",
          "Saturday"
        ]
      },
      "DecimalField": {
        "allOf": [
          {
            "$ref": "#/components/schemas/CustomFieldItem"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "Value"
            ],
            "properties": {
              "Value": {
                "type": "number",
                "format": "decimal"
              }
            }
          }
        ]
      },
      "DecimalFieldDefinition": {
        "allOf": [
          {
            "$ref": "#/components/schemas/CustomFieldDefinition"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "MinValue": {
                "type": "number",
                "format": "decimal"
              },
              "MaxValue": {
                "type": "number",
                "format": "decimal"
              },
              "DecimalPlaces": {
                "type": "integer",
                "format": "int32"
              }
            }
          }
        ]
      },
      "DecimalFieldRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/CustomFieldItemRequest"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "Value"
            ],
            "properties": {
              "Value": {
                "type": "number",
                "format": "decimal"
              }
            }
          }
        ]
      },
      "DrivingLicenceCategory": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "None",
          "AM",
          "P",
          "Q",
          "A1",
          "A2",
          "A",
          "B1",
          "B",
          "BAuto",
          "BE",
          "C1",
          "C1E",
          "C",
          "CE",
          "D1",
          "D1E",
          "D",
          "DE",
          "F",
          "G",
          "H",
          "K",
          "L",
          "M",
          "N"
        ],
        "enum": [
          "None",
          "AM",
          "P",
          "Q",
          "A1",
          "A2",
          "A",
          "B1",
          "B",
          "BAuto",
          "BE",
          "C1",
          "C1E",
          "C",
          "CE",
          "D1",
          "D1E",
          "D",
          "DE",
          "F",
          "G",
          "H",
          "K",
          "L",
          "M",
          "N"
        ]
      },
      "DrivingLicenceCategoryRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "Category"
        ],
        "properties": {
          "Category": {
            "$ref": "#/components/schemas/DrivingLicenceCategory"
          },
          "From": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "To": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "Codes": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/DrivingLicenceCode"
            }
          }
        }
      },
      "DrivingLicenceCode": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "None",
          "_01",
          "_02",
          "_10",
          "_15",
          "_20",
          "_25",
          "_30",
          "_31",
          "_32",
          "_33",
          "_35",
          "_40",
          "_42",
          "_43",
          "_44",
          "_44_1",
          "_44_2",
          "_44_3",
          "_44_4",
          "_44_5",
          "_44_6",
          "_44_7",
          "_44_8",
          "_44_11",
          "_44_12",
          "_45",
          "_46",
          "_70",
          "_71",
          "_78",
          "_79",
          "_79_2",
          "_79_3",
          "_96",
          "_97",
          "_101",
          "_102",
          "_103",
          "_105",
          "_106",
          "_107",
          "_108",
          "_110",
          "_111",
          "_113",
          "_114",
          "_115",
          "_118",
          "_119",
          "_121",
          "_122",
          "_125"
        ],
        "enum": [
          "None",
          "_01",
          "_02",
          "_10",
          "_15",
          "_20",
          "_25",
          "_30",
          "_31",
          "_32",
          "_33",
          "_35",
          "_40",
          "_42",
          "_43",
          "_44",
          "_44_1",
          "_44_2",
          "_44_3",
          "_44_4",
          "_44_5",
          "_44_6",
          "_44_7",
          "_44_8",
          "_44_11",
          "_44_12",
          "_45",
          "_46",
          "_70",
          "_71",
          "_78",
          "_79",
          "_79_2",
          "_79_3",
          "_96",
          "_97",
          "_101",
          "_102",
          "_103",
          "_105",
          "_106",
          "_107",
          "_108",
          "_110",
          "_111",
          "_113",
          "_114",
          "_115",
          "_118",
          "_119",
          "_121",
          "_122",
          "_125"
        ]
      },
      "DrivingLicenceEndorsement": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ReferenceItem"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "Id": {
                "type": "integer",
                "format": "int32"
              },
              "Code": {
                "type": "string",
                "nullable": true
              },
              "Description": {
                "type": "string",
                "nullable": true
              },
              "PenaltyPointsAwarded": {
                "type": "boolean"
              },
              "MinimumPenaltyPoints": {
                "type": "integer",
                "format": "int32"
              },
              "MaximumPenaltyPoints": {
                "type": "integer",
                "format": "int32"
              },
              "IsMajorEndorsement": {
                "type": "boolean"
              }
            }
          }
        ]
      },
      "DrivingLicenceEndorsementRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "Id"
        ],
        "properties": {
          "Id": {
            "type": "integer",
            "format": "int32"
          },
          "Points": {
            "type": "integer",
            "format": "byte",
            "nullable": true
          },
          "Offence": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "Conviction": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "Expiry": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        }
      },
      "DrivingLicenceRequest": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "DrivingLicenceNumber": {
            "type": "string",
            "maxLength": 20,
            "nullable": true
          },
          "ExpiryDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "LastCheckedDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "Categories": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/DrivingLicenceCategoryRequest"
            }
          },
          "Endorsements": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/DrivingLicenceEndorsementRequest"
            }
          }
        }
      },
      "EmailFormat": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "NotApplicable",
          "HTML",
          "RichText",
          "PlainText"
        ],
        "enum": [
          "NotApplicable",
          "HTML",
          "RichText",
          "PlainText"
        ]
      },
      "EmploymentHistoryJobType": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "Unknown",
          "Permanent",
          "Contract",
          "Temporary",
          "TemporaryToPerm",
          "ContractToPermanent",
          "FixedTerm"
        ],
        "enum": [
          "Unknown",
          "Permanent",
          "Contract",
          "Temporary",
          "TemporaryToPerm",
          "ContractToPermanent",
          "FixedTerm"
        ]
      },
      "Entity": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Id": {
            "type": "integer",
            "format": "int32"
          },
          "Name": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "EntityTelecomDetail": {
        "allOf": [
          {
            "$ref": "#/components/schemas/TelecomDetail"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "Description",
              "TelecomId",
              "OkToMailShot",
              "OkToSMS",
              "SendByDefault",
              "IsPreferredTelecom"
            ],
            "properties": {
              "Description": {
                "type": "string",
                "minLength": 1
              },
              "TelecomId": {
                "type": "integer",
                "format": "byte"
              },
              "OkToMailShot": {
                "type": "boolean"
              },
              "OkToSMS": {
                "type": "boolean"
              },
              "CountryId": {
                "type": "integer",
                "nullable": true
              },
              "SendByDefault": {
                "type": "boolean"
              },
              "Extension": {
                "type": "string",
                "maxLength": 30,
                "nullable": true
              },
              "IsPreferredTelecom": {
                "type": "boolean"
              }
            }
          }
        ]
      },
      "ErrorMessageResult": {
        "type": "object",
        "description": "A model representing an error response message",
        "additionalProperties": false,
        "properties": {
          "Message": {
            "type": "string",
            "description": "Error message",
            "nullable": true
          }
        }
      },
      "ETag": {
        "type": "object",
        "additionalProperties": false
      },
      "EthnicOrigin": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ReferenceItem"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "Id": {
                "type": "integer",
                "format": "byte"
              },
              "Name": {
                "type": "string",
                "nullable": true
              }
            }
          }
        ]
      },
      "EthnicOriginsResult": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseResult"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "EthnicOriginId": {
                "type": "integer",
                "format": "byte"
              },
              "EthnicOrigin": {
                "type": "string",
                "nullable": true
              }
            }
          }
        ]
      },
      "EventAction": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ReferenceItem"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "Id": {
                "type": "integer",
                "format": "int32"
              },
              "Name": {
                "type": "string",
                "nullable": true
              }
            }
          }
        ]
      },
      "EventActionsResult": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseResult"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "EventActionId": {
                "type": "integer",
                "format": "int32"
              },
              "EventAction": {
                "type": "string",
                "nullable": true
              },
              "IsUserEventAction": {
                "type": "boolean"
              },
              "IsActive": {
                "type": "boolean"
              }
            }
          }
        ]
      },
      "EventDetails": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Id": {
            "type": "integer",
            "format": "int32"
          },
          "EventDate": {
            "type": "string",
            "format": "date-time"
          },
          "LoggedBy": {
            "type": "string",
            "nullable": true
          },
          "Action": {
            "type": "string",
            "nullable": true
          },
          "Details": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "EventDirection": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "None",
          "In",
          "Out"
        ],
        "enum": [
          "None",
          "In",
          "Out"
        ]
      },
      "EventLoggerScreen": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "Edit",
          "Candidate",
          "Company",
          "Company_Tier",
          "Contact",
          "Job",
          "Interview",
          "Placement",
          "Job_Shortlist",
          "Candidate_List",
          "Company_List",
          "Company_Tier_List",
          "Contact_List",
          "Job_List",
          "Interview_List",
          "Placement_List",
          "Lead"
        ],
        "enum": [
          "Edit",
          "Candidate",
          "Company",
          "Company_Tier",
          "Contact",
          "Job",
          "Interview",
          "Placement",
          "Job_Shortlist",
          "Candidate_List",
          "Company_List",
          "Company_Tier_List",
          "Contact_List",
          "Job_List",
          "Interview_List",
          "Placement_List",
          "Lead"
        ]
      },
      "EventsRequest": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "ConsultantId": {
            "type": "integer",
            "format": "int32"
          },
          "Direction": {
            "$ref": "#/components/schemas/EventDirection"
          },
          "EventType": {
            "$ref": "#/components/schemas/EventType"
          },
          "EventActionId": {
            "type": "integer"
          },
          "EventDetails": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "EventType": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "Phone",
          "Email",
          "SMS",
          "Post",
          "Fax",
          "Meeting",
          "LinkedIn",
          "Facebook",
          "Skype",
          "IMS",
          "Information",
          "Other",
          "WhatsApp",
          "TeamsMeeting"
        ],
        "enum": [
          "Phone",
          "Email",
          "SMS",
          "Post",
          "Fax",
          "Meeting",
          "LinkedIn",
          "Facebook",
          "Skype",
          "IMS",
          "Information",
          "Other",
          "WhatsApp",
          "TeamsMeeting"
        ]
      },
      "EventTypeResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ReferenceItem"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "Id": {
                "type": "integer",
                "format": "int32"
              },
              "Name": {
                "type": "string",
                "nullable": true
              }
            }
          }
        ]
      },
      "EventTypesResult": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseResult"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "EventTypeId": {
                "type": "integer",
                "format": "int32"
              },
              "EventType": {
                "$ref": "#/components/schemas/EventType"
              }
            }
          }
        ]
      },
      "ExperienceInterval": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "Years",
          "Months"
        ],
        "enum": [
          "Years",
          "Months"
        ]
      },
      "FixedTermJobDetail": {
        "allOf": [
          {
            "$ref": "#/components/schemas/NonTempJobDetail"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "Hours",
              "HoursPer",
              "SalaryMin",
              "SalaryMax",
              "SalaryPer"
            ],
            "properties": {
              "EndDate": {
                "type": "string",
                "format": "date-time",
                "nullable": true
              },
              "Hours": {
                "type": "number",
                "format": "decimal"
              },
              "HoursPer": {
                "$ref": "#/components/schemas/Interval"
              },
              "SalaryMin": {
                "type": "number",
                "format": "decimal"
              },
              "SalaryMax": {
                "type": "number",
                "format": "decimal"
              },
              "SalaryPer": {
                "$ref": "#/components/schemas/Interval"
              }
            }
          }
        ]
      },
      "Gender": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ReferenceItem"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "Id": {
                "type": "integer",
                "format": "byte"
              },
              "Name": {
                "type": "string",
                "nullable": true
              }
            }
          }
        ]
      },
      "GendersResult": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseResult"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "GenderId": {
                "type": "integer",
                "format": "byte"
              },
              "Gender": {
                "type": "string",
                "nullable": true
              }
            }
          }
        ]
      },
      "GetPortalCandidateAvailabilityResponse": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "CandidatePortalInviteId": {
            "type": "integer",
            "format": "int32"
          },
          "ContractAvailability": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "TempAvailability": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/PortalTempAvailability"
            }
          },
          "TempUnavailabilityReasons": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ConfigurationOptionsDropDownItem"
            }
          },
          "PortalShifts": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/PortalShifts"
            }
          }
        }
      },
      "GetPortalCandidateDocumentFullConfigurationResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/GetPortalCandidateDocumentResponse"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "ConfigurationOptions": {
                "type": "string",
                "nullable": true
              },
              "RejectedDocumentPayload": {
                "type": "string",
                "nullable": true
              }
            }
          }
        ]
      },
      "GetPortalCandidateDocumentResponse": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "CandidatePortalInviteDocumentId": {
            "type": "integer",
            "format": "int32"
          },
          "CandidatePortalDocumentId": {
            "type": "integer",
            "format": "int32"
          },
          "DocumentName": {
            "type": "string",
            "nullable": true
          },
          "DocumentType": {
            "$ref": "#/components/schemas/CandidatePortalDocumentType"
          },
          "Description": {
            "type": "string",
            "nullable": true
          },
          "Submitted": {
            "type": "boolean"
          },
          "SubmittedDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "Rejected": {
            "type": "boolean"
          },
          "RejectedDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "RejectedReason": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "GetPortalCandidateNextShiftResponse": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "CandidatePortalInviteId": {
            "type": "integer",
            "format": "int32"
          },
          "NextPlacementShiftId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "NextPlacementShiftStartDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        }
      },
      "GetPortalCandidatePlacementResponse": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "CandidatePortalInviteId": {
            "type": "integer",
            "format": "int32"
          },
          "Placements": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/PortalPlacement"
            }
          }
        }
      },
      "GetPortalCandidateResponse": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "CandidatePortalInviteId": {
            "type": "integer",
            "format": "int32"
          },
          "EmailAddress": {
            "type": "string",
            "nullable": true
          },
          "Status": {
            "$ref": "#/components/schemas/CandidatePortalInviteStatus"
          },
          "LastLogin": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "Forename": {
            "type": "string",
            "nullable": true
          },
          "IsTemp": {
            "type": "boolean"
          },
          "IsContract": {
            "type": "boolean"
          },
          "IsPerm": {
            "type": "boolean"
          }
        }
      },
      "GetPortalCandidateShiftOffersResponse": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "CandidatePortalInviteId": {
            "type": "integer",
            "format": "int32"
          },
          "Offers": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/PortalJobOfferGroup"
            }
          }
        }
      },
      "GetPortalRecruitmentCompanyPreviewDocumentResponse": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "DocumentName": {
            "type": "string",
            "nullable": true
          },
          "Description": {
            "type": "string",
            "nullable": true
          },
          "ConfigurationOptions": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "GetPortalRecruitmentCompanyResponse": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "CompanyLogo": {
            "type": "string",
            "format": "byte",
            "nullable": true
          },
          "CompanySquareLogo": {
            "type": "string",
            "format": "byte",
            "nullable": true
          },
          "RecruiterCompanyName": {
            "type": "string",
            "nullable": true
          },
          "MaxUploadSizeInKb": {
            "type": "integer",
            "format": "int32"
          },
          "ConfiguredFor": {
            "$ref": "#/components/schemas/CandidatePortalType"
          },
          "OnboardingEnabled": {
            "type": "boolean"
          },
          "AvailabilityEnabled": {
            "type": "boolean"
          },
          "PlacementsEnabled": {
            "type": "boolean"
          },
          "UnavailabilityReasonsEnabled": {
            "type": "boolean"
          },
          "SiteUrl": {
            "type": "string",
            "nullable": true
          },
          "Branding": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/RecruitmentCompanyBranding"
              }
            ]
          },
          "ExcludeSaturdays": {
            "type": "boolean"
          },
          "ExcludeSundays": {
            "type": "boolean"
          },
          "FirstDayOfWeek": {
            "$ref": "#/components/schemas/DayOfWeek"
          },
          "AvailabilityType": {
            "$ref": "#/components/schemas/CandidatePortalAvailabilityType"
          },
          "PlacementShiftDisplayOptions": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ShiftDisplayOptions"
              }
            ]
          },
          "OfferShiftsEnabled": {
            "type": "boolean"
          },
          "OfferShiftDisplayOptions": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ShiftDisplayOptions"
              }
            ]
          }
        }
      },
      "HttpStatusCode": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "Continue",
          "SwitchingProtocols",
          "OK",
          "Created",
          "Accepted",
          "NonAuthoritativeInformation",
          "NoContent",
          "ResetContent",
          "PartialContent",
          "MultipleChoices",
          "Ambiguous",
          "MovedPermanently",
          "Moved",
          "Found",
          "Redirect",
          "SeeOther",
          "RedirectMethod",
          "NotModified",
          "UseProxy",
          "Unused",
          "TemporaryRedirect",
          "RedirectKeepVerb",
          "BadRequest",
          "Unauthorized",
          "PaymentRequired",
          "Forbidden",
          "NotFound",
          "MethodNotAllowed",
          "NotAcceptable",
          "ProxyAuthenticationRequired",
          "RequestTimeout",
          "Conflict",
          "Gone",
          "LengthRequired",
          "PreconditionFailed",
          "RequestEntityTooLarge",
          "RequestUriTooLong",
          "UnsupportedMediaType",
          "RequestedRangeNotSatisfiable",
          "ExpectationFailed",
          "UpgradeRequired",
          "InternalServerError",
          "NotImplemented",
          "BadGateway",
          "ServiceUnavailable",
          "GatewayTimeout",
          "HttpVersionNotSupported"
        ],
        "enum": [
          "Continue",
          "SwitchingProtocols",
          "OK",
          "Created",
          "Accepted",
          "NonAuthoritativeInformation",
          "NoContent",
          "ResetContent",
          "PartialContent",
          "MultipleChoices",
          "MultipleChoices",
          "MovedPermanently",
          "MovedPermanently",
          "Found",
          "Found",
          "SeeOther",
          "SeeOther",
          "NotModified",
          "UseProxy",
          "Unused",
          "TemporaryRedirect",
          "TemporaryRedirect",
          "BadRequest",
          "Unauthorized",
          "PaymentRequired",
          "Forbidden",
          "NotFound",
          "MethodNotAllowed",
          "NotAcceptable",
          "ProxyAuthenticationRequired",
          "RequestTimeout",
          "Conflict",
          "Gone",
          "LengthRequired",
          "PreconditionFailed",
          "RequestEntityTooLarge",
          "RequestUriTooLong",
          "UnsupportedMediaType",
          "RequestedRangeNotSatisfiable",
          "ExpectationFailed",
          "UpgradeRequired",
          "InternalServerError",
          "NotImplemented",
          "BadGateway",
          "ServiceUnavailable",
          "GatewayTimeout",
          "HttpVersionNotSupported"
        ]
      },
      "ICaptureCandidateAttachmentRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "Name",
          "Content"
        ],
        "properties": {
          "Name": {
            "type": "string",
            "maxLength": 255,
            "minLength": 1
          },
          "Content": {
            "type": "string",
            "description": "A Base64 document to attach to the candidate.\n\nThe document cannot exceed the max upload size configured in Infinity.",
            "format": "byte",
            "minLength": 1
          }
        }
      },
      "ICaptureCandidateAttributeRequest": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Id": {
            "type": "integer",
            "format": "int32"
          },
          "ScoreId": {
            "type": "integer",
            "nullable": true
          }
        }
      },
      "ICaptureCandidateEmploymentHistoryRequest": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "CompanyName": {
            "type": "string",
            "maxLength": 100,
            "nullable": true
          },
          "Location": {
            "type": "string",
            "maxLength": 50,
            "nullable": true
          },
          "JobTitle": {
            "type": "string",
            "maxLength": 70,
            "nullable": true
          },
          "LineManager": {
            "type": "string",
            "maxLength": 50,
            "nullable": true
          },
          "JobType": {
            "$ref": "#/components/schemas/EmploymentHistoryJobType"
          },
          "StartDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "EndDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        }
      },
      "ICaptureCandidateExpectedRateRequest": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Min": {
            "type": "number",
            "format": "decimal"
          },
          "Max": {
            "type": "number",
            "format": "decimal"
          },
          "RateIntervalId": {
            "type": "integer",
            "format": "byte",
            "nullable": true
          }
        }
      },
      "ICaptureCandidateQualificationAndCertificationRequest": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Id": {
            "type": "integer",
            "format": "int32"
          },
          "TypeId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "LevelId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        }
      },
      "ICaptureCandidateRequest": {
        "type": "object",
        "description": "Model to create an ICapture Candidate",
        "additionalProperties": false,
        "required": [
          "Surname"
        ],
        "properties": {
          "TitleId": {
            "type": "integer",
            "format": "byte",
            "nullable": true
          },
          "Forename": {
            "type": "string",
            "maxLength": 50,
            "nullable": true
          },
          "Middlename": {
            "type": "string",
            "maxLength": 50,
            "nullable": true
          },
          "Surname": {
            "type": "string",
            "maxLength": 50,
            "minLength": 1
          },
          "KnownAs": {
            "type": "string",
            "maxLength": 50,
            "nullable": true
          },
          "GenderId": {
            "type": "integer",
            "format": "byte",
            "nullable": true
          },
          "MaritalStatusId": {
            "type": "integer",
            "format": "byte",
            "nullable": true
          },
          "DateOfBirth": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "NationalityId": {
            "type": "integer",
            "nullable": true
          },
          "SecondNationalityId": {
            "type": "integer",
            "nullable": true
          },
          "ThirdNationalityId": {
            "type": "integer",
            "nullable": true
          },
          "FourthNationalityId": {
            "type": "integer",
            "nullable": true
          },
          "EthnicOriginId": {
            "type": "integer",
            "format": "byte",
            "nullable": true
          },
          "CountryOfOriginId": {
            "type": "integer",
            "nullable": true
          },
          "AddressLine1": {
            "type": "string",
            "maxLength": 150,
            "nullable": true
          },
          "AddressLine2": {
            "type": "string",
            "maxLength": 150,
            "nullable": true
          },
          "AddressLine3": {
            "type": "string",
            "maxLength": 150,
            "nullable": true
          },
          "Town": {
            "type": "string",
            "maxLength": 50,
            "nullable": true
          },
          "Postcode": {
            "type": "string",
            "maxLength": 10,
            "nullable": true
          },
          "CountryId": {
            "type": "integer",
            "nullable": true
          },
          "HomePhoneNumber": {
            "type": "string",
            "maxLength": 100,
            "nullable": true
          },
          "WorkPhoneNumber": {
            "type": "string",
            "maxLength": 100,
            "nullable": true
          },
          "MobileNumber": {
            "type": "string",
            "maxLength": 100,
            "nullable": true
          },
          "HomeEmailAddress": {
            "type": "string",
            "maxLength": 100,
            "nullable": true
          },
          "LinkedInPublicUrl": {
            "type": "string",
            "maxLength": 100,
            "nullable": true
          },
          "WebId": {
            "type": "string",
            "maxLength": 15,
            "nullable": true
          },
          "IsPermanent": {
            "type": "boolean"
          },
          "PermanentExpectedRate": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ICaptureCandidateExpectedRateRequest"
              }
            ]
          },
          "IsContract": {
            "type": "boolean"
          },
          "ContractExpectedRate": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ICaptureCandidateExpectedRateRequest"
              }
            ]
          },
          "IsTemporary": {
            "type": "boolean"
          },
          "TemporaryExpectedRate": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ICaptureCandidateExpectedRateRequest"
              }
            ]
          },
          "ExpectedRateCurrencyId": {
            "type": "integer",
            "format": "byte",
            "nullable": true
          },
          "PreferredLocation": {
            "type": "string",
            "nullable": true
          },
          "AvailabilityDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "HasOwnTransport": {
            "type": "boolean"
          },
          "Relocate": {
            "type": "boolean"
          },
          "Comments": {
            "type": "string",
            "nullable": true
          },
          "Summary": {
            "type": "string",
            "nullable": true
          },
          "CV": {
            "type": "string",
            "description": "A Base64 CV document to attach to the candidate.\n\nThe document cannot exceed the max upload size configured in Infinity.",
            "format": "byte",
            "nullable": true
          },
          "EmploymentHistory": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ICaptureCandidateEmploymentHistoryRequest"
            }
          },
          "JobTitles": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "Attributes": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ICaptureCandidateAttributeRequest"
            }
          },
          "ChildAttributes": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ICaptureCandidateAttributeRequest"
            }
          },
          "QualificationsAndCertifications": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ICaptureCandidateQualificationAndCertificationRequest"
            }
          },
          "Sources": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "integer"
            }
          },
          "ShortlistJobCodes": {
            "type": "array",
            "description": "A list of valid job codes to shortlist the candidate against e.g. JO0000000112",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "Attachments": {
            "type": "array",
            "description": "A list of Base64 documents to attach to the candidate.\n\nThe document cannot exceed the max upload size configured in Infinity.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ICaptureCandidateAttachmentRequest"
            }
          }
        }
      },
      "ICaptureCandidatesRequest": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "TitleId": {
            "type": "integer",
            "format": "byte",
            "nullable": true
          },
          "Forename": {
            "type": "string",
            "nullable": true
          },
          "Middlename": {
            "type": "string",
            "nullable": true
          },
          "Surname": {
            "type": "string",
            "nullable": true
          },
          "KnownAs": {
            "type": "string",
            "nullable": true
          },
          "GenderId": {
            "type": "integer",
            "format": "byte",
            "nullable": true
          },
          "MaritalStatusId": {
            "type": "integer",
            "format": "byte",
            "nullable": true
          },
          "DateOfBirth": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "NationalityId": {
            "type": "integer",
            "nullable": true
          },
          "EthnicOriginId": {
            "type": "integer",
            "format": "byte",
            "nullable": true
          },
          "CountryOfOriginId": {
            "type": "integer",
            "nullable": true
          },
          "AddressLine1": {
            "type": "string",
            "nullable": true
          },
          "AddressLine2": {
            "type": "string",
            "nullable": true
          },
          "AddressLine3": {
            "type": "string",
            "nullable": true
          },
          "Town": {
            "type": "string",
            "nullable": true
          },
          "Postcode": {
            "type": "string",
            "nullable": true
          },
          "CountryId": {
            "type": "integer",
            "nullable": true
          },
          "HomePhoneNumber": {
            "type": "string",
            "nullable": true
          },
          "WorkPhoneNumber": {
            "type": "string",
            "nullable": true
          },
          "MobileNumber": {
            "type": "string",
            "nullable": true
          },
          "HomeEmailAddress": {
            "type": "string",
            "nullable": true
          },
          "LinkedInPublicUrl": {
            "type": "string",
            "nullable": true
          },
          "Summary": {
            "type": "string",
            "nullable": true
          },
          "EmploymentCompanyName": {
            "type": "string",
            "nullable": true
          },
          "EmploymentLocation": {
            "type": "string",
            "nullable": true
          },
          "EmploymentJobTitle": {
            "type": "string",
            "nullable": true
          },
          "EmploymentStartDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "SourceId": {
            "type": "integer",
            "nullable": true
          },
          "IsPermanent": {
            "type": "boolean"
          },
          "IsContract": {
            "type": "boolean"
          },
          "IsTemporary": {
            "type": "boolean"
          },
          "WebId": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "ICopilotPlusPromptEntity": {
        "type": "object",
        "x-abstract": true,
        "additionalProperties": false,
        "properties": {
          "Model": {
            "$ref": "#/components/schemas/CopilotPlusModel"
          },
          "ParentPage": {
            "$ref": "#/components/schemas/ParentPage"
          },
          "Name": {
            "type": "string",
            "nullable": true
          },
          "Action": {
            "type": "string",
            "nullable": true
          },
          "Context": {
            "type": "string",
            "nullable": true
          },
          "Temperature": {
            "$ref": "#/components/schemas/CopilotPlusTemperature"
          },
          "DataPoints": {
            "type": "string",
            "nullable": true
          },
          "FollowUpAction": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/CopilotPlusFollowUpAction"
              }
            ]
          }
        }
      },
      "InfinityUser": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Id": {
            "type": "integer",
            "format": "int32"
          },
          "Name": {
            "type": "string",
            "nullable": true
          },
          "Username": {
            "type": "string",
            "nullable": true
          },
          "Shortname": {
            "type": "string",
            "nullable": true
          },
          "IsActive": {
            "type": "boolean"
          }
        }
      },
      "INotificationMessage": {
        "type": "object",
        "x-abstract": true,
        "additionalProperties": false,
        "properties": {
          "IssueDate": {
            "type": "string",
            "format": "date-time"
          },
          "ExpiryDate": {
            "type": "string",
            "format": "date-time"
          },
          "Category": {
            "$ref": "#/components/schemas/NotificationMessageCategory"
          },
          "Type": {
            "$ref": "#/components/schemas/NotificationMessageType"
          },
          "Message": {
            "type": "string",
            "nullable": true
          },
          "Confirm": {
            "type": "boolean"
          },
          "IsDBManagerUsersOnly": {
            "type": "boolean"
          }
        }
      },
      "IntegerField": {
        "allOf": [
          {
            "$ref": "#/components/schemas/CustomFieldItem"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "Value"
            ],
            "properties": {
              "Value": {
                "type": "integer",
                "format": "int32"
              }
            }
          }
        ]
      },
      "IntegerFieldDefinition": {
        "allOf": [
          {
            "$ref": "#/components/schemas/CustomFieldDefinition"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "MinValue": {
                "type": "integer",
                "format": "int32"
              },
              "MaxValue": {
                "type": "integer",
                "format": "int32"
              }
            }
          }
        ]
      },
      "IntegerFieldRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/CustomFieldItemRequest"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "Value"
            ],
            "properties": {
              "Value": {
                "type": "integer",
                "format": "int32"
              }
            }
          }
        ]
      },
      "Interval": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ReferenceItem"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "Id": {
                "type": "integer",
                "format": "byte"
              },
              "Name": {
                "type": "string",
                "nullable": true
              }
            }
          }
        ]
      },
      "IR35Status": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "Unknown",
          "IR35",
          "OutsideIR35"
        ],
        "enum": [
          "Unknown",
          "IR35",
          "OutsideIR35"
        ]
      },
      "ITrackedEmail": {
        "type": "object",
        "x-abstract": true,
        "additionalProperties": false,
        "properties": {
          "EmailId": {
            "type": "string",
            "format": "guid"
          }
        }
      },
      "JobGetResult": {
        "allOf": [
          {
            "$ref": "#/components/schemas/JobResult"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "Company",
              "AlternateCode",
              "Alert",
              "ClientJobTitle",
              "JobTitle",
              "Attributes",
              "ChildAttributes",
              "QualificationsAndCertifications",
              "Benefits",
              "PayCurrency",
              "Description",
              "OwningConsultants",
              "Location"
            ],
            "properties": {
              "Company": {
                "$ref": "#/components/schemas/Entity"
              },
              "AlternateCode": {
                "type": "string",
                "minLength": 1
              },
              "Alert": {
                "type": "string",
                "minLength": 1
              },
              "ClientJobTitle": {
                "type": "string",
                "minLength": 1
              },
              "JobTitle": {
                "$ref": "#/components/schemas/JobTitle"
              },
              "Attributes": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Attribute"
                }
              },
              "ChildAttributes": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/AttributeChild"
                }
              },
              "QualificationsAndCertifications": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/QualificationAndCertification"
                }
              },
              "Benefits": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Benefit"
                }
              },
              "PayCurrency": {
                "$ref": "#/components/schemas/Currency"
              },
              "Description": {
                "type": "string",
                "minLength": 1
              },
              "OwningConsultants": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/JobOwningConsultant"
                }
              },
              "Location": {
                "$ref": "#/components/schemas/JobLocationDetail"
              },
              "CustomFields": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/CustomFieldDetail"
                  }
                ]
              },
              "PermJobDetail": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/PermJobDetail"
                  }
                ]
              },
              "FixedTermJobDetail": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/FixedTermJobDetail"
                  }
                ]
              },
              "ContractJobDetail": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/ContractJobDetail"
                  }
                ]
              },
              "TempJobDetail": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/TempJobDetail"
                  }
                ]
              }
            }
          }
        ]
      },
      "JobLocationDetail": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "LocationName",
          "AddressLine1",
          "AddressLine2",
          "AddressLine3",
          "Town",
          "County",
          "Postcode",
          "Country"
        ],
        "properties": {
          "LocationName": {
            "type": "string",
            "minLength": 1
          },
          "AddressLine1": {
            "type": "string",
            "minLength": 1
          },
          "AddressLine2": {
            "type": "string",
            "minLength": 1
          },
          "AddressLine3": {
            "type": "string",
            "minLength": 1
          },
          "Town": {
            "type": "string",
            "minLength": 1
          },
          "County": {
            "type": "string",
            "minLength": 1
          },
          "Postcode": {
            "type": "string",
            "minLength": 1
          },
          "Country": {
            "$ref": "#/components/schemas/Country"
          }
        }
      },
      "JobOwningConsultant": {
        "allOf": [
          {
            "$ref": "#/components/schemas/OwningConsultant"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "Id": {
                "type": "integer",
                "format": "int32"
              },
              "Name": {
                "type": "string",
                "nullable": true
              },
              "Phone": {
                "type": "string",
                "nullable": true
              },
              "Email": {
                "type": "string",
                "nullable": true
              },
              "EmailOther": {
                "type": "string",
                "nullable": true
              },
              "IsActive": {
                "type": "boolean"
              }
            }
          }
        ]
      },
      "JobPlacementType": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "Permanent",
          "Contract",
          "Temporary",
          "FixedTerm"
        ],
        "enum": [
          "Permanent",
          "Contract",
          "Temporary",
          "FixedTerm"
        ]
      },
      "JobRateResult": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "Id",
          "Pay",
          "NonPayePay",
          "Charge",
          "Per",
          "Name",
          "TotalPay",
          "TotalCost",
          "Profit",
          "MarginPercentage",
          "MarkupPercentage"
        ],
        "properties": {
          "Id": {
            "type": "integer",
            "format": "int32"
          },
          "StartDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "EndDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "Pay": {
            "type": "number",
            "format": "decimal"
          },
          "NonPayePay": {
            "type": "number",
            "format": "decimal"
          },
          "Charge": {
            "type": "number",
            "format": "decimal"
          },
          "Per": {
            "$ref": "#/components/schemas/RateInterval"
          },
          "Name": {
            "$ref": "#/components/schemas/RateName"
          },
          "TotalPay": {
            "type": "number",
            "format": "decimal"
          },
          "TotalCost": {
            "type": "number",
            "format": "decimal"
          },
          "Profit": {
            "type": "number",
            "format": "decimal"
          },
          "MarginPercentage": {
            "type": "number",
            "format": "decimal"
          },
          "MarkupPercentage": {
            "type": "number",
            "format": "decimal"
          }
        }
      },
      "JobResult": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "Id",
          "Type",
          "Created",
          "LastUpdated"
        ],
        "properties": {
          "Id": {
            "type": "integer",
            "format": "int32"
          },
          "Type": {
            "default": "Permanent",
            "oneOf": [
              {
                "$ref": "#/components/schemas/JobPlacementType"
              }
            ]
          },
          "Created": {
            "type": "string",
            "format": "date-time"
          },
          "LastUpdated": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "JobShiftResult": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "Id",
          "Status",
          "TotalPlaces",
          "FilledPlaces",
          "Start",
          "End",
          "TimeZoneId"
        ],
        "properties": {
          "Id": {
            "type": "integer",
            "format": "int32"
          },
          "Status": {
            "$ref": "#/components/schemas/JobShiftStatus"
          },
          "TotalPlaces": {
            "type": "integer",
            "format": "int32"
          },
          "FilledPlaces": {
            "type": "integer",
            "format": "int32"
          },
          "Start": {
            "type": "string",
            "format": "date-time"
          },
          "End": {
            "type": "string",
            "format": "date-time"
          },
          "TimeZoneId": {
            "type": "string",
            "minLength": 1
          }
        }
      },
      "JobShiftStatus": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "UnFilled",
          "PartiallyFilled",
          "Filled",
          "Unavailable"
        ],
        "enum": [
          "UnFilled",
          "PartiallyFilled",
          "Filled",
          "Unavailable"
        ]
      },
      "JobStatus": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ReferenceItem"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "Id": {
                "type": "integer",
                "format": "byte"
              },
              "Name": {
                "type": "string",
                "nullable": true
              },
              "Type": {
                "$ref": "#/components/schemas/StatusType"
              }
            }
          }
        ]
      },
      "JobTitle": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ReferenceItem"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "Id": {
                "type": "integer",
                "format": "int32"
              },
              "Name": {
                "type": "string",
                "nullable": true
              },
              "Description": {
                "type": "string",
                "nullable": true
              },
              "IsTemps": {
                "type": "boolean"
              },
              "IsDriving": {
                "type": "boolean"
              },
              "Category": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/JobTitleCategory"
                  }
                ]
              }
            }
          }
        ]
      },
      "JobTitleCategory": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ReferenceItem"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "Id": {
                "type": "integer",
                "format": "int32"
              },
              "Name": {
                "type": "string",
                "nullable": true
              },
              "Description": {
                "type": "string",
                "nullable": true
              }
            }
          }
        ]
      },
      "LawfulBasis": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "None",
          "DigitalConsent",
          "VerbalConsent",
          "LegitimateInterest",
          "ContractualLegal",
          "LegalObligation",
          "VitalInterests",
          "PublicTask",
          "NotRequired"
        ],
        "enum": [
          "None",
          "DigitalConsent",
          "VerbalConsent",
          "LegitimateInterest",
          "ContractualLegal",
          "LegalObligation",
          "VitalInterests",
          "PublicTask",
          "NotRequired"
        ]
      },
      "LawfulBasisPrivacyStatus": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "Unknown",
          "Red",
          "Green",
          "Amber",
          "Restricted"
        ],
        "enum": [
          "Unknown",
          "Red",
          "Green",
          "Amber",
          "Restricted"
        ]
      },
      "LawfulBasisReason": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ReferenceItem"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "Id": {
                "type": "integer",
                "format": "int32"
              },
              "Name": {
                "type": "string",
                "nullable": true
              },
              "RequiresFreeText": {
                "type": "boolean"
              }
            }
          }
        ]
      },
      "LawfulBasisStatus": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Id": {
            "type": "integer",
            "format": "int32"
          },
          "LawfulBasis": {
            "$ref": "#/components/schemas/LawfulBasis"
          },
          "StatusType": {
            "$ref": "#/components/schemas/LawfulBasisStatusType"
          }
        }
      },
      "LawfulBasisStatusType": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "None",
          "NotStarted",
          "VerbalConsentReceived",
          "ConsentDetailsSent",
          "LegitimateInterestDetailsSent",
          "FirstConsentReminderSent",
          "SecondConsentReminderSent",
          "Accepted",
          "Refused",
          "Expired"
        ],
        "enum": [
          "None",
          "NotStarted",
          "VerbalConsentReceived",
          "ConsentDetailsSent",
          "LegitimateInterestDetailsSent",
          "FirstConsentReminderSent",
          "SecondConsentReminderSent",
          "Accepted",
          "Refused",
          "Expired"
        ]
      },
      "LeadGetResult": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Id": {
            "type": "integer",
            "format": "int32"
          },
          "Photo": {
            "type": "string",
            "format": "byte",
            "nullable": true
          },
          "Description": {
            "type": "string",
            "nullable": true
          },
          "Forename": {
            "type": "string",
            "nullable": true
          },
          "Surname": {
            "type": "string",
            "nullable": true
          },
          "JobTitle": {
            "type": "string",
            "nullable": true
          },
          "ClientJobTitle": {
            "type": "string",
            "nullable": true
          },
          "JobDescription": {
            "type": "string",
            "nullable": true
          },
          "Company": {
            "type": "string",
            "nullable": true
          },
          "CompanyNotes": {
            "type": "string",
            "nullable": true
          },
          "ContactNotes": {
            "type": "string",
            "nullable": true
          },
          "PhoneNumber": {
            "type": "string",
            "nullable": true
          },
          "MobileNumber": {
            "type": "string",
            "nullable": true
          },
          "EmailAddress": {
            "type": "string",
            "nullable": true
          },
          "LinkedInUrl": {
            "type": "string",
            "nullable": true
          },
          "WebsiteUrl": {
            "type": "string",
            "nullable": true
          },
          "Address": {
            "type": "string",
            "nullable": true
          },
          "Source": {
            "type": "string",
            "nullable": true
          },
          "Tags": {
            "type": "string",
            "nullable": true
          },
          "OwningConsultantId": {
            "type": "integer",
            "format": "int32"
          },
          "Status": {
            "$ref": "#/components/schemas/LeadStatus"
          },
          "Created": {
            "type": "string",
            "format": "date-time"
          },
          "LinkedCompanyId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "LinkedCompanyTierContactId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        }
      },
      "LeadRequest": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Description": {
            "type": "string",
            "maxLength": 100,
            "nullable": true
          },
          "Forename": {
            "type": "string",
            "maxLength": 50,
            "nullable": true
          },
          "Surname": {
            "type": "string",
            "maxLength": 50,
            "nullable": true
          },
          "ContactNotes": {
            "type": "string",
            "nullable": true
          },
          "JobTitle": {
            "type": "string",
            "maxLength": 70,
            "nullable": true
          },
          "Company": {
            "type": "string",
            "maxLength": 100,
            "nullable": true
          },
          "CompanyNotes": {
            "type": "string",
            "nullable": true
          },
          "PhoneNumber": {
            "type": "string",
            "maxLength": 100,
            "nullable": true
          },
          "MobileNumber": {
            "type": "string",
            "maxLength": 100,
            "nullable": true
          },
          "EmailAddress": {
            "type": "string",
            "maxLength": 100,
            "nullable": true
          },
          "LinkedInUrl": {
            "type": "string",
            "maxLength": 100,
            "nullable": true
          },
          "WebsiteUrl": {
            "type": "string",
            "maxLength": 100,
            "nullable": true
          },
          "Address": {
            "type": "string",
            "maxLength": 600,
            "nullable": true
          },
          "Source": {
            "type": "string",
            "maxLength": 100,
            "nullable": true
          },
          "Tags": {
            "type": "string",
            "nullable": true
          },
          "OwningConsultantId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "LinkedCompanyId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "LinkedContactId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "ClientJobTitle": {
            "type": "string",
            "maxLength": 100,
            "nullable": true
          },
          "JobDescription": {
            "type": "string",
            "nullable": true
          },
          "Photo": {
            "type": "string",
            "description": "A Base64 image to display against the Lead\n\nThe image cannot exceed the max upload size configured in Infinity.",
            "format": "byte",
            "nullable": true
          }
        }
      },
      "LeadsRequest": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Description": {
            "type": "string",
            "nullable": true
          },
          "FirstName": {
            "type": "string",
            "nullable": true
          },
          "LastName": {
            "type": "string",
            "nullable": true
          },
          "ContactNotes": {
            "type": "string",
            "nullable": true
          },
          "JobTitle": {
            "type": "string",
            "nullable": true
          },
          "Company": {
            "type": "string",
            "nullable": true
          },
          "CompanyNotes": {
            "type": "string",
            "nullable": true
          },
          "PhoneNumbers": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "MobileNumbers": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "EmailAddresses": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "LinkedInUrl": {
            "type": "string",
            "nullable": true
          },
          "CompanyWebsiteUrl": {
            "type": "string",
            "nullable": true
          },
          "AddressLines": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "Source": {
            "type": "string",
            "nullable": true
          },
          "Tags": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "OwningConsultantId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "ClientJobTitle": {
            "type": "string",
            "nullable": true
          },
          "JobDescription": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "LeadsResult": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseResult"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "LeadId": {
                "type": "integer",
                "format": "int32"
              },
              "Created": {
                "type": "string",
                "format": "date-time"
              },
              "FirstName": {
                "type": "string",
                "nullable": true
              },
              "LastName": {
                "type": "string",
                "nullable": true
              },
              "ContactNotes": {
                "type": "string",
                "nullable": true
              },
              "JobTitle": {
                "type": "string",
                "nullable": true
              },
              "LinkedIn": {
                "type": "string",
                "nullable": true
              },
              "MobileNumbers": {
                "type": "string",
                "nullable": true
              },
              "Emails": {
                "type": "string",
                "nullable": true
              },
              "Company": {
                "type": "string",
                "nullable": true
              },
              "CompanyWebsite": {
                "type": "string",
                "nullable": true
              },
              "Address": {
                "type": "string",
                "nullable": true
              },
              "OwningConsultantFirstName": {
                "type": "string",
                "nullable": true
              },
              "OwningConsultantLastName": {
                "type": "string",
                "nullable": true
              },
              "Status": {
                "$ref": "#/components/schemas/LeadStatus"
              },
              "Source": {
                "type": "string",
                "nullable": true
              }
            }
          }
        ]
      },
      "LeadStatus": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "New",
          "Contacted",
          "Nurture",
          "Qualified",
          "Disqualified"
        ],
        "enum": [
          "New",
          "Contacted",
          "Nurture",
          "Qualified",
          "Disqualified"
        ]
      },
      "LocationDetails": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Entity"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "IsActive",
              "Telecoms",
              "Address",
              "Contacts"
            ],
            "properties": {
              "IsActive": {
                "type": "boolean"
              },
              "Telecoms": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/TelecomDetail"
                }
              },
              "Address": {
                "$ref": "#/components/schemas/AddressDetail"
              },
              "Contacts": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ContactDetails"
                }
              }
            }
          }
        ]
      },
      "LocationGetResult": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "Id",
          "Name",
          "Telecoms",
          "Created",
          "LastUpdated",
          "IsActive",
          "CompanyId"
        ],
        "properties": {
          "Id": {
            "type": "integer",
            "format": "int32"
          },
          "Name": {
            "type": "string",
            "minLength": 1
          },
          "Address": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/AddressRequest"
              }
            ]
          },
          "Telecoms": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EntityTelecomDetail"
            }
          },
          "NearestTrainStation": {
            "type": "string",
            "maxLength": 30,
            "nullable": true
          },
          "AlternateCode": {
            "type": "string",
            "maxLength": 15,
            "nullable": true
          },
          "Notes": {
            "type": "string",
            "nullable": true
          },
          "JobTitles": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/CompanyJobTitleRequest"
            }
          },
          "Attributes": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/CompanyAttributeRequest"
            }
          },
          "ChildAttributes": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/CompanyAttributeRequest"
            }
          },
          "QualificationsAndCertifications": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/CompanyQualificationAndCertificationRequest"
            }
          },
          "CallBacks": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/CallBackRequest"
            }
          },
          "CustomFieldDetails": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/CustomFieldDetail"
              }
            ]
          },
          "Created": {
            "type": "string",
            "format": "date-time"
          },
          "LastUpdated": {
            "type": "string",
            "format": "date-time"
          },
          "IsActive": {
            "type": "boolean"
          },
          "CompanyId": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "LocationRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseLocationRequest"
          },
          {
            "type": "object",
            "description": "Model to update a Location",
            "additionalProperties": false
          }
        ]
      },
      "LoginCredentials": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "Username",
          "Password",
          "Vic",
          "ClientType"
        ],
        "properties": {
          "Username": {
            "type": "string",
            "minLength": 1
          },
          "Password": {
            "type": "string",
            "minLength": 1
          },
          "Vic": {
            "type": "string",
            "minLength": 1
          },
          "ClientType": {
            "default": "InfinityApi",
            "oneOf": [
              {
                "$ref": "#/components/schemas/WebApiClient"
              }
            ]
          }
        }
      },
      "MaritalStatus": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ReferenceItem"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "Id": {
                "type": "integer",
                "format": "byte"
              },
              "Name": {
                "type": "string",
                "nullable": true
              }
            }
          }
        ]
      },
      "MaritalStatusesResult": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseResult"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "MaritalStatusId": {
                "type": "integer",
                "format": "byte"
              },
              "MaritalStatus": {
                "type": "string",
                "nullable": true
              }
            }
          }
        ]
      },
      "MultiSelectListBoxField": {
        "allOf": [
          {
            "$ref": "#/components/schemas/CustomFieldItem"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "Values",
              "ValueIds"
            ],
            "properties": {
              "Values": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "ValueIds": {
                "type": "array",
                "items": {
                  "type": "integer"
                }
              }
            }
          }
        ]
      },
      "MultiSelectListBoxFieldDefinition": {
        "allOf": [
          {
            "$ref": "#/components/schemas/CustomFieldDefinition"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "OrderAlphabetically": {
                "type": "boolean"
              },
              "MultiSelectValues": {
                "type": "array",
                "nullable": true,
                "items": {
                  "$ref": "#/components/schemas/MultiSelectValue"
                }
              }
            }
          }
        ]
      },
      "MultiSelectListBoxFieldRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/CustomFieldItemRequest"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "ValueIds"
            ],
            "properties": {
              "ValueIds": {
                "type": "array",
                "items": {
                  "type": "integer"
                }
              }
            }
          }
        ]
      },
      "MultiSelectValue": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "CustomFieldId": {
            "type": "integer"
          },
          "ValueId": {
            "type": "integer"
          },
          "Value": {
            "type": "string",
            "nullable": true
          },
          "ShortName": {
            "type": "string",
            "nullable": true
          },
          "Order": {
            "type": "integer"
          },
          "Active": {
            "type": "boolean"
          }
        }
      },
      "NationalitiesResult": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseResult"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "NationalityId": {
                "type": "integer"
              },
              "Nationality": {
                "type": "string",
                "nullable": true
              }
            }
          }
        ]
      },
      "Nationality": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ReferenceItem"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "Id": {
                "type": "integer"
              },
              "Name": {
                "type": "string",
                "nullable": true
              }
            }
          }
        ]
      },
      "NonTempJobDetail": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "Status",
          "IsSpecJob",
          "ASAP"
        ],
        "properties": {
          "Status": {
            "$ref": "#/components/schemas/JobStatus"
          },
          "IsSpecJob": {
            "type": "boolean"
          },
          "ASAP": {
            "type": "boolean"
          },
          "StartDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        }
      },
      "NoteControlField": {
        "allOf": [
          {
            "$ref": "#/components/schemas/CustomFieldItem"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "Value",
              "ValueText"
            ],
            "properties": {
              "Value": {
                "type": "string",
                "format": "byte",
                "minLength": 1
              },
              "ValueText": {
                "type": "string",
                "minLength": 1
              }
            }
          }
        ]
      },
      "NoteControlFieldRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/CustomFieldItemRequest"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "Value"
            ],
            "properties": {
              "Value": {
                "type": "string",
                "description": "The Notes Value must not exceed the max upload size configured in Infinity.",
                "minLength": 1
              }
            }
          }
        ]
      },
      "NotificationMessageCategory": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "Info",
          "MustRead"
        ],
        "enum": [
          "Info",
          "MustRead"
        ]
      },
      "NotificationMessageResponse": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "NotificationMessageKey": {
            "type": "string",
            "nullable": true
          },
          "FlexnetCode": {
            "type": "string",
            "nullable": true
          },
          "UserId": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "NotificationMessageType": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "All",
          "SaaS",
          "OnPremise"
        ],
        "enum": [
          "All",
          "SaaS",
          "OnPremise"
        ]
      },
      "OpenAiPrompt": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "PromptTypeValue": {
            "type": "integer",
            "format": "int32"
          },
          "Prompt": {
            "type": "string",
            "nullable": true
          },
          "Temperature": {
            "type": "number",
            "format": "double"
          },
          "MaxLength": {
            "type": "integer",
            "format": "int32"
          },
          "PromptType": {
            "$ref": "#/components/schemas/OpenAiPromptType"
          },
          "PartitionKey": {
            "type": "string",
            "nullable": true
          },
          "RowKey": {
            "type": "string",
            "nullable": true
          },
          "Timestamp": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "ETag": {
            "$ref": "#/components/schemas/ETag"
          }
        }
      },
      "OpenAiPromptType": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "LinkedInAndFacebookKeywords",
          "GeneralKeywords",
          "GeneralSummary",
          "FullyAnonymousSummary",
          "FullyAnonymousSummaryCheck",
          "AnonymousPersonSummary",
          "WriteMessage",
          "ResearchCopilotKeywords"
        ],
        "enum": [
          "LinkedInAndFacebookKeywords",
          "GeneralKeywords",
          "GeneralSummary",
          "FullyAnonymousSummary",
          "FullyAnonymousSummaryCheck",
          "AnonymousPersonSummary",
          "WriteMessage",
          "ResearchCopilotKeywords"
        ]
      },
      "OriginOfData": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ReferenceItem"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "Id": {
                "type": "integer",
                "format": "int32"
              },
              "Name": {
                "type": "string",
                "nullable": true
              }
            }
          }
        ]
      },
      "OutlookAttachmentRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "Content",
          "FileName"
        ],
        "properties": {
          "Content": {
            "type": "string",
            "description": "byte[] content of the whole file as a Base64 string  ",
            "format": "byte",
            "minLength": 1
          },
          "FileName": {
            "type": "string",
            "description": "Suggested filename with extension.\nIf the filename does not contain an extension, Infinity will try to auto-detect it from the file content.",
            "minLength": 1
          }
        }
      },
      "OutlookCandidateResponse": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Id": {
            "type": "integer",
            "format": "int32"
          },
          "IsAvailableStatus": {
            "type": "boolean",
            "nullable": true
          },
          "Photo": {
            "type": "string",
            "format": "byte",
            "nullable": true
          },
          "Name": {
            "type": "string",
            "nullable": true
          },
          "Address": {
            "type": "string",
            "nullable": true
          },
          "JobTitle": {
            "type": "string",
            "nullable": true
          },
          "Company": {
            "type": "string",
            "nullable": true
          },
          "Mobile": {
            "type": "string",
            "nullable": true
          },
          "EmailAddress": {
            "type": "string",
            "nullable": true
          },
          "LinkedInUrl": {
            "type": "string",
            "nullable": true
          },
          "XingUrl": {
            "type": "string",
            "nullable": true
          },
          "FacebookUrl": {
            "type": "string",
            "nullable": true
          },
          "XUrl": {
            "type": "string",
            "nullable": true
          },
          "Status": {
            "type": "string",
            "nullable": true
          },
          "LastContacted": {
            "type": "string",
            "nullable": true
          },
          "LastContactedBy": {
            "type": "string",
            "nullable": true
          },
          "IsActive": {
            "type": "boolean"
          },
          "ShareUrl": {
            "type": "string",
            "nullable": true
          },
          "LawfulBasis": {
            "type": "string",
            "nullable": true
          },
          "LawfulBasisStatus": {
            "type": "string",
            "nullable": true
          },
          "LawfulBasisExpiry": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "ContractualLegalLawfulBasis": {
            "type": "string",
            "nullable": true
          },
          "ContractualLegalLawfulBasisExpiry": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "LawfulBasisPrivacyStatus": {
            "$ref": "#/components/schemas/LawfulBasisPrivacyStatus"
          },
          "PrivacyCanBeSetToAccepted": {
            "type": "boolean"
          },
          "PrivacyCanBeSetToRefused": {
            "type": "boolean"
          }
        }
      },
      "OutlookContactResponse": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Id": {
            "type": "integer",
            "format": "int32"
          },
          "Photo": {
            "type": "string",
            "format": "byte",
            "nullable": true
          },
          "Name": {
            "type": "string",
            "nullable": true
          },
          "Address": {
            "type": "string",
            "nullable": true
          },
          "JobTitle": {
            "type": "string",
            "nullable": true
          },
          "Company": {
            "type": "string",
            "nullable": true
          },
          "Mobile": {
            "type": "string",
            "nullable": true
          },
          "EmailAddress": {
            "type": "string",
            "nullable": true
          },
          "LinkedInUrl": {
            "type": "string",
            "nullable": true
          },
          "XingUrl": {
            "type": "string",
            "nullable": true
          },
          "FacebookUrl": {
            "type": "string",
            "nullable": true
          },
          "XUrl": {
            "type": "string",
            "nullable": true
          },
          "LastContacted": {
            "type": "string",
            "nullable": true
          },
          "LastContactedBy": {
            "type": "string",
            "nullable": true
          },
          "IsActive": {
            "type": "boolean"
          },
          "ShareUrl": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "OutlookEventRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "Content"
        ],
        "properties": {
          "Content": {
            "type": "string",
            "description": "byte[] content of the email as a Base64 string  ",
            "format": "byte",
            "minLength": 1
          },
          "IsToRecipient": {
            "type": "boolean",
            "description": "True if the email matched recipient is a TO recipient, otherwise false.\nWill determine whether the event is created as action EmailSent or EmailReceived.\nWill determine whether the event is created as direction Out or In"
          }
        }
      },
      "OutlookICaptureRequest": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Content": {
            "type": "string",
            "description": "byte[] content of the email as a Base64 string  ",
            "format": "byte",
            "nullable": true
          }
        }
      },
      "OutlookLeadRequest": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "SelectedEmailAddress": {
            "description": "The selected email address to create the lead with.\nThe value will be used to find the matching display name from the email content.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/OutlookLeadRequestText"
              }
            ]
          },
          "SelectedText": {
            "description": "The selected text to create the lead with.\nThe value will be sent to Sovren to extract the lead information.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/OutlookLeadRequestText"
              }
            ]
          },
          "Content": {
            "type": "string",
            "description": "byte[] content of the whole email as a Base64 string  ",
            "format": "byte",
            "nullable": true
          },
          "IsSentItemsFolder": {
            "type": "boolean",
            "description": "True if the email is from the 'Sent Items' folder, otherwise false.\nWill determine whether the event is created as action EmailSent or EmailReceived."
          }
        }
      },
      "OutlookLeadRequestText": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Value": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "OutlookLeadResponse": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Id": {
            "type": "integer",
            "format": "int32"
          },
          "ShareUrl": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "OutlookPersonResponse": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Id": {
            "type": "integer",
            "format": "int32"
          },
          "SearchResultType": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/SearchResultType"
              }
            ]
          },
          "Name": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "OutlookPrivacyRequest": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "IsAccepted": {
            "type": "boolean",
            "description": "Flag indicating if the user has accepted the selected lawful basis. False indicates refusal."
          },
          "Content": {
            "type": "string",
            "description": "byte[] content of the whole email as a Base64 string  ",
            "format": "byte",
            "nullable": true
          }
        }
      },
      "OwningConsultant": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "ConsultantId"
        ],
        "properties": {
          "ConsultantId": {
            "type": "integer",
            "format": "int32"
          },
          "ConsultantRoleId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        }
      },
      "ParentPage": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "Candidate",
          "Company",
          "CompanyTier",
          "Contact",
          "Job",
          "Interview",
          "Placement",
          "Person",
          "User",
          "CandidateCV",
          "Event",
          "CommsCentre",
          "CompanyTierContact",
          "CandidateSearch",
          "CompanySearch",
          "JobSearch",
          "PlacementSearch",
          "InterviewDetail",
          "CompanyTierSearch",
          "ContactSearch",
          "ReJobSearch",
          "Report",
          "UmbrellaCompany",
          "Calendar",
          "ICaptureCandidate",
          "FolderPoolItem",
          "IResearch",
          "Task",
          "Administration",
          "Meeting",
          "InternalInterview",
          "SMS",
          "ExpiringQualsCerts",
          "TestsForReview",
          "JobBooking",
          "PlacementShift",
          "CandidatePrivacy",
          "CandidateAvailability",
          "Attachment",
          "DrivingLicence",
          "TrackedUserEvents",
          "RefereeCandidateCode",
          "OpenedTrackedUserEvents",
          "NotOpenedTrackedUserEvents",
          "Lead",
          "ExpiredRtwEaa",
          "ExpiringRtwEaa",
          "TrustIDExpired",
          "TrustIDExpiring",
          "TrustIDRejected",
          "TrustIDCompleted",
          "WorkspaceLastSyncedEmails",
          "CandidatePortalInvite",
          "CandidatePortalInviteDocument",
          "CandidatePortalOnboarding",
          "Referee",
          "NoteTemplateAdmin",
          "None"
        ],
        "enum": [
          "Candidate",
          "Company",
          "CompanyTier",
          "Contact",
          "Job",
          "Interview",
          "Placement",
          "Person",
          "User",
          "CandidateCV",
          "Event",
          "CommsCentre",
          "CompanyTierContact",
          "CandidateSearch",
          "CompanySearch",
          "JobSearch",
          "PlacementSearch",
          "InterviewDetail",
          "CompanyTierSearch",
          "ContactSearch",
          "ReJobSearch",
          "Report",
          "UmbrellaCompany",
          "Calendar",
          "ICaptureCandidate",
          "FolderPoolItem",
          "IResearch",
          "Task",
          "Administration",
          "Meeting",
          "InternalInterview",
          "SMS",
          "ExpiringQualsCerts",
          "TestsForReview",
          "JobBooking",
          "PlacementShift",
          "CandidatePrivacy",
          "CandidateAvailability",
          "Attachment",
          "DrivingLicence",
          "TrackedUserEvents",
          "RefereeCandidateCode",
          "OpenedTrackedUserEvents",
          "NotOpenedTrackedUserEvents",
          "Lead",
          "ExpiredRtwEaa",
          "ExpiringRtwEaa",
          "TrustIDExpired",
          "TrustIDExpiring",
          "TrustIDRejected",
          "TrustIDCompleted",
          "WorkspaceLastSyncedEmails",
          "CandidatePortalInvite",
          "CandidatePortalInviteDocument",
          "CandidatePortalOnboarding",
          "Referee",
          "NoteTemplateAdmin",
          "None"
        ]
      },
      "PayInterval": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ReferenceItem"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "Id": {
                "type": "integer",
                "format": "byte"
              },
              "Name": {
                "type": "string",
                "nullable": true
              }
            }
          }
        ]
      },
      "PaymentType": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ReferenceItem"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "Id": {
                "type": "integer",
                "format": "byte"
              },
              "Name": {
                "type": "string",
                "nullable": true
              }
            }
          }
        ]
      },
      "PermJobDetail": {
        "allOf": [
          {
            "$ref": "#/components/schemas/NonTempJobDetail"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "SalaryMin",
              "SalaryMax",
              "SalaryPer"
            ],
            "properties": {
              "SalaryMin": {
                "type": "number",
                "format": "decimal"
              },
              "SalaryMax": {
                "type": "number",
                "format": "decimal"
              },
              "SalaryPer": {
                "$ref": "#/components/schemas/Interval"
              }
            }
          }
        ]
      },
      "PlacementContactRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "ContactId",
          "Type",
          "JobTitle"
        ],
        "properties": {
          "ContactId": {
            "type": "integer",
            "format": "int32"
          },
          "Type": {
            "type": "string",
            "minLength": 1
          },
          "JobTitle": {
            "type": "string",
            "minLength": 1
          }
        }
      },
      "PlacementDivisionDepartmentRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "DivisionId",
          "DepartmentId",
          "Split"
        ],
        "properties": {
          "DivisionId": {
            "type": "integer",
            "format": "byte"
          },
          "DepartmentId": {
            "type": "integer"
          },
          "Split": {
            "type": "number",
            "format": "double"
          }
        }
      },
      "PlacementGetResult": {
        "allOf": [
          {
            "$ref": "#/components/schemas/PlacementResult"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "CandidateId",
              "JobId",
              "Company",
              "JobTitleId",
              "ClientJobTitle",
              "OwningConsultants",
              "Location",
              "ClientRef",
              "Alert",
              "ProjectCodeId",
              "Benefits",
              "AlternateCode",
              "CoreRateTypeId",
              "PayCurrencyId",
              "ChargeCurrencyId",
              "MarginMarkupPercentageFixed",
              "StartDate",
              "EndDate",
              "IR35Status",
              "WorkerTypeId",
              "ReportsToContactId",
              "MainContactId",
              "OtherContacts",
              "PurchaseOrders",
              "BackOfficeSectorId",
              "DivisionDepartmentSplits",
              "Notes",
              "OverrideInvoiceDetails",
              "InvoiceLocation",
              "InvoiceContactId",
              "TimesheetAuthoriserContactId",
              "SecondTimesheetAuthoriserContactId",
              "TimesheetIntervalId",
              "JobHistoryRequested",
              "Rates",
              "Shifts"
            ],
            "properties": {
              "CandidateId": {
                "type": "integer",
                "format": "int32"
              },
              "JobId": {
                "type": "integer",
                "format": "int32"
              },
              "Company": {
                "$ref": "#/components/schemas/Entity"
              },
              "JobTitleId": {
                "type": "integer",
                "format": "int32"
              },
              "ClientJobTitle": {
                "type": "string",
                "minLength": 1
              },
              "OwningConsultants": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/PlacementOwningConsultant"
                }
              },
              "Location": {
                "$ref": "#/components/schemas/PlacementLocationDetail"
              },
              "ClientRef": {
                "type": "string",
                "minLength": 1
              },
              "Alert": {
                "type": "string",
                "minLength": 1
              },
              "ProjectCodeId": {
                "type": "integer",
                "format": "int32"
              },
              "Benefits": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/BenefitRequest"
                }
              },
              "AlternateCode": {
                "type": "string",
                "minLength": 1
              },
              "CoreRateTypeId": {
                "type": "integer"
              },
              "PayCurrencyId": {
                "type": "integer",
                "format": "byte"
              },
              "ChargeCurrencyId": {
                "type": "integer",
                "format": "byte"
              },
              "MarginMarkupPercentageFixed": {
                "type": "boolean"
              },
              "StartDate": {
                "type": "string",
                "format": "date-time"
              },
              "EndDate": {
                "type": "string",
                "format": "date-time"
              },
              "Hours": {
                "type": "number",
                "description": "Hours for Contract or Fixed Term placements",
                "format": "decimal",
                "nullable": true
              },
              "HoursPer": {
                "description": "Hours Per for Contract or Fixed Term placements",
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/Interval"
                  }
                ]
              },
              "PlacedDate": {
                "type": "string",
                "description": "Placed Date for Perm, Contract or Fixed Term placements",
                "format": "date-time",
                "nullable": true
              },
              "IR35Status": {
                "$ref": "#/components/schemas/IR35Status"
              },
              "WorkerTypeId": {
                "type": "integer"
              },
              "ReportsToContactId": {
                "type": "integer",
                "format": "int32"
              },
              "MainContactId": {
                "type": "integer",
                "format": "int32"
              },
              "OtherContacts": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/PlacementContactRequest"
                }
              },
              "PurchaseOrders": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/PurchaseOrderResult"
                }
              },
              "BackOfficeSectorId": {
                "type": "integer",
                "format": "byte"
              },
              "DivisionDepartmentSplits": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/PlacementDivisionDepartmentRequest"
                }
              },
              "Notes": {
                "type": "string",
                "minLength": 1
              },
              "OverrideInvoiceDetails": {
                "type": "boolean"
              },
              "InvoiceLocation": {
                "$ref": "#/components/schemas/PlacementLocationDetail"
              },
              "InvoiceContactId": {
                "type": "integer",
                "format": "int32"
              },
              "TimesheetAuthoriserContactId": {
                "type": "integer",
                "format": "int32"
              },
              "SecondTimesheetAuthoriserContactId": {
                "type": "integer",
                "format": "int32"
              },
              "TimesheetIntervalId": {
                "type": "integer",
                "format": "byte"
              },
              "JobHistoryRequested": {
                "type": "boolean"
              },
              "Salary": {
                "type": "number",
                "description": "Salary for Perm or Fixed Term placements",
                "format": "decimal",
                "nullable": true
              },
              "SalaryPer": {
                "description": "Salary Per for Perm or Fixed Term placements",
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/Interval"
                  }
                ]
              },
              "Package": {
                "type": "number",
                "description": "Package for Perm or Fixed Term placements",
                "format": "decimal",
                "nullable": true
              },
              "FeePercentage": {
                "type": "number",
                "description": "Fee Percentage for Perm or Fixed Term placements",
                "format": "decimal",
                "nullable": true
              },
              "FeeValue": {
                "type": "number",
                "description": "Fee Value for Perm or Fixed Term placements",
                "format": "decimal",
                "nullable": true
              },
              "CapFeeValueAt": {
                "type": "number",
                "description": "Cap Fee Value At for Perm or Fixed Term placements",
                "format": "decimal",
                "nullable": true
              },
              "Status": {
                "description": "Status of Perm, Fixed Term or Contract placements",
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/PlacementStatus"
                  }
                ]
              },
              "BreaksType": {
                "description": "Type of PaidAndCharged or UnpaidAndUncharged ",
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/BreaksType"
                  }
                ]
              },
              "Rates": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/PlacementRateRequest"
                }
              },
              "Shifts": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/PlacementShiftResult"
                }
              },
              "CustomFields": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/CustomFieldDetail"
                  }
                ]
              }
            }
          }
        ]
      },
      "PlacementLocationDetail": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "LocationName",
          "AddressLine1",
          "AddressLine2",
          "AddressLine3",
          "Town",
          "County",
          "Postcode",
          "Country"
        ],
        "properties": {
          "LocationName": {
            "type": "string",
            "minLength": 1
          },
          "AddressLine1": {
            "type": "string",
            "minLength": 1
          },
          "AddressLine2": {
            "type": "string",
            "minLength": 1
          },
          "AddressLine3": {
            "type": "string",
            "minLength": 1
          },
          "Town": {
            "type": "string",
            "minLength": 1
          },
          "County": {
            "type": "string",
            "minLength": 1
          },
          "Postcode": {
            "type": "string",
            "minLength": 1
          },
          "Country": {
            "$ref": "#/components/schemas/Country"
          }
        }
      },
      "PlacementOwningConsultant": {
        "allOf": [
          {
            "$ref": "#/components/schemas/OwningConsultant"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "Split"
            ],
            "properties": {
              "Split": {
                "type": "number",
                "format": "double"
              }
            }
          }
        ]
      },
      "PlacementRateRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "Pay",
          "NonPayePay",
          "Charge",
          "RateIntervalId",
          "RateTypeId",
          "TotalPay",
          "TotalCost",
          "Profit",
          "MarginPercentage",
          "MarkupPercentage"
        ],
        "properties": {
          "StartDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "EndDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "Pay": {
            "type": "number",
            "format": "decimal"
          },
          "NonPayePay": {
            "type": "number",
            "format": "decimal"
          },
          "Charge": {
            "type": "number",
            "format": "decimal"
          },
          "RateIntervalId": {
            "type": "integer",
            "format": "byte"
          },
          "RateTypeId": {
            "type": "integer"
          },
          "TotalPay": {
            "type": "number",
            "format": "decimal"
          },
          "TotalCost": {
            "type": "number",
            "format": "decimal"
          },
          "Profit": {
            "type": "number",
            "format": "decimal"
          },
          "MarginPercentage": {
            "type": "number",
            "format": "decimal"
          },
          "MarkupPercentage": {
            "type": "number",
            "format": "decimal"
          }
        }
      },
      "PlacementResult": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "Id",
          "Type",
          "Created",
          "LastUpdated"
        ],
        "properties": {
          "Id": {
            "type": "integer",
            "format": "int32"
          },
          "Type": {
            "default": "Permanent",
            "oneOf": [
              {
                "$ref": "#/components/schemas/JobPlacementType"
              }
            ]
          },
          "Created": {
            "type": "string",
            "format": "date-time"
          },
          "LastUpdated": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "PlacementShiftResult": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "Id",
          "Status",
          "IsStarted",
          "IsTimeWorked",
          "Start",
          "End",
          "TimeZoneId"
        ],
        "properties": {
          "Id": {
            "type": "integer",
            "format": "int32"
          },
          "Status": {
            "$ref": "#/components/schemas/PlacementShiftStatuses"
          },
          "IsStarted": {
            "type": "boolean"
          },
          "IsTimeWorked": {
            "type": "boolean"
          },
          "Start": {
            "type": "string",
            "format": "date-time"
          },
          "End": {
            "type": "string",
            "format": "date-time"
          },
          "TimeZoneId": {
            "type": "string",
            "minLength": 1
          },
          "BreakLengthMinutes": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        }
      },
      "PlacementShiftStatuses": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "AwaitingConfirmation",
          "Confirmed"
        ],
        "enum": [
          "AwaitingConfirmation",
          "Confirmed"
        ]
      },
      "PlacementStatus": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ReferenceItem"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "Id": {
                "type": "integer",
                "format": "byte"
              },
              "Name": {
                "type": "string",
                "nullable": true
              },
              "Type": {
                "$ref": "#/components/schemas/StatusType"
              }
            }
          }
        ]
      },
      "PortalJobOfferGroup": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "PortalJobOfferId": {
            "type": "integer",
            "format": "int32"
          },
          "CandidateId": {
            "type": "integer",
            "format": "int32"
          },
          "Status": {
            "$ref": "#/components/schemas/PortalJobOfferStatus"
          },
          "JobId": {
            "type": "integer",
            "format": "int32"
          },
          "Shifts": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/PortalJobOfferGroupJobShift"
            }
          },
          "ClientName": {
            "type": "string",
            "nullable": true
          },
          "JobTitle": {
            "type": "string",
            "nullable": true
          },
          "Location": {
            "type": "string",
            "nullable": true
          },
          "AddressLine1": {
            "type": "string",
            "nullable": true
          },
          "AddressLine2": {
            "type": "string",
            "nullable": true
          },
          "AddressLine3": {
            "type": "string",
            "nullable": true
          },
          "Town": {
            "type": "string",
            "nullable": true
          },
          "County": {
            "type": "string",
            "nullable": true
          },
          "Postcode": {
            "type": "string",
            "nullable": true
          },
          "Country": {
            "type": "string",
            "nullable": true
          },
          "ReportsTo": {
            "type": "string",
            "nullable": true
          },
          "Details": {
            "type": "string",
            "nullable": true
          },
          "Rate": {
            "type": "string",
            "nullable": true
          },
          "JobOwners": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/PortalJobOfferGroupJobOwner"
            }
          }
        }
      },
      "PortalJobOfferGroupJobOwner": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Name": {
            "type": "string",
            "nullable": true
          },
          "Email": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "PortalJobOfferGroupJobShift": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "JobShiftId": {
            "type": "integer",
            "format": "int32"
          },
          "Start": {
            "type": "string",
            "format": "date-time"
          },
          "End": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "PortalJobOfferStatus": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "Offered",
          "Applied",
          "Rejected",
          "OfferedClosed",
          "UnsuccessfulApplication",
          "Placed",
          "RejectedClosed"
        ],
        "enum": [
          "Offered",
          "Applied",
          "Rejected",
          "OfferedClosed",
          "UnsuccessfulApplication",
          "Placed",
          "RejectedClosed"
        ]
      },
      "PortalPlacement": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "PlacementId": {
            "type": "integer",
            "format": "int32"
          },
          "JobTitle": {
            "type": "string",
            "nullable": true
          },
          "CompanyName": {
            "type": "string",
            "nullable": true
          },
          "StartDate": {
            "type": "string",
            "format": "date-time"
          },
          "EndDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "LocationName": {
            "type": "string",
            "nullable": true
          },
          "AddressLine1": {
            "type": "string",
            "nullable": true
          },
          "AddressLine2": {
            "type": "string",
            "nullable": true
          },
          "AddressLine3": {
            "type": "string",
            "nullable": true
          },
          "Town": {
            "type": "string",
            "nullable": true
          },
          "County": {
            "type": "string",
            "nullable": true
          },
          "Postcode": {
            "type": "string",
            "nullable": true
          },
          "Country": {
            "type": "string",
            "nullable": true
          },
          "ReportsTo": {
            "type": "string",
            "nullable": true
          },
          "ShiftOfferDetails": {
            "type": "string",
            "nullable": true
          },
          "PlacementOwners": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/PortalPlacementOwner"
            }
          }
        }
      },
      "PortalPlacementOwner": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Name": {
            "type": "string",
            "nullable": true
          },
          "Email": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "PortalShifts": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Id": {
            "type": "integer",
            "format": "int32"
          },
          "Name": {
            "type": "string",
            "nullable": true
          },
          "Start": {
            "type": "string",
            "format": "duration"
          },
          "End": {
            "type": "string",
            "format": "duration"
          },
          "IsUnavailability": {
            "type": "boolean"
          }
        }
      },
      "PortalTempAvailability": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Id": {
            "type": "integer",
            "format": "int32"
          },
          "Start": {
            "type": "string",
            "format": "date-time"
          },
          "End": {
            "type": "string",
            "format": "date-time"
          },
          "IsAvailable": {
            "type": "boolean"
          },
          "PlacementId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "PlacementShiftStatus": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/PlacementShiftStatuses"
              }
            ]
          },
          "UnavailabilityReasonId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "ShiftId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "Rate": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "PortalTempAvailabilityRequest": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Date": {
            "type": "string",
            "format": "date-time"
          },
          "IsAvailable": {
            "type": "boolean",
            "nullable": true
          },
          "UnavailabilityReasonId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "ShiftId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        }
      },
      "PostDocumentContentRequest": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Payload": {
            "type": "string",
            "nullable": true
          },
          "SubmittedDocument": {
            "type": "string",
            "format": "byte",
            "nullable": true
          }
        }
      },
      "PostPortalCandidateAvailabilityRequest": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "ContractAvailability": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "TempAvailability": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/PortalTempAvailabilityRequest"
            }
          }
        }
      },
      "PostRecruitmentCompanySettingsRequest": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "SiteUrl": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "ProjectCodeResult": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "Id",
          "Name",
          "Description"
        ],
        "properties": {
          "Id": {
            "type": "integer",
            "format": "int32"
          },
          "Name": {
            "type": "string",
            "minLength": 1
          },
          "Description": {
            "type": "string",
            "minLength": 1
          }
        }
      },
      "PurchaseOrderResult": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "Id",
          "CompanyId",
          "Name",
          "ValidFromDate",
          "ValidToDate",
          "Value",
          "ValueCurrencyId",
          "EstimatedValue",
          "EstimatedValueCurrencyId",
          "ActualValue",
          "ActualValueCurrencyId",
          "Description"
        ],
        "properties": {
          "Id": {
            "type": "integer",
            "format": "int32"
          },
          "CompanyId": {
            "type": "integer",
            "format": "int32"
          },
          "Name": {
            "type": "string",
            "minLength": 1
          },
          "ValidFromDate": {
            "type": "string",
            "format": "date-time"
          },
          "ValidToDate": {
            "type": "string",
            "format": "date-time"
          },
          "Value": {
            "type": "number",
            "format": "decimal"
          },
          "ValueCurrencyId": {
            "type": "integer",
            "format": "byte"
          },
          "EstimatedValue": {
            "type": "number",
            "format": "decimal"
          },
          "EstimatedValueCurrencyId": {
            "type": "integer",
            "format": "byte"
          },
          "ActualValue": {
            "type": "number",
            "format": "decimal"
          },
          "ActualValueCurrencyId": {
            "type": "integer",
            "format": "byte"
          },
          "Description": {
            "type": "string",
            "minLength": 1
          }
        }
      },
      "QualificationAndCertification": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ReferenceItem"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "Id": {
                "type": "integer",
                "format": "int32"
              },
              "Name": {
                "type": "string",
                "nullable": true
              },
              "Description": {
                "type": "string",
                "nullable": true
              },
              "Expires": {
                "type": "boolean"
              }
            }
          }
        ]
      },
      "QualificationAndCertificationLevel": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ReferenceItem"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "Id": {
                "type": "integer",
                "format": "int32"
              },
              "Name": {
                "type": "string",
                "nullable": true
              },
              "Description": {
                "type": "string",
                "nullable": true
              },
              "ParentQualificationAndCertification": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/QualificationAndCertification"
                  }
                ]
              }
            }
          }
        ]
      },
      "QualificationAndCertificationType": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ReferenceItem"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "Id": {
                "type": "integer",
                "format": "int32"
              },
              "Name": {
                "type": "string",
                "nullable": true
              },
              "Description": {
                "type": "string",
                "nullable": true
              },
              "ParentQualificationAndCertification": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/QualificationAndCertification"
                  }
                ]
              }
            }
          }
        ]
      },
      "RateInterval": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ReferenceItem"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "Id": {
                "type": "integer",
                "format": "byte"
              },
              "Name": {
                "type": "string",
                "nullable": true
              },
              "IsTemps": {
                "type": "boolean"
              }
            }
          }
        ]
      },
      "RateName": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ReferenceItem"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "Id": {
                "type": "integer"
              },
              "Name": {
                "type": "string",
                "nullable": true
              }
            }
          }
        ]
      },
      "RecruitmentCompanyBranding": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "SiteConfiguration": {
            "type": "string",
            "nullable": true
          },
          "EmailConfiguration": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "RefereeAttachmentRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ICaptureCandidateAttachmentRequest"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "RefereeId",
              "FileExtension"
            ],
            "properties": {
              "RefereeId": {
                "type": "integer",
                "format": "int32"
              },
              "FileExtension": {
                "type": "string",
                "maxLength": 6,
                "minLength": 1
              }
            }
          }
        ]
      },
      "RefereeRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "CandidateId",
          "RefereeType",
          "Surname"
        ],
        "properties": {
          "CandidateId": {
            "type": "integer",
            "format": "int32"
          },
          "RefereeType": {
            "$ref": "#/components/schemas/CandidateRefereeType"
          },
          "TitleId": {
            "type": "integer",
            "format": "byte",
            "nullable": true
          },
          "Forename": {
            "type": "string",
            "maxLength": 50,
            "nullable": true
          },
          "Surname": {
            "type": "string",
            "maxLength": 50,
            "minLength": 1
          },
          "Relationship": {
            "type": "string",
            "maxLength": 25,
            "nullable": true
          },
          "Company": {
            "type": "string",
            "maxLength": 100,
            "nullable": true
          },
          "JobTitle": {
            "type": "string",
            "maxLength": 75,
            "nullable": true
          },
          "AddressLine1": {
            "type": "string",
            "maxLength": 150,
            "nullable": true
          },
          "AddressLine2": {
            "type": "string",
            "maxLength": 150,
            "nullable": true
          },
          "AddressLine3": {
            "type": "string",
            "maxLength": 150,
            "nullable": true
          },
          "Town": {
            "type": "string",
            "maxLength": 50,
            "nullable": true
          },
          "County": {
            "type": "string",
            "maxLength": 50,
            "nullable": true
          },
          "Postcode": {
            "type": "string",
            "maxLength": 10,
            "nullable": true
          },
          "CountryId": {
            "type": "integer",
            "nullable": true
          },
          "Mobile": {
            "type": "string",
            "maxLength": 100,
            "nullable": true
          },
          "Landline": {
            "type": "string",
            "maxLength": 100,
            "nullable": true
          },
          "Email": {
            "type": "string",
            "maxLength": 100,
            "nullable": true
          },
          "Notes": {
            "type": "string",
            "maxLength": 1000,
            "nullable": true
          },
          "Checked": {
            "type": "boolean"
          },
          "CheckedDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        }
      },
      "RefereeResult": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "RefereeType"
        ],
        "properties": {
          "Id": {
            "type": "integer",
            "format": "int32"
          },
          "CandidateId": {
            "type": "integer",
            "format": "int32"
          },
          "RefereeType": {
            "$ref": "#/components/schemas/CandidateRefereeType"
          },
          "TitleId": {
            "type": "integer",
            "format": "byte",
            "nullable": true
          },
          "Forename": {
            "type": "string",
            "maxLength": 50,
            "nullable": true
          },
          "Surname": {
            "type": "string",
            "maxLength": 50
          },
          "Relationship": {
            "type": "string",
            "maxLength": 25,
            "nullable": true
          },
          "Company": {
            "type": "string",
            "maxLength": 100,
            "nullable": true
          },
          "JobTitle": {
            "type": "string",
            "maxLength": 75,
            "nullable": true
          },
          "AddressLine1": {
            "type": "string",
            "maxLength": 150,
            "nullable": true
          },
          "AddressLine2": {
            "type": "string",
            "maxLength": 150,
            "nullable": true
          },
          "AddressLine3": {
            "type": "string",
            "maxLength": 150,
            "nullable": true
          },
          "Town": {
            "type": "string",
            "maxLength": 50,
            "nullable": true
          },
          "County": {
            "type": "string",
            "maxLength": 50,
            "nullable": true
          },
          "Postcode": {
            "type": "string",
            "maxLength": 10,
            "nullable": true
          },
          "CountryId": {
            "type": "integer",
            "nullable": true
          },
          "Mobile": {
            "type": "string",
            "maxLength": 100,
            "nullable": true
          },
          "Landline": {
            "type": "string",
            "maxLength": 100,
            "nullable": true
          },
          "Email": {
            "type": "string",
            "maxLength": 100,
            "nullable": true
          },
          "Notes": {
            "type": "string",
            "maxLength": 1000,
            "nullable": true
          },
          "Checked": {
            "type": "boolean"
          },
          "CheckedDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        }
      },
      "ReferenceItem": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "IsActive": {
            "type": "boolean"
          }
        }
      },
      "RefreshPowerBiDataRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "VicCode",
          "RefreshToken"
        ],
        "properties": {
          "VicCode": {
            "type": "string",
            "minLength": 1
          },
          "RefreshToken": {
            "type": "string",
            "minLength": 1
          }
        }
      },
      "ReviewPutRequest": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Rating": {
            "type": "integer",
            "format": "int32",
            "maximum": 2147483647.0,
            "minimum": 1.0
          },
          "Text": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "SearchResult": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SearchResultIndex"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "Name": {
                "type": "string",
                "nullable": true
              },
              "Address": {
                "type": "string",
                "nullable": true
              },
              "JobTitle": {
                "type": "string",
                "nullable": true
              },
              "CompanyName": {
                "type": "string",
                "nullable": true
              }
            }
          }
        ]
      },
      "SearchResultIndex": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "EntityId": {
            "type": "integer",
            "format": "int32"
          },
          "SearchResultType": {
            "$ref": "#/components/schemas/SearchResultType"
          },
          "CompanyTierId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        }
      },
      "SearchResultType": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "Candidate",
          "Contact"
        ],
        "enum": [
          "Candidate",
          "Contact"
        ]
      },
      "SessionDetails": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "SessionTimeoutSeconds": {
            "type": "integer",
            "format": "int32"
          },
          "IsDBManager": {
            "type": "boolean"
          }
        }
      },
      "ShiftDisplayOptions": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "ClientName": {
            "type": "boolean"
          },
          "LocationName": {
            "type": "boolean"
          },
          "Address": {
            "type": "boolean"
          },
          "JobTitle": {
            "type": "boolean"
          },
          "ReportsTo": {
            "type": "boolean"
          },
          "ShiftTimes": {
            "type": "boolean"
          },
          "Rate": {
            "type": "boolean"
          },
          "Details": {
            "type": "boolean"
          },
          "ConsultantNameEmail": {
            "type": "boolean"
          },
          "ShiftStatus": {
            "type": "boolean"
          }
        }
      },
      "ShiftName": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Id": {
            "type": "integer"
          },
          "Name": {
            "type": "string",
            "nullable": true
          },
          "StartTime": {
            "type": "string",
            "format": "duration"
          },
          "EndTime": {
            "type": "string",
            "format": "duration"
          }
        }
      },
      "Source": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ReferenceItem"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "Id": {
                "type": "integer"
              },
              "Name": {
                "type": "string",
                "nullable": true
              },
              "Type": {
                "$ref": "#/components/schemas/SourceType"
              },
              "Identifier": {
                "type": "string",
                "nullable": true
              }
            }
          }
        ]
      },
      "SourcesResult": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseResult"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "SourceId": {
                "type": "integer"
              },
              "Source": {
                "type": "string",
                "nullable": true
              }
            }
          }
        ]
      },
      "SourceType": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "Website_Newspaper",
          "Candidate",
          "Company",
          "Free_Text",
          "Contact"
        ],
        "enum": [
          "Website_Newspaper",
          "Candidate",
          "Company",
          "Free_Text",
          "Contact"
        ]
      },
      "SovrenParseRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "AccessToken",
          "FileContents"
        ],
        "properties": {
          "AccessToken": {
            "type": "string",
            "minLength": 1
          },
          "VicCode": {
            "type": "string",
            "deprecated": true,
            "nullable": true
          },
          "FileContents": {
            "type": "string",
            "format": "byte",
            "minLength": 1
          },
          "DefaultCountryCode": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "SovrenUploadRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "AccessToken",
          "FileName",
          "FileContents"
        ],
        "properties": {
          "AccessToken": {
            "type": "string",
            "minLength": 1
          },
          "FileName": {
            "type": "string",
            "minLength": 1
          },
          "FileContents": {
            "type": "string",
            "format": "byte",
            "minLength": 1
          }
        }
      },
      "Status": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ReferenceItem"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "Id": {
                "type": "integer",
                "format": "byte"
              },
              "Name": {
                "type": "string",
                "nullable": true
              },
              "IsDefault": {
                "type": "boolean"
              },
              "IsShortlistStatus": {
                "type": "boolean"
              }
            }
          }
        ]
      },
      "StatusType": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "Current",
          "Closed"
        ],
        "enum": [
          "Current",
          "Closed"
        ]
      },
      "Telecom": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ReferenceItem"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "Id": {
                "type": "integer",
                "format": "byte"
              },
              "Name": {
                "type": "string",
                "nullable": true
              },
              "Type": {
                "$ref": "#/components/schemas/TelecomType"
              },
              "PhoneSoftwareSupported": {
                "type": "boolean"
              },
              "SMS": {
                "type": "boolean"
              },
              "Validate": {
                "type": "boolean"
              },
              "IsCandidateTelecom": {
                "type": "boolean"
              },
              "IsCompanyTelecom": {
                "type": "boolean"
              },
              "IsLocationTelecom": {
                "type": "boolean"
              },
              "IsContactTelecom": {
                "type": "boolean"
              }
            }
          }
        ]
      },
      "TelecomDetail": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "Name",
          "Type",
          "Value"
        ],
        "properties": {
          "Name": {
            "type": "string",
            "minLength": 1
          },
          "Type": {
            "$ref": "#/components/schemas/TelecomType"
          },
          "Value": {
            "type": "string",
            "minLength": 1
          }
        }
      },
      "TelecomRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "TelecomId",
          "OkToMailShot",
          "OkToSMS",
          "SendByDefault",
          "IsPreferredTelecom"
        ],
        "properties": {
          "Description": {
            "type": "string",
            "maxLength": 30,
            "nullable": true
          },
          "TelecomId": {
            "type": "integer",
            "format": "byte"
          },
          "OkToMailShot": {
            "type": "boolean"
          },
          "OkToSMS": {
            "type": "boolean"
          },
          "CountryId": {
            "type": "integer",
            "nullable": true
          },
          "Value": {
            "type": "string",
            "maxLength": 100,
            "nullable": true
          },
          "SendByDefault": {
            "type": "boolean"
          },
          "Extension": {
            "type": "string",
            "maxLength": 30,
            "nullable": true
          },
          "IsPreferredTelecom": {
            "type": "boolean"
          }
        }
      },
      "TelecomType": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "Landline",
          "Mobile",
          "Email",
          "Fax",
          "Website",
          "Other",
          "Skype"
        ],
        "enum": [
          "Landline",
          "Mobile",
          "Email",
          "Fax",
          "Website",
          "Other",
          "Skype"
        ]
      },
      "TempCandidateAvailabilityDateRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "Start",
          "End",
          "TimeZoneId",
          "IsAvailable"
        ],
        "properties": {
          "Start": {
            "type": "string",
            "format": "date-time"
          },
          "End": {
            "type": "string",
            "format": "date-time"
          },
          "TimeZoneId": {
            "type": "string",
            "minLength": 1
          },
          "IsAvailable": {
            "type": "boolean"
          },
          "UnavailabilityReasonId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        }
      },
      "TempCandidateAvailabilityDatesRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "CandidateId",
          "AvailabilityDates"
        ],
        "properties": {
          "CandidateId": {
            "type": "integer",
            "format": "int32"
          },
          "AvailabilityDates": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TempCandidateAvailabilityDateRequest"
            }
          }
        }
      },
      "TempJobDetail": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "CoreRateName",
          "IR35Status"
        ],
        "properties": {
          "NextUnfilledShift": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/JobShiftResult"
              }
            ]
          },
          "LastUnfilledShift": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/JobShiftResult"
              }
            ]
          },
          "CoreRateName": {
            "$ref": "#/components/schemas/RateName"
          },
          "CurrentCoreRateDetail": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/JobRateResult"
              }
            ]
          },
          "IR35Status": {
            "$ref": "#/components/schemas/IR35Status"
          }
        }
      },
      "TempJobRequest": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "CompanyId": {
            "type": "integer",
            "format": "int32"
          },
          "JobTitleId": {
            "type": "integer",
            "format": "int32"
          },
          "LocationId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "ContactId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "OwningConsultants": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/OwningConsultant"
            }
          },
          "OwningConsultantId": {
            "type": "integer",
            "description": "Depreciated. OwningConsultants can be used instead to supply a list of consultants and their roles.",
            "format": "int32",
            "nullable": true
          },
          "Shifts": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/TempJobShiftRequest"
            }
          }
        }
      },
      "TempJobShiftRequest": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "NumberOfPlaces": {
            "type": "integer",
            "format": "int32"
          },
          "Start": {
            "type": "string",
            "format": "date-time"
          },
          "End": {
            "type": "string",
            "format": "date-time"
          },
          "TimeZoneId": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "Territory": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ReferenceItem"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "Id": {
                "type": "integer"
              },
              "Name": {
                "type": "string",
                "nullable": true
              }
            }
          }
        ]
      },
      "TextBoxField": {
        "allOf": [
          {
            "$ref": "#/components/schemas/CustomFieldItem"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "Value"
            ],
            "properties": {
              "Value": {
                "type": "string",
                "minLength": 1
              }
            }
          }
        ]
      },
      "TextBoxFieldDefinition": {
        "allOf": [
          {
            "$ref": "#/components/schemas/CustomFieldDefinition"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "MaxLength": {
                "type": "integer",
                "format": "int32"
              },
              "NumberOfLines": {
                "type": "integer",
                "format": "int32"
              },
              "ShowScrollBar": {
                "type": "boolean"
              }
            }
          }
        ]
      },
      "TextBoxFieldRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/CustomFieldItemRequest"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "Value"
            ],
            "properties": {
              "Value": {
                "type": "string",
                "minLength": 1
              }
            }
          }
        ]
      },
      "Title": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ReferenceItem"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "Id": {
                "type": "integer",
                "format": "byte"
              },
              "Name": {
                "type": "string",
                "nullable": true
              }
            }
          }
        ]
      },
      "TitlesResult": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseResult"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "TitleId": {
                "type": "integer",
                "format": "byte"
              },
              "Title": {
                "type": "string",
                "nullable": true
              }
            }
          }
        ]
      },
      "UmbrellaCompanyResult": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Id": {
            "type": "integer",
            "format": "int32"
          },
          "Name": {
            "type": "string",
            "maxLength": 100
          },
          "ContactForename": {
            "type": "string",
            "maxLength": 50
          },
          "ContactSurname": {
            "type": "string",
            "maxLength": 50
          },
          "IsActive": {
            "type": "boolean"
          },
          "Created": {
            "type": "string",
            "format": "date-time"
          },
          "LastUpdated": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "UnavailabilityReason": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ReferenceItem"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "Id": {
                "type": "integer",
                "format": "int32"
              },
              "Name": {
                "type": "string",
                "nullable": true
              },
              "Color": {
                "$ref": "#/components/schemas/Color"
              }
            }
          }
        ]
      },
      "UnsubscribePostRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "Reason"
        ],
        "properties": {
          "Reason": {
            "type": "string",
            "maxLength": 200,
            "minLength": 1
          }
        }
      },
      "UsersResult": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseResult"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "UserId": {
                "type": "integer",
                "format": "int32"
              },
              "Name": {
                "type": "string",
                "nullable": true
              },
              "Active": {
                "type": "boolean"
              }
            }
          }
        ]
      },
      "VATCode": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ReferenceItem"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "Id": {
                "type": "integer",
                "format": "byte"
              },
              "Name": {
                "type": "string",
                "nullable": true
              }
            }
          }
        ]
      },
      "WebApiClient": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "InfinityConnect",
          "InfinityApi",
          "PowerBi",
          "InfinityConnectV2",
          "InfinityOutlook"
        ],
        "enum": [
          "InfinityConnect",
          "InfinityApi",
          "PowerBi",
          "InfinityConnectV2",
          "InfinityOutlook"
        ]
      },
      "WorkerType": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ReferenceItem"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "Id": {
                "type": "integer"
              },
              "Name": {
                "type": "string",
                "nullable": true
              },
              "IsDefault": {
                "type": "boolean"
              },
              "IsIR35": {
                "type": "boolean"
              },
              "IsPAYE": {
                "type": "boolean"
              },
              "IsSelfBill": {
                "type": "boolean"
              },
              "IsUmbrella": {
                "type": "boolean"
              },
              "IsCIS": {
                "type": "boolean"
              },
              "Territory": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/Territory"
                  }
                ]
              }
            }
          }
        ]
      }
    }
  }
}