Leapsome · Schema

Goal

People EnablementPerformance ManagementOKRsGoalsEngagement SurveysHRISSCIMEmployee Development1:1 MeetingsLearning

Properties

Name Type Description
id string
type string
user object
team object Information about the team, that's assigned to this goal. Will be `null` for User and Company goals.
name string
description string
contributors array
progress integer
status string
managedBy object
tags array
deadline string
keyResults array
parent object
progressStatus string
createdAt string
updatedAt string
View JSON Schema on GitHub

JSON Schema

leapsome-goal-schema.json Raw ↑
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "Goal",
  "type": "object",
  "required": [
    "id",
    "type",
    "name",
    "description",
    "contributors",
    "progress",
    "status",
    "managedBy",
    "tags",
    "deadline",
    "keyResults",
    "parent",
    "createdAt",
    "updatedAt"
  ],
  "properties": {
    "id": {
      "type": "string",
      "pattern": "^[0-9a-f]{24}$",
      "example": "5b237f6868794d5c08555812"
    },
    "type": {
      "type": "string",
      "enum": [
        "user",
        "team",
        "company"
      ],
      "example": "user"
    },
    "user": {
      "allOf": [
        {
          "$ref": "#/components/schemas/User"
        },
        {
          "nullable": true,
          "description": "Information about the user, who's assigned to this goal.\nWill be `null` for Team and Company goals.\n"
        }
      ]
    },
    "team": {
      "type": "object",
      "nullable": true,
      "description": "Information about the team, that's assigned to this goal.\nWill be `null` for User and Company goals.\n",
      "properties": {
        "id": {
          "type": "string",
          "pattern": "^[0-9a-f]{24}$",
          "example": "5b237f6868794d5c08555812"
        },
        "name": {
          "type": "string",
          "example": "Rocket Scientists"
        }
      }
    },
    "name": {
      "type": "string",
      "example": "Become a great place to work (d)"
    },
    "description": {
      "type": "string",
      "example": "Make it entertaining"
    },
    "contributors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/User"
      }
    },
    "progress": {
      "type": "integer",
      "minimum": 0,
      "maximum": 100,
      "example": 50
    },
    "status": {
      "type": "string",
      "enum": [
        "archived",
        "live",
        "draft",
        "removed"
      ],
      "example": "live"
    },
    "managedBy": {
      "$ref": "#/components/schemas/User"
    },
    "tags": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "id",
          "name"
        ],
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^[0-9a-f]{24}$",
            "example": "5b237f6868794d5c08555812"
          },
          "name": {
            "type": "string"
          }
        }
      }
    },
    "deadline": {
      "type": "string",
      "format": "date-time",
      "nullable": true
    },
    "keyResults": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/KeyResults"
      }
    },
    "parent": {
      "$ref": "#/components/schemas/ParentGoal"
    },
    "progressStatus": {
      "type": "string",
      "enum": [
        "onTrack",
        "offTrack",
        "inputNeeded",
        "done",
        "canceled"
      ],
      "nullable": true
    },
    "createdAt": {
      "type": "string",
      "format": "date-time",
      "example": "2019-08-23T11:53:06.741Z"
    },
    "updatedAt": {
      "type": "string",
      "format": "date-time",
      "example": "2019-08-23T11:53:06.741Z"
    }
  }
}