Class: HubSpotSDK::Resources::Crm::Lists

Inherits:
Object
  • Object
show all
Defined in:
lib/hubspot_sdk/resources/crm/lists.rb

Instance Method Summary collapse

Constructor Details

#initialize(client:) ⇒ Lists

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns a new instance of Lists.

Parameters:



686
687
688
# File 'lib/hubspot_sdk/resources/crm/lists.rb', line 686

def initialize(client:)
  @client = client
end

Instance Method Details

#add_and_remove_memberships(list_id, record_ids_to_add:, record_ids_to_remove:, request_options: {}) ⇒ HubSpotSDK::Models::Crm::MembershipsUpdateResponse

Parameters:

  • list_id (String)
  • record_ids_to_add (Array<String>)
  • record_ids_to_remove (Array<String>)
  • request_options (HubSpotSDK::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

See Also:



92
93
94
95
96
97
98
99
100
101
# File 'lib/hubspot_sdk/resources/crm/lists.rb', line 92

def add_and_remove_memberships(list_id, params)
  parsed, options = HubSpotSDK::Crm::ListAddAndRemoveMembershipsParams.dump_request(params)
  @client.request(
    method: :put,
    path: ["crm/lists/2026-03/%1$s/memberships/add-and-remove", list_id],
    body: parsed,
    model: HubSpotSDK::Crm::MembershipsUpdateResponse,
    options: options
  )
end

#add_memberships(list_id, body:, request_options: {}) ⇒ HubSpotSDK::Models::Crm::MembershipsUpdateResponse

Parameters:

Returns:

See Also:



112
113
114
115
116
117
118
119
120
121
# File 'lib/hubspot_sdk/resources/crm/lists.rb', line 112

def add_memberships(list_id, params)
  parsed, options = HubSpotSDK::Crm::ListAddMembershipsParams.dump_request(params)
  @client.request(
    method: :put,
    path: ["crm/lists/2026-03/%1$s/memberships/add", list_id],
    body: parsed[:body],
    model: HubSpotSDK::Crm::MembershipsUpdateResponse,
    options: options
  )
end

#add_memberships_from(source_list_id, list_id:, request_options: {}) ⇒ nil

Parameters:

Returns:

  • (nil)

See Also:



132
133
134
135
136
137
138
139
140
141
142
143
144
# File 'lib/hubspot_sdk/resources/crm/lists.rb', line 132

def add_memberships_from(source_list_id, params)
  parsed, options = HubSpotSDK::Crm::ListAddMembershipsFromParams.dump_request(params)
  list_id =
    parsed.delete(:list_id) do
      raise ArgumentError.new("missing required path argument #{_1}")
    end
  @client.request(
    method: :put,
    path: ["crm/lists/2026-03/%1$s/memberships/add-from/%2$s", list_id, source_list_id],
    model: NilClass,
    options: options
  )
end

#batch_read_memberships(inputs:, request_options: {}) ⇒ HubSpotSDK::Models::Crm::BatchResponseRecordIDWithMemberships



154
155
156
157
158
159
160
161
162
163
# File 'lib/hubspot_sdk/resources/crm/lists.rb', line 154

def batch_read_memberships(params)
  parsed, options = HubSpotSDK::Crm::ListBatchReadMembershipsParams.dump_request(params)
  @client.request(
    method: :post,
    path: "crm/lists/2026-03/records/memberships/batch/read",
    body: parsed,
    model: HubSpotSDK::Crm::BatchResponseRecordIDWithMemberships,
    options: options
  )
end

#create(name:, object_type_id:, processing_type:, custom_properties: nil, filter_branch: nil, list_folder_id: nil, list_permissions: nil, membership_settings: nil, request_options: {}) ⇒ HubSpotSDK::Models::Crm::ListCreateResponse

Some parameter documentations has been truncated, see Models::Crm::ListCreateParams for more details.

Parameters:

Returns:

See Also:



33
34
35
36
37
38
39
40
41
42
# File 'lib/hubspot_sdk/resources/crm/lists.rb', line 33

def create(params)
  parsed, options = HubSpotSDK::Crm::ListCreateParams.dump_request(params)
  @client.request(
    method: :post,
    path: "crm/lists/2026-03",
    body: parsed,
    model: HubSpotSDK::Crm::ListCreateResponse,
    options: options
  )
end

#create_folder(name:, parent_folder_id: nil, request_options: {}) ⇒ HubSpotSDK::Models::Crm::ListFolderCreateResponse

Some parameter documentations has been truncated, see Models::Crm::ListCreateFolderParams for more details.

Parameters:

  • name (String)

    The name of the folder to be created.

  • parent_folder_id (String)

    The folder this should be created in, if not specified will be created in the ro

  • request_options (HubSpotSDK::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

See Also:



179
180
181
182
183
184
185
186
187
188
# File 'lib/hubspot_sdk/resources/crm/lists.rb', line 179

def create_folder(params)
  parsed, options = HubSpotSDK::Crm::ListCreateFolderParams.dump_request(params)
  @client.request(
    method: :post,
    path: "crm/lists/2026-03/folders",
    body: parsed,
    model: HubSpotSDK::Crm::ListFolderCreateResponse,
    options: options
  )
end

#create_id_mapping(body:, request_options: {}) ⇒ HubSpotSDK::Models::Crm::PublicBatchMigrationMapping

Parameters:

Returns:

See Also:



198
199
200
201
202
203
204
205
206
207
# File 'lib/hubspot_sdk/resources/crm/lists.rb', line 198

def create_id_mapping(params)
  parsed, options = HubSpotSDK::Crm::ListCreateIDMappingParams.dump_request(params)
  @client.request(
    method: :post,
    path: "crm/lists/2026-03/idmapping",
    body: parsed[:body],
    model: HubSpotSDK::Crm::PublicBatchMigrationMapping,
    options: options
  )
end

#delete(list_id, request_options: {}) ⇒ nil

Parameters:

Returns:

  • (nil)

See Also:



73
74
75
76
77
78
79
80
# File 'lib/hubspot_sdk/resources/crm/lists.rb', line 73

def delete(list_id, params = {})
  @client.request(
    method: :delete,
    path: ["crm/lists/2026-03/%1$s", list_id],
    model: NilClass,
    options: params[:request_options]
  )
end

#delete_folder(folder_id, request_options: {}) ⇒ nil

Parameters:

Returns:

  • (nil)

See Also:



217
218
219
220
221
222
223
224
# File 'lib/hubspot_sdk/resources/crm/lists.rb', line 217

def delete_folder(folder_id, params = {})
  @client.request(
    method: :delete,
    path: ["crm/lists/2026-03/folders/%1$s", folder_id],
    model: NilClass,
    options: params[:request_options]
  )
end

#delete_memberships(list_id, request_options: {}) ⇒ nil

Parameters:

Returns:

  • (nil)

See Also:



234
235
236
237
238
239
240
241
# File 'lib/hubspot_sdk/resources/crm/lists.rb', line 234

def delete_memberships(list_id, params = {})
  @client.request(
    method: :delete,
    path: ["crm/lists/2026-03/%1$s/memberships", list_id],
    model: NilClass,
    options: params[:request_options]
  )
end

#get(list_id, include_filters: nil, request_options: {}) ⇒ HubSpotSDK::Models::Crm::ListFetchResponse

Parameters:

Returns:

See Also:



252
253
254
255
256
257
258
259
260
261
262
# File 'lib/hubspot_sdk/resources/crm/lists.rb', line 252

def get(list_id, params = {})
  parsed, options = HubSpotSDK::Crm::ListGetParams.dump_request(params)
  query = HubSpotSDK::Internal::Util.encode_query_params(parsed)
  @client.request(
    method: :get,
    path: ["crm/lists/2026-03/%1$s", list_id],
    query: query.transform_keys(include_filters: "includeFilters"),
    model: HubSpotSDK::Crm::ListFetchResponse,
    options: options
  )
end

#get_by_object_type_and_name(list_name, object_type_id:, include_filters: nil, request_options: {}) ⇒ HubSpotSDK::Models::Crm::ListFetchResponse

Parameters:

  • list_name (String)

    Path param

  • object_type_id (String)

    Path param

  • include_filters (Boolean)

    Query param

  • request_options (HubSpotSDK::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

See Also:



277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
# File 'lib/hubspot_sdk/resources/crm/lists.rb', line 277

def get_by_object_type_and_name(list_name, params)
  parsed, options = HubSpotSDK::Crm::ListGetByObjectTypeAndNameParams.dump_request(params)
  query = HubSpotSDK::Internal::Util.encode_query_params(parsed)
  object_type_id =
    parsed.delete(:object_type_id) do
      raise ArgumentError.new("missing required path argument #{_1}")
    end
  @client.request(
    method: :get,
    path: ["crm/lists/2026-03/object-type-id/%1$s/name/%2$s", object_type_id, list_name],
    query: query.transform_keys(include_filters: "includeFilters"),
    model: HubSpotSDK::Crm::ListFetchResponse,
    options: options
  )
end

#get_id_mapping(legacy_list_id: nil, request_options: {}) ⇒ HubSpotSDK::Models::Crm::PublicMigrationMapping

Parameters:

Returns:

See Also:



301
302
303
304
305
306
307
308
309
310
311
# File 'lib/hubspot_sdk/resources/crm/lists.rb', line 301

def get_id_mapping(params = {})
  parsed, options = HubSpotSDK::Crm::ListGetIDMappingParams.dump_request(params)
  query = HubSpotSDK::Internal::Util.encode_query_params(parsed)
  @client.request(
    method: :get,
    path: "crm/lists/2026-03/idmapping",
    query: query.transform_keys(legacy_list_id: "legacyListId"),
    model: HubSpotSDK::Crm::PublicMigrationMapping,
    options: options
  )
end

#get_memberships_join_order(list_id, after: nil, before: nil, limit: nil, request_options: {}) ⇒ HubSpotSDK::Internal::Page<HubSpotSDK::Models::Crm::JoinTimeAndRecordID>

Some parameter documentations has been truncated, see Models::Crm::ListGetMembershipsJoinOrderParams for more details.

Parameters:

  • list_id (String)
  • after (String)

    The paging cursor token of the last successfully read resource will be returned

  • before (String)
  • limit (Integer)

    The maximum number of results to display per page.

  • request_options (HubSpotSDK::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

See Also:



331
332
333
334
335
336
337
338
339
340
341
342
# File 'lib/hubspot_sdk/resources/crm/lists.rb', line 331

def get_memberships_join_order(list_id, params = {})
  parsed, options = HubSpotSDK::Crm::ListGetMembershipsJoinOrderParams.dump_request(params)
  query = HubSpotSDK::Internal::Util.encode_query_params(parsed)
  @client.request(
    method: :get,
    path: ["crm/lists/2026-03/%1$s/memberships/join-order", list_id],
    query: query,
    page: HubSpotSDK::Internal::Page,
    model: HubSpotSDK::Crm::JoinTimeAndRecordID,
    options: options
  )
end

#get_record_memberships(record_id, object_type_id:, request_options: {}) ⇒ HubSpotSDK::Models::Crm::APICollectionResponseRecordListMembership

Parameters:

Returns:

See Also:



353
354
355
356
357
358
359
360
361
362
363
364
365
# File 'lib/hubspot_sdk/resources/crm/lists.rb', line 353

def get_record_memberships(record_id, params)
  parsed, options = HubSpotSDK::Crm::ListGetRecordMembershipsParams.dump_request(params)
  object_type_id =
    parsed.delete(:object_type_id) do
      raise ArgumentError.new("missing required path argument #{_1}")
    end
  @client.request(
    method: :get,
    path: ["crm/lists/2026-03/records/%1$s/%2$s/memberships", object_type_id, record_id],
    model: HubSpotSDK::Crm::APICollectionResponseRecordListMembership,
    options: options
  )
end

#get_schedule_conversion(list_id, request_options: {}) ⇒ HubSpotSDK::Models::Crm::PublicListConversionResponse

Parameters:

Returns:

See Also:



375
376
377
378
379
380
381
382
# File 'lib/hubspot_sdk/resources/crm/lists.rb', line 375

def get_schedule_conversion(list_id, params = {})
  @client.request(
    method: :get,
    path: ["crm/lists/2026-03/%1$s/schedule-conversion", list_id],
    model: HubSpotSDK::Crm::PublicListConversionResponse,
    options: params[:request_options]
  )
end

#get_size_and_edits_history_between(list_id, end_date: nil, start_date: nil, request_options: {}) ⇒ HubSpotSDK::Models::Crm::ListSizeAndEditHistoryResponse

Parameters:

Returns:

See Also:



394
395
396
397
398
399
400
401
402
403
404
# File 'lib/hubspot_sdk/resources/crm/lists.rb', line 394

def get_size_and_edits_history_between(list_id, params = {})
  parsed, options = HubSpotSDK::Crm::ListGetSizeAndEditsHistoryBetweenParams.dump_request(params)
  query = HubSpotSDK::Internal::Util.encode_query_params(parsed)
  @client.request(
    method: :get,
    path: ["crm/lists/2026-03/%1$s/size-and-edits-history/between", list_id],
    query: query.transform_keys(end_date: "endDate", start_date: "startDate"),
    model: HubSpotSDK::Crm::ListSizeAndEditHistoryResponse,
    options: options
  )
end

#list(include_filters: nil, list_ids: nil, request_options: {}) ⇒ HubSpotSDK::Models::Crm::ListsByIDResponse

Parameters:

Returns:

See Also:



53
54
55
56
57
58
59
60
61
62
63
# File 'lib/hubspot_sdk/resources/crm/lists.rb', line 53

def list(params = {})
  parsed, options = HubSpotSDK::Crm::ListListParams.dump_request(params)
  query = HubSpotSDK::Internal::Util.encode_query_params(parsed)
  @client.request(
    method: :get,
    path: "crm/lists/2026-03",
    query: query.transform_keys(include_filters: "includeFilters", list_ids: "listIds"),
    model: HubSpotSDK::Crm::ListsByIDResponse,
    options: options
  )
end

#list_by_search(list_ids:, offset:, processing_types:, additional_filter_properties: nil, count: nil, object_type_id: nil, query: nil, sort: nil, request_options: {}) ⇒ HubSpotSDK::Models::Crm::ListSearchResponse

Some parameter documentations has been truncated, see Models::Crm::ListListBySearchParams for more details.

Parameters:

  • list_ids (Array<String>)

    ILS list ids to be included in search results. If not specified, all lists match

  • offset (Integer)

    Value used to paginate through lists. The ‘offset` provided in the response can

  • processing_types (Array<String>)

    List processing types to be included in search results. If not specified, all li

  • additional_filter_properties (Array<String>)

    The property names of any additional list properties to include in the response.

  • count (Integer)

    The number of lists to include in the response. Defaults to ‘20` if no value is

  • object_type_id (String)
  • query (String)

    The ‘query` that will be used to search for lists by list name. If no `query` is

  • sort (String)

    Sort field and order

  • request_options (HubSpotSDK::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

See Also:



432
433
434
435
436
437
438
439
440
441
# File 'lib/hubspot_sdk/resources/crm/lists.rb', line 432

def list_by_search(params)
  parsed, options = HubSpotSDK::Crm::ListListBySearchParams.dump_request(params)
  @client.request(
    method: :post,
    path: "crm/lists/2026-03/search",
    body: parsed,
    model: HubSpotSDK::Crm::ListSearchResponse,
    options: options
  )
end

#list_folders(folder_id: nil, request_options: {}) ⇒ HubSpotSDK::Models::Crm::ListFolderFetchResponse

Parameters:

Returns:

See Also:



451
452
453
454
455
456
457
458
459
460
461
# File 'lib/hubspot_sdk/resources/crm/lists.rb', line 451

def list_folders(params = {})
  parsed, options = HubSpotSDK::Crm::ListListFoldersParams.dump_request(params)
  query = HubSpotSDK::Internal::Util.encode_query_params(parsed)
  @client.request(
    method: :get,
    path: "crm/lists/2026-03/folders",
    query: query.transform_keys(folder_id: "folderId"),
    model: HubSpotSDK::Crm::ListFolderFetchResponse,
    options: options
  )
end

#list_memberships(list_id, after: nil, before: nil, limit: nil, request_options: {}) ⇒ HubSpotSDK::Internal::Page<HubSpotSDK::Models::Crm::JoinTimeAndRecordID>

Some parameter documentations has been truncated, see Models::Crm::ListListMembershipsParams for more details.

Parameters:

  • list_id (String)
  • after (String)

    The paging cursor token of the last successfully read resource will be returned

  • before (String)
  • limit (Integer)

    The maximum number of results to display per page.

  • request_options (HubSpotSDK::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

See Also:



481
482
483
484
485
486
487
488
489
490
491
492
# File 'lib/hubspot_sdk/resources/crm/lists.rb', line 481

def list_memberships(list_id, params = {})
  parsed, options = HubSpotSDK::Crm::ListListMembershipsParams.dump_request(params)
  query = HubSpotSDK::Internal::Util.encode_query_params(parsed)
  @client.request(
    method: :get,
    path: ["crm/lists/2026-03/%1$s/memberships", list_id],
    query: query,
    page: HubSpotSDK::Internal::Page,
    model: HubSpotSDK::Crm::JoinTimeAndRecordID,
    options: options
  )
end

#move_folder(new_parent_folder_id, folder_id:, request_options: {}) ⇒ HubSpotSDK::Models::Crm::ListFolderFetchResponse

Parameters:

Returns:

See Also:



503
504
505
506
507
508
509
510
511
512
513
514
515
# File 'lib/hubspot_sdk/resources/crm/lists.rb', line 503

def move_folder(new_parent_folder_id, params)
  parsed, options = HubSpotSDK::Crm::ListMoveFolderParams.dump_request(params)
  folder_id =
    parsed.delete(:folder_id) do
      raise ArgumentError.new("missing required path argument #{_1}")
    end
  @client.request(
    method: :put,
    path: ["crm/lists/2026-03/folders/%1$s/move/%2$s", folder_id, new_parent_folder_id],
    model: HubSpotSDK::Crm::ListFolderFetchResponse,
    options: options
  )
end

#move_list(list_id:, new_folder_id:, request_options: {}) ⇒ nil

Parameters:

  • list_id (String)

    The Id of the list to move.

  • new_folder_id (String)

    The Id of folder to move the list to, the root folder is Id 0.

  • request_options (HubSpotSDK::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

  • (nil)

See Also:



528
529
530
531
532
533
534
535
536
537
# File 'lib/hubspot_sdk/resources/crm/lists.rb', line 528

def move_list(params)
  parsed, options = HubSpotSDK::Crm::ListMoveListParams.dump_request(params)
  @client.request(
    method: :put,
    path: "crm/lists/2026-03/folders/move-list",
    body: parsed,
    model: NilClass,
    options: options
  )
end

#remove_memberships(list_id, body:, request_options: {}) ⇒ HubSpotSDK::Models::Crm::MembershipsUpdateResponse

Parameters:

Returns:

See Also:



548
549
550
551
552
553
554
555
556
557
# File 'lib/hubspot_sdk/resources/crm/lists.rb', line 548

def remove_memberships(list_id, params)
  parsed, options = HubSpotSDK::Crm::ListRemoveMembershipsParams.dump_request(params)
  @client.request(
    method: :put,
    path: ["crm/lists/2026-03/%1$s/memberships/remove", list_id],
    body: parsed[:body],
    model: HubSpotSDK::Crm::MembershipsUpdateResponse,
    options: options
  )
end

#rename_folder(folder_id, new_folder_name: nil, request_options: {}) ⇒ HubSpotSDK::Models::Crm::ListFolderFetchResponse

Parameters:

Returns:

See Also:



568
569
570
571
572
573
574
575
576
577
578
# File 'lib/hubspot_sdk/resources/crm/lists.rb', line 568

def rename_folder(folder_id, params = {})
  parsed, options = HubSpotSDK::Crm::ListRenameFolderParams.dump_request(params)
  query = HubSpotSDK::Internal::Util.encode_query_params(parsed)
  @client.request(
    method: :put,
    path: ["crm/lists/2026-03/folders/%1$s/rename", folder_id],
    query: query.transform_keys(new_folder_name: "newFolderName"),
    model: HubSpotSDK::Crm::ListFolderFetchResponse,
    options: options
  )
end

#restore(list_id, request_options: {}) ⇒ nil

Parameters:

Returns:

  • (nil)

See Also:



588
589
590
591
592
593
594
595
# File 'lib/hubspot_sdk/resources/crm/lists.rb', line 588

def restore(list_id, params = {})
  @client.request(
    method: :put,
    path: ["crm/lists/2026-03/%1$s/restore", list_id],
    model: NilClass,
    options: params[:request_options]
  )
end

#schedule_conversion(list_id, request_options: {}) ⇒ nil

Parameters:

Returns:

  • (nil)

See Also:



605
606
607
608
609
610
611
612
# File 'lib/hubspot_sdk/resources/crm/lists.rb', line 605

def schedule_conversion(list_id, params = {})
  @client.request(
    method: :delete,
    path: ["crm/lists/2026-03/%1$s/schedule-conversion", list_id],
    model: NilClass,
    options: params[:request_options]
  )
end

#update_list_filters(list_id, filter_branch:, enroll_objects_in_workflows: nil, request_options: {}) ⇒ HubSpotSDK::Models::Crm::ListUpdateResponse



627
628
629
630
631
632
633
634
635
636
637
638
639
# File 'lib/hubspot_sdk/resources/crm/lists.rb', line 627

def update_list_filters(list_id, params)
  query_params = [:enroll_objects_in_workflows]
  parsed, options = HubSpotSDK::Crm::ListUpdateListFiltersParams.dump_request(params)
  query = HubSpotSDK::Internal::Util.encode_query_params(parsed.slice(*query_params))
  @client.request(
    method: :put,
    path: ["crm/lists/2026-03/%1$s/update-list-filters", list_id],
    query: query.transform_keys(enroll_objects_in_workflows: "enrollObjectsInWorkflows"),
    body: parsed.except(*query_params),
    model: HubSpotSDK::Crm::ListUpdateResponse,
    options: options
  )
end

#update_list_name(list_id, include_filters: nil, list_name: nil, request_options: {}) ⇒ HubSpotSDK::Models::Crm::ListUpdateResponse

Parameters:

  • list_id (String)
  • include_filters (Boolean)
  • list_name (String)
  • request_options (HubSpotSDK::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

See Also:



651
652
653
654
655
656
657
658
659
660
661
# File 'lib/hubspot_sdk/resources/crm/lists.rb', line 651

def update_list_name(list_id, params = {})
  parsed, options = HubSpotSDK::Crm::ListUpdateListNameParams.dump_request(params)
  query = HubSpotSDK::Internal::Util.encode_query_params(parsed)
  @client.request(
    method: :put,
    path: ["crm/lists/2026-03/%1$s/update-list-name", list_id],
    query: query.transform_keys(include_filters: "includeFilters", list_name: "listName"),
    model: HubSpotSDK::Crm::ListUpdateResponse,
    options: options
  )
end

#update_schedule_conversion(list_id, public_list_conversion_time:, request_options: {}) ⇒ HubSpotSDK::Models::Crm::PublicListConversionResponse



672
673
674
675
676
677
678
679
680
681
# File 'lib/hubspot_sdk/resources/crm/lists.rb', line 672

def update_schedule_conversion(list_id, params)
  parsed, options = HubSpotSDK::Crm::ListUpdateScheduleConversionParams.dump_request(params)
  @client.request(
    method: :put,
    path: ["crm/lists/2026-03/%1$s/schedule-conversion", list_id],
    body: parsed[:public_list_conversion_time],
    model: HubSpotSDK::Crm::PublicListConversionResponse,
    options: options
  )
end