post-for-me 0.1.0.pre.alpha.11 → 0.1.0.pre.alpha.13

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.
Files changed (29) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +28 -0
  3. data/README.md +10 -1
  4. data/lib/post_for_me/models/create_social_post.rb +187 -8
  5. data/lib/post_for_me/models/instagram_configuration_dto.rb +29 -1
  6. data/lib/post_for_me/models/social_post.rb +182 -8
  7. data/lib/post_for_me/models/social_post_list_params.rb +9 -1
  8. data/lib/post_for_me/models/social_post_result_list_params.rb +10 -1
  9. data/lib/post_for_me/models/youtube_configuration_dto.rb +31 -1
  10. data/lib/post_for_me/resources/social_post_results.rb +3 -1
  11. data/lib/post_for_me/resources/social_posts.rb +3 -1
  12. data/lib/post_for_me/version.rb +1 -1
  13. data/rbi/post_for_me/models/create_social_post.rbi +392 -11
  14. data/rbi/post_for_me/models/instagram_configuration_dto.rbi +61 -3
  15. data/rbi/post_for_me/models/social_post.rbi +392 -11
  16. data/rbi/post_for_me/models/social_post_list_params.rbi +11 -0
  17. data/rbi/post_for_me/models/social_post_result_list_params.rbi +13 -0
  18. data/rbi/post_for_me/models/youtube_configuration_dto.rbi +63 -0
  19. data/rbi/post_for_me/resources/social_post_results.rbi +4 -0
  20. data/rbi/post_for_me/resources/social_posts.rbi +3 -0
  21. data/sig/post_for_me/models/create_social_post.rbs +139 -11
  22. data/sig/post_for_me/models/instagram_configuration_dto.rbs +19 -3
  23. data/sig/post_for_me/models/social_post.rbs +139 -11
  24. data/sig/post_for_me/models/social_post_list_params.rbs +7 -0
  25. data/sig/post_for_me/models/social_post_result_list_params.rbs +8 -1
  26. data/sig/post_for_me/models/youtube_configuration_dto.rbs +22 -0
  27. data/sig/post_for_me/resources/social_post_results.rbs +1 -0
  28. data/sig/post_for_me/resources/social_posts.rbs +1 -0
  29. metadata +16 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 50c053e497dbc73d9161d2a2908702e98b892372b9a9c3e69244c78342bcaaa9
4
- data.tar.gz: 47a5a0e272cb715aa1c182d0a9a9074e5fd2a4311a48806707b7c8a67e8d820d
3
+ metadata.gz: a04140ad9183779eafdac4c5896072954ff1f6d3b2c457cad4faff40d5270bbd
4
+ data.tar.gz: f724a3670613af4937a1f3a35036c884afc6f12d20d67eb7712bdc5db5ab7614
5
5
  SHA512:
