Timeentry data model

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)
matter_idstringNopointer to the Legal Matter this time is recorded against
user_idstringNoHR Employee who is the timekeeper (reference to HrisEmployee)
descriptionstringNo
worked_atstring (date-time)Nodate the work was performed (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
minutesnumberNoduration worked, in minutes
billable_minutesnumberNobillable duration after rounding, in minutes
rate_amountnumberNohourly rate, or the flat amount for flat-rate entries
total_amountnumberNo
currencystringNo
is_billablebooleanNo
is_billedbooleanNo
invoice_idstringNopointer to the Accounting Invoice this time was billed on (reference to AccountingInvoice)
activity_codestringNoUTBMS/LEDES activity code
task_codestringNoUTBMS/LEDES task code
metadataLegalMetadata[]Nocustom field values
metadata[].idstringNo
metadata[].slugstringNo
metadata[].valueobjectNo
metadata[].namespacestringNo
metadata[].formatenumNoValues: TEXT, NUMBER, DATE, BOOLEAN, FILE, TEXTAREA, SINGLE_SELECT, MULTIPLE_SELECT, MEASUREMENT, PRICE, YES_NO, CURRENCY, URL
metadata[].extra_dataobjectNo

TypeScript

TypeScript
export type LegalTimeentry = {
	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)
	matter_id?: string; // pointer to the Legal Matter this time is recorded against
	user_id?: string; // HR Employee who is the timekeeper (reference to HrisEmployee)
	description?: string;
	worked_at?: string-time; // date the work was performed (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
	minutes?: number; // duration worked, in minutes
	billable_minutes?: number; // billable duration after rounding, in minutes
	rate_amount?: number; // hourly rate, or the flat amount for flat-rate entries
	total_amount?: number;
	currency?: string;
	is_billable?: boolean;
	is_billed?: boolean;
	invoice_id?: string; // pointer to the Accounting Invoice this time was billed on (reference to AccountingInvoice)
	activity_code?: string; // UTBMS/LEDES activity code
	task_code?: string; // UTBMS/LEDES task code
	metadata?: []; // custom field values
	raw?: any;
} 

Zod

Zod
import { z } from 'zod';

export const ZodLegalTimeentry = 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)"),
	matter_id: z.string().optional().describe("pointer to the Legal Matter this time is recorded against"),
	user_id: z.string().optional().describe("HR Employee who is the timekeeper (reference to HrisEmployee)"),
	description: z.string().optional(),
	worked_at: z.string-time().optional().describe("date the work was performed (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"),
	minutes: z.number().optional().describe("duration worked, in minutes"),
	billable_minutes: z.number().optional().describe("billable duration after rounding, in minutes"),
	rate_amount: z.number().optional().describe("hourly rate, or the flat amount for flat-rate entries"),
	total_amount: z.number().optional(),
	currency: z.string().optional(),
	is_billable: z.boolean().optional(),
	is_billed: z.boolean().optional(),
	invoice_id: z.string().optional().describe("pointer to the Accounting Invoice this time was billed on (reference to AccountingInvoice)"),
	activity_code: z.string().optional().describe("UTBMS/LEDES activity code"),
	task_code: z.string().optional().describe("UTBMS/LEDES task code"),
	metadata: z.array().optional().describe("custom field values"),

});

Python

Python
import dataclasses

@dataclasses.dataclass
class LegalTimeentry:
	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]
	"""pointer to the Legal Matter this time is recorded against"""
	matter_id: Optional[str]
	"""HR Employee who is the timekeeper (reference to HrisEmployee)"""
	user_id: Optional[str]
	description: Optional[str]
	"""date the work was performed (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"""
	worked_at: Optional[str]
	"""duration worked, in minutes"""
	minutes: Optional[int]
	"""billable duration after rounding, in minutes"""
	billable_minutes: Optional[int]
	"""hourly rate, or the flat amount for flat-rate entries"""
	rate_amount: Optional[int]
	total_amount: Optional[int]
	currency: Optional[str]
	is_billable: Optional[bool]
	is_billed: Optional[bool]
	"""pointer to the Accounting Invoice this time was billed on (reference to AccountingInvoice)"""
	invoice_id: Optional[str]
	"""UTBMS/LEDES activity code"""
	activity_code: Optional[str]
	"""UTBMS/LEDES task code"""
	task_code: Optional[str]
	"""custom field values"""
	metadata: Optional[PropertyLegalTimeentryMetadata]
Are we missing anything? Let us know
Was this page helpful?