{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "SCIM UserDefinition",
  "description": "Describes a new user",
  "type": "object",
  "x-examples": {},
  "properties": {
    "externalId": {
      "description": "User's ID in external system",
      "type": "string"
    },
    "title": {
      "description": "User's job title",
      "default": "Colleague",
      "type": "string"
    },
    "photos": {
      "description": "Array of profile picture URL's. We take the first one as user avatar.",
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "value": {
            "type": "string",
            "format": "uri",
            "description": "Needs to be a complete and valid url."
          }
        }
      }
    },
    "name": {
      "$ref": "#/components/schemas/UserFullName"
    },
    "displayName": {
      "description": "A user's full displayed name",
      "type": "string"
    },
    "userName": {
      "description": "The user's username, usually their email address'",
      "type": "string"
    },
    "location": {
      "description": "User's location value",
      "type": "string"
    },
    "manager": {
      "description": "User ID of user's manager which can be a LeapsomeId, an email or the externalId",
      "type": "string"
    },
    "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": {
      "type": "object",
      "properties": {
        "manager": {
          "description": "User ID of user's manager which can be a LeapsomeId, an email or the externalId",
          "type": "string"
        },
        "additionalManagers": {
          "type": "array",
          "items": {
            "description": "User ID of user's additional manager which can be a LeapsomeId, an email or the externalId",
            "type": "string"
          }
        },
        "department": {
          "type": "string",
          "description": "The team name of the user's department"
        },
        "costCenter": {
          "type": "string",
          "description": "The team name of the user's cost center"
        },
        "division": {
          "type": "string"
        },
        "level": {
          "description": "Current level of the employee as a string.",
          "type": "string",
          "example": "Junior Engineer"
        },
        "startDate": {
          "description": "Employment start Date as a string in ISO-8601 format (YYYY-MM-DD).",
          "type": "string",
          "example": "2011-03-25"
        },
        "endDate": {
          "description": "Employment end Date as a string in ISO-8601 format (YYYY-MM-DD).",
          "type": "string",
          "example": "2022-02-25"
        },
        "birthday": {
          "description": "Birthday of the employee (used for data segmentation) as a string in ISO-8601 format (YYYY-MM-DD).",
          "type": "string",
          "example": "1985-07-20"
        },
        "6140868326541a4da586db0b": {
          "description": "Value of a given custom attribute identified via its ID. Get the custom attribute ID from the Users & Teams tab.",
          "type": "string",
          "example": "Salary Class B"
        },
        "6140868326541a4da586db0c": {
          "description": "Value of a given custom attribute identified via its ID. Get the custom attribute ID from the Users & Teams tab.",
          "type": "string",
          "example": "Freelancer"
        },
        "gender": {
          "description": "Gender of the employee as a string(male, female, diverse)",
          "type": "string",
          "example": "female"
        },
        "location": {
          "description": "Location of the employee as a string.",
          "type": "string",
          "example": "Berlin"
        }
      }
    },
    "active": {
      "type": "boolean",
      "description": "Activate (true) or deactivate (false) a user if provided. If the user has been active before, the account will be active again while it might be in a \"invited\" or \"created\" state if the user never accepted an invitation before."
    }
  },
  "required": [
    "userName"
  ]
}