@model-match/api 3.8.0 → 3.10.0

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/openapi.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "openapi": "3.1.0",
3
3
  "info": {
4
4
  "title": "ModelMatch API",
5
- "version": "3.17.0",
5
+ "version": "3.19.0",
6
6
  "description": "ModelMatch API — mortgage and real-estate market data"
7
7
  },
8
8
  "tags": [
@@ -6271,6 +6271,57 @@
6271
6271
  "data"
6272
6272
  ]
6273
6273
  },
6274
+ "CrmListMembershipsResult": {
6275
+ "type": "object",
6276
+ "properties": {
6277
+ "data": {
6278
+ "$ref": "#/components/schemas/CrmListMemberships"
6279
+ }
6280
+ },
6281
+ "required": [
6282
+ "data"
6283
+ ]
6284
+ },
6285
+ "CrmListMemberships": {
6286
+ "type": "object",
6287
+ "properties": {
6288
+ "memberships": {
6289
+ "type": "object",
6290
+ "additionalProperties": {
6291
+ "type": "array",
6292
+ "items": {
6293
+ "$ref": "#/components/schemas/CrmListMembershipEntry"
6294
+ }
6295
+ }
6296
+ }
6297
+ },
6298
+ "required": [
6299
+ "memberships"
6300
+ ]
6301
+ },
6302
+ "CrmListMembershipEntry": {
6303
+ "type": "object",
6304
+ "properties": {
6305
+ "id": {
6306
+ "type": "string"
6307
+ },
6308
+ "name": {
6309
+ "type": "string"
6310
+ },
6311
+ "objectType": {
6312
+ "$ref": "#/components/schemas/CrmObjectType"
6313
+ },
6314
+ "canManage": {
6315
+ "type": "boolean"
6316
+ }
6317
+ },
6318
+ "required": [
6319
+ "id",
6320
+ "name",
6321
+ "objectType",
6322
+ "canManage"
6323
+ ]
6324
+ },
6274
6325
  "CrmListWithMembers": {
6275
6326
  "type": "object",
6276
6327
  "properties": {
@@ -6485,6 +6536,12 @@
6485
6536
  "type": "string"
6486
6537
  }
6487
6538
  },
6539
+ "createdEntityIds": {
6540
+ "type": "array",
6541
+ "items": {
6542
+ "type": "string"
6543
+ }
6544
+ },
6488
6545
  "enrichJobId": {
6489
6546
  "type": "string"
6490
6547
  }
@@ -6492,7 +6549,8 @@
6492
6549
  "required": [
6493
6550
  "added",
6494
6551
  "total",
6495
- "addedEntityIds"
6552
+ "addedEntityIds",
6553
+ "createdEntityIds"
6496
6554
  ]
6497
6555
  }
6498
6556
  },
@@ -8757,9 +8815,29 @@
8757
8815
  "email": {
8758
8816
  "type": "string"
8759
8817
  },
8818
+ "emails": {
8819
+ "type": "array",
8820
+ "items": {
8821
+ "type": "string"
8822
+ },
8823
+ "maxItems": 5,
8824
+ "description": "Additional emails in submitted order (first non-duplicate becomes primary via oldest-wins)."
8825
+ },
8760
8826
  "phone": {
8761
8827
  "$ref": "#/components/schemas/CrmImportPhone"
8762
8828
  },
8829
+ "phones": {
8830
+ "type": "array",
8831
+ "items": {
8832
+ "$ref": "#/components/schemas/CrmImportPhone"
8833
+ },
8834
+ "maxItems": 5,
8835
+ "description": "Additional phones in submitted order."
8836
+ },
8837
+ "company": {
8838
+ "type": "string",
8839
+ "description": "Employer override for people rows; ignored on companies imports."
8840
+ },
8763
8841
  "website": {
8764
8842
  "type": "string"
8765
8843
  },
@@ -21374,6 +21452,96 @@
21374
21452
  }
21375
21453
  }
21376
21454
  },
