Matter 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)
namestringNo
numberstringNothe firm's display/matter number
descriptionstringNo
statusenumNoValues: PENDING, OPEN, CLOSED, OTHER
billing_methodenumNoValues: HOURLY, FLAT_FEE, CONTINGENCY, OTHER
practicearea_idstringNopointer to the Legal Practicearea object
stagestringNothe matter stage name
contact_idsstring[]NoCRM Contacts that are clients on this matter
company_idsstring[]NoCRM Companies that are clients on this matter
partiesLegalParty[]Noall people and organizations related to this matter, with their role
parties[].contact_idstringNopointer to a CRM Contact
parties[].company_idstringNopointer to a CRM Company
parties[].roleenumNoValues: CLIENT, OPPOSING_PARTY, OPPOSING_COUNSEL, CO_COUNSEL, WITNESS, EXPERT, JUDGE, REFERRER, OTHER
parties[].descriptionstringNothe vendor's free-text relationship description
user_idstringNoHR Employee who is the responsible attorney (reference to HrisEmployee)
originating_user_idstringNoHR Employee who is the originating attorney (reference to HrisEmployee)
user_idsstring[]Noother HR Employees assigned to this matter
client_referencestringNothe client's own reference number for this matter
currencystringNo
is_billablebooleanNo
opened_atstring (date-time)No(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
closed_atstring (date-time)No(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
pending_atstring (date-time)No(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
statute_of_limitations_atstring (date-time)No(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
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 LegalMatter = {
	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)
	name?: string;
	number?: string; // the firm's display/matter number
	description?: string;
	status?: 'PENDING' | 'OPEN' | 'CLOSED' | 'OTHER';
	billing_method?: 'HOURLY' | 'FLAT_FEE' | 'CONTINGENCY' | 'OTHER';
	practicearea_id?: string; // pointer to the Legal Practicearea object
	stage?: string; // the matter stage name
	contact_ids?: string[]; // CRM Contacts that are clients on this matter
	company_ids?: string[]; // CRM Companies that are clients on this matter
	parties?: []; // all people and organizations related to this matter, with their role
	user_id?: string; // HR Employee who is the responsible attorney (reference to HrisEmployee)
	originating_user_id?: string; // HR Employee who is the originating attorney (reference to HrisEmployee)
	user_ids?: string[]; // other HR Employees assigned to this matter
	client_reference?: string; // the client's own reference number for this matter
	currency?: string;
	is_billable?: boolean;
	opened_at?: string-time; // (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
	closed_at?: string-time; // (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
	pending_at?: string-time; // (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
	statute_of_limitations_at?: string-time; // (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
	metadata?: []; // custom field values
	raw?: any;
} 

Zod

Zod
import { z } from 'zod';

export const ZodLegalMatter = 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)"),
	name: z.string().optional(),
	number: z.string().optional().describe("the firm's display/matter number"),
	description: z.string().optional(),
	status: z.enum("PENDING", "OPEN", "CLOSED", "OTHER").optional(),
	billing_method: z.enum("HOURLY", "FLAT_FEE", "CONTINGENCY", "OTHER").optional(),
	practicearea_id: z.string().optional().describe("pointer to the Legal Practicearea object"),
	stage: z.string().optional().describe("the matter stage name"),
	contact_ids: z.array().optional().describe("CRM Contacts that are clients on this matter"),
	company_ids: z.array().optional().describe("CRM Companies that are clients on this matter"),
	parties: z.array().optional().describe("all people and organizations related to this matter, with their role"),
	user_id: z.string().optional().describe("HR Employee who is the responsible attorney (reference to HrisEmployee)"),
	originating_user_id: z.string().optional().describe("HR Employee who is the originating attorney (reference to HrisEmployee)"),
	user_ids: z.array().optional().describe("other HR Employees assigned to this matter"),
	client_reference: z.string().optional().describe("the client's own reference number for this matter"),
	currency: z.string().optional(),
	is_billable: z.boolean().optional(),
	opened_at: z.string-time().optional().describe("(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"),
	closed_at: z.string-time().optional().describe("(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"),
	pending_at: z.string-time().optional().describe("(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"),
	statute_of_limitations_at: z.string-time().optional().describe("(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"),
	metadata: z.array().optional().describe("custom field values"),

});

Python

Python
import dataclasses

@dataclasses.dataclass
class LegalMatterStatus(str, Enum):
	PENDING = 'PENDING'
	OPEN = 'OPEN'
	CLOSED = 'CLOSED'
	OTHER = 'OTHER'

@dataclasses.dataclass
class LegalMatterBilling_method(str, Enum):
	HOURLY = 'HOURLY'
	FLAT_FEE = 'FLAT_FEE'
	CONTINGENCY = 'CONTINGENCY'
	OTHER = 'OTHER'

@dataclasses.dataclass
class LegalMatter:
	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]
	name: Optional[str]
	"""the firm's display/matter number"""
	number: Optional[str]
	description: Optional[str]
	status: Optional[LegalMatterStatus]
	billing_method: Optional[LegalMatterBilling_method]
	"""pointer to the Legal Practicearea object"""
	practicearea_id: Optional[str]
	"""the matter stage name"""
	stage: Optional[str]
	"""CRM Contacts that are clients on this matter"""
	contact_ids: Optional[List[List[str]]]
	"""CRM Companies that are clients on this matter"""
	company_ids: Optional[List[List[str]]]
	"""all people and organizations related to this matter, with their role"""
	parties: Optional[PropertyLegalMatterParties]
	"""HR Employee who is the responsible attorney (reference to HrisEmployee)"""
	user_id: Optional[str]
	"""HR Employee who is the originating attorney (reference to HrisEmployee)"""
	originating_user_id: Optional[str]
	"""other HR Employees assigned to this matter"""
	user_ids: Optional[List[List[str]]]
	"""the client's own reference number for this matter"""
	client_reference: Optional[str]
	currency: Optional[str]
	is_billable: Optional[bool]
	"""(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"""
	opened_at: Optional[str]
	"""(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"""
	closed_at: Optional[str]
	"""(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"""
	pending_at: Optional[str]
	"""(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"""
	statute_of_limitations_at: Optional[str]
	"""custom field values"""
	metadata: Optional[PropertyLegalMatterMetadata]
Are we missing anything? Let us know
Was this page helpful?