Class: HubSpotSDK::Resources::Cms::Pages::LandingPages::Folders

Inherits:
Object
  • Object
show all
Defined in:
lib/hubspot_sdk/resources/cms/pages/landing_pages/folders.rb

Instance Method Summary collapse

Constructor Details

#initialize(client:) ⇒ Folders

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 Folders.

Parameters:



399
400
401
# File 'lib/hubspot_sdk/resources/cms/pages/landing_pages/folders.rb', line 399

def initialize(client:)
  @client = client
end

Instance Method Details

#batch_get(inputs:, archived: nil, request_options: {}) ⇒ HubSpotSDK::Models::Cms::BatchResponseContentFolder

Retrieve a batch of landing page folders as identified in the request body.

Parameters:

  • inputs (Array<String>)

    Body param: Strings to input.

  • archived (Boolean)

    Query param: Whether to return only results that have been archived.

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

Returns:

See Also:



187
188
189
190
191
192
193
194
195
196
197
198
199
200
# File 'lib/hubspot_sdk/resources/cms/pages/landing_pages/folders.rb', line 187

def batch_get(params)
  query_params = [:archived]
  parsed, options = HubSpotSDK::Cms::Pages::LandingPages::FolderBatchGetParams.dump_request(params)
  query = HubSpotSDK::Internal::Util.encode_query_params(parsed.slice(*query_params))
  @client.request(
    method: :post,
    path: "cms/pages/2026-03/landing-pages/folders/batch/read",
    query: query,
    headers: {"content-type" => "*/*"},
    body: parsed.except(*query_params),
    model: HubSpotSDK::Cms::BatchResponseContentFolder,
    options: options
  )
end

#create(id:, category:, created:, deleted_at:, name:, parent_folder_id:, updated:, request_options: {}) ⇒ HubSpotSDK::Models::Cms::ContentFolder

Create a new folder for landing pages.

Parameters:

  • id (String)

    The unique ID of the content folder.

  • category (Integer)

    The type of object this folder applies to. Should always be LANDING_PAGE.

  • created (Time)

    The timestamp indicating when the content folder was created.

  • deleted_at (Time)

    The timestamp (ISO8601 format) when this content folder was deleted.

  • name (String)

    The name of the folder which will show up in the app dashboard

  • parent_folder_id (Integer)

    The ID of the content folder this folder is nested under

  • updated (Time)

    The timestamp indicating when the content folder was last updated.

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

Returns:

See Also:



32
33
34
35
36
37
38
39
40
41
42
# File 'lib/hubspot_sdk/resources/cms/pages/landing_pages/folders.rb', line 32

def create(params)
  parsed, options = HubSpotSDK::Cms::Pages::LandingPages::FolderCreateParams.dump_request(params)
  @client.request(
    method: :post,
    path: "cms/pages/2026-03/landing-pages/folders",
    headers: {"content-type" => "*/*"},
    body: parsed,
    model: HubSpotSDK::Cms::ContentFolder,
    options: options
  )
end

#create_folders(inputs:, request_options: {}) ⇒ HubSpotSDK::Models::Cms::BatchResponseContentFolder

Create a batch of folders as detailed in the request body.

Parameters:

Returns:

See Also:



213
214
215
216
217
218
219
220
221
222
223
# File 'lib/hubspot_sdk/resources/cms/pages/landing_pages/folders.rb', line 213

def create_folders(params)
  parsed, options = HubSpotSDK::Cms::Pages::LandingPages::FolderCreateFoldersParams.dump_request(params)
  @client.request(
    method: :post,
    path: "cms/pages/2026-03/landing-pages/folders/batch/create",
    headers: {"content-type" => "*/*"},
    body: parsed,
    model: HubSpotSDK::Cms::BatchResponseContentFolder,
    options: options
  )
end

#delete(object_id_, archived: nil, request_options: {}) ⇒ nil

Delete a landing page folder, specified by its ID.

Parameters:

  • object_id_ (String)
  • archived (Boolean)

    Whether to return only results that have been archived.

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

Returns:

  • (nil)

See Also:



162
163
164
165
166
167
168
169
170
171
172
# File 'lib/hubspot_sdk/resources/cms/pages/landing_pages/folders.rb', line 162

def delete(object_id_, params = {})
  parsed, options = HubSpotSDK::Cms::Pages::LandingPages::FolderDeleteParams.dump_request(params)
  query = HubSpotSDK::Internal::Util.encode_query_params(parsed)
  @client.request(
    method: :delete,
    path: ["cms/pages/2026-03/landing-pages/folders/%1$s", object_id_],
    query: query,
    model: NilClass,
    options: options
  )
end

#delete_folders(inputs:, request_options: {}) ⇒ nil

Delete a batch of folders as specified in the request body.