6
- metadata.gz: 4b67f480f3490ae82b4e41034ec76cd05359e8e4ebb247403fe9f32fb3e7c064e1fe06a9770f9c5e34e1eff13f33ce261c057d2667e65146b79bec6fffa7246e
7
- data.tar.gz: 9333829a49cfacf9c9afcde7ab276185f2698c471dd11b20c1f2f4063e9a32564ca0b990ecf9a323e7d81e848a3193d935fed4684219f50d391ca282281e7765
6
+ metadata.gz: 5d0cd04d669cc5b4f6ce7f26b4d0fb338981c1dfafe35d755b9dad9468026e965b6b8a5d6912219a24f830e8761f8ecae14b797093bd5f673d308328ca8e3ce4
7
+ data.tar.gz: 48f2d22f67dbca0981c5609924512d7921ded4fd2c8fa0d6f9f708918b48c5ecdbbb3724a065e9eec9efd7ebb147d82961fe6426856c817330e0cf9705a19fa9
data/CHANGELOG.md CHANGED
@@ -1,5 +1,33 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.1.0-alpha.13 (2026-01-14)
4
+
5
+ Full Changelog: [v0.1.0-alpha.12...v0.1.0-alpha.13](https://github.com/DayMoonDevelopment/post-for-me-ruby/compare/v0.1.0-alpha.12...v0.1.0-alpha.13)
6
+
7
+ ### Features
8
+
9
+ * **api:** api update ([4cc1346](https://github.com/DayMoonDevelopment/post-for-me-ruby/commit/4cc1346e6eac118d092a04c4f4c79109af1978b8))
10
+
11
+ ## 0.1.0-alpha.12 (2026-01-10)
12
+
13
+ Full Changelog: [v0.1.0-alpha.11...v0.1.0-alpha.12](https://github.com/DayMoonDevelopment/post-for-me-ruby/compare/v0.1.0-alpha.11...v0.1.0-alpha.12)
14
+
15
+ ### Features
16
+
17
+ * **api:** api update ([221b4e5](https://github.com/DayMoonDevelopment/post-for-me-ruby/commit/221b4e5aa11b4475baf32ecefcf1ef556aaa9da5))
18
+ * **api:** api update ([0f252a9](https://github.com/DayMoonDevelopment/post-for-me-ruby/commit/0f252a956af996885532141d41c781025928732e))
19
+ * **api:** api update ([4da33ad](https://github.com/DayMoonDevelopment/post-for-me-ruby/commit/4da33ad42d0208f2bee2a825b57fd69c5041a99a))
20
+
21
+
22
+ ### Chores
23
+
24
+ * **internal:** codegen related update ([bfe1b4e](https://github.com/DayMoonDevelopment/post-for-me-ruby/commit/bfe1b4eaca2f6a9163bad0e4e305185b86b265a2))
25
+
26
+
27
+ ### Documentation
28
+
29
+ * prominently feature MCP server setup in root SDK readmes ([e1292ef](https://github.com/DayMoonDevelopment/post-for-me-ruby/commit/e1292efcda83a13b0f9bc5abc492c00dbf8ebae8))
30
+
3
31
  ## 0.1.0-alpha.11 (2025-12-30)
4
32
 
5
33
  Full Changelog: [v0.1.0-alpha.10...v0.1.0-alpha.11](https://github.com/DayMoonDevelopment/post-for-me-ruby/compare/v0.1.0-alpha.10...v0.1.0-alpha.11)
data/README.md CHANGED
@@ -4,6 +4,15 @@ The Post For Me Ruby library provides convenient access to the Post For Me REST
4
4
 
5
5
  It is generated with [Stainless](https://www.stainless.com/).
6
6
 
7
+ ## MCP Server
8
+
9
+ Use the Post For Me MCP Server to enable AI assistants to interact with this API, allowing them to explore endpoints, make test requests, and use documentation to help integrate this SDK into your application.
10
+
11
+ [![Add to Cursor](https://cursor.com/deeplink/mcp-install-dark.svg)](https://cursor.com/en-US/install-mcp?name=post-for-me-mcp&config=eyJuYW1lIjoicG9zdC1mb3ItbWUtbWNwIiwidHJhbnNwb3J0Ijoic3NlIiwidXJsIjoiaHR0cHM6Ly9wb3N0LWZvci1tZS5zdGxtY3AuY29tL3NzZSJ9)
12
+ [![Install in VS Code](https://img.shields.io/badge/_-Add_to_VS_Code-blue?style=for-the-badge&logo=data:image/svg%2bxml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCA0MCA0MCI+PHBhdGggZmlsbD0iI0VFRSIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMzAuMjM1IDM5Ljg4NGEyLjQ5MSAyLjQ5MSAwIDAgMS0xLjc4MS0uNzNMMTIuNyAyNC43OGwtMy40NiAyLjYyNC0zLjQwNiAyLjU4MmExLjY2NSAxLjY2NSAwIDAgMS0xLjA4Mi4zMzggMS42NjQgMS42NjQgMCAwIDEtMS4wNDYtLjQzMWwtMi4yLTJhMS42NjYgMS42NjYgMCAwIDEgMC0yLjQ2M0w3LjQ1OCAyMCA0LjY3IDE3LjQ1MyAxLjUwNyAxNC41N2ExLjY2NSAxLjY2NSAwIDAgMSAwLTIuNDYzbDIuMi0yYTEuNjY1IDEuNjY1IDAgMCAxIDIuMTMtLjA5N2w2Ljg2MyA1LjIwOUwyOC40NTIuODQ0YTIuNDg4IDIuNDg4IDAgMCAxIDEuODQxLS43MjljLjM1MS4wMDkuNjk5LjA5MSAxLjAxOS4yNDVsOC4yMzYgMy45NjFhMi41IDIuNSAwIDAgMSAxLjQxNSAyLjI1M3YuMDk5LS4wNDVWMzMuMzd2LS4wNDUuMDk1YTIuNTAxIDIuNTAxIDAgMCAxLTEuNDE2IDIuMjU3bC04LjIzNSAzLjk2MWEyLjQ5MiAyLjQ5MiAwIDAgMS0xLjA3Ny4yNDZabS43MTYtMjguOTQ3LTExLjk0OCA5LjA2MiAxMS45NTIgOS4wNjUtLjAwNC0xOC4xMjdaIi8+PC9zdmc+)](https://vscode.stainless.com/mcp/%7B%22name%22%3A%22post-for-me-mcp%22%2C%22type%22%3A%22sse%22%2C%22url%22%3A%22https%3A%2F%2Fpost-for-me.stlmcp.com%2Fsse%22%7D)
13
+
14
+ > Note: You may need to set environment variables in your MCP client.
15
+
7
16
  ## Documentation
8
17
 
9
18
  Documentation for releases of this gem can be found [on RubyDoc](https://gemdocs.org/gems/post-for-me).
@@ -17,7 +26,7 @@ To use this gem, install via Bundler by adding the following to your application
17
26
  <!-- x-release-please-start-version -->
18
27
 
19
28
  ```ruby
20
- gem "post-for-me", "~> 0.1.0.pre.alpha.11"
29
+ gem "post-for-me", "~> 0.1.0.pre.alpha.13"
21
30
  ```
22
31
 
23
32
  <!-- x-release-please-end -->
@@ -187,11 +187,21 @@ module PostForMe
187
187
  # @return [String, nil]
188
188
  optional :location, String, nil?: true
189
189
 
190
+ # @!attribute made_for_kids
191
+ # If true will notify YouTube the video is intended for kids, defaults to false
192
+ #
193
+ # @return [Boolean, nil]
194
+ optional :made_for_kids, PostForMe::Internal::Type::Boolean, nil?: true
195
+
190
196
  # @!attribute media
191
197
  # Overrides the `media` from the post
192
198
  #
193
- # @return [Array<String>, nil]
194
- optional :media, PostForMe::Internal::Type::ArrayOf[String], nil?: true
199
+ # @return [Array<PostForMe::Models::CreateSocialPost::AccountConfiguration::Configuration::Media>, nil]
200
+ optional :media,
201
+ -> {
202
+ PostForMe::Internal::Type::ArrayOf[PostForMe::CreateSocialPost::AccountConfiguration::Configuration::Media]
203
+ },
204
+ nil?: true
195
205
 
196
206
  # @!attribute placement
197
207
  # Post placement for Facebook/Instagram/Threads
@@ -208,10 +218,15 @@ module PostForMe
208
218
  optional :poll, -> { PostForMe::CreateSocialPost::AccountConfiguration::Configuration::Poll }
209
219
 
210
220
  # @!attribute privacy_status
211
- # Sets the privacy status for TikTok (private, public)
221
+ # Sets the privacy status for TikTok (private, public), or YouTube (private,
222
+ # public, unlisted)
212
223
  #
213
- # @return [String, nil]
214
- optional :privacy_status, String, nil?: true
224
+ # @return [Symbol, PostForMe::Models::CreateSocialPost::AccountConfiguration::Configuration::PrivacyStatus, nil]
225
+ optional :privacy_status,
226
+ enum: -> {
227
+ PostForMe::CreateSocialPost::AccountConfiguration::Configuration::PrivacyStatus
228
+ },
229
+ nil?: true
215
230
 
216
231
  # @!attribute quote_tweet_id
217
232
  # Id of the tweet you want to quote
@@ -241,7 +256,19 @@ module PostForMe
241
256
  # @return [String, nil]
242
257
  optional :title, String, nil?: true
243
258
 
244
- # @!method initialize(allow_comment: nil, allow_duet: nil, allow_stitch: nil, auto_add_music: nil, board_ids: nil, caption: nil, collaborators: nil, community_id: nil, disclose_branded_content: nil, disclose_your_brand: nil, is_ai_generated: nil, is_draft: nil, link: nil, location: nil, media: nil, placement: nil, poll: nil, privacy_status: nil, quote_tweet_id: nil, reply_settings: nil, share_to_feed: nil, title: nil)
259
+ # @!attribute trial_reel_type
260
+ # Instagram trial reel type, when passed will be created as a trial reel. If
261
+ # manual the trial reel can be manually graduated in the native app. If perfomance
262
+ # the trial reel will be automatically graduated if the trial reel performs well.
263
+ #
264
+ # @return [Symbol, PostForMe::Models::CreateSocialPost::AccountConfiguration::Configuration::TrialReelType, nil]
265
+ optional :trial_reel_type,
266
+ enum: -> {
267
+ PostForMe::CreateSocialPost::AccountConfiguration::Configuration::TrialReelType
268
+ },
269
+ nil?: true
270
+
271
+ # @!method initialize(allow_comment: nil, allow_duet: nil, allow_stitch: nil, auto_add_music: nil, board_ids: nil, caption: nil, collaborators: nil, community_id: nil, disclose_branded_content: nil, disclose_your_brand: nil, is_ai_generated: nil, is_draft: nil, link: nil, location: nil, made_for_kids: nil, media: nil, placement: nil, poll: nil, privacy_status: nil, quote_tweet_id: nil, reply_settings: nil, share_to_feed: nil, title: nil, trial_reel_type: nil)
245
272
  # Some parameter documentations has been truncated, see
246
273
  # {PostForMe::Models::CreateSocialPost::AccountConfiguration::Configuration} for
247
274
  # more details.
@@ -276,13 +303,15 @@ module PostForMe
276
303
  #
277
304
  # @param location [String, nil] Page id with a location that you want to tag the image or video with (Instagram
278
305
  #
279
- # @param media [Array<String>, nil] Overrides the `media` from the post
306
+ # @param made_for_kids [Boolean, nil] If true will notify YouTube the video is intended for kids, defaults to false
307
+ #
308
+ # @param media [Array<PostForMe::Models::CreateSocialPost::AccountConfiguration::Configuration::Media>, nil] Overrides the `media` from the post
280
309
  #
281
310
  # @param placement [Symbol, PostForMe::Models::CreateSocialPost::AccountConfiguration::Configuration::Placement, nil] Post placement for Facebook/Instagram/Threads
282
311
  #
283
312
  # @param poll [PostForMe::Models::CreateSocialPost::AccountConfiguration::Configuration::Poll] Poll options for the twitter
284
313
  #
285
- # @param privacy_status [String, nil] Sets the privacy status for TikTok (private, public)
314
+ # @param privacy_status [Symbol, PostForMe::Models::CreateSocialPost::AccountConfiguration::Configuration::PrivacyStatus, nil] Sets the privacy status for TikTok (private, public), or YouTube (private, publi
286
315
  #
287
316
  # @param quote_tweet_id [String] Id of the tweet you want to quote
288
317
  #
@@ -291,6 +320,126 @@ module PostForMe
291
320
  # @param share_to_feed [Boolean, nil] If false Instagram video posts will only be shown in the Reels tab
292
321
  #
293
322
  # @param title [String, nil] Overrides the `title` from the post
323
+ #
324
+ # @param trial_reel_type [Symbol, PostForMe::Models::CreateSocialPost::AccountConfiguration::Configuration::TrialReelType, nil] Instagram trial reel type, when passed will be created as a trial reel. If manua
325
+
326
+ class Media < PostForMe::Internal::Type::BaseModel
327
+ # @!attribute url
328
+ # Public URL of the media
329
+ #
330
+ # @return [String]
331
+ required :url, String
332
+
333
+ # @!attribute tags
334
+ # List of tags to attach to the media
335
+ #
336
+ # @return [Array<PostForMe::Models::CreateSocialPost::AccountConfiguration::Configuration::Media::Tag>, nil]
337
+ optional :tags,
338
+ -> {
339
+ PostForMe::Internal::Type::ArrayOf[PostForMe::CreateSocialPost::AccountConfiguration::Configuration::Media::Tag]
340
+ },
341
+ nil?: true
342
+
343
+ # @!attribute thumbnail_timestamp_ms
344
+ # Timestamp in milliseconds of frame to use as thumbnail for the media
345
+ #
346
+ # @return [Object, nil]
347
+ optional :thumbnail_timestamp_ms, PostForMe::Internal::Type::Unknown, nil?: true
348
+
349
+ # @!attribute thumbnail_url
350
+ # Public URL of the thumbnail for the media
351
+ #
352
+ # @return [Object, nil]
353
+ optional :thumbnail_url, PostForMe::Internal::Type::Unknown, nil?: true
354
+
355
+ # @!method initialize(url:, tags: nil, thumbnail_timestamp_ms: nil, thumbnail_url: nil)
356
+ # @param url [String] Public URL of the media
357
+ #
358
+ # @param tags [Array<PostForMe::Models::CreateSocialPost::AccountConfiguration::Configuration::Media::Tag>, nil] List of tags to attach to the media
359
+ #
360
+ # @param thumbnail_timestamp_ms [Object, nil] Timestamp in milliseconds of frame to use as thumbnail for the media
361
+ #
362
+ # @param thumbnail_url [Object, nil] Public URL of the thumbnail for the media
363
+
364
+ class Tag < PostForMe::Internal::Type::BaseModel
365
+ # @!attribute id
366
+ # Facebook User ID, Instagram Username or Instagram product id to tag
367
+ #
368
+ # @return [String]
369
+ required :id, String
370
+
371
+ # @!attribute platform
372
+ # The platform for the tags
373
+ #
374
+ # @return [Symbol, PostForMe::Models::CreateSocialPost::AccountConfiguration::Configuration::Media::Tag::Platform]
375
+ required :platform,
376
+ enum: -> { PostForMe::CreateSocialPost::AccountConfiguration::Configuration::Media::Tag::Platform }
377
+
378
+ # @!attribute type
379
+ # The type of tag, user to tag accounts, product to tag products (only supported
380
+ # for instagram)
381
+ #
382
+ # @return [Symbol, PostForMe::Models::CreateSocialPost::AccountConfiguration::Configuration::Media::Tag::Type]
383
+ required :type,
384
+ enum: -> { PostForMe::CreateSocialPost::AccountConfiguration::Configuration::Media::Tag::Type }
385
+
386
+ # @!attribute x
387
+ # Percentage distance from left edge of the image, Not required for videos or
388
+ # stories
389
+ #
390
+ # @return [Float, nil]
391
+ optional :x, Float
392
+
393
+ # @!attribute y_
394
+ # Percentage distance from top edge of the image, Not required for videos or
395
+ # stories
396
+ #
397
+ # @return [Float, nil]
398
+ optional :y_, Float, api_name: :y
399
+
400
+ # @!method initialize(id:, platform:, type:, x: nil, y_: nil)
401
+ # Some parameter documentations has been truncated, see
402
+ # {PostForMe::Models::CreateSocialPost::AccountConfiguration::Configuration::Media::Tag}
403
+ # for more details.
404
+ #
405
+ # @param id [String] Facebook User ID, Instagram Username or Instagram product id to tag
406
+ #
407
+ # @param platform [Symbol, PostForMe::Models::CreateSocialPost::AccountConfiguration::Configuration::Media::Tag::Platform] The platform for the tags
408
+ #
409
+ # @param type [Symbol, PostForMe::Models::CreateSocialPost::AccountConfiguration::Configuration::Media::Tag::Type] The type of tag, user to tag accounts, product to tag products (only supported f
410
+ #
411
+ # @param x [Float] Percentage distance from left edge of the image, Not required for videos or stor
412
+ #
413
+ # @param y_ [Float] Percentage distance from top edge of the image, Not required for videos or stori
414
+
415
+ # The platform for the tags
416
+ #
417
+ # @see PostForMe::Models::CreateSocialPost::AccountConfiguration::Configuration::Media::Tag#platform
418
+ module Platform
419
+ extend PostForMe::Internal::Type::Enum
420
+
421
+ FACEBOOK = :facebook
422
+ INSTAGRAM = :instagram
423
+
424
+ # @!method self.values
425
+ # @return [Array<Symbol>]
426
+ end
427
+
428
+ # The type of tag, user to tag accounts, product to tag products (only supported
429
+ # for instagram)
430
+ #
431
+ # @see PostForMe::Models::CreateSocialPost::AccountConfiguration::Configuration::Media::Tag#type
432
+ module Type
433
+ extend PostForMe::Internal::Type::Enum
434
+
435
+ USER = :user
436
+ PRODUCT = :product
437
+
438
+ # @!method self.values
439
+ # @return [Array<Symbol>]
440
+ end
441
+ end
442
+ end
294
443
 
295
444
  # Post placement for Facebook/Instagram/Threads
296
445
  #
@@ -352,6 +501,21 @@ module PostForMe
352
501
  end
353
502
  end
354
503
 
504
+ # Sets the privacy status for TikTok (private, public), or YouTube (private,
505
+ # public, unlisted)
506
+ #
507
+ # @see PostForMe::Models::CreateSocialPost::AccountConfiguration::Configuration#privacy_status
508
+ module PrivacyStatus
509
+ extend PostForMe::Internal::Type::Enum
510
+
511
+ PUBLIC = :public
512
+ PRIVATE = :private
513
+ UNLISTED = :unlisted
514
+
515
+ # @!method self.values
516
+ # @return [Array<Symbol>]
517
+ end
518
+
355
519
  # Who can reply to the tweet
356
520
  #
357
521
  # @see PostForMe::Models::CreateSocialPost::AccountConfiguration::Configuration#reply_settings
@@ -366,6 +530,21 @@ module PostForMe
366
530
  # @!method self.values
367
531
  # @return [Array<Symbol>]
368
532
  end
533
+
534
+ # Instagram trial reel type, when passed will be created as a trial reel. If
535
+ # manual the trial reel can be manually graduated in the native app. If perfomance
536
+ # the trial reel will be automatically graduated if the trial reel performs well.
537
+ #
538
+ # @see PostForMe::Models::CreateSocialPost::AccountConfiguration::Configuration#trial_reel_type
539
+ module TrialReelType
540
+ extend PostForMe::Internal::Type::Enum
541
+
542
+ MANUAL = :manual
543
+ PERFORMANCE = :performance
544
+
545
+ # @!method self.values
546
+ # @return [Array<Symbol>]
547
+ end
369
548
  end
370
549
  end
371
550
 
@@ -41,7 +41,18 @@ module PostForMe
41
41
  # @return [Boolean, nil]
42
42
  optional :share_to_feed, PostForMe::Internal::Type::Boolean, nil?: true
43
43
 
44
- # @!method initialize(caption: nil, collaborators: nil, location: nil, media: nil, placement: nil, share_to_feed: nil)
44
+ # @!attribute trial_reel_type
45
+ # Instagram trial reel type, when passed will be created as a trial reel. If
46
+ # manual the trial reel can be manually graduated in the native app. If perfomance
47
+ # the trial reel will be automatically graduated if the trial reel performs well.
48
+ #
49
+ # @return [Symbol, PostForMe::Models::InstagramConfigurationDto::TrialReelType, nil]
50
+ optional :trial_reel_type, enum: -> { PostForMe::InstagramConfigurationDto::TrialReelType }, nil?: true
51
+
52
+ # @!method initialize(caption: nil, collaborators: nil, location: nil, media: nil, placement: nil, share_to_feed: nil, trial_reel_type: nil)
53
+ # Some parameter documentations has been truncated, see
54
+ # {PostForMe::Models::InstagramConfigurationDto} for more details.
55
+ #
45
56
  # @param caption [Object, nil] Overrides the `caption` from the post
46
57
  #
47
58
  # @param collaborators [Array<String>, nil] Instagram usernames to be tagged as a collaborator
@@ -53,6 +64,8 @@ module PostForMe
53
64
  # @param placement [Symbol, PostForMe::Models::InstagramConfigurationDto::Placement, nil] Instagram post placement
54
65
  #
55
66
  # @param share_to_feed [Boolean, nil] If false video posts will only be shown in the Reels tab
67
+ #
68
+ # @param trial_reel_type [Symbol, PostForMe::Models::InstagramConfigurationDto::TrialReelType, nil] Instagram trial reel type, when passed will be created as a trial reel. If manua
56
69
 
57
70
  class Media < PostForMe::Internal::Type::BaseModel
58
71
  # @!attribute url
@@ -180,6 +193,21 @@ module PostForMe
180
193
  # @!method self.values
181
194
  # @return [Array<Symbol>]
182
195
  end
196
+
197
+ # Instagram trial reel type, when passed will be created as a trial reel. If
198
+ # manual the trial reel can be manually graduated in the native app. If perfomance
199
+ # the trial reel will be automatically graduated if the trial reel performs well.
200
+ #
201
+ # @see PostForMe::Models::InstagramConfigurationDto#trial_reel_type
202
+ module TrialReelType
203
+ extend PostForMe::Internal::Type::Enum
204
+
205
+ MANUAL = :manual
206
+ PERFORMANCE = :performance
207
+
208
+ # @!method self.values
209
+ # @return [Array<Symbol>]
210
+ end
183
211
  end
184
212
  end
185
213
  end
@@ -204,11 +204,21 @@ module PostForMe
204
204
  # @return [String, nil]
205
205
  optional :location, String, nil?: true
206
206
 
207
+ # @!attribute made_for_kids
208
+ # If true will notify YouTube the video is intended for kids, defaults to false
209
+ #
210
+ # @return [Boolean, nil]
211
+ optional :made_for_kids, PostForMe::Internal::Type::Boolean, nil?: true
212
+
207
213
  # @!attribute media
208
214
  # Overrides the `media` from the post
209
215
  #
210
- # @return [Array<String>, nil]
211
- optional :media, PostForMe::Internal::Type::ArrayOf[String], nil?: true
216
+ # @return [Array<PostForMe::Models::SocialPost::AccountConfiguration::Configuration::Media>, nil]
217
+ optional :media,
218
+ -> {
219
+ PostForMe::Internal::Type::ArrayOf[PostForMe::SocialPost::AccountConfiguration::Configuration::Media]
220
+ },
221
+ nil?: true
212
222
 
213
223
  # @!attribute placement
214
224
  # Post placement for Facebook/Instagram/Threads
@@ -225,10 +235,13 @@ module PostForMe
225
235
  optional :poll, -> { PostForMe::SocialPost::AccountConfiguration::Configuration::Poll }
226
236
 
227
237
  # @!attribute privacy_status
228
- # Sets the privacy status for TikTok (private, public)
238
+ # Sets the privacy status for TikTok (private, public), or YouTube (private,
239
+ # public, unlisted)
229
240
  #
230
- # @return [String, nil]
231
- optional :privacy_status, String, nil?: true
241
+ # @return [Symbol, PostForMe::Models::SocialPost::AccountConfiguration::Configuration::PrivacyStatus, nil]
242
+ optional :privacy_status,
243
+ enum: -> { PostForMe::SocialPost::AccountConfiguration::Configuration::PrivacyStatus },
244
+ nil?: true
232
245
 
233
246
  # @!attribute quote_tweet_id
234
247
  # Id of the tweet you want to quote
@@ -256,7 +269,17 @@ module PostForMe
256
269
  # @return [String, nil]
257
270
  optional :title, String, nil?: true
258
271
 
259
- # @!method initialize(allow_comment: nil, allow_duet: nil, allow_stitch: nil, auto_add_music: nil, board_ids: nil, caption: nil, collaborators: nil, community_id: nil, disclose_branded_content: nil, disclose_your_brand: nil, is_ai_generated: nil, is_draft: nil, link: nil, location: nil, media: nil, placement: nil, poll: nil, privacy_status: nil, quote_tweet_id: nil, reply_settings: nil, share_to_feed: nil, title: nil)
272
+ # @!attribute trial_reel_type
273
+ # Instagram trial reel type, when passed will be created as a trial reel. If
274
+ # manual the trial reel can be manually graduated in the native app. If perfomance
275
+ # the trial reel will be automatically graduated if the trial reel performs well.
276
+ #
277
+ # @return [Symbol, PostForMe::Models::SocialPost::AccountConfiguration::Configuration::TrialReelType, nil]
278
+ optional :trial_reel_type,
279
+ enum: -> { PostForMe::SocialPost::AccountConfiguration::Configuration::TrialReelType },
280
+ nil?: true
281
+
282
+ # @!method initialize(allow_comment: nil, allow_duet: nil, allow_stitch: nil, auto_add_music: nil, board_ids: nil, caption: nil, collaborators: nil, community_id: nil, disclose_branded_content: nil, disclose_your_brand: nil, is_ai_generated: nil, is_draft: nil, link: nil, location: nil, made_for_kids: nil, media: nil, placement: nil, poll: nil, privacy_status: nil, quote_tweet_id: nil, reply_settings: nil, share_to_feed: nil, title: nil, trial_reel_type: nil)
260
283
  # Some parameter documentations has been truncated, see
261
284
  # {PostForMe::Models::SocialPost::AccountConfiguration::Configuration} for more
262
285
  # details.
@@ -291,13 +314,15 @@ module PostForMe
291
314
  #
292
315
  # @param location [String, nil] Page id with a location that you want to tag the image or video with (Instagram
293
316
  #
294
- # @param media [Array<String>, nil] Overrides the `media` from the post
317
+ # @param made_for_kids [Boolean, nil] If true will notify YouTube the video is intended for kids, defaults to false
318
+ #
319
+ # @param media [Array<PostForMe::Models::SocialPost::AccountConfiguration::Configuration::Media>, nil] Overrides the `media` from the post
295
320
  #
296
321
  # @param placement [Symbol, PostForMe::Models::SocialPost::AccountConfiguration::Configuration::Placement, nil] Post placement for Facebook/Instagram/Threads
297
322
  #
298
323
  # @param poll [PostForMe::Models::SocialPost::AccountConfiguration::Configuration::Poll] Poll options for the twitter
299
324
  #
300
- # @param privacy_status [String, nil] Sets the privacy status for TikTok (private, public)
325
+ # @param privacy_status [Symbol, PostForMe::Models::SocialPost::AccountConfiguration::Configuration::PrivacyStatus, nil] Sets the privacy status for TikTok (private, public), or YouTube (private, publi
301
326
  #
302
327
  # @param quote_tweet_id [String] Id of the tweet you want to quote
303
328
  #
@@ -306,6 +331,125 @@ module PostForMe
306
331
  # @param share_to_feed [Boolean, nil] If false Instagram video posts will only be shown in the Reels tab
307
332
  #
308
333
  # @param title [String, nil] Overrides the `title` from the post
334
+ #
335
+ # @param trial_reel_type [Symbol, PostForMe::Models::SocialPost::AccountConfiguration::Configuration::TrialReelType, nil] Instagram trial reel type, when passed will be created as a trial reel. If manua
336
+
337
+ class Media < PostForMe::Internal::Type::BaseModel
338
+ # @!attribute url
339
+ # Public URL of the media
340
+ #
341
+ # @return [String]
342
+ required :url, String
343
+
344
+ # @!attribute tags
345
+ # List of tags to attach to the media
346
+ #
347
+ # @return [Array<PostForMe::Models::SocialPost::AccountConfiguration::Configuration::Media::Tag>, nil]
348
+ optional :tags,
349
+ -> {
350
+ PostForMe::Internal::Type::ArrayOf[PostForMe::SocialPost::AccountConfiguration::Configuration::Media::Tag]
351
+ },
352
+ nil?: true
353
+
354
+ # @!attribute thumbnail_timestamp_ms
355
+ # Timestamp in milliseconds of frame to use as thumbnail for the media
356
+ #
357
+ # @return [Object, nil]
358
+ optional :thumbnail_timestamp_ms, PostForMe::Internal::Type::Unknown, nil?: true
359
+
360
+ # @!attribute thumbnail_url
361
+ # Public URL of the thumbnail for the media
362
+ #
363
+ # @return [Object, nil]
364
+ optional :thumbnail_url, PostForMe::Internal::Type::Unknown, nil?: true
365
+
366
+ # @!method initialize(url:, tags: nil, thumbnail_timestamp_ms: nil, thumbnail_url: nil)
367
+ # @param url [String] Public URL of the media
368
+ #
369
+ # @param tags [Array<PostForMe::Models::SocialPost::AccountConfiguration::Configuration::Media::Tag>, nil] List of tags to attach to the media
370
+ #
371
+ # @param thumbnail_timestamp_ms [Object, nil] Timestamp in milliseconds of frame to use as thumbnail for the media
372
+ #
373
+ # @param thumbnail_url [Object, nil] Public URL of the thumbnail for the media
374
+
375
+ class Tag < PostForMe::Internal::Type::BaseModel
376
+ # @!attribute id
377
+ # Facebook User ID, Instagram Username or Instagram product id to tag
378
+ #
379
+ # @return [String]
380
+ required :id, String
381
+
382
+ # @!attribute platform
383
+ # The platform for the tags
384
+ #
385
+ # @return [Symbol, PostForMe::Models::SocialPost::AccountConfiguration::Configuration::Media::Tag::Platform]
386
+ required :platform,
387
+ enum: -> { PostForMe::SocialPost::AccountConfiguration::Configuration::Media::Tag::Platform }
388
+
389
+ # @!attribute type
390
+ # The type of tag, user to tag accounts, product to tag products (only supported
391
+ # for instagram)
392
+ #
393
+ # @return [Symbol, PostForMe::Models::SocialPost::AccountConfiguration::Configuration::Media::Tag::Type]
394
+ required :type, enum: -> { PostForMe::SocialPost::AccountConfiguration::Configuration::Media::Tag::Type }
395
+
396
+ # @!attribute x
397
+ # Percentage distance from left edge of the image, Not required for videos or
398
+ # stories
399
+ #
400
+ # @return [Float, nil]
401
+ optional :x, Float
402
+
403
+ # @!attribute y_
404
+ # Percentage distance from top edge of the image, Not required for videos or
405
+ # stories
406
+ #
407
+ # @return [Float, nil]
408
+ optional :y_, Float, api_name: :y
409
+
410
+ # @!method initialize(id:, platform:, type:, x: nil, y_: nil)
411
+ # Some parameter documentations has been truncated, see
412
+ # {PostForMe::Models::SocialPost::AccountConfiguration::Configuration::Media::Tag}
413
+ # for more details.
414
+ #
415
+ # @param id [String] Facebook User ID, Instagram Username or Instagram product id to tag
416
+ #
417
+ # @param platform [Symbol, PostForMe::Models::SocialPost::AccountConfiguration::Configuration::Media::Tag::Platform] The platform for the tags
418
+ #
419
+ # @param type [Symbol, PostForMe::Models::SocialPost::AccountConfiguration::Configuration::Media::Tag::Type] The type of tag, user to tag accounts, product to tag products (only supported f
420
+ #
421
+ # @param x [Float] Percentage distance from left edge of the image, Not required for videos or stor
422
+ #
423
+ # @param y_ [Float] Percentage distance from top edge of the image, Not required for videos or stori
424
+
425
+ # The platform for the tags
426
+ #
427
+ # @see PostForMe::Models::SocialPost::AccountConfiguration::Configuration::Media::Tag#platform
428
+ module Platform
429
+ extend PostForMe::Internal::Type::Enum
430
+
431
+ FACEBOOK = :facebook
432
+ INSTAGRAM = :instagram
433
+
434
+ # @!method self.values
435
+ # @return [Array<Symbol>]
436
+ end
437
+
438
+ # The type of tag, user to tag accounts, product to tag products (only supported
439
+ # for instagram)
440
+ #
441
+ # @see PostForMe::Models::SocialPost::AccountConfiguration::Configuration::Media::Tag#type
442
+ module Type
443
+ extend PostForMe::Internal::Type::Enum
444
+
445
+ USER = :user
446
+ PRODUCT = :product
447
+
448
+ # @!method self.values
449
+ # @return [Array<Symbol>]
450
+ end
451
+ end
452
+ end
309
453
 
310
454
  # Post placement for Facebook/Instagram/Threads
311
455
  #
@@ -367,6 +511,21 @@ module PostForMe
367
511
  end
368
512
  end
369
513
 
514
+ # Sets the privacy status for TikTok (private, public), or YouTube (private,
515
+ # public, unlisted)
516
+ #
517
+ # @see PostForMe::Models::SocialPost::AccountConfiguration::Configuration#privacy_status
518
+ module PrivacyStatus
519
+ extend PostForMe::Internal::Type::Enum
520
+
521
+ PUBLIC = :public
522
+ PRIVATE = :private
523
+ UNLISTED = :unlisted
524
+
525
+ # @!method self.values
526
+ # @return [Array<Symbol>]
527
+ end
528
+
370
529
  # Who can reply to the tweet
371
530
  #
372
531
  # @see PostForMe::Models::SocialPost::AccountConfiguration::Configuration#reply_settings
@@ -381,6 +540,21 @@ module PostForMe
381
540
  # @!method self.values
382
541
  # @return [Array<Symbol>]
383
542
  end
543
+
544
+ # Instagram trial reel type, when passed will be created as a trial reel. If
545
+ # manual the trial reel can be manually graduated in the native app. If perfomance
546
+ # the trial reel will be automatically graduated if the trial reel performs well.
547
+ #
548
+ # @see PostForMe::Models::SocialPost::AccountConfiguration::Configuration#trial_reel_type
549
+ module TrialReelType
550
+ extend PostForMe::Internal::Type::Enum
551
+
552
+ MANUAL = :manual
553
+ PERFORMANCE = :performance
554
+
555
+ # @!method self.values
556
+ # @return [Array<Symbol>]
557
+ end
384
558
  end
385
559
  end
386
560
 
@@ -32,13 +32,19 @@ module PostForMe
32
32
  optional :platform,
33
33
  -> { PostForMe::Internal::Type::ArrayOf[enum: PostForMe::SocialPostListParams::Platform] }
34
34
 
35
+ # @!attribute social_account_id
36
+ # Filter by social account ID. Multiple values imply OR logic.
37
+ #
38
+ # @return [Array<String>, nil]
39
+ optional :social_account_id, PostForMe::Internal::Type::ArrayOf[String]
40
+
35
41
  # @!attribute status
36
42
  # Filter by post status. Multiple values imply OR logic.
37
43
  #
38
44
  # @return [Array<Symbol, PostForMe::Models::SocialPostListParams::Status>, nil]
39
45
  optional :status, -> { PostForMe::Internal::Type::ArrayOf[enum: PostForMe::SocialPostListParams::Status] }
40
46
 
41
- # @!method initialize(external_id: nil, limit: nil, offset: nil, platform: nil, status: nil, request_options: {})
47
+ # @!method initialize(external_id: nil, limit: nil, offset: nil, platform: nil, social_account_id: nil, status: nil, request_options: {})
42
48
  # @param external_id [Array<String>] Filter by external ID. Multiple values imply OR logic.
43
49
  #
44
50
  # @param limit [Float] Number of items to return
@@ -47,6 +53,8 @@ module PostForMe
47
53
  #
48
54
  # @param platform [Array<Symbol, PostForMe::Models::SocialPostListParams::Platform>] Filter by platforms. Multiple values imply OR logic.
49
55
  #
56
+ # @param social_account_id [Array<String>] Filter by social account ID. Multiple values imply OR logic.
57
+ #
50
58
  # @param status [Array<Symbol, PostForMe::Models::SocialPostListParams::Status>] Filter by post status. Multiple values imply OR logic.
51
59
  #
52
60
  # @param request_options [PostForMe::RequestOptions, Hash{Symbol=>Object}]