{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "SCIM User",
  "description": "Describes a user belonging to an organization",
  "type": "object",
  "properties": {
    "id": {
      "description": "A user's unique id (generated by Leapsome)",
      "type": "string"
    },
    "externalId": {
      "description": "A user's ID within an external system",
      "type": "string",
      "nullable": true
    },
    "title": {
      "description": "A user's job title",
      "default": "Colleague",
      "type": "string"
    },
    "photos": {
      "description": "",
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "value": {
            "type": "string",
            "format": "uri",
            "description": "A URI to the avatar of the user"
          },
          "type": {
            "type": "string",
            "example": "photo",
            "description": "Always set to \"photo\""
          }
        }
      }
    },
    "meta": {
      "$ref": "#/components/schemas/UserMetadata"
    },
    "name": {
      "$ref": "#/components/schemas/UserFullName"
    },
    "displayName": {
      "description": "A user's full displayed name",
      "type": "string"
    },
    "userName": {
      "description": "A user's username, usually their email address",
      "type": "string"
    },
    "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": {
      "type": "object",
      "properties": {
        "manager": {
          "$ref": "#/components/schemas/UserManager"
        },
        "additionalManagers": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/UserManager"
          }
        },
        "attachments": {
          "description": "All attachments to a user's profile",
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "fileName": {
                "type": "string",
                "description": "Name of the file",
                "example": "Performance-Review-2022.pdf"
              },
              "access": {
                "type": "array",
                "description": "All roles that have access",
                "items": {
                  "type": "string",
                  "description": "Role",
                  "example": "MANAGER"
                }
              }
            }
          }
        },
        "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"
        },
        "employmentType": {
          "description": "Employment type of the user as a string(internal, external)",
          "type": "string",
          "example": "internal"
        },
        "location": {
          "description": "Location of the employee as a string.",
          "type": "string",
          "example": "Berlin"
        }
      }
    },
    "active": {
      "description": "Indicates if the user is activated in Leapsome",
      "type": "boolean"
    },
    "emails": {
      "description": "User's email",
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "primary": {
            "type": "boolean",
            "description": "Always true",
            "example": true
          },
          "type": {
            "type": "string",
            "description": "Always set to \"work\"",
            "example": "work"
          },
          "value": {
            "type": "string",
            "description": "A user's email"
          }
        }
      }
    },
    "groups": {
      "description": "Represent teams in Leapsome",
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "value": {
            "type": "string",
            "description": "A teamId",
            "example": "5ecba01fb567a5d046582027"
          }
        }
      }
    },
    "manager": {
      "description": "",
      "type": "object",
      "properties": {
        "value": {
          "type": "string",
          "description": "A Leapsome userId of the manager",
          "example": "5ecba01fb567a5d046582027"
        }
      }
    },
    "schemas": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "id",
    "userName"
  ]
}