Parameters:

Returns:

  • (nil)

See Also:



236
237
238
239
240
241
242
243
244
245
246
# File 'lib/hubspot_sdk/resources/cms/pages/landing_pages/folders.rb', line 236

def delete_folders(params)
  parsed, options = HubSpotSDK::Cms::Pages::LandingPages::FolderDeleteFoldersParams.dump_request(params)
  @client.request(
    method: :post,
    path: "cms/pages/2026-03/landing-pages/folders/batch/archive",
    headers: {"content-type" => "*/*"},
    body: parsed,
    model: NilClass,
    options: options
  )
end

#get(object_id_, archived: nil, property: nil, request_options: {}) ⇒ HubSpotSDK::Models::Cms::ContentFolder

Retrieve a landing page folder, specified by its ID.

Parameters:

  • object_id_ (String)
  • archived (Boolean)

    Whether to return only results that have been archived.

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

Returns:

See Also:



263
264
265
266
267
268
269
270
271
272
273
# File 'lib/hubspot_sdk/resources/cms/pages/landing_pages/folders.rb', line 263

def get(object_id_, params = {})
  parsed, options = HubSpotSDK::Cms::Pages::LandingPages::FolderGetParams.dump_request(params)
  query = HubSpotSDK::Internal::Util.encode_query_params(parsed)
  @client.request(
    method: :get,
    path: ["cms/pages/2026-03/landing-pages/folders/%1$s", object_id_],
    query: query,
    model: HubSpotSDK::Cms::ContentFolder,
    options: options
  )
end

#get_revision(revision_id, object_id_:, request_options: {}) ⇒ HubSpotSDK::Models::Cms::ContentFolderVersion

Retrieve a previous version of a folder, specified by the folder ID and revision ID.

Parameters:

Returns:

See Also:



287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
# File 'lib/hubspot_sdk/resources/cms/pages/landing_pages/folders.rb', line 287

def get_revision(revision_id, params)
  parsed, options = HubSpotSDK::Cms::Pages::LandingPages::FolderGetRevisionParams.dump_request(params)
  object_id_ =
    parsed.delete(:object_id_) do
      raise ArgumentError.new("missing required path argument #{_1}")
    end
  @client.request(
    method: :get,
    path: [
      "cms/pages/2026-03/landing-pages/folders/%1$s/revisions/%2$s",
      object_id_,
      revision_id
    ],
    model: HubSpotSDK::Cms::ContentFolderVersion,
    options: options
  )
end

#list(after: nil, archived: nil, created_after: nil, created_at: nil, created_before: nil, limit: nil, property: nil, sort: nil, updated_after: nil, updated_at: nil, updated_before: nil, request_options: {}) ⇒ HubSpotSDK::Internal::Page<HubSpotSDK::Models::Cms::ContentFolder>

Some parameter documentations has been truncated, see Models::Cms::Pages::LandingPages::FolderListParams for more details.

Get the list of Landing Page Folders. Supports paging and filtering. This method would be useful for an integration that examined these models and used an external service to suggest edits.