21455
+ "/v1/crm/lists/memberships": {
21456
+ "get": {
21457
+ "operationId": "listCrmListMemberships",
21458
+ "tags": [
21459
+ "CRM"
21460
+ ],
21461
+ "summary": "Batched list-membership lookup for many entities",
21462
+ "parameters": [
21463
+ {
21464
+ "schema": {
21465
+ "$ref": "#/components/schemas/CrmObjectType"
21466
+ },
21467
+ "required": false,
21468
+ "name": "objectType",
21469
+ "in": "query"
21470
+ },
21471
+ {
21472
+ "schema": {
21473
+ "type": "string",
21474
+ "minLength": 1
21475
+ },
21476
+ "required": true,
21477
+ "name": "entityIds",
21478
+ "in": "query"
21479
+ }
21480
+ ],
21481
+ "responses": {
21482
+ "200": {
21483
+ "description": "Each requested entityId mapped to the visible lists it's on ([] = none).",
21484
+ "content": {
21485
+ "application/json": {
21486
+ "schema": {
21487
+ "$ref": "#/components/schemas/CrmListMembershipsResult"
21488
+ }
21489
+ }
21490
+ }
21491
+ },
21492
+ "400": {
21493
+ "description": "Validation error",
21494
+ "content": {
21495
+ "application/json": {
21496
+ "schema": {
21497
+ "$ref": "#/components/schemas/ErrorResponse"
21498
+ }
21499
+ }
21500
+ }
21501
+ },
21502
+ "401": {
21503
+ "description": "Unauthorized",
21504
+ "content": {
21505
+ "application/json": {
21506
+ "schema": {
21507
+ "$ref": "#/components/schemas/ErrorResponse"
21508
+ }
21509
+ }
21510
+ }
21511
+ },
21512
+ "403": {
21513
+ "description": "Forbidden (authenticated, but missing required context — e.g. no active organization)",
21514
+ "content": {
21515
+ "application/json": {
21516
+ "schema": {
21517
+ "$ref": "#/components/schemas/ErrorResponse"
21518
+ }
21519
+ }
21520
+ }
21521
+ },
21522
+ "404": {
21523
+ "description": "Not found",
21524
+ "content": {
21525
+ "application/json": {
21526
+ "schema": {
21527
+ "$ref": "#/components/schemas/ErrorResponse"
21528
+ }
21529
+ }
21530
+ }
21531
+ },
21532
+ "413": {
21533
+ "description": "Response payload too large — detail endpoint capped to fit Lambda response limits",
21534
+ "content": {
21535
+ "application/json": {
21536
+ "schema": {
21537
+ "$ref": "#/components/schemas/PayloadTooLarge"
21538
+ }
21539
+ }
21540
+ }
21541
+ }
21542
+ }
21543
+ }
21544
+ },
21377
21545
  "/v1/crm/lists/{id}": {
21378
21546
  "get": {
21379
21547
  "operationId": "getCrmList",
@@ -21985,12 +22153,17 @@
21985
22153
  },
21986
22154
  "companyType": {
21987
22155
  "type": "string"
22156
+ },
22157
+ "contacts": {
22158
+ "type": "array",
22159
+ "items": {
22160
+ "$ref": "#/components/schemas/CrmContactSeed"
22161
+ }
21988
22162
  }
21989
22163
  },
21990
22164
  "required": [
21991
22165
  "entityType",
21992
22166
  "entityId",
21993
- "link",
21994
22167
  "display"
21995
22168
  ]
21996
22169
  },
@@ -28926,7 +29099,7 @@
28926
29099
  "Search"
28927
29100
  ],
28928
29101
  "summary": "Instant multi-entity typeahead search",
28929
- "description": "Fast typeahead/autocomplete search across agents, originators, companies, and offices. Returns top matches per entity type. Use this for quick name lookups, not for filtered searches (use the entity-specific list endpoints for those).",
29102
+ "description": "Fast typeahead/autocomplete search across agents, originators, companies, and offices. Returns top matches per entity type. A bare NMLS ID resolves directly to its originator, company, or branch. Use this for quick name lookups, not for filtered searches (use the entity-specific list endpoints for those). If you already have an entity ID, prefer getOriginator / getCompany / getBranch.",
28930
29103
  "requestBody": {
28931
29104
  "content": {
28932
29105
  "application/json": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@model-match/api",
3
- "version": "3.8.0",
3
+ "version": "3.10.0",
4
4
  "description": "TypeScript client for the ModelMatch API",
5
5
  "license": "MIT",
6
6
  "files": [
@@ -41,7 +41,7 @@
41
41
  },
42
42
  "devDependencies": {
43
43
  "@hey-api/openapi-ts": "^0.67.6",
44
- "@model-match-inc/api": "3.15.2",
44
+ "@model-match-inc/api": "3.18.0",
45
45
  "tsdown": "^0.21.10",
46
46
  "typescript": "6.0.2",
47
47
  "vitest": "4.1.2"