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

Inherits:
Object
  • Object
show all
Defined in:
lib/hubspot_sdk/resources/cms/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:



317
318
319
# File 'lib/hubspot_sdk/resources/cms/pages/folders.rb', line 317

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:



184
185
186
187
188
189
190
191
192
193
194
195
196
197
# File 'lib/hubspot_sdk/resources/cms/pages/folders.rb', line 184

def batch_get(params)
  query_params = [:archived]
  parsed, options = HubSpotSDK::Cms::Pages::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:



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

def create(params)
  parsed, options = HubSpotSDK::Cms::Pages::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

#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:



159
160
161
162
163
164
165
166
167
168
169
# File 'lib/hubspot_sdk/resources/cms/pages/folders.rb', line 159

def delete(object_id_, params = {})
  parsed, options = HubSpotSDK::Cms::Pages::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

#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:



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

def get(object_id_, params = {})
  parsed, options = HubSpotSDK::Cms::Pages::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:



238
239
240
241
242
243
244
245
246
247
248
249
250
# File 'lib/hubspot_sdk/resources/cms/pages/folders.rb', line 238

def get_revision(revision_id, params)
  parsed, options = HubSpotSDK::Cms::Pages::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::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)
  • created_at (Time)
  • created_before (Time)
  • limit (Integer)

    The maximum number of results to display per page.

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

Returns:

See Also:



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

def list(params = {})
  parsed, options = HubSpotSDK::Cms::Pages::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::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:



272
273
274
275
276
277
278
279
280
281
282
283
# File 'lib/hubspot_sdk/resources/cms/pages/folders.rb', line 272

def list_revisions(object_id_, params = {})
  parsed, options = HubSpotSDK::Cms::Pages::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:



296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
# File 'lib/hubspot_sdk/resources/cms/pages/folders.rb', line 296

def restore_revision(revision_id, params)
  parsed, options = HubSpotSDK::Cms::Pages::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::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:



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

def update(object_id_, params)
  query_params = [:archived]
  parsed, options = HubSpotSDK::Cms::Pages::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