@mjquinlan2000/lawmatics-mcp 0.1.5 → 0.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/server.js +117 -83
- package/dist/server.js.map +1 -1
- package/package.json +2 -2
package/dist/server.js
CHANGED
|
@@ -7,9 +7,98 @@ import "./chunk-226LPP43.js";
|
|
|
7
7
|
// src/server.ts
|
|
8
8
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
9
9
|
|
|
10
|
+
// ../shared/dist/helpers.js
|
|
11
|
+
import { z } from "zod";
|
|
12
|
+
function cleanQuery(q) {
|
|
13
|
+
return Object.fromEntries(Object.entries(q).filter(([, v]) => v !== void 0));
|
|
14
|
+
}
|
|
15
|
+
function err(e) {
|
|
16
|
+
const msg = e instanceof Error ? e.message : String(e);
|
|
17
|
+
return {
|
|
18
|
+
content: [{ type: "text", text: `Error: ${msg}` }],
|
|
19
|
+
isError: true
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
// ../shared/dist/tool-handler.js
|
|
24
|
+
var commonListQueryParams = {
|
|
25
|
+
page: { description: "Page number for pagination (default: 1)" },
|
|
26
|
+
sort_order: { description: "Sort order: asc or desc (default: desc)" },
|
|
27
|
+
sort_by: {
|
|
28
|
+
description: "Field to sort by (e.g. id, created_at, updated_at)"
|
|
29
|
+
},
|
|
30
|
+
filter_by: { description: "Field name to filter on" },
|
|
31
|
+
filter_on: { description: "Value to filter for" },
|
|
32
|
+
filter_with: {
|
|
33
|
+
description: "Filter operator: =, !=, <=, <, >=, >, like, ilike, null, not_null"
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
function isZodType(v) {
|
|
37
|
+
return typeof v.parse === "function";
|
|
38
|
+
}
|
|
39
|
+
function getEffectiveQueryParams(tool) {
|
|
40
|
+
if (tool.commonListQueryParams && tool.name.startsWith("list_")) {
|
|
41
|
+
return { ...tool.commonListQueryParams, ...tool.queryParams };
|
|
42
|
+
}
|
|
43
|
+
return tool.queryParams;
|
|
44
|
+
}
|
|
45
|
+
function createToolHandler(tool) {
|
|
46
|
+
const effectiveQueryParams = getEffectiveQueryParams(tool);
|
|
47
|
+
return async (params) => {
|
|
48
|
+
try {
|
|
49
|
+
const options = {};
|
|
50
|
+
if (tool.pathParams) {
|
|
51
|
+
const path = {};
|
|
52
|
+
for (const [mcpName, spec] of Object.entries(tool.pathParams)) {
|
|
53
|
+
const sdkName = typeof spec === "string" ? mcpName : spec.sdkName;
|
|
54
|
+
path[sdkName] = params[mcpName];
|
|
55
|
+
}
|
|
56
|
+
options.path = path;
|
|
57
|
+
}
|
|
58
|
+
const query = {
|
|
59
|
+
...tool.defaultQuery ?? {}
|
|
60
|
+
};
|
|
61
|
+
if (effectiveQueryParams) {
|
|
62
|
+
for (const paramName of Object.keys(effectiveQueryParams)) {
|
|
63
|
+
if (params[paramName] !== void 0) {
|
|
64
|
+
query[paramName] = params[paramName];
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
const hasQueryEntries = Object.keys(query).length > 0;
|
|
69
|
+
if (hasQueryEntries) {
|
|
70
|
+
options.query = cleanQuery(query);
|
|
71
|
+
}
|
|
72
|
+
const res = await tool.sdkFn(Object.keys(options).length > 0 ? options : void 0);
|
|
73
|
+
if (tool.rawContent) {
|
|
74
|
+
return {
|
|
75
|
+
content: [
|
|
76
|
+
{
|
|
77
|
+
type: "text",
|
|
78
|
+
text: JSON.stringify(res.data, null, 2)
|
|
79
|
+
}
|
|
80
|
+
]
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
const structured = tool.isList ? { items: res.data } : res.data;
|
|
84
|
+
return {
|
|
85
|
+
content: [
|
|
86
|
+
{
|
|
87
|
+
type: "text",
|
|
88
|
+
text: JSON.stringify(structured, null, 2)
|
|
89
|
+
}
|
|
90
|
+
],
|
|
91
|
+
structuredContent: tool.schema ? structured : void 0
|
|
92
|
+
};
|
|
93
|
+
} catch (e) {
|
|
94
|
+
return err(e);
|
|
95
|
+
}
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
|
|
10
99
|
// src/create-server.ts
|
|
11
100
|
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
12
|
-
import { z } from "zod";
|
|
101
|
+
import { z as z2 } from "zod";
|
|
13
102
|
|
|
14
103
|
// src/client/sdk.gen.ts
|
|
15
104
|
var getV1Prospects = (options) => (options?.client ?? client).get({
|
|
@@ -443,73 +532,6 @@ var getV1UsersMe = (options) => (options?.client ?? client).get({
|
|
|
443
532
|
...options
|
|
444
533
|
});
|
|
445
534
|
|
|
446
|
-
// src/helpers.ts
|
|
447
|
-
function cleanQuery(q) {
|
|
448
|
-
return Object.fromEntries(
|
|
449
|
-
Object.entries(q).filter(([, v]) => v !== void 0)
|
|
450
|
-
);
|
|
451
|
-
}
|
|
452
|
-
function err(e) {
|
|
453
|
-
const msg = e instanceof Error ? e.message : String(e);
|
|
454
|
-
return {
|
|
455
|
-
content: [{ type: "text", text: `Error: ${msg}` }],
|
|
456
|
-
isError: true
|
|
457
|
-
};
|
|
458
|
-
}
|
|
459
|
-
|
|
460
|
-
// src/tool-handler.ts
|
|
461
|
-
var commonListQueryParams = {
|
|
462
|
-
page: { description: "Page number for pagination (default: 1)" },
|
|
463
|
-
sort_order: { description: "Sort order: asc or desc (default: desc)" },
|
|
464
|
-
sort_by: {
|
|
465
|
-
description: "Field to sort by (e.g. id, created_at, updated_at)"
|
|
466
|
-
},
|
|
467
|
-
filter_by: { description: "Field name to filter on" },
|
|
468
|
-
filter_on: { description: "Value to filter for" },
|
|
469
|
-
filter_with: {
|
|
470
|
-
description: "Filter operator: =, !=, <=, <, >=, >, like, ilike, null, not_null"
|
|
471
|
-
}
|
|
472
|
-
};
|
|
473
|
-
function getEffectiveQueryParams(tool) {
|
|
474
|
-
return tool.name.startsWith("list_") ? { ...commonListQueryParams, ...tool.queryParams } : tool.queryParams;
|
|
475
|
-
}
|
|
476
|
-
function createToolHandler(tool, effectiveQueryParams) {
|
|
477
|
-
return async (params) => {
|
|
478
|
-
try {
|
|
479
|
-
const options = {};
|
|
480
|
-
if (tool.pathParams) {
|
|
481
|
-
const path = {};
|
|
482
|
-
for (const [mcpName, { sdkName }] of Object.entries(tool.pathParams)) {
|
|
483
|
-
path[sdkName] = params[mcpName];
|
|
484
|
-
}
|
|
485
|
-
options.path = path;
|
|
486
|
-
}
|
|
487
|
-
const query = { fields: "all" };
|
|
488
|
-
if (effectiveQueryParams) {
|
|
489
|
-
for (const paramName of Object.keys(effectiveQueryParams)) {
|
|
490
|
-
if (params[paramName] !== void 0) {
|
|
491
|
-
query[paramName] = params[paramName];
|
|
492
|
-
}
|
|
493
|
-
}
|
|
494
|
-
}
|
|
495
|
-
options.query = cleanQuery(query);
|
|
496
|
-
const res = await tool.sdkFn(
|
|
497
|
-
Object.keys(options).length > 0 ? options : void 0
|
|
498
|
-
);
|
|
499
|
-
return {
|
|
500
|
-
content: [
|
|
501
|
-
{
|
|
502
|
-
type: "text",
|
|
503
|
-
text: JSON.stringify(res.data, null, 2)
|
|
504
|
-
}
|
|
505
|
-
]
|
|
506
|
-
};
|
|
507
|
-
} catch (e) {
|
|
508
|
-
return err(e);
|
|
509
|
-
}
|
|
510
|
-
};
|
|
511
|
-
}
|
|
512
|
-
|
|
513
535
|
// src/create-server.ts
|
|
514
536
|
function createServer() {
|
|
515
537
|
const server = new McpServer(
|
|
@@ -527,6 +549,10 @@ function createServer() {
|
|
|
527
549
|
].join(" ")
|
|
528
550
|
}
|
|
529
551
|
);
|
|
552
|
+
const lmDefaults = {
|
|
553
|
+
defaultQuery: { fields: "all" },
|
|
554
|
+
commonListQueryParams
|
|
555
|
+
};
|
|
530
556
|
const tools = [
|
|
531
557
|
// ── Prospects ──
|
|
532
558
|
{
|
|
@@ -586,7 +612,9 @@ function createServer() {
|
|
|
586
612
|
name: "get_contact",
|
|
587
613
|
description: "Get a single contact by ID.",
|
|
588
614
|
sdkFn: getV1ContactsByContactId,
|
|
589
|
-
pathParams: {
|
|
615
|
+
pathParams: {
|
|
616
|
+
id: { sdkName: "contact_id", description: "Contact ID" }
|
|
617
|
+
}
|
|
590
618
|
},
|
|
591
619
|
{
|
|
592
620
|
name: "find_contact_by_phone",
|
|
@@ -628,7 +656,9 @@ function createServer() {
|
|
|
628
656
|
name: "get_company",
|
|
629
657
|
description: "Get a single company by ID.",
|
|
630
658
|
sdkFn: getV1CompaniesByCompanyId,
|
|
631
|
-
pathParams: {
|
|
659
|
+
pathParams: {
|
|
660
|
+
id: { sdkName: "company_id", description: "Company ID" }
|
|
661
|
+
}
|
|
632
662
|
},
|
|
633
663
|
{
|
|
634
664
|
name: "find_company_by_phone",
|
|
@@ -670,7 +700,9 @@ function createServer() {
|
|
|
670
700
|
name: "get_address",
|
|
671
701
|
description: "Get a single address by ID.",
|
|
672
702
|
sdkFn: getV1AddressesByAddressId,
|
|
673
|
-
pathParams: {
|
|
703
|
+
pathParams: {
|
|
704
|
+
id: { sdkName: "address_id", description: "Address ID" }
|
|
705
|
+
}
|
|
674
706
|
},
|
|
675
707
|
// ── Email Addresses ──
|
|
676
708
|
{
|
|
@@ -1071,7 +1103,9 @@ function createServer() {
|
|
|
1071
1103
|
name: "get_invoice",
|
|
1072
1104
|
description: "Get a single invoice by ID.",
|
|
1073
1105
|
sdkFn: getV1InvoicesByInvoiceId,
|
|
1074
|
-
pathParams: {
|
|
1106
|
+
pathParams: {
|
|
1107
|
+
id: { sdkName: "invoice_id", description: "Invoice ID" }
|
|
1108
|
+
}
|
|
1075
1109
|
},
|
|
1076
1110
|
// ── Expenses ──
|
|
1077
1111
|
{
|
|
@@ -1083,7 +1117,9 @@ function createServer() {
|
|
|
1083
1117
|
name: "get_expense",
|
|
1084
1118
|
description: "Get a single expense by ID.",
|
|
1085
1119
|
sdkFn: getV1ExpensesByExpenseId,
|
|
1086
|
-
pathParams: {
|
|
1120
|
+
pathParams: {
|
|
1121
|
+
id: { sdkName: "expense_id", description: "Expense ID" }
|
|
1122
|
+
}
|
|
1087
1123
|
},
|
|
1088
1124
|
// ── Time Entries ──
|
|
1089
1125
|
{
|
|
@@ -1150,22 +1186,20 @@ function createServer() {
|
|
|
1150
1186
|
description: "Get the currently authenticated user.",
|
|
1151
1187
|
sdkFn: getV1UsersMe
|
|
1152
1188
|
}
|
|
1153
|
-
];
|
|
1189
|
+
].map((t) => ({ ...lmDefaults, ...t }));
|
|
1154
1190
|
for (const tool of tools) {
|
|
1155
1191
|
const effectiveQueryParams = getEffectiveQueryParams(tool);
|
|
1156
1192
|
const inputSchema = {};
|
|
1157
1193
|
if (tool.pathParams) {
|
|
1158
|
-
for (const [paramName,
|
|
1159
|
-
|
|
1160
|
-
|
|
1161
|
-
inputSchema[paramName] = z.string().describe(description);
|
|
1194
|
+
for (const [paramName, spec] of Object.entries(tool.pathParams)) {
|
|
1195
|
+
const description = typeof spec === "string" ? spec : spec.description;
|
|
1196
|
+
inputSchema[paramName] = z2.string().describe(description);
|
|
1162
1197
|
}
|
|
1163
1198
|
}
|
|
1164
1199
|
if (effectiveQueryParams) {
|
|
1165
|
-
for (const [paramName,
|
|
1166
|
-
|
|
1167
|
-
|
|
1168
|
-
inputSchema[paramName] = z.string().optional().describe(description);
|
|
1200
|
+
for (const [paramName, spec] of Object.entries(effectiveQueryParams)) {
|
|
1201
|
+
const description = isZodType(spec) ? "" : spec.description;
|
|
1202
|
+
inputSchema[paramName] = z2.string().optional().describe(description);
|
|
1169
1203
|
}
|
|
1170
1204
|
}
|
|
1171
1205
|
server.registerTool(
|
|
@@ -1174,7 +1208,7 @@ function createServer() {
|
|
|
1174
1208
|
description: tool.description,
|
|
1175
1209
|
inputSchema: Object.keys(inputSchema).length > 0 ? inputSchema : void 0
|
|
1176
1210
|
},
|
|
1177
|
-
createToolHandler(tool
|
|
1211
|
+
createToolHandler(tool)
|
|
1178
1212
|
);
|
|
1179
1213
|
}
|
|
1180
1214
|
return server;
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/server.ts","../src/create-server.ts","../src/client/sdk.gen.ts","../src/helpers.ts","../src/tool-handler.ts"],"sourcesContent":["#!/usr/bin/env node\nimport \"./lm.js\";\nimport { StdioServerTransport } from \"@modelcontextprotocol/sdk/server/stdio.js\";\nimport { createServer } from \"./create-server.js\";\n\nconst command = process.argv[2];\nif (command === \"auth\") {\n const { runCli } = await import(\"./auth.js\");\n runCli(process.argv[3]);\n} else {\n const server = createServer();\n const transport = new StdioServerTransport();\n await server.connect(transport);\n}\n","import { McpServer } from \"@modelcontextprotocol/sdk/server/mcp.js\";\nimport { z } from \"zod\";\n\nimport {\n getV1Activities,\n getV1ActivitiesByActivityId,\n getV1Addresses,\n getV1AddressesByAddressId,\n getV1Campaigns,\n getV1CampaignsByCampaignId,\n getV1Companies,\n getV1CompaniesByCompanyId,\n getV1CompaniesFindByEmailByEmailAddress,\n getV1CompaniesFindByNameByName,\n getV1CompaniesFindByPhoneByPhoneNumber,\n getV1Contacts,\n getV1ContactsByContactId,\n getV1ContactsFindByEmailByEmailAddress,\n getV1ContactsFindByNameByName,\n getV1ContactsFindByPhoneByPhoneNumber,\n getV1CustomContactTypes,\n getV1CustomContactTypesByCustomContactTypeId,\n getV1CustomEmails,\n getV1CustomEmailsByCustomEmailId,\n getV1CustomFields,\n getV1CustomFieldsByCustomFieldId,\n getV1EmailAddresses,\n getV1EmailAddressesByEmailAddressId,\n getV1EmailCampaignStatsById,\n getV1EmailCampaigns,\n getV1EmailCampaignsById,\n getV1Events,\n getV1EventsByEventId,\n getV1EventTypes,\n getV1EventTypesByEventTypeId,\n getV1Expenses,\n getV1ExpensesByExpenseId,\n getV1Files,\n getV1FilesByFileId,\n getV1FilesDownloadById,\n getV1Folders,\n getV1FoldersByFolderId,\n getV1Forms,\n getV1FormsByCustomFormUuid,\n getV1FormsByCustomFormUuidEntries,\n getV1Interactions,\n getV1InteractionsByInteractionId,\n getV1Invoices,\n getV1InvoicesByInvoiceId,\n getV1Locations,\n getV1Notes,\n getV1NotesByNoteId,\n getV1PhoneNumbers,\n getV1PhoneNumbersByPhoneNumberId,\n getV1Pipelines,\n getV1PipelinesByPipelineId,\n getV1PracticeAreas,\n getV1PracticeAreasByPracticeAreaId,\n getV1Prospects,\n getV1ProspectsByProspectId,\n getV1ProspectsFindByEmailByEmailAddress,\n getV1ProspectsFindByNameByName,\n getV1ProspectsFindByPhoneByPhoneNumber,\n getV1Relationships,\n getV1RelationshipsByRelationshipId,\n getV1RelationshipTypes,\n getV1RelationshipTypesByRelationshipTypeId,\n getV1Sources,\n getV1SourcesBySourceId,\n getV1Stages,\n getV1StagesByStageId,\n getV1SubStatuses,\n getV1SubStatusesByStatusId,\n getV1Tags,\n getV1TagsByTagId,\n getV1TaskStatuses,\n getV1TaskStatusesByTaskStatusId,\n getV1Tasks,\n getV1TasksByTaskId,\n getV1TasksByTaskIdComments,\n getV1TasksByTaskIdCommentsByCommentId,\n getV1TasksByTaskIdSubtasks,\n getV1TasksByTaskIdSubtasksBySubtaskId,\n getV1TimeEntries,\n getV1TimeEntriesByTimeEntryId,\n getV1Transactions,\n getV1TransactionsByTransactionId,\n getV1Users,\n getV1UsersByUserId,\n getV1UsersMe,\n} from \"./client/index.js\";\nimport {\n createToolHandler,\n getEffectiveQueryParams,\n type ToolConfig,\n} from \"./tool-handler.js\";\n\nexport function createServer(): McpServer {\n const server = new McpServer(\n {\n name: \"lawmatics\",\n version: \"0.1.0\",\n },\n {\n instructions: [\n \"Lawmatics is a legal CRM and client intake platform.\",\n \"Responses use JSON:API format with { data, meta, links } envelopes.\",\n \"Pagination info is in the meta field (total_pages, limit_per_page, total_entries).\",\n \"All list tools support: page, sort_order (asc/desc), sort_by, filter_by, filter_on, filter_with (=, !=, like, etc.).\",\n \"Use page to paginate and filter_by/filter_on/filter_with to narrow results.\",\n ].join(\" \"),\n },\n );\n\n // ── Tool definitions ──\n\n const tools: ToolConfig[] = [\n // ── Prospects ──\n {\n name: \"list_prospects\",\n description: \"List all prospects (matters/leads) with optional filters.\",\n sdkFn: getV1Prospects,\n queryParams: {\n filter_by: { description: \"Field name to filter by\" },\n filter_on: { description: \"Value to filter on\" },\n },\n },\n {\n name: \"get_prospect\",\n description: \"Get a single prospect by ID.\",\n sdkFn: getV1ProspectsByProspectId,\n pathParams: {\n id: { sdkName: \"prospect_id\", description: \"Prospect ID\" },\n },\n },\n {\n name: \"find_prospect_by_phone\",\n description: \"Find a prospect by phone number.\",\n sdkFn: getV1ProspectsFindByPhoneByPhoneNumber,\n pathParams: {\n phone_number: {\n sdkName: \"phone_number\",\n description: \"Phone number to search\",\n },\n },\n },\n {\n name: \"find_prospect_by_email\",\n description: \"Find a prospect by email address.\",\n sdkFn: getV1ProspectsFindByEmailByEmailAddress,\n pathParams: {\n email_address: {\n sdkName: \"email_address\",\n description: \"Email address to search\",\n },\n },\n },\n {\n name: \"find_prospect_by_name\",\n description: \"Find a prospect by name.\",\n sdkFn: getV1ProspectsFindByNameByName,\n pathParams: {\n name: { sdkName: \"name\", description: \"Name to search\" },\n },\n },\n\n // ── Contacts ──\n {\n name: \"list_contacts\",\n description: \"List all contacts.\",\n sdkFn: getV1Contacts,\n },\n {\n name: \"get_contact\",\n description: \"Get a single contact by ID.\",\n sdkFn: getV1ContactsByContactId,\n pathParams: { id: { sdkName: \"contact_id\", description: \"Contact ID\" } },\n },\n {\n name: \"find_contact_by_phone\",\n description: \"Find a contact by phone number.\",\n sdkFn: getV1ContactsFindByPhoneByPhoneNumber,\n pathParams: {\n phone_number: {\n sdkName: \"phone_number\",\n description: \"Phone number to search\",\n },\n },\n },\n {\n name: \"find_contact_by_email\",\n description: \"Find a contact by email address.\",\n sdkFn: getV1ContactsFindByEmailByEmailAddress,\n pathParams: {\n email_address: {\n sdkName: \"email_address\",\n description: \"Email address to search\",\n },\n },\n },\n {\n name: \"find_contact_by_name\",\n description: \"Find a contact by name.\",\n sdkFn: getV1ContactsFindByNameByName,\n pathParams: {\n name: { sdkName: \"name\", description: \"Name to search\" },\n },\n },\n\n // ── Companies ──\n {\n name: \"list_companies\",\n description: \"List all companies.\",\n sdkFn: getV1Companies,\n },\n {\n name: \"get_company\",\n description: \"Get a single company by ID.\",\n sdkFn: getV1CompaniesByCompanyId,\n pathParams: { id: { sdkName: \"company_id\", description: \"Company ID\" } },\n },\n {\n name: \"find_company_by_phone\",\n description: \"Find a company by phone number.\",\n sdkFn: getV1CompaniesFindByPhoneByPhoneNumber,\n pathParams: {\n phone_number: {\n sdkName: \"phone_number\",\n description: \"Phone number to search\",\n },\n },\n },\n {\n name: \"find_company_by_email\",\n description: \"Find a company by email address.\",\n sdkFn: getV1CompaniesFindByEmailByEmailAddress,\n pathParams: {\n email_address: {\n sdkName: \"email_address\",\n description: \"Email address to search\",\n },\n },\n },\n {\n name: \"find_company_by_name\",\n description: \"Find a company by name.\",\n sdkFn: getV1CompaniesFindByNameByName,\n pathParams: {\n name: { sdkName: \"name\", description: \"Name to search\" },\n },\n },\n\n // ── Addresses ──\n {\n name: \"list_addresses\",\n description: \"List all addresses.\",\n sdkFn: getV1Addresses,\n },\n {\n name: \"get_address\",\n description: \"Get a single address by ID.\",\n sdkFn: getV1AddressesByAddressId,\n pathParams: { id: { sdkName: \"address_id\", description: \"Address ID\" } },\n },\n\n // ── Email Addresses ──\n {\n name: \"list_email_addresses\",\n description: \"List all email addresses.\",\n sdkFn: getV1EmailAddresses,\n },\n {\n name: \"get_email_address\",\n description: \"Get a single email address by ID.\",\n sdkFn: getV1EmailAddressesByEmailAddressId,\n pathParams: {\n id: { sdkName: \"email_address_id\", description: \"Email Address ID\" },\n },\n },\n\n // ── Phone Numbers ──\n {\n name: \"list_phone_numbers\",\n description: \"List all phone numbers.\",\n sdkFn: getV1PhoneNumbers,\n },\n {\n name: \"get_phone_number\",\n description: \"Get a single phone number by ID.\",\n sdkFn: getV1PhoneNumbersByPhoneNumberId,\n pathParams: {\n id: { sdkName: \"phone_number_id\", description: \"Phone Number ID\" },\n },\n },\n\n // ── Custom Contact Types ──\n {\n name: \"list_custom_contact_types\",\n description: \"List all custom contact types.\",\n sdkFn: getV1CustomContactTypes,\n },\n {\n name: \"get_custom_contact_type\",\n description: \"Get a single custom contact type by ID.\",\n sdkFn: getV1CustomContactTypesByCustomContactTypeId,\n pathParams: {\n id: {\n sdkName: \"custom_contact_type_id\",\n description: \"Custom Contact Type ID\",\n },\n },\n },\n\n // ── Custom Fields ──\n {\n name: \"list_custom_fields\",\n description: \"List all custom fields.\",\n sdkFn: getV1CustomFields,\n },\n {\n name: \"get_custom_field\",\n description: \"Get a single custom field by ID.\",\n sdkFn: getV1CustomFieldsByCustomFieldId,\n pathParams: {\n id: { sdkName: \"custom_field_id\", description: \"Custom Field ID\" },\n },\n },\n\n // ── Custom Emails ──\n {\n name: \"list_custom_emails\",\n description: \"List all custom email templates.\",\n sdkFn: getV1CustomEmails,\n },\n {\n name: \"get_custom_email\",\n description: \"Get a single custom email template by ID.\",\n sdkFn: getV1CustomEmailsByCustomEmailId,\n pathParams: {\n id: { sdkName: \"custom_email_id\", description: \"Custom Email ID\" },\n },\n },\n\n // ── Forms ──\n {\n name: \"list_forms\",\n description: \"List all forms.\",\n sdkFn: getV1Forms,\n },\n {\n name: \"get_form\",\n description: \"Get a single form by UUID.\",\n sdkFn: getV1FormsByCustomFormUuid,\n pathParams: {\n id: { sdkName: \"custom_form_uuid\", description: \"Form UUID\" },\n },\n },\n {\n name: \"list_form_entries\",\n description: \"List all entries for a specific form.\",\n sdkFn: getV1FormsByCustomFormUuidEntries,\n pathParams: {\n custom_form_uuid: {\n sdkName: \"custom_form_uuid\",\n description: \"Form UUID\",\n },\n },\n },\n\n // ── Email Campaigns ──\n {\n name: \"list_email_campaigns\",\n description: \"List all email campaigns.\",\n sdkFn: getV1EmailCampaigns,\n },\n {\n name: \"get_email_campaign\",\n description: \"Get a single email campaign by ID.\",\n sdkFn: getV1EmailCampaignsById,\n pathParams: {\n id: { sdkName: \"id\", description: \"Email Campaign ID\" },\n },\n },\n {\n name: \"get_email_campaign_stats\",\n description: \"Get statistics for an email campaign by ID.\",\n sdkFn: getV1EmailCampaignStatsById,\n pathParams: {\n id: { sdkName: \"id\", description: \"Email Campaign ID\" },\n },\n },\n\n // ── Events ──\n {\n name: \"list_events\",\n description: \"List all events.\",\n sdkFn: getV1Events,\n },\n {\n name: \"get_event\",\n description: \"Get a single event by ID.\",\n sdkFn: getV1EventsByEventId,\n pathParams: { id: { sdkName: \"event_id\", description: \"Event ID\" } },\n },\n\n // ── Locations ──\n {\n name: \"list_locations\",\n description: \"List all locations.\",\n sdkFn: getV1Locations,\n },\n\n // ── Event Types ──\n {\n name: \"list_event_types\",\n description: \"List all event types.\",\n sdkFn: getV1EventTypes,\n },\n {\n name: \"get_event_type\",\n description: \"Get a single event type by ID.\",\n sdkFn: getV1EventTypesByEventTypeId,\n pathParams: {\n id: { sdkName: \"event_type_id\", description: \"Event Type ID\" },\n },\n },\n\n // ── Files ──\n {\n name: \"list_files\",\n description: \"List all files.\",\n sdkFn: getV1Files,\n },\n {\n name: \"get_file\",\n description: \"Get a single file's metadata by ID.\",\n sdkFn: getV1FilesByFileId,\n pathParams: { id: { sdkName: \"file_id\", description: \"File ID\" } },\n },\n {\n name: \"download_file\",\n description: \"Download a file by ID.\",\n sdkFn: getV1FilesDownloadById,\n pathParams: { id: { sdkName: \"id\", description: \"File ID\" } },\n },\n\n // ── Folders ──\n {\n name: \"list_folders\",\n description: \"List all folders.\",\n sdkFn: getV1Folders,\n },\n {\n name: \"get_folder\",\n description: \"Get a single folder by ID.\",\n sdkFn: getV1FoldersByFolderId,\n pathParams: { id: { sdkName: \"folder_id\", description: \"Folder ID\" } },\n },\n\n // ── Interactions ──\n {\n name: \"list_interactions\",\n description: \"List all interactions.\",\n sdkFn: getV1Interactions,\n },\n {\n name: \"get_interaction\",\n description: \"Get a single interaction by ID.\",\n sdkFn: getV1InteractionsByInteractionId,\n pathParams: {\n id: { sdkName: \"interaction_id\", description: \"Interaction ID\" },\n },\n },\n\n // ── Notes ──\n {\n name: \"list_notes\",\n description: \"List all notes.\",\n sdkFn: getV1Notes,\n },\n {\n name: \"get_note\",\n description: \"Get a single note by ID.\",\n sdkFn: getV1NotesByNoteId,\n pathParams: { id: { sdkName: \"note_id\", description: \"Note ID\" } },\n },\n\n // ── Tasks ──\n {\n name: \"list_tasks\",\n description: \"List all tasks.\",\n sdkFn: getV1Tasks,\n },\n {\n name: \"get_task\",\n description: \"Get a single task by ID.\",\n sdkFn: getV1TasksByTaskId,\n pathParams: { id: { sdkName: \"task_id\", description: \"Task ID\" } },\n },\n {\n name: \"list_task_subtasks\",\n description: \"List all subtasks for a task.\",\n sdkFn: getV1TasksByTaskIdSubtasks,\n pathParams: {\n task_id: { sdkName: \"task_id\", description: \"Parent Task ID\" },\n },\n },\n {\n name: \"get_task_subtask\",\n description: \"Get a single subtask for a task.\",\n sdkFn: getV1TasksByTaskIdSubtasksBySubtaskId,\n pathParams: {\n task_id: { sdkName: \"task_id\", description: \"Parent Task ID\" },\n subtask_id: { sdkName: \"subtask_id\", description: \"Subtask ID\" },\n },\n },\n {\n name: \"list_task_comments\",\n description: \"List all comments for a task.\",\n sdkFn: getV1TasksByTaskIdComments,\n pathParams: {\n task_id: { sdkName: \"task_id\", description: \"Task ID\" },\n },\n },\n {\n name: \"get_task_comment\",\n description: \"Get a single comment for a task.\",\n sdkFn: getV1TasksByTaskIdCommentsByCommentId,\n pathParams: {\n task_id: { sdkName: \"task_id\", description: \"Task ID\" },\n comment_id: { sdkName: \"comment_id\", description: \"Comment ID\" },\n },\n },\n\n // ── Task Statuses ──\n {\n name: \"list_task_statuses\",\n description: \"List all task statuses.\",\n sdkFn: getV1TaskStatuses,\n },\n {\n name: \"get_task_status\",\n description: \"Get a single task status by ID.\",\n sdkFn: getV1TaskStatusesByTaskStatusId,\n pathParams: {\n id: { sdkName: \"task_status_id\", description: \"Task Status ID\" },\n },\n },\n\n // ── Campaigns ──\n {\n name: \"list_campaigns\",\n description: \"List all automation campaigns.\",\n sdkFn: getV1Campaigns,\n },\n {\n name: \"get_campaign\",\n description: \"Get a single automation campaign by ID.\",\n sdkFn: getV1CampaignsByCampaignId,\n pathParams: {\n id: { sdkName: \"campaign_id\", description: \"Campaign ID\" },\n },\n },\n\n // ── Sources ──\n {\n name: \"list_sources\",\n description: \"List all lead sources.\",\n sdkFn: getV1Sources,\n },\n {\n name: \"get_source\",\n description: \"Get a single lead source by ID.\",\n sdkFn: getV1SourcesBySourceId,\n pathParams: { id: { sdkName: \"source_id\", description: \"Source ID\" } },\n },\n\n // ── Pipelines ──\n {\n name: \"list_pipelines\",\n description: \"List all pipelines.\",\n sdkFn: getV1Pipelines,\n },\n {\n name: \"get_pipeline\",\n description: \"Get a single pipeline by ID.\",\n sdkFn: getV1PipelinesByPipelineId,\n pathParams: {\n id: { sdkName: \"pipeline_id\", description: \"Pipeline ID\" },\n },\n },\n\n // ── Stages ──\n {\n name: \"list_stages\",\n description: \"List all pipeline stages.\",\n sdkFn: getV1Stages,\n },\n {\n name: \"get_stage\",\n description: \"Get a single pipeline stage by ID.\",\n sdkFn: getV1StagesByStageId,\n pathParams: { id: { sdkName: \"stage_id\", description: \"Stage ID\" } },\n },\n\n // ── Practice Areas ──\n {\n name: \"list_practice_areas\",\n description: \"List all practice areas.\",\n sdkFn: getV1PracticeAreas,\n },\n {\n name: \"get_practice_area\",\n description: \"Get a single practice area by ID.\",\n sdkFn: getV1PracticeAreasByPracticeAreaId,\n pathParams: {\n id: { sdkName: \"practice_area_id\", description: \"Practice Area ID\" },\n },\n },\n\n // ── Relationships ──\n {\n name: \"list_relationships\",\n description: \"List all relationships.\",\n sdkFn: getV1Relationships,\n },\n {\n name: \"get_relationship\",\n description: \"Get a single relationship by ID.\",\n sdkFn: getV1RelationshipsByRelationshipId,\n pathParams: {\n id: { sdkName: \"relationship_id\", description: \"Relationship ID\" },\n },\n },\n\n // ── Relationship Types ──\n {\n name: \"list_relationship_types\",\n description: \"List all relationship types.\",\n sdkFn: getV1RelationshipTypes,\n },\n {\n name: \"get_relationship_type\",\n description: \"Get a single relationship type by ID.\",\n sdkFn: getV1RelationshipTypesByRelationshipTypeId,\n pathParams: {\n id: {\n sdkName: \"relationship_type_id\",\n description: \"Relationship Type ID\",\n },\n },\n },\n\n // ── Sub-Statuses ──\n {\n name: \"list_sub_statuses\",\n description: \"List all sub-statuses.\",\n sdkFn: getV1SubStatuses,\n },\n {\n name: \"get_sub_status\",\n description: \"Get a single sub-status by ID.\",\n sdkFn: getV1SubStatusesByStatusId,\n pathParams: { id: { sdkName: \"status_id\", description: \"Status ID\" } },\n },\n\n // ── Tags ──\n {\n name: \"list_tags\",\n description: \"List all tags.\",\n sdkFn: getV1Tags,\n },\n {\n name: \"get_tag\",\n description: \"Get a single tag by ID.\",\n sdkFn: getV1TagsByTagId,\n pathParams: { id: { sdkName: \"tag_id\", description: \"Tag ID\" } },\n },\n\n // ── Invoices ──\n {\n name: \"list_invoices\",\n description: \"List all invoices.\",\n sdkFn: getV1Invoices,\n },\n {\n name: \"get_invoice\",\n description: \"Get a single invoice by ID.\",\n sdkFn: getV1InvoicesByInvoiceId,\n pathParams: { id: { sdkName: \"invoice_id\", description: \"Invoice ID\" } },\n },\n\n // ── Expenses ──\n {\n name: \"list_expenses\",\n description: \"List all expenses.\",\n sdkFn: getV1Expenses,\n },\n {\n name: \"get_expense\",\n description: \"Get a single expense by ID.\",\n sdkFn: getV1ExpensesByExpenseId,\n pathParams: { id: { sdkName: \"expense_id\", description: \"Expense ID\" } },\n },\n\n // ── Time Entries ──\n {\n name: \"list_time_entries\",\n description: \"List all time entries.\",\n sdkFn: getV1TimeEntries,\n },\n {\n name: \"get_time_entry\",\n description: \"Get a single time entry by ID.\",\n sdkFn: getV1TimeEntriesByTimeEntryId,\n pathParams: {\n id: { sdkName: \"time_entry_id\", description: \"Time Entry ID\" },\n },\n },\n\n // ── Transactions ──\n {\n name: \"list_transactions\",\n description: \"List all transactions.\",\n sdkFn: getV1Transactions,\n },\n {\n name: \"get_transaction\",\n description: \"Get a single transaction by ID.\",\n sdkFn: getV1TransactionsByTransactionId,\n pathParams: {\n id: { sdkName: \"transaction_id\", description: \"Transaction ID\" },\n },\n },\n\n // ── Activities ──\n {\n name: \"list_activities\",\n description:\n \"List all activities. Can filter by matter_id, contact_id, type, or event.\",\n sdkFn: getV1Activities,\n queryParams: {\n filter_by: {\n description:\n \"Field to filter by (matter_id, contact_id, type, or event)\",\n },\n filter_on: { description: \"Value to filter on\" },\n },\n },\n {\n name: \"get_activity\",\n description: \"Get a single activity by ID.\",\n sdkFn: getV1ActivitiesByActivityId,\n pathParams: {\n id: { sdkName: \"activity_id\", description: \"Activity ID\" },\n },\n },\n\n // ── Users ──\n {\n name: \"list_users\",\n description: \"List all users in the firm.\",\n sdkFn: getV1Users,\n },\n {\n name: \"get_user\",\n description: \"Get a single user by ID.\",\n sdkFn: getV1UsersByUserId,\n pathParams: { id: { sdkName: \"user_id\", description: \"User ID\" } },\n },\n {\n name: \"get_me\",\n description: \"Get the currently authenticated user.\",\n sdkFn: getV1UsersMe,\n },\n ];\n\n // ── Register all tools ──\n\n for (const tool of tools) {\n const effectiveQueryParams = getEffectiveQueryParams(tool);\n\n const inputSchema: Record<string, z.ZodType> = {};\n\n // Add path params as required strings\n if (tool.pathParams) {\n for (const [paramName, { description }] of Object.entries(\n tool.pathParams,\n )) {\n inputSchema[paramName] = z.string().describe(description);\n }\n }\n\n // Add query params as optional strings\n if (effectiveQueryParams) {\n for (const [paramName, { description }] of Object.entries(\n effectiveQueryParams,\n )) {\n inputSchema[paramName] = z.string().optional().describe(description);\n }\n }\n\n server.registerTool(\n tool.name,\n {\n description: tool.description,\n inputSchema:\n Object.keys(inputSchema).length > 0 ? inputSchema : undefined,\n },\n createToolHandler(tool, effectiveQueryParams),\n );\n }\n\n return server;\n}\n","// This file is auto-generated by @hey-api/openapi-ts\n\nimport { client } from './client.gen.js';\nimport type { Client, Options as Options2, TDataShape } from './client/index.js';\nimport type { DeleteV1AddressesByAddressIdData, DeleteV1AddressesByAddressIdResponses, DeleteV1CompaniesByCompanyIdData, DeleteV1CompaniesByCompanyIdResponses, DeleteV1ContactsByContactIdData, DeleteV1ContactsByContactIdResponses, DeleteV1CustomContactTypesByCustomContactTypeIdData, DeleteV1CustomContactTypesByCustomContactTypeIdResponses, DeleteV1CustomFieldsByCustomFieldIdData, DeleteV1CustomFieldsByCustomFieldIdResponses, DeleteV1EmailAddressesByEmailAddressIdData, DeleteV1EmailAddressesByEmailAddressIdResponses, DeleteV1EventsByEventIdData, DeleteV1EventsByEventIdResponses, DeleteV1EventTypesByEventTypeIdData, DeleteV1EventTypesByEventTypeIdResponses, DeleteV1ExpensesByExpenseIdData, DeleteV1ExpensesByExpenseIdResponses, DeleteV1FilesByFileIdData, DeleteV1FilesByFileIdResponses, DeleteV1FoldersByFolderIdData, DeleteV1FoldersByFolderIdResponses, DeleteV1InteractionsByInteractionIdData, DeleteV1InteractionsByInteractionIdResponses, DeleteV1NotesByNoteIdData, DeleteV1NotesByNoteIdResponses, DeleteV1PhoneNumbersByPhoneNumberIdData, DeleteV1PhoneNumbersByPhoneNumberIdResponses, DeleteV1PracticeAreasByPracticeAreaIdData, DeleteV1PracticeAreasByPracticeAreaIdResponses, DeleteV1ProspectsByProspectIdData, DeleteV1ProspectsByProspectIdResponses, DeleteV1RelationshipsByRelationshipIdData, DeleteV1RelationshipsByRelationshipIdResponses, DeleteV1SubStatusesByStatusIdData, DeleteV1SubStatusesByStatusIdResponses, DeleteV1TagsByTagIdData, DeleteV1TagsByTagIdResponses, DeleteV1TasksByTaskIdCommentsByCommentIdData, DeleteV1TasksByTaskIdCommentsByCommentIdResponses, DeleteV1TasksByTaskIdData, DeleteV1TasksByTaskIdResponses, DeleteV1TasksByTaskIdSubtasksBySubtaskIdData, DeleteV1TasksByTaskIdSubtasksBySubtaskIdResponses, DeleteV1TaskStatusesByTaskStatusIdData, DeleteV1TaskStatusesByTaskStatusIdResponses, DeleteV1TimeEntriesByTimeEntryIdData, DeleteV1TimeEntriesByTimeEntryIdResponses, DeleteV1UsersByUserIdData, DeleteV1UsersByUserIdResponses, GetV1ActivitiesByActivityIdData, GetV1ActivitiesByActivityIdResponses, GetV1ActivitiesData, GetV1ActivitiesErrors, GetV1ActivitiesResponses, GetV1AddressesByAddressIdData, GetV1AddressesByAddressIdResponses, GetV1AddressesData, GetV1AddressesResponses, GetV1CampaignsByCampaignIdData, GetV1CampaignsByCampaignIdResponses, GetV1CampaignsData, GetV1CampaignsResponses, GetV1CompaniesByCompanyIdData, GetV1CompaniesByCompanyIdResponses, GetV1CompaniesData, GetV1CompaniesFindByEmailByEmailAddressData, GetV1CompaniesFindByEmailByEmailAddressResponses, GetV1CompaniesFindByNameByNameData, GetV1CompaniesFindByNameByNameResponses, GetV1CompaniesFindByPhoneByPhoneNumberData, GetV1CompaniesFindByPhoneByPhoneNumberResponses, GetV1CompaniesResponses, GetV1ContactsByContactIdData, GetV1ContactsByContactIdResponses, GetV1ContactsData, GetV1ContactsFindByEmailByEmailAddressData, GetV1ContactsFindByEmailByEmailAddressResponses, GetV1ContactsFindByNameByNameData, GetV1ContactsFindByNameByNameResponses, GetV1ContactsFindByPhoneByPhoneNumberData, GetV1ContactsFindByPhoneByPhoneNumberResponses, GetV1ContactsResponses, GetV1CustomContactTypesByCustomContactTypeIdData, GetV1CustomContactTypesByCustomContactTypeIdResponses, GetV1CustomContactTypesData, GetV1CustomContactTypesResponses, GetV1CustomEmailsByCustomEmailIdData, GetV1CustomEmailsByCustomEmailIdResponses, GetV1CustomEmailsData, GetV1CustomEmailsResponses, GetV1CustomFieldsByCustomFieldIdData, GetV1CustomFieldsByCustomFieldIdResponses, GetV1CustomFieldsData, GetV1CustomFieldsResponses, GetV1EmailAddressesByEmailAddressIdData, GetV1EmailAddressesByEmailAddressIdResponses, GetV1EmailAddressesData, GetV1EmailAddressesResponses, GetV1EmailCampaignsByIdData, GetV1EmailCampaignsByIdResponses, GetV1EmailCampaignsData, GetV1EmailCampaignsResponses, GetV1EmailCampaignStatsByIdData, GetV1EmailCampaignStatsByIdResponses, GetV1EventsByEventIdData, GetV1EventsByEventIdResponses, GetV1EventsData, GetV1EventsResponses, GetV1EventTypesByEventTypeIdData, GetV1EventTypesByEventTypeIdResponses, GetV1EventTypesData, GetV1EventTypesResponses, GetV1ExpensesByExpenseIdData, GetV1ExpensesByExpenseIdResponses, GetV1ExpensesData, GetV1ExpensesResponses, GetV1FilesByFileIdData, GetV1FilesByFileIdResponses, GetV1FilesData, GetV1FilesDownloadByIdData, GetV1FilesDownloadByIdErrors, GetV1FilesDownloadByIdResponses, GetV1FilesErrors, GetV1FilesResponses, GetV1FoldersByFolderIdData, GetV1FoldersByFolderIdResponses, GetV1FoldersData, GetV1FoldersResponses, GetV1FormsByCustomFormUuidData, GetV1FormsByCustomFormUuidEntriesData, GetV1FormsByCustomFormUuidEntriesResponses, GetV1FormsByCustomFormUuidResponses, GetV1FormsData, GetV1FormsResponses, GetV1InteractionsByInteractionIdData, GetV1InteractionsByInteractionIdResponses, GetV1InteractionsData, GetV1InteractionsResponses, GetV1InvoicesByInvoiceIdData, GetV1InvoicesByInvoiceIdResponses, GetV1InvoicesData, GetV1InvoicesResponses, GetV1LocationsData, GetV1LocationsResponses, GetV1NotesByNoteIdData, GetV1NotesByNoteIdResponses, GetV1NotesData, GetV1NotesResponses, GetV1PhoneNumbersByPhoneNumberIdData, GetV1PhoneNumbersByPhoneNumberIdResponses, GetV1PhoneNumbersData, GetV1PhoneNumbersResponses, GetV1PipelinesByPipelineIdData, GetV1PipelinesByPipelineIdResponses, GetV1PipelinesData, GetV1PipelinesResponses, GetV1PracticeAreasByPracticeAreaIdData, GetV1PracticeAreasByPracticeAreaIdResponses, GetV1PracticeAreasData, GetV1PracticeAreasResponses, GetV1ProspectsByProspectIdData, GetV1ProspectsByProspectIdResponses, GetV1ProspectsData, GetV1ProspectsFindByEmailByEmailAddressData, GetV1ProspectsFindByEmailByEmailAddressResponses, GetV1ProspectsFindByNameByNameData, GetV1ProspectsFindByNameByNameResponses, GetV1ProspectsFindByPhoneByPhoneNumberData, GetV1ProspectsFindByPhoneByPhoneNumberResponses, GetV1ProspectsResponses, GetV1RelationshipsByRelationshipIdData, GetV1RelationshipsByRelationshipIdResponses, GetV1RelationshipsData, GetV1RelationshipsResponses, GetV1RelationshipTypesByRelationshipTypeIdData, GetV1RelationshipTypesByRelationshipTypeIdResponses, GetV1RelationshipTypesData, GetV1RelationshipTypesResponses, GetV1SourcesBySourceIdData, GetV1SourcesBySourceIdResponses, GetV1SourcesData, GetV1SourcesResponses, GetV1StagesByStageIdData, GetV1StagesByStageIdResponses, GetV1StagesData, GetV1StagesResponses, GetV1SubStatusesByStatusIdData, GetV1SubStatusesByStatusIdResponses, GetV1SubStatusesData, GetV1SubStatusesResponses, GetV1TagsByTagIdData, GetV1TagsByTagIdResponses, GetV1TagsData, GetV1TagsResponses, GetV1TasksByTaskIdCommentsByCommentIdData, GetV1TasksByTaskIdCommentsByCommentIdResponses, GetV1TasksByTaskIdCommentsData, GetV1TasksByTaskIdCommentsResponses, GetV1TasksByTaskIdData, GetV1TasksByTaskIdResponses, GetV1TasksByTaskIdSubtasksBySubtaskIdData, GetV1TasksByTaskIdSubtasksBySubtaskIdResponses, GetV1TasksByTaskIdSubtasksData, GetV1TasksByTaskIdSubtasksResponses, GetV1TasksData, GetV1TasksResponses, GetV1TaskStatusesByTaskStatusIdData, GetV1TaskStatusesByTaskStatusIdResponses, GetV1TaskStatusesData, GetV1TaskStatusesResponses, GetV1TimeEntriesByTimeEntryIdData, GetV1TimeEntriesByTimeEntryIdResponses, GetV1TimeEntriesData, GetV1TimeEntriesResponses, GetV1TransactionsByTransactionIdData, GetV1TransactionsByTransactionIdResponses, GetV1TransactionsData, GetV1TransactionsResponses, GetV1UsersByUserIdData, GetV1UsersByUserIdResponses, GetV1UsersData, GetV1UsersMeData, GetV1UsersMeResponses, GetV1UsersResponses, PostV1AddressesData, PostV1AddressesResponses, PostV1CompaniesData, PostV1CompaniesResponses, PostV1ContactsData, PostV1ContactsResponses, PostV1CustomContactTypesData, PostV1CustomContactTypesResponses, PostV1CustomFieldsData, PostV1CustomFieldsResponses, PostV1EmailAddressesData, PostV1EmailAddressesResponses, PostV1EventsData, PostV1EventsResponses, PostV1EventTypesData, PostV1EventTypesResponses, PostV1ExpensesData, PostV1ExpensesResponses, PostV1FilesData, PostV1FilesResponses, PostV1FoldersData, PostV1FoldersErrors, PostV1FoldersResponses, PostV1FormsByCustomFormUuidSubmitData, PostV1FormsByCustomFormUuidSubmitResponses, PostV1InteractionsData, PostV1InteractionsResponses, PostV1NotesData, PostV1NotesResponses, PostV1PhoneNumbersData, PostV1PhoneNumbersResponses, PostV1PracticeAreasData, PostV1PracticeAreasResponses, PostV1ProspectsData, PostV1ProspectsResponses, PostV1RelationshipsData, PostV1RelationshipsResponses, PostV1RelationshipTypesData, PostV1RelationshipTypesResponses, PostV1SubStatusesData, PostV1SubStatusesResponses, PostV1TagsAttachData, PostV1TagsAttachResponses, PostV1TagsData, PostV1TagsDetachData, PostV1TagsDetachResponses, PostV1TagsResponses, PostV1TasksByTaskIdCommentsData, PostV1TasksByTaskIdCommentsResponses, PostV1TasksByTaskIdSubtasksData, PostV1TasksByTaskIdSubtasksResponses, PostV1TasksData, PostV1TasksResponses, PostV1TaskStatusesData, PostV1TaskStatusesResponses, PostV1TimeEntriesData, PostV1TimeEntriesResponses, PostV1TransactionsData, PostV1TransactionsResponses, PostV1UsersData, PostV1UsersResponses, PutV1AddressesByAddressIdData, PutV1AddressesByAddressIdResponses, PutV1CompaniesByCompanyIdData, PutV1CompaniesByCompanyIdResponses, PutV1ContactsByContactIdData, PutV1ContactsByContactIdResponses, PutV1CustomContactTypesByCustomContactTypeIdData, PutV1CustomContactTypesByCustomContactTypeIdResponses, PutV1CustomFieldsByCustomFieldIdData, PutV1CustomFieldsByCustomFieldIdResponses, PutV1EmailAddressesByEmailAddressIdData, PutV1EmailAddressesByEmailAddressIdResponses, PutV1EventsByEventIdData, PutV1EventsByEventIdResponses, PutV1EventTypesByEventTypeIdData, PutV1EventTypesByEventTypeIdResponses, PutV1ExpensesByExpenseIdData, PutV1ExpensesByExpenseIdResponses, PutV1FilesByFileIdData, PutV1FilesByFileIdResponses, PutV1FoldersByFolderIdData, PutV1FoldersByFolderIdResponses, PutV1InteractionsByInteractionIdData, PutV1InteractionsByInteractionIdResponses, PutV1NotesByNoteIdData, PutV1NotesByNoteIdResponses, PutV1PhoneNumbersByPhoneNumberIdData, PutV1PhoneNumbersByPhoneNumberIdResponses, PutV1PracticeAreasByPracticeAreaIdData, PutV1PracticeAreasByPracticeAreaIdResponses, PutV1ProspectsByProspectIdData, PutV1ProspectsByProspectIdResponses, PutV1RelationshipsByRelationshipIdData, PutV1RelationshipsByRelationshipIdResponses, PutV1RelationshipTypesByRelationshipTypeIdData, PutV1RelationshipTypesByRelationshipTypeIdResponses, PutV1SubStatusesByStatusIdData, PutV1SubStatusesByStatusIdResponses, PutV1TagsByTagIdData, PutV1TagsByTagIdResponses, PutV1TasksByTaskIdCommentsByCommentIdData, PutV1TasksByTaskIdCommentsByCommentIdResponses, PutV1TasksByTaskIdData, PutV1TasksByTaskIdResponses, PutV1TasksByTaskIdSubtasksBySubtaskIdData, PutV1TasksByTaskIdSubtasksBySubtaskIdResponses, PutV1TaskStatusesByTaskStatusIdData, PutV1TaskStatusesByTaskStatusIdResponses, PutV1TimeEntriesByTimeEntryIdData, PutV1TimeEntriesByTimeEntryIdResponses, PutV1UsersByUserIdData, PutV1UsersByUserIdResponses } from './types.gen.js';\n\nexport type Options<TData extends TDataShape = TDataShape, ThrowOnError extends boolean = boolean> = Options2<TData, ThrowOnError> & {\n /**\n * You can provide a client instance returned by `createClient()` instead of\n * individual options. This might be also useful if you want to implement a\n * custom client.\n */\n client?: Client;\n /**\n * You can pass arbitrary values through the `meta` object. This can be\n * used to access values that aren't defined as part of the SDK function.\n */\n meta?: Record<string, unknown>;\n};\n\n/**\n * Filter Matter by specific Practice Area\n */\nexport const getV1Prospects = <ThrowOnError extends boolean = false>(options?: Options<GetV1ProspectsData, ThrowOnError>) => (options?.client ?? client).get<GetV1ProspectsResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/prospects',\n ...options\n});\n\n/**\n * Create Matter\n *\n * Create a new Matter\n */\nexport const postV1Prospects = <ThrowOnError extends boolean = false>(options?: Options<PostV1ProspectsData, ThrowOnError>) => (options?.client ?? client).post<PostV1ProspectsResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/prospects',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n});\n\n/**\n * Delete Address\n *\n * Delete an **Address**\n *\n * **address_id**: ID of the **Address** to delete\n */\nexport const deleteV1AddressesByAddressId = <ThrowOnError extends boolean = false>(options: Options<DeleteV1AddressesByAddressIdData, ThrowOnError>) => (options.client ?? client).delete<DeleteV1AddressesByAddressIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/addresses/{address_id}',\n ...options\n});\n\n/**\n * Address\n *\n * A specific Stage by id\n */\nexport const getV1AddressesByAddressId = <ThrowOnError extends boolean = false>(options: Options<GetV1AddressesByAddressIdData, ThrowOnError>) => (options.client ?? client).get<GetV1AddressesByAddressIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/addresses/{address_id}',\n ...options\n});\n\n/**\n * Update Address\n *\n * Updates an **Address** by ID\n */\nexport const putV1AddressesByAddressId = <ThrowOnError extends boolean = false>(options: Options<PutV1AddressesByAddressIdData, ThrowOnError>) => (options.client ?? client).put<PutV1AddressesByAddressIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/addresses/{address_id}',\n ...options\n});\n\n/**\n * Addresses\n *\n * A **paginated** list of all **Addresses** in Lawmatics\n */\nexport const getV1Addresses = <ThrowOnError extends boolean = false>(options?: Options<GetV1AddressesData, ThrowOnError>) => (options?.client ?? client).get<GetV1AddressesResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/addresses',\n ...options\n});\n\n/**\n * Create Address\n *\n * Create a new **Address**\n *\n * **Required Fields**: addressable, label, street\n *\n * **addressable_type**: Prospect, Contact, Company, or Firm that the Address belongs to.\n *\n * **addressable_id:** Id of Record. Firm type doesn't need an ID passed and it will be ignored.\n *\n * Note - Setting the **Address** through a **Prospect** (Matter) will set the address on the Prospects' **Contact****Company**.\n */\nexport const postV1Addresses = <ThrowOnError extends boolean = false>(options?: Options<PostV1AddressesData, ThrowOnError>) => (options?.client ?? client).post<PostV1AddressesResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/addresses',\n ...options\n});\n\n/**\n * Find Contact By Phone Number\n *\n * Fuzzy find a specific Contact by Phone Number.\n */\nexport const getV1ContactsFindByPhoneByPhoneNumber = <ThrowOnError extends boolean = false>(options: Options<GetV1ContactsFindByPhoneByPhoneNumberData, ThrowOnError>) => (options.client ?? client).get<GetV1ContactsFindByPhoneByPhoneNumberResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/contacts/find_by_phone/{phone_number}',\n ...options\n});\n\n/**\n * Find Contact By Email Address\n *\n * Fuzzy find a specific Contact by Email Address.\n */\nexport const getV1ContactsFindByEmailByEmailAddress = <ThrowOnError extends boolean = false>(options: Options<GetV1ContactsFindByEmailByEmailAddressData, ThrowOnError>) => (options.client ?? client).get<GetV1ContactsFindByEmailByEmailAddressResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/contacts/find_by_email/{email_address}',\n ...options\n});\n\n/**\n * Find Contact By Name\n *\n * Fuzzy find (case-insensitive) a specific Contact by their Name. You can pass either '{first_name} {last_name}' or simply '{first_name}'\n */\nexport const getV1ContactsFindByNameByName = <ThrowOnError extends boolean = false>(options: Options<GetV1ContactsFindByNameByNameData, ThrowOnError>) => (options.client ?? client).get<GetV1ContactsFindByNameByNameResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/contacts/find_by_name/{name}',\n ...options\n});\n\n/**\n * Delete Custom Contact Type\n *\n * Delete an existing **Custom Contact Type** by ID.\n *\n * Warning: This is irreversible!\n */\nexport const deleteV1CustomContactTypesByCustomContactTypeId = <ThrowOnError extends boolean = false>(options: Options<DeleteV1CustomContactTypesByCustomContactTypeIdData, ThrowOnError>) => (options.client ?? client).delete<DeleteV1CustomContactTypesByCustomContactTypeIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/custom_contact_types/{custom_contact_type_id}',\n ...options\n});\n\n/**\n * Custom Contact Type\n *\n * A specific **Custom Contact Type** by ID\n */\nexport const getV1CustomContactTypesByCustomContactTypeId = <ThrowOnError extends boolean = false>(options: Options<GetV1CustomContactTypesByCustomContactTypeIdData, ThrowOnError>) => (options.client ?? client).get<GetV1CustomContactTypesByCustomContactTypeIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/custom_contact_types/{custom_contact_type_id}',\n ...options\n});\n\n/**\n * Update Custom Contact Type\n *\n * Update an existing **Custom Contact Type** by ID.\n */\nexport const putV1CustomContactTypesByCustomContactTypeId = <ThrowOnError extends boolean = false>(options: Options<PutV1CustomContactTypesByCustomContactTypeIdData, ThrowOnError>) => (options.client ?? client).put<PutV1CustomContactTypesByCustomContactTypeIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/custom_contact_types/{custom_contact_type_id}',\n ...options\n});\n\n/**\n * Custom Contact Types\n *\n * A **paginated** list of all **Custom Contact Type** in Lawmatics\n */\nexport const getV1CustomContactTypes = <ThrowOnError extends boolean = false>(options?: Options<GetV1CustomContactTypesData, ThrowOnError>) => (options?.client ?? client).get<GetV1CustomContactTypesResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/custom_contact_types',\n ...options\n});\n\n/**\n * Create Custom Contact Type\n *\n * Create a new **Custom Contact Type**\n */\nexport const postV1CustomContactTypes = <ThrowOnError extends boolean = false>(options?: Options<PostV1CustomContactTypesData, ThrowOnError>) => (options?.client ?? client).post<PostV1CustomContactTypesResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/custom_contact_types',\n ...options\n});\n\n/**\n * Delete Contact\n *\n * Delete an existing **Contact** by ID.\n *\n * Warning: This is irreversible!\n */\nexport const deleteV1ContactsByContactId = <ThrowOnError extends boolean = false>(options: Options<DeleteV1ContactsByContactIdData, ThrowOnError>) => (options.client ?? client).delete<DeleteV1ContactsByContactIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/contacts/{contact_id}',\n ...options\n});\n\n/**\n * Contact\n *\n * A specific **Contact** by id\n */\nexport const getV1ContactsByContactId = <ThrowOnError extends boolean = false>(options: Options<GetV1ContactsByContactIdData, ThrowOnError>) => (options.client ?? client).get<GetV1ContactsByContactIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/contacts/{contact_id}',\n ...options\n});\n\n/**\n * Update Contact\n *\n * Update an existing **Contact** by ID.\n *\n * Passing Custom Field id and value, will set the custom field value on the **Contact**, and overwrite any existing value. Passing null as the value will clear it out.\n */\nexport const putV1ContactsByContactId = <ThrowOnError extends boolean = false>(options: Options<PutV1ContactsByContactIdData, ThrowOnError>) => (options.client ?? client).put<PutV1ContactsByContactIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/contacts/{contact_id}',\n ...options\n});\n\n/**\n * Contacts\n *\n * A **paginated** list of all **Contacts** in Lawmatics\n */\nexport const getV1Contacts = <ThrowOnError extends boolean = false>(options?: Options<GetV1ContactsData, ThrowOnError>) => (options?.client ?? client).get<GetV1ContactsResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/contacts',\n ...options\n});\n\n/**\n * Create Contact\n *\n * Create a new **Contact**\n */\nexport const postV1Contacts = <ThrowOnError extends boolean = false>(options?: Options<PostV1ContactsData, ThrowOnError>) => (options?.client ?? client).post<PostV1ContactsResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/contacts',\n ...options\n});\n\n/**\n * Find Company By Phone Number\n *\n * Fuzzy find a specific **Company** by **Phone Number**. Will look for the **Company** **Phone Number**, then fallback to search though associated **Contacts**.\n */\nexport const getV1CompaniesFindByPhoneByPhoneNumber = <ThrowOnError extends boolean = false>(options: Options<GetV1CompaniesFindByPhoneByPhoneNumberData, ThrowOnError>) => (options.client ?? client).get<GetV1CompaniesFindByPhoneByPhoneNumberResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/companies/find_by_phone/{phone_number}',\n ...options\n});\n\n/**\n * Find Company By Email Address\n *\n * Fuzzy find a specific **Company** by **Email Address**. Will look for the **Company** **Email Address**, then fallback to search though associated **Contacts**.\n */\nexport const getV1CompaniesFindByEmailByEmailAddress = <ThrowOnError extends boolean = false>(options: Options<GetV1CompaniesFindByEmailByEmailAddressData, ThrowOnError>) => (options.client ?? client).get<GetV1CompaniesFindByEmailByEmailAddressResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/companies/find_by_email/{email_address}',\n ...options\n});\n\n/**\n * Find Company By Name\n *\n * Fuzzy find (case-insensitive) a specific **Company** by Name\n */\nexport const getV1CompaniesFindByNameByName = <ThrowOnError extends boolean = false>(options: Options<GetV1CompaniesFindByNameByNameData, ThrowOnError>) => (options.client ?? client).get<GetV1CompaniesFindByNameByNameResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/companies/find_by_name/{name}',\n ...options\n});\n\n/**\n * Delete Company\n *\n * Delete an existing **Company** by ID.\n *\n * Warning: This is irreversible!\n */\nexport const deleteV1CompaniesByCompanyId = <ThrowOnError extends boolean = false>(options: Options<DeleteV1CompaniesByCompanyIdData, ThrowOnError>) => (options.client ?? client).delete<DeleteV1CompaniesByCompanyIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/companies/{company_id}',\n ...options\n});\n\n/**\n * Company\n *\n * A specific **Company** by id\n */\nexport const getV1CompaniesByCompanyId = <ThrowOnError extends boolean = false>(options: Options<GetV1CompaniesByCompanyIdData, ThrowOnError>) => (options.client ?? client).get<GetV1CompaniesByCompanyIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/companies/{company_id}',\n ...options\n});\n\n/**\n * Update Company\n *\n * Update an existing **Company** by ID.\n *\n * Passing Custom Field id and value, will set the custom field value on the **Company**, and overwrite any existing value. Passing null as the value will clear it out.\n */\nexport const putV1CompaniesByCompanyId = <ThrowOnError extends boolean = false>(options: Options<PutV1CompaniesByCompanyIdData, ThrowOnError>) => (options.client ?? client).put<PutV1CompaniesByCompanyIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/companies/{company_id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Companies\n *\n * A **paginated** list of all **Companies** in Lawmatics\n */\nexport const getV1Companies = <ThrowOnError extends boolean = false>(options?: Options<GetV1CompaniesData, ThrowOnError>) => (options?.client ?? client).get<GetV1CompaniesResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/companies',\n ...options\n});\n\n/**\n * Create Company\n *\n * Create a new **Company**\n */\nexport const postV1Companies = <ThrowOnError extends boolean = false>(options?: Options<PostV1CompaniesData, ThrowOnError>) => (options?.client ?? client).post<PostV1CompaniesResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/companies',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n});\n\n/**\n * Custom Email\n *\n * A specific **custom email** by id showcasing the custom email statistics such as unique open count, send count, bounce count, open rate, send rate, and bounce rate.\n */\nexport const getV1CustomEmailsByCustomEmailId = <ThrowOnError extends boolean = false>(options: Options<GetV1CustomEmailsByCustomEmailIdData, ThrowOnError>) => (options.client ?? client).get<GetV1CustomEmailsByCustomEmailIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/custom_emails/{custom_email_id}',\n ...options\n});\n\n/**\n * Custom Emails\n *\n * A list of all **custom emails** in Lawmatics.\n */\nexport const getV1CustomEmails = <ThrowOnError extends boolean = false>(options?: Options<GetV1CustomEmailsData, ThrowOnError>) => (options?.client ?? client).get<GetV1CustomEmailsResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/custom_emails',\n ...options\n});\n\n/**\n * Delete Custom Field\n */\nexport const deleteV1CustomFieldsByCustomFieldId = <ThrowOnError extends boolean = false>(options: Options<DeleteV1CustomFieldsByCustomFieldIdData, ThrowOnError>) => (options.client ?? client).delete<DeleteV1CustomFieldsByCustomFieldIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/custom_fields/{custom_field_id}',\n ...options\n});\n\n/**\n * Custom Field\n *\n * Specific Custom Field metadata by ID\n */\nexport const getV1CustomFieldsByCustomFieldId = <ThrowOnError extends boolean = false>(options: Options<GetV1CustomFieldsByCustomFieldIdData, ThrowOnError>) => (options.client ?? client).get<GetV1CustomFieldsByCustomFieldIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/custom_fields/{custom_field_id}',\n ...options\n});\n\n/**\n * Update Custom Field\n *\n * Update an existing Custom Field by ID.\n */\nexport const putV1CustomFieldsByCustomFieldId = <ThrowOnError extends boolean = false>(options: Options<PutV1CustomFieldsByCustomFieldIdData, ThrowOnError>) => (options.client ?? client).put<PutV1CustomFieldsByCustomFieldIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/custom_fields/{custom_field_id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Custom Fields\n *\n * A __paginated__ list of all Custom Field metadata in Lawmatics\n */\nexport const getV1CustomFields = <ThrowOnError extends boolean = false>(options?: Options<GetV1CustomFieldsData, ThrowOnError>) => (options?.client ?? client).get<GetV1CustomFieldsResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/custom_fields',\n ...options\n});\n\n/**\n * Create Custom Field\n *\n * Create a new Custom Field\n *\n * Name: Custom Field's name\n *\n * Type: One of `Matter`, `Contact`, `Company`, `Client`, or `PracticeArea`\n *\n * Visibility (optional): `starred`, `hidden`, `default` (default)\n *\n * field_type: One of `integer`, `boolean`, `string`, `text`, `currency`, `date`, `time`, `datetime`, `list`, `lookup`, `multi_picklist`\n *\n * list_options: Required if field_type is `list` or `multi_picklist`, two options at minimum\n *\n * lookup_type: Required if field_type is `lookup`. One of `User`, `Contact`, `Company` or `Prospect`\n *\n * practice_area: Name of practice area. Required if type is `PracticeArea`\n */\nexport const postV1CustomFields = <ThrowOnError extends boolean = false>(options?: Options<PostV1CustomFieldsData, ThrowOnError>) => (options?.client ?? client).post<PostV1CustomFieldsResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/custom_fields',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n});\n\n/**\n * Custom Form\n *\n * This *Unauthenticated* endpoint takes a __Custom Form__ id and returns metadata about that __Custom Form__. This metadata can be used to recreate a Lawmatics __Custom Form__ to be filled using your own html code.\n */\nexport const getV1FormsByCustomFormUuid = <ThrowOnError extends boolean = false>(options: Options<GetV1FormsByCustomFormUuidData, ThrowOnError>) => (options.client ?? client).get<GetV1FormsByCustomFormUuidResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/forms/{custom_form_uuid}',\n ...options\n});\n\n/**\n * Custom Forms\n *\n * A __paginated__ list of all Custom Forms in Lawmatics\n */\nexport const getV1Forms = <ThrowOnError extends boolean = false>(options?: Options<GetV1FormsData, ThrowOnError>) => (options?.client ?? client).get<GetV1FormsResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/forms',\n ...options\n});\n\n/**\n * Custom Form Entries\n *\n * A __paginated__ list of all Custom Form Entries in Lawmatics by Custom Form uuid\n */\nexport const getV1FormsByCustomFormUuidEntries = <ThrowOnError extends boolean = false>(options: Options<GetV1FormsByCustomFormUuidEntriesData, ThrowOnError>) => (options.client ?? client).get<GetV1FormsByCustomFormUuidEntriesResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/forms/{custom_form_uuid}/entries',\n ...options\n});\n\n/**\n * Submit Custom Form Entry (Form Data Body)\n *\n * This *Unauthenticated* (YOU DO NOT NEED A DEVELOPER APP) endpoint submits __Custom Form__ values. Keys for the values use the __Custom Form__ field ids found in Lawmatics, or found via the GET endpoint.\n *\n * Data should be serialized via form-data (plain html5 forms) or JSON body (shown in next example)\n *\n * Any automations will trigger as expected when this __Custom Form__ is submitted via the API.\n */\nexport const postV1FormsByCustomFormUuidSubmit = <ThrowOnError extends boolean = false>(options: Options<PostV1FormsByCustomFormUuidSubmitData, ThrowOnError>) => (options.client ?? client).post<PostV1FormsByCustomFormUuidSubmitResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/forms/{custom_form_uuid}/submit',\n ...options\n});\n\n/**\n * Delete Email Address\n *\n * Delete a **Email Address** by ID\n *\n * **email_address_id**: ID of the **Email Address** to delete\n */\nexport const deleteV1EmailAddressesByEmailAddressId = <ThrowOnError extends boolean = false>(options: Options<DeleteV1EmailAddressesByEmailAddressIdData, ThrowOnError>) => (options.client ?? client).delete<DeleteV1EmailAddressesByEmailAddressIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/email_addresses/{email_address_id}',\n ...options\n});\n\n/**\n * Email Address\n *\n * A specific **Email Address** by id\n */\nexport const getV1EmailAddressesByEmailAddressId = <ThrowOnError extends boolean = false>(options: Options<GetV1EmailAddressesByEmailAddressIdData, ThrowOnError>) => (options.client ?? client).get<GetV1EmailAddressesByEmailAddressIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/email_addresses/{email_address_id}',\n ...options\n});\n\n/**\n * Update Email Address\n *\n * Updates a **Email Address** by id\n */\nexport const putV1EmailAddressesByEmailAddressId = <ThrowOnError extends boolean = false>(options: Options<PutV1EmailAddressesByEmailAddressIdData, ThrowOnError>) => (options.client ?? client).put<PutV1EmailAddressesByEmailAddressIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/email_addresses/{email_address_id}',\n ...options\n});\n\n/**\n * Email Addresses\n *\n * A **paginated** list of all **Email Addresses** in Lawmatics\n */\nexport const getV1EmailAddresses = <ThrowOnError extends boolean = false>(options?: Options<GetV1EmailAddressesData, ThrowOnError>) => (options?.client ?? client).get<GetV1EmailAddressesResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/email_addresses',\n ...options\n});\n\n/**\n * Create Email Address\n *\n * Create a new **Email Address**\n *\n * **Required Fields**: informationable, label, info\n *\n * **info:** The **Email Address** string.\n *\n * **label**: The **Email Address's** label e.g. Primary.\n *\n * **informationable_type**: **Prospect**, **Contact**, **Company**, or **Firm** that the **Email Address** belongs to.\n *\n * **informationable_id:** Id of Record. **Firm** type doesn't need an ID passed and it will be ignored.\n *\n * Note - Setting the **Email Address** through a **Prospect** (Matter) will set it on on the **Prospects**' **Contact****Company**.\n */\nexport const postV1EmailAddresses = <ThrowOnError extends boolean = false>(options?: Options<PostV1EmailAddressesData, ThrowOnError>) => (options?.client ?? client).post<PostV1EmailAddressesResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/email_addresses',\n ...options\n});\n\n/**\n * Email Campaign\n *\n * Returns a specific campaign in **Lawmatics**.\n *\n * To retrieve a specific campaign, use the following format: TypeofCampaign-id\n *\n * An example of retrieving a marketing campaign would be:\n * /v1/email_campaigns/MarketingCampaign-1\n *\n * An example of retrieving a recurring campaign would be:\n * /v1/email_campaigns/RecurringCampaign-1\n *\n * An example of retrieving a date campaign would be:\n * /v1/email_campaigns/DateCampaign-1\n */\nexport const getV1EmailCampaignsById = <ThrowOnError extends boolean = false>(options: Options<GetV1EmailCampaignsByIdData, ThrowOnError>) => (options.client ?? client).get<GetV1EmailCampaignsByIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/email_campaigns/{id}',\n ...options\n});\n\n/**\n * Email Campaigns\n *\n * Returns all email campaigns in **Lawmatics**.\n */\nexport const getV1EmailCampaigns = <ThrowOnError extends boolean = false>(options?: Options<GetV1EmailCampaignsData, ThrowOnError>) => (options?.client ?? client).get<GetV1EmailCampaignsResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/email_campaigns',\n ...options\n});\n\n/**\n * Email Campaign Stats\n *\n * Retrieves a statistics of a specific email campaign in Lawmatics.\n *\n * To retrieve a specific campaign, use the following format: TypeofCampaign-id\n *\n * An example of retrieving statistics of a marketing campaign would be:\n * /v1/email_campaign_stats/MarketingCampaign-1\n *\n * An example of retrieving statistics of a date campaign would be:\n * /v1/email_campaign_stats/DateCampaign-1\n */\nexport const getV1EmailCampaignStatsById = <ThrowOnError extends boolean = false>(options: Options<GetV1EmailCampaignStatsByIdData, ThrowOnError>) => (options.client ?? client).get<GetV1EmailCampaignStatsByIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/email_campaign_stats/{id}',\n ...options\n});\n\n/**\n * Cancel Event\n *\n * Cancels an existing Event/Appointment\n */\nexport const deleteV1EventsByEventId = <ThrowOnError extends boolean = false>(options: Options<DeleteV1EventsByEventIdData, ThrowOnError>) => (options.client ?? client).delete<DeleteV1EventsByEventIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/events/{event_id}',\n ...options\n});\n\n/**\n * Event\n *\n * A __paginated__ list of all Events in Lawmatics\n */\nexport const getV1EventsByEventId = <ThrowOnError extends boolean = false>(options: Options<GetV1EventsByEventIdData, ThrowOnError>) => (options.client ?? client).get<GetV1EventsByEventIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/events/{event_id}',\n ...options\n});\n\n/**\n * Update Event\n *\n * Update an existing Matter by ID.\n *\n * PATCH works for this endpoint as well as PUT.\n */\nexport const putV1EventsByEventId = <ThrowOnError extends boolean = false>(options: Options<PutV1EventsByEventIdData, ThrowOnError>) => (options.client ?? client).put<PutV1EventsByEventIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/events/{event_id}',\n ...options\n});\n\n/**\n * Events\n *\n * A __paginated__ list of all Events in Lawmatics\n */\nexport const getV1Events = <ThrowOnError extends boolean = false>(options?: Options<GetV1EventsData, ThrowOnError>) => (options?.client ?? client).get<GetV1EventsResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/events',\n ...options\n});\n\n/**\n * Create Event\n *\n * Create a new **Event**Appointment\n *\n * **Optional Fields**: Reminder fields, **Location** fields, time_zone\n *\n * **eventable_type, eventable_id**: The **Prospect**, **Contact**, or **Client** that the appointment is with.\n *\n * **user_ids**: The Firm **Users** hosting the appointment.\n *\n * **reminder_type**: 'minutes', 'hours', 'days', 'weeks', months'\n *\n * **reminder_delay_length:** Integer value (combined with reminder_type) for how long to wait to send a reminder\n *\n * **send_invites:** (default true)\n *\n * **all_day:** (default false)\n *\n * **time_zone**: a valid [tz identifier string](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones)), (defaults to null)\n */\nexport const postV1Events = <ThrowOnError extends boolean = false>(options?: Options<PostV1EventsData, ThrowOnError>) => (options?.client ?? client).post<PostV1EventsResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/events',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n});\n\n/**\n * Locations\n *\n * A __paginated__ list of all Firm Locations in Lawmatics\n */\nexport const getV1Locations = <ThrowOnError extends boolean = false>(options?: Options<GetV1LocationsData, ThrowOnError>) => (options?.client ?? client).get<GetV1LocationsResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/locations',\n ...options\n});\n\n/**\n * Delete Event Type\n *\n * Delete an **Event Type**\n */\nexport const deleteV1EventTypesByEventTypeId = <ThrowOnError extends boolean = false>(options: Options<DeleteV1EventTypesByEventTypeIdData, ThrowOnError>) => (options.client ?? client).delete<DeleteV1EventTypesByEventTypeIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/event_types/{event_type_id}',\n ...options\n});\n\n/**\n * Event Type\n *\n * A specific **Event Type** by id\n */\nexport const getV1EventTypesByEventTypeId = <ThrowOnError extends boolean = false>(options: Options<GetV1EventTypesByEventTypeIdData, ThrowOnError>) => (options.client ?? client).get<GetV1EventTypesByEventTypeIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/event_types/{event_type_id}',\n ...options\n});\n\n/**\n * Update Event Type\n *\n * Updates an **Event Type**\n */\nexport const putV1EventTypesByEventTypeId = <ThrowOnError extends boolean = false>(options: Options<PutV1EventTypesByEventTypeIdData, ThrowOnError>) => (options.client ?? client).put<PutV1EventTypesByEventTypeIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/event_types/{event_type_id}',\n ...options\n});\n\n/**\n * Event Types\n *\n * A **paginated** list of all **Event Types** in Lawmatics\n */\nexport const getV1EventTypes = <ThrowOnError extends boolean = false>(options?: Options<GetV1EventTypesData, ThrowOnError>) => (options?.client ?? client).get<GetV1EventTypesResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/event_types',\n ...options\n});\n\n/**\n * Create Event Type\n *\n * Create a new **Event Type**\n *\n * **duration**: Default event duration (in minutes)\n *\n * **name**: Name of the **Event Type**\n */\nexport const postV1EventTypes = <ThrowOnError extends boolean = false>(options?: Options<PostV1EventTypesData, ThrowOnError>) => (options?.client ?? client).post<PostV1EventTypesResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/event_types',\n ...options\n});\n\n/**\n * Delete File\n *\n * Deletes a **File** by ID\n */\nexport const deleteV1FilesByFileId = <ThrowOnError extends boolean = false>(options: Options<DeleteV1FilesByFileIdData, ThrowOnError>) => (options.client ?? client).delete<DeleteV1FilesByFileIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/files/{file_id}',\n ...options\n});\n\n/**\n * File\n *\n * A specific File's metadata in Lawmatics\n */\nexport const getV1FilesByFileId = <ThrowOnError extends boolean = false>(options: Options<GetV1FilesByFileIdData, ThrowOnError>) => (options.client ?? client).get<GetV1FilesByFileIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/files/{file_id}',\n ...options\n});\n\n/**\n * Update File Metadata\n *\n * Updates an **File** by ID\n *\n * **documentable_type**: One of \\[\"firm\", \"client\", \"matter\", \"contact\"\\]\n *\n * **documentable_id:** The record ID, not needed for Firm documentable_type.\n *\n * **file**: File to upload\n *\n * **folder_id:** the Folder ID the file should be located in\n *\n * **name:** name for the File. Defaults to uploaded file name\n *\n * **path:** String Array. e.g. \\[\"Root\", \"Folder 1\", \"Folder 2\"\\]. Finds folder with name or creates it if it doesn't exist. Path overrides folder_id if both given.\n */\nexport const putV1FilesByFileId = <ThrowOnError extends boolean = false>(options: Options<PutV1FilesByFileIdData, ThrowOnError>) => (options.client ?? client).put<PutV1FilesByFileIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/files/{file_id}',\n ...options\n});\n\n/**\n * Files\n *\n * A **paginated** list of all File metadata in Lawmatics\n *\n * Can be filtered by `matter_id` , `prospect_id` , `contact_id` , `client_id` and `firm`\n *\n * as well as all the regular fields as referenced by our Param Guide (most fields returned by`?fields=all`).\n */\nexport const getV1Files = <ThrowOnError extends boolean = false>(options?: Options<GetV1FilesData, ThrowOnError>) => (options?.client ?? client).get<GetV1FilesResponses, GetV1FilesErrors, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/files',\n ...options\n});\n\n/**\n * Upload File\n *\n * Uploads a file to a Firm, Matter, Contact or Client\n *\n * Max allowed file size is 1GB. However, we recommend to avoid files greater than 100MB.\n *\n * **documentable_type**: One of \\[\"firm\", \"client\", \"matter\", \"contact\"\\]\n *\n * **documentable_id:** The record ID, not needed for Firm documentable_type.\n *\n * **file**: File to upload\n *\n * **folder_id:** the Folder ID the file should be located in\n *\n * **name:** name for the File. Defaults to uploaded file name\n *\n * **path:** String Array. e.g. \\[\"Root\", \"Folder 1\", \"Folder 2\"\\]. Finds folder with name or creates it if it doesn't exist. Path overrides folder_id if both given.\n */\nexport const postV1Files = <ThrowOnError extends boolean = false>(options?: Options<PostV1FilesData, ThrowOnError>) => (options?.client ?? client).post<PostV1FilesResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/files',\n ...options\n});\n\n/**\n * Download File\n *\n * * When testing from **Postman** please click on '**Send and download**' option instead of '**Send**'.\n *\n *\n * * a 404 can be sent case the file isn't found.\n */\nexport const getV1FilesDownloadById = <ThrowOnError extends boolean = false>(options: Options<GetV1FilesDownloadByIdData, ThrowOnError>) => (options.client ?? client).get<GetV1FilesDownloadByIdResponses, GetV1FilesDownloadByIdErrors, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/files/download/{id}',\n ...options\n});\n\n/**\n * Delete Folder\n *\n * Deletes a **Folder** by ID\n */\nexport const deleteV1FoldersByFolderId = <ThrowOnError extends boolean = false>(options: Options<DeleteV1FoldersByFolderIdData, ThrowOnError>) => (options.client ?? client).delete<DeleteV1FoldersByFolderIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/folders/{folder_id}',\n ...options\n});\n\n/**\n * Folder\n *\n * A specific Folder's metadata in Lawmatics\n */\nexport const getV1FoldersByFolderId = <ThrowOnError extends boolean = false>(options: Options<GetV1FoldersByFolderIdData, ThrowOnError>) => (options.client ?? client).get<GetV1FoldersByFolderIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/folders/{folder_id}',\n ...options\n});\n\n/**\n * Update Folder\n *\n * Updates a **Folder** by ID\n *\n * **documentable_type**: One of \\[\"matter\", \"contact\"\\]\n *\n * **documentable_id:** The record ID\n *\n * **name**: Folder name. Must be unique within parent folder. Returns 429 if name is already taken. Any slashes \"/\" in folder name will be replaces with colons \":\"\n *\n * **folder_id**: Folder ID if adding a subfolder\n *\n * **path:** String Array. e.g. \\[\"Root\", \"Folder 1\", \"Folder 2\"\\]. Finds folders with the name or creates it if it doesn't exist. Moves folder into the Folder with the last name in the path. `path` overrides **`folder_id`** if both given.\n */\nexport const putV1FoldersByFolderId = <ThrowOnError extends boolean = false>(options: Options<PutV1FoldersByFolderIdData, ThrowOnError>) => (options.client ?? client).put<PutV1FoldersByFolderIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/folders/{folder_id}',\n ...options\n});\n\n/**\n * Folders\n *\n * A **paginated** list of all Folder metadata in Lawmatics\n *\n * Can be filtered by `matter_id` , `prospect_id` , `contact_id`\n *\n * as well as all the regular fields as referenced by our Param Guide (most fields returned by`?fields=all`).\n */\nexport const getV1Folders = <ThrowOnError extends boolean = false>(options?: Options<GetV1FoldersData, ThrowOnError>) => (options?.client ?? client).get<GetV1FoldersResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/folders',\n ...options\n});\n\n/**\n * Create Folder\n *\n * Creates a folder for a Matter or Contact\n *\n * **documentable_type**: One of \\[\"matter\", \"contact\"\\]\n *\n * **documentable_id:** The record ID\n *\n * **name**: Folder name. Must be unique within parent folder. Returns 429 if name is already taken. Any slashes \"/\" in folder name will be replaces with colons \":\"\n *\n * **folder_id**: Folder ID if adding a subfolder\n *\n * **path:** String Array. e.g. \\[\"Root\", \"Folder 1\", \"Folder 2\"\\]. Finds the folder with the name or creates it if it doesn't exist. Path overrides folder_id if both given.\n */\nexport const postV1Folders = <ThrowOnError extends boolean = false>(options?: Options<PostV1FoldersData, ThrowOnError>) => (options?.client ?? client).post<PostV1FoldersResponses, PostV1FoldersErrors, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/folders',\n ...options\n});\n\n/**\n * Find Matter By Phone Number\n *\n * Fuzzy find a specific Matter by Phone Number.\n */\nexport const getV1ProspectsFindByPhoneByPhoneNumber = <ThrowOnError extends boolean = false>(options: Options<GetV1ProspectsFindByPhoneByPhoneNumberData, ThrowOnError>) => (options.client ?? client).get<GetV1ProspectsFindByPhoneByPhoneNumberResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/prospects/find_by_phone/{phone_number}',\n ...options\n});\n\n/**\n * Find Matter By Email Address\n *\n * Fuzzy find a specific Matter by Email Address.\n */\nexport const getV1ProspectsFindByEmailByEmailAddress = <ThrowOnError extends boolean = false>(options: Options<GetV1ProspectsFindByEmailByEmailAddressData, ThrowOnError>) => (options.client ?? client).get<GetV1ProspectsFindByEmailByEmailAddressResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/prospects/find_by_email/{email_address}',\n ...options\n});\n\n/**\n * Find Matter By Name\n *\n * Fuzzy find (case-insensitive) a specific Matter by their Name. You can pass either '{first_name} {last_name}' or simply '{first_name}'\n */\nexport const getV1ProspectsFindByNameByName = <ThrowOnError extends boolean = false>(options: Options<GetV1ProspectsFindByNameByNameData, ThrowOnError>) => (options.client ?? client).get<GetV1ProspectsFindByNameByNameResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/prospects/find_by_name/{name}',\n ...options\n});\n\n/**\n * Delete Interaction\n *\n * Deletes an existing interaction\n */\nexport const deleteV1InteractionsByInteractionId = <ThrowOnError extends boolean = false>(options: Options<DeleteV1InteractionsByInteractionIdData, ThrowOnError>) => (options.client ?? client).delete<DeleteV1InteractionsByInteractionIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/interactions/{interaction_id}',\n ...options\n});\n\n/**\n * Interaction\n *\n * Retrieves an interaction by its ID\n */\nexport const getV1InteractionsByInteractionId = <ThrowOnError extends boolean = false>(options: Options<GetV1InteractionsByInteractionIdData, ThrowOnError>) => (options.client ?? client).get<GetV1InteractionsByInteractionIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/interactions/{interaction_id}',\n ...options\n});\n\n/**\n * Update Interaction\n *\n * Update an existing Interaction by ID.\n *\n * PATCH works for this endpoint as well as PUT.\n */\nexport const putV1InteractionsByInteractionId = <ThrowOnError extends boolean = false>(options: Options<PutV1InteractionsByInteractionIdData, ThrowOnError>) => (options.client ?? client).put<PutV1InteractionsByInteractionIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/interactions/{interaction_id}',\n ...options\n});\n\n/**\n * Interactions\n *\n * A **paginated** list of all Interactions in Lawmatics\n */\nexport const getV1Interactions = <ThrowOnError extends boolean = false>(options?: Options<GetV1InteractionsData, ThrowOnError>) => (options?.client ?? client).get<GetV1InteractionsResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/interactions/',\n ...options\n});\n\n/**\n * Create Interaction\n *\n * Create a new **Interaction**\n *\n * Required fields:\n *\n * **happened_at**: timestamp meaning when the interaction happened\n *\n * **prospect_id:** Integer value, id of the prospect this interaction is related to\n *\n * **body:** text describing the interaction\n *\n * **interaction_type:** a string describing the kind of interaction that happened\n */\nexport const postV1Interactions = <ThrowOnError extends boolean = false>(options?: Options<PostV1InteractionsData, ThrowOnError>) => (options?.client ?? client).post<PostV1InteractionsResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/interactions',\n ...options\n});\n\n/**\n * Campaign\n *\n * A specific Marketing Campaign by ID\n */\nexport const getV1CampaignsByCampaignId = <ThrowOnError extends boolean = false>(options: Options<GetV1CampaignsByCampaignIdData, ThrowOnError>) => (options.client ?? client).get<GetV1CampaignsByCampaignIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/campaigns/{campaign_id}',\n ...options\n});\n\n/**\n * Campaigns\n *\n * A __paginated__ list of all Marketing Campaigns in Lawmatics\n */\nexport const getV1Campaigns = <ThrowOnError extends boolean = false>(options?: Options<GetV1CampaignsData, ThrowOnError>) => (options?.client ?? client).get<GetV1CampaignsResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/campaigns',\n ...options\n});\n\n/**\n * Source\n *\n * A specific Marketing Source by ID\n */\nexport const getV1SourcesBySourceId = <ThrowOnError extends boolean = false>(options: Options<GetV1SourcesBySourceIdData, ThrowOnError>) => (options.client ?? client).get<GetV1SourcesBySourceIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/sources/{source_id}',\n ...options\n});\n\n/**\n * Sources\n *\n * A __paginated__ list of all Marketing Sources in Lawmatics\n */\nexport const getV1Sources = <ThrowOnError extends boolean = false>(options?: Options<GetV1SourcesData, ThrowOnError>) => (options?.client ?? client).get<GetV1SourcesResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/sources',\n ...options\n});\n\n/**\n * Pipeline\n *\n * A specific Pipeline by id\n */\nexport const getV1PipelinesByPipelineId = <ThrowOnError extends boolean = false>(options: Options<GetV1PipelinesByPipelineIdData, ThrowOnError>) => (options.client ?? client).get<GetV1PipelinesByPipelineIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/pipelines/{pipeline_id}',\n ...options\n});\n\n/**\n * Pipelines\n *\n * A __paginated__ list of all Pipelines in Lawmatics\n */\nexport const getV1Pipelines = <ThrowOnError extends boolean = false>(options?: Options<GetV1PipelinesData, ThrowOnError>) => (options?.client ?? client).get<GetV1PipelinesResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/pipelines',\n ...options\n});\n\n/**\n * Stage\n *\n * A specific Stage by id\n */\nexport const getV1StagesByStageId = <ThrowOnError extends boolean = false>(options: Options<GetV1StagesByStageIdData, ThrowOnError>) => (options.client ?? client).get<GetV1StagesByStageIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/stages/{stage_id}',\n ...options\n});\n\n/**\n * Stages\n *\n * A __paginated__ list of all Stages in Lawmatics\n */\nexport const getV1Stages = <ThrowOnError extends boolean = false>(options?: Options<GetV1StagesData, ThrowOnError>) => (options?.client ?? client).get<GetV1StagesResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/stages',\n ...options\n});\n\n/**\n * Delete Practice Area\n *\n * Deletes an existing Practice Area\n */\nexport const deleteV1PracticeAreasByPracticeAreaId = <ThrowOnError extends boolean = false>(options: Options<DeleteV1PracticeAreasByPracticeAreaIdData, ThrowOnError>) => (options.client ?? client).delete<DeleteV1PracticeAreasByPracticeAreaIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/practice_areas/{practice_area_id}',\n ...options\n});\n\n/**\n * Practice Area\n *\n * A specific Practice Area by id\n */\nexport const getV1PracticeAreasByPracticeAreaId = <ThrowOnError extends boolean = false>(options: Options<GetV1PracticeAreasByPracticeAreaIdData, ThrowOnError>) => (options.client ?? client).get<GetV1PracticeAreasByPracticeAreaIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/practice_areas/{practice_area_id}',\n ...options\n});\n\n/**\n * Update Practice Area\n *\n * Updates an existing Practice Area\n *\n * **Optional Fields**: statute_of_limitations_enabled\n *\n * **name**: The Area name\n *\n * **color**: The Area color. Can be any CSS valid color (hex, rgb, hsl, colorname string, etc)\n *\n * **statute_of_limitations_enabled**: If Statute of Limitations is enabled\n */\nexport const putV1PracticeAreasByPracticeAreaId = <ThrowOnError extends boolean = false>(options: Options<PutV1PracticeAreasByPracticeAreaIdData, ThrowOnError>) => (options.client ?? client).put<PutV1PracticeAreasByPracticeAreaIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/practice_areas/{practice_area_id}',\n ...options\n});\n\n/**\n * Practice Areas\n *\n * A __paginated__ list of all Practice Areas in Lawmatics\n */\nexport const getV1PracticeAreas = <ThrowOnError extends boolean = false>(options?: Options<GetV1PracticeAreasData, ThrowOnError>) => (options?.client ?? client).get<GetV1PracticeAreasResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/practice_areas',\n ...options\n});\n\n/**\n * Create Practice Area\n *\n * Create a new Practice Area\n *\n * **Optional Fields**: statute_of_limitations_enabled\n *\n * **name**: The Area name\n *\n * **color**: The Area color. Can be any CSS valid color (hex, rgb, hsl, colorname string, etc)\n *\n * **statute_of_limitations_enabled**: If Statute of Limitations is enabled\n */\nexport const postV1PracticeAreas = <ThrowOnError extends boolean = false>(options?: Options<PostV1PracticeAreasData, ThrowOnError>) => (options?.client ?? client).post<PostV1PracticeAreasResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/practice_areas',\n ...options\n});\n\n/**\n * Delete Relationship\n *\n * Delete a Relationship by ID\n */\nexport const deleteV1RelationshipsByRelationshipId = <ThrowOnError extends boolean = false>(options: Options<DeleteV1RelationshipsByRelationshipIdData, ThrowOnError>) => (options.client ?? client).delete<DeleteV1RelationshipsByRelationshipIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/relationships/{relationship_id}',\n ...options\n});\n\n/**\n * Relationship\n *\n * A specific **Relationship** by ID\n */\nexport const getV1RelationshipsByRelationshipId = <ThrowOnError extends boolean = false>(options: Options<GetV1RelationshipsByRelationshipIdData, ThrowOnError>) => (options.client ?? client).get<GetV1RelationshipsByRelationshipIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/relationships/{relationship_id}',\n ...options\n});\n\n/**\n * Update Relationship\n *\n * Update Relationship\n */\nexport const putV1RelationshipsByRelationshipId = <ThrowOnError extends boolean = false>(options: Options<PutV1RelationshipsByRelationshipIdData, ThrowOnError>) => (options.client ?? client).put<PutV1RelationshipsByRelationshipIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/relationships/{relationship_id}',\n ...options\n});\n\n/**\n * Relationships\n *\n * A __paginated__ list of all Relationships in Lawmatics\n */\nexport const getV1Relationships = <ThrowOnError extends boolean = false>(options?: Options<GetV1RelationshipsData, ThrowOnError>) => (options?.client ?? client).get<GetV1RelationshipsResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/relationships',\n ...options\n});\n\n/**\n * Create Relationship\n *\n * Create a new Relationship\n *\n * If the **Relationship Type** allows multiple, you can create more than one **Relationship** per **Matter**.\n */\nexport const postV1Relationships = <ThrowOnError extends boolean = false>(options?: Options<PostV1RelationshipsData, ThrowOnError>) => (options?.client ?? client).post<PostV1RelationshipsResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/relationships',\n ...options\n});\n\n/**\n * Relationship Type\n *\n * A specific **Relationship Type** by ID\n */\nexport const getV1RelationshipTypesByRelationshipTypeId = <ThrowOnError extends boolean = false>(options: Options<GetV1RelationshipTypesByRelationshipTypeIdData, ThrowOnError>) => (options.client ?? client).get<GetV1RelationshipTypesByRelationshipTypeIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/relationship_types/{relationship_type_id}',\n ...options\n});\n\n/**\n * Update Relationship Type\n *\n * Update Relationship\n */\nexport const putV1RelationshipTypesByRelationshipTypeId = <ThrowOnError extends boolean = false>(options: Options<PutV1RelationshipTypesByRelationshipTypeIdData, ThrowOnError>) => (options.client ?? client).put<PutV1RelationshipTypesByRelationshipTypeIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/relationship_types/{relationship_type_id}',\n ...options\n});\n\n/**\n * Relationship Types\n *\n * A __paginated__ list of all Relationship Types in Lawmatics\n */\nexport const getV1RelationshipTypes = <ThrowOnError extends boolean = false>(options?: Options<GetV1RelationshipTypesData, ThrowOnError>) => (options?.client ?? client).get<GetV1RelationshipTypesResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/relationship_types',\n ...options\n});\n\n/**\n * Create Relationship Type\n *\n * Create a new Relationship Type\n */\nexport const postV1RelationshipTypes = <ThrowOnError extends boolean = false>(options?: Options<PostV1RelationshipTypesData, ThrowOnError>) => (options?.client ?? client).post<PostV1RelationshipTypesResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/relationship_types',\n ...options\n});\n\n/**\n * Delete Sub Status\n *\n * Delete an existing **Matter Sub Status** by ID.\n *\n * Warning: This is irreversible!\n */\nexport const deleteV1SubStatusesByStatusId = <ThrowOnError extends boolean = false>(options: Options<DeleteV1SubStatusesByStatusIdData, ThrowOnError>) => (options.client ?? client).delete<DeleteV1SubStatusesByStatusIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/sub_statuses/{status_id}',\n ...options\n});\n\n/**\n * Sub Status\n *\n * A specific Stage by id\n */\nexport const getV1SubStatusesByStatusId = <ThrowOnError extends boolean = false>(options: Options<GetV1SubStatusesByStatusIdData, ThrowOnError>) => (options.client ?? client).get<GetV1SubStatusesByStatusIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/sub_statuses/{status_id}',\n ...options\n});\n\n/**\n * Update Sub Status\n *\n * Update an existing **Matter Sub Status** by ID\n *\n * Valid `status`values: 'hired', 'pnc', 'lost' (default 'pnc')\n *\n * Accepts `created_by_id`\n */\nexport const putV1SubStatusesByStatusId = <ThrowOnError extends boolean = false>(options: Options<PutV1SubStatusesByStatusIdData, ThrowOnError>) => (options.client ?? client).put<PutV1SubStatusesByStatusIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/sub_statuses/{status_id}',\n ...options\n});\n\n/**\n * Sub Statuses\n *\n * A __paginated__ list of all Stages in Lawmatics\n */\nexport const getV1SubStatuses = <ThrowOnError extends boolean = false>(options?: Options<GetV1SubStatusesData, ThrowOnError>) => (options?.client ?? client).get<GetV1SubStatusesResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/sub_statuses',\n ...options\n});\n\n/**\n * Create Sub Status\n *\n * Create a new **Matter Sub Status**\n *\n * Valid `status`values: 'hired', 'pnc', 'lost' (default 'pnc')\n *\n * Accepts `created_by_id`\n */\nexport const postV1SubStatuses = <ThrowOnError extends boolean = false>(options?: Options<PostV1SubStatusesData, ThrowOnError>) => (options?.client ?? client).post<PostV1SubStatusesResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/sub_statuses',\n ...options\n});\n\n/**\n * Delete Matter\n *\n * Delete an existing Matter by ID.\n *\n * Warning: This is irreversible!\n */\nexport const deleteV1ProspectsByProspectId = <ThrowOnError extends boolean = false>(options: Options<DeleteV1ProspectsByProspectIdData, ThrowOnError>) => (options.client ?? client).delete<DeleteV1ProspectsByProspectIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/prospects/{prospect_id}',\n ...options\n});\n\n/**\n * Matter\n *\n * Return one Matter by id\n */\nexport const getV1ProspectsByProspectId = <ThrowOnError extends boolean = false>(options: Options<GetV1ProspectsByProspectIdData, ThrowOnError>) => (options.client ?? client).get<GetV1ProspectsByProspectIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/prospects/{prospect_id}',\n ...options\n});\n\n/**\n * Update Matter\n *\n * Update an existing Matter by ID.\n *\n * Passing Custom Field id and value, will set the custom field value on the Matter, and overwrite any existing value. Passing null as the value will clear it out.\n */\nexport const putV1ProspectsByProspectId = <ThrowOnError extends boolean = false>(options: Options<PutV1ProspectsByProspectIdData, ThrowOnError>) => (options.client ?? client).put<PutV1ProspectsByProspectIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/prospects/{prospect_id}',\n ...options\n});\n\n/**\n * Delete Note\n */\nexport const deleteV1NotesByNoteId = <ThrowOnError extends boolean = false>(options: Options<DeleteV1NotesByNoteIdData, ThrowOnError>) => (options.client ?? client).delete<DeleteV1NotesByNoteIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/notes/{note_id}',\n ...options\n});\n\n/**\n * Note\n *\n * A specific **Note** by ID\n */\nexport const getV1NotesByNoteId = <ThrowOnError extends boolean = false>(options: Options<GetV1NotesByNoteIdData, ThrowOnError>) => (options.client ?? client).get<GetV1NotesByNoteIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/notes/{note_id}',\n ...options\n});\n\n/**\n * Update Note\n */\nexport const putV1NotesByNoteId = <ThrowOnError extends boolean = false>(options: Options<PutV1NotesByNoteIdData, ThrowOnError>) => (options.client ?? client).put<PutV1NotesByNoteIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/notes/{note_id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Notes\n *\n * A __paginated__ list of all Notes in Lawmatics\n */\nexport const getV1Notes = <ThrowOnError extends boolean = false>(options?: Options<GetV1NotesData, ThrowOnError>) => (options?.client ?? client).get<GetV1NotesResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/notes',\n ...options\n});\n\n/**\n * Create Note\n */\nexport const postV1Notes = <ThrowOnError extends boolean = false>(options?: Options<PostV1NotesData, ThrowOnError>) => (options?.client ?? client).post<PostV1NotesResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/notes',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n});\n\n/**\n * Invoice\n *\n * A specific Invoice in Lawmatics\n */\nexport const getV1InvoicesByInvoiceId = <ThrowOnError extends boolean = false>(options: Options<GetV1InvoicesByInvoiceIdData, ThrowOnError>) => (options.client ?? client).get<GetV1InvoicesByInvoiceIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/invoices/{invoice_id}',\n ...options\n});\n\n/**\n * Invoices\n *\n * A **paginated** list of all Invoices in Lawmatics\n */\nexport const getV1Invoices = <ThrowOnError extends boolean = false>(options?: Options<GetV1InvoicesData, ThrowOnError>) => (options?.client ?? client).get<GetV1InvoicesResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/invoices',\n ...options\n});\n\n/**\n * Expenses\n *\n * A **paginated** list of all **Time Entries** in Lawmatics\n */\nexport const getV1Expenses = <ThrowOnError extends boolean = false>(options?: Options<GetV1ExpensesData, ThrowOnError>) => (options?.client ?? client).get<GetV1ExpensesResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/expenses',\n ...options\n});\n\n/**\n * Expense\n *\n * A specific **Time Entry** in Lawmatics\n */\nexport const deleteV1ExpensesByExpenseId = <ThrowOnError extends boolean = false>(options: Options<DeleteV1ExpensesByExpenseIdData, ThrowOnError>) => (options.client ?? client).delete<DeleteV1ExpensesByExpenseIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/expenses/{expense_id}',\n ...options\n});\n\n/**\n * Expense\n *\n * A specific **Time Entry** in Lawmatics\n */\nexport const getV1ExpensesByExpenseId = <ThrowOnError extends boolean = false>(options: Options<GetV1ExpensesByExpenseIdData, ThrowOnError>) => (options.client ?? client).get<GetV1ExpensesByExpenseIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/expenses/{expense_id}',\n ...options\n});\n\n/**\n * Update Expense\n *\n * A specific **Time Entry** in Lawmatics\n */\nexport const putV1ExpensesByExpenseId = <ThrowOnError extends boolean = false>(options: Options<PutV1ExpensesByExpenseIdData, ThrowOnError>) => (options.client ?? client).put<PutV1ExpensesByExpenseIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/expenses/{expense_id}',\n ...options\n});\n\n/**\n * Create Expense\n *\n * A specific **Time Entry** in Lawmatics\n */\nexport const postV1Expenses = <ThrowOnError extends boolean = false>(options?: Options<PostV1ExpensesData, ThrowOnError>) => (options?.client ?? client).post<PostV1ExpensesResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/expenses/',\n ...options\n});\n\n/**\n * Time Entries\n *\n * A **paginated** list of all **Time Entries** in Lawmatics\n */\nexport const getV1TimeEntries = <ThrowOnError extends boolean = false>(options?: Options<GetV1TimeEntriesData, ThrowOnError>) => (options?.client ?? client).get<GetV1TimeEntriesResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/time_entries',\n ...options\n});\n\n/**\n * Time Entry\n *\n * A specific **Time Entry** in Lawmatics\n */\nexport const deleteV1TimeEntriesByTimeEntryId = <ThrowOnError extends boolean = false>(options: Options<DeleteV1TimeEntriesByTimeEntryIdData, ThrowOnError>) => (options.client ?? client).delete<DeleteV1TimeEntriesByTimeEntryIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/time_entries/{time_entry_id}',\n ...options\n});\n\n/**\n * Time Entry\n *\n * A specific **Time Entry** in Lawmatics\n */\nexport const getV1TimeEntriesByTimeEntryId = <ThrowOnError extends boolean = false>(options: Options<GetV1TimeEntriesByTimeEntryIdData, ThrowOnError>) => (options.client ?? client).get<GetV1TimeEntriesByTimeEntryIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/time_entries/{time_entry_id}',\n ...options\n});\n\n/**\n * Update Time Entry\n *\n * A specific **Time Entry** in Lawmatics\n */\nexport const putV1TimeEntriesByTimeEntryId = <ThrowOnError extends boolean = false>(options: Options<PutV1TimeEntriesByTimeEntryIdData, ThrowOnError>) => (options.client ?? client).put<PutV1TimeEntriesByTimeEntryIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/time_entries/{time_entry_id}',\n ...options\n});\n\n/**\n * Create Time Entry\n *\n * A specific **Time Entry** in Lawmatics\n */\nexport const postV1TimeEntries = <ThrowOnError extends boolean = false>(options?: Options<PostV1TimeEntriesData, ThrowOnError>) => (options?.client ?? client).post<PostV1TimeEntriesResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/time_entries/',\n ...options\n});\n\n/**\n * Transaction\n *\n * A specific **Transaction** in Lawmatics\n */\nexport const getV1TransactionsByTransactionId = <ThrowOnError extends boolean = false>(options: Options<GetV1TransactionsByTransactionIdData, ThrowOnError>) => (options.client ?? client).get<GetV1TransactionsByTransactionIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/transactions/{transaction_id}',\n ...options\n});\n\n/**\n * Transactions\n *\n * A **paginated** list of all **Transactions** in Lawmatics\n */\nexport const getV1Transactions = <ThrowOnError extends boolean = false>(options?: Options<GetV1TransactionsData, ThrowOnError>) => (options?.client ?? client).get<GetV1TransactionsResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/transactions',\n ...options\n});\n\n/**\n * Create Transaction\n *\n * Create a new Transaction\n *\n * **Optional Fields**: invoice_number, invoice_id, note\n *\n * **invoice_number or invoice_id:** only one should be specified\n *\n * **transactable**: Prospect, Contact, Company with which to associate the transaction\n *\n * **transaction_type**: debit or credit\n *\n * **bank_account_type**: operating or trust\n *\n * **payment_method**: credit_card, check, cash, paypal, venmo, trust_payment, debit_card, ach, or other\n */\nexport const postV1Transactions = <ThrowOnError extends boolean = false>(options?: Options<PostV1TransactionsData, ThrowOnError>) => (options?.client ?? client).post<PostV1TransactionsResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/transactions',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n});\n\n/**\n * Delete Phone Number\n *\n * Delete a **Phone Number**\n *\n * **phone_number_id**: ID of the **Phone Number** to delete\n */\nexport const deleteV1PhoneNumbersByPhoneNumberId = <ThrowOnError extends boolean = false>(options: Options<DeleteV1PhoneNumbersByPhoneNumberIdData, ThrowOnError>) => (options.client ?? client).delete<DeleteV1PhoneNumbersByPhoneNumberIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/phone_numbers/{phone_number_id}',\n ...options\n});\n\n/**\n * Phone Number\n *\n * A specific **Phone Number** by id\n */\nexport const getV1PhoneNumbersByPhoneNumberId = <ThrowOnError extends boolean = false>(options: Options<GetV1PhoneNumbersByPhoneNumberIdData, ThrowOnError>) => (options.client ?? client).get<GetV1PhoneNumbersByPhoneNumberIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/phone_numbers/{phone_number_id}',\n ...options\n});\n\n/**\n * Update Phone Number\n *\n * Updates a **Phone Number** by id\n */\nexport const putV1PhoneNumbersByPhoneNumberId = <ThrowOnError extends boolean = false>(options: Options<PutV1PhoneNumbersByPhoneNumberIdData, ThrowOnError>) => (options.client ?? client).put<PutV1PhoneNumbersByPhoneNumberIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/phone_numbers/{phone_number_id}',\n ...options\n});\n\n/**\n * Phone Numbers\n *\n * A **paginated** list of all **Phone Numbers** in Lawmatics\n */\nexport const getV1PhoneNumbers = <ThrowOnError extends boolean = false>(options?: Options<GetV1PhoneNumbersData, ThrowOnError>) => (options?.client ?? client).get<GetV1PhoneNumbersResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/phone_numbers',\n ...options\n});\n\n/**\n * Create Phone Number\n *\n * Create a new **Phone Number**\n *\n * **Required Fields**: informationable, label, info\n *\n *\n * **info:** The Phone Number string.\n *\n * **label**: The **Phone Number**'s label e.g. Primary.\n *\n * **informationable_type**: **Prospect**, **Contact**, **Company**, or **Firm** that the **Phone Number** belongs to.\n *\n * **informationable_id:** Id of Record. **Firm** type doesn't need an ID passed and it will be ignored.\n *\n * Note - Setting the **Phone Number** through a **Prospect** (Matter) will set the address on the **Prospects**' **Contact****Company**.\n */\nexport const postV1PhoneNumbers = <ThrowOnError extends boolean = false>(options?: Options<PostV1PhoneNumbersData, ThrowOnError>) => (options?.client ?? client).post<PostV1PhoneNumbersResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/phone_numbers',\n ...options\n});\n\n/**\n * Delete Tag\n *\n * Delete a Tag\n *\n * **tag_id**: ID of the tag to delete\n */\nexport const deleteV1TagsByTagId = <ThrowOnError extends boolean = false>(options: Options<DeleteV1TagsByTagIdData, ThrowOnError>) => (options.client ?? client).delete<DeleteV1TagsByTagIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/tags/{tag_id}',\n ...options\n});\n\n/**\n * Tag\n *\n * A specific Tag in Lawmatics\n */\nexport const getV1TagsByTagId = <ThrowOnError extends boolean = false>(options: Options<GetV1TagsByTagIdData, ThrowOnError>) => (options.client ?? client).get<GetV1TagsByTagIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/tags/{tag_id}',\n ...options\n});\n\n/**\n * Update Tag\n *\n * Updates a Tag\n *\n * **Optional Fields**: Description, Color\n *\n * **title**: The Tag title\n *\n * **description**: The Tag description\n *\n * **color**: The Tag color. Can be any CSS valid color (hex, rgb, hsl, colorname string, etc)\n */\nexport const putV1TagsByTagId = <ThrowOnError extends boolean = false>(options: Options<PutV1TagsByTagIdData, ThrowOnError>) => (options.client ?? client).put<PutV1TagsByTagIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/tags/{tag_id}',\n ...options\n});\n\n/**\n * Tags\n *\n * A **paginated** list of all Tags in Lawmatics\n *\n * Can be filtered by `matter_id` , `prospect_id` , `contact_id` , `company_id`, `task_id` and `user_id`\n *\n * as well as all the regular fields as referenced by our Param Guide (most fields returned by`?fields=all`).\n */\nexport const getV1Tags = <ThrowOnError extends boolean = false>(options?: Options<GetV1TagsData, ThrowOnError>) => (options?.client ?? client).get<GetV1TagsResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/tags',\n ...options\n});\n\n/**\n * Create Tag\n *\n * Create a new Tag\n *\n * **Optional Fields**: Description, Color\n *\n * **title**: The Tag title\n *\n * **description**: The Tag description\n *\n * **color**: The Tag color. Can be any CSS valid color (hex, rgb, hsl, colorname string, etc)\n */\nexport const postV1Tags = <ThrowOnError extends boolean = false>(options?: Options<PostV1TagsData, ThrowOnError>) => (options?.client ?? client).post<PostV1TagsResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/tags',\n ...options\n});\n\n/**\n * Attach Tag\n *\n * Attaches tags to a **Matter**, **Contact**, **Company**, or **Task**\n *\n * **(type)_id:** The ID of the entity to attach tags to. One of `matter_id`, `contact_id`, `company_id,` or `task_id`.\n *\n * **tags:** List of tags to attach. If a tag does not exist, it will be created.\n */\nexport const postV1TagsAttach = <ThrowOnError extends boolean = false>(options?: Options<PostV1TagsAttachData, ThrowOnError>) => (options?.client ?? client).post<PostV1TagsAttachResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/tags/attach',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n});\n\n/**\n * Detach Tag\n *\n * Detaches tags from a Matter, Contact, Company, or Task\n *\n * **(type)_id:** The ID of the entity to detach **Tags** from. One of `matter_id`, `contact_id`, `company_id,` or `task_id`.\n *\n * **tags:** List of **Tags** to detach. If a **Tag** does not exist, it will be ignored.\n */\nexport const postV1TagsDetach = <ThrowOnError extends boolean = false>(options?: Options<PostV1TagsDetachData, ThrowOnError>) => (options?.client ?? client).post<PostV1TagsDetachResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/tags/detach',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n});\n\n/**\n * Delete Task\n *\n * Delete a **Task**\n */\nexport const deleteV1TasksByTaskId = <ThrowOnError extends boolean = false>(options: Options<DeleteV1TasksByTaskIdData, ThrowOnError>) => (options.client ?? client).delete<DeleteV1TasksByTaskIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/tasks/{task_id}',\n ...options\n});\n\n/**\n * Task\n *\n * A specific **Task** in Lawmatics\n */\nexport const getV1TasksByTaskId = <ThrowOnError extends boolean = false>(options: Options<GetV1TasksByTaskIdData, ThrowOnError>) => (options.client ?? client).get<GetV1TasksByTaskIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/tasks/{task_id}',\n ...options\n});\n\n/**\n * Update Task\n *\n * Updates a **Task**\n *\n * **Optional Fields**: user_ids, priority, done, taskable, tag_ids, assigned_by_id, recurrence_rule\n *\n * **due_date**: **Task** due date (iso8601 datetime)\n *\n * **user_ids**: The Firm **User** ids that will be assigned to this **Task**.\n *\n * **priority**: high, medium, low (default)\n *\n * **done**: true or false (default)\n *\n * **taskable_type, taskable_id:** Record type, ID the **Task** is associated with (Prospect (Matter), Contact, Company, Client).\n *\n * **tag_ids**: **Tags** to associate to this **Task.\n *\n * assigned_by_id:** The **user id** the task is assigned by.\n *\n * **recurrence_rule: Json object.** Following are the fields with which we can create a recurrence_rule.\n * RecurrenceType options are the following = 'daily' or 'weekly' or monthly' or 'yearly';\n *\n * fields of the json object you can choose from:\n * type: **RecurrenceType**;\n * endOption?: boolean;\n * endDate?: Date;\n *\n * ** If you choose type to be daily**\n *\n * frequency?: number;\n *\n * ** If you choose type to be weekly**\n *\n * sunday?: boolean;\n * monday?: boolean;\n * tuesday?: boolean;\n * wednesday?: boolean;\n * thursday?: boolean;\n * friday?: boolean;\n * saturday?: boolean;\n *\n * ** If you choose type to be monthly**\n * monthlyFrequency?: number;\n * dayOfMonth?: number;\n *\n * ** If you choose type to be yearly**\n * month?: string;\n * dayOfMonthYear?: number;\n */\nexport const putV1TasksByTaskId = <ThrowOnError extends boolean = false>(options: Options<PutV1TasksByTaskIdData, ThrowOnError>) => (options.client ?? client).put<PutV1TasksByTaskIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/tasks/{task_id}',\n ...options\n});\n\n/**\n * Tasks\n *\n * A **paginated** list of all **Tasks** in Lawmatics\n *\n * Can be filtered by `matter_id,` `prospect_id,` `contact_id,` `company_id,` `client_id,` and`user_id`\n *\n * as well as all the regular fields as referenced by our Param Guide (most fields returned by`?fields=all`).\n */\nexport const getV1Tasks = <ThrowOnError extends boolean = false>(options?: Options<GetV1TasksData, ThrowOnError>) => (options?.client ?? client).get<GetV1TasksResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/tasks',\n ...options\n});\n\n/**\n * Create Task\n *\n * Create a new **Task**\n *\n * **Optional Fields**: user_ids, priority, done, taskable, tag_ids, assigned_by_id, recurrence_rule\n *\n * **due_date**: **Task's** due date (iso8601 datetime)\n *\n * **user_ids**: The Firm **User** ids assigned to this **Task**.\n *\n * **priority**: high, medium, low (default)\n *\n * **done**: true or false (default)\n *\n * **taskable_type, taskable_id:** Record type, ID the **Task** is associated with (Prospect (Matter), Contact, Company, Client)\n *\n * **tag_ids**: **Tags** to associate to this **Task**\n *\n * **assigned_by_id:** The **user id** the task is assigned by.\n *\n * **recurrence_rule: Json object.** Following are the fields with which we can create a recurrence_rule.\n * RecurrenceType options are the following = 'daily' or 'weekly' or monthly' or 'yearly';\n *\n * fields of the json object you can choose from:\n * type: **RecurrenceType**;\n * endOption?: boolean;\n * endDate?: Date;\n *\n * ** If you choose type to be daily**\n *\n * frequency?: number;\n *\n * ** If you choose type to be weekly**\n *\n * sunday?: boolean;\n * monday?: boolean;\n * tuesday?: boolean;\n * wednesday?: boolean;\n * thursday?: boolean;\n * friday?: boolean;\n * saturday?: boolean;\n *\n * ** If you choose type to be monthly**\n * monthlyFrequency?: number;\n * dayOfMonth?: number;\n *\n * ** If you choose type to be yearly**\n * month?: string;\n * dayOfMonthYear?: number;\n */\nexport const postV1Tasks = <ThrowOnError extends boolean = false>(options?: Options<PostV1TasksData, ThrowOnError>) => (options?.client ?? client).post<PostV1TasksResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/tasks',\n ...options\n});\n\n/**\n * Delete Subtask\n *\n * Deletes a **subtask** from a task.\n */\nexport const deleteV1TasksByTaskIdSubtasksBySubtaskId = <ThrowOnError extends boolean = false>(options: Options<DeleteV1TasksByTaskIdSubtasksBySubtaskIdData, ThrowOnError>) => (options.client ?? client).delete<DeleteV1TasksByTaskIdSubtasksBySubtaskIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/tasks/{task_id}/subtasks/{subtask_id}',\n ...options\n});\n\n/**\n * Subtask\n *\n * A specific **subtask** in tasks in Lawmatics.\n */\nexport const getV1TasksByTaskIdSubtasksBySubtaskId = <ThrowOnError extends boolean = false>(options: Options<GetV1TasksByTaskIdSubtasksBySubtaskIdData, ThrowOnError>) => (options.client ?? client).get<GetV1TasksByTaskIdSubtasksBySubtaskIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/tasks/{task_id}/subtasks/{subtask_id}',\n ...options\n});\n\n/**\n * Update Subtask\n *\n * Updates a **subtask** on a task.\n */\nexport const putV1TasksByTaskIdSubtasksBySubtaskId = <ThrowOnError extends boolean = false>(options: Options<PutV1TasksByTaskIdSubtasksBySubtaskIdData, ThrowOnError>) => (options.client ?? client).put<PutV1TasksByTaskIdSubtasksBySubtaskIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/tasks/{task_id}/subtasks/{subtask_id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Subtasks\n *\n * All the **subtasks** that belong to a task in Lawmatics.\n */\nexport const getV1TasksByTaskIdSubtasks = <ThrowOnError extends boolean = false>(options: Options<GetV1TasksByTaskIdSubtasksData, ThrowOnError>) => (options.client ?? client).get<GetV1TasksByTaskIdSubtasksResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/tasks/{task_id}/subtasks',\n ...options\n});\n\n/**\n * Create Subtask\n *\n * Creates a new **subtask** on a task.\n */\nexport const postV1TasksByTaskIdSubtasks = <ThrowOnError extends boolean = false>(options: Options<PostV1TasksByTaskIdSubtasksData, ThrowOnError>) => (options.client ?? client).post<PostV1TasksByTaskIdSubtasksResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/tasks/{task_id}/subtasks',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Delete Comment\n *\n * Deletes a **specific comment** on a task in Lawmatics.\n */\nexport const deleteV1TasksByTaskIdCommentsByCommentId = <ThrowOnError extends boolean = false>(options: Options<DeleteV1TasksByTaskIdCommentsByCommentIdData, ThrowOnError>) => (options.client ?? client).delete<DeleteV1TasksByTaskIdCommentsByCommentIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/tasks/{task_id}/comments/{comment_id}',\n ...options\n});\n\n/**\n * Comment\n *\n * A specific **comment** on a task in Lawmatics.\n */\nexport const getV1TasksByTaskIdCommentsByCommentId = <ThrowOnError extends boolean = false>(options: Options<GetV1TasksByTaskIdCommentsByCommentIdData, ThrowOnError>) => (options.client ?? client).get<GetV1TasksByTaskIdCommentsByCommentIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/tasks/{task_id}/comments/{comment_id}',\n ...options\n});\n\n/**\n * Update Comment\n *\n * Updates a **specific comment** on a task in Lawmatics.\n *\n * **optional field:** mentioned_user_ids\n *\n * mentioned_user_ids: list of user ids.\n */\nexport const putV1TasksByTaskIdCommentsByCommentId = <ThrowOnError extends boolean = false>(options: Options<PutV1TasksByTaskIdCommentsByCommentIdData, ThrowOnError>) => (options.client ?? client).put<PutV1TasksByTaskIdCommentsByCommentIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/tasks/{task_id}/comments/{comment_id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Comments\n *\n * Retrieves all the **comments** on a task in Lawmatics.\n */\nexport const getV1TasksByTaskIdComments = <ThrowOnError extends boolean = false>(options: Options<GetV1TasksByTaskIdCommentsData, ThrowOnError>) => (options.client ?? client).get<GetV1TasksByTaskIdCommentsResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/tasks/{task_id}/comments',\n ...options\n});\n\n/**\n * Create Comment\n *\n * Creates a **comment** on a task in Lawmatics.\n * **optional field:** mentioned_user_ids\n *\n * mentioned_user_ids: list of user ids.\n *\n * Feel free to add HTML tags to format your comments.\n *\n * Following is a simple comment with formatting example using bold *italic* etc.\n *\n * This is a simple comment with formatting example using **bold** *italics*\n *\n * Another example of comment with mentioned users.\n *\n * Hi its a new comment on task 45 @Jasmine Rattan\n */\nexport const postV1TasksByTaskIdComments = <ThrowOnError extends boolean = false>(options: Options<PostV1TasksByTaskIdCommentsData, ThrowOnError>) => (options.client ?? client).post<PostV1TasksByTaskIdCommentsResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/tasks/{task_id}/comments',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Delete Task Status\n *\n * Deletes a **task status** in Lawmatics.\n */\nexport const deleteV1TaskStatusesByTaskStatusId = <ThrowOnError extends boolean = false>(options: Options<DeleteV1TaskStatusesByTaskStatusIdData, ThrowOnError>) => (options.client ?? client).delete<DeleteV1TaskStatusesByTaskStatusIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/task_statuses/{task_status_id}',\n ...options\n});\n\n/**\n * Task Status\n *\n * A **specific task status** in Lawmatics.\n */\nexport const getV1TaskStatusesByTaskStatusId = <ThrowOnError extends boolean = false>(options: Options<GetV1TaskStatusesByTaskStatusIdData, ThrowOnError>) => (options.client ?? client).get<GetV1TaskStatusesByTaskStatusIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/task_statuses/{task_status_id}',\n ...options\n});\n\n/**\n * Update Task Status\n *\n * Updates a **task status** in Lawmatics.\n */\nexport const putV1TaskStatusesByTaskStatusId = <ThrowOnError extends boolean = false>(options: Options<PutV1TaskStatusesByTaskStatusIdData, ThrowOnError>) => (options.client ?? client).put<PutV1TaskStatusesByTaskStatusIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/task_statuses/{task_status_id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Task Statuses\n *\n * Gets all the task statuses in Lawmatics.\n */\nexport const getV1TaskStatuses = <ThrowOnError extends boolean = false>(options?: Options<GetV1TaskStatusesData, ThrowOnError>) => (options?.client ?? client).get<GetV1TaskStatusesResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/task_statuses',\n ...options\n});\n\n/**\n * Create Task Status\n *\n * Creates a **task status** in Lawmatics.\n */\nexport const postV1TaskStatuses = <ThrowOnError extends boolean = false>(options?: Options<PostV1TaskStatusesData, ThrowOnError>) => (options?.client ?? client).post<PostV1TaskStatusesResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/task_statuses',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n});\n\n/**\n * Activity\n *\n * A specific **Activity** in Lawmatics\n */\nexport const getV1ActivitiesByActivityId = <ThrowOnError extends boolean = false>(options: Options<GetV1ActivitiesByActivityIdData, ThrowOnError>) => (options.client ?? client).get<GetV1ActivitiesByActivityIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/activities/{activity_id}',\n ...options\n});\n\n/**\n * Activities\n *\n * A **paginated** list of Activities in Lawmatics\n *\n * Can be filtered by `matter_id,` `contact_id,` `type,` and`event`\n *\n * as well as all the regular fields as referenced by our Param Guide (most fields returned by`?fields=all`).\n */\nexport const getV1Activities = <ThrowOnError extends boolean = false>(options?: Options<GetV1ActivitiesData, ThrowOnError>) => (options?.client ?? client).get<GetV1ActivitiesResponses, GetV1ActivitiesErrors, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/activities',\n ...options\n});\n\n/**\n * Delete User\n *\n * Dissociates a user from a firm, in practice this is the same as deleting the user as it won't have access to the system anymore.\n */\nexport const deleteV1UsersByUserId = <ThrowOnError extends boolean = false>(options: Options<DeleteV1UsersByUserIdData, ThrowOnError>) => (options.client ?? client).delete<DeleteV1UsersByUserIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/users/{user_id}',\n ...options\n});\n\n/**\n * User\n *\n * Return a specific User by ID\n */\nexport const getV1UsersByUserId = <ThrowOnError extends boolean = false>(options: Options<GetV1UsersByUserIdData, ThrowOnError>) => (options.client ?? client).get<GetV1UsersByUserIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/users/{user_id}',\n ...options\n});\n\n/**\n * Update User\n *\n * Updates a user\n */\nexport const putV1UsersByUserId = <ThrowOnError extends boolean = false>(options: Options<PutV1UsersByUserIdData, ThrowOnError>) => (options.client ?? client).put<PutV1UsersByUserIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/users/{user_id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Users\n *\n * Return a __paginated__ list of all users in the firm\n */\nexport const getV1Users = <ThrowOnError extends boolean = false>(options?: Options<GetV1UsersData, ThrowOnError>) => (options?.client ?? client).get<GetV1UsersResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/users',\n ...options\n});\n\n/**\n * Create User\n *\n * Creates a user or assigns it to the firm if it already exists.\n */\nexport const postV1Users = <ThrowOnError extends boolean = false>(options?: Options<PostV1UsersData, ThrowOnError>) => (options?.client ?? client).post<PostV1UsersResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/users',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n});\n\n/**\n * Me\n *\n * Return the authenticated user\n */\nexport const getV1UsersMe = <ThrowOnError extends boolean = false>(options?: Options<GetV1UsersMeData, ThrowOnError>) => (options?.client ?? client).get<GetV1UsersMeResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/users/me',\n ...options\n});\n","export function cleanQuery<T extends Record<string, unknown>>(q: T): T {\n return Object.fromEntries(\n Object.entries(q).filter(([, v]) => v !== undefined),\n ) as T;\n}\n\nexport function err(e: unknown) {\n const msg = e instanceof Error ? e.message : String(e);\n return {\n content: [{ type: \"text\" as const, text: `Error: ${msg}` }],\n isError: true as const,\n };\n}\n","import { cleanQuery, err } from \"./helpers.js\";\n\nexport interface PathParam {\n sdkName: string;\n description: string;\n}\n\nexport interface QueryParam {\n description: string;\n}\n\nexport interface ToolConfig {\n name: string;\n description: string;\n // biome-ignore lint/suspicious/noExplicitAny: SDK functions have varying signatures\n sdkFn: (options?: any) => Promise<any>;\n pathParams?: Record<string, PathParam>;\n queryParams?: Record<string, QueryParam>;\n}\n\nexport const commonListQueryParams: Record<string, QueryParam> = {\n page: { description: \"Page number for pagination (default: 1)\" },\n sort_order: { description: \"Sort order: asc or desc (default: desc)\" },\n sort_by: {\n description: \"Field to sort by (e.g. id, created_at, updated_at)\",\n },\n filter_by: { description: \"Field name to filter on\" },\n filter_on: { description: \"Value to filter for\" },\n filter_with: {\n description:\n \"Filter operator: =, !=, <=, <, >=, >, like, ilike, null, not_null\",\n },\n};\n\nexport function getEffectiveQueryParams(\n tool: ToolConfig,\n): Record<string, QueryParam> | undefined {\n return tool.name.startsWith(\"list_\")\n ? { ...commonListQueryParams, ...tool.queryParams }\n : tool.queryParams;\n}\n\nexport function createToolHandler(\n tool: ToolConfig,\n effectiveQueryParams: Record<string, QueryParam> | undefined,\n) {\n return async (params: Record<string, unknown>) => {\n try {\n const options: Record<string, unknown> = {};\n\n if (tool.pathParams) {\n const path: Record<string, string> = {};\n for (const [mcpName, { sdkName }] of Object.entries(tool.pathParams)) {\n path[sdkName] = params[mcpName] as string;\n }\n options.path = path;\n }\n\n const query: Record<string, string> = { fields: \"all\" };\n if (effectiveQueryParams) {\n for (const paramName of Object.keys(effectiveQueryParams)) {\n if (params[paramName] !== undefined) {\n query[paramName] = params[paramName] as string;\n }\n }\n }\n options.query = cleanQuery(query);\n\n const res = await tool.sdkFn(\n Object.keys(options).length > 0 ? options : undefined,\n );\n return {\n content: [\n {\n type: \"text\" as const,\n text: JSON.stringify(res.data, null, 2),\n },\n ],\n };\n } catch (e) {\n return err(e);\n }\n };\n}\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../src/server.ts","../../shared/src/helpers.ts","../../shared/src/tool-handler.ts","../src/create-server.ts","../src/client/sdk.gen.ts"],"sourcesContent":["#!/usr/bin/env node\nimport \"./lm.js\";\nimport { StdioServerTransport } from \"@modelcontextprotocol/sdk/server/stdio.js\";\nimport { createServer } from \"./create-server.js\";\n\nconst command = process.argv[2];\nif (command === \"auth\") {\n const { runCli } = await import(\"./auth.js\");\n runCli(process.argv[3]);\n} else {\n const server = createServer();\n const transport = new StdioServerTransport();\n await server.connect(transport);\n}\n","import { z } from \"zod\";\n\nexport function listOf<T extends z.ZodTypeAny>(schema: T) {\n return z.looseObject({ items: z.array(schema) });\n}\n\nexport function cleanQuery<T extends Record<string, unknown>>(q: T): T {\n return Object.fromEntries(\n Object.entries(q).filter(([, v]) => v !== undefined),\n ) as T;\n}\n\nexport function err(e: unknown) {\n const msg = e instanceof Error ? e.message : String(e);\n return {\n content: [{ type: \"text\" as const, text: `Error: ${msg}` }],\n isError: true as const,\n };\n}\n","import type { z } from \"zod\";\nimport { cleanQuery, err } from \"./helpers.js\";\n\nexport interface ToolConfig {\n name: string;\n description: string;\n // biome-ignore lint/suspicious/noExplicitAny: SDK functions have varying signatures\n sdkFn: (options?: any) => Promise<any>;\n schema?: z.ZodTypeAny;\n isList?: boolean;\n /** Path params: string value = description (SDK name equals MCP name);\n * object value = { sdkName, description } for name remapping. */\n pathParams?: Record<\n string,\n string | { sdkName: string; description: string }\n >;\n /** Query params: Zod type = full schema (has .parse method);\n * plain object = { description } for simple string params. */\n queryParams?: Record<string, z.ZodType | { description: string }>;\n rawContent?: boolean;\n /** Default query values always included (e.g. { fields: \"all\" }). */\n defaultQuery?: Record<string, string>;\n /** Common query params auto-merged for tools whose name starts with \"list_\". */\n commonListQueryParams?: Record<string, { description: string }>;\n}\n\nexport interface ToolResult {\n [x: string]: unknown;\n content: { type: \"text\"; text: string }[];\n structuredContent?: Record<string, unknown>;\n isError?: true;\n}\n\n/** Common list query params used by Lawmatics. */\nexport const commonListQueryParams: Record<string, { description: string }> = {\n page: { description: \"Page number for pagination (default: 1)\" },\n sort_order: { description: \"Sort order: asc or desc (default: desc)\" },\n sort_by: {\n description: \"Field to sort by (e.g. id, created_at, updated_at)\",\n },\n filter_by: { description: \"Field name to filter on\" },\n filter_on: { description: \"Value to filter for\" },\n filter_with: {\n description:\n \"Filter operator: =, !=, <=, <, >=, >, like, ilike, null, not_null\",\n },\n};\n\n/** Check whether a value is a Zod type (has .parse) vs a plain { description } object. */\nfunction isZodType(v: z.ZodType | { description: string }): v is z.ZodType {\n return typeof (v as z.ZodType).parse === \"function\";\n}\n\n/** Compute effective query params for a tool, merging commonListQueryParams when applicable. */\nexport function getEffectiveQueryParams(\n tool: ToolConfig,\n): Record<string, z.ZodType | { description: string }> | undefined {\n if (tool.commonListQueryParams && tool.name.startsWith(\"list_\")) {\n return { ...tool.commonListQueryParams, ...tool.queryParams };\n }\n return tool.queryParams;\n}\n\nexport function createToolHandler(\n tool: ToolConfig,\n): (params: Record<string, unknown>) => Promise<ToolResult> {\n const effectiveQueryParams = getEffectiveQueryParams(tool);\n\n return async (params: Record<string, unknown>) => {\n try {\n const options: Record<string, unknown> = {};\n\n // Path params\n if (tool.pathParams) {\n const path: Record<string, string> = {};\n for (const [mcpName, spec] of Object.entries(tool.pathParams)) {\n const sdkName = typeof spec === \"string\" ? mcpName : spec.sdkName;\n path[sdkName] = params[mcpName] as string;\n }\n options.path = path;\n }\n\n // Query params\n const query: Record<string, unknown> = {\n ...(tool.defaultQuery ?? {}),\n };\n\n if (effectiveQueryParams) {\n for (const paramName of Object.keys(effectiveQueryParams)) {\n if (params[paramName] !== undefined) {\n query[paramName] = params[paramName];\n }\n }\n }\n\n const hasQueryEntries = Object.keys(query).length > 0;\n if (hasQueryEntries) {\n options.query = cleanQuery(query);\n }\n\n const res = await tool.sdkFn(\n Object.keys(options).length > 0 ? options : undefined,\n );\n\n if (tool.rawContent) {\n return {\n content: [\n {\n type: \"text\" as const,\n text: JSON.stringify(res.data, null, 2),\n },\n ],\n };\n }\n\n const structured = tool.isList\n ? { items: res.data }\n : (res.data as Record<string, unknown>);\n\n return {\n content: [\n {\n type: \"text\" as const,\n text: JSON.stringify(structured, null, 2),\n },\n ],\n structuredContent: tool.schema ? structured : undefined,\n };\n } catch (e) {\n return err(e);\n }\n };\n}\n\nexport { isZodType };\n","import {\n commonListQueryParams,\n createToolHandler,\n getEffectiveQueryParams,\n isZodType,\n type ToolConfig,\n} from \"@mjquinlan2000/shared/tool-handler.js\";\nimport { McpServer } from \"@modelcontextprotocol/sdk/server/mcp.js\";\nimport { z } from \"zod\";\nimport {\n getV1Activities,\n getV1ActivitiesByActivityId,\n getV1Addresses,\n getV1AddressesByAddressId,\n getV1Campaigns,\n getV1CampaignsByCampaignId,\n getV1Companies,\n getV1CompaniesByCompanyId,\n getV1CompaniesFindByEmailByEmailAddress,\n getV1CompaniesFindByNameByName,\n getV1CompaniesFindByPhoneByPhoneNumber,\n getV1Contacts,\n getV1ContactsByContactId,\n getV1ContactsFindByEmailByEmailAddress,\n getV1ContactsFindByNameByName,\n getV1ContactsFindByPhoneByPhoneNumber,\n getV1CustomContactTypes,\n getV1CustomContactTypesByCustomContactTypeId,\n getV1CustomEmails,\n getV1CustomEmailsByCustomEmailId,\n getV1CustomFields,\n getV1CustomFieldsByCustomFieldId,\n getV1EmailAddresses,\n getV1EmailAddressesByEmailAddressId,\n getV1EmailCampaignStatsById,\n getV1EmailCampaigns,\n getV1EmailCampaignsById,\n getV1Events,\n getV1EventsByEventId,\n getV1EventTypes,\n getV1EventTypesByEventTypeId,\n getV1Expenses,\n getV1ExpensesByExpenseId,\n getV1Files,\n getV1FilesByFileId,\n getV1FilesDownloadById,\n getV1Folders,\n getV1FoldersByFolderId,\n getV1Forms,\n getV1FormsByCustomFormUuid,\n getV1FormsByCustomFormUuidEntries,\n getV1Interactions,\n getV1InteractionsByInteractionId,\n getV1Invoices,\n getV1InvoicesByInvoiceId,\n getV1Locations,\n getV1Notes,\n getV1NotesByNoteId,\n getV1PhoneNumbers,\n getV1PhoneNumbersByPhoneNumberId,\n getV1Pipelines,\n getV1PipelinesByPipelineId,\n getV1PracticeAreas,\n getV1PracticeAreasByPracticeAreaId,\n getV1Prospects,\n getV1ProspectsByProspectId,\n getV1ProspectsFindByEmailByEmailAddress,\n getV1ProspectsFindByNameByName,\n getV1ProspectsFindByPhoneByPhoneNumber,\n getV1Relationships,\n getV1RelationshipsByRelationshipId,\n getV1RelationshipTypes,\n getV1RelationshipTypesByRelationshipTypeId,\n getV1Sources,\n getV1SourcesBySourceId,\n getV1Stages,\n getV1StagesByStageId,\n getV1SubStatuses,\n getV1SubStatusesByStatusId,\n getV1Tags,\n getV1TagsByTagId,\n getV1TaskStatuses,\n getV1TaskStatusesByTaskStatusId,\n getV1Tasks,\n getV1TasksByTaskId,\n getV1TasksByTaskIdComments,\n getV1TasksByTaskIdCommentsByCommentId,\n getV1TasksByTaskIdSubtasks,\n getV1TasksByTaskIdSubtasksBySubtaskId,\n getV1TimeEntries,\n getV1TimeEntriesByTimeEntryId,\n getV1Transactions,\n getV1TransactionsByTransactionId,\n getV1Users,\n getV1UsersByUserId,\n getV1UsersMe,\n} from \"./client/index.js\";\n\nexport function createServer(): McpServer {\n const server = new McpServer(\n {\n name: \"lawmatics\",\n version: \"0.1.0\",\n },\n {\n instructions: [\n \"Lawmatics is a legal CRM and client intake platform.\",\n \"Responses use JSON:API format with { data, meta, links } envelopes.\",\n \"Pagination info is in the meta field (total_pages, limit_per_page, total_entries).\",\n \"All list tools support: page, sort_order (asc/desc), sort_by, filter_by, filter_on, filter_with (=, !=, like, etc.).\",\n \"Use page to paginate and filter_by/filter_on/filter_with to narrow results.\",\n ].join(\" \"),\n },\n );\n\n // ── LM-specific defaults applied to all tools ──\n\n const lmDefaults = {\n defaultQuery: { fields: \"all\" },\n commonListQueryParams,\n } satisfies Partial<ToolConfig>;\n\n // ── Tool definitions ──\n\n const tools: ToolConfig[] = (\n [\n // ── Prospects ──\n {\n name: \"list_prospects\",\n description:\n \"List all prospects (matters/leads) with optional filters.\",\n sdkFn: getV1Prospects,\n queryParams: {\n filter_by: { description: \"Field name to filter by\" },\n filter_on: { description: \"Value to filter on\" },\n },\n },\n {\n name: \"get_prospect\",\n description: \"Get a single prospect by ID.\",\n sdkFn: getV1ProspectsByProspectId,\n pathParams: {\n id: { sdkName: \"prospect_id\", description: \"Prospect ID\" },\n },\n },\n {\n name: \"find_prospect_by_phone\",\n description: \"Find a prospect by phone number.\",\n sdkFn: getV1ProspectsFindByPhoneByPhoneNumber,\n pathParams: {\n phone_number: {\n sdkName: \"phone_number\",\n description: \"Phone number to search\",\n },\n },\n },\n {\n name: \"find_prospect_by_email\",\n description: \"Find a prospect by email address.\",\n sdkFn: getV1ProspectsFindByEmailByEmailAddress,\n pathParams: {\n email_address: {\n sdkName: \"email_address\",\n description: \"Email address to search\",\n },\n },\n },\n {\n name: \"find_prospect_by_name\",\n description: \"Find a prospect by name.\",\n sdkFn: getV1ProspectsFindByNameByName,\n pathParams: {\n name: { sdkName: \"name\", description: \"Name to search\" },\n },\n },\n\n // ── Contacts ──\n {\n name: \"list_contacts\",\n description: \"List all contacts.\",\n sdkFn: getV1Contacts,\n },\n {\n name: \"get_contact\",\n description: \"Get a single contact by ID.\",\n sdkFn: getV1ContactsByContactId,\n pathParams: {\n id: { sdkName: \"contact_id\", description: \"Contact ID\" },\n },\n },\n {\n name: \"find_contact_by_phone\",\n description: \"Find a contact by phone number.\",\n sdkFn: getV1ContactsFindByPhoneByPhoneNumber,\n pathParams: {\n phone_number: {\n sdkName: \"phone_number\",\n description: \"Phone number to search\",\n },\n },\n },\n {\n name: \"find_contact_by_email\",\n description: \"Find a contact by email address.\",\n sdkFn: getV1ContactsFindByEmailByEmailAddress,\n pathParams: {\n email_address: {\n sdkName: \"email_address\",\n description: \"Email address to search\",\n },\n },\n },\n {\n name: \"find_contact_by_name\",\n description: \"Find a contact by name.\",\n sdkFn: getV1ContactsFindByNameByName,\n pathParams: {\n name: { sdkName: \"name\", description: \"Name to search\" },\n },\n },\n\n // ── Companies ──\n {\n name: \"list_companies\",\n description: \"List all companies.\",\n sdkFn: getV1Companies,\n },\n {\n name: \"get_company\",\n description: \"Get a single company by ID.\",\n sdkFn: getV1CompaniesByCompanyId,\n pathParams: {\n id: { sdkName: \"company_id\", description: \"Company ID\" },\n },\n },\n {\n name: \"find_company_by_phone\",\n description: \"Find a company by phone number.\",\n sdkFn: getV1CompaniesFindByPhoneByPhoneNumber,\n pathParams: {\n phone_number: {\n sdkName: \"phone_number\",\n description: \"Phone number to search\",\n },\n },\n },\n {\n name: \"find_company_by_email\",\n description: \"Find a company by email address.\",\n sdkFn: getV1CompaniesFindByEmailByEmailAddress,\n pathParams: {\n email_address: {\n sdkName: \"email_address\",\n description: \"Email address to search\",\n },\n },\n },\n {\n name: \"find_company_by_name\",\n description: \"Find a company by name.\",\n sdkFn: getV1CompaniesFindByNameByName,\n pathParams: {\n name: { sdkName: \"name\", description: \"Name to search\" },\n },\n },\n\n // ── Addresses ──\n {\n name: \"list_addresses\",\n description: \"List all addresses.\",\n sdkFn: getV1Addresses,\n },\n {\n name: \"get_address\",\n description: \"Get a single address by ID.\",\n sdkFn: getV1AddressesByAddressId,\n pathParams: {\n id: { sdkName: \"address_id\", description: \"Address ID\" },\n },\n },\n\n // ── Email Addresses ──\n {\n name: \"list_email_addresses\",\n description: \"List all email addresses.\",\n sdkFn: getV1EmailAddresses,\n },\n {\n name: \"get_email_address\",\n description: \"Get a single email address by ID.\",\n sdkFn: getV1EmailAddressesByEmailAddressId,\n pathParams: {\n id: { sdkName: \"email_address_id\", description: \"Email Address ID\" },\n },\n },\n\n // ── Phone Numbers ──\n {\n name: \"list_phone_numbers\",\n description: \"List all phone numbers.\",\n sdkFn: getV1PhoneNumbers,\n },\n {\n name: \"get_phone_number\",\n description: \"Get a single phone number by ID.\",\n sdkFn: getV1PhoneNumbersByPhoneNumberId,\n pathParams: {\n id: { sdkName: \"phone_number_id\", description: \"Phone Number ID\" },\n },\n },\n\n // ── Custom Contact Types ──\n {\n name: \"list_custom_contact_types\",\n description: \"List all custom contact types.\",\n sdkFn: getV1CustomContactTypes,\n },\n {\n name: \"get_custom_contact_type\",\n description: \"Get a single custom contact type by ID.\",\n sdkFn: getV1CustomContactTypesByCustomContactTypeId,\n pathParams: {\n id: {\n sdkName: \"custom_contact_type_id\",\n description: \"Custom Contact Type ID\",\n },\n },\n },\n\n // ── Custom Fields ──\n {\n name: \"list_custom_fields\",\n description: \"List all custom fields.\",\n sdkFn: getV1CustomFields,\n },\n {\n name: \"get_custom_field\",\n description: \"Get a single custom field by ID.\",\n sdkFn: getV1CustomFieldsByCustomFieldId,\n pathParams: {\n id: { sdkName: \"custom_field_id\", description: \"Custom Field ID\" },\n },\n },\n\n // ── Custom Emails ──\n {\n name: \"list_custom_emails\",\n description: \"List all custom email templates.\",\n sdkFn: getV1CustomEmails,\n },\n {\n name: \"get_custom_email\",\n description: \"Get a single custom email template by ID.\",\n sdkFn: getV1CustomEmailsByCustomEmailId,\n pathParams: {\n id: { sdkName: \"custom_email_id\", description: \"Custom Email ID\" },\n },\n },\n\n // ── Forms ──\n {\n name: \"list_forms\",\n description: \"List all forms.\",\n sdkFn: getV1Forms,\n },\n {\n name: \"get_form\",\n description: \"Get a single form by UUID.\",\n sdkFn: getV1FormsByCustomFormUuid,\n pathParams: {\n id: { sdkName: \"custom_form_uuid\", description: \"Form UUID\" },\n },\n },\n {\n name: \"list_form_entries\",\n description: \"List all entries for a specific form.\",\n sdkFn: getV1FormsByCustomFormUuidEntries,\n pathParams: {\n custom_form_uuid: {\n sdkName: \"custom_form_uuid\",\n description: \"Form UUID\",\n },\n },\n },\n\n // ── Email Campaigns ──\n {\n name: \"list_email_campaigns\",\n description: \"List all email campaigns.\",\n sdkFn: getV1EmailCampaigns,\n },\n {\n name: \"get_email_campaign\",\n description: \"Get a single email campaign by ID.\",\n sdkFn: getV1EmailCampaignsById,\n pathParams: {\n id: { sdkName: \"id\", description: \"Email Campaign ID\" },\n },\n },\n {\n name: \"get_email_campaign_stats\",\n description: \"Get statistics for an email campaign by ID.\",\n sdkFn: getV1EmailCampaignStatsById,\n pathParams: {\n id: { sdkName: \"id\", description: \"Email Campaign ID\" },\n },\n },\n\n // ── Events ──\n {\n name: \"list_events\",\n description: \"List all events.\",\n sdkFn: getV1Events,\n },\n {\n name: \"get_event\",\n description: \"Get a single event by ID.\",\n sdkFn: getV1EventsByEventId,\n pathParams: { id: { sdkName: \"event_id\", description: \"Event ID\" } },\n },\n\n // ── Locations ──\n {\n name: \"list_locations\",\n description: \"List all locations.\",\n sdkFn: getV1Locations,\n },\n\n // ── Event Types ──\n {\n name: \"list_event_types\",\n description: \"List all event types.\",\n sdkFn: getV1EventTypes,\n },\n {\n name: \"get_event_type\",\n description: \"Get a single event type by ID.\",\n sdkFn: getV1EventTypesByEventTypeId,\n pathParams: {\n id: { sdkName: \"event_type_id\", description: \"Event Type ID\" },\n },\n },\n\n // ── Files ──\n {\n name: \"list_files\",\n description: \"List all files.\",\n sdkFn: getV1Files,\n },\n {\n name: \"get_file\",\n description: \"Get a single file's metadata by ID.\",\n sdkFn: getV1FilesByFileId,\n pathParams: { id: { sdkName: \"file_id\", description: \"File ID\" } },\n },\n {\n name: \"download_file\",\n description: \"Download a file by ID.\",\n sdkFn: getV1FilesDownloadById,\n pathParams: { id: { sdkName: \"id\", description: \"File ID\" } },\n },\n\n // ── Folders ──\n {\n name: \"list_folders\",\n description: \"List all folders.\",\n sdkFn: getV1Folders,\n },\n {\n name: \"get_folder\",\n description: \"Get a single folder by ID.\",\n sdkFn: getV1FoldersByFolderId,\n pathParams: { id: { sdkName: \"folder_id\", description: \"Folder ID\" } },\n },\n\n // ── Interactions ──\n {\n name: \"list_interactions\",\n description: \"List all interactions.\",\n sdkFn: getV1Interactions,\n },\n {\n name: \"get_interaction\",\n description: \"Get a single interaction by ID.\",\n sdkFn: getV1InteractionsByInteractionId,\n pathParams: {\n id: { sdkName: \"interaction_id\", description: \"Interaction ID\" },\n },\n },\n\n // ── Notes ──\n {\n name: \"list_notes\",\n description: \"List all notes.\",\n sdkFn: getV1Notes,\n },\n {\n name: \"get_note\",\n description: \"Get a single note by ID.\",\n sdkFn: getV1NotesByNoteId,\n pathParams: { id: { sdkName: \"note_id\", description: \"Note ID\" } },\n },\n\n // ── Tasks ──\n {\n name: \"list_tasks\",\n description: \"List all tasks.\",\n sdkFn: getV1Tasks,\n },\n {\n name: \"get_task\",\n description: \"Get a single task by ID.\",\n sdkFn: getV1TasksByTaskId,\n pathParams: { id: { sdkName: \"task_id\", description: \"Task ID\" } },\n },\n {\n name: \"list_task_subtasks\",\n description: \"List all subtasks for a task.\",\n sdkFn: getV1TasksByTaskIdSubtasks,\n pathParams: {\n task_id: { sdkName: \"task_id\", description: \"Parent Task ID\" },\n },\n },\n {\n name: \"get_task_subtask\",\n description: \"Get a single subtask for a task.\",\n sdkFn: getV1TasksByTaskIdSubtasksBySubtaskId,\n pathParams: {\n task_id: { sdkName: \"task_id\", description: \"Parent Task ID\" },\n subtask_id: { sdkName: \"subtask_id\", description: \"Subtask ID\" },\n },\n },\n {\n name: \"list_task_comments\",\n description: \"List all comments for a task.\",\n sdkFn: getV1TasksByTaskIdComments,\n pathParams: {\n task_id: { sdkName: \"task_id\", description: \"Task ID\" },\n },\n },\n {\n name: \"get_task_comment\",\n description: \"Get a single comment for a task.\",\n sdkFn: getV1TasksByTaskIdCommentsByCommentId,\n pathParams: {\n task_id: { sdkName: \"task_id\", description: \"Task ID\" },\n comment_id: { sdkName: \"comment_id\", description: \"Comment ID\" },\n },\n },\n\n // ── Task Statuses ──\n {\n name: \"list_task_statuses\",\n description: \"List all task statuses.\",\n sdkFn: getV1TaskStatuses,\n },\n {\n name: \"get_task_status\",\n description: \"Get a single task status by ID.\",\n sdkFn: getV1TaskStatusesByTaskStatusId,\n pathParams: {\n id: { sdkName: \"task_status_id\", description: \"Task Status ID\" },\n },\n },\n\n // ── Campaigns ──\n {\n name: \"list_campaigns\",\n description: \"List all automation campaigns.\",\n sdkFn: getV1Campaigns,\n },\n {\n name: \"get_campaign\",\n description: \"Get a single automation campaign by ID.\",\n sdkFn: getV1CampaignsByCampaignId,\n pathParams: {\n id: { sdkName: \"campaign_id\", description: \"Campaign ID\" },\n },\n },\n\n // ── Sources ──\n {\n name: \"list_sources\",\n description: \"List all lead sources.\",\n sdkFn: getV1Sources,\n },\n {\n name: \"get_source\",\n description: \"Get a single lead source by ID.\",\n sdkFn: getV1SourcesBySourceId,\n pathParams: { id: { sdkName: \"source_id\", description: \"Source ID\" } },\n },\n\n // ── Pipelines ──\n {\n name: \"list_pipelines\",\n description: \"List all pipelines.\",\n sdkFn: getV1Pipelines,\n },\n {\n name: \"get_pipeline\",\n description: \"Get a single pipeline by ID.\",\n sdkFn: getV1PipelinesByPipelineId,\n pathParams: {\n id: { sdkName: \"pipeline_id\", description: \"Pipeline ID\" },\n },\n },\n\n // ── Stages ──\n {\n name: \"list_stages\",\n description: \"List all pipeline stages.\",\n sdkFn: getV1Stages,\n },\n {\n name: \"get_stage\",\n description: \"Get a single pipeline stage by ID.\",\n sdkFn: getV1StagesByStageId,\n pathParams: { id: { sdkName: \"stage_id\", description: \"Stage ID\" } },\n },\n\n // ── Practice Areas ──\n {\n name: \"list_practice_areas\",\n description: \"List all practice areas.\",\n sdkFn: getV1PracticeAreas,\n },\n {\n name: \"get_practice_area\",\n description: \"Get a single practice area by ID.\",\n sdkFn: getV1PracticeAreasByPracticeAreaId,\n pathParams: {\n id: { sdkName: \"practice_area_id\", description: \"Practice Area ID\" },\n },\n },\n\n // ── Relationships ──\n {\n name: \"list_relationships\",\n description: \"List all relationships.\",\n sdkFn: getV1Relationships,\n },\n {\n name: \"get_relationship\",\n description: \"Get a single relationship by ID.\",\n sdkFn: getV1RelationshipsByRelationshipId,\n pathParams: {\n id: { sdkName: \"relationship_id\", description: \"Relationship ID\" },\n },\n },\n\n // ── Relationship Types ──\n {\n name: \"list_relationship_types\",\n description: \"List all relationship types.\",\n sdkFn: getV1RelationshipTypes,\n },\n {\n name: \"get_relationship_type\",\n description: \"Get a single relationship type by ID.\",\n sdkFn: getV1RelationshipTypesByRelationshipTypeId,\n pathParams: {\n id: {\n sdkName: \"relationship_type_id\",\n description: \"Relationship Type ID\",\n },\n },\n },\n\n // ── Sub-Statuses ──\n {\n name: \"list_sub_statuses\",\n description: \"List all sub-statuses.\",\n sdkFn: getV1SubStatuses,\n },\n {\n name: \"get_sub_status\",\n description: \"Get a single sub-status by ID.\",\n sdkFn: getV1SubStatusesByStatusId,\n pathParams: { id: { sdkName: \"status_id\", description: \"Status ID\" } },\n },\n\n // ── Tags ──\n {\n name: \"list_tags\",\n description: \"List all tags.\",\n sdkFn: getV1Tags,\n },\n {\n name: \"get_tag\",\n description: \"Get a single tag by ID.\",\n sdkFn: getV1TagsByTagId,\n pathParams: { id: { sdkName: \"tag_id\", description: \"Tag ID\" } },\n },\n\n // ── Invoices ──\n {\n name: \"list_invoices\",\n description: \"List all invoices.\",\n sdkFn: getV1Invoices,\n },\n {\n name: \"get_invoice\",\n description: \"Get a single invoice by ID.\",\n sdkFn: getV1InvoicesByInvoiceId,\n pathParams: {\n id: { sdkName: \"invoice_id\", description: \"Invoice ID\" },\n },\n },\n\n // ── Expenses ──\n {\n name: \"list_expenses\",\n description: \"List all expenses.\",\n sdkFn: getV1Expenses,\n },\n {\n name: \"get_expense\",\n description: \"Get a single expense by ID.\",\n sdkFn: getV1ExpensesByExpenseId,\n pathParams: {\n id: { sdkName: \"expense_id\", description: \"Expense ID\" },\n },\n },\n\n // ── Time Entries ──\n {\n name: \"list_time_entries\",\n description: \"List all time entries.\",\n sdkFn: getV1TimeEntries,\n },\n {\n name: \"get_time_entry\",\n description: \"Get a single time entry by ID.\",\n sdkFn: getV1TimeEntriesByTimeEntryId,\n pathParams: {\n id: { sdkName: \"time_entry_id\", description: \"Time Entry ID\" },\n },\n },\n\n // ── Transactions ──\n {\n name: \"list_transactions\",\n description: \"List all transactions.\",\n sdkFn: getV1Transactions,\n },\n {\n name: \"get_transaction\",\n description: \"Get a single transaction by ID.\",\n sdkFn: getV1TransactionsByTransactionId,\n pathParams: {\n id: { sdkName: \"transaction_id\", description: \"Transaction ID\" },\n },\n },\n\n // ── Activities ──\n {\n name: \"list_activities\",\n description:\n \"List all activities. Can filter by matter_id, contact_id, type, or event.\",\n sdkFn: getV1Activities,\n queryParams: {\n filter_by: {\n description:\n \"Field to filter by (matter_id, contact_id, type, or event)\",\n },\n filter_on: { description: \"Value to filter on\" },\n },\n },\n {\n name: \"get_activity\",\n description: \"Get a single activity by ID.\",\n sdkFn: getV1ActivitiesByActivityId,\n pathParams: {\n id: { sdkName: \"activity_id\", description: \"Activity ID\" },\n },\n },\n\n // ── Users ──\n {\n name: \"list_users\",\n description: \"List all users in the firm.\",\n sdkFn: getV1Users,\n },\n {\n name: \"get_user\",\n description: \"Get a single user by ID.\",\n sdkFn: getV1UsersByUserId,\n pathParams: { id: { sdkName: \"user_id\", description: \"User ID\" } },\n },\n {\n name: \"get_me\",\n description: \"Get the currently authenticated user.\",\n sdkFn: getV1UsersMe,\n },\n ] as Omit<ToolConfig, \"defaultQuery\" | \"commonListQueryParams\">[]\n ).map((t) => ({ ...lmDefaults, ...t }) as ToolConfig);\n\n // ── Register all tools ──\n\n for (const tool of tools) {\n const effectiveQueryParams = getEffectiveQueryParams(tool);\n\n const inputSchema: Record<string, z.ZodType> = {};\n\n // Add path params as required strings\n if (tool.pathParams) {\n for (const [paramName, spec] of Object.entries(tool.pathParams)) {\n const description = typeof spec === \"string\" ? spec : spec.description;\n inputSchema[paramName] = z.string().describe(description);\n }\n }\n\n // Add query params as optional strings\n if (effectiveQueryParams) {\n for (const [paramName, spec] of Object.entries(effectiveQueryParams)) {\n const description = isZodType(spec) ? \"\" : spec.description;\n inputSchema[paramName] = z.string().optional().describe(description);\n }\n }\n\n server.registerTool(\n tool.name,\n {\n description: tool.description,\n inputSchema:\n Object.keys(inputSchema).length > 0 ? inputSchema : undefined,\n },\n createToolHandler(tool),\n );\n }\n\n return server;\n}\n","// This file is auto-generated by @hey-api/openapi-ts\n\nimport { client } from './client.gen.js';\nimport type { Client, Options as Options2, TDataShape } from './client/index.js';\nimport type { DeleteV1AddressesByAddressIdData, DeleteV1AddressesByAddressIdResponses, DeleteV1CompaniesByCompanyIdData, DeleteV1CompaniesByCompanyIdResponses, DeleteV1ContactsByContactIdData, DeleteV1ContactsByContactIdResponses, DeleteV1CustomContactTypesByCustomContactTypeIdData, DeleteV1CustomContactTypesByCustomContactTypeIdResponses, DeleteV1CustomFieldsByCustomFieldIdData, DeleteV1CustomFieldsByCustomFieldIdResponses, DeleteV1EmailAddressesByEmailAddressIdData, DeleteV1EmailAddressesByEmailAddressIdResponses, DeleteV1EventsByEventIdData, DeleteV1EventsByEventIdResponses, DeleteV1EventTypesByEventTypeIdData, DeleteV1EventTypesByEventTypeIdResponses, DeleteV1ExpensesByExpenseIdData, DeleteV1ExpensesByExpenseIdResponses, DeleteV1FilesByFileIdData, DeleteV1FilesByFileIdResponses, DeleteV1FoldersByFolderIdData, DeleteV1FoldersByFolderIdResponses, DeleteV1InteractionsByInteractionIdData, DeleteV1InteractionsByInteractionIdResponses, DeleteV1NotesByNoteIdData, DeleteV1NotesByNoteIdResponses, DeleteV1PhoneNumbersByPhoneNumberIdData, DeleteV1PhoneNumbersByPhoneNumberIdResponses, DeleteV1PracticeAreasByPracticeAreaIdData, DeleteV1PracticeAreasByPracticeAreaIdResponses, DeleteV1ProspectsByProspectIdData, DeleteV1ProspectsByProspectIdResponses, DeleteV1RelationshipsByRelationshipIdData, DeleteV1RelationshipsByRelationshipIdResponses, DeleteV1SubStatusesByStatusIdData, DeleteV1SubStatusesByStatusIdResponses, DeleteV1TagsByTagIdData, DeleteV1TagsByTagIdResponses, DeleteV1TasksByTaskIdCommentsByCommentIdData, DeleteV1TasksByTaskIdCommentsByCommentIdResponses, DeleteV1TasksByTaskIdData, DeleteV1TasksByTaskIdResponses, DeleteV1TasksByTaskIdSubtasksBySubtaskIdData, DeleteV1TasksByTaskIdSubtasksBySubtaskIdResponses, DeleteV1TaskStatusesByTaskStatusIdData, DeleteV1TaskStatusesByTaskStatusIdResponses, DeleteV1TimeEntriesByTimeEntryIdData, DeleteV1TimeEntriesByTimeEntryIdResponses, DeleteV1UsersByUserIdData, DeleteV1UsersByUserIdResponses, GetV1ActivitiesByActivityIdData, GetV1ActivitiesByActivityIdResponses, GetV1ActivitiesData, GetV1ActivitiesErrors, GetV1ActivitiesResponses, GetV1AddressesByAddressIdData, GetV1AddressesByAddressIdResponses, GetV1AddressesData, GetV1AddressesResponses, GetV1CampaignsByCampaignIdData, GetV1CampaignsByCampaignIdResponses, GetV1CampaignsData, GetV1CampaignsResponses, GetV1CompaniesByCompanyIdData, GetV1CompaniesByCompanyIdResponses, GetV1CompaniesData, GetV1CompaniesFindByEmailByEmailAddressData, GetV1CompaniesFindByEmailByEmailAddressResponses, GetV1CompaniesFindByNameByNameData, GetV1CompaniesFindByNameByNameResponses, GetV1CompaniesFindByPhoneByPhoneNumberData, GetV1CompaniesFindByPhoneByPhoneNumberResponses, GetV1CompaniesResponses, GetV1ContactsByContactIdData, GetV1ContactsByContactIdResponses, GetV1ContactsData, GetV1ContactsFindByEmailByEmailAddressData, GetV1ContactsFindByEmailByEmailAddressResponses, GetV1ContactsFindByNameByNameData, GetV1ContactsFindByNameByNameResponses, GetV1ContactsFindByPhoneByPhoneNumberData, GetV1ContactsFindByPhoneByPhoneNumberResponses, GetV1ContactsResponses, GetV1CustomContactTypesByCustomContactTypeIdData, GetV1CustomContactTypesByCustomContactTypeIdResponses, GetV1CustomContactTypesData, GetV1CustomContactTypesResponses, GetV1CustomEmailsByCustomEmailIdData, GetV1CustomEmailsByCustomEmailIdResponses, GetV1CustomEmailsData, GetV1CustomEmailsResponses, GetV1CustomFieldsByCustomFieldIdData, GetV1CustomFieldsByCustomFieldIdResponses, GetV1CustomFieldsData, GetV1CustomFieldsResponses, GetV1EmailAddressesByEmailAddressIdData, GetV1EmailAddressesByEmailAddressIdResponses, GetV1EmailAddressesData, GetV1EmailAddressesResponses, GetV1EmailCampaignsByIdData, GetV1EmailCampaignsByIdResponses, GetV1EmailCampaignsData, GetV1EmailCampaignsResponses, GetV1EmailCampaignStatsByIdData, GetV1EmailCampaignStatsByIdResponses, GetV1EventsByEventIdData, GetV1EventsByEventIdResponses, GetV1EventsData, GetV1EventsResponses, GetV1EventTypesByEventTypeIdData, GetV1EventTypesByEventTypeIdResponses, GetV1EventTypesData, GetV1EventTypesResponses, GetV1ExpensesByExpenseIdData, GetV1ExpensesByExpenseIdResponses, GetV1ExpensesData, GetV1ExpensesResponses, GetV1FilesByFileIdData, GetV1FilesByFileIdResponses, GetV1FilesData, GetV1FilesDownloadByIdData, GetV1FilesDownloadByIdErrors, GetV1FilesDownloadByIdResponses, GetV1FilesErrors, GetV1FilesResponses, GetV1FoldersByFolderIdData, GetV1FoldersByFolderIdResponses, GetV1FoldersData, GetV1FoldersResponses, GetV1FormsByCustomFormUuidData, GetV1FormsByCustomFormUuidEntriesData, GetV1FormsByCustomFormUuidEntriesResponses, GetV1FormsByCustomFormUuidResponses, GetV1FormsData, GetV1FormsResponses, GetV1InteractionsByInteractionIdData, GetV1InteractionsByInteractionIdResponses, GetV1InteractionsData, GetV1InteractionsResponses, GetV1InvoicesByInvoiceIdData, GetV1InvoicesByInvoiceIdResponses, GetV1InvoicesData, GetV1InvoicesResponses, GetV1LocationsData, GetV1LocationsResponses, GetV1NotesByNoteIdData, GetV1NotesByNoteIdResponses, GetV1NotesData, GetV1NotesResponses, GetV1PhoneNumbersByPhoneNumberIdData, GetV1PhoneNumbersByPhoneNumberIdResponses, GetV1PhoneNumbersData, GetV1PhoneNumbersResponses, GetV1PipelinesByPipelineIdData, GetV1PipelinesByPipelineIdResponses, GetV1PipelinesData, GetV1PipelinesResponses, GetV1PracticeAreasByPracticeAreaIdData, GetV1PracticeAreasByPracticeAreaIdResponses, GetV1PracticeAreasData, GetV1PracticeAreasResponses, GetV1ProspectsByProspectIdData, GetV1ProspectsByProspectIdResponses, GetV1ProspectsData, GetV1ProspectsFindByEmailByEmailAddressData, GetV1ProspectsFindByEmailByEmailAddressResponses, GetV1ProspectsFindByNameByNameData, GetV1ProspectsFindByNameByNameResponses, GetV1ProspectsFindByPhoneByPhoneNumberData, GetV1ProspectsFindByPhoneByPhoneNumberResponses, GetV1ProspectsResponses, GetV1RelationshipsByRelationshipIdData, GetV1RelationshipsByRelationshipIdResponses, GetV1RelationshipsData, GetV1RelationshipsResponses, GetV1RelationshipTypesByRelationshipTypeIdData, GetV1RelationshipTypesByRelationshipTypeIdResponses, GetV1RelationshipTypesData, GetV1RelationshipTypesResponses, GetV1SourcesBySourceIdData, GetV1SourcesBySourceIdResponses, GetV1SourcesData, GetV1SourcesResponses, GetV1StagesByStageIdData, GetV1StagesByStageIdResponses, GetV1StagesData, GetV1StagesResponses, GetV1SubStatusesByStatusIdData, GetV1SubStatusesByStatusIdResponses, GetV1SubStatusesData, GetV1SubStatusesResponses, GetV1TagsByTagIdData, GetV1TagsByTagIdResponses, GetV1TagsData, GetV1TagsResponses, GetV1TasksByTaskIdCommentsByCommentIdData, GetV1TasksByTaskIdCommentsByCommentIdResponses, GetV1TasksByTaskIdCommentsData, GetV1TasksByTaskIdCommentsResponses, GetV1TasksByTaskIdData, GetV1TasksByTaskIdResponses, GetV1TasksByTaskIdSubtasksBySubtaskIdData, GetV1TasksByTaskIdSubtasksBySubtaskIdResponses, GetV1TasksByTaskIdSubtasksData, GetV1TasksByTaskIdSubtasksResponses, GetV1TasksData, GetV1TasksResponses, GetV1TaskStatusesByTaskStatusIdData, GetV1TaskStatusesByTaskStatusIdResponses, GetV1TaskStatusesData, GetV1TaskStatusesResponses, GetV1TimeEntriesByTimeEntryIdData, GetV1TimeEntriesByTimeEntryIdResponses, GetV1TimeEntriesData, GetV1TimeEntriesResponses, GetV1TransactionsByTransactionIdData, GetV1TransactionsByTransactionIdResponses, GetV1TransactionsData, GetV1TransactionsResponses, GetV1UsersByUserIdData, GetV1UsersByUserIdResponses, GetV1UsersData, GetV1UsersMeData, GetV1UsersMeResponses, GetV1UsersResponses, PostV1AddressesData, PostV1AddressesResponses, PostV1CompaniesData, PostV1CompaniesResponses, PostV1ContactsData, PostV1ContactsResponses, PostV1CustomContactTypesData, PostV1CustomContactTypesResponses, PostV1CustomFieldsData, PostV1CustomFieldsResponses, PostV1EmailAddressesData, PostV1EmailAddressesResponses, PostV1EventsData, PostV1EventsResponses, PostV1EventTypesData, PostV1EventTypesResponses, PostV1ExpensesData, PostV1ExpensesResponses, PostV1FilesData, PostV1FilesResponses, PostV1FoldersData, PostV1FoldersErrors, PostV1FoldersResponses, PostV1FormsByCustomFormUuidSubmitData, PostV1FormsByCustomFormUuidSubmitResponses, PostV1InteractionsData, PostV1InteractionsResponses, PostV1NotesData, PostV1NotesResponses, PostV1PhoneNumbersData, PostV1PhoneNumbersResponses, PostV1PracticeAreasData, PostV1PracticeAreasResponses, PostV1ProspectsData, PostV1ProspectsResponses, PostV1RelationshipsData, PostV1RelationshipsResponses, PostV1RelationshipTypesData, PostV1RelationshipTypesResponses, PostV1SubStatusesData, PostV1SubStatusesResponses, PostV1TagsAttachData, PostV1TagsAttachResponses, PostV1TagsData, PostV1TagsDetachData, PostV1TagsDetachResponses, PostV1TagsResponses, PostV1TasksByTaskIdCommentsData, PostV1TasksByTaskIdCommentsResponses, PostV1TasksByTaskIdSubtasksData, PostV1TasksByTaskIdSubtasksResponses, PostV1TasksData, PostV1TasksResponses, PostV1TaskStatusesData, PostV1TaskStatusesResponses, PostV1TimeEntriesData, PostV1TimeEntriesResponses, PostV1TransactionsData, PostV1TransactionsResponses, PostV1UsersData, PostV1UsersResponses, PutV1AddressesByAddressIdData, PutV1AddressesByAddressIdResponses, PutV1CompaniesByCompanyIdData, PutV1CompaniesByCompanyIdResponses, PutV1ContactsByContactIdData, PutV1ContactsByContactIdResponses, PutV1CustomContactTypesByCustomContactTypeIdData, PutV1CustomContactTypesByCustomContactTypeIdResponses, PutV1CustomFieldsByCustomFieldIdData, PutV1CustomFieldsByCustomFieldIdResponses, PutV1EmailAddressesByEmailAddressIdData, PutV1EmailAddressesByEmailAddressIdResponses, PutV1EventsByEventIdData, PutV1EventsByEventIdResponses, PutV1EventTypesByEventTypeIdData, PutV1EventTypesByEventTypeIdResponses, PutV1ExpensesByExpenseIdData, PutV1ExpensesByExpenseIdResponses, PutV1FilesByFileIdData, PutV1FilesByFileIdResponses, PutV1FoldersByFolderIdData, PutV1FoldersByFolderIdResponses, PutV1InteractionsByInteractionIdData, PutV1InteractionsByInteractionIdResponses, PutV1NotesByNoteIdData, PutV1NotesByNoteIdResponses, PutV1PhoneNumbersByPhoneNumberIdData, PutV1PhoneNumbersByPhoneNumberIdResponses, PutV1PracticeAreasByPracticeAreaIdData, PutV1PracticeAreasByPracticeAreaIdResponses, PutV1ProspectsByProspectIdData, PutV1ProspectsByProspectIdResponses, PutV1RelationshipsByRelationshipIdData, PutV1RelationshipsByRelationshipIdResponses, PutV1RelationshipTypesByRelationshipTypeIdData, PutV1RelationshipTypesByRelationshipTypeIdResponses, PutV1SubStatusesByStatusIdData, PutV1SubStatusesByStatusIdResponses, PutV1TagsByTagIdData, PutV1TagsByTagIdResponses, PutV1TasksByTaskIdCommentsByCommentIdData, PutV1TasksByTaskIdCommentsByCommentIdResponses, PutV1TasksByTaskIdData, PutV1TasksByTaskIdResponses, PutV1TasksByTaskIdSubtasksBySubtaskIdData, PutV1TasksByTaskIdSubtasksBySubtaskIdResponses, PutV1TaskStatusesByTaskStatusIdData, PutV1TaskStatusesByTaskStatusIdResponses, PutV1TimeEntriesByTimeEntryIdData, PutV1TimeEntriesByTimeEntryIdResponses, PutV1UsersByUserIdData, PutV1UsersByUserIdResponses } from './types.gen.js';\n\nexport type Options<TData extends TDataShape = TDataShape, ThrowOnError extends boolean = boolean> = Options2<TData, ThrowOnError> & {\n /**\n * You can provide a client instance returned by `createClient()` instead of\n * individual options. This might be also useful if you want to implement a\n * custom client.\n */\n client?: Client;\n /**\n * You can pass arbitrary values through the `meta` object. This can be\n * used to access values that aren't defined as part of the SDK function.\n */\n meta?: Record<string, unknown>;\n};\n\n/**\n * Filter Matter by specific Practice Area\n */\nexport const getV1Prospects = <ThrowOnError extends boolean = false>(options?: Options<GetV1ProspectsData, ThrowOnError>) => (options?.client ?? client).get<GetV1ProspectsResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/prospects',\n ...options\n});\n\n/**\n * Create Matter\n *\n * Create a new Matter\n */\nexport const postV1Prospects = <ThrowOnError extends boolean = false>(options?: Options<PostV1ProspectsData, ThrowOnError>) => (options?.client ?? client).post<PostV1ProspectsResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/prospects',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n});\n\n/**\n * Delete Address\n *\n * Delete an **Address**\n *\n * **address_id**: ID of the **Address** to delete\n */\nexport const deleteV1AddressesByAddressId = <ThrowOnError extends boolean = false>(options: Options<DeleteV1AddressesByAddressIdData, ThrowOnError>) => (options.client ?? client).delete<DeleteV1AddressesByAddressIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/addresses/{address_id}',\n ...options\n});\n\n/**\n * Address\n *\n * A specific Stage by id\n */\nexport const getV1AddressesByAddressId = <ThrowOnError extends boolean = false>(options: Options<GetV1AddressesByAddressIdData, ThrowOnError>) => (options.client ?? client).get<GetV1AddressesByAddressIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/addresses/{address_id}',\n ...options\n});\n\n/**\n * Update Address\n *\n * Updates an **Address** by ID\n */\nexport const putV1AddressesByAddressId = <ThrowOnError extends boolean = false>(options: Options<PutV1AddressesByAddressIdData, ThrowOnError>) => (options.client ?? client).put<PutV1AddressesByAddressIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/addresses/{address_id}',\n ...options\n});\n\n/**\n * Addresses\n *\n * A **paginated** list of all **Addresses** in Lawmatics\n */\nexport const getV1Addresses = <ThrowOnError extends boolean = false>(options?: Options<GetV1AddressesData, ThrowOnError>) => (options?.client ?? client).get<GetV1AddressesResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/addresses',\n ...options\n});\n\n/**\n * Create Address\n *\n * Create a new **Address**\n *\n * **Required Fields**: addressable, label, street\n *\n * **addressable_type**: Prospect, Contact, Company, or Firm that the Address belongs to.\n *\n * **addressable_id:** Id of Record. Firm type doesn't need an ID passed and it will be ignored.\n *\n * Note - Setting the **Address** through a **Prospect** (Matter) will set the address on the Prospects' **Contact****Company**.\n */\nexport const postV1Addresses = <ThrowOnError extends boolean = false>(options?: Options<PostV1AddressesData, ThrowOnError>) => (options?.client ?? client).post<PostV1AddressesResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/addresses',\n ...options\n});\n\n/**\n * Find Contact By Phone Number\n *\n * Fuzzy find a specific Contact by Phone Number.\n */\nexport const getV1ContactsFindByPhoneByPhoneNumber = <ThrowOnError extends boolean = false>(options: Options<GetV1ContactsFindByPhoneByPhoneNumberData, ThrowOnError>) => (options.client ?? client).get<GetV1ContactsFindByPhoneByPhoneNumberResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/contacts/find_by_phone/{phone_number}',\n ...options\n});\n\n/**\n * Find Contact By Email Address\n *\n * Fuzzy find a specific Contact by Email Address.\n */\nexport const getV1ContactsFindByEmailByEmailAddress = <ThrowOnError extends boolean = false>(options: Options<GetV1ContactsFindByEmailByEmailAddressData, ThrowOnError>) => (options.client ?? client).get<GetV1ContactsFindByEmailByEmailAddressResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/contacts/find_by_email/{email_address}',\n ...options\n});\n\n/**\n * Find Contact By Name\n *\n * Fuzzy find (case-insensitive) a specific Contact by their Name. You can pass either '{first_name} {last_name}' or simply '{first_name}'\n */\nexport const getV1ContactsFindByNameByName = <ThrowOnError extends boolean = false>(options: Options<GetV1ContactsFindByNameByNameData, ThrowOnError>) => (options.client ?? client).get<GetV1ContactsFindByNameByNameResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/contacts/find_by_name/{name}',\n ...options\n});\n\n/**\n * Delete Custom Contact Type\n *\n * Delete an existing **Custom Contact Type** by ID.\n *\n * Warning: This is irreversible!\n */\nexport const deleteV1CustomContactTypesByCustomContactTypeId = <ThrowOnError extends boolean = false>(options: Options<DeleteV1CustomContactTypesByCustomContactTypeIdData, ThrowOnError>) => (options.client ?? client).delete<DeleteV1CustomContactTypesByCustomContactTypeIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/custom_contact_types/{custom_contact_type_id}',\n ...options\n});\n\n/**\n * Custom Contact Type\n *\n * A specific **Custom Contact Type** by ID\n */\nexport const getV1CustomContactTypesByCustomContactTypeId = <ThrowOnError extends boolean = false>(options: Options<GetV1CustomContactTypesByCustomContactTypeIdData, ThrowOnError>) => (options.client ?? client).get<GetV1CustomContactTypesByCustomContactTypeIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/custom_contact_types/{custom_contact_type_id}',\n ...options\n});\n\n/**\n * Update Custom Contact Type\n *\n * Update an existing **Custom Contact Type** by ID.\n */\nexport const putV1CustomContactTypesByCustomContactTypeId = <ThrowOnError extends boolean = false>(options: Options<PutV1CustomContactTypesByCustomContactTypeIdData, ThrowOnError>) => (options.client ?? client).put<PutV1CustomContactTypesByCustomContactTypeIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/custom_contact_types/{custom_contact_type_id}',\n ...options\n});\n\n/**\n * Custom Contact Types\n *\n * A **paginated** list of all **Custom Contact Type** in Lawmatics\n */\nexport const getV1CustomContactTypes = <ThrowOnError extends boolean = false>(options?: Options<GetV1CustomContactTypesData, ThrowOnError>) => (options?.client ?? client).get<GetV1CustomContactTypesResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/custom_contact_types',\n ...options\n});\n\n/**\n * Create Custom Contact Type\n *\n * Create a new **Custom Contact Type**\n */\nexport const postV1CustomContactTypes = <ThrowOnError extends boolean = false>(options?: Options<PostV1CustomContactTypesData, ThrowOnError>) => (options?.client ?? client).post<PostV1CustomContactTypesResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/custom_contact_types',\n ...options\n});\n\n/**\n * Delete Contact\n *\n * Delete an existing **Contact** by ID.\n *\n * Warning: This is irreversible!\n */\nexport const deleteV1ContactsByContactId = <ThrowOnError extends boolean = false>(options: Options<DeleteV1ContactsByContactIdData, ThrowOnError>) => (options.client ?? client).delete<DeleteV1ContactsByContactIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/contacts/{contact_id}',\n ...options\n});\n\n/**\n * Contact\n *\n * A specific **Contact** by id\n */\nexport const getV1ContactsByContactId = <ThrowOnError extends boolean = false>(options: Options<GetV1ContactsByContactIdData, ThrowOnError>) => (options.client ?? client).get<GetV1ContactsByContactIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/contacts/{contact_id}',\n ...options\n});\n\n/**\n * Update Contact\n *\n * Update an existing **Contact** by ID.\n *\n * Passing Custom Field id and value, will set the custom field value on the **Contact**, and overwrite any existing value. Passing null as the value will clear it out.\n */\nexport const putV1ContactsByContactId = <ThrowOnError extends boolean = false>(options: Options<PutV1ContactsByContactIdData, ThrowOnError>) => (options.client ?? client).put<PutV1ContactsByContactIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/contacts/{contact_id}',\n ...options\n});\n\n/**\n * Contacts\n *\n * A **paginated** list of all **Contacts** in Lawmatics\n */\nexport const getV1Contacts = <ThrowOnError extends boolean = false>(options?: Options<GetV1ContactsData, ThrowOnError>) => (options?.client ?? client).get<GetV1ContactsResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/contacts',\n ...options\n});\n\n/**\n * Create Contact\n *\n * Create a new **Contact**\n */\nexport const postV1Contacts = <ThrowOnError extends boolean = false>(options?: Options<PostV1ContactsData, ThrowOnError>) => (options?.client ?? client).post<PostV1ContactsResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/contacts',\n ...options\n});\n\n/**\n * Find Company By Phone Number\n *\n * Fuzzy find a specific **Company** by **Phone Number**. Will look for the **Company** **Phone Number**, then fallback to search though associated **Contacts**.\n */\nexport const getV1CompaniesFindByPhoneByPhoneNumber = <ThrowOnError extends boolean = false>(options: Options<GetV1CompaniesFindByPhoneByPhoneNumberData, ThrowOnError>) => (options.client ?? client).get<GetV1CompaniesFindByPhoneByPhoneNumberResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/companies/find_by_phone/{phone_number}',\n ...options\n});\n\n/**\n * Find Company By Email Address\n *\n * Fuzzy find a specific **Company** by **Email Address**. Will look for the **Company** **Email Address**, then fallback to search though associated **Contacts**.\n */\nexport const getV1CompaniesFindByEmailByEmailAddress = <ThrowOnError extends boolean = false>(options: Options<GetV1CompaniesFindByEmailByEmailAddressData, ThrowOnError>) => (options.client ?? client).get<GetV1CompaniesFindByEmailByEmailAddressResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/companies/find_by_email/{email_address}',\n ...options\n});\n\n/**\n * Find Company By Name\n *\n * Fuzzy find (case-insensitive) a specific **Company** by Name\n */\nexport const getV1CompaniesFindByNameByName = <ThrowOnError extends boolean = false>(options: Options<GetV1CompaniesFindByNameByNameData, ThrowOnError>) => (options.client ?? client).get<GetV1CompaniesFindByNameByNameResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/companies/find_by_name/{name}',\n ...options\n});\n\n/**\n * Delete Company\n *\n * Delete an existing **Company** by ID.\n *\n * Warning: This is irreversible!\n */\nexport const deleteV1CompaniesByCompanyId = <ThrowOnError extends boolean = false>(options: Options<DeleteV1CompaniesByCompanyIdData, ThrowOnError>) => (options.client ?? client).delete<DeleteV1CompaniesByCompanyIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/companies/{company_id}',\n ...options\n});\n\n/**\n * Company\n *\n * A specific **Company** by id\n */\nexport const getV1CompaniesByCompanyId = <ThrowOnError extends boolean = false>(options: Options<GetV1CompaniesByCompanyIdData, ThrowOnError>) => (options.client ?? client).get<GetV1CompaniesByCompanyIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/companies/{company_id}',\n ...options\n});\n\n/**\n * Update Company\n *\n * Update an existing **Company** by ID.\n *\n * Passing Custom Field id and value, will set the custom field value on the **Company**, and overwrite any existing value. Passing null as the value will clear it out.\n */\nexport const putV1CompaniesByCompanyId = <ThrowOnError extends boolean = false>(options: Options<PutV1CompaniesByCompanyIdData, ThrowOnError>) => (options.client ?? client).put<PutV1CompaniesByCompanyIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/companies/{company_id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Companies\n *\n * A **paginated** list of all **Companies** in Lawmatics\n */\nexport const getV1Companies = <ThrowOnError extends boolean = false>(options?: Options<GetV1CompaniesData, ThrowOnError>) => (options?.client ?? client).get<GetV1CompaniesResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/companies',\n ...options\n});\n\n/**\n * Create Company\n *\n * Create a new **Company**\n */\nexport const postV1Companies = <ThrowOnError extends boolean = false>(options?: Options<PostV1CompaniesData, ThrowOnError>) => (options?.client ?? client).post<PostV1CompaniesResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/companies',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n});\n\n/**\n * Custom Email\n *\n * A specific **custom email** by id showcasing the custom email statistics such as unique open count, send count, bounce count, open rate, send rate, and bounce rate.\n */\nexport const getV1CustomEmailsByCustomEmailId = <ThrowOnError extends boolean = false>(options: Options<GetV1CustomEmailsByCustomEmailIdData, ThrowOnError>) => (options.client ?? client).get<GetV1CustomEmailsByCustomEmailIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/custom_emails/{custom_email_id}',\n ...options\n});\n\n/**\n * Custom Emails\n *\n * A list of all **custom emails** in Lawmatics.\n */\nexport const getV1CustomEmails = <ThrowOnError extends boolean = false>(options?: Options<GetV1CustomEmailsData, ThrowOnError>) => (options?.client ?? client).get<GetV1CustomEmailsResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/custom_emails',\n ...options\n});\n\n/**\n * Delete Custom Field\n */\nexport const deleteV1CustomFieldsByCustomFieldId = <ThrowOnError extends boolean = false>(options: Options<DeleteV1CustomFieldsByCustomFieldIdData, ThrowOnError>) => (options.client ?? client).delete<DeleteV1CustomFieldsByCustomFieldIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/custom_fields/{custom_field_id}',\n ...options\n});\n\n/**\n * Custom Field\n *\n * Specific Custom Field metadata by ID\n */\nexport const getV1CustomFieldsByCustomFieldId = <ThrowOnError extends boolean = false>(options: Options<GetV1CustomFieldsByCustomFieldIdData, ThrowOnError>) => (options.client ?? client).get<GetV1CustomFieldsByCustomFieldIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/custom_fields/{custom_field_id}',\n ...options\n});\n\n/**\n * Update Custom Field\n *\n * Update an existing Custom Field by ID.\n */\nexport const putV1CustomFieldsByCustomFieldId = <ThrowOnError extends boolean = false>(options: Options<PutV1CustomFieldsByCustomFieldIdData, ThrowOnError>) => (options.client ?? client).put<PutV1CustomFieldsByCustomFieldIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/custom_fields/{custom_field_id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Custom Fields\n *\n * A __paginated__ list of all Custom Field metadata in Lawmatics\n */\nexport const getV1CustomFields = <ThrowOnError extends boolean = false>(options?: Options<GetV1CustomFieldsData, ThrowOnError>) => (options?.client ?? client).get<GetV1CustomFieldsResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/custom_fields',\n ...options\n});\n\n/**\n * Create Custom Field\n *\n * Create a new Custom Field\n *\n * Name: Custom Field's name\n *\n * Type: One of `Matter`, `Contact`, `Company`, `Client`, or `PracticeArea`\n *\n * Visibility (optional): `starred`, `hidden`, `default` (default)\n *\n * field_type: One of `integer`, `boolean`, `string`, `text`, `currency`, `date`, `time`, `datetime`, `list`, `lookup`, `multi_picklist`\n *\n * list_options: Required if field_type is `list` or `multi_picklist`, two options at minimum\n *\n * lookup_type: Required if field_type is `lookup`. One of `User`, `Contact`, `Company` or `Prospect`\n *\n * practice_area: Name of practice area. Required if type is `PracticeArea`\n */\nexport const postV1CustomFields = <ThrowOnError extends boolean = false>(options?: Options<PostV1CustomFieldsData, ThrowOnError>) => (options?.client ?? client).post<PostV1CustomFieldsResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/custom_fields',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n});\n\n/**\n * Custom Form\n *\n * This *Unauthenticated* endpoint takes a __Custom Form__ id and returns metadata about that __Custom Form__. This metadata can be used to recreate a Lawmatics __Custom Form__ to be filled using your own html code.\n */\nexport const getV1FormsByCustomFormUuid = <ThrowOnError extends boolean = false>(options: Options<GetV1FormsByCustomFormUuidData, ThrowOnError>) => (options.client ?? client).get<GetV1FormsByCustomFormUuidResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/forms/{custom_form_uuid}',\n ...options\n});\n\n/**\n * Custom Forms\n *\n * A __paginated__ list of all Custom Forms in Lawmatics\n */\nexport const getV1Forms = <ThrowOnError extends boolean = false>(options?: Options<GetV1FormsData, ThrowOnError>) => (options?.client ?? client).get<GetV1FormsResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/forms',\n ...options\n});\n\n/**\n * Custom Form Entries\n *\n * A __paginated__ list of all Custom Form Entries in Lawmatics by Custom Form uuid\n */\nexport const getV1FormsByCustomFormUuidEntries = <ThrowOnError extends boolean = false>(options: Options<GetV1FormsByCustomFormUuidEntriesData, ThrowOnError>) => (options.client ?? client).get<GetV1FormsByCustomFormUuidEntriesResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/forms/{custom_form_uuid}/entries',\n ...options\n});\n\n/**\n * Submit Custom Form Entry (Form Data Body)\n *\n * This *Unauthenticated* (YOU DO NOT NEED A DEVELOPER APP) endpoint submits __Custom Form__ values. Keys for the values use the __Custom Form__ field ids found in Lawmatics, or found via the GET endpoint.\n *\n * Data should be serialized via form-data (plain html5 forms) or JSON body (shown in next example)\n *\n * Any automations will trigger as expected when this __Custom Form__ is submitted via the API.\n */\nexport const postV1FormsByCustomFormUuidSubmit = <ThrowOnError extends boolean = false>(options: Options<PostV1FormsByCustomFormUuidSubmitData, ThrowOnError>) => (options.client ?? client).post<PostV1FormsByCustomFormUuidSubmitResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/forms/{custom_form_uuid}/submit',\n ...options\n});\n\n/**\n * Delete Email Address\n *\n * Delete a **Email Address** by ID\n *\n * **email_address_id**: ID of the **Email Address** to delete\n */\nexport const deleteV1EmailAddressesByEmailAddressId = <ThrowOnError extends boolean = false>(options: Options<DeleteV1EmailAddressesByEmailAddressIdData, ThrowOnError>) => (options.client ?? client).delete<DeleteV1EmailAddressesByEmailAddressIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/email_addresses/{email_address_id}',\n ...options\n});\n\n/**\n * Email Address\n *\n * A specific **Email Address** by id\n */\nexport const getV1EmailAddressesByEmailAddressId = <ThrowOnError extends boolean = false>(options: Options<GetV1EmailAddressesByEmailAddressIdData, ThrowOnError>) => (options.client ?? client).get<GetV1EmailAddressesByEmailAddressIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/email_addresses/{email_address_id}',\n ...options\n});\n\n/**\n * Update Email Address\n *\n * Updates a **Email Address** by id\n */\nexport const putV1EmailAddressesByEmailAddressId = <ThrowOnError extends boolean = false>(options: Options<PutV1EmailAddressesByEmailAddressIdData, ThrowOnError>) => (options.client ?? client).put<PutV1EmailAddressesByEmailAddressIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/email_addresses/{email_address_id}',\n ...options\n});\n\n/**\n * Email Addresses\n *\n * A **paginated** list of all **Email Addresses** in Lawmatics\n */\nexport const getV1EmailAddresses = <ThrowOnError extends boolean = false>(options?: Options<GetV1EmailAddressesData, ThrowOnError>) => (options?.client ?? client).get<GetV1EmailAddressesResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/email_addresses',\n ...options\n});\n\n/**\n * Create Email Address\n *\n * Create a new **Email Address**\n *\n * **Required Fields**: informationable, label, info\n *\n * **info:** The **Email Address** string.\n *\n * **label**: The **Email Address's** label e.g. Primary.\n *\n * **informationable_type**: **Prospect**, **Contact**, **Company**, or **Firm** that the **Email Address** belongs to.\n *\n * **informationable_id:** Id of Record. **Firm** type doesn't need an ID passed and it will be ignored.\n *\n * Note - Setting the **Email Address** through a **Prospect** (Matter) will set it on on the **Prospects**' **Contact****Company**.\n */\nexport const postV1EmailAddresses = <ThrowOnError extends boolean = false>(options?: Options<PostV1EmailAddressesData, ThrowOnError>) => (options?.client ?? client).post<PostV1EmailAddressesResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/email_addresses',\n ...options\n});\n\n/**\n * Email Campaign\n *\n * Returns a specific campaign in **Lawmatics**.\n *\n * To retrieve a specific campaign, use the following format: TypeofCampaign-id\n *\n * An example of retrieving a marketing campaign would be:\n * /v1/email_campaigns/MarketingCampaign-1\n *\n * An example of retrieving a recurring campaign would be:\n * /v1/email_campaigns/RecurringCampaign-1\n *\n * An example of retrieving a date campaign would be:\n * /v1/email_campaigns/DateCampaign-1\n */\nexport const getV1EmailCampaignsById = <ThrowOnError extends boolean = false>(options: Options<GetV1EmailCampaignsByIdData, ThrowOnError>) => (options.client ?? client).get<GetV1EmailCampaignsByIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/email_campaigns/{id}',\n ...options\n});\n\n/**\n * Email Campaigns\n *\n * Returns all email campaigns in **Lawmatics**.\n */\nexport const getV1EmailCampaigns = <ThrowOnError extends boolean = false>(options?: Options<GetV1EmailCampaignsData, ThrowOnError>) => (options?.client ?? client).get<GetV1EmailCampaignsResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/email_campaigns',\n ...options\n});\n\n/**\n * Email Campaign Stats\n *\n * Retrieves a statistics of a specific email campaign in Lawmatics.\n *\n * To retrieve a specific campaign, use the following format: TypeofCampaign-id\n *\n * An example of retrieving statistics of a marketing campaign would be:\n * /v1/email_campaign_stats/MarketingCampaign-1\n *\n * An example of retrieving statistics of a date campaign would be:\n * /v1/email_campaign_stats/DateCampaign-1\n */\nexport const getV1EmailCampaignStatsById = <ThrowOnError extends boolean = false>(options: Options<GetV1EmailCampaignStatsByIdData, ThrowOnError>) => (options.client ?? client).get<GetV1EmailCampaignStatsByIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/email_campaign_stats/{id}',\n ...options\n});\n\n/**\n * Cancel Event\n *\n * Cancels an existing Event/Appointment\n */\nexport const deleteV1EventsByEventId = <ThrowOnError extends boolean = false>(options: Options<DeleteV1EventsByEventIdData, ThrowOnError>) => (options.client ?? client).delete<DeleteV1EventsByEventIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/events/{event_id}',\n ...options\n});\n\n/**\n * Event\n *\n * A __paginated__ list of all Events in Lawmatics\n */\nexport const getV1EventsByEventId = <ThrowOnError extends boolean = false>(options: Options<GetV1EventsByEventIdData, ThrowOnError>) => (options.client ?? client).get<GetV1EventsByEventIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/events/{event_id}',\n ...options\n});\n\n/**\n * Update Event\n *\n * Update an existing Matter by ID.\n *\n * PATCH works for this endpoint as well as PUT.\n */\nexport const putV1EventsByEventId = <ThrowOnError extends boolean = false>(options: Options<PutV1EventsByEventIdData, ThrowOnError>) => (options.client ?? client).put<PutV1EventsByEventIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/events/{event_id}',\n ...options\n});\n\n/**\n * Events\n *\n * A __paginated__ list of all Events in Lawmatics\n */\nexport const getV1Events = <ThrowOnError extends boolean = false>(options?: Options<GetV1EventsData, ThrowOnError>) => (options?.client ?? client).get<GetV1EventsResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/events',\n ...options\n});\n\n/**\n * Create Event\n *\n * Create a new **Event**Appointment\n *\n * **Optional Fields**: Reminder fields, **Location** fields, time_zone\n *\n * **eventable_type, eventable_id**: The **Prospect**, **Contact**, or **Client** that the appointment is with.\n *\n * **user_ids**: The Firm **Users** hosting the appointment.\n *\n * **reminder_type**: 'minutes', 'hours', 'days', 'weeks', months'\n *\n * **reminder_delay_length:** Integer value (combined with reminder_type) for how long to wait to send a reminder\n *\n * **send_invites:** (default true)\n *\n * **all_day:** (default false)\n *\n * **time_zone**: a valid [tz identifier string](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones)), (defaults to null)\n */\nexport const postV1Events = <ThrowOnError extends boolean = false>(options?: Options<PostV1EventsData, ThrowOnError>) => (options?.client ?? client).post<PostV1EventsResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/events',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n});\n\n/**\n * Locations\n *\n * A __paginated__ list of all Firm Locations in Lawmatics\n */\nexport const getV1Locations = <ThrowOnError extends boolean = false>(options?: Options<GetV1LocationsData, ThrowOnError>) => (options?.client ?? client).get<GetV1LocationsResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/locations',\n ...options\n});\n\n/**\n * Delete Event Type\n *\n * Delete an **Event Type**\n */\nexport const deleteV1EventTypesByEventTypeId = <ThrowOnError extends boolean = false>(options: Options<DeleteV1EventTypesByEventTypeIdData, ThrowOnError>) => (options.client ?? client).delete<DeleteV1EventTypesByEventTypeIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/event_types/{event_type_id}',\n ...options\n});\n\n/**\n * Event Type\n *\n * A specific **Event Type** by id\n */\nexport const getV1EventTypesByEventTypeId = <ThrowOnError extends boolean = false>(options: Options<GetV1EventTypesByEventTypeIdData, ThrowOnError>) => (options.client ?? client).get<GetV1EventTypesByEventTypeIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/event_types/{event_type_id}',\n ...options\n});\n\n/**\n * Update Event Type\n *\n * Updates an **Event Type**\n */\nexport const putV1EventTypesByEventTypeId = <ThrowOnError extends boolean = false>(options: Options<PutV1EventTypesByEventTypeIdData, ThrowOnError>) => (options.client ?? client).put<PutV1EventTypesByEventTypeIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/event_types/{event_type_id}',\n ...options\n});\n\n/**\n * Event Types\n *\n * A **paginated** list of all **Event Types** in Lawmatics\n */\nexport const getV1EventTypes = <ThrowOnError extends boolean = false>(options?: Options<GetV1EventTypesData, ThrowOnError>) => (options?.client ?? client).get<GetV1EventTypesResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/event_types',\n ...options\n});\n\n/**\n * Create Event Type\n *\n * Create a new **Event Type**\n *\n * **duration**: Default event duration (in minutes)\n *\n * **name**: Name of the **Event Type**\n */\nexport const postV1EventTypes = <ThrowOnError extends boolean = false>(options?: Options<PostV1EventTypesData, ThrowOnError>) => (options?.client ?? client).post<PostV1EventTypesResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/event_types',\n ...options\n});\n\n/**\n * Delete File\n *\n * Deletes a **File** by ID\n */\nexport const deleteV1FilesByFileId = <ThrowOnError extends boolean = false>(options: Options<DeleteV1FilesByFileIdData, ThrowOnError>) => (options.client ?? client).delete<DeleteV1FilesByFileIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/files/{file_id}',\n ...options\n});\n\n/**\n * File\n *\n * A specific File's metadata in Lawmatics\n */\nexport const getV1FilesByFileId = <ThrowOnError extends boolean = false>(options: Options<GetV1FilesByFileIdData, ThrowOnError>) => (options.client ?? client).get<GetV1FilesByFileIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/files/{file_id}',\n ...options\n});\n\n/**\n * Update File Metadata\n *\n * Updates an **File** by ID\n *\n * **documentable_type**: One of \\[\"firm\", \"client\", \"matter\", \"contact\"\\]\n *\n * **documentable_id:** The record ID, not needed for Firm documentable_type.\n *\n * **file**: File to upload\n *\n * **folder_id:** the Folder ID the file should be located in\n *\n * **name:** name for the File. Defaults to uploaded file name\n *\n * **path:** String Array. e.g. \\[\"Root\", \"Folder 1\", \"Folder 2\"\\]. Finds folder with name or creates it if it doesn't exist. Path overrides folder_id if both given.\n */\nexport const putV1FilesByFileId = <ThrowOnError extends boolean = false>(options: Options<PutV1FilesByFileIdData, ThrowOnError>) => (options.client ?? client).put<PutV1FilesByFileIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/files/{file_id}',\n ...options\n});\n\n/**\n * Files\n *\n * A **paginated** list of all File metadata in Lawmatics\n *\n * Can be filtered by `matter_id` , `prospect_id` , `contact_id` , `client_id` and `firm`\n *\n * as well as all the regular fields as referenced by our Param Guide (most fields returned by`?fields=all`).\n */\nexport const getV1Files = <ThrowOnError extends boolean = false>(options?: Options<GetV1FilesData, ThrowOnError>) => (options?.client ?? client).get<GetV1FilesResponses, GetV1FilesErrors, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/files',\n ...options\n});\n\n/**\n * Upload File\n *\n * Uploads a file to a Firm, Matter, Contact or Client\n *\n * Max allowed file size is 1GB. However, we recommend to avoid files greater than 100MB.\n *\n * **documentable_type**: One of \\[\"firm\", \"client\", \"matter\", \"contact\"\\]\n *\n * **documentable_id:** The record ID, not needed for Firm documentable_type.\n *\n * **file**: File to upload\n *\n * **folder_id:** the Folder ID the file should be located in\n *\n * **name:** name for the File. Defaults to uploaded file name\n *\n * **path:** String Array. e.g. \\[\"Root\", \"Folder 1\", \"Folder 2\"\\]. Finds folder with name or creates it if it doesn't exist. Path overrides folder_id if both given.\n */\nexport const postV1Files = <ThrowOnError extends boolean = false>(options?: Options<PostV1FilesData, ThrowOnError>) => (options?.client ?? client).post<PostV1FilesResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/files',\n ...options\n});\n\n/**\n * Download File\n *\n * * When testing from **Postman** please click on '**Send and download**' option instead of '**Send**'.\n *\n *\n * * a 404 can be sent case the file isn't found.\n */\nexport const getV1FilesDownloadById = <ThrowOnError extends boolean = false>(options: Options<GetV1FilesDownloadByIdData, ThrowOnError>) => (options.client ?? client).get<GetV1FilesDownloadByIdResponses, GetV1FilesDownloadByIdErrors, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/files/download/{id}',\n ...options\n});\n\n/**\n * Delete Folder\n *\n * Deletes a **Folder** by ID\n */\nexport const deleteV1FoldersByFolderId = <ThrowOnError extends boolean = false>(options: Options<DeleteV1FoldersByFolderIdData, ThrowOnError>) => (options.client ?? client).delete<DeleteV1FoldersByFolderIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/folders/{folder_id}',\n ...options\n});\n\n/**\n * Folder\n *\n * A specific Folder's metadata in Lawmatics\n */\nexport const getV1FoldersByFolderId = <ThrowOnError extends boolean = false>(options: Options<GetV1FoldersByFolderIdData, ThrowOnError>) => (options.client ?? client).get<GetV1FoldersByFolderIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/folders/{folder_id}',\n ...options\n});\n\n/**\n * Update Folder\n *\n * Updates a **Folder** by ID\n *\n * **documentable_type**: One of \\[\"matter\", \"contact\"\\]\n *\n * **documentable_id:** The record ID\n *\n * **name**: Folder name. Must be unique within parent folder. Returns 429 if name is already taken. Any slashes \"/\" in folder name will be replaces with colons \":\"\n *\n * **folder_id**: Folder ID if adding a subfolder\n *\n * **path:** String Array. e.g. \\[\"Root\", \"Folder 1\", \"Folder 2\"\\]. Finds folders with the name or creates it if it doesn't exist. Moves folder into the Folder with the last name in the path. `path` overrides **`folder_id`** if both given.\n */\nexport const putV1FoldersByFolderId = <ThrowOnError extends boolean = false>(options: Options<PutV1FoldersByFolderIdData, ThrowOnError>) => (options.client ?? client).put<PutV1FoldersByFolderIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/folders/{folder_id}',\n ...options\n});\n\n/**\n * Folders\n *\n * A **paginated** list of all Folder metadata in Lawmatics\n *\n * Can be filtered by `matter_id` , `prospect_id` , `contact_id`\n *\n * as well as all the regular fields as referenced by our Param Guide (most fields returned by`?fields=all`).\n */\nexport const getV1Folders = <ThrowOnError extends boolean = false>(options?: Options<GetV1FoldersData, ThrowOnError>) => (options?.client ?? client).get<GetV1FoldersResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/folders',\n ...options\n});\n\n/**\n * Create Folder\n *\n * Creates a folder for a Matter or Contact\n *\n * **documentable_type**: One of \\[\"matter\", \"contact\"\\]\n *\n * **documentable_id:** The record ID\n *\n * **name**: Folder name. Must be unique within parent folder. Returns 429 if name is already taken. Any slashes \"/\" in folder name will be replaces with colons \":\"\n *\n * **folder_id**: Folder ID if adding a subfolder\n *\n * **path:** String Array. e.g. \\[\"Root\", \"Folder 1\", \"Folder 2\"\\]. Finds the folder with the name or creates it if it doesn't exist. Path overrides folder_id if both given.\n */\nexport const postV1Folders = <ThrowOnError extends boolean = false>(options?: Options<PostV1FoldersData, ThrowOnError>) => (options?.client ?? client).post<PostV1FoldersResponses, PostV1FoldersErrors, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/folders',\n ...options\n});\n\n/**\n * Find Matter By Phone Number\n *\n * Fuzzy find a specific Matter by Phone Number.\n */\nexport const getV1ProspectsFindByPhoneByPhoneNumber = <ThrowOnError extends boolean = false>(options: Options<GetV1ProspectsFindByPhoneByPhoneNumberData, ThrowOnError>) => (options.client ?? client).get<GetV1ProspectsFindByPhoneByPhoneNumberResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/prospects/find_by_phone/{phone_number}',\n ...options\n});\n\n/**\n * Find Matter By Email Address\n *\n * Fuzzy find a specific Matter by Email Address.\n */\nexport const getV1ProspectsFindByEmailByEmailAddress = <ThrowOnError extends boolean = false>(options: Options<GetV1ProspectsFindByEmailByEmailAddressData, ThrowOnError>) => (options.client ?? client).get<GetV1ProspectsFindByEmailByEmailAddressResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/prospects/find_by_email/{email_address}',\n ...options\n});\n\n/**\n * Find Matter By Name\n *\n * Fuzzy find (case-insensitive) a specific Matter by their Name. You can pass either '{first_name} {last_name}' or simply '{first_name}'\n */\nexport const getV1ProspectsFindByNameByName = <ThrowOnError extends boolean = false>(options: Options<GetV1ProspectsFindByNameByNameData, ThrowOnError>) => (options.client ?? client).get<GetV1ProspectsFindByNameByNameResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/prospects/find_by_name/{name}',\n ...options\n});\n\n/**\n * Delete Interaction\n *\n * Deletes an existing interaction\n */\nexport const deleteV1InteractionsByInteractionId = <ThrowOnError extends boolean = false>(options: Options<DeleteV1InteractionsByInteractionIdData, ThrowOnError>) => (options.client ?? client).delete<DeleteV1InteractionsByInteractionIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/interactions/{interaction_id}',\n ...options\n});\n\n/**\n * Interaction\n *\n * Retrieves an interaction by its ID\n */\nexport const getV1InteractionsByInteractionId = <ThrowOnError extends boolean = false>(options: Options<GetV1InteractionsByInteractionIdData, ThrowOnError>) => (options.client ?? client).get<GetV1InteractionsByInteractionIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/interactions/{interaction_id}',\n ...options\n});\n\n/**\n * Update Interaction\n *\n * Update an existing Interaction by ID.\n *\n * PATCH works for this endpoint as well as PUT.\n */\nexport const putV1InteractionsByInteractionId = <ThrowOnError extends boolean = false>(options: Options<PutV1InteractionsByInteractionIdData, ThrowOnError>) => (options.client ?? client).put<PutV1InteractionsByInteractionIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/interactions/{interaction_id}',\n ...options\n});\n\n/**\n * Interactions\n *\n * A **paginated** list of all Interactions in Lawmatics\n */\nexport const getV1Interactions = <ThrowOnError extends boolean = false>(options?: Options<GetV1InteractionsData, ThrowOnError>) => (options?.client ?? client).get<GetV1InteractionsResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/interactions/',\n ...options\n});\n\n/**\n * Create Interaction\n *\n * Create a new **Interaction**\n *\n * Required fields:\n *\n * **happened_at**: timestamp meaning when the interaction happened\n *\n * **prospect_id:** Integer value, id of the prospect this interaction is related to\n *\n * **body:** text describing the interaction\n *\n * **interaction_type:** a string describing the kind of interaction that happened\n */\nexport const postV1Interactions = <ThrowOnError extends boolean = false>(options?: Options<PostV1InteractionsData, ThrowOnError>) => (options?.client ?? client).post<PostV1InteractionsResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/interactions',\n ...options\n});\n\n/**\n * Campaign\n *\n * A specific Marketing Campaign by ID\n */\nexport const getV1CampaignsByCampaignId = <ThrowOnError extends boolean = false>(options: Options<GetV1CampaignsByCampaignIdData, ThrowOnError>) => (options.client ?? client).get<GetV1CampaignsByCampaignIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/campaigns/{campaign_id}',\n ...options\n});\n\n/**\n * Campaigns\n *\n * A __paginated__ list of all Marketing Campaigns in Lawmatics\n */\nexport const getV1Campaigns = <ThrowOnError extends boolean = false>(options?: Options<GetV1CampaignsData, ThrowOnError>) => (options?.client ?? client).get<GetV1CampaignsResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/campaigns',\n ...options\n});\n\n/**\n * Source\n *\n * A specific Marketing Source by ID\n */\nexport const getV1SourcesBySourceId = <ThrowOnError extends boolean = false>(options: Options<GetV1SourcesBySourceIdData, ThrowOnError>) => (options.client ?? client).get<GetV1SourcesBySourceIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/sources/{source_id}',\n ...options\n});\n\n/**\n * Sources\n *\n * A __paginated__ list of all Marketing Sources in Lawmatics\n */\nexport const getV1Sources = <ThrowOnError extends boolean = false>(options?: Options<GetV1SourcesData, ThrowOnError>) => (options?.client ?? client).get<GetV1SourcesResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/sources',\n ...options\n});\n\n/**\n * Pipeline\n *\n * A specific Pipeline by id\n */\nexport const getV1PipelinesByPipelineId = <ThrowOnError extends boolean = false>(options: Options<GetV1PipelinesByPipelineIdData, ThrowOnError>) => (options.client ?? client).get<GetV1PipelinesByPipelineIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/pipelines/{pipeline_id}',\n ...options\n});\n\n/**\n * Pipelines\n *\n * A __paginated__ list of all Pipelines in Lawmatics\n */\nexport const getV1Pipelines = <ThrowOnError extends boolean = false>(options?: Options<GetV1PipelinesData, ThrowOnError>) => (options?.client ?? client).get<GetV1PipelinesResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/pipelines',\n ...options\n});\n\n/**\n * Stage\n *\n * A specific Stage by id\n */\nexport const getV1StagesByStageId = <ThrowOnError extends boolean = false>(options: Options<GetV1StagesByStageIdData, ThrowOnError>) => (options.client ?? client).get<GetV1StagesByStageIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/stages/{stage_id}',\n ...options\n});\n\n/**\n * Stages\n *\n * A __paginated__ list of all Stages in Lawmatics\n */\nexport const getV1Stages = <ThrowOnError extends boolean = false>(options?: Options<GetV1StagesData, ThrowOnError>) => (options?.client ?? client).get<GetV1StagesResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/stages',\n ...options\n});\n\n/**\n * Delete Practice Area\n *\n * Deletes an existing Practice Area\n */\nexport const deleteV1PracticeAreasByPracticeAreaId = <ThrowOnError extends boolean = false>(options: Options<DeleteV1PracticeAreasByPracticeAreaIdData, ThrowOnError>) => (options.client ?? client).delete<DeleteV1PracticeAreasByPracticeAreaIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/practice_areas/{practice_area_id}',\n ...options\n});\n\n/**\n * Practice Area\n *\n * A specific Practice Area by id\n */\nexport const getV1PracticeAreasByPracticeAreaId = <ThrowOnError extends boolean = false>(options: Options<GetV1PracticeAreasByPracticeAreaIdData, ThrowOnError>) => (options.client ?? client).get<GetV1PracticeAreasByPracticeAreaIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/practice_areas/{practice_area_id}',\n ...options\n});\n\n/**\n * Update Practice Area\n *\n * Updates an existing Practice Area\n *\n * **Optional Fields**: statute_of_limitations_enabled\n *\n * **name**: The Area name\n *\n * **color**: The Area color. Can be any CSS valid color (hex, rgb, hsl, colorname string, etc)\n *\n * **statute_of_limitations_enabled**: If Statute of Limitations is enabled\n */\nexport const putV1PracticeAreasByPracticeAreaId = <ThrowOnError extends boolean = false>(options: Options<PutV1PracticeAreasByPracticeAreaIdData, ThrowOnError>) => (options.client ?? client).put<PutV1PracticeAreasByPracticeAreaIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/practice_areas/{practice_area_id}',\n ...options\n});\n\n/**\n * Practice Areas\n *\n * A __paginated__ list of all Practice Areas in Lawmatics\n */\nexport const getV1PracticeAreas = <ThrowOnError extends boolean = false>(options?: Options<GetV1PracticeAreasData, ThrowOnError>) => (options?.client ?? client).get<GetV1PracticeAreasResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/practice_areas',\n ...options\n});\n\n/**\n * Create Practice Area\n *\n * Create a new Practice Area\n *\n * **Optional Fields**: statute_of_limitations_enabled\n *\n * **name**: The Area name\n *\n * **color**: The Area color. Can be any CSS valid color (hex, rgb, hsl, colorname string, etc)\n *\n * **statute_of_limitations_enabled**: If Statute of Limitations is enabled\n */\nexport const postV1PracticeAreas = <ThrowOnError extends boolean = false>(options?: Options<PostV1PracticeAreasData, ThrowOnError>) => (options?.client ?? client).post<PostV1PracticeAreasResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/practice_areas',\n ...options\n});\n\n/**\n * Delete Relationship\n *\n * Delete a Relationship by ID\n */\nexport const deleteV1RelationshipsByRelationshipId = <ThrowOnError extends boolean = false>(options: Options<DeleteV1RelationshipsByRelationshipIdData, ThrowOnError>) => (options.client ?? client).delete<DeleteV1RelationshipsByRelationshipIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/relationships/{relationship_id}',\n ...options\n});\n\n/**\n * Relationship\n *\n * A specific **Relationship** by ID\n */\nexport const getV1RelationshipsByRelationshipId = <ThrowOnError extends boolean = false>(options: Options<GetV1RelationshipsByRelationshipIdData, ThrowOnError>) => (options.client ?? client).get<GetV1RelationshipsByRelationshipIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/relationships/{relationship_id}',\n ...options\n});\n\n/**\n * Update Relationship\n *\n * Update Relationship\n */\nexport const putV1RelationshipsByRelationshipId = <ThrowOnError extends boolean = false>(options: Options<PutV1RelationshipsByRelationshipIdData, ThrowOnError>) => (options.client ?? client).put<PutV1RelationshipsByRelationshipIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/relationships/{relationship_id}',\n ...options\n});\n\n/**\n * Relationships\n *\n * A __paginated__ list of all Relationships in Lawmatics\n */\nexport const getV1Relationships = <ThrowOnError extends boolean = false>(options?: Options<GetV1RelationshipsData, ThrowOnError>) => (options?.client ?? client).get<GetV1RelationshipsResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/relationships',\n ...options\n});\n\n/**\n * Create Relationship\n *\n * Create a new Relationship\n *\n * If the **Relationship Type** allows multiple, you can create more than one **Relationship** per **Matter**.\n */\nexport const postV1Relationships = <ThrowOnError extends boolean = false>(options?: Options<PostV1RelationshipsData, ThrowOnError>) => (options?.client ?? client).post<PostV1RelationshipsResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/relationships',\n ...options\n});\n\n/**\n * Relationship Type\n *\n * A specific **Relationship Type** by ID\n */\nexport const getV1RelationshipTypesByRelationshipTypeId = <ThrowOnError extends boolean = false>(options: Options<GetV1RelationshipTypesByRelationshipTypeIdData, ThrowOnError>) => (options.client ?? client).get<GetV1RelationshipTypesByRelationshipTypeIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/relationship_types/{relationship_type_id}',\n ...options\n});\n\n/**\n * Update Relationship Type\n *\n * Update Relationship\n */\nexport const putV1RelationshipTypesByRelationshipTypeId = <ThrowOnError extends boolean = false>(options: Options<PutV1RelationshipTypesByRelationshipTypeIdData, ThrowOnError>) => (options.client ?? client).put<PutV1RelationshipTypesByRelationshipTypeIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/relationship_types/{relationship_type_id}',\n ...options\n});\n\n/**\n * Relationship Types\n *\n * A __paginated__ list of all Relationship Types in Lawmatics\n */\nexport const getV1RelationshipTypes = <ThrowOnError extends boolean = false>(options?: Options<GetV1RelationshipTypesData, ThrowOnError>) => (options?.client ?? client).get<GetV1RelationshipTypesResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/relationship_types',\n ...options\n});\n\n/**\n * Create Relationship Type\n *\n * Create a new Relationship Type\n */\nexport const postV1RelationshipTypes = <ThrowOnError extends boolean = false>(options?: Options<PostV1RelationshipTypesData, ThrowOnError>) => (options?.client ?? client).post<PostV1RelationshipTypesResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/relationship_types',\n ...options\n});\n\n/**\n * Delete Sub Status\n *\n * Delete an existing **Matter Sub Status** by ID.\n *\n * Warning: This is irreversible!\n */\nexport const deleteV1SubStatusesByStatusId = <ThrowOnError extends boolean = false>(options: Options<DeleteV1SubStatusesByStatusIdData, ThrowOnError>) => (options.client ?? client).delete<DeleteV1SubStatusesByStatusIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/sub_statuses/{status_id}',\n ...options\n});\n\n/**\n * Sub Status\n *\n * A specific Stage by id\n */\nexport const getV1SubStatusesByStatusId = <ThrowOnError extends boolean = false>(options: Options<GetV1SubStatusesByStatusIdData, ThrowOnError>) => (options.client ?? client).get<GetV1SubStatusesByStatusIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/sub_statuses/{status_id}',\n ...options\n});\n\n/**\n * Update Sub Status\n *\n * Update an existing **Matter Sub Status** by ID\n *\n * Valid `status`values: 'hired', 'pnc', 'lost' (default 'pnc')\n *\n * Accepts `created_by_id`\n */\nexport const putV1SubStatusesByStatusId = <ThrowOnError extends boolean = false>(options: Options<PutV1SubStatusesByStatusIdData, ThrowOnError>) => (options.client ?? client).put<PutV1SubStatusesByStatusIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/sub_statuses/{status_id}',\n ...options\n});\n\n/**\n * Sub Statuses\n *\n * A __paginated__ list of all Stages in Lawmatics\n */\nexport const getV1SubStatuses = <ThrowOnError extends boolean = false>(options?: Options<GetV1SubStatusesData, ThrowOnError>) => (options?.client ?? client).get<GetV1SubStatusesResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/sub_statuses',\n ...options\n});\n\n/**\n * Create Sub Status\n *\n * Create a new **Matter Sub Status**\n *\n * Valid `status`values: 'hired', 'pnc', 'lost' (default 'pnc')\n *\n * Accepts `created_by_id`\n */\nexport const postV1SubStatuses = <ThrowOnError extends boolean = false>(options?: Options<PostV1SubStatusesData, ThrowOnError>) => (options?.client ?? client).post<PostV1SubStatusesResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/sub_statuses',\n ...options\n});\n\n/**\n * Delete Matter\n *\n * Delete an existing Matter by ID.\n *\n * Warning: This is irreversible!\n */\nexport const deleteV1ProspectsByProspectId = <ThrowOnError extends boolean = false>(options: Options<DeleteV1ProspectsByProspectIdData, ThrowOnError>) => (options.client ?? client).delete<DeleteV1ProspectsByProspectIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/prospects/{prospect_id}',\n ...options\n});\n\n/**\n * Matter\n *\n * Return one Matter by id\n */\nexport const getV1ProspectsByProspectId = <ThrowOnError extends boolean = false>(options: Options<GetV1ProspectsByProspectIdData, ThrowOnError>) => (options.client ?? client).get<GetV1ProspectsByProspectIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/prospects/{prospect_id}',\n ...options\n});\n\n/**\n * Update Matter\n *\n * Update an existing Matter by ID.\n *\n * Passing Custom Field id and value, will set the custom field value on the Matter, and overwrite any existing value. Passing null as the value will clear it out.\n */\nexport const putV1ProspectsByProspectId = <ThrowOnError extends boolean = false>(options: Options<PutV1ProspectsByProspectIdData, ThrowOnError>) => (options.client ?? client).put<PutV1ProspectsByProspectIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/prospects/{prospect_id}',\n ...options\n});\n\n/**\n * Delete Note\n */\nexport const deleteV1NotesByNoteId = <ThrowOnError extends boolean = false>(options: Options<DeleteV1NotesByNoteIdData, ThrowOnError>) => (options.client ?? client).delete<DeleteV1NotesByNoteIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/notes/{note_id}',\n ...options\n});\n\n/**\n * Note\n *\n * A specific **Note** by ID\n */\nexport const getV1NotesByNoteId = <ThrowOnError extends boolean = false>(options: Options<GetV1NotesByNoteIdData, ThrowOnError>) => (options.client ?? client).get<GetV1NotesByNoteIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/notes/{note_id}',\n ...options\n});\n\n/**\n * Update Note\n */\nexport const putV1NotesByNoteId = <ThrowOnError extends boolean = false>(options: Options<PutV1NotesByNoteIdData, ThrowOnError>) => (options.client ?? client).put<PutV1NotesByNoteIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/notes/{note_id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Notes\n *\n * A __paginated__ list of all Notes in Lawmatics\n */\nexport const getV1Notes = <ThrowOnError extends boolean = false>(options?: Options<GetV1NotesData, ThrowOnError>) => (options?.client ?? client).get<GetV1NotesResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/notes',\n ...options\n});\n\n/**\n * Create Note\n */\nexport const postV1Notes = <ThrowOnError extends boolean = false>(options?: Options<PostV1NotesData, ThrowOnError>) => (options?.client ?? client).post<PostV1NotesResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/notes',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n});\n\n/**\n * Invoice\n *\n * A specific Invoice in Lawmatics\n */\nexport const getV1InvoicesByInvoiceId = <ThrowOnError extends boolean = false>(options: Options<GetV1InvoicesByInvoiceIdData, ThrowOnError>) => (options.client ?? client).get<GetV1InvoicesByInvoiceIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/invoices/{invoice_id}',\n ...options\n});\n\n/**\n * Invoices\n *\n * A **paginated** list of all Invoices in Lawmatics\n */\nexport const getV1Invoices = <ThrowOnError extends boolean = false>(options?: Options<GetV1InvoicesData, ThrowOnError>) => (options?.client ?? client).get<GetV1InvoicesResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/invoices',\n ...options\n});\n\n/**\n * Expenses\n *\n * A **paginated** list of all **Time Entries** in Lawmatics\n */\nexport const getV1Expenses = <ThrowOnError extends boolean = false>(options?: Options<GetV1ExpensesData, ThrowOnError>) => (options?.client ?? client).get<GetV1ExpensesResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/expenses',\n ...options\n});\n\n/**\n * Expense\n *\n * A specific **Time Entry** in Lawmatics\n */\nexport const deleteV1ExpensesByExpenseId = <ThrowOnError extends boolean = false>(options: Options<DeleteV1ExpensesByExpenseIdData, ThrowOnError>) => (options.client ?? client).delete<DeleteV1ExpensesByExpenseIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/expenses/{expense_id}',\n ...options\n});\n\n/**\n * Expense\n *\n * A specific **Time Entry** in Lawmatics\n */\nexport const getV1ExpensesByExpenseId = <ThrowOnError extends boolean = false>(options: Options<GetV1ExpensesByExpenseIdData, ThrowOnError>) => (options.client ?? client).get<GetV1ExpensesByExpenseIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/expenses/{expense_id}',\n ...options\n});\n\n/**\n * Update Expense\n *\n * A specific **Time Entry** in Lawmatics\n */\nexport const putV1ExpensesByExpenseId = <ThrowOnError extends boolean = false>(options: Options<PutV1ExpensesByExpenseIdData, ThrowOnError>) => (options.client ?? client).put<PutV1ExpensesByExpenseIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/expenses/{expense_id}',\n ...options\n});\n\n/**\n * Create Expense\n *\n * A specific **Time Entry** in Lawmatics\n */\nexport const postV1Expenses = <ThrowOnError extends boolean = false>(options?: Options<PostV1ExpensesData, ThrowOnError>) => (options?.client ?? client).post<PostV1ExpensesResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/expenses/',\n ...options\n});\n\n/**\n * Time Entries\n *\n * A **paginated** list of all **Time Entries** in Lawmatics\n */\nexport const getV1TimeEntries = <ThrowOnError extends boolean = false>(options?: Options<GetV1TimeEntriesData, ThrowOnError>) => (options?.client ?? client).get<GetV1TimeEntriesResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/time_entries',\n ...options\n});\n\n/**\n * Time Entry\n *\n * A specific **Time Entry** in Lawmatics\n */\nexport const deleteV1TimeEntriesByTimeEntryId = <ThrowOnError extends boolean = false>(options: Options<DeleteV1TimeEntriesByTimeEntryIdData, ThrowOnError>) => (options.client ?? client).delete<DeleteV1TimeEntriesByTimeEntryIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/time_entries/{time_entry_id}',\n ...options\n});\n\n/**\n * Time Entry\n *\n * A specific **Time Entry** in Lawmatics\n */\nexport const getV1TimeEntriesByTimeEntryId = <ThrowOnError extends boolean = false>(options: Options<GetV1TimeEntriesByTimeEntryIdData, ThrowOnError>) => (options.client ?? client).get<GetV1TimeEntriesByTimeEntryIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/time_entries/{time_entry_id}',\n ...options\n});\n\n/**\n * Update Time Entry\n *\n * A specific **Time Entry** in Lawmatics\n */\nexport const putV1TimeEntriesByTimeEntryId = <ThrowOnError extends boolean = false>(options: Options<PutV1TimeEntriesByTimeEntryIdData, ThrowOnError>) => (options.client ?? client).put<PutV1TimeEntriesByTimeEntryIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/time_entries/{time_entry_id}',\n ...options\n});\n\n/**\n * Create Time Entry\n *\n * A specific **Time Entry** in Lawmatics\n */\nexport const postV1TimeEntries = <ThrowOnError extends boolean = false>(options?: Options<PostV1TimeEntriesData, ThrowOnError>) => (options?.client ?? client).post<PostV1TimeEntriesResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/time_entries/',\n ...options\n});\n\n/**\n * Transaction\n *\n * A specific **Transaction** in Lawmatics\n */\nexport const getV1TransactionsByTransactionId = <ThrowOnError extends boolean = false>(options: Options<GetV1TransactionsByTransactionIdData, ThrowOnError>) => (options.client ?? client).get<GetV1TransactionsByTransactionIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/transactions/{transaction_id}',\n ...options\n});\n\n/**\n * Transactions\n *\n * A **paginated** list of all **Transactions** in Lawmatics\n */\nexport const getV1Transactions = <ThrowOnError extends boolean = false>(options?: Options<GetV1TransactionsData, ThrowOnError>) => (options?.client ?? client).get<GetV1TransactionsResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/transactions',\n ...options\n});\n\n/**\n * Create Transaction\n *\n * Create a new Transaction\n *\n * **Optional Fields**: invoice_number, invoice_id, note\n *\n * **invoice_number or invoice_id:** only one should be specified\n *\n * **transactable**: Prospect, Contact, Company with which to associate the transaction\n *\n * **transaction_type**: debit or credit\n *\n * **bank_account_type**: operating or trust\n *\n * **payment_method**: credit_card, check, cash, paypal, venmo, trust_payment, debit_card, ach, or other\n */\nexport const postV1Transactions = <ThrowOnError extends boolean = false>(options?: Options<PostV1TransactionsData, ThrowOnError>) => (options?.client ?? client).post<PostV1TransactionsResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/transactions',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n});\n\n/**\n * Delete Phone Number\n *\n * Delete a **Phone Number**\n *\n * **phone_number_id**: ID of the **Phone Number** to delete\n */\nexport const deleteV1PhoneNumbersByPhoneNumberId = <ThrowOnError extends boolean = false>(options: Options<DeleteV1PhoneNumbersByPhoneNumberIdData, ThrowOnError>) => (options.client ?? client).delete<DeleteV1PhoneNumbersByPhoneNumberIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/phone_numbers/{phone_number_id}',\n ...options\n});\n\n/**\n * Phone Number\n *\n * A specific **Phone Number** by id\n */\nexport const getV1PhoneNumbersByPhoneNumberId = <ThrowOnError extends boolean = false>(options: Options<GetV1PhoneNumbersByPhoneNumberIdData, ThrowOnError>) => (options.client ?? client).get<GetV1PhoneNumbersByPhoneNumberIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/phone_numbers/{phone_number_id}',\n ...options\n});\n\n/**\n * Update Phone Number\n *\n * Updates a **Phone Number** by id\n */\nexport const putV1PhoneNumbersByPhoneNumberId = <ThrowOnError extends boolean = false>(options: Options<PutV1PhoneNumbersByPhoneNumberIdData, ThrowOnError>) => (options.client ?? client).put<PutV1PhoneNumbersByPhoneNumberIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/phone_numbers/{phone_number_id}',\n ...options\n});\n\n/**\n * Phone Numbers\n *\n * A **paginated** list of all **Phone Numbers** in Lawmatics\n */\nexport const getV1PhoneNumbers = <ThrowOnError extends boolean = false>(options?: Options<GetV1PhoneNumbersData, ThrowOnError>) => (options?.client ?? client).get<GetV1PhoneNumbersResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/phone_numbers',\n ...options\n});\n\n/**\n * Create Phone Number\n *\n * Create a new **Phone Number**\n *\n * **Required Fields**: informationable, label, info\n *\n *\n * **info:** The Phone Number string.\n *\n * **label**: The **Phone Number**'s label e.g. Primary.\n *\n * **informationable_type**: **Prospect**, **Contact**, **Company**, or **Firm** that the **Phone Number** belongs to.\n *\n * **informationable_id:** Id of Record. **Firm** type doesn't need an ID passed and it will be ignored.\n *\n * Note - Setting the **Phone Number** through a **Prospect** (Matter) will set the address on the **Prospects**' **Contact****Company**.\n */\nexport const postV1PhoneNumbers = <ThrowOnError extends boolean = false>(options?: Options<PostV1PhoneNumbersData, ThrowOnError>) => (options?.client ?? client).post<PostV1PhoneNumbersResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/phone_numbers',\n ...options\n});\n\n/**\n * Delete Tag\n *\n * Delete a Tag\n *\n * **tag_id**: ID of the tag to delete\n */\nexport const deleteV1TagsByTagId = <ThrowOnError extends boolean = false>(options: Options<DeleteV1TagsByTagIdData, ThrowOnError>) => (options.client ?? client).delete<DeleteV1TagsByTagIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/tags/{tag_id}',\n ...options\n});\n\n/**\n * Tag\n *\n * A specific Tag in Lawmatics\n */\nexport const getV1TagsByTagId = <ThrowOnError extends boolean = false>(options: Options<GetV1TagsByTagIdData, ThrowOnError>) => (options.client ?? client).get<GetV1TagsByTagIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/tags/{tag_id}',\n ...options\n});\n\n/**\n * Update Tag\n *\n * Updates a Tag\n *\n * **Optional Fields**: Description, Color\n *\n * **title**: The Tag title\n *\n * **description**: The Tag description\n *\n * **color**: The Tag color. Can be any CSS valid color (hex, rgb, hsl, colorname string, etc)\n */\nexport const putV1TagsByTagId = <ThrowOnError extends boolean = false>(options: Options<PutV1TagsByTagIdData, ThrowOnError>) => (options.client ?? client).put<PutV1TagsByTagIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/tags/{tag_id}',\n ...options\n});\n\n/**\n * Tags\n *\n * A **paginated** list of all Tags in Lawmatics\n *\n * Can be filtered by `matter_id` , `prospect_id` , `contact_id` , `company_id`, `task_id` and `user_id`\n *\n * as well as all the regular fields as referenced by our Param Guide (most fields returned by`?fields=all`).\n */\nexport const getV1Tags = <ThrowOnError extends boolean = false>(options?: Options<GetV1TagsData, ThrowOnError>) => (options?.client ?? client).get<GetV1TagsResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/tags',\n ...options\n});\n\n/**\n * Create Tag\n *\n * Create a new Tag\n *\n * **Optional Fields**: Description, Color\n *\n * **title**: The Tag title\n *\n * **description**: The Tag description\n *\n * **color**: The Tag color. Can be any CSS valid color (hex, rgb, hsl, colorname string, etc)\n */\nexport const postV1Tags = <ThrowOnError extends boolean = false>(options?: Options<PostV1TagsData, ThrowOnError>) => (options?.client ?? client).post<PostV1TagsResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/tags',\n ...options\n});\n\n/**\n * Attach Tag\n *\n * Attaches tags to a **Matter**, **Contact**, **Company**, or **Task**\n *\n * **(type)_id:** The ID of the entity to attach tags to. One of `matter_id`, `contact_id`, `company_id,` or `task_id`.\n *\n * **tags:** List of tags to attach. If a tag does not exist, it will be created.\n */\nexport const postV1TagsAttach = <ThrowOnError extends boolean = false>(options?: Options<PostV1TagsAttachData, ThrowOnError>) => (options?.client ?? client).post<PostV1TagsAttachResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/tags/attach',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n});\n\n/**\n * Detach Tag\n *\n * Detaches tags from a Matter, Contact, Company, or Task\n *\n * **(type)_id:** The ID of the entity to detach **Tags** from. One of `matter_id`, `contact_id`, `company_id,` or `task_id`.\n *\n * **tags:** List of **Tags** to detach. If a **Tag** does not exist, it will be ignored.\n */\nexport const postV1TagsDetach = <ThrowOnError extends boolean = false>(options?: Options<PostV1TagsDetachData, ThrowOnError>) => (options?.client ?? client).post<PostV1TagsDetachResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/tags/detach',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n});\n\n/**\n * Delete Task\n *\n * Delete a **Task**\n */\nexport const deleteV1TasksByTaskId = <ThrowOnError extends boolean = false>(options: Options<DeleteV1TasksByTaskIdData, ThrowOnError>) => (options.client ?? client).delete<DeleteV1TasksByTaskIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/tasks/{task_id}',\n ...options\n});\n\n/**\n * Task\n *\n * A specific **Task** in Lawmatics\n */\nexport const getV1TasksByTaskId = <ThrowOnError extends boolean = false>(options: Options<GetV1TasksByTaskIdData, ThrowOnError>) => (options.client ?? client).get<GetV1TasksByTaskIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/tasks/{task_id}',\n ...options\n});\n\n/**\n * Update Task\n *\n * Updates a **Task**\n *\n * **Optional Fields**: user_ids, priority, done, taskable, tag_ids, assigned_by_id, recurrence_rule\n *\n * **due_date**: **Task** due date (iso8601 datetime)\n *\n * **user_ids**: The Firm **User** ids that will be assigned to this **Task**.\n *\n * **priority**: high, medium, low (default)\n *\n * **done**: true or false (default)\n *\n * **taskable_type, taskable_id:** Record type, ID the **Task** is associated with (Prospect (Matter), Contact, Company, Client).\n *\n * **tag_ids**: **Tags** to associate to this **Task.\n *\n * assigned_by_id:** The **user id** the task is assigned by.\n *\n * **recurrence_rule: Json object.** Following are the fields with which we can create a recurrence_rule.\n * RecurrenceType options are the following = 'daily' or 'weekly' or monthly' or 'yearly';\n *\n * fields of the json object you can choose from:\n * type: **RecurrenceType**;\n * endOption?: boolean;\n * endDate?: Date;\n *\n * ** If you choose type to be daily**\n *\n * frequency?: number;\n *\n * ** If you choose type to be weekly**\n *\n * sunday?: boolean;\n * monday?: boolean;\n * tuesday?: boolean;\n * wednesday?: boolean;\n * thursday?: boolean;\n * friday?: boolean;\n * saturday?: boolean;\n *\n * ** If you choose type to be monthly**\n * monthlyFrequency?: number;\n * dayOfMonth?: number;\n *\n * ** If you choose type to be yearly**\n * month?: string;\n * dayOfMonthYear?: number;\n */\nexport const putV1TasksByTaskId = <ThrowOnError extends boolean = false>(options: Options<PutV1TasksByTaskIdData, ThrowOnError>) => (options.client ?? client).put<PutV1TasksByTaskIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/tasks/{task_id}',\n ...options\n});\n\n/**\n * Tasks\n *\n * A **paginated** list of all **Tasks** in Lawmatics\n *\n * Can be filtered by `matter_id,` `prospect_id,` `contact_id,` `company_id,` `client_id,` and`user_id`\n *\n * as well as all the regular fields as referenced by our Param Guide (most fields returned by`?fields=all`).\n */\nexport const getV1Tasks = <ThrowOnError extends boolean = false>(options?: Options<GetV1TasksData, ThrowOnError>) => (options?.client ?? client).get<GetV1TasksResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/tasks',\n ...options\n});\n\n/**\n * Create Task\n *\n * Create a new **Task**\n *\n * **Optional Fields**: user_ids, priority, done, taskable, tag_ids, assigned_by_id, recurrence_rule\n *\n * **due_date**: **Task's** due date (iso8601 datetime)\n *\n * **user_ids**: The Firm **User** ids assigned to this **Task**.\n *\n * **priority**: high, medium, low (default)\n *\n * **done**: true or false (default)\n *\n * **taskable_type, taskable_id:** Record type, ID the **Task** is associated with (Prospect (Matter), Contact, Company, Client)\n *\n * **tag_ids**: **Tags** to associate to this **Task**\n *\n * **assigned_by_id:** The **user id** the task is assigned by.\n *\n * **recurrence_rule: Json object.** Following are the fields with which we can create a recurrence_rule.\n * RecurrenceType options are the following = 'daily' or 'weekly' or monthly' or 'yearly';\n *\n * fields of the json object you can choose from:\n * type: **RecurrenceType**;\n * endOption?: boolean;\n * endDate?: Date;\n *\n * ** If you choose type to be daily**\n *\n * frequency?: number;\n *\n * ** If you choose type to be weekly**\n *\n * sunday?: boolean;\n * monday?: boolean;\n * tuesday?: boolean;\n * wednesday?: boolean;\n * thursday?: boolean;\n * friday?: boolean;\n * saturday?: boolean;\n *\n * ** If you choose type to be monthly**\n * monthlyFrequency?: number;\n * dayOfMonth?: number;\n *\n * ** If you choose type to be yearly**\n * month?: string;\n * dayOfMonthYear?: number;\n */\nexport const postV1Tasks = <ThrowOnError extends boolean = false>(options?: Options<PostV1TasksData, ThrowOnError>) => (options?.client ?? client).post<PostV1TasksResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/tasks',\n ...options\n});\n\n/**\n * Delete Subtask\n *\n * Deletes a **subtask** from a task.\n */\nexport const deleteV1TasksByTaskIdSubtasksBySubtaskId = <ThrowOnError extends boolean = false>(options: Options<DeleteV1TasksByTaskIdSubtasksBySubtaskIdData, ThrowOnError>) => (options.client ?? client).delete<DeleteV1TasksByTaskIdSubtasksBySubtaskIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/tasks/{task_id}/subtasks/{subtask_id}',\n ...options\n});\n\n/**\n * Subtask\n *\n * A specific **subtask** in tasks in Lawmatics.\n */\nexport const getV1TasksByTaskIdSubtasksBySubtaskId = <ThrowOnError extends boolean = false>(options: Options<GetV1TasksByTaskIdSubtasksBySubtaskIdData, ThrowOnError>) => (options.client ?? client).get<GetV1TasksByTaskIdSubtasksBySubtaskIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/tasks/{task_id}/subtasks/{subtask_id}',\n ...options\n});\n\n/**\n * Update Subtask\n *\n * Updates a **subtask** on a task.\n */\nexport const putV1TasksByTaskIdSubtasksBySubtaskId = <ThrowOnError extends boolean = false>(options: Options<PutV1TasksByTaskIdSubtasksBySubtaskIdData, ThrowOnError>) => (options.client ?? client).put<PutV1TasksByTaskIdSubtasksBySubtaskIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/tasks/{task_id}/subtasks/{subtask_id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Subtasks\n *\n * All the **subtasks** that belong to a task in Lawmatics.\n */\nexport const getV1TasksByTaskIdSubtasks = <ThrowOnError extends boolean = false>(options: Options<GetV1TasksByTaskIdSubtasksData, ThrowOnError>) => (options.client ?? client).get<GetV1TasksByTaskIdSubtasksResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/tasks/{task_id}/subtasks',\n ...options\n});\n\n/**\n * Create Subtask\n *\n * Creates a new **subtask** on a task.\n */\nexport const postV1TasksByTaskIdSubtasks = <ThrowOnError extends boolean = false>(options: Options<PostV1TasksByTaskIdSubtasksData, ThrowOnError>) => (options.client ?? client).post<PostV1TasksByTaskIdSubtasksResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/tasks/{task_id}/subtasks',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Delete Comment\n *\n * Deletes a **specific comment** on a task in Lawmatics.\n */\nexport const deleteV1TasksByTaskIdCommentsByCommentId = <ThrowOnError extends boolean = false>(options: Options<DeleteV1TasksByTaskIdCommentsByCommentIdData, ThrowOnError>) => (options.client ?? client).delete<DeleteV1TasksByTaskIdCommentsByCommentIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/tasks/{task_id}/comments/{comment_id}',\n ...options\n});\n\n/**\n * Comment\n *\n * A specific **comment** on a task in Lawmatics.\n */\nexport const getV1TasksByTaskIdCommentsByCommentId = <ThrowOnError extends boolean = false>(options: Options<GetV1TasksByTaskIdCommentsByCommentIdData, ThrowOnError>) => (options.client ?? client).get<GetV1TasksByTaskIdCommentsByCommentIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/tasks/{task_id}/comments/{comment_id}',\n ...options\n});\n\n/**\n * Update Comment\n *\n * Updates a **specific comment** on a task in Lawmatics.\n *\n * **optional field:** mentioned_user_ids\n *\n * mentioned_user_ids: list of user ids.\n */\nexport const putV1TasksByTaskIdCommentsByCommentId = <ThrowOnError extends boolean = false>(options: Options<PutV1TasksByTaskIdCommentsByCommentIdData, ThrowOnError>) => (options.client ?? client).put<PutV1TasksByTaskIdCommentsByCommentIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/tasks/{task_id}/comments/{comment_id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Comments\n *\n * Retrieves all the **comments** on a task in Lawmatics.\n */\nexport const getV1TasksByTaskIdComments = <ThrowOnError extends boolean = false>(options: Options<GetV1TasksByTaskIdCommentsData, ThrowOnError>) => (options.client ?? client).get<GetV1TasksByTaskIdCommentsResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/tasks/{task_id}/comments',\n ...options\n});\n\n/**\n * Create Comment\n *\n * Creates a **comment** on a task in Lawmatics.\n * **optional field:** mentioned_user_ids\n *\n * mentioned_user_ids: list of user ids.\n *\n * Feel free to add HTML tags to format your comments.\n *\n * Following is a simple comment with formatting example using bold *italic* etc.\n *\n * This is a simple comment with formatting example using **bold** *italics*\n *\n * Another example of comment with mentioned users.\n *\n * Hi its a new comment on task 45 @Jasmine Rattan\n */\nexport const postV1TasksByTaskIdComments = <ThrowOnError extends boolean = false>(options: Options<PostV1TasksByTaskIdCommentsData, ThrowOnError>) => (options.client ?? client).post<PostV1TasksByTaskIdCommentsResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/tasks/{task_id}/comments',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Delete Task Status\n *\n * Deletes a **task status** in Lawmatics.\n */\nexport const deleteV1TaskStatusesByTaskStatusId = <ThrowOnError extends boolean = false>(options: Options<DeleteV1TaskStatusesByTaskStatusIdData, ThrowOnError>) => (options.client ?? client).delete<DeleteV1TaskStatusesByTaskStatusIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/task_statuses/{task_status_id}',\n ...options\n});\n\n/**\n * Task Status\n *\n * A **specific task status** in Lawmatics.\n */\nexport const getV1TaskStatusesByTaskStatusId = <ThrowOnError extends boolean = false>(options: Options<GetV1TaskStatusesByTaskStatusIdData, ThrowOnError>) => (options.client ?? client).get<GetV1TaskStatusesByTaskStatusIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/task_statuses/{task_status_id}',\n ...options\n});\n\n/**\n * Update Task Status\n *\n * Updates a **task status** in Lawmatics.\n */\nexport const putV1TaskStatusesByTaskStatusId = <ThrowOnError extends boolean = false>(options: Options<PutV1TaskStatusesByTaskStatusIdData, ThrowOnError>) => (options.client ?? client).put<PutV1TaskStatusesByTaskStatusIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/task_statuses/{task_status_id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Task Statuses\n *\n * Gets all the task statuses in Lawmatics.\n */\nexport const getV1TaskStatuses = <ThrowOnError extends boolean = false>(options?: Options<GetV1TaskStatusesData, ThrowOnError>) => (options?.client ?? client).get<GetV1TaskStatusesResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/task_statuses',\n ...options\n});\n\n/**\n * Create Task Status\n *\n * Creates a **task status** in Lawmatics.\n */\nexport const postV1TaskStatuses = <ThrowOnError extends boolean = false>(options?: Options<PostV1TaskStatusesData, ThrowOnError>) => (options?.client ?? client).post<PostV1TaskStatusesResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/task_statuses',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n});\n\n/**\n * Activity\n *\n * A specific **Activity** in Lawmatics\n */\nexport const getV1ActivitiesByActivityId = <ThrowOnError extends boolean = false>(options: Options<GetV1ActivitiesByActivityIdData, ThrowOnError>) => (options.client ?? client).get<GetV1ActivitiesByActivityIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/activities/{activity_id}',\n ...options\n});\n\n/**\n * Activities\n *\n * A **paginated** list of Activities in Lawmatics\n *\n * Can be filtered by `matter_id,` `contact_id,` `type,` and`event`\n *\n * as well as all the regular fields as referenced by our Param Guide (most fields returned by`?fields=all`).\n */\nexport const getV1Activities = <ThrowOnError extends boolean = false>(options?: Options<GetV1ActivitiesData, ThrowOnError>) => (options?.client ?? client).get<GetV1ActivitiesResponses, GetV1ActivitiesErrors, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/activities',\n ...options\n});\n\n/**\n * Delete User\n *\n * Dissociates a user from a firm, in practice this is the same as deleting the user as it won't have access to the system anymore.\n */\nexport const deleteV1UsersByUserId = <ThrowOnError extends boolean = false>(options: Options<DeleteV1UsersByUserIdData, ThrowOnError>) => (options.client ?? client).delete<DeleteV1UsersByUserIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/users/{user_id}',\n ...options\n});\n\n/**\n * User\n *\n * Return a specific User by ID\n */\nexport const getV1UsersByUserId = <ThrowOnError extends boolean = false>(options: Options<GetV1UsersByUserIdData, ThrowOnError>) => (options.client ?? client).get<GetV1UsersByUserIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/users/{user_id}',\n ...options\n});\n\n/**\n * Update User\n *\n * Updates a user\n */\nexport const putV1UsersByUserId = <ThrowOnError extends boolean = false>(options: Options<PutV1UsersByUserIdData, ThrowOnError>) => (options.client ?? client).put<PutV1UsersByUserIdResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/users/{user_id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Users\n *\n * Return a __paginated__ list of all users in the firm\n */\nexport const getV1Users = <ThrowOnError extends boolean = false>(options?: Options<GetV1UsersData, ThrowOnError>) => (options?.client ?? client).get<GetV1UsersResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/users',\n ...options\n});\n\n/**\n * Create User\n *\n * Creates a user or assigns it to the firm if it already exists.\n */\nexport const postV1Users = <ThrowOnError extends boolean = false>(options?: Options<PostV1UsersData, ThrowOnError>) => (options?.client ?? client).post<PostV1UsersResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/users',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n});\n\n/**\n * Me\n *\n * Return the authenticated user\n */\nexport const getV1UsersMe = <ThrowOnError extends boolean = false>(options?: Options<GetV1UsersMeData, ThrowOnError>) => (options?.client ?? client).get<GetV1UsersMeResponses, unknown, ThrowOnError>({\n security: [{ scheme: 'bearer', type: 'http' }],\n url: '/v1/users/me',\n ...options\n});\n"],"mappings":"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","names":["z","z"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mjquinlan2000/lawmatics-mcp",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.6",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/server.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
},
|
|
24
24
|
"devDependencies": {
|
|
25
25
|
"@hey-api/openapi-ts": "0.94.0",
|
|
26
|
-
"@mjquinlan2000/shared": "0.1.
|
|
26
|
+
"@mjquinlan2000/shared": "0.1.6",
|
|
27
27
|
"js-yaml": "^4.1.0",
|
|
28
28
|
"tsup": "^8.5.0",
|
|
29
29
|
"tsx": "4.21.0",
|