facebookbusiness 0.10.0.1 → 0.11.0.0

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 (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