{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/CustomObjectDefinition",
  "title": "CustomObjectDefinition",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Unique identifier for the custom object definition"
    },
    "descriptor": {
      "type": "string",
      "description": "Display name of the custom object type"
    },
    "name": {
      "type": "string",
      "description": "The API name of the custom object type"
    },
    "description": {
      "type": "string",
      "description": "Description of the custom object type"
    },
    "instanceType": {
      "type": "string",
      "enum": [
        "single",
        "multi"
      ],
      "description": "Whether this is a single-instance or multi-instance custom object"
    },
    "parentObjectType": {
      "type": "string",
      "enum": [
        "worker",
        "organization",
        "position",
        "jobProfile"
      ],
      "description": "The standard Workday object type this custom object extends"
    },
    "fields": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CustomObjectField"
      },
      "description": "The fields defined in this custom object"
    },
    "isActive": {
      "type": "boolean",
      "description": "Whether the custom object definition is active"
    },
    "createdOn": {
      "type": "string",
      "format": "date-time",
      "description": "Timestamp when the definition was created"
    },
    "lastModified": {
      "type": "string",
      "format": "date-time",
      "description": "Timestamp when the definition was last modified"
    },
    "href": {
      "type": "string",
      "format": "uri"
    }
  }
}