Parameters:

  • after (String)

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

  • archived (Boolean)

    Whether to return only results that have been archived.

  • created_after (Time)

    Filter folders created after the specified date and time.

  • created_at (Time)

    Filter folders by their exact creation date and time.

  • created_before (Time)
  • limit (Integer)

    The maximum number of results to display per page.

  • property (String)

    Specify a property to include in the response.

  • sort (Array<String>)
  • updated_after (Time)
  • updated_at (Time)
  • updated_before (Time)
  • request_options (HubSpotSDK::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

See Also:



129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
# File 'lib/hubspot_sdk/resources/cms/pages/landing_pages/folders.rb', line 129

def list(params = {})
  parsed, options = HubSpotSDK::Cms::Pages::LandingPages::FolderListParams.dump_request(params)
  query = HubSpotSDK::Internal::Util.encode_query_params(parsed)
  @client.request(
    method: :get,
    path: "cms/pages/2026-03/landing-pages/folders",
    query: query.transform_keys(
      created_after: "createdAfter",
      created_at: "createdAt",
      created_before: "createdBefore",
      updated_after: "updatedAfter",
      updated_at: "updatedAt",
      updated_before: "updatedBefore"
    ),
    page: HubSpotSDK::Internal::Page,
    model: HubSpotSDK::Cms::ContentFolder,
    options: options
  )
end

#list_revisions(object_id_, after: nil, before: nil, limit: nil, request_options: {}) ⇒ HubSpotSDK::Internal::Page<HubSpotSDK::Models::Cms::ContentFolderVersion>

Some parameter documentations has been truncated, see Models::Cms::Pages::LandingPages::FolderListRevisionsParams for more details.

Retrieves all the previous versions of a landing page folder.

Parameters:

  • object_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:



326
327
328
329
330
331
332
333
334
335
336
337
# File 'lib/hubspot_sdk/resources/cms/pages/landing_pages/folders.rb', line 326

def list_revisions(object_id_, params = {})
  parsed, options = HubSpotSDK::Cms::Pages::LandingPages::FolderListRevisionsParams.dump_request(params)
  query = HubSpotSDK::Internal::Util.encode_query_params(parsed)
  @client.request(
    method: :get,
    path: ["cms/pages/2026-03/landing-pages/folders/%1$s/revisions", object_id_],
    query: query,
    page: HubSpotSDK::Internal::Page,
    model: HubSpotSDK::Cms::ContentFolderVersion,
    options: options
  )
end

#restore_revision(revision_id, object_id_:, request_options: {}) ⇒ HubSpotSDK::Models::Cms::ContentFolder

Takes a specified version of a landing page folder and restores it.

Parameters:

Returns:

See Also:



350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
# File 'lib/hubspot_sdk/resources/cms/pages/landing_pages/folders.rb', line 350

def restore_revision(revision_id, params)
  parsed, options = HubSpotSDK::Cms::Pages::LandingPages::FolderRestoreRevisionParams.dump_request(params)
  object_id_ =
    parsed.delete(:object_id_) do
      raise ArgumentError.new("missing required path argument #{_1}")
    end
  @client.request(
    method: :post,
    path: [
      "cms/pages/2026-03/landing-pages/folders/%1$s/revisions/%2$s/restore",
      object_id_,
      revision_id
    ],
    model: HubSpotSDK::Cms::ContentFolder,
    options: options
  )
end

#update(object_id_, id:, category:, created:, deleted_at:, name:, parent_folder_id:, updated:, archived: nil, request_options: {}) ⇒ HubSpotSDK::Models::Cms::ContentFolder

Some parameter documentations has been truncated, see Models::Cms::Pages::LandingPages::FolderUpdateParams for more details.

Partially update a landing page folder, specified by the folder ID. You only need to specify the details values that you are modifying.

LANDING_

Parameters:

  • object_id_ (String)

    Path param

  • id (String)

    Body param: The unique ID of the content folder.

  • category (Integer)

    Body param: The type of object this folder applies to. Should always be

  • created (Time)

    Body param: The timestamp indicating when the content folder was created.

  • deleted_at (Time)

    Body param: The timestamp (ISO8601 format) when this content folder was deleted.

  • name (String)

    Body param: The name of the folder which will show up in the app dashboard

  • parent_folder_id (Integer)

    Body param: The ID of the content folder this folder is nested under

  • updated (Time)

    Body param: The timestamp indicating when the content folder was last updated.

  • archived (Boolean)

    Query param: Whether to return only results that have been archived.

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

Returns:

See Also:



77
78
79
80
81
82
83
84
85
86
87
88
89
90
# File 'lib/hubspot_sdk/resources/cms/pages/landing_pages/folders.rb', line 77

def update(object_id_, params)
  query_params = [:archived]
  parsed, options = HubSpotSDK::Cms::Pages::LandingPages::FolderUpdateParams.dump_request(params)
  query = HubSpotSDK::Internal::Util.encode_query_params(parsed.slice(*query_params))
  @client.request(
    method: :patch,
    path: ["cms/pages/2026-03/landing-pages/folders/%1$s", object_id_],
    query: query,
    headers: {"content-type" => "*/*"},
    body: parsed.except(*query_params),
    model: HubSpotSDK::Cms::ContentFolder,
    options: options
  )
end

#update_folders(inputs:, archived: nil, request_options: {}) ⇒ HubSpotSDK::Models::Cms::BatchResponseContentFolder

Update a batch of landing page folders as specified in the request body.

Parameters:

  • inputs (Array<Object>)

    Body param: JSON nodes to input.

  • archived (Boolean)

    Query param: Whether to return only results that have been archived.

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

Returns:

See Also:



381
382
383
384
385
386
387
388
389
390
391
392
393
394
# File 'lib/hubspot_sdk/resources/cms/pages/landing_pages/folders.rb', line 381

def update_folders(params)
  query_params = [:archived]
  parsed, options = HubSpotSDK::Cms::Pages::LandingPages::FolderUpdateFoldersParams.dump_request(params)
  query = HubSpotSDK::Internal::Util.encode_query_params(parsed.slice(*query_params))
  @client.request(
    method: :post,
    path: "cms/pages/2026-03/landing-pages/folders/batch/update",
    query: query,
    headers: {"content-type" => "*/*"},
    body: parsed.except(*query_params),
    model: HubSpotSDK::Cms::BatchResponseContentFolder,
    options: options
  )
end