Custom Attributes

Create a placement custom attribute definition

Changed on

Creates a new agency-wide custom attribute definition for placement records.

For options-type attributes, provide the selectable choices via options (in display order) and optionally set multipleValues to allow multi-select. The attribute name must be unique per entity type within the agency (exact match, case-sensitive — same as the Atlas app) — a duplicate name returns 409.

For placements, the name only has to be unique among attributes that can show on the same placement: a contract and a permanent attribute may share a name, but a both attribute's name must not be used by any other placement attribute.

Each placement attribute applies to contract placements, permanent placements or both — see record_type. This endpoint returns them all; a placement only accepts values for the attributes matching its own kind.

post/api/v1/placements/custom-attributes

Request

Request body

namestring required

Display name (exact match, case-sensitive). A contract and a permanent attribute may share a name; a both attribute's name must not be used by any other placement attribute. Leading/trailing whitespace is trimmed.

type'options' | 'text_block' | 'text_line' | 'integer' | 'date' required

Data type of the attribute

multipleValuesboolean

When true and type is options, multiple options can be selected. Only allowed for options type. Defaults to false.

optionsstring[]

Selectable choices, in display order. Required (at least one value) when type is options; not allowed otherwise. Values must be unique (case-insensitive).

recordType'both' | 'contract' | 'permanent'

Which placement kinds the attribute applies to: contract, permanent, or both. Defaults to both.

Example request

{
  "name": "Seniority Level",
  "type": "options",
  "options": [
    "Junior",
    "Mid",
    "Senior"
  ],
  "recordType": "contract"
}

Response

Created placement custom attribute definition

status'ok' required

Example response

{
  "data": {
    "name": "Seniority Level",
    "description": "Candidate's seniority level",
    "type": "options",
    "multipleValues": true,
    "recordType": "contract",
    "options": [
      {
        "value": "Senior"
      }
    ]
  }
}

Changes