facebookbusiness 0.10.0.1 → 0.11.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (46) hide show
  1. checksums.yaml +4 -4
  2. data/lib/facebook_ads/ad_objects/ad_account.rb +16 -11
  3. data/lib/facebook_ads/ad_objects/{cpas_parent_catalog_settings.rb → ad_account_ios_fourteen_campaign_limits.rb} +7 -16
  4. data/lib/facebook_ads/ad_objects/ad_creative_link_data.rb +1 -0
  5. data/lib/facebook_ads/ad_objects/ad_preview.rb +1 -0
  6. data/lib/facebook_ads/ad_objects/ad_rule.rb +1 -0
  7. data/lib/facebook_ads/ad_objects/ad_study.rb +0 -1
  8. data/lib/facebook_ads/ad_objects/ad_study_objective.rb +0 -4
  9. data/lib/facebook_ads/ad_objects/ad_video.rb +8 -1
  10. data/lib/facebook_ads/ad_objects/adgroup_placement_specific_review_feedback.rb +1 -0
  11. data/lib/facebook_ads/ad_objects/adoptable_pet.rb +4 -0
  12. data/lib/facebook_ads/ad_objects/ads_insights.rb +2 -3
  13. data/lib/facebook_ads/ad_objects/application.rb +7 -4
  14. data/lib/facebook_ads/ad_objects/audio_copyright.rb +4 -0
  15. data/lib/facebook_ads/ad_objects/automotive_model.rb +4 -0
  16. data/lib/facebook_ads/ad_objects/business.rb +21 -19
  17. data/lib/facebook_ads/ad_objects/business_asset_group.rb +1 -0
  18. data/lib/facebook_ads/ad_objects/canvas.rb +2 -0
  19. data/lib/facebook_ads/ad_objects/canvas_template.rb +48 -0
  20. data/lib/facebook_ads/ad_objects/commerce_merchant_settings.rb +31 -0
  21. data/lib/facebook_ads/ad_objects/commerce_order.rb +14 -13
  22. data/lib/facebook_ads/ad_objects/custom_audience.rb +1 -0
  23. data/lib/facebook_ads/ad_objects/destination.rb +4 -0
  24. data/lib/facebook_ads/ad_objects/event.rb +4 -0
  25. data/lib/facebook_ads/ad_objects/flight.rb +4 -0
  26. data/lib/facebook_ads/ad_objects/group.rb +0 -17
  27. data/lib/facebook_ads/ad_objects/home_listing.rb +4 -0
  28. data/lib/facebook_ads/ad_objects/hotel.rb +4 -0
  29. data/lib/facebook_ads/ad_objects/ig_user.rb +4 -1
  30. data/lib/facebook_ads/ad_objects/{invoice_campaign_new.rb → invoice_campaign.rb} +1 -1
  31. data/lib/facebook_ads/ad_objects/omega_customer_trx.rb +1 -1
  32. data/lib/facebook_ads/ad_objects/oracle_transaction.rb +1 -1
  33. data/lib/facebook_ads/ad_objects/page.rb +43 -9
  34. data/lib/facebook_ads/ad_objects/page_call_to_action.rb +3 -0
  35. data/lib/facebook_ads/ad_objects/product_catalog.rb +22 -2
  36. data/lib/facebook_ads/ad_objects/product_catalog_diagnostic_group.rb +90 -0
  37. data/lib/facebook_ads/ad_objects/product_group.rb +8 -6
  38. data/lib/facebook_ads/ad_objects/product_item.rb +8 -0
  39. data/lib/facebook_ads/ad_objects/saved_audience.rb +2 -0
  40. data/lib/facebook_ads/ad_objects/unified_thread.rb +5 -0
  41. data/lib/facebook_ads/ad_objects/vehicle.rb +4 -0
  42. data/lib/facebook_ads/ad_objects/vehicle_offer.rb +4 -0
  43. data/lib/facebook_ads/ad_objects/video_copyright.rb +4 -0
  44. data/lib/facebook_ads/ad_objects/whats_app_business_account.rb +2 -0
  45. data/lib/facebook_ads/version.rb +2 -2
  46. metadata +9 -7
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 57d1f169e1919dc095ec223f2454b1a6a71fd6b56a9787ce94c4410401ec0737
4
- data.tar.gz: 4581d14459addc775d4777ecccaaa8a65ed530598767018f951c799a00d847f0
3
+ metadata.gz: fec74f5f72f11c85476ecc7dc8839ea82aefb6524a40ae818ada89a8c9167bd6
4
+ data.tar.gz: 03c440a7286c6eb07ab1a649bcd9e2ca872fa802e15e18ef073a96e462823d97
5
5
  SHA512:
6
- metadata.gz: 2021dc6395cc79c65b5790be93287aca342c565c039d260895f3254fe0a325a327496e4987c046beb5abc41237c4a902ffed0a89fd9d279fc0cd48d4f23992f0
7
- data.tar.gz: 3a461bb93c75ffe5851c7a2a80aa8c646162aadb51c26791d694402f29b5b1ed12c87f1bd051f32ed16468ec76ab52a50819f001506af7f6bfc7fab307210072
6
+ metadata.gz: 3f3c81b7c765098c65a0e43b4b5d9f26956edc94e35661e476bef94e77d7fbda03a8178b00fde5df24b7f9dfbc27638026eca2dbc0b36fbea155f7240350dd0e
7
+ data.tar.gz: 1552eaa602c200a8626b51f6acc2f3faf550030a4247d15b0479fe41ae7603075c782cfd69536cc1caccff2d4224fd532c6e56db270a4b170fabfc692dce8b9b
@@ -84,13 +84,6 @@ module FacebookAds
84
84
  "ZAR",
85
85
  ]
86
86
 
87
- PERMITTED_TASKS = [
88
- "ADVERTISE",
89
- "ANALYZE",
90
- "DRAFT",
91
- "MANAGE",
92
- ]
93
-
94
87
  TASKS = [
95
88
  "ADVERTISE",
96
89
  "ANALYZE",
@@ -242,10 +235,20 @@ module FacebookAds
242
235
  end
243
236
  end
244
237
 
238
+ has_edge :ad_saved_keywords do |edge|
239
+ edge.get do |api|
240
+ api.has_param :fields, { list: 'string' }
241
+ end
242
+ end
243
+
245
244
  has_edge :ad_studies do |edge|
246
245
  edge.get 'AdStudy'
247
246
  end
248
247
 
248
+ has_edge :adcloudplayables do |edge|
249
+ edge.get
250
+ end
251
+
249
252
  has_edge :adcreatives do |edge|
250
253
  edge.get 'AdCreative'
251
254
  edge.post 'AdCreative' do |api|
@@ -591,10 +594,6 @@ module FacebookAds
591
594
  api.has_param :business, 'string'
592
595
  end
593
596
  edge.get 'Business'
594
- edge.post 'AdAccount' do |api|
595
- api.has_param :business, 'string'
596
- api.has_param :permitted_tasks, { list: { enum: -> { AdAccount::PERMITTED_TASKS }} }
597
- end
598
597
  end
599
598
 
600
599
  has_edge :applications do |edge|
@@ -876,6 +875,12 @@ module FacebookAds
876
875
  edge.get 'InstagramUser'
877
876
  end
878
877
 
878
+ has_edge :ios_fourteen_campaign_limits do |edge|
879
+ edge.get 'AdAccountIosFourteenCampaignLimits' do |api|
880
+ api.has_param :app_id, 'string'
881
+ end
882
+ end
883
+
879
884
  has_edge :matched_search_applications do |edge|
880
885
  edge.get 'AdAccountMatchedSearchApplicationsEdgeData' do |api|
881
886
  api.has_param :allow_incomplete_app, 'bool'
@@ -25,23 +25,14 @@ module FacebookAds
25
25
  # on github and we'll fix in our codegen framework. We'll not be able to accept
26
26
  # pull request for this class.
27
27
 
28
- class CpasParentCatalogSettings < AdObject
29
- ATTRIBUTION_WINDOWS = [
30
- "DDA",
31
- "DEFAULT",
32
- "X1D_CLICK",
33
- "X1D_VIEW",
34
- "X28D_CLICK",
35
- "X28D_VIEW",
36
- "X7D_CLICK",
37
- "X7D_VIEW",
38
- ]
28
+ class AdAccountIosFourteenCampaignLimits < AdObject
39
29
 
40
-
41
- field :attribution_windows, { list: 'string' }
42
- field :default_currency, 'string'
43
- field :disable_use_as_parent_catalog, 'bool'
44
- field :id, 'string'
30
+ field :campaign_group_limit, 'int'
31
+ field :campaign_group_limits_details, { list: 'object' }
32
+ field :campaign_limit, 'int'
33
+ has_no_id
34
+ has_no_get
35
+ has_no_post
45
36
  has_no_delete
46
37
 
47
38
  end
@@ -39,6 +39,7 @@ module FacebookAds
39
39
  ]
40
40
 
41
41
 
42
+ field :ad_context, 'string'
42
43
  field :additional_image_index, 'int'
43
44
  field :app_link_spec, 'AdCreativeLinkDataAppLinkSpec'
44
45
  field :attachment_style, { enum: -> { ATTACHMENT_STYLE }}
@@ -37,6 +37,7 @@ module FacebookAds
37
37
  "INSTAGRAM_EXPLORE_CONTEXTUAL",
38
38
  "INSTAGRAM_EXPLORE_IMMERSIVE",
39
39
  "INSTAGRAM_REELS",
40
+ "INSTAGRAM_SHOP_TAB",
40
41
  "INSTAGRAM_STANDARD",
41
42
  "INSTAGRAM_STORY",
42
43
  "INSTANT_ARTICLE_RECIRCULATION_AD",
@@ -30,6 +30,7 @@ module FacebookAds
30
30
  "DELETED",
31
31
  "DISABLED",
32
32
  "ENABLED",
33
+ "HAS_ISSUES",
33
34
  ]
34
35
 
35
36
 
@@ -40,7 +40,6 @@ module FacebookAds
40
40
  field :cooldown_start_time, 'datetime'
41
41
  field :created_by, 'User'
42
42
  field :created_time, 'datetime'
43
- field :datasets_information, { list: 'string' }
44
43
  field :description, 'string'
45
44
  field :end_time, 'datetime'
46
45
  field :id, 'string'
@@ -49,10 +49,6 @@ module FacebookAds
49
49
  field :type, 'string'
50
50
  has_no_delete
51
51
 
52
- has_edge :ad_place_page_sets do |edge|
53
- edge.get 'AdPlacePageSet'
54
- end
55
-
56
52
  has_edge :adspixels do |edge|
57
53
  edge.get 'AdsPixel'
58
54
  end
@@ -39,7 +39,6 @@ module FacebookAds
39
39
  "ATLAS_VIDEO",
40
40
  "AUDIO_BROADCAST",
41
41
  "BROADCAST",
42
- "CANDIDATE_VIDEOS",
43
42
  "CANVAS",
44
43
  "CFC_VIDEO",
45
44
  "CMS_MEDIA_MANAGER",
@@ -66,6 +65,7 @@ module FacebookAds
66
65
  "FB_SHORTS",
67
66
  "FB_SHORTS_GROUP_POST",
68
67
  "FB_SHORTS_POST",
68
+ "FB_SHORTS_REMIX_POST",
69
69
  "FUNDRAISER_COVER_VIDEO",
70
70
  "GAME_CLIP",
71
71
  "GEMSTONE",
@@ -101,6 +101,7 @@ module FacebookAds
101
101
  "LOOK_NOW_DEPRECATED",
102
102
  "MARKETPLACE_LISTING_VIDEO",
103
103
  "MARKETPLACE_PRE_RECORDED_VIDEO",
104
+ "MESSENGER_WATCH_TOGETHER",
104
105
  "NEO_ASYNC_GAME_VIDEO",
105
106
  "NO_STORY",
106
107
  "NO_STORY_WITH_ENTPOST",
@@ -112,8 +113,11 @@ module FacebookAds
112
113
  "PAGE_SLIDESHOW_VIDEO",
113
114
  "PARTNER_DIRECTORY_BRAND_MEDIA",
114
115
  "PIXELCLOUD",
116
+ "PODCAST_HIGHLIGHT",
115
117
  "PODCAST_RSS",
118
+ "PODCAST_RSS_NO_NEWSFEED_STORY",
116
119
  "PODCAST_VOICES",
120
+ "PODCAST_VOICES_NO_NEWSFEED_STORY",
117
121
  "PREMIERE_SOURCE",
118
122
  "PREMIUM_MUSIC_VIDEO_NO_NEWSFEED_STORY",
119
123
  "PREMIUM_MUSIC_VIDEO_WITH_NEWSFEED_STORY",
@@ -135,6 +139,7 @@ module FacebookAds
135
139
  "SOUNDBITES_VIDEO",
136
140
  "SOUND_PLATFORM_STREAM",
137
141
  "SRT_ATTACHMENT",
142
+ "STAGES_BROADCAST",
138
143
  "STORIES_VIDEO",
139
144
  "STORYLINE",
140
145
  "STORYLINE_WITH_EXTERNAL_MUSIC",
@@ -142,6 +147,7 @@ module FacebookAds
142
147
  "STORY_CARD_TEMPLATE",
143
148
  "STREAM_HIGHLIGHTS_VIDEO",
144
149
  "TAROT_DIGEST",
150
+ "TEMPORARY_UNLISTED",
145
151
  "TEMP_MULTIMEDIA_POST",
146
152
  "UNLISTED",
147
153
  "UNLISTED_HACK_TV",
@@ -150,6 +156,7 @@ module FacebookAds
150
156
  "VIDEO_COMPOSITION_VARIATION",
151
157
  "VIDEO_CREATIVE_EDITOR_AUTOGEN_AD_VIDEO",
152
158
  "VIDEO_SUPERRES",
159
+ "VOICES_ARTICLE_VIDEO",
153
160
  "VU_GENERATED_VIDEO",
154
161
  "WOODHENGE",
155
162
  "WORK_KNOWLEDGE_VIDEO",
@@ -42,6 +42,7 @@ module FacebookAds
42
42
  field :dri_counterfeit, 'hash'
43
43
  field :facebook, 'hash'
44
44
  field :facebook_pages_live_shopping, 'hash'
45
+ field :independent_work, 'hash'
45
46
  field :instagram, 'hash'
46
47
  field :instagram_shop, 'hash'
47
48
  field :job_search, 'hash'
@@ -72,6 +72,10 @@ module FacebookAds
72
72
  edge.get
73
73
  end
74
74
 
75
+ has_edge :channels_to_integrity_status do |edge|
76
+ edge.get 'CatalogItemChannelsToIntegrityStatus'
77
+ end
78
+
75
79
  has_edge :videos_metadata do |edge|
76
80
  edge.get
77
81
  end
@@ -177,7 +177,6 @@ module FacebookAds
177
177
  field :cost_per_inline_post_engagement, 'string'
178
178
  field :cost_per_one_thousand_ad_impression, { list: 'AdsActionStats' }
179
179
  field :cost_per_outbound_click, { list: 'AdsActionStats' }
180
- field :cost_per_store_visit_action, { list: 'AdsActionStats' }
181
180
  field :cost_per_thruplay, { list: 'AdsActionStats' }
182
181
  field :cost_per_unique_action_type, { list: 'AdsActionStats' }
183
182
  field :cost_per_unique_click, 'string'
@@ -192,6 +191,7 @@ module FacebookAds
192
191
  field :date_start, 'string'
193
192
  field :date_stop, 'string'
194
193
  field :dda_countby_convs, 'string'
194
+ field :dda_results, { list: 'object' }
195
195
  field :engagement_rate_ranking, 'string'
196
196
  field :estimated_ad_recall_rate, 'string'
197
197
  field :estimated_ad_recall_rate_lower_bound, 'string'
@@ -209,7 +209,7 @@ module FacebookAds
209
209
  field :inline_post_engagement, 'string'
210
210
  field :instant_experience_clicks_to_open, 'string'
211
211
  field :instant_experience_clicks_to_start, 'string'
212
- field :instant_experience_outbound_clicks, 'string'
212
+ field :instant_experience_outbound_clicks, { list: 'AdsActionStats' }
213
213
  field :interactive_component_tap, { list: 'AdsActionStats' }
214
214
  field :labels, 'string'
215
215
  field :location, 'string'
@@ -228,7 +228,6 @@ module FacebookAds
228
228
  field :reach, 'string'
229
229
  field :social_spend, 'string'
230
230
  field :spend, 'string'
231
- field :store_visit_actions, { list: 'AdsActionStats' }
232
231
  field :unique_actions, { list: 'AdsActionStats' }
233
232
  field :unique_clicks, 'string'
234
233
  field :unique_conversions, { list: 'AdsActionStats' }
@@ -318,10 +318,6 @@ module FacebookAds
318
318
  edge.get
319
319
  end
320
320
 
321
- has_edge :app_event_types do |edge|
322
- edge.get
323
- end
324
-
325
321
  has_edge :app_indexing do |edge|
326
322
  edge.post 'Application' do |api|
327
323
  api.has_param :app_version, 'string'
@@ -576,6 +572,13 @@ module FacebookAds
576
572
  edge.get
577
573
  end
578
574
 
575
+ has_edge :send_notification do |edge|
576
+ edge.post do |api|
577
+ api.has_param :payload, 'string'
578
+ api.has_param :token_id, 'string'
579
+ end
580
+ end
581
+
579
582
  has_edge :subscribed_domains do |edge|
580
583
  edge.get
581
584
  edge.post 'Application' do |api|
@@ -43,5 +43,9 @@ module FacebookAds
43
43
  has_no_post
44
44
  has_no_delete
45
45
 
46
+ has_edge :update_records do |edge|
47
+ edge.get
48
+ end
49
+
46
50
  end
47
51
  end
@@ -96,6 +96,10 @@ module FacebookAds
96
96
  edge.get
97
97
  end
98
98
 
99
+ has_edge :channels_to_integrity_status do |edge|
100
+ edge.get 'CatalogItemChannelsToIntegrityStatus'
101
+ end
102
+
99
103
  has_edge :videos_metadata do |edge|
100
104
  edge.get
101
105
  end
@@ -60,8 +60,26 @@ module FacebookAds
60
60
  PERMITTED_TASKS = [
61
61
  "ADVERTISE",
62
62
  "ANALYZE",
63
- "DRAFT",
63
+ "CASHIER_ROLE",
64
+ "CREATE_CONTENT",
64
65
  "MANAGE",
66
+ "MANAGE_JOBS",
67
+ "MANAGE_LEADS",
68
+ "MESSAGING",
69
+ "MODERATE",
70
+ "MODERATE_COMMUNITY",
71
+ "PAGES_MESSAGING",
72
+ "PAGES_MESSAGING_SUBSCRIPTIONS",
73
+ "PROFILE_PLUS_ADVERTISE",
74
+ "PROFILE_PLUS_ANALYZE",
75
+ "PROFILE_PLUS_CREATE_CONTENT",
76
+ "PROFILE_PLUS_FACEBOOK_ACCESS",
77
+ "PROFILE_PLUS_FULL_CONTROL",
78
+ "PROFILE_PLUS_MANAGE",
79
+ "PROFILE_PLUS_MESSAGING",
80
+ "PROFILE_PLUS_MODERATE",
81
+ "READ_PAGE_MAILBOXES",
82
+ "VIEW_MONETIZATION_INSIGHTS",
65
83
  ]
66
84
 
67
85
  SURVEY_BUSINESS_TYPE = [
@@ -88,6 +106,7 @@ module FacebookAds
88
106
  "PROFILE_PLUS_ANALYZE",
89
107
  "PROFILE_PLUS_CREATE_CONTENT",
90
108
  "PROFILE_PLUS_FACEBOOK_ACCESS",
109
+ "PROFILE_PLUS_FULL_CONTROL",
91
110
  "PROFILE_PLUS_MANAGE",
92
111
  "PROFILE_PLUS_MESSAGING",
93
112
  "PROFILE_PLUS_MODERATE",
@@ -276,10 +295,6 @@ module FacebookAds
276
295
 
277
296
  has_edge :client_ad_accounts do |edge|
278
297
  edge.get 'AdAccount'
279
- edge.post 'Business' do |api|
280
- api.has_param :adaccount_id, 'string'
281
- api.has_param :permitted_tasks, { list: { enum: -> { Business::PERMITTED_TASKS }} }
282
- end
283
298
  end
284
299
 
285
300
  has_edge :client_apps do |edge|
@@ -391,20 +406,6 @@ module FacebookAds
391
406
  end
392
407
  end
393
408
 
394
- has_edge :franchise_programs do |edge|
395
- edge.post do |api|
396
- api.has_param :business_asset_group, 'string'
397
- api.has_param :creative_folder, 'string'
398
- api.has_param :creative_spec_template_data, 'hash'
399
- api.has_param :description, 'string'
400
- api.has_param :end_date, 'datetime'
401
- api.has_param :name, 'string'
402
- api.has_param :program_approval_type, { enum: %w{APPROVAL PUBLIC }}
403
- api.has_param :shared_custom_audience, 'string'
404
- api.has_param :start_date, 'datetime'
405
- end
406
- end
407
-
408
409
  has_edge :initiated_audience_sharing_requests do |edge|
409
410
  edge.get 'BusinessAssetSharingAgreement' do |api|
410
411
  api.has_param :recipient_id, 'string'
@@ -527,6 +528,7 @@ module FacebookAds
527
528
  api.has_param :flight_catalog_settings, 'hash'
528
529
  api.has_param :name, 'string'
529
530
  api.has_param :parent_catalog_id, 'string'
531
+ api.has_param :partner_integration, 'hash'
530
532
  api.has_param :store_catalog_settings, 'hash'
531
533
  api.has_param :vertical, { enum: -> { ProductCatalog::VERTICAL }}
532
534
  end
@@ -57,6 +57,7 @@ module FacebookAds
57
57
  "PROFILE_PLUS_ANALYZE",
58
58
  "PROFILE_PLUS_CREATE_CONTENT",
59
59
  "PROFILE_PLUS_FACEBOOK_ACCESS",
60
+ "PROFILE_PLUS_FULL_CONTROL",
60
61
  "PROFILE_PLUS_MANAGE",
61
62
  "PROFILE_PLUS_MESSAGING",
62
63
  "PROFILE_PLUS_MODERATE",
@@ -34,8 +34,10 @@ module FacebookAds
34
34
  field :is_hidden, 'bool'
35
35
  field :is_published, 'bool'
36
36
  field :last_editor, 'User'
37
+ field :linked_documents, { list: 'Canvas' }
37
38
  field :name, 'string'
38
39
  field :owner, 'Page'
40
+ field :source_template, 'CanvasTemplate'
39
41
  field :update_time, 'int'
40
42
 
41
43
  has_edge :duplicate_canvas do |edge|
@@ -0,0 +1,48 @@
1
+ # Copyright (c) 2017-present, Facebook, Inc. All rights reserved.
2
+ #
3
+ # You are hereby granted a non-exclusive, worldwide, royalty-free license to use,
4
+ # copy, modify, and distribute this software in source code or binary form for use
5
+ # in connection with the web services and APIs provided by Facebook.
6
+ #
7
+ # As with any software that integrates with the Facebook platform, your use of
8
+ # this software is subject to the Facebook Platform Policy
9
+ # [http://developers.facebook.com/policy/]. This copyright notice shall be
10
+ # included in all copies or substantial portions of the software.
11
+ #
12
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
13
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
14
+ # FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
15
+ # COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
16
+ # IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
17
+ # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
18
+
19
+ # FB:AUTOGEN
20
+
21
+ module FacebookAds
22
+ # This class is auto-generated.
23
+
24
+ # For any issues or feature requests related to this class, please let us know
25
+ # on github and we'll fix in our codegen framework. We'll not be able to accept
26
+ # pull request for this class.
27
+
28
+ class CanvasTemplate < AdObject
29
+
30
+ field :channels, 'map<string, map<string, string>>'
31
+ field :description, 'string'
32
+ field :document, 'Canvas'
33
+ field :id, 'string'
34
+ field :is_multi_tab_supportable, 'bool'
35
+ field :is_new, 'bool'
36
+ field :name, 'string'
37
+ field :objectives, 'hash'
38
+ field :owner_id, 'User'
39
+ field :required_capabilities, { list: 'string' }
40
+ field :snapshot_photo, 'Photo'
41
+ field :status, 'string'
42
+ field :sub_verticals, { list: 'string' }
43
+ field :verticals, 'hash'
44
+ has_no_post
45
+ has_no_delete
46
+
47
+ end
48
+ end