@utdk/hubspot 3.0.0-20260530.2-dev.646adf4

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 ADDED
@@ -0,0 +1,2306 @@
1
+ {
2
+ "openapi": "3.0.1",
3
+ "info": {
4
+ "title": "Contacts",
5
+ "description": "CRM objects such as companies, contacts, deals, line items, products, tickets, and quotes are standard objects in HubSpot’s CRM. These core building blocks support custom properties, store critical information, and play a central role in the HubSpot application.\n\n## Supported Object Types\n\nThis API provides access to collections of CRM objects, which return a map of property names to values. Each object type has its own set of default properties, which can be found by exploring the [CRM Object Properties API](https://developers.hubspot.com/docs/methods/crm-properties/crm-properties-overview).\n\n|Object Type |Properties returned by default |\n|--|--|\n| `companies` | `name`, `domain` |\n| `contacts` | `firstname`, `lastname`, `email` |\n| `deals` | `dealname`, `amount`, `closedate`, `pipeline`, `dealstage` |\n| `products` | `name`, `description`, `price` |\n| `tickets` | `content`, `hs_pipeline`, `hs_pipeline_stage`, `hs_ticket_category`, `hs_ticket_priority`, `subject` |\n\nFind a list of all properties for an object type using the [CRM Object Properties](https://developers.hubspot.com/docs/methods/crm-properties/get-properties) API. e.g. `GET https://api.hubapi.com/properties/v2/companies/properties`. Change the properties returned in the response using the `properties` array in the request body.",
6
+ "version": "v3",
7
+ "x-hubspot-product-tier-requirements": {
8
+ "marketing": "FREE",
9
+ "sales": "FREE",
10
+ "service": "FREE",
11
+ "cms": "FREE",
12
+ "commerce": "FREE",
13
+ "crmHub": "FREE",
14
+ "dataHub": "FREE"
15
+ },
16
+ "x-hubspot-api-use-case": "Retrieve a contact by ID to bring that contact data into your external system.",
17
+ "x-hubspot-related-documentation": [
18
+ {
19
+ "name": "Contacts Guide",
20
+ "url": "https://developers.hubspot.com/docs/guides/api/crm/objects/contacts"
21
+ }
22
+ ],
23
+ "x-hubspot-introduction": "Use the contacts API to create and manage contacts."
24
+ },
25
+ "servers": [
26
+ {
27
+ "url": "https://api.hubapi.com"
28
+ }
29
+ ],
30
+ "tags": [
31
+ {
32
+ "name": "Advanced"
33
+ },
34
+ {
35
+ "name": "Basic"
36
+ },
37
+ {
38
+ "name": "Batch"
39
+ },
40
+ {
41
+ "name": "Search"
42
+ }
43
+ ],
44
+ "paths": {
45
+ "/crm/v3/objects/contacts": {
46
+ "get": {
47
+ "tags": [
48
+ "Basic"
49
+ ],
50
+ "summary": "Retrieve contacts",
51
+ "description": "Retrieve all contacts, using query parameters to specify the information that gets returned.",
52
+ "operationId": "get-/crm/v3/objects/contacts_getPage",
53
+ "parameters": [
54
+ {
55
+ "name": "after",
56
+ "in": "query",
57
+ "description": "The paging cursor token of the last successfully read resource will be returned as the `paging.next.after` JSON property of a paged response containing more results.",
58
+ "required": false,
59
+ "style": "form",
60
+ "explode": true,
61
+ "schema": {
62
+ "type": "string",
63
+ "example": null
64
+ }
65
+ },
66
+ {
67
+ "name": "archived",
68
+ "in": "query",
69
+ "description": "Whether to return only results that have been archived.",
70
+ "required": false,
71
+ "style": "form",
72
+ "explode": true,
73
+ "schema": {
74
+ "type": "boolean",
75
+ "example": null,
76
+ "default": false
77
+ }
78
+ },
79
+ {
80
+ "name": "associations",
81
+ "in": "query",
82
+ "description": "A comma separated list of object types to retrieve associated IDs for. If any of the specified associations do not exist, they will be ignored.",
83
+ "required": false,
84
+ "style": "form",
85
+ "explode": true,
86
+ "schema": {
87
+ "type": "array",
88
+ "example": null,
89
+ "items": {
90
+ "type": "string",
91
+ "example": null
92
+ }
93
+ }
94
+ },
95
+ {
96
+ "name": "limit",
97
+ "in": "query",
98
+ "description": "The maximum number of results to display per page.",
99
+ "required": false,
100
+ "style": "form",
101
+ "explode": true,
102
+ "schema": {
103
+ "type": "integer",
104
+ "format": "int32",
105
+ "example": null,
106
+ "default": 10
107
+ }
108
+ },
109
+ {
110
+ "name": "properties",
111
+ "in": "query",
112
+ "description": "A comma separated list of the properties to be returned in the response. If any of the specified properties are not present on the requested object(s), they will be ignored.",
113
+ "required": false,
114
+ "style": "form",
115
+ "explode": true,
116
+ "schema": {
117
+ "type": "array",
118
+ "example": null,
119
+ "items": {
120
+ "type": "string",
121
+ "example": null
122
+ }
123
+ }
124
+ },
125
+ {
126
+ "name": "propertiesWithHistory",
127
+ "in": "query",
128
+ "description": "A comma separated list of the properties to be returned along with their history of previous values. If any of the specified properties are not present on the requested object(s), they will be ignored. Usage of this parameter will reduce the maximum number of objects that can be read by a single request.",
129
+ "required": false,
130
+ "style": "form",
131
+ "explode": true,
132
+ "schema": {
133
+ "type": "array",
134
+ "example": null,
135
+ "items": {
136
+ "type": "string",
137
+ "example": null
138
+ }
139
+ }
140
+ }
141
+ ],
142
+ "responses": {
143
+ "200": {
144
+ "description": "successful operation",
145
+ "content": {
146
+ "application/json": {
147
+ "schema": {
148
+ "$ref": "#/components/schemas/CollectionResponseSimplePublicObjectWithAssociationsForwardPaging"
149
+ },
150
+ "example": null
151
+ }
152
+ }
153
+ },
154
+ "default": {
155
+ "description": "",
156
+ "$ref": "#/components/responses/Error"
157
+ }
158
+ },
159
+ "security": [
160
+ {
161
+ "oauth2": [
162
+ "crm.objects.contacts.read"
163
+ ]
164
+ }
165
+ ]
166
+ },
167
+ "post": {
168
+ "tags": [
169
+ "Basic"
170
+ ],
171
+ "summary": "Create a contact",
172
+ "description": "Create a single contact. Include a `properties` object to define [property values](https://developers.hubspot.com/docs/guides/api/crm/properties) for the contact, along with an `associations` array to define [associations](https://developers.hubspot.com/docs/guides/api/crm/associations/associations-v4) with other CRM records.",
173
+ "operationId": "post-/crm/v3/objects/contacts_create",
174
+ "parameters": [],
175
+ "requestBody": {
176
+ "content": {
177
+ "application/json": {
178
+ "schema": {
179
+ "$ref": "#/components/schemas/SimplePublicObjectInputForCreate"
180
+ },
181
+ "example": null
182
+ }
183
+ },
184
+ "required": true
185
+ },
186
+ "responses": {
187
+ "201": {
188
+ "description": "successful operation",
189
+ "content": {
190
+ "application/json": {
191
+ "schema": {
192
+ "$ref": "#/components/schemas/SimplePublicObject"
193
+ },
194
+ "example": null
195
+ }
196
+ }
197
+ },
198
+ "default": {
199
+ "description": "",
200
+ "$ref": "#/components/responses/Error"
201
+ }
202
+ },
203
+ "security": [
204
+ {
205
+ "oauth2": [
206
+ "crm.objects.contacts.write"
207
+ ]
208
+ }
209
+ ]
210
+ }
211
+ },
212
+ "/crm/v3/objects/contacts/batch/archive": {
213
+ "post": {
214
+ "tags": [
215
+ "Batch"
216
+ ],
217
+ "summary": "Archive a batch of contacts",
218
+ "description": "Archive a batch of contacts by ID. Archived contacts can be restored within 90 days of deletion. Learn more about the [data impacted by contact deletions](https://knowledge.hubspot.com/privacy-and-consent/understand-restorable-and-permanent-contact-deletions) and how to [restore archived records](https://knowledge.hubspot.com/records/restore-deleted-records).",
219
+ "operationId": "post-/crm/v3/objects/contacts/batch/archive_archive",
220
+ "parameters": [],
221
+ "requestBody": {
222
+ "content": {
223
+ "application/json": {
224
+ "schema": {
225
+ "$ref": "#/components/schemas/BatchInputSimplePublicObjectId"
226
+ },
227
+ "example": null
228
+ }
229
+ },
230
+ "required": true
231
+ },
232
+ "responses": {
233
+ "204": {
234
+ "description": "No content",
235
+ "content": {}
236
+ },
237
+ "default": {
238
+ "description": "",
239
+ "$ref": "#/components/responses/Error"
240
+ }
241
+ },
242
+ "security": [
243
+ {
244
+ "oauth2": [
245
+ "crm.objects.contacts.write"
246
+ ]
247
+ }
248
+ ]
249
+ }
250
+ },
251
+ "/crm/v3/objects/contacts/batch/create": {
252
+ "post": {
253
+ "tags": [
254
+ "Batch"
255
+ ],
256
+ "summary": "Create a batch of contacts",
257
+ "description": "Create a batch of contacts. The `inputs` array can contain a `properties` object to define property values for each record, along with an `associations` array to define [associations](https://developers.hubspot.com/docs/guides/api/crm/associations/associations-v4) with other CRM records.",
258
+ "operationId": "post-/crm/v3/objects/contacts/batch/create_create",
259
+ "parameters": [],
260
+ "requestBody": {
261
+ "content": {
262
+ "application/json": {
263
+ "schema": {
264
+ "$ref": "#/components/schemas/BatchInputSimplePublicObjectBatchInputForCreate"
265
+ },
266
+ "example": null
267
+ }
268
+ },
269
+ "required": true
270
+ },
271
+ "responses": {
272
+ "201": {
273
+ "description": "successful operation",
274
+ "content": {
275
+ "application/json": {
276
+ "schema": {
277
+ "$ref": "#/components/schemas/BatchResponseSimplePublicObject"
278
+ },
279
+ "example": null
280
+ }
281
+ }
282
+ },
283
+ "207": {
284
+ "description": "multiple statuses",
285
+ "content": {
286
+ "application/json": {
287
+ "schema": {
288
+ "$ref": "#/components/schemas/BatchResponseSimplePublicObjectWithErrors"
289
+ },
290
+ "example": null
291
+ }
292
+ }
293
+ },
294
+ "default": {
295
+ "description": "",
296
+ "$ref": "#/components/responses/Error"
297
+ }
298
+ },
299
+ "security": [
300
+ {
301
+ "oauth2": [
302
+ "crm.objects.contacts.write"
303
+ ]
304
+ }
305
+ ]
306
+ }
307
+ },
308
+ "/crm/v3/objects/contacts/batch/read": {
309
+ "post": {
310
+ "tags": [
311
+ "Batch"
312
+ ],
313
+ "summary": "Retrieve a batch of contacts",
314
+ "description": "Retrieve a batch of contacts by ID (`contactId`) or unique property value (`idProperty`). ",
315
+ "operationId": "post-/crm/v3/objects/contacts/batch/read_read",
316
+ "parameters": [
317
+ {
318
+ "name": "archived",
319
+ "in": "query",
320
+ "description": "Whether to return only results that have been archived.",
321
+ "required": false,
322
+ "style": "form",
323
+ "explode": true,
324
+ "schema": {
325
+ "type": "boolean",
326
+ "example": null,
327
+ "default": false
328
+ }
329
+ }
330
+ ],
331
+ "requestBody": {
332
+ "content": {
333
+ "application/json": {
334
+ "schema": {
335
+ "$ref": "#/components/schemas/BatchReadInputSimplePublicObjectId"
336
+ },
337
+ "example": null
338
+ }
339
+ },
340
+ "required": true
341
+ },
342
+ "responses": {
343
+ "200": {
344
+ "description": "successful operation",
345
+ "content": {
346
+ "application/json": {
347
+ "schema": {
348
+ "$ref": "#/components/schemas/BatchResponseSimplePublicObject"
349
+ },
350
+ "example": null
351
+ }
352
+ }
353
+ },
354
+ "207": {
355
+ "description": "multiple statuses",
356
+ "content": {
357
+ "application/json": {
358
+ "schema": {
359
+ "$ref": "#/components/schemas/BatchResponseSimplePublicObjectWithErrors"
360
+ },
361
+ "example": null
362
+ }
363
+ }
364
+ },
365
+ "default": {
366
+ "description": "",
367
+ "$ref": "#/components/responses/Error"
368
+ }
369
+ },
370
+ "security": [
371
+ {
372
+ "oauth2": [
373
+ "crm.objects.contacts.read"
374
+ ]
375
+ }
376
+ ]
377
+ }
378
+ },
379
+ "/crm/v3/objects/contacts/batch/update": {
380
+ "post": {
381
+ "tags": [
382
+ "Batch"
383
+ ],
384
+ "summary": "Update a batch of contacts",
385
+ "description": "Update a batch of contacts by ID (`contactId`) or unique property value (`idProperty`). Provided property values will be overwritten. Read-only and non-existent properties will result in an error. Properties values can be cleared by passing an empty string.",
386
+ "operationId": "post-/crm/v3/objects/contacts/batch/update_update",
387
+ "parameters": [],
388
+ "requestBody": {
389
+ "content": {
390
+ "application/json": {
391
+ "schema": {
392
+ "$ref": "#/components/schemas/BatchInputSimplePublicObjectBatchInput"
393
+ },
394
+ "example": null
395
+ }
396
+ },
397
+ "required": true
398
+ },
399
+ "responses": {
400
+ "200": {
401
+ "description": "successful operation",
402
+ "content": {
403
+ "application/json": {
404
+ "schema": {
405
+ "$ref": "#/components/schemas/BatchResponseSimplePublicObject"
406
+ },
407
+ "example": null
408
+ }
409
+ }
410
+ },
411
+ "207": {
412
+ "description": "multiple statuses",
413
+ "content": {
414
+ "application/json": {
415
+ "schema": {
416
+ "$ref": "#/components/schemas/BatchResponseSimplePublicObjectWithErrors"
417
+ },
418
+ "example": null
419
+ }
420
+ }
421
+ },
422
+ "default": {
423
+ "description": "",
424
+ "$ref": "#/components/responses/Error"
425
+ }
426
+ },
427
+ "security": [
428
+ {
429
+ "oauth2": [
430
+ "crm.objects.contacts.write"
431
+ ]
432
+ }
433
+ ]
434
+ }
435
+ },
436
+ "/crm/v3/objects/contacts/batch/upsert": {
437
+ "post": {
438
+ "tags": [
439
+ "Batch"
440
+ ],
441
+ "summary": "Create or update a batch of contacts",
442
+ "description": "Upsert a batch of contacts. The `inputs` array can contain a `properties` object to define property values for each record.",
443
+ "operationId": "post-/crm/v3/objects/contacts/batch/upsert_upsert",
444
+ "parameters": [],
445
+ "requestBody": {
446
+ "content": {
447
+ "application/json": {
448
+ "schema": {
449
+ "$ref": "#/components/schemas/BatchInputSimplePublicObjectBatchInputUpsert"
450
+ },
451
+ "example": null
452
+ }
453
+ },
454
+ "required": true
455
+ },
456
+ "responses": {
457
+ "200": {
458
+ "description": "successful operation",
459
+ "content": {
460
+ "application/json": {
461
+ "schema": {
462
+ "$ref": "#/components/schemas/BatchResponseSimplePublicUpsertObject"
463
+ },
464
+ "example": null
465
+ }
466
+ }
467
+ },
468
+ "207": {
469
+ "description": "multiple statuses",
470
+ "content": {
471
+ "application/json": {
472
+ "schema": {
473
+ "$ref": "#/components/schemas/BatchResponseSimplePublicUpsertObjectWithErrors"
474
+ },
475
+ "example": null
476
+ }
477
+ }
478
+ },
479
+ "default": {
480
+ "description": "",
481
+ "$ref": "#/components/responses/Error"
482
+ }
483
+ },
484
+ "security": [
485
+ {
486
+ "oauth2": [
487
+ "crm.objects.contacts.write"
488
+ ]
489
+ }
490
+ ]
491
+ }
492
+ },
493
+ "/crm/v3/objects/contacts/gdpr-delete": {
494
+ "post": {
495
+ "tags": [
496
+ "Advanced"
497
+ ],
498
+ "summary": "Permanently delete a contact (GDPR-compliant)",
499
+ "description": "Permanently delete a contact and all associated content to follow GDPR. Use optional property `idProperty` set to `email` to identify contact by email address. If email address is not found, the email address will be added to a blocklist and prevent it from being used in the future. Learn more about [permanently deleting contacts](https://knowledge.hubspot.com/privacy-and-consent/how-do-i-perform-a-gdpr-delete-in-hubspot).",
500
+ "operationId": "post-/crm/v3/objects/contacts/gdpr-delete_purge",
501
+ "parameters": [],
502
+ "requestBody": {
503
+ "content": {
504
+ "application/json": {
505
+ "schema": {
506
+ "$ref": "#/components/schemas/PublicGdprDeleteInput"
507
+ },
508
+ "example": null
509
+ }
510
+ },
511
+ "required": true
512
+ },
513
+ "responses": {
514
+ "204": {
515
+ "description": "No content",
516
+ "content": {}
517
+ },
518
+ "default": {
519
+ "description": "",
520
+ "$ref": "#/components/responses/Error"
521
+ }
522
+ },
523
+ "security": [
524
+ {
525
+ "oauth2": [
526
+ "crm.objects.contacts.write"
527
+ ]
528
+ }
529
+ ]
530
+ }
531
+ },
532
+ "/crm/v3/objects/contacts/merge": {
533
+ "post": {
534
+ "tags": [
535
+ "Advanced"
536
+ ],
537
+ "summary": "Merge two contacts",
538
+ "description": "Merge two contact records. Learn more about [merging records](https://knowledge.hubspot.com/records/merge-records). ",
539
+ "operationId": "post-/crm/v3/objects/contacts/merge_merge",
540
+ "parameters": [],
541
+ "requestBody": {
542
+ "content": {
543
+ "application/json": {
544
+ "schema": {
545
+ "$ref": "#/components/schemas/PublicMergeInput"
546
+ },
547
+ "example": null
548
+ }
549
+ },
550
+ "required": true
551
+ },
552
+ "responses": {
553
+ "200": {
554
+ "description": "successful operation",
555
+ "content": {
556
+ "application/json": {
557
+ "schema": {
558
+ "$ref": "#/components/schemas/SimplePublicObject"
559
+ },
560
+ "example": null
561
+ }
562
+ }
563
+ },
564
+ "default": {
565
+ "description": "",
566
+ "$ref": "#/components/responses/Error"
567
+ }
568
+ },
569
+ "security": [
570
+ {
571
+ "oauth2": [
572
+ "crm.objects.contacts.write"
573
+ ]
574
+ }
575
+ ]
576
+ }
577
+ },
578
+ "/crm/v3/objects/contacts/search": {
579
+ "post": {
580
+ "tags": [
581
+ "Search"
582
+ ],
583
+ "summary": "Search for contacts",
584
+ "description": "Search for contacts by filtering on properties, searching through associations, and sorting results. Learn more about [CRM search](https://developers.hubspot.com/docs/guides/api/crm/search#make-a-search-request).",
585
+ "operationId": "post-/crm/v3/objects/contacts/search_doSearch",
586
+ "parameters": [],
587
+ "requestBody": {
588
+ "content": {
589
+ "application/json": {
590
+ "schema": {
591
+ "$ref": "#/components/schemas/PublicObjectSearchRequest"
592
+ },
593
+ "example": null
594
+ }
595
+ },
596
+ "required": true
597
+ },
598
+ "responses": {
599
+ "200": {
600
+ "description": "successful operation",
601
+ "content": {
602
+ "application/json": {
603
+ "schema": {
604
+ "$ref": "#/components/schemas/CollectionResponseWithTotalSimplePublicObject"
605
+ },
606
+ "example": null
607
+ }
608
+ }
609
+ },
610
+ "default": {
611
+ "description": "",
612
+ "$ref": "#/components/responses/Error"
613
+ }
614
+ },
615
+ "security": [
616
+ {
617
+ "oauth2": [
618
+ "crm.objects.contacts.read"
619
+ ]
620
+ }
621
+ ],
622
+ "x-hubspot-rate-limit-exemptions": [
623
+ "ten-secondly"
624
+ ]
625
+ }
626
+ },
627
+ "/crm/v3/objects/contacts/{contactId}": {
628
+ "get": {
629
+ "tags": [
630
+ "Basic"
631
+ ],
632
+ "summary": "Retrieve a contact",
633
+ "description": "Retrieve a contact by its ID (`contactId`) or by a unique property (`idProperty`). You can specify what is returned using the `properties` query parameter.",
634
+ "operationId": "get-/crm/v3/objects/contacts/{contactId}_getById",
635
+ "parameters": [
636
+ {
637
+ "name": "contactId",
638
+ "in": "path",
639
+ "required": true,
640
+ "schema": {
641
+ "pattern": ".+",
642
+ "type": "string",
643
+ "example": null
644
+ }
645
+ },
646
+ {
647
+ "name": "archived",
648
+ "in": "query",
649
+ "description": "Whether to return only results that have been archived.",
650
+ "required": false,
651
+ "style": "form",
652
+ "explode": true,
653
+ "schema": {
654
+ "type": "boolean",
655
+ "example": null,
656
+ "default": false
657
+ }
658
+ },
659
+ {
660
+ "name": "associations",
661
+ "in": "query",
662
+ "description": "A comma separated list of object types to retrieve associated IDs for. If any of the specified associations do not exist, they will be ignored.",
663
+ "required": false,
664
+ "style": "form",
665
+ "explode": true,
666
+ "schema": {
667
+ "type": "array",
668
+ "example": null,
669
+ "items": {
670
+ "type": "string",
671
+ "example": null
672
+ }
673
+ }
674
+ },
675
+ {
676
+ "name": "idProperty",
677
+ "in": "query",
678
+ "description": "The name of a property whose values are unique for this object type",
679
+ "required": false,
680
+ "style": "form",
681
+ "explode": true,
682
+ "schema": {
683
+ "type": "string",
684
+ "example": null
685
+ }
686
+ },
687
+ {
688
+ "name": "properties",
689
+ "in": "query",
690
+ "description": "A comma separated list of the properties to be returned in the response. If any of the specified properties are not present on the requested object(s), they will be ignored.",
691
+ "required": false,
692
+ "style": "form",
693
+ "explode": true,
694
+ "schema": {
695
+ "type": "array",
696
+ "example": null,
697
+ "items": {
698
+ "type": "string",
699
+ "example": null
700
+ }
701
+ }
702
+ },
703
+ {
704
+ "name": "propertiesWithHistory",
705
+ "in": "query",
706
+ "description": "A comma separated list of the properties to be returned along with their history of previous values. If any of the specified properties are not present on the requested object(s), they will be ignored.",
707
+ "required": false,
708
+ "style": "form",
709
+ "explode": true,
710
+ "schema": {
711
+ "type": "array",
712
+ "example": null,
713
+ "items": {
714
+ "type": "string",
715
+ "example": null
716
+ }
717
+ }
718
+ }
719
+ ],
720
+ "responses": {
721
+ "200": {
722
+ "description": "successful operation",
723
+ "content": {
724
+ "application/json": {
725
+ "schema": {
726
+ "$ref": "#/components/schemas/SimplePublicObjectWithAssociations"
727
+ },
728
+ "example": null
729
+ }
730
+ }
731
+ },
732
+ "default": {
733
+ "description": "",
734
+ "$ref": "#/components/responses/Error"
735
+ }
736
+ },
737
+ "security": [
738
+ {
739
+ "oauth2": [
740
+ "crm.objects.contacts.read"
741
+ ]
742
+ }
743
+ ]
744
+ },
745
+ "delete": {
746
+ "tags": [
747
+ "Basic"
748
+ ],
749
+ "summary": "Archive a contact",
750
+ "description": "Delete a contact by ID. Deleted contacts can be restored within 90 days of deletion. Learn more about the [data impacted by contact deletions](https://knowledge.hubspot.com/privacy-and-consent/understand-restorable-and-permanent-contact-deletions) and how to [restore archived records](https://knowledge.hubspot.com/records/restore-deleted-records).",
751
+ "operationId": "delete-/crm/v3/objects/contacts/{contactId}_archive",
752
+ "parameters": [
753
+ {
754
+ "name": "contactId",
755
+ "in": "path",
756
+ "required": true,
757
+ "schema": {
758
+ "pattern": ".+",
759
+ "type": "string",
760
+ "example": null
761
+ }
762
+ }
763
+ ],
764
+ "responses": {
765
+ "204": {
766
+ "description": "No content",
767
+ "content": {}
768
+ },
769
+ "default": {
770
+ "description": "",
771
+ "$ref": "#/components/responses/Error"
772
+ }
773
+ },
774
+ "security": [
775
+ {
776
+ "oauth2": [
777
+ "crm.objects.contacts.write"
778
+ ]
779
+ }
780
+ ]
781
+ },
782
+ "patch": {
783
+ "tags": [
784
+ "Basic"
785
+ ],
786
+ "summary": "Update a contact",
787
+ "description": "Update an existing contact, identified by ID or email/unique property value. To identify a contact by ID, include the ID in the request URL path. To identify a contact by their email or other unique property, include the email/property value in the request URL path, and add the `idProperty` query parameter (`/crm/v3/objects/contacts/jon@website.com?idProperty=email`). Provided property values will be overwritten. Read-only and non-existent properties will result in an error. Properties values can be cleared by passing an empty string.",
788
+ "operationId": "patch-/crm/v3/objects/contacts/{contactId}_update",
789
+ "parameters": [
790
+ {
791
+ "name": "contactId",
792
+ "in": "path",
793
+ "required": true,
794
+ "schema": {
795
+ "pattern": ".+",
796
+ "type": "string",
797
+ "example": null
798
+ }
799
+ },
800
+ {
801
+ "name": "idProperty",
802
+ "in": "query",
803
+ "description": "The name of a property whose values are unique for this object type",
804
+ "required": false,
805
+ "style": "form",
806
+ "explode": true,
807
+ "schema": {
808
+ "type": "string",
809
+ "example": null
810
+ }
811
+ }
812
+ ],
813
+ "requestBody": {
814
+ "content": {
815
+ "application/json": {
816
+ "schema": {
817
+ "$ref": "#/components/schemas/SimplePublicObjectInput"
818
+ },
819
+ "example": null
820
+ }
821
+ },
822
+ "required": true
823
+ },
824
+ "responses": {
825
+ "200": {
826
+ "description": "successful operation",
827
+ "content": {
828
+ "application/json": {
829
+ "schema": {
830
+ "$ref": "#/components/schemas/SimplePublicObject"
831
+ },
832
+ "example": null
833
+ }
834
+ }
835
+ },
836
+ "default": {
837
+ "description": "",
838
+ "$ref": "#/components/responses/Error"
839
+ }
840
+ },
841
+ "security": [
842
+ {
843
+ "oauth2": [
844
+ "crm.objects.contacts.write"
845
+ ]
846
+ }
847
+ ]
848
+ }
849
+ }
850
+ },
851
+ "components": {
852
+ "schemas": {
853
+ "AssociatedId": {
854
+ "required": [
855
+ "id",
856
+ "type"
857
+ ],
858
+ "type": "object",
859
+ "properties": {
860
+ "id": {
861
+ "type": "string",
862
+ "description": "The ID for the association type.",
863
+ "example": null
864
+ },
865
+ "type": {
866
+ "type": "string",
867
+ "description": "The type of associations.",
868
+ "example": "deal_to_contact"
869
+ }
870
+ },
871
+ "description": "Contains the id and type of an association",
872
+ "example": null
873
+ },
874
+ "AssociationSpec": {
875
+ "required": [
876
+ "associationCategory",
877
+ "associationTypeId"
878
+ ],
879
+ "type": "object",
880
+ "properties": {
881
+ "associationCategory": {
882
+ "type": "string",
883
+ "description": "The category of the association, such as \"HUBSPOT_DEFINED\".",
884
+ "example": null,
885
+ "enum": [
886
+ "HUBSPOT_DEFINED",
887
+ "INTEGRATOR_DEFINED",
888
+ "USER_DEFINED",
889
+ "WORK"
890
+ ]
891
+ },
892
+ "associationTypeId": {
893
+ "type": "integer",
894
+ "description": "The ID representing the specific type of association.",
895
+ "format": "int32",
896
+ "example": null
897
+ }
898
+ },
899
+ "description": "Defines the type, direction, and details of the relationship between two CRM objects.",
900
+ "example": null
901
+ },
902
+ "BatchInputSimplePublicObjectBatchInput": {
903
+ "required": [
904
+ "inputs"
905
+ ],
906
+ "type": "object",
907
+ "properties": {
908
+ "inputs": {
909
+ "type": "array",
910
+ "example": null,
911
+ "items": {
912
+ "$ref": "#/components/schemas/SimplePublicObjectBatchInput"
913
+ }
914
+ }
915
+ },
916
+ "example": null
917
+ },
918
+ "BatchInputSimplePublicObjectBatchInputForCreate": {
919
+ "required": [
920
+ "inputs"
921
+ ],
922
+ "type": "object",
923
+ "properties": {
924
+ "inputs": {
925
+ "type": "array",
926
+ "example": null,
927
+ "items": {
928
+ "$ref": "#/components/schemas/SimplePublicObjectBatchInputForCreate"
929
+ }
930
+ }
931
+ },
932
+ "example": null
933
+ },
934
+ "BatchInputSimplePublicObjectBatchInputUpsert": {
935
+ "required": [
936
+ "inputs"
937
+ ],
938
+ "type": "object",
939
+ "properties": {
940
+ "inputs": {
941
+ "type": "array",
942
+ "example": null,
943
+ "items": {
944
+ "$ref": "#/components/schemas/SimplePublicObjectBatchInputUpsert"
945
+ }
946
+ }
947
+ },
948
+ "example": null
949
+ },
950
+ "BatchInputSimplePublicObjectId": {
951
+ "required": [
952
+ "inputs"
953
+ ],
954
+ "type": "object",
955
+ "properties": {
956
+ "inputs": {
957
+ "type": "array",
958
+ "example": null,
959
+ "items": {
960
+ "$ref": "#/components/schemas/SimplePublicObjectId"
961
+ }
962
+ }
963
+ },
964
+ "example": null
965
+ },
966
+ "BatchReadInputSimplePublicObjectId": {
967
+ "required": [
968
+ "inputs",
969
+ "properties",
970
+ "propertiesWithHistory"
971
+ ],
972
+ "type": "object",
973
+ "properties": {
974
+ "idProperty": {
975
+ "type": "string",
976
+ "description": "When using a custom unique value property to retrieve records, the name of the property. Do not include this parameter if retrieving by record ID.",
977
+ "example": null
978
+ },
979
+ "inputs": {
980
+ "type": "array",
981
+ "example": null,
982
+ "items": {
983
+ "$ref": "#/components/schemas/SimplePublicObjectId"
984
+ }
985
+ },
986
+ "properties": {
987
+ "type": "array",
988
+ "description": "Key-value pairs for setting properties for the new object.",
989
+ "example": null,
990
+ "items": {
991
+ "type": "string",
992
+ "example": null
993
+ }
994
+ },
995
+ "propertiesWithHistory": {
996
+ "type": "array",
997
+ "description": "Key-value pairs for setting properties for the new object and their histories.",
998
+ "example": null,
999
+ "items": {
1000
+ "type": "string",
1001
+ "example": null
1002
+ }
1003
+ }
1004
+ },
1005
+ "description": "Specifies the input for reading a batch of CRM objects, including arrays of object IDs, requested property names (with optional history), and an optional unique identifying property.",
1006
+ "example": null
1007
+ },
1008
+ "BatchResponseSimplePublicObject": {
1009
+ "required": [
1010
+ "completedAt",
1011
+ "results",
1012
+ "startedAt",
1013
+ "status"
1014
+ ],
1015
+ "type": "object",
1016
+ "properties": {
1017
+ "completedAt": {
1018
+ "type": "string",
1019
+ "description": "The timestamp when the batch processing was completed, in ISO 8601 format.",
1020
+ "format": "date-time",
1021
+ "example": null
1022
+ },
1023
+ "links": {
1024
+ "type": "object",
1025
+ "additionalProperties": {
1026
+ "type": "string",
1027
+ "example": null
1028
+ },
1029
+ "description": "An object containing relevant links related to the batch request.",
1030
+ "example": null
1031
+ },
1032
+ "requestedAt": {
1033
+ "type": "string",
1034
+ "description": "The timestamp when the batch request was initially made, in ISO 8601 format.",
1035
+ "format": "date-time",
1036
+ "example": null
1037
+ },
1038
+ "results": {
1039
+ "type": "array",
1040
+ "example": null,
1041
+ "items": {
1042
+ "$ref": "#/components/schemas/SimplePublicObject"
1043
+ }
1044
+ },
1045
+ "startedAt": {
1046
+ "type": "string",
1047
+ "description": "The timestamp when the batch processing began, in ISO 8601 format.",
1048
+ "format": "date-time",
1049
+ "example": null
1050
+ },
1051
+ "status": {
1052
+ "type": "string",
1053
+ "description": "The status of the batch processing request. The expected value is \"COMPLETE\".",
1054
+ "example": null,
1055
+ "enum": [
1056
+ "CANCELED",
1057
+ "COMPLETE",
1058
+ "PENDING",
1059
+ "PROCESSING"
1060
+ ]
1061
+ }
1062
+ },
1063
+ "description": "A public object batch response object",
1064
+ "example": null
1065
+ },
1066
+ "BatchResponseSimplePublicObjectWithErrors": {
1067
+ "required": [
1068
+ "completedAt",
1069
+ "results",
1070
+ "startedAt",
1071
+ "status"
1072
+ ],
1073
+ "type": "object",
1074
+ "properties": {
1075
+ "completedAt": {
1076
+ "type": "string",
1077
+ "description": "The timestamp when the batch process was completed, in ISO 8601 format.",
1078
+ "format": "date-time",
1079
+ "example": null
1080
+ },
1081
+ "errors": {
1082
+ "type": "array",
1083
+ "example": null,
1084
+ "items": {
1085
+ "$ref": "#/components/schemas/StandardError"
1086
+ }
1087
+ },
1088
+ "links": {
1089
+ "type": "object",
1090
+ "additionalProperties": {
1091
+ "type": "string",
1092
+ "example": null
1093
+ },
1094
+ "description": "An object containing relevant links related to the batch request.",
1095
+ "example": null
1096
+ },
1097
+ "numErrors": {
1098
+ "type": "integer",
1099
+ "description": "The number of errors encountered during the batch process.",
1100
+ "format": "int32",
1101
+ "example": null
1102
+ },
1103
+ "requestedAt": {
1104
+ "type": "string",
1105
+ "description": "The timestamp when the batch process was initiated, in ISO 8601 format.",
1106
+ "format": "date-time",
1107
+ "example": null
1108
+ },
1109
+ "results": {
1110
+ "type": "array",
1111
+ "example": null,
1112
+ "items": {
1113
+ "$ref": "#/components/schemas/SimplePublicObject"
1114
+ }
1115
+ },
1116
+ "startedAt": {
1117
+ "type": "string",
1118
+ "description": "The timestamp when the batch process began execution, in ISO 8601 format.",
1119
+ "format": "date-time",
1120
+ "example": null
1121
+ },
1122
+ "status": {
1123
+ "type": "string",
1124
+ "description": "The status of the batch processing request - \"PENDING\", \"PROCESSING\", \"CANCELLED\", or \"COMPLETE\"",
1125
+ "example": null,
1126
+ "enum": [
1127
+ "CANCELED",
1128
+ "COMPLETE",
1129
+ "PENDING",
1130
+ "PROCESSING"
1131
+ ]
1132
+ }
1133
+ },
1134
+ "description": "Represents the result of a batch operation on CRM objects, including the processing status, batch results, timestamps, and a list of any errors encountered during the operation.",
1135
+ "example": null
1136
+ },
1137
+ "BatchResponseSimplePublicUpsertObject": {
1138
+ "required": [
1139
+ "completedAt",
1140
+ "results",
1141
+ "startedAt",
1142
+ "status"
1143
+ ],
1144
+ "type": "object",
1145
+ "properties": {
1146
+ "completedAt": {
1147
+ "type": "string",
1148
+ "description": "The timestamp when the batch process was completed, in ISO 8601 format.",
1149
+ "format": "date-time",
1150
+ "example": null
1151
+ },
1152
+ "links": {
1153
+ "type": "object",
1154
+ "additionalProperties": {
1155
+ "type": "string",
1156
+ "example": null
1157
+ },
1158
+ "description": "An object containing relevant links related to the batch request.",
1159
+ "example": null
1160
+ },
1161
+ "requestedAt": {
1162
+ "type": "string",
1163
+ "description": "The timestamp when the batch process was initiated, in ISO 8601 format.",
1164
+ "format": "date-time",
1165
+ "example": null
1166
+ },
1167
+ "results": {
1168
+ "type": "array",
1169
+ "example": null,
1170
+ "items": {
1171
+ "$ref": "#/components/schemas/SimplePublicUpsertObject"
1172
+ }
1173
+ },
1174
+ "startedAt": {
1175
+ "type": "string",
1176
+ "description": "The timestamp when the batch process began execution, in ISO 8601 format.",
1177
+ "format": "date-time",
1178
+ "example": null
1179
+ },
1180
+ "status": {
1181
+ "type": "string",
1182
+ "description": "The status of the batch processing request. Can be: \"PENDING\", \"PROCESSING\", \"CANCELED\", or \"COMPLETE\".",
1183
+ "example": null,
1184
+ "enum": [
1185
+ "CANCELED",
1186
+ "COMPLETE",
1187
+ "PENDING",
1188
+ "PROCESSING"
1189
+ ]
1190
+ }
1191
+ },
1192
+ "description": "Represents the result of a batch upsert operation, including the operation’s status, timestamps, and a list of successfully created or updated objects.",
1193
+ "example": null
1194
+ },
1195
+ "BatchResponseSimplePublicUpsertObjectWithErrors": {
1196
+ "required": [
1197
+ "completedAt",
1198
+ "results",
1199
+ "startedAt",
1200
+ "status"
1201
+ ],
1202
+ "type": "object",
1203
+ "properties": {
1204
+ "completedAt": {
1205
+ "type": "string",
1206
+ "description": "The timestamp when the batch process was completed, in ISO 8601 format.",
1207
+ "format": "date-time",
1208
+ "example": null
1209
+ },
1210
+ "errors": {
1211
+ "type": "array",
1212
+ "example": null,
1213
+ "items": {
1214
+ "$ref": "#/components/schemas/StandardError"
1215
+ }
1216
+ },
1217
+ "links": {
1218
+ "type": "object",
1219
+ "additionalProperties": {
1220
+ "type": "string",
1221
+ "example": null
1222
+ },
1223
+ "description": "An object containing relevant links related to the batch request.",
1224
+ "example": null
1225
+ },
1226
+ "numErrors": {
1227
+ "type": "integer",
1228
+ "description": "The number of errors encountered during the batch process.",
1229
+ "format": "int32",
1230
+ "example": null
1231
+ },
1232
+ "requestedAt": {
1233
+ "type": "string",
1234
+ "description": "The timestamp when the batch process was initiated, in ISO 8601 format.",
1235
+ "format": "date-time",
1236
+ "example": null
1237
+ },
1238
+ "results": {
1239
+ "type": "array",
1240
+ "example": null,
1241
+ "items": {
1242
+ "$ref": "#/components/schemas/SimplePublicUpsertObject"
1243
+ }
1244
+ },
1245
+ "startedAt": {
1246
+ "type": "string",
1247
+ "description": "The timestamp when the batch process began execution, in ISO 8601 format.",
1248
+ "format": "date-time",
1249
+ "example": null
1250
+ },
1251
+ "status": {
1252
+ "type": "string",
1253
+ "description": "The status of the batch processing request. Can be: \"PENDING\", \"PROCESSING\", \"CANCELLED\", or \"COMPLETE\".",
1254
+ "example": null,
1255
+ "enum": [
1256
+ "CANCELED",
1257
+ "COMPLETE",
1258
+ "PENDING",
1259
+ "PROCESSING"
1260
+ ]
1261
+ }
1262
+ },
1263
+ "description": "Represents the response from a batch upsert operation, including the status, timestamps, successfully processed objects, and any errors that occurred during processing.",
1264
+ "example": null
1265
+ },
1266
+ "CollectionResponseAssociatedId": {
1267
+ "required": [
1268
+ "results"
1269
+ ],
1270
+ "type": "object",
1271
+ "properties": {
1272
+ "paging": {
1273
+ "$ref": "#/components/schemas/Paging"
1274
+ },
1275
+ "results": {
1276
+ "type": "array",
1277
+ "example": null,
1278
+ "items": {
1279
+ "$ref": "#/components/schemas/AssociatedId"
1280
+ }
1281
+ }
1282
+ },
1283
+ "example": null
1284
+ },
1285
+ "CollectionResponseSimplePublicObjectWithAssociationsForwardPaging": {
1286
+ "required": [
1287
+ "results"
1288
+ ],
1289
+ "type": "object",
1290
+ "properties": {
1291
+ "paging": {
1292
+ "$ref": "#/components/schemas/ForwardPaging"
1293
+ },
1294
+ "results": {
1295
+ "type": "array",
1296
+ "example": null,
1297
+ "items": {
1298
+ "$ref": "#/components/schemas/SimplePublicObjectWithAssociations"
1299
+ }
1300
+ }
1301
+ },
1302
+ "example": null
1303
+ },
1304
+ "CollectionResponseWithTotalSimplePublicObject": {
1305
+ "required": [
1306
+ "results",
1307
+ "total"
1308
+ ],
1309
+ "type": "object",
1310
+ "properties": {
1311
+ "paging": {
1312
+ "$ref": "#/components/schemas/Paging"
1313
+ },
1314
+ "results": {
1315
+ "type": "array",
1316
+ "example": null,
1317
+ "items": {
1318
+ "$ref": "#/components/schemas/SimplePublicObject"
1319
+ }
1320
+ },
1321
+ "total": {
1322
+ "type": "integer",
1323
+ "description": "The number of available results",
1324
+ "format": "int32",
1325
+ "example": null
1326
+ }
1327
+ },
1328
+ "description": "Represents a list of simple objects returned from an API request, along with the total count of objects available.",
1329
+ "example": null
1330
+ },
1331
+ "Error": {
1332
+ "required": [
1333
+ "category",
1334
+ "correlationId",
1335
+ "message"
1336
+ ],
1337
+ "type": "object",
1338
+ "properties": {
1339
+ "category": {
1340
+ "type": "string",
1341
+ "description": "The error category",
1342
+ "example": null
1343
+ },
1344
+ "context": {
1345
+ "type": "object",
1346
+ "additionalProperties": {
1347
+ "type": "array",
1348
+ "example": null,
1349
+ "items": {
1350
+ "type": "string",
1351
+ "example": null
1352
+ }
1353
+ },
1354
+ "description": "Context about the error condition",
1355
+ "example": "{invalidPropertyName=[propertyValue], missingScopes=[scope1, scope2]}"
1356
+ },
1357
+ "correlationId": {
1358
+ "type": "string",
1359
+ "description": "A unique identifier for the request. Include this value with any error reports or support tickets",
1360
+ "format": "uuid",
1361
+ "example": "aeb5f871-7f07-4993-9211-075dc63e7cbf"
1362
+ },
1363
+ "errors": {
1364
+ "type": "array",
1365
+ "description": "further information about the error",
1366
+ "example": null,
1367
+ "items": {
1368
+ "$ref": "#/components/schemas/ErrorDetail"
1369
+ }
1370
+ },
1371
+ "links": {
1372
+ "type": "object",
1373
+ "additionalProperties": {
1374
+ "type": "string",
1375
+ "example": null
1376
+ },
1377
+ "description": "A map of link names to associated URIs containing documentation about the error or recommended remediation steps",
1378
+ "example": null
1379
+ },
1380
+ "message": {
1381
+ "type": "string",
1382
+ "description": "A human readable message describing the error along with remediation steps where appropriate",
1383
+ "example": "An error occurred"
1384
+ },
1385
+ "subCategory": {
1386
+ "type": "string",
1387
+ "description": "A specific category that contains more specific detail about the error",
1388
+ "example": null
1389
+ }
1390
+ },
1391
+ "example": {
1392
+ "message": "Invalid input (details will vary based on the error)",
1393
+ "correlationId": "aeb5f871-7f07-4993-9211-075dc63e7cbf",
1394
+ "category": "VALIDATION_ERROR",
1395
+ "links": {
1396
+ "knowledge-base": "https://www.hubspot.com/products/service/knowledge-base"
1397
+ }
1398
+ }
1399
+ },
1400
+ "ErrorDetail": {
1401
+ "required": [
1402
+ "message"
1403
+ ],
1404
+ "type": "object",
1405
+ "properties": {
1406
+ "code": {
1407
+ "type": "string",
1408
+ "description": "The status code associated with the error detail",
1409
+ "example": null
1410
+ },
1411
+ "context": {
1412
+ "type": "object",
1413
+ "additionalProperties": {
1414
+ "type": "array",
1415
+ "example": null,
1416
+ "items": {
1417
+ "type": "string",
1418
+ "example": null
1419
+ }
1420
+ },
1421
+ "description": "Context about the error condition",
1422
+ "example": "{missingScopes=[scope1, scope2]}"
1423
+ },
1424
+ "in": {
1425
+ "type": "string",
1426
+ "description": "The name of the field or parameter in which the error was found.",
1427
+ "example": null
1428
+ },
1429
+ "message": {
1430
+ "type": "string",
1431
+ "description": "A human readable message describing the error along with remediation steps where appropriate",
1432
+ "example": null
1433
+ },
1434
+ "subCategory": {
1435
+ "type": "string",
1436
+ "description": "A specific category that contains more specific detail about the error",
1437
+ "example": null
1438
+ }
1439
+ },
1440
+ "example": null
1441
+ },
1442
+ "Filter": {
1443
+ "required": [
1444
+ "operator",
1445
+ "propertyName"
1446
+ ],
1447
+ "type": "object",
1448
+ "properties": {
1449
+ "highValue": {
1450
+ "type": "string",
1451
+ "description": "The upper boundary value when using ranged-based filters.",
1452
+ "example": null
1453
+ },
1454
+ "operator": {
1455
+ "type": "string",
1456
+ "description": "null",
1457
+ "example": null,
1458
+ "enum": [
1459
+ "BETWEEN",
1460
+ "CONTAINS_TOKEN",
1461
+ "EQ",
1462
+ "GT",
1463
+ "GTE",
1464
+ "HAS_PROPERTY",
1465
+ "IN",
1466
+ "LT",
1467
+ "LTE",
1468
+ "NEQ",
1469
+ "NOT_CONTAINS_TOKEN",
1470
+ "NOT_HAS_PROPERTY",
1471
+ "NOT_IN"
1472
+ ]
1473
+ },
1474
+ "propertyName": {
1475
+ "type": "string",
1476
+ "description": "The name of the property to apply the filter to.",
1477
+ "example": null
1478
+ },
1479
+ "value": {
1480
+ "type": "string",
1481
+ "description": "The value to match against the property.",
1482
+ "example": null
1483
+ },
1484
+ "values": {
1485
+ "type": "array",
1486
+ "description": "The values to match against the property.",
1487
+ "example": null,
1488
+ "items": {
1489
+ "type": "string",
1490
+ "example": null
1491
+ }
1492
+ }
1493
+ },
1494
+ "description": "Defines a single condition for searching CRM objects, specifying the property to filter on, the operator to use (such as equals, greater than, or contains), and the value(s) to compare against. ",
1495
+ "example": null
1496
+ },
1497
+ "FilterGroup": {
1498
+ "required": [
1499
+ "filters"
1500
+ ],
1501
+ "type": "object",
1502
+ "properties": {
1503
+ "filters": {
1504
+ "type": "array",
1505
+ "example": null,
1506
+ "items": {
1507
+ "$ref": "#/components/schemas/Filter"
1508
+ }
1509
+ }
1510
+ },
1511
+ "example": null
1512
+ },
1513
+ "ForwardPaging": {
1514
+ "type": "object",
1515
+ "properties": {
1516
+ "next": {
1517
+ "$ref": "#/components/schemas/NextPage"
1518
+ }
1519
+ },
1520
+ "example": null
1521
+ },
1522
+ "NextPage": {
1523
+ "required": [
1524
+ "after"
1525
+ ],
1526
+ "type": "object",
1527
+ "properties": {
1528
+ "after": {
1529
+ "type": "string",
1530
+ "description": "A paging cursor token for retrieving subsequent pages.",
1531
+ "example": null
1532
+ },
1533
+ "link": {
1534
+ "type": "string",
1535
+ "description": "A URL that can be used to retrieve the next page results.",
1536
+ "example": null
1537
+ }
1538
+ },
1539
+ "description": "Specifies the paging information needed to retrieve the next set of results in a paginated API response",
1540
+ "example": {
1541
+ "after": "NTI1Cg%3D%3D",
1542
+ "link": "?after=NTI1Cg%3D%3D"
1543
+ }
1544
+ },
1545
+ "Paging": {
1546
+ "type": "object",
1547
+ "properties": {
1548
+ "next": {
1549
+ "$ref": "#/components/schemas/NextPage"
1550
+ },
1551
+ "prev": {
1552
+ "$ref": "#/components/schemas/PreviousPage"
1553
+ }
1554
+ },
1555
+ "example": null
1556
+ },
1557
+ "PreviousPage": {
1558
+ "required": [
1559
+ "before"
1560
+ ],
1561
+ "type": "object",
1562
+ "properties": {
1563
+ "before": {
1564
+ "type": "string",
1565
+ "description": "A paging cursor token for retrieving previous pages.",
1566
+ "example": null
1567
+ },
1568
+ "link": {
1569
+ "type": "string",
1570
+ "description": "A URL that can be used to retrieve the previous pages' results.",
1571
+ "example": null
1572
+ }
1573
+ },
1574
+ "description": "specifies the paging information needed to retrieve the previous set of results in a paginated API response",
1575
+ "example": null
1576
+ },
1577
+ "PublicAssociationsForObject": {
1578
+ "required": [
1579
+ "to",
1580
+ "types"
1581
+ ],
1582
+ "type": "object",
1583
+ "properties": {
1584
+ "to": {
1585
+ "$ref": "#/components/schemas/PublicObjectId"
1586
+ },
1587
+ "types": {
1588
+ "type": "array",
1589
+ "example": null,
1590
+ "items": {
1591
+ "$ref": "#/components/schemas/AssociationSpec"
1592
+ }
1593
+ }
1594
+ },
1595
+ "example": null
1596
+ },
1597
+ "PublicGdprDeleteInput": {
1598
+ "required": [
1599
+ "objectId"
1600
+ ],
1601
+ "type": "object",
1602
+ "properties": {
1603
+ "idProperty": {
1604
+ "type": "string",
1605
+ "description": "The name of a property whose values are unique for this object. An alternative to identifying a contact by ID.",
1606
+ "example": null
1607
+ },
1608
+ "objectId": {
1609
+ "type": "string",
1610
+ "description": "The ID of the contact to permanently delete.",
1611
+ "example": null
1612
+ }
1613
+ },
1614
+ "description": "An input that contains the information required to process a public GDPR data deletion request.",
1615
+ "example": null
1616
+ },
1617
+ "PublicMergeInput": {
1618
+ "required": [
1619
+ "objectIdToMerge",
1620
+ "primaryObjectId"
1621
+ ],
1622
+ "type": "object",
1623
+ "properties": {
1624
+ "objectIdToMerge": {
1625
+ "type": "string",
1626
+ "description": "The object ID of the record that the merge will not set as the current value after the merge.",
1627
+ "example": null
1628
+ },
1629
+ "primaryObjectId": {
1630
+ "type": "string",
1631
+ "description": "The object ID of the record that the merge will generally set as the current value after the merge.",
1632
+ "example": null
1633
+ }
1634
+ },
1635
+ "description": "Input data for merging two records.",
1636
+ "example": null
1637
+ },
1638
+ "PublicObjectId": {
1639
+ "required": [
1640
+ "id"
1641
+ ],
1642
+ "type": "object",
1643
+ "properties": {
1644
+ "id": {
1645
+ "type": "string",
1646
+ "description": "The unique ID of the object.",
1647
+ "example": null
1648
+ }
1649
+ },
1650
+ "description": "Contains the Id of a Public Object",
1651
+ "example": null
1652
+ },
1653
+ "PublicObjectSearchRequest": {
1654
+ "required": [
1655
+ "after",
1656
+ "filterGroups",
1657
+ "limit",
1658
+ "properties",
1659
+ "sorts"
1660
+ ],
1661
+ "type": "object",
1662
+ "properties": {
1663
+ "after": {
1664
+ "type": "string",
1665
+ "description": "A paging cursor token for retrieving subsequent pages.",
1666
+ "example": null
1667
+ },
1668
+ "filterGroups": {
1669
+ "type": "array",
1670
+ "description": "Up to 6 groups of filters defining additional query criteria.",
1671
+ "example": null,
1672
+ "items": {
1673
+ "$ref": "#/components/schemas/FilterGroup"
1674
+ }
1675
+ },
1676
+ "limit": {
1677
+ "type": "integer",
1678
+ "description": "The maximum results to return, up to 200 objects.",
1679
+ "format": "int32",
1680
+ "example": null
1681
+ },
1682
+ "properties": {
1683
+ "type": "array",
1684
+ "description": "A list of property names to include in the response.",
1685
+ "example": null,
1686
+ "items": {
1687
+ "type": "string",
1688
+ "example": null
1689
+ }
1690
+ },
1691
+ "query": {
1692
+ "type": "string",
1693
+ "description": "The search query string, up to 3000 characters.",
1694
+ "example": null
1695
+ },
1696
+ "sorts": {
1697
+ "type": "array",
1698
+ "description": "Specifies sorting order based on object properties.",
1699
+ "example": null,
1700
+ "items": {
1701
+ "type": "string",
1702
+ "example": null
1703
+ }
1704
+ }
1705
+ },
1706
+ "description": "Describes a search request",
1707
+ "example": null
1708
+ },
1709
+ "SimplePublicObject": {
1710
+ "required": [
1711
+ "archived",
1712
+ "createdAt",
1713
+ "id",
1714
+ "properties",
1715
+ "updatedAt"
1716
+ ],
1717
+ "type": "object",
1718
+ "properties": {
1719
+ "archived": {
1720
+ "type": "boolean",
1721
+ "description": "Whether the object is archived.",
1722
+ "example": null
1723
+ },
1724
+ "archivedAt": {
1725
+ "type": "string",
1726
+ "description": "The timestamp when the object was archived, in ISO 8601 format.",
1727
+ "format": "date-time",
1728
+ "example": null
1729
+ },
1730
+ "createdAt": {
1731
+ "type": "string",
1732
+ "description": "The timestamp when the object was created, in ISO 8601 format.",
1733
+ "format": "date-time",
1734
+ "example": null
1735
+ },
1736
+ "id": {
1737
+ "type": "string",
1738
+ "description": "The unique ID of the object.",
1739
+ "example": null
1740
+ },
1741
+ "objectWriteTraceId": {
1742
+ "type": "string",
1743
+ "description": "An identifier used for tracing the write request for the object.",
1744
+ "example": null
1745
+ },
1746
+ "properties": {
1747
+ "type": "object",
1748
+ "additionalProperties": {
1749
+ "type": "string",
1750
+ "example": null
1751
+ },
1752
+ "description": "Key-value pairs representing the properties of the object.",
1753
+ "example": null
1754
+ },
1755
+ "propertiesWithHistory": {
1756
+ "type": "object",
1757
+ "additionalProperties": {
1758
+ "type": "array",
1759
+ "example": null,
1760
+ "items": {
1761
+ "$ref": "#/components/schemas/ValueWithTimestamp"
1762
+ }
1763
+ },
1764
+ "description": "Key-value pairs representing the properties of the object along with their history.",
1765
+ "example": null
1766
+ },
1767
+ "updatedAt": {
1768
+ "type": "string",
1769
+ "description": "The timestamp when the object was last updated, in ISO 8601 format.",
1770
+ "format": "date-time",
1771
+ "example": null
1772
+ },
1773
+ "url": {
1774
+ "type": "string",
1775
+ "description": "The URL associated with the object.",
1776
+ "example": null
1777
+ }
1778
+ },
1779
+ "description": "A simple public object.",
1780
+ "example": {
1781
+ "archived": false,
1782
+ "createdAt": "2019-10-30T03:30:17.883Z",
1783
+ "id": "512",
1784
+ "properties": {
1785
+ "property_checkbox": "false",
1786
+ "property_date": "1572480000000",
1787
+ "property_dropdown": "choice_b",
1788
+ "property_multiple_checkboxes": "chocolate;strawberry",
1789
+ "property_number": "17",
1790
+ "property_radio": "option_1",
1791
+ "property_string": "value"
1792
+ },
1793
+ "updatedAt": "2019-12-07T16:50:06.678Z"
1794
+ }
1795
+ },
1796
+ "SimplePublicObjectBatchInput": {
1797
+ "required": [
1798
+ "id",
1799
+ "properties"
1800
+ ],
1801
+ "type": "object",
1802
+ "properties": {
1803
+ "id": {
1804
+ "type": "string",
1805
+ "description": "The ID of the contact to update. This can be the object ID, or the unique property value of the `idProperty` property.",
1806
+ "example": null
1807
+ },
1808
+ "idProperty": {
1809
+ "type": "string",
1810
+ "description": "The name of a unique property, when identifying records by property. ",
1811
+ "example": "my_unique_property_name"
1812
+ },
1813
+ "objectWriteTraceId": {
1814
+ "type": "string",
1815
+ "description": "A unique identifier for tracing the request.",
1816
+ "example": null
1817
+ },
1818
+ "properties": {
1819
+ "type": "object",
1820
+ "additionalProperties": {
1821
+ "type": "string",
1822
+ "example": null
1823
+ },
1824
+ "description": "Key-value pairs representing the properties of the object.",
1825
+ "example": null
1826
+ }
1827
+ },
1828
+ "description": "Contains an array of CRM object records to be processed in a batch operation, each defined by their ID and properties.",
1829
+ "example": null
1830
+ },
1831
+ "SimplePublicObjectBatchInputForCreate": {
1832
+ "required": [
1833
+ "associations",
1834
+ "properties"
1835
+ ],
1836
+ "type": "object",
1837
+ "properties": {
1838
+ "associations": {
1839
+ "type": "array",
1840
+ "example": null,
1841
+ "items": {
1842
+ "$ref": "#/components/schemas/PublicAssociationsForObject"
1843
+ }
1844
+ },
1845
+ "objectWriteTraceId": {
1846
+ "type": "string",
1847
+ "description": "An identifier used for tracing the creation or update request of the object.",
1848
+ "example": null
1849
+ },
1850
+ "properties": {
1851
+ "type": "object",
1852
+ "additionalProperties": {
1853
+ "type": "string",
1854
+ "example": null
1855
+ },
1856
+ "description": "Key value pairs representing the properties of the object.",
1857
+ "example": null
1858
+ }
1859
+ },
1860
+ "description": "An input object that contains a collection of objects to be created together in a batch.",
1861
+ "example": null
1862
+ },
1863
+ "SimplePublicObjectBatchInputUpsert": {
1864
+ "required": [
1865
+ "id",
1866
+ "properties"
1867
+ ],
1868
+ "type": "object",
1869
+ "properties": {
1870
+ "id": {
1871
+ "type": "string",
1872
+ "description": "The unique ID of the object.",
1873
+ "example": null
1874
+ },
1875
+ "idProperty": {
1876
+ "type": "string",
1877
+ "description": "The name of a property whose values are unique for this object",
1878
+ "example": null
1879
+ },
1880
+ "objectWriteTraceId": {
1881
+ "type": "string",
1882
+ "description": "An identifier for tracing the creation request.",
1883
+ "example": null
1884
+ },
1885
+ "properties": {
1886
+ "type": "object",
1887
+ "additionalProperties": {
1888
+ "type": "string",
1889
+ "example": null
1890
+ },
1891
+ "description": "Key value pairs representing the properties of the object.",
1892
+ "example": null
1893
+ }
1894
+ },
1895
+ "description": "Represents an object used in batch upsert operations, containing an object’s unique identifier, its properties, and optionally the unique property name and a write trace ID.",
1896
+ "example": null
1897
+ },
1898
+ "SimplePublicObjectId": {
1899
+ "required": [
1900
+ "id"
1901
+ ],
1902
+ "type": "object",
1903
+ "properties": {
1904
+ "id": {
1905
+ "type": "string",
1906
+ "description": "The unique ID of the object.",
1907
+ "example": "430001"
1908
+ }
1909
+ },
1910
+ "description": "Contains the Id of a Public Object",
1911
+ "example": null
1912
+ },
1913
+ "SimplePublicObjectInput": {
1914
+ "required": [
1915
+ "properties"
1916
+ ],
1917
+ "type": "object",
1918
+ "properties": {
1919
+ "properties": {
1920
+ "type": "object",
1921
+ "additionalProperties": {
1922
+ "type": "string",
1923
+ "example": null
1924
+ },
1925
+ "description": "Key value pairs representing the properties of the object.",
1926
+ "example": null
1927
+ }
1928
+ },
1929
+ "description": "Represents the input required to create or update a CRM object, containing an object with property names and their corresponding values.",
1930
+ "example": {
1931
+ "properties": {
1932
+ "property_checkbox": "false",
1933
+ "property_date": "1572480000000",
1934
+ "property_dropdown": "choice_b",
1935
+ "property_multiple_checkboxes": "chocolate;strawberry",
1936
+ "property_number": "17",
1937
+ "property_radio": "option_1",
1938
+ "property_string": "value"
1939
+ }
1940
+ }
1941
+ },
1942
+ "SimplePublicObjectInputForCreate": {
1943
+ "required": [
1944
+ "associations",
1945
+ "properties"
1946
+ ],
1947
+ "type": "object",
1948
+ "properties": {
1949
+ "associations": {
1950
+ "type": "array",
1951
+ "example": null,
1952
+ "items": {
1953
+ "$ref": "#/components/schemas/PublicAssociationsForObject"
1954
+ }
1955
+ },
1956
+ "properties": {
1957
+ "type": "object",
1958
+ "additionalProperties": {
1959
+ "type": "string",
1960
+ "example": null
1961
+ },
1962
+ "description": "Key-value pairs for setting properties for the new object.",
1963
+ "example": null
1964
+ }
1965
+ },
1966
+ "description": "Is the input object used to create a new CRM object, containing the properties to be set and optional associations to link the new record with other CRM objects.",
1967
+ "example": null
1968
+ },
1969
+ "SimplePublicObjectWithAssociations": {
1970
+ "required": [
1971
+ "archived",
1972
+ "createdAt",
1973
+ "id",
1974
+ "properties",
1975
+ "updatedAt"
1976
+ ],
1977
+ "type": "object",
1978
+ "properties": {
1979
+ "archived": {
1980
+ "type": "boolean",
1981
+ "description": "Whether the object is archived.",
1982
+ "example": null
1983
+ },
1984
+ "archivedAt": {
1985
+ "type": "string",
1986
+ "description": "The timestamp when the object was archived, in ISO 8601 format.",
1987
+ "format": "date-time",
1988
+ "example": null
1989
+ },
1990
+ "associations": {
1991
+ "type": "object",
1992
+ "additionalProperties": {
1993
+ "$ref": "#/components/schemas/CollectionResponseAssociatedId"
1994
+ },
1995
+ "description": "A list defining relationships with other objects.",
1996
+ "example": null
1997
+ },
1998
+ "createdAt": {
1999
+ "type": "string",
2000
+ "description": "The timestamp when the object was created, in ISO 8601 format.",
2001
+ "format": "date-time",
2002
+ "example": null
2003
+ },
2004
+ "id": {
2005
+ "type": "string",
2006
+ "description": "The unique ID of the object.",
2007
+ "example": null
2008
+ },
2009
+ "objectWriteTraceId": {
2010
+ "type": "string",
2011
+ "description": "An identifier used for tracing the creation or update request of the object.",
2012
+ "example": null
2013
+ },
2014
+ "properties": {
2015
+ "type": "object",
2016
+ "additionalProperties": {
2017
+ "type": "string",
2018
+ "example": null
2019
+ },
2020
+ "description": "Key value pairs representing the properties of the object.",
2021
+ "example": null
2022
+ },
2023
+ "propertiesWithHistory": {
2024
+ "type": "object",
2025
+ "additionalProperties": {
2026
+ "type": "array",
2027
+ "example": null,
2028
+ "items": {
2029
+ "$ref": "#/components/schemas/ValueWithTimestamp"
2030
+ }
2031
+ },
2032
+ "description": "Key-value pairs representing the properties of the object along with their history.",
2033
+ "example": null
2034
+ },
2035
+ "updatedAt": {
2036
+ "type": "string",
2037
+ "description": "The timestamp when the object was last updated, in ISO 8601 format.",
2038
+ "format": "date-time",
2039
+ "example": null
2040
+ },
2041
+ "url": {
2042
+ "type": "string",
2043
+ "description": "The URL on the API that provide direct navigation to the corresponding UI pages for the connectors.",
2044
+ "example": null
2045
+ }
2046
+ },
2047
+ "description": "Represents a CRM object along with its properties, timestamps, and a set of associated object IDs grouped by association type.",
2048
+ "example": null
2049
+ },
2050
+ "SimplePublicUpsertObject": {
2051
+ "required": [
2052
+ "archived",
2053
+ "createdAt",
2054
+ "id",
2055
+ "new",
2056
+ "properties",
2057
+ "updatedAt"
2058
+ ],
2059
+ "type": "object",
2060
+ "properties": {
2061
+ "archived": {
2062
+ "type": "boolean",
2063
+ "description": "Whether the object is archived.",
2064
+ "example": null
2065
+ },
2066
+ "archivedAt": {
2067
+ "type": "string",
2068
+ "description": "The timestamp when the object was archived, in ISO 8601 format.",
2069
+ "format": "date-time",
2070
+ "example": null
2071
+ },
2072
+ "createdAt": {
2073
+ "type": "string",
2074
+ "description": "The timestamp when the object was created, in ISO 8601 format.",
2075
+ "format": "date-time",
2076
+ "example": null
2077
+ },
2078
+ "id": {
2079
+ "type": "string",
2080
+ "description": "The unique ID of the object.",
2081
+ "example": null
2082
+ },
2083
+ "new": {
2084
+ "type": "boolean",
2085
+ "description": "Whether the property is new.",
2086
+ "example": null
2087
+ },
2088
+ "objectWriteTraceId": {
2089
+ "type": "string",
2090
+ "description": "An identifier for tracing the creation request.",
2091
+ "example": null
2092
+ },
2093
+ "properties": {
2094
+ "type": "object",
2095
+ "additionalProperties": {
2096
+ "type": "string",
2097
+ "example": null
2098
+ },
2099
+ "description": "Key value pairs representing the properties of the object.",
2100
+ "example": null
2101
+ },
2102
+ "propertiesWithHistory": {
2103
+ "type": "object",
2104
+ "additionalProperties": {
2105
+ "type": "array",
2106
+ "example": null,
2107
+ "items": {
2108
+ "$ref": "#/components/schemas/ValueWithTimestamp"
2109
+ }
2110
+ },
2111
+ "description": "Key-value pairs representing the properties of the object along with their history.",
2112
+ "example": null
2113
+ },
2114
+ "updatedAt": {
2115
+ "type": "string",
2116
+ "description": "The timestamp when the object was last updated, in ISO 8601 format.",
2117
+ "format": "date-time",
2118
+ "example": null
2119
+ },
2120
+ "url": {
2121
+ "type": "string",
2122
+ "description": "The URL associated with the object.",
2123
+ "example": null
2124
+ }
2125
+ },
2126
+ "description": "Represents a CRM object that has either been created or updated (upserted)",
2127
+ "example": null
2128
+ },
2129
+ "StandardError": {
2130
+ "required": [
2131
+ "category",
2132
+ "context",
2133
+ "errors",
2134
+ "links",
2135
+ "message",
2136
+ "status"
2137
+ ],
2138
+ "type": "object",
2139
+ "properties": {
2140
+ "category": {
2141
+ "type": "string",
2142
+ "description": "The main category of the error.",
2143
+ "example": null
2144
+ },
2145
+ "context": {
2146
+ "type": "object",
2147
+ "additionalProperties": {
2148
+ "type": "array",
2149
+ "example": null,
2150
+ "items": {
2151
+ "type": "string",
2152
+ "example": null
2153
+ }
2154
+ },
2155
+ "description": "Additional context-specific information related to the error.",
2156
+ "example": null
2157
+ },
2158
+ "errors": {
2159
+ "type": "array",
2160
+ "description": "The detailed error objects.",
2161
+ "example": null,
2162
+ "items": {
2163
+ "$ref": "#/components/schemas/ErrorDetail"
2164
+ }
2165
+ },
2166
+ "id": {
2167
+ "type": "string",
2168
+ "description": "A unique ID for the error instance.",
2169
+ "example": null
2170
+ },
2171
+ "links": {
2172
+ "type": "object",
2173
+ "additionalProperties": {
2174
+ "type": "string",
2175
+ "example": null
2176
+ },
2177
+ "description": "URLs linking to documentation or resources associated with the error.",
2178
+ "example": null
2179
+ },
2180
+ "message": {
2181
+ "type": "string",
2182
+ "description": "A human-readable string describing the error and possible remediation steps.",
2183
+ "example": null
2184
+ },
2185
+ "status": {
2186
+ "type": "string",
2187
+ "description": "The HTTP status code associated with the error.",
2188
+ "example": null
2189
+ },
2190
+ "subCategory": {
2191
+ "type": "object",
2192
+ "properties": {},
2193
+ "description": "A more specific error category within each main category.",
2194
+ "example": null
2195
+ }
2196
+ },
2197
+ "description": "Represents a standard error response in the HubSpot API, providing detailed information about an error that occurred during an API request.",
2198
+ "example": null
2199
+ },
2200
+ "ValueWithTimestamp": {
2201
+ "required": [
2202
+ "sourceType",
2203
+ "timestamp",
2204
+ "value"
2205
+ ],
2206
+ "type": "object",
2207
+ "properties": {
2208
+ "sourceId": {
2209
+ "type": "string",
2210
+ "description": "The unique ID of the property.",
2211
+ "example": null
2212
+ },
2213
+ "sourceLabel": {
2214
+ "type": "string",
2215
+ "description": "A human-readable label.",
2216
+ "example": null
2217
+ },
2218
+ "sourceType": {
2219
+ "type": "string",
2220
+ "description": "The property type.",
2221
+ "example": null
2222
+ },
2223
+ "timestamp": {
2224
+ "type": "string",
2225
+ "description": "The timestamp when the property was updated, in ISO 8601 format.",
2226
+ "format": "date-time",
2227
+ "example": null
2228
+ },
2229
+ "updatedByUserId": {
2230
+ "type": "integer",
2231
+ "description": "The ID of the user who last updated the property.",
2232
+ "format": "int32",
2233
+ "example": null
2234
+ },
2235
+ "value": {
2236
+ "type": "string",
2237
+ "description": "The property value.",
2238
+ "example": null
2239
+ }
2240
+ },
2241
+ "description": "Property model that includes timestamp.",
2242
+ "example": null
2243
+ }
2244
+ },
2245
+ "responses": {
2246
+ "Error": {
2247
+ "description": "An error occurred.",
2248
+ "content": {
2249
+ "*/*": {
2250
+ "schema": {
2251
+ "$ref": "#/components/schemas/Error"
2252
+ },
2253
+ "example": null
2254
+ }
2255
+ }
2256
+ }
2257
+ },
2258
+ "securitySchemes": {
2259
+ "developer_hapikey": {
2260
+ "type": "apiKey",
2261
+ "name": "hapikey",
2262
+ "in": "query"
2263
+ },
2264
+ "oauth2": {
2265
+ "type": "oauth2",
2266
+ "flows": {
2267
+ "authorizationCode": {
2268
+ "authorizationUrl": "https://app.hubspot.com/oauth/authorize",
2269
+ "tokenUrl": "https://api.hubapi.com/oauth/v1/token",
2270
+ "scopes": {
2271
+ "crm.objects.commercepayments.read": "",
2272
+ "crm.objects.contacts.read": "",
2273
+ "crm.objects.contacts.write": "",
2274
+ "oauth": ""
2275
+ }
2276
+ }
2277
+ }
2278
+ },
2279
+ "private_apps": {
2280
+ "type": "apiKey",
2281
+ "name": "private-app",
2282
+ "in": "header"
2283
+ },
2284
+ "private_apps_legacy": {
2285
+ "type": "apiKey",
2286
+ "name": "private-app-legacy",
2287
+ "in": "header"
2288
+ }
2289
+ }
2290
+ },
2291
+ "x-hubspot-available-client-libraries": [
2292
+ "Node",
2293
+ "Python",
2294
+ "Ruby",
2295
+ "PHP"
2296
+ ],
2297
+ "x-hubspot-product-tier-requirements": {
2298
+ "marketing": "FREE",
2299
+ "sales": "FREE",
2300
+ "service": "FREE",
2301
+ "cms": "FREE",
2302
+ "commerce": "FREE",
2303
+ "crmHub": "FREE",
2304
+ "dataHub": "FREE"
2305
+ }
2306
+ }