Comment data model

Updated:

View field support, webhooks, and list parameters for each integration on the Supported Integrations page.

FieldTypeRequiredDescription
idstringNo
created_atstring (date-time)No(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
updated_atstring (date-time)No(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
typeenumNoValues: PAGE_INLINE, PAGE
content_typeenumNoValues: HTML, MARKDOWN, TEXT, OTHER
contentstringNo
user_idstringNo(reference to HrisEmployee)
page_idstringNo(reference to KmsPage)
parent_idstringNo
metadataKmsPageMetadata[]No
metadata[].idstringNoThe ID of the custom field definition (from the metadata/metadata endpoint).
metadata[].valueobjectNoThe field's value, typed by `format`: DATE as ISO-8601 (`YYYY-MM-DD`, or `YYYY-MM-DDTHH:MM:SSZ` for date-times); NUMBER, PRICE and CURRENCY as a number; BOOLEAN and YES_NO as true/false; MULTIPLE_SELECT as an array of option values; otherwise a string.
metadata[].namespacestringNo
metadata[].formatenumNoThe data type of the custom field, which determines how `value` is formatted. Values: TEXT, NUMBER, DATE, BOOLEAN, FILE, TEXTAREA, SINGLE_SELECT, MULTIPLE_SELECT, MEASUREMENT, PRICE, YES_NO, CURRENCY, URL, PERCENT, EMAIL, PHONE, REFERENCE, TIME
metadata[].extra_dataobjectNo
metadata[].slugstringNoThe integration's API name (key) of an existing custom field. List valid slugs for this object with the metadata/metadata endpoint; unknown slugs are rejected by the integration.

TypeScript

TypeScript
export type KmsComment = {
	id?: string;
	created_at?: string-time; // (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
	updated_at?: string-time; // (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
	type?: 'PAGE_INLINE' | 'PAGE';
	content_type?: 'HTML' | 'MARKDOWN' | 'TEXT' | 'OTHER';
	content?: string;
	user_id?: string; // (reference to HrisEmployee)
	page_id?: string; // (reference to KmsPage)
	parent_id?: string;
	metadata?: [];
	raw?: any;
} 

Zod

Zod
import { z } from 'zod';

export const ZodKmsComment = z.object({
	id: z.string().optional(),
	created_at: z.string-time().optional().describe("(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"),
	updated_at: z.string-time().optional().describe("(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"),
	type: z.enum("PAGE_INLINE", "PAGE").optional(),
	content_type: z.enum("HTML", "MARKDOWN", "TEXT", "OTHER").optional(),
	content: z.string().optional(),
	user_id: z.string().optional().describe("(reference to HrisEmployee)"),
	page_id: z.string().optional().describe("(reference to KmsPage)"),
	parent_id: z.string().optional(),
	metadata: z.array().optional(),

});

Python

Python
import dataclasses

@dataclasses.dataclass
class KmsCommentType(str, Enum):
	PAGE_INLINE = 'PAGE_INLINE'
	PAGE = 'PAGE'

@dataclasses.dataclass
class KmsCommentContent_type(str, Enum):
	HTML = 'HTML'
	MARKDOWN = 'MARKDOWN'
	TEXT = 'TEXT'
	OTHER = 'OTHER'

@dataclasses.dataclass
class KmsComment:
	id: Optional[str]
	"""(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"""
	created_at: Optional[str]
	"""(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"""
	updated_at: Optional[str]
	type: Optional[KmsCommentType]
	content_type: Optional[KmsCommentContent_type]
	content: Optional[str]
	"""(reference to HrisEmployee)"""
	user_id: Optional[str]
	"""(reference to KmsPage)"""
	page_id: Optional[str]
	parent_id: Optional[str]
	metadata: Optional[PropertyKmsCommentMetadata]
Are we missing anything? Let us know
Was this page helpful?