post-for-me 0.1.0.pre.alpha.10 → 0.1.0.pre.alpha.12

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 (54) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +42 -0
  3. data/README.md +10 -1
  4. data/lib/post_for_me/client.rb +4 -0
  5. data/lib/post_for_me/internal/transport/pooled_net_requester.rb +12 -10
  6. data/lib/post_for_me/internal/util.rb +7 -2
  7. data/lib/post_for_me/models/create_social_post.rb +158 -8
  8. data/lib/post_for_me/models/platform_post.rb +843 -0
  9. data/lib/post_for_me/models/social_account_create_auth_url_params.rb +245 -9
  10. data/lib/post_for_me/models/social_account_feed_list_params.rb +81 -0
  11. data/lib/post_for_me/models/social_account_feed_list_response.rb +58 -0
  12. data/lib/post_for_me/models/social_post.rb +155 -8
  13. data/lib/post_for_me/models/social_post_list_params.rb +9 -1
  14. data/lib/post_for_me/models/social_post_result_list_params.rb +10 -1
  15. data/lib/post_for_me/models/youtube_configuration_dto.rb +31 -1
  16. data/lib/post_for_me/models.rb +4 -0
  17. data/lib/post_for_me/resources/social_account_feeds.rb +51 -0
  18. data/lib/post_for_me/resources/social_accounts.rb +8 -1
  19. data/lib/post_for_me/resources/social_post_results.rb +3 -1
  20. data/lib/post_for_me/resources/social_posts.rb +3 -1
  21. data/lib/post_for_me/version.rb +1 -1
  22. data/lib/post_for_me.rb +5 -0
  23. data/manifest.yaml +1 -0
  24. data/rbi/post_for_me/client.rbi +3 -0
  25. data/rbi/post_for_me/models/create_social_post.rbi +328 -8
  26. data/rbi/post_for_me/models/platform_post.rbi +1287 -0
  27. data/rbi/post_for_me/models/social_account_create_auth_url_params.rbi +545 -15
  28. data/rbi/post_for_me/models/social_account_feed_list_params.rbi +157 -0
  29. data/rbi/post_for_me/models/social_account_feed_list_response.rbi +110 -0
  30. data/rbi/post_for_me/models/social_post.rbi +328 -8
  31. data/rbi/post_for_me/models/social_post_list_params.rbi +11 -0
  32. data/rbi/post_for_me/models/social_post_result_list_params.rbi +13 -0
  33. data/rbi/post_for_me/models/youtube_configuration_dto.rbi +63 -0
  34. data/rbi/post_for_me/models.rbi +4 -0
  35. data/rbi/post_for_me/resources/social_account_feeds.rbi +51 -0
  36. data/rbi/post_for_me/resources/social_accounts.rbi +13 -0
  37. data/rbi/post_for_me/resources/social_post_results.rbi +4 -0
  38. data/rbi/post_for_me/resources/social_posts.rbi +3 -0
  39. data/sig/post_for_me/client.rbs +2 -0
  40. data/sig/post_for_me/models/create_social_post.rbs +120 -8
  41. data/sig/post_for_me/models/platform_post.rbs +660 -0
  42. data/sig/post_for_me/models/social_account_create_auth_url_params.rbs +193 -10
  43. data/sig/post_for_me/models/social_account_feed_list_params.rbs +75 -0
  44. data/sig/post_for_me/models/social_account_feed_list_response.rbs +54 -0
  45. data/sig/post_for_me/models/social_post.rbs +120 -8
  46. data/sig/post_for_me/models/social_post_list_params.rbs +7 -0
  47. data/sig/post_for_me/models/social_post_result_list_params.rbs +8 -1
  48. data/sig/post_for_me/models/youtube_configuration_dto.rbs +22 -0
  49. data/sig/post_for_me/models.rbs +4 -0
  50. data/sig/post_for_me/resources/social_account_feeds.rbs +18 -0
  51. data/sig/post_for_me/resources/social_accounts.rbs +2 -0
  52. data/sig/post_for_me/resources/social_post_results.rbs +1 -0
  53. data/sig/post_for_me/resources/social_posts.rbs +1 -0
  54. metadata +28 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f08a4f8e227f322ee7b0d29a30c415f41d249ab7522893a827f436897b1d618c
4
- data.tar.gz: 58515896f263b04c98c2251a662b52a283c3d7a67b677361a4375391c080987b
3
+ metadata.gz: 1aa7e2b6d60aa6e7d33315fb32a1b45fa73f1eb94029fba7b46ae7e84e737388
4
+ data.tar.gz: 430136af243b15e1ff3dd562b66f270aaa399e61ad8905ec43172819310b4005
5
5
  SHA512:
6
- metadata.gz: 7fb396a4a563b2dc101a3226c6cae480249ce4eabfc32320d2c70fdad267c27078636da74a1d4fd5716533c6873e6b3d3effb0f8fdc36d1959cc8114f39bbdd2
7
- data.tar.gz: 1f15d35794ada3b12e1839818c8ef5d1f6cf885f170f480a341eb9a95d3ad247da2efaa22b4c5b111ff8f56e620852d4a824382db6d8cce0b7da6b199008d303
6
+ metadata.gz: f11abcbd3ae673300a776c9bcfe27da87e3c16fad6dbf9d02aab9e958c1dec2c00b5b739075f78bbc68a847674900d64c4ad6e984a6145af69daee38fbe665da
7
+ data.tar.gz: 16dc4f9fb08883d0a6dd5084874525f9768c44e477e989725fc3068b4a45417f8861eaf2869e688e50bc28064789761fc15c6565a7687d77fb8ca4d32915e1bf
data/CHANGELOG.md CHANGED
@@ -1,5 +1,47 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.1.0-alpha.12 (2026-01-10)
4
+
5
+ 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)
6
+
7
+ ### Features
8
+
9
+ * **api:** api update ([221b4e5](https://github.com/DayMoonDevelopment/post-for-me-ruby/commit/221b4e5aa11b4475baf32ecefcf1ef556aaa9da5))
10
+ * **api:** api update ([0f252a9](https://github.com/DayMoonDevelopment/post-for-me-ruby/commit/0f252a956af996885532141d41c781025928732e))
11
+ * **api:** api update ([4da33ad](https://github.com/DayMoonDevelopment/post-for-me-ruby/commit/4da33ad42d0208f2bee2a825b57fd69c5041a99a))
12
+
13
+
14
+ ### Chores
15
+
16
+ * **internal:** codegen related update ([bfe1b4e](https://github.com/DayMoonDevelopment/post-for-me-ruby/commit/bfe1b4eaca2f6a9163bad0e4e305185b86b265a2))
17
+
18
+
19
+ ### Documentation
20
+
21
+ * prominently feature MCP server setup in root SDK readmes ([e1292ef](https://github.com/DayMoonDevelopment/post-for-me-ruby/commit/e1292efcda83a13b0f9bc5abc492c00dbf8ebae8))
22
+
23
+ ## 0.1.0-alpha.11 (2025-12-30)
24
+
25
+ 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)
26
+
27
+ ### Features
28
+
29
+ * **api:** Adding account feed endpoint ([7ce9691](https://github.com/DayMoonDevelopment/post-for-me-ruby/commit/7ce9691b9e4e111c934bed1c09d9ccbfbc4b7c9d))
30
+ * **api:** api update ([8a5f7ea](https://github.com/DayMoonDevelopment/post-for-me-ruby/commit/8a5f7ea61dc9b9484e9f6c380f375564a9800ead))
31
+ * **api:** api update ([64ca219](https://github.com/DayMoonDevelopment/post-for-me-ruby/commit/64ca219193b85a3f605c9bd705d2eb3cc7ac4433))
32
+ * **api:** api update ([6ebb7cc](https://github.com/DayMoonDevelopment/post-for-me-ruby/commit/6ebb7cc2b9c3bf0938e7b985a3ff1d5d0f73a092))
33
+
34
+
35
+ ### Bug Fixes
36
+
37
+ * calling `break` out of streams should be instantaneous ([14f7017](https://github.com/DayMoonDevelopment/post-for-me-ruby/commit/14f70172ad4f58f195c95315c1634c41cb87c00f))
38
+ * issue where json.parse errors when receiving HTTP 204 with nobody ([fdc1690](https://github.com/DayMoonDevelopment/post-for-me-ruby/commit/fdc16902862fec1eb612d9a9f82d9c4f4acd3a6e))
39
+
40
+
41
+ ### Chores
42
+
43
+ * explicitly require "base64" gem ([ca97f9c](https://github.com/DayMoonDevelopment/post-for-me-ruby/commit/ca97f9c65134f8532190e9daeaba12db30171971))
44
+
3
45
  ## 0.1.0-alpha.10 (2025-11-05)
4
46
 
5
47
  Full Changelog: [v0.1.0-alpha.9...v0.1.0-alpha.10](https://github.com/DayMoonDevelopment/post-for-me-ruby/compare/v0.1.0-alpha.9...v0.1.0-alpha.10)
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.10"
29
+ gem "post-for-me", "~> 0.1.0.pre.alpha.12"
21
30
  ```
22
31
 
23
32
  <!-- x-release-please-end -->
@@ -30,6 +30,9 @@ module PostForMe
30
30
  # @return [PostForMe::Resources::SocialAccounts]
31
31
  attr_reader :social_accounts
32
32
 
33
+ # @return [PostForMe::Resources::SocialAccountFeeds]
34
+ attr_reader :social_account_feeds
35
+
33
36
  # @api private
34
37
  #
35
38
  # @return [Hash{String=>String}]
@@ -81,6 +84,7 @@ module PostForMe
81
84
  @social_posts = PostForMe::Resources::SocialPosts.new(client: self)
82
85
  @social_post_results = PostForMe::Resources::SocialPostResults.new(client: self)
83
86
  @social_accounts = PostForMe::Resources::SocialAccounts.new(client: self)
87
+ @social_account_feeds = PostForMe::Resources::SocialAccountFeeds.new(client: self)
84
88
  end
85
89
  end
86
90
  end
@@ -153,17 +153,19 @@ module PostForMe
153
153
  end
154
154
 
155
155
  self.class.calibrate_socket_timeout(conn, deadline)
156
- conn.request(req) do |rsp|
157
- y << [req, rsp]
158
- break if finished
159
-
160
- rsp.read_body do |bytes|
161
- y << bytes.force_encoding(Encoding::BINARY)
162
- break if finished
163
-
164
- self.class.calibrate_socket_timeout(conn, deadline)
156
+ ::Kernel.catch(:jump) do
157
+ conn.request(req) do |rsp|
158
+ y << [req, rsp]
159
+ ::Kernel.throw(:jump) if finished
160
+
161
+ rsp.read_body do |bytes|
162
+ y << bytes.force_encoding(Encoding::BINARY)
163
+ ::Kernel.throw(:jump) if finished
164
+
165
+ self.class.calibrate_socket_timeout(conn, deadline)
166
+ end
167
+ eof = true
165
168
  end
166
- eof = true
167
169
  end
168
170
  end
169
171
  ensure
@@ -657,7 +657,8 @@ module PostForMe
657
657
  def decode_content(headers, stream:, suppress_error: false)
658
658
  case (content_type = headers["content-type"])
659
659
  in PostForMe::Internal::Util::JSON_CONTENT
660
- json = stream.to_a.join
660
+ return nil if (json = stream.to_a.join).empty?
661
+
661
662
  begin
662
663
  JSON.parse(json, symbolize_names: true)
663
664
  rescue JSON::ParserError => e
@@ -667,7 +668,11 @@ module PostForMe
667
668
  in PostForMe::Internal::Util::JSONL_CONTENT
668
669
  lines = decode_lines(stream)
669
670
  chain_fused(lines) do |y|
670
- lines.each { y << JSON.parse(_1, symbolize_names: true) }
671
+ lines.each do
672
+ next if _1.empty?
673
+
674
+ y << JSON.parse(_1, symbolize_names: true)
675
+ end
671
676
  end
672
677
  in %r{^text/event-stream}
673
678
  lines = decode_lines(stream)
@@ -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,7 @@ 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
+ # @!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)
245
260
  # Some parameter documentations has been truncated, see
246
261
  # {PostForMe::Models::CreateSocialPost::AccountConfiguration::Configuration} for
247
262
  # more details.
@@ -276,13 +291,15 @@ module PostForMe
276
291
  #
277
292
  # @param location [String, nil] Page id with a location that you want to tag the image or video with (Instagram
278
293
  #
279
- # @param media [Array<String>, nil] Overrides the `media` from the post
294
+ # @param made_for_kids [Boolean, nil] If true will notify YouTube the video is intended for kids, defaults to false
295
+ #
296
+ # @param media [Array<PostForMe::Models::CreateSocialPost::AccountConfiguration::Configuration::Media>, nil] Overrides the `media` from the post
280
297
  #
281
298
  # @param placement [Symbol, PostForMe::Models::CreateSocialPost::AccountConfiguration::Configuration::Placement, nil] Post placement for Facebook/Instagram/Threads
282
299
  #
283
300
  # @param poll [PostForMe::Models::CreateSocialPost::AccountConfiguration::Configuration::Poll] Poll options for the twitter
284
301
  #
285
- # @param privacy_status [String, nil] Sets the privacy status for TikTok (private, public)
302
+ # @param privacy_status [Symbol, PostForMe::Models::CreateSocialPost::AccountConfiguration::Configuration::PrivacyStatus, nil] Sets the privacy status for TikTok (private, public), or YouTube (private, publi
286
303
  #
287
304
  # @param quote_tweet_id [String] Id of the tweet you want to quote
288
305
  #
@@ -292,6 +309,124 @@ module PostForMe
292
309
  #
293
310
  # @param title [String, nil] Overrides the `title` from the post
294
311
 
312
+ class Media < PostForMe::Internal::Type::BaseModel
313
+ # @!attribute url
314
+ # Public URL of the media
315
+ #
316
+ # @return [String]
317
+ required :url, String
318
+
319
+ # @!attribute tags
320
+ # List of tags to attach to the media
321
+ #
322
+ # @return [Array<PostForMe::Models::CreateSocialPost::AccountConfiguration::Configuration::Media::Tag>, nil]
323
+ optional :tags,
324
+ -> {
325
+ PostForMe::Internal::Type::ArrayOf[PostForMe::CreateSocialPost::AccountConfiguration::Configuration::Media::Tag]
326
+ },
327
+ nil?: true
328
+
329
+ # @!attribute thumbnail_timestamp_ms
330
+ # Timestamp in milliseconds of frame to use as thumbnail for the media
331
+ #
332
+ # @return [Object, nil]
333
+ optional :thumbnail_timestamp_ms, PostForMe::Internal::Type::Unknown, nil?: true
334
+
335
+ # @!attribute thumbnail_url
336
+ # Public URL of the thumbnail for the media
337
+ #
338
+ # @return [Object, nil]
339
+ optional :thumbnail_url, PostForMe::Internal::Type::Unknown, nil?: true
340
+
341
+ # @!method initialize(url:, tags: nil, thumbnail_timestamp_ms: nil, thumbnail_url: nil)
342
+ # @param url [String] Public URL of the media
343
+ #
344
+ # @param tags [Array<PostForMe::Models::CreateSocialPost::AccountConfiguration::Configuration::Media::Tag>, nil] List of tags to attach to the media
345
+ #
346
+ # @param thumbnail_timestamp_ms [Object, nil] Timestamp in milliseconds of frame to use as thumbnail for the media
347
+ #
348
+ # @param thumbnail_url [Object, nil] Public URL of the thumbnail for the media
349
+
350
+ class Tag < PostForMe::Internal::Type::BaseModel
351
+ # @!attribute id
352
+ # Facebook User ID, Instagram Username or Instagram product id to tag
353
+ #
354
+ # @return [String]
355
+ required :id, String
356
+
357
+ # @!attribute platform
358
+ # The platform for the tags
359
+ #
360
+ # @return [Symbol, PostForMe::Models::CreateSocialPost::AccountConfiguration::Configuration::Media::Tag::Platform]
361
+ required :platform,
362
+ enum: -> { PostForMe::CreateSocialPost::AccountConfiguration::Configuration::Media::Tag::Platform }
363
+
364
+ # @!attribute type
365
+ # The type of tag, user to tag accounts, product to tag products (only supported
366
+ # for instagram)
367
+ #
368
+ # @return [Symbol, PostForMe::Models::CreateSocialPost::AccountConfiguration::Configuration::Media::Tag::Type]
369
+ required :type,
370
+ enum: -> { PostForMe::CreateSocialPost::AccountConfiguration::Configuration::Media::Tag::Type }
371
+
372
+ # @!attribute x
373
+ # Percentage distance from left edge of the image, Not required for videos or
374
+ # stories
375
+ #
376
+ # @return [Float, nil]
377
+ optional :x, Float
378
+
379
+ # @!attribute y_
380
+ # Percentage distance from top edge of the image, Not required for videos or
381
+ # stories
382
+ #
383
+ # @return [Float, nil]
384
+ optional :y_, Float, api_name: :y
385
+
386
+ # @!method initialize(id:, platform:, type:, x: nil, y_: nil)
387
+ # Some parameter documentations has been truncated, see
388
+ # {PostForMe::Models::CreateSocialPost::AccountConfiguration::Configuration::Media::Tag}
389
+ # for more details.
390
+ #
391
+ # @param id [String] Facebook User ID, Instagram Username or Instagram product id to tag
392
+ #
393
+ # @param platform [Symbol, PostForMe::Models::CreateSocialPost::AccountConfiguration::Configuration::Media::Tag::Platform] The platform for the tags
394
+ #
395
+ # @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
396
+ #
397
+ # @param x [Float] Percentage distance from left edge of the image, Not required for videos or stor
398
+ #
399
+ # @param y_ [Float] Percentage distance from top edge of the image, Not required for videos or stori
400
+
401
+ # The platform for the tags
402
+ #
403
+ # @see PostForMe::Models::CreateSocialPost::AccountConfiguration::Configuration::Media::Tag#platform
404
+ module Platform
405
+ extend PostForMe::Internal::Type::Enum
406
+
407
+ FACEBOOK = :facebook
408
+ INSTAGRAM = :instagram
409
+
410
+ # @!method self.values
411
+ # @return [Array<Symbol>]
412
+ end
413
+
414
+ # The type of tag, user to tag accounts, product to tag products (only supported
415
+ # for instagram)
416
+ #
417
+ # @see PostForMe::Models::CreateSocialPost::AccountConfiguration::Configuration::Media::Tag#type
418
+ module Type
419
+ extend PostForMe::Internal::Type::Enum
420
+
421
+ USER = :user
422
+ PRODUCT = :product
423
+
424
+ # @!method self.values
425
+ # @return [Array<Symbol>]
426
+ end
427
+ end
428
+ end
429
+
295
430
  # Post placement for Facebook/Instagram/Threads
296
431
  #
297
432
  # @see PostForMe::Models::CreateSocialPost::AccountConfiguration::Configuration#placement
@@ -352,6 +487,21 @@ module PostForMe
352
487
  end
353
488
  end
354
489
 
490
+ # Sets the privacy status for TikTok (private, public), or YouTube (private,
491
+ # public, unlisted)
492
+ #
493
+ # @see PostForMe::Models::CreateSocialPost::AccountConfiguration::Configuration#privacy_status
494
+ module PrivacyStatus
495
+ extend PostForMe::Internal::Type::Enum
496
+
497
+ PUBLIC = :public
498
+ PRIVATE = :private
499
+ UNLISTED = :unlisted
500
+
501
+ # @!method self.values
502
+ # @return [Array<Symbol>]
503
+ end
504
+
355
505
  # Who can reply to the tweet
356
506
  #
357
507
  # @see PostForMe::Models::CreateSocialPost::AccountConfiguration::Configuration#reply_settings