@wevion/cli 1.0.3823 → 1.0.3826
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.
- package/openapi.json +1811 -352
- package/package.json +1 -1
package/openapi.json
CHANGED
|
@@ -5246,14 +5246,46 @@
|
|
|
5246
5246
|
]
|
|
5247
5247
|
}
|
|
5248
5248
|
},
|
|
5249
|
-
"/api/v1/ads/{
|
|
5250
|
-
"
|
|
5251
|
-
"operationId": "
|
|
5252
|
-
"summary": "
|
|
5249
|
+
"/api/v1/ads/{adId}/name": {
|
|
5250
|
+
"patch": {
|
|
5251
|
+
"operationId": "renameAd",
|
|
5252
|
+
"summary": "Rename an ad in-place",
|
|
5253
5253
|
"tags": [
|
|
5254
|
-
"
|
|
5254
|
+
"campaigns"
|
|
5255
5255
|
],
|
|
5256
|
-
"description": "
|
|
5256
|
+
"description": "Updates only the `name` field of a Meta ad (Graph API POST /<ad_id>). The creative is never touched: the existing way to change an ad's name was the creative editor, which re-sends the creative and can restart the learning phase on a delivering ad. Intended for the inline rename affordance in the ads list, so it is safe to wire to an optimistic update with rollback. Meta accepts 400 characters (measured 2026-09-12) and the schema rejects 401 rather than letting the call fail at Meta. Meta also allows one write per object every 30 seconds: this route renames one object per call, so a bulk version needs a spaced queue.",
|
|
5257
|
+
"requestBody": {
|
|
5258
|
+
"required": true,
|
|
5259
|
+
"content": {
|
|
5260
|
+
"application/json": {
|
|
5261
|
+
"schema": {
|
|
5262
|
+
"additionalProperties": false,
|
|
5263
|
+
"type": "object",
|
|
5264
|
+
"required": [
|
|
5265
|
+
"name",
|
|
5266
|
+
"account_id"
|
|
5267
|
+
],
|
|
5268
|
+
"properties": {
|
|
5269
|
+
"name": {
|
|
5270
|
+
"minLength": 1,
|
|
5271
|
+
"maxLength": 400,
|
|
5272
|
+
"type": "string"
|
|
5273
|
+
},
|
|
5274
|
+
"account_id": {
|
|
5275
|
+
"minLength": 1,
|
|
5276
|
+
"type": "string"
|
|
5277
|
+
},
|
|
5278
|
+
"platform": {
|
|
5279
|
+
"type": "string",
|
|
5280
|
+
"enum": [
|
|
5281
|
+
"meta"
|
|
5282
|
+
]
|
|
5283
|
+
}
|
|
5284
|
+
}
|
|
5285
|
+
}
|
|
5286
|
+
}
|
|
5287
|
+
}
|
|
5288
|
+
},
|
|
5257
5289
|
"parameters": [
|
|
5258
5290
|
{
|
|
5259
5291
|
"schema": {
|
|
@@ -5261,13 +5293,16 @@
|
|
|
5261
5293
|
"type": "string"
|
|
5262
5294
|
},
|
|
5263
5295
|
"in": "path",
|
|
5264
|
-
"name": "
|
|
5296
|
+
"name": "adId",
|
|
5265
5297
|
"required": true
|
|
5266
5298
|
}
|
|
5267
5299
|
],
|
|
5268
5300
|
"security": [
|
|
5269
5301
|
{
|
|
5270
5302
|
"bearerAuth": []
|
|
5303
|
+
},
|
|
5304
|
+
{
|
|
5305
|
+
"apiKeyAuth": []
|
|
5271
5306
|
}
|
|
5272
5307
|
],
|
|
5273
5308
|
"responses": {
|
|
@@ -5279,47 +5314,15 @@
|
|
|
5279
5314
|
"additionalProperties": false,
|
|
5280
5315
|
"type": "object",
|
|
5281
5316
|
"required": [
|
|
5282
|
-
"
|
|
5283
|
-
"
|
|
5317
|
+
"ad_id",
|
|
5318
|
+
"name"
|
|
5284
5319
|
],
|
|
5285
5320
|
"properties": {
|
|
5286
|
-
"
|
|
5287
|
-
"
|
|
5288
|
-
"description": "Arbitrary JSON value with nested arrays and objects."
|
|
5321
|
+
"ad_id": {
|
|
5322
|
+
"type": "string"
|
|
5289
5323
|
},
|
|
5290
|
-
"
|
|
5291
|
-
"
|
|
5292
|
-
{
|
|
5293
|
-
"type": "string",
|
|
5294
|
-
"enum": [
|
|
5295
|
-
"meta"
|
|
5296
|
-
]
|
|
5297
|
-
},
|
|
5298
|
-
{
|
|
5299
|
-
"type": "string",
|
|
5300
|
-
"enum": [
|
|
5301
|
-
"snapchat"
|
|
5302
|
-
]
|
|
5303
|
-
},
|
|
5304
|
-
{
|
|
5305
|
-
"type": "string",
|
|
5306
|
-
"enum": [
|
|
5307
|
-
"taboola"
|
|
5308
|
-
]
|
|
5309
|
-
},
|
|
5310
|
-
{
|
|
5311
|
-
"type": "string",
|
|
5312
|
-
"enum": [
|
|
5313
|
-
"google"
|
|
5314
|
-
]
|
|
5315
|
-
},
|
|
5316
|
-
{
|
|
5317
|
-
"type": "string",
|
|
5318
|
-
"enum": [
|
|
5319
|
-
"tiktok"
|
|
5320
|
-
]
|
|
5321
|
-
}
|
|
5322
|
-
]
|
|
5324
|
+
"name": {
|
|
5325
|
+
"type": "string"
|
|
5323
5326
|
}
|
|
5324
5327
|
}
|
|
5325
5328
|
}
|
|
@@ -5331,21 +5334,14 @@
|
|
|
5331
5334
|
"content": {
|
|
5332
5335
|
"application/json": {
|
|
5333
5336
|
"schema": {
|
|
5337
|
+
"additionalProperties": false,
|
|
5334
5338
|
"type": "object",
|
|
5335
5339
|
"required": [
|
|
5336
|
-
"error"
|
|
5337
|
-
"message",
|
|
5338
|
-
"statusCode"
|
|
5340
|
+
"error"
|
|
5339
5341
|
],
|
|
5340
5342
|
"properties": {
|
|
5341
5343
|
"error": {
|
|
5342
5344
|
"type": "string"
|
|
5343
|
-
},
|
|
5344
|
-
"message": {
|
|
5345
|
-
"type": "string"
|
|
5346
|
-
},
|
|
5347
|
-
"statusCode": {
|
|
5348
|
-
"type": "number"
|
|
5349
5345
|
}
|
|
5350
5346
|
}
|
|
5351
5347
|
}
|
|
@@ -5357,75 +5353,7 @@
|
|
|
5357
5353
|
"content": {
|
|
5358
5354
|
"application/json": {
|
|
5359
5355
|
"schema": {
|
|
5360
|
-
"
|
|
5361
|
-
"required": [
|
|
5362
|
-
"error",
|
|
5363
|
-
"message",
|
|
5364
|
-
"statusCode"
|
|
5365
|
-
],
|
|
5366
|
-
"properties": {
|
|
5367
|
-
"error": {
|
|
5368
|
-
"type": "string"
|
|
5369
|
-
},
|
|
5370
|
-
"message": {
|
|
5371
|
-
"type": "string"
|
|
5372
|
-
},
|
|
5373
|
-
"statusCode": {
|
|
5374
|
-
"type": "number"
|
|
5375
|
-
}
|
|
5376
|
-
}
|
|
5377
|
-
}
|
|
5378
|
-
}
|
|
5379
|
-
}
|
|
5380
|
-
},
|
|
5381
|
-
"404": {
|
|
5382
|
-
"description": "Resource not found",
|
|
5383
|
-
"content": {
|
|
5384
|
-
"application/json": {
|
|
5385
|
-
"schema": {
|
|
5386
|
-
"type": "object",
|
|
5387
|
-
"required": [
|
|
5388
|
-
"error",
|
|
5389
|
-
"message",
|
|
5390
|
-
"statusCode"
|
|
5391
|
-
],
|
|
5392
|
-
"properties": {
|
|
5393
|
-
"error": {
|
|
5394
|
-
"type": "string"
|
|
5395
|
-
},
|
|
5396
|
-
"message": {
|
|
5397
|
-
"type": "string"
|
|
5398
|
-
},
|
|
5399
|
-
"statusCode": {
|
|
5400
|
-
"type": "number"
|
|
5401
|
-
}
|
|
5402
|
-
}
|
|
5403
|
-
}
|
|
5404
|
-
}
|
|
5405
|
-
}
|
|
5406
|
-
},
|
|
5407
|
-
"422": {
|
|
5408
|
-
"description": "Unprocessable entity - semantic validation failed",
|
|
5409
|
-
"content": {
|
|
5410
|
-
"application/json": {
|
|
5411
|
-
"schema": {
|
|
5412
|
-
"type": "object",
|
|
5413
|
-
"required": [
|
|
5414
|
-
"error",
|
|
5415
|
-
"message",
|
|
5416
|
-
"statusCode"
|
|
5417
|
-
],
|
|
5418
|
-
"properties": {
|
|
5419
|
-
"error": {
|
|
5420
|
-
"type": "string"
|
|
5421
|
-
},
|
|
5422
|
-
"message": {
|
|
5423
|
-
"type": "string"
|
|
5424
|
-
},
|
|
5425
|
-
"statusCode": {
|
|
5426
|
-
"type": "number"
|
|
5427
|
-
}
|
|
5428
|
-
}
|
|
5356
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
5429
5357
|
}
|
|
5430
5358
|
}
|
|
5431
5359
|
}
|
|
@@ -5435,21 +5363,14 @@
|
|
|
5435
5363
|
"content": {
|
|
5436
5364
|
"application/json": {
|
|
5437
5365
|
"schema": {
|
|
5366
|
+
"additionalProperties": false,
|
|
5438
5367
|
"type": "object",
|
|
5439
5368
|
"required": [
|
|
5440
|
-
"error"
|
|
5441
|
-
"message",
|
|
5442
|
-
"statusCode"
|
|
5369
|
+
"error"
|
|
5443
5370
|
],
|
|
5444
5371
|
"properties": {
|
|
5445
5372
|
"error": {
|
|
5446
5373
|
"type": "string"
|
|
5447
|
-
},
|
|
5448
|
-
"message": {
|
|
5449
|
-
"type": "string"
|
|
5450
|
-
},
|
|
5451
|
-
"statusCode": {
|
|
5452
|
-
"type": "number"
|
|
5453
5374
|
}
|
|
5454
5375
|
}
|
|
5455
5376
|
}
|
|
@@ -5459,14 +5380,14 @@
|
|
|
5459
5380
|
}
|
|
5460
5381
|
}
|
|
5461
5382
|
},
|
|
5462
|
-
"/api/v1/
|
|
5383
|
+
"/api/v1/ads/{id}/edit-canonical": {
|
|
5463
5384
|
"post": {
|
|
5464
|
-
"operationId": "
|
|
5465
|
-
"summary": "Build an inline
|
|
5385
|
+
"operationId": "postApiV1AdsByIdEditCanonical",
|
|
5386
|
+
"summary": "Build an inline canonical campaign for the Edit Ad editor",
|
|
5466
5387
|
"tags": [
|
|
5467
5388
|
"ads"
|
|
5468
5389
|
],
|
|
5469
|
-
"description": "Resolves an existing ad
|
|
5390
|
+
"description": "Resolves an existing ad (Meta, Snapchat, Taboola, Google, or TikTok — creative/item, ad set, campaign, account) and returns an `ads_only` canonical campaign prefilled for the campaign-creator pro mode editor. No `campaign_draft` row is created — the editor keeps the canonical inline and posts it back to `/edit-publish` when the user clicks Publish.",
|
|
5470
5391
|
"parameters": [
|
|
5471
5392
|
{
|
|
5472
5393
|
"schema": {
|
|
@@ -5474,7 +5395,7 @@
|
|
|
5474
5395
|
"type": "string"
|
|
5475
5396
|
},
|
|
5476
5397
|
"in": "path",
|
|
5477
|
-
"name": "
|
|
5398
|
+
"name": "id",
|
|
5478
5399
|
"required": true
|
|
5479
5400
|
}
|
|
5480
5401
|
],
|
|
@@ -5672,14 +5593,14 @@
|
|
|
5672
5593
|
}
|
|
5673
5594
|
}
|
|
5674
5595
|
},
|
|
5675
|
-
"/api/v1/
|
|
5596
|
+
"/api/v1/adsets/{adsetId}/add-ad-canonical": {
|
|
5676
5597
|
"post": {
|
|
5677
|
-
"operationId": "
|
|
5678
|
-
"summary": "Build an inline
|
|
5598
|
+
"operationId": "postApiV1AdsetsByAdsetIdAddAdCanonical",
|
|
5599
|
+
"summary": "Build an inline empty-ad canonical campaign for the Add Ad editor",
|
|
5679
5600
|
"tags": [
|
|
5680
5601
|
"ads"
|
|
5681
5602
|
],
|
|
5682
|
-
"description": "Resolves an existing Meta
|
|
5603
|
+
"description": "Resolves an existing ad set (Meta, Snapchat, Taboola, Google, or TikTok — its parent campaign + account) and returns an `ads_only` canonical campaign with the campaign + ad set read-only and exactly one BLANK ad (no `platformId`) so the publish worker creates a brand-new ad under the reused campaign/ad set. No `campaign_draft` row is created — the editor keeps the canonical inline and posts it back to `/edit-publish`.",
|
|
5683
5604
|
"parameters": [
|
|
5684
5605
|
{
|
|
5685
5606
|
"schema": {
|
|
@@ -5687,7 +5608,7 @@
|
|
|
5687
5608
|
"type": "string"
|
|
5688
5609
|
},
|
|
5689
5610
|
"in": "path",
|
|
5690
|
-
"name": "
|
|
5611
|
+
"name": "adsetId",
|
|
5691
5612
|
"required": true
|
|
5692
5613
|
}
|
|
5693
5614
|
],
|
|
@@ -5714,9 +5635,37 @@
|
|
|
5714
5635
|
"description": "Arbitrary JSON value with nested arrays and objects."
|
|
5715
5636
|
},
|
|
5716
5637
|
"platform": {
|
|
5717
|
-
"
|
|
5718
|
-
|
|
5719
|
-
|
|
5638
|
+
"anyOf": [
|
|
5639
|
+
{
|
|
5640
|
+
"type": "string",
|
|
5641
|
+
"enum": [
|
|
5642
|
+
"meta"
|
|
5643
|
+
]
|
|
5644
|
+
},
|
|
5645
|
+
{
|
|
5646
|
+
"type": "string",
|
|
5647
|
+
"enum": [
|
|
5648
|
+
"snapchat"
|
|
5649
|
+
]
|
|
5650
|
+
},
|
|
5651
|
+
{
|
|
5652
|
+
"type": "string",
|
|
5653
|
+
"enum": [
|
|
5654
|
+
"taboola"
|
|
5655
|
+
]
|
|
5656
|
+
},
|
|
5657
|
+
{
|
|
5658
|
+
"type": "string",
|
|
5659
|
+
"enum": [
|
|
5660
|
+
"google"
|
|
5661
|
+
]
|
|
5662
|
+
},
|
|
5663
|
+
{
|
|
5664
|
+
"type": "string",
|
|
5665
|
+
"enum": [
|
|
5666
|
+
"tiktok"
|
|
5667
|
+
]
|
|
5668
|
+
}
|
|
5720
5669
|
]
|
|
5721
5670
|
}
|
|
5722
5671
|
}
|
|
@@ -5857,14 +5806,14 @@
|
|
|
5857
5806
|
}
|
|
5858
5807
|
}
|
|
5859
5808
|
},
|
|
5860
|
-
"/api/v1/
|
|
5809
|
+
"/api/v1/campaigns/{campaignId}/add-adset-canonical": {
|
|
5861
5810
|
"post": {
|
|
5862
|
-
"operationId": "
|
|
5863
|
-
"summary": "Build an inline
|
|
5811
|
+
"operationId": "postApiV1CampaignsByCampaignIdAddAdsetCanonical",
|
|
5812
|
+
"summary": "Build an inline add-ad-set canonical campaign for the Add Ad Set editor",
|
|
5864
5813
|
"tags": [
|
|
5865
5814
|
"ads"
|
|
5866
5815
|
],
|
|
5867
|
-
"description": "
|
|
5816
|
+
"description": "Resolves an existing Meta campaign (its account + business + default page) and returns an `add_adset` canonical campaign with the campaign read-only and exactly one BRAND-NEW ad set (no `platformId`) carrying one BLANK ad, so the publish worker creates a new ad set under the live campaign. No `campaign_draft` row is created — the editor keeps the canonical inline and posts it back to `/campaigns/:campaignId/add-adset-publish`. Meta only.",
|
|
5868
5817
|
"parameters": [
|
|
5869
5818
|
{
|
|
5870
5819
|
"schema": {
|
|
@@ -5872,7 +5821,7 @@
|
|
|
5872
5821
|
"type": "string"
|
|
5873
5822
|
},
|
|
5874
5823
|
"in": "path",
|
|
5875
|
-
"name": "
|
|
5824
|
+
"name": "campaignId",
|
|
5876
5825
|
"required": true
|
|
5877
5826
|
}
|
|
5878
5827
|
],
|
|
@@ -6038,32 +5987,217 @@
|
|
|
6038
5987
|
}
|
|
6039
5988
|
}
|
|
6040
5989
|
}
|
|
6041
|
-
}
|
|
6042
|
-
|
|
6043
|
-
|
|
6044
|
-
|
|
6045
|
-
|
|
6046
|
-
|
|
6047
|
-
|
|
6048
|
-
|
|
6049
|
-
|
|
6050
|
-
|
|
6051
|
-
|
|
6052
|
-
|
|
6053
|
-
|
|
6054
|
-
|
|
6055
|
-
|
|
6056
|
-
|
|
6057
|
-
|
|
6058
|
-
|
|
6059
|
-
|
|
6060
|
-
|
|
6061
|
-
|
|
6062
|
-
|
|
6063
|
-
|
|
6064
|
-
|
|
6065
|
-
|
|
6066
|
-
|
|
5990
|
+
}
|
|
5991
|
+
}
|
|
5992
|
+
}
|
|
5993
|
+
},
|
|
5994
|
+
"/api/v1/adsets/{adsetId}/duplicate-canonical": {
|
|
5995
|
+
"post": {
|
|
5996
|
+
"operationId": "postApiV1AdsetsByAdsetIdDuplicateCanonical",
|
|
5997
|
+
"summary": "Build an inline duplicate-ad-set canonical campaign for the editor",
|
|
5998
|
+
"tags": [
|
|
5999
|
+
"ads"
|
|
6000
|
+
],
|
|
6001
|
+
"description": "Reads an existing Meta ad set (and its ads) and returns an `add_adset` canonical campaign that DUPLICATES it: the parent campaign is reused (read-only) and the ad set + ads are BRAND-NEW (no platformId). The editor edits any field, then posts it back to /campaigns/:campaignId/add-adset-publish which CREATES the new ad set under the live campaign. Mirrors Meta duplicate→editor. No draft row. Meta only.",
|
|
6002
|
+
"parameters": [
|
|
6003
|
+
{
|
|
6004
|
+
"schema": {
|
|
6005
|
+
"minLength": 1,
|
|
6006
|
+
"type": "string"
|
|
6007
|
+
},
|
|
6008
|
+
"in": "path",
|
|
6009
|
+
"name": "adsetId",
|
|
6010
|
+
"required": true
|
|
6011
|
+
}
|
|
6012
|
+
],
|
|
6013
|
+
"security": [
|
|
6014
|
+
{
|
|
6015
|
+
"bearerAuth": []
|
|
6016
|
+
}
|
|
6017
|
+
],
|
|
6018
|
+
"responses": {
|
|
6019
|
+
"200": {
|
|
6020
|
+
"description": "Successful response",
|
|
6021
|
+
"content": {
|
|
6022
|
+
"application/json": {
|
|
6023
|
+
"schema": {
|
|
6024
|
+
"additionalProperties": false,
|
|
6025
|
+
"type": "object",
|
|
6026
|
+
"required": [
|
|
6027
|
+
"canonical",
|
|
6028
|
+
"platform"
|
|
6029
|
+
],
|
|
6030
|
+
"properties": {
|
|
6031
|
+
"canonical": {
|
|
6032
|
+
"$comment": "json-value",
|
|
6033
|
+
"description": "Arbitrary JSON value with nested arrays and objects."
|
|
6034
|
+
},
|
|
6035
|
+
"platform": {
|
|
6036
|
+
"type": "string",
|
|
6037
|
+
"enum": [
|
|
6038
|
+
"meta"
|
|
6039
|
+
]
|
|
6040
|
+
}
|
|
6041
|
+
}
|
|
6042
|
+
}
|
|
6043
|
+
}
|
|
6044
|
+
}
|
|
6045
|
+
},
|
|
6046
|
+
"400": {
|
|
6047
|
+
"description": "Invalid request - schema validation failed",
|
|
6048
|
+
"content": {
|
|
6049
|
+
"application/json": {
|
|
6050
|
+
"schema": {
|
|
6051
|
+
"type": "object",
|
|
6052
|
+
"required": [
|
|
6053
|
+
"error",
|
|
6054
|
+
"message",
|
|
6055
|
+
"statusCode"
|
|
6056
|
+
],
|
|
6057
|
+
"properties": {
|
|
6058
|
+
"error": {
|
|
6059
|
+
"type": "string"
|
|
6060
|
+
},
|
|
6061
|
+
"message": {
|
|
6062
|
+
"type": "string"
|
|
6063
|
+
},
|
|
6064
|
+
"statusCode": {
|
|
6065
|
+
"type": "number"
|
|
6066
|
+
}
|
|
6067
|
+
}
|
|
6068
|
+
}
|
|
6069
|
+
}
|
|
6070
|
+
}
|
|
6071
|
+
},
|
|
6072
|
+
"401": {
|
|
6073
|
+
"description": "Unauthorized - missing or invalid bearer token",
|
|
6074
|
+
"content": {
|
|
6075
|
+
"application/json": {
|
|
6076
|
+
"schema": {
|
|
6077
|
+
"type": "object",
|
|
6078
|
+
"required": [
|
|
6079
|
+
"error",
|
|
6080
|
+
"message",
|
|
6081
|
+
"statusCode"
|
|
6082
|
+
],
|
|
6083
|
+
"properties": {
|
|
6084
|
+
"error": {
|
|
6085
|
+
"type": "string"
|
|
6086
|
+
},
|
|
6087
|
+
"message": {
|
|
6088
|
+
"type": "string"
|
|
6089
|
+
},
|
|
6090
|
+
"statusCode": {
|
|
6091
|
+
"type": "number"
|
|
6092
|
+
}
|
|
6093
|
+
}
|
|
6094
|
+
}
|
|
6095
|
+
}
|
|
6096
|
+
}
|
|
6097
|
+
},
|
|
6098
|
+
"404": {
|
|
6099
|
+
"description": "Resource not found",
|
|
6100
|
+
"content": {
|
|
6101
|
+
"application/json": {
|
|
6102
|
+
"schema": {
|
|
6103
|
+
"type": "object",
|
|
6104
|
+
"required": [
|
|
6105
|
+
"error",
|
|
6106
|
+
"message",
|
|
6107
|
+
"statusCode"
|
|
6108
|
+
],
|
|
6109
|
+
"properties": {
|
|
6110
|
+
"error": {
|
|
6111
|
+
"type": "string"
|
|
6112
|
+
},
|
|
6113
|
+
"message": {
|
|
6114
|
+
"type": "string"
|
|
6115
|
+
},
|
|
6116
|
+
"statusCode": {
|
|
6117
|
+
"type": "number"
|
|
6118
|
+
}
|
|
6119
|
+
}
|
|
6120
|
+
}
|
|
6121
|
+
}
|
|
6122
|
+
}
|
|
6123
|
+
},
|
|
6124
|
+
"422": {
|
|
6125
|
+
"description": "Unprocessable entity - semantic validation failed",
|
|
6126
|
+
"content": {
|
|
6127
|
+
"application/json": {
|
|
6128
|
+
"schema": {
|
|
6129
|
+
"type": "object",
|
|
6130
|
+
"required": [
|
|
6131
|
+
"error",
|
|
6132
|
+
"message",
|
|
6133
|
+
"statusCode"
|
|
6134
|
+
],
|
|
6135
|
+
"properties": {
|
|
6136
|
+
"error": {
|
|
6137
|
+
"type": "string"
|
|
6138
|
+
},
|
|
6139
|
+
"message": {
|
|
6140
|
+
"type": "string"
|
|
6141
|
+
},
|
|
6142
|
+
"statusCode": {
|
|
6143
|
+
"type": "number"
|
|
6144
|
+
}
|
|
6145
|
+
}
|
|
6146
|
+
}
|
|
6147
|
+
}
|
|
6148
|
+
}
|
|
6149
|
+
},
|
|
6150
|
+
"500": {
|
|
6151
|
+
"description": "Internal server error",
|
|
6152
|
+
"content": {
|
|
6153
|
+
"application/json": {
|
|
6154
|
+
"schema": {
|
|
6155
|
+
"type": "object",
|
|
6156
|
+
"required": [
|
|
6157
|
+
"error",
|
|
6158
|
+
"message",
|
|
6159
|
+
"statusCode"
|
|
6160
|
+
],
|
|
6161
|
+
"properties": {
|
|
6162
|
+
"error": {
|
|
6163
|
+
"type": "string"
|
|
6164
|
+
},
|
|
6165
|
+
"message": {
|
|
6166
|
+
"type": "string"
|
|
6167
|
+
},
|
|
6168
|
+
"statusCode": {
|
|
6169
|
+
"type": "number"
|
|
6170
|
+
}
|
|
6171
|
+
}
|
|
6172
|
+
}
|
|
6173
|
+
}
|
|
6174
|
+
}
|
|
6175
|
+
},
|
|
6176
|
+
"503": {
|
|
6177
|
+
"description": "Service unavailable",
|
|
6178
|
+
"content": {
|
|
6179
|
+
"application/json": {
|
|
6180
|
+
"schema": {
|
|
6181
|
+
"type": "object",
|
|
6182
|
+
"required": [
|
|
6183
|
+
"error",
|
|
6184
|
+
"message",
|
|
6185
|
+
"statusCode"
|
|
6186
|
+
],
|
|
6187
|
+
"properties": {
|
|
6188
|
+
"error": {
|
|
6189
|
+
"type": "string"
|
|
6190
|
+
},
|
|
6191
|
+
"message": {
|
|
6192
|
+
"type": "string"
|
|
6193
|
+
},
|
|
6194
|
+
"statusCode": {
|
|
6195
|
+
"type": "number"
|
|
6196
|
+
}
|
|
6197
|
+
}
|
|
6198
|
+
}
|
|
6199
|
+
}
|
|
6200
|
+
}
|
|
6067
6201
|
}
|
|
6068
6202
|
}
|
|
6069
6203
|
}
|
|
@@ -15958,7 +16092,9 @@
|
|
|
15958
16092
|
"last_request",
|
|
15959
16093
|
"expires_at",
|
|
15960
16094
|
"created_at",
|
|
15961
|
-
"updated_at"
|
|
16095
|
+
"updated_at",
|
|
16096
|
+
"team_id",
|
|
16097
|
+
"team_name"
|
|
15962
16098
|
],
|
|
15963
16099
|
"properties": {
|
|
15964
16100
|
"id": {
|
|
@@ -16032,6 +16168,26 @@
|
|
|
16032
16168
|
},
|
|
16033
16169
|
"updated_at": {
|
|
16034
16170
|
"type": "string"
|
|
16171
|
+
},
|
|
16172
|
+
"team_id": {
|
|
16173
|
+
"anyOf": [
|
|
16174
|
+
{
|
|
16175
|
+
"type": "string"
|
|
16176
|
+
},
|
|
16177
|
+
{
|
|
16178
|
+
"type": "null"
|
|
16179
|
+
}
|
|
16180
|
+
]
|
|
16181
|
+
},
|
|
16182
|
+
"team_name": {
|
|
16183
|
+
"anyOf": [
|
|
16184
|
+
{
|
|
16185
|
+
"type": "string"
|
|
16186
|
+
},
|
|
16187
|
+
{
|
|
16188
|
+
"type": "null"
|
|
16189
|
+
}
|
|
16190
|
+
]
|
|
16035
16191
|
}
|
|
16036
16192
|
}
|
|
16037
16193
|
}
|
|
@@ -16088,7 +16244,7 @@
|
|
|
16088
16244
|
"tags": [
|
|
16089
16245
|
"api-keys"
|
|
16090
16246
|
],
|
|
16091
|
-
"description": "Generates a new M2M API key. The plain-text key is returned exactly ONCE.",
|
|
16247
|
+
"description": "Generates a new M2M API key. The plain-text key is returned exactly ONCE. Send `x-team-id` (or an `x-active-scope: team:<id>`) to bind the key to a specific workspace. That binding is what an MCP session started with this key runs in, and it is echoed back as `team_id`. Without a declared scope the key is bound only when the caller has exactly one accessible workspace; otherwise `team_id` is null and no workspace is guessed.",
|
|
16092
16248
|
"requestBody": {
|
|
16093
16249
|
"required": true,
|
|
16094
16250
|
"content": {
|
|
@@ -16145,7 +16301,8 @@
|
|
|
16145
16301
|
"prefix",
|
|
16146
16302
|
"permissions",
|
|
16147
16303
|
"expires_at",
|
|
16148
|
-
"created_at"
|
|
16304
|
+
"created_at",
|
|
16305
|
+
"team_id"
|
|
16149
16306
|
],
|
|
16150
16307
|
"properties": {
|
|
16151
16308
|
"id": {
|
|
@@ -16206,6 +16363,16 @@
|
|
|
16206
16363
|
},
|
|
16207
16364
|
"created_at": {
|
|
16208
16365
|
"type": "string"
|
|
16366
|
+
},
|
|
16367
|
+
"team_id": {
|
|
16368
|
+
"anyOf": [
|
|
16369
|
+
{
|
|
16370
|
+
"type": "string"
|
|
16371
|
+
},
|
|
16372
|
+
{
|
|
16373
|
+
"type": "null"
|
|
16374
|
+
}
|
|
16375
|
+
]
|
|
16209
16376
|
}
|
|
16210
16377
|
}
|
|
16211
16378
|
}
|
|
@@ -16462,7 +16629,9 @@
|
|
|
16462
16629
|
"last_request",
|
|
16463
16630
|
"expires_at",
|
|
16464
16631
|
"created_at",
|
|
16465
|
-
"updated_at"
|
|
16632
|
+
"updated_at",
|
|
16633
|
+
"team_id",
|
|
16634
|
+
"team_name"
|
|
16466
16635
|
],
|
|
16467
16636
|
"properties": {
|
|
16468
16637
|
"id": {
|
|
@@ -16536,6 +16705,26 @@
|
|
|
16536
16705
|
},
|
|
16537
16706
|
"updated_at": {
|
|
16538
16707
|
"type": "string"
|
|
16708
|
+
},
|
|
16709
|
+
"team_id": {
|
|
16710
|
+
"anyOf": [
|
|
16711
|
+
{
|
|
16712
|
+
"type": "string"
|
|
16713
|
+
},
|
|
16714
|
+
{
|
|
16715
|
+
"type": "null"
|
|
16716
|
+
}
|
|
16717
|
+
]
|
|
16718
|
+
},
|
|
16719
|
+
"team_name": {
|
|
16720
|
+
"anyOf": [
|
|
16721
|
+
{
|
|
16722
|
+
"type": "string"
|
|
16723
|
+
},
|
|
16724
|
+
{
|
|
16725
|
+
"type": "null"
|
|
16726
|
+
}
|
|
16727
|
+
]
|
|
16539
16728
|
}
|
|
16540
16729
|
}
|
|
16541
16730
|
}
|
|
@@ -19418,6 +19607,31 @@
|
|
|
19418
19607
|
}
|
|
19419
19608
|
}
|
|
19420
19609
|
},
|
|
19610
|
+
"422": {
|
|
19611
|
+
"description": "Unprocessable entity - semantic validation failed",
|
|
19612
|
+
"content": {
|
|
19613
|
+
"application/json": {
|
|
19614
|
+
"schema": {
|
|
19615
|
+
"additionalProperties": true,
|
|
19616
|
+
"type": "object",
|
|
19617
|
+
"required": [
|
|
19618
|
+
"error"
|
|
19619
|
+
],
|
|
19620
|
+
"properties": {
|
|
19621
|
+
"error": {
|
|
19622
|
+
"type": "string"
|
|
19623
|
+
},
|
|
19624
|
+
"statusCode": {
|
|
19625
|
+
"type": "integer"
|
|
19626
|
+
},
|
|
19627
|
+
"message": {
|
|
19628
|
+
"type": "string"
|
|
19629
|
+
}
|
|
19630
|
+
}
|
|
19631
|
+
}
|
|
19632
|
+
}
|
|
19633
|
+
}
|
|
19634
|
+
},
|
|
19421
19635
|
"500": {
|
|
19422
19636
|
"description": "Internal server error",
|
|
19423
19637
|
"content": {
|
|
@@ -47291,7 +47505,7 @@
|
|
|
47291
47505
|
"tags": [
|
|
47292
47506
|
"campaigns"
|
|
47293
47507
|
],
|
|
47294
|
-
"description": "Creates a new campaign draft with the given name, ad account, and canonical campaign structure.",
|
|
47508
|
+
"description": "Creates a new campaign draft with the given name, ad account, and canonical campaign structure. `adSets[].commentModerationFilter` is accepted only while the runtime flag `ad_comments_control_enabled` is on for the caller: with the flag off the field is DROPPED from the body and the draft is saved without it (no error — a save must not fail on a flag).",
|
|
47295
47509
|
"requestBody": {
|
|
47296
47510
|
"required": true,
|
|
47297
47511
|
"content": {
|
|
@@ -49303,6 +49517,78 @@
|
|
|
49303
49517
|
}
|
|
49304
49518
|
]
|
|
49305
49519
|
},
|
|
49520
|
+
"commentModerationFilter": {
|
|
49521
|
+
"anyOf": [
|
|
49522
|
+
{
|
|
49523
|
+
"description": "Meta ad-set comment moderation — who may comment on the ads of this ad set. One of: AD_DISABLED, AD_FOLLOWER, DEFAULT, FOLLOWED, FOLLOWER, FRIENDS, FRIENDS_AND_FOLLOWERS, FRIENDS_OF_FRIENDS, SUBSCRIBED, TAGGED. AD_DISABLED turns comments off (and hides the comments already there); DEFAULT lets everyone comment. Omit the field to leave the ad set as it is. Meta refuses to turn comments off on social issues, elections or politics ads.",
|
|
49524
|
+
"anyOf": [
|
|
49525
|
+
{
|
|
49526
|
+
"type": "string",
|
|
49527
|
+
"enum": [
|
|
49528
|
+
"AD_DISABLED"
|
|
49529
|
+
]
|
|
49530
|
+
},
|
|
49531
|
+
{
|
|
49532
|
+
"type": "string",
|
|
49533
|
+
"enum": [
|
|
49534
|
+
"AD_FOLLOWER"
|
|
49535
|
+
]
|
|
49536
|
+
},
|
|
49537
|
+
{
|
|
49538
|
+
"type": "string",
|
|
49539
|
+
"enum": [
|
|
49540
|
+
"DEFAULT"
|
|
49541
|
+
]
|
|
49542
|
+
},
|
|
49543
|
+
{
|
|
49544
|
+
"type": "string",
|
|
49545
|
+
"enum": [
|
|
49546
|
+
"FOLLOWED"
|
|
49547
|
+
]
|
|
49548
|
+
},
|
|
49549
|
+
{
|
|
49550
|
+
"type": "string",
|
|
49551
|
+
"enum": [
|
|
49552
|
+
"FOLLOWER"
|
|
49553
|
+
]
|
|
49554
|
+
},
|
|
49555
|
+
{
|
|
49556
|
+
"type": "string",
|
|
49557
|
+
"enum": [
|
|
49558
|
+
"FRIENDS"
|
|
49559
|
+
]
|
|
49560
|
+
},
|
|
49561
|
+
{
|
|
49562
|
+
"type": "string",
|
|
49563
|
+
"enum": [
|
|
49564
|
+
"FRIENDS_AND_FOLLOWERS"
|
|
49565
|
+
]
|
|
49566
|
+
},
|
|
49567
|
+
{
|
|
49568
|
+
"type": "string",
|
|
49569
|
+
"enum": [
|
|
49570
|
+
"FRIENDS_OF_FRIENDS"
|
|
49571
|
+
]
|
|
49572
|
+
},
|
|
49573
|
+
{
|
|
49574
|
+
"type": "string",
|
|
49575
|
+
"enum": [
|
|
49576
|
+
"SUBSCRIBED"
|
|
49577
|
+
]
|
|
49578
|
+
},
|
|
49579
|
+
{
|
|
49580
|
+
"type": "string",
|
|
49581
|
+
"enum": [
|
|
49582
|
+
"TAGGED"
|
|
49583
|
+
]
|
|
49584
|
+
}
|
|
49585
|
+
]
|
|
49586
|
+
},
|
|
49587
|
+
{
|
|
49588
|
+
"type": "null"
|
|
49589
|
+
}
|
|
49590
|
+
]
|
|
49591
|
+
},
|
|
49306
49592
|
"customAudiences": {
|
|
49307
49593
|
"anyOf": [
|
|
49308
49594
|
{
|
|
@@ -49934,6 +50220,19 @@
|
|
|
49934
50220
|
}
|
|
49935
50221
|
]
|
|
49936
50222
|
},
|
|
50223
|
+
"browsers": {
|
|
50224
|
+
"anyOf": [
|
|
50225
|
+
{
|
|
50226
|
+
"type": "array",
|
|
50227
|
+
"items": {
|
|
50228
|
+
"type": "string"
|
|
50229
|
+
}
|
|
50230
|
+
},
|
|
50231
|
+
{
|
|
50232
|
+
"type": "null"
|
|
50233
|
+
}
|
|
50234
|
+
]
|
|
50235
|
+
},
|
|
49937
50236
|
"countries": {
|
|
49938
50237
|
"anyOf": [
|
|
49939
50238
|
{
|
|
@@ -49947,6 +50246,19 @@
|
|
|
49947
50246
|
}
|
|
49948
50247
|
]
|
|
49949
50248
|
},
|
|
50249
|
+
"desktopOs": {
|
|
50250
|
+
"anyOf": [
|
|
50251
|
+
{
|
|
50252
|
+
"type": "array",
|
|
50253
|
+
"items": {
|
|
50254
|
+
"type": "string"
|
|
50255
|
+
}
|
|
50256
|
+
},
|
|
50257
|
+
{
|
|
50258
|
+
"type": "null"
|
|
50259
|
+
}
|
|
50260
|
+
]
|
|
50261
|
+
},
|
|
49950
50262
|
"devicePlatforms": {
|
|
49951
50263
|
"anyOf": [
|
|
49952
50264
|
{
|
|
@@ -51708,7 +52020,7 @@
|
|
|
51708
52020
|
"tags": [
|
|
51709
52021
|
"campaigns"
|
|
51710
52022
|
],
|
|
51711
|
-
"description": "Partially updates a campaign draft using deep merge, enabling auto-save of individual fields.",
|
|
52023
|
+
"description": "Partially updates a campaign draft using deep merge, enabling auto-save of individual fields. `adSets[].commentModerationFilter` is accepted only while the runtime flag `ad_comments_control_enabled` is on for the caller: with the flag off the field is DROPPED from the body and the rest of the save goes through, so an auto-save never fails on a flag.",
|
|
51712
52024
|
"requestBody": {
|
|
51713
52025
|
"required": true,
|
|
51714
52026
|
"content": {
|
|
@@ -53717,6 +54029,78 @@
|
|
|
53717
54029
|
}
|
|
53718
54030
|
]
|
|
53719
54031
|
},
|
|
54032
|
+
"commentModerationFilter": {
|
|
54033
|
+
"anyOf": [
|
|
54034
|
+
{
|
|
54035
|
+
"description": "Meta ad-set comment moderation — who may comment on the ads of this ad set. One of: AD_DISABLED, AD_FOLLOWER, DEFAULT, FOLLOWED, FOLLOWER, FRIENDS, FRIENDS_AND_FOLLOWERS, FRIENDS_OF_FRIENDS, SUBSCRIBED, TAGGED. AD_DISABLED turns comments off (and hides the comments already there); DEFAULT lets everyone comment. Omit the field to leave the ad set as it is. Meta refuses to turn comments off on social issues, elections or politics ads.",
|
|
54036
|
+
"anyOf": [
|
|
54037
|
+
{
|
|
54038
|
+
"type": "string",
|
|
54039
|
+
"enum": [
|
|
54040
|
+
"AD_DISABLED"
|
|
54041
|
+
]
|
|
54042
|
+
},
|
|
54043
|
+
{
|
|
54044
|
+
"type": "string",
|
|
54045
|
+
"enum": [
|
|
54046
|
+
"AD_FOLLOWER"
|
|
54047
|
+
]
|
|
54048
|
+
},
|
|
54049
|
+
{
|
|
54050
|
+
"type": "string",
|
|
54051
|
+
"enum": [
|
|
54052
|
+
"DEFAULT"
|
|
54053
|
+
]
|
|
54054
|
+
},
|
|
54055
|
+
{
|
|
54056
|
+
"type": "string",
|
|
54057
|
+
"enum": [
|
|
54058
|
+
"FOLLOWED"
|
|
54059
|
+
]
|
|
54060
|
+
},
|
|
54061
|
+
{
|
|
54062
|
+
"type": "string",
|
|
54063
|
+
"enum": [
|
|
54064
|
+
"FOLLOWER"
|
|
54065
|
+
]
|
|
54066
|
+
},
|
|
54067
|
+
{
|
|
54068
|
+
"type": "string",
|
|
54069
|
+
"enum": [
|
|
54070
|
+
"FRIENDS"
|
|
54071
|
+
]
|
|
54072
|
+
},
|
|
54073
|
+
{
|
|
54074
|
+
"type": "string",
|
|
54075
|
+
"enum": [
|
|
54076
|
+
"FRIENDS_AND_FOLLOWERS"
|
|
54077
|
+
]
|
|
54078
|
+
},
|
|
54079
|
+
{
|
|
54080
|
+
"type": "string",
|
|
54081
|
+
"enum": [
|
|
54082
|
+
"FRIENDS_OF_FRIENDS"
|
|
54083
|
+
]
|
|
54084
|
+
},
|
|
54085
|
+
{
|
|
54086
|
+
"type": "string",
|
|
54087
|
+
"enum": [
|
|
54088
|
+
"SUBSCRIBED"
|
|
54089
|
+
]
|
|
54090
|
+
},
|
|
54091
|
+
{
|
|
54092
|
+
"type": "string",
|
|
54093
|
+
"enum": [
|
|
54094
|
+
"TAGGED"
|
|
54095
|
+
]
|
|
54096
|
+
}
|
|
54097
|
+
]
|
|
54098
|
+
},
|
|
54099
|
+
{
|
|
54100
|
+
"type": "null"
|
|
54101
|
+
}
|
|
54102
|
+
]
|
|
54103
|
+
},
|
|
53720
54104
|
"customAudiences": {
|
|
53721
54105
|
"anyOf": [
|
|
53722
54106
|
{
|
|
@@ -54348,6 +54732,19 @@
|
|
|
54348
54732
|
}
|
|
54349
54733
|
]
|
|
54350
54734
|
},
|
|
54735
|
+
"browsers": {
|
|
54736
|
+
"anyOf": [
|
|
54737
|
+
{
|
|
54738
|
+
"type": "array",
|
|
54739
|
+
"items": {
|
|
54740
|
+
"type": "string"
|
|
54741
|
+
}
|
|
54742
|
+
},
|
|
54743
|
+
{
|
|
54744
|
+
"type": "null"
|
|
54745
|
+
}
|
|
54746
|
+
]
|
|
54747
|
+
},
|
|
54351
54748
|
"countries": {
|
|
54352
54749
|
"anyOf": [
|
|
54353
54750
|
{
|
|
@@ -54361,6 +54758,19 @@
|
|
|
54361
54758
|
}
|
|
54362
54759
|
]
|
|
54363
54760
|
},
|
|
54761
|
+
"desktopOs": {
|
|
54762
|
+
"anyOf": [
|
|
54763
|
+
{
|
|
54764
|
+
"type": "array",
|
|
54765
|
+
"items": {
|
|
54766
|
+
"type": "string"
|
|
54767
|
+
}
|
|
54768
|
+
},
|
|
54769
|
+
{
|
|
54770
|
+
"type": "null"
|
|
54771
|
+
}
|
|
54772
|
+
]
|
|
54773
|
+
},
|
|
54364
54774
|
"devicePlatforms": {
|
|
54365
54775
|
"anyOf": [
|
|
54366
54776
|
{
|
|
@@ -58032,6 +58442,78 @@
|
|
|
58032
58442
|
}
|
|
58033
58443
|
]
|
|
58034
58444
|
},
|
|
58445
|
+
"commentModerationFilter": {
|
|
58446
|
+
"anyOf": [
|
|
58447
|
+
{
|
|
58448
|
+
"description": "Meta ad-set comment moderation — who may comment on the ads of this ad set. One of: AD_DISABLED, AD_FOLLOWER, DEFAULT, FOLLOWED, FOLLOWER, FRIENDS, FRIENDS_AND_FOLLOWERS, FRIENDS_OF_FRIENDS, SUBSCRIBED, TAGGED. AD_DISABLED turns comments off (and hides the comments already there); DEFAULT lets everyone comment. Omit the field to leave the ad set as it is. Meta refuses to turn comments off on social issues, elections or politics ads.",
|
|
58449
|
+
"anyOf": [
|
|
58450
|
+
{
|
|
58451
|
+
"type": "string",
|
|
58452
|
+
"enum": [
|
|
58453
|
+
"AD_DISABLED"
|
|
58454
|
+
]
|
|
58455
|
+
},
|
|
58456
|
+
{
|
|
58457
|
+
"type": "string",
|
|
58458
|
+
"enum": [
|
|
58459
|
+
"AD_FOLLOWER"
|
|
58460
|
+
]
|
|
58461
|
+
},
|
|
58462
|
+
{
|
|
58463
|
+
"type": "string",
|
|
58464
|
+
"enum": [
|
|
58465
|
+
"DEFAULT"
|
|
58466
|
+
]
|
|
58467
|
+
},
|
|
58468
|
+
{
|
|
58469
|
+
"type": "string",
|
|
58470
|
+
"enum": [
|
|
58471
|
+
"FOLLOWED"
|
|
58472
|
+
]
|
|
58473
|
+
},
|
|
58474
|
+
{
|
|
58475
|
+
"type": "string",
|
|
58476
|
+
"enum": [
|
|
58477
|
+
"FOLLOWER"
|
|
58478
|
+
]
|
|
58479
|
+
},
|
|
58480
|
+
{
|
|
58481
|
+
"type": "string",
|
|
58482
|
+
"enum": [
|
|
58483
|
+
"FRIENDS"
|
|
58484
|
+
]
|
|
58485
|
+
},
|
|
58486
|
+
{
|
|
58487
|
+
"type": "string",
|
|
58488
|
+
"enum": [
|
|
58489
|
+
"FRIENDS_AND_FOLLOWERS"
|
|
58490
|
+
]
|
|
58491
|
+
},
|
|
58492
|
+
{
|
|
58493
|
+
"type": "string",
|
|
58494
|
+
"enum": [
|
|
58495
|
+
"FRIENDS_OF_FRIENDS"
|
|
58496
|
+
]
|
|
58497
|
+
},
|
|
58498
|
+
{
|
|
58499
|
+
"type": "string",
|
|
58500
|
+
"enum": [
|
|
58501
|
+
"SUBSCRIBED"
|
|
58502
|
+
]
|
|
58503
|
+
},
|
|
58504
|
+
{
|
|
58505
|
+
"type": "string",
|
|
58506
|
+
"enum": [
|
|
58507
|
+
"TAGGED"
|
|
58508
|
+
]
|
|
58509
|
+
}
|
|
58510
|
+
]
|
|
58511
|
+
},
|
|
58512
|
+
{
|
|
58513
|
+
"type": "null"
|
|
58514
|
+
}
|
|
58515
|
+
]
|
|
58516
|
+
},
|
|
58035
58517
|
"customAudiences": {
|
|
58036
58518
|
"anyOf": [
|
|
58037
58519
|
{
|
|
@@ -58663,6 +59145,19 @@
|
|
|
58663
59145
|
}
|
|
58664
59146
|
]
|
|
58665
59147
|
},
|
|
59148
|
+
"browsers": {
|
|
59149
|
+
"anyOf": [
|
|
59150
|
+
{
|
|
59151
|
+
"type": "array",
|
|
59152
|
+
"items": {
|
|
59153
|
+
"type": "string"
|
|
59154
|
+
}
|
|
59155
|
+
},
|
|
59156
|
+
{
|
|
59157
|
+
"type": "null"
|
|
59158
|
+
}
|
|
59159
|
+
]
|
|
59160
|
+
},
|
|
58666
59161
|
"countries": {
|
|
58667
59162
|
"anyOf": [
|
|
58668
59163
|
{
|
|
@@ -58676,6 +59171,19 @@
|
|
|
58676
59171
|
}
|
|
58677
59172
|
]
|
|
58678
59173
|
},
|
|
59174
|
+
"desktopOs": {
|
|
59175
|
+
"anyOf": [
|
|
59176
|
+
{
|
|
59177
|
+
"type": "array",
|
|
59178
|
+
"items": {
|
|
59179
|
+
"type": "string"
|
|
59180
|
+
}
|
|
59181
|
+
},
|
|
59182
|
+
{
|
|
59183
|
+
"type": "null"
|
|
59184
|
+
}
|
|
59185
|
+
]
|
|
59186
|
+
},
|
|
58679
59187
|
"devicePlatforms": {
|
|
58680
59188
|
"anyOf": [
|
|
58681
59189
|
{
|
|
@@ -66032,6 +66540,78 @@
|
|
|
66032
66540
|
}
|
|
66033
66541
|
]
|
|
66034
66542
|
},
|
|
66543
|
+
"commentModerationFilter": {
|
|
66544
|
+
"anyOf": [
|
|
66545
|
+
{
|
|
66546
|
+
"description": "Meta ad-set comment moderation — who may comment on the ads of this ad set. One of: AD_DISABLED, AD_FOLLOWER, DEFAULT, FOLLOWED, FOLLOWER, FRIENDS, FRIENDS_AND_FOLLOWERS, FRIENDS_OF_FRIENDS, SUBSCRIBED, TAGGED. AD_DISABLED turns comments off (and hides the comments already there); DEFAULT lets everyone comment. Omit the field to leave the ad set as it is. Meta refuses to turn comments off on social issues, elections or politics ads.",
|
|
66547
|
+
"anyOf": [
|
|
66548
|
+
{
|
|
66549
|
+
"type": "string",
|
|
66550
|
+
"enum": [
|
|
66551
|
+
"AD_DISABLED"
|
|
66552
|
+
]
|
|
66553
|
+
},
|
|
66554
|
+
{
|
|
66555
|
+
"type": "string",
|
|
66556
|
+
"enum": [
|
|
66557
|
+
"AD_FOLLOWER"
|
|
66558
|
+
]
|
|
66559
|
+
},
|
|
66560
|
+
{
|
|
66561
|
+
"type": "string",
|
|
66562
|
+
"enum": [
|
|
66563
|
+
"DEFAULT"
|
|
66564
|
+
]
|
|
66565
|
+
},
|
|
66566
|
+
{
|
|
66567
|
+
"type": "string",
|
|
66568
|
+
"enum": [
|
|
66569
|
+
"FOLLOWED"
|
|
66570
|
+
]
|
|
66571
|
+
},
|
|
66572
|
+
{
|
|
66573
|
+
"type": "string",
|
|
66574
|
+
"enum": [
|
|
66575
|
+
"FOLLOWER"
|
|
66576
|
+
]
|
|
66577
|
+
},
|
|
66578
|
+
{
|
|
66579
|
+
"type": "string",
|
|
66580
|
+
"enum": [
|
|
66581
|
+
"FRIENDS"
|
|
66582
|
+
]
|
|
66583
|
+
},
|
|
66584
|
+
{
|
|
66585
|
+
"type": "string",
|
|
66586
|
+
"enum": [
|
|
66587
|
+
"FRIENDS_AND_FOLLOWERS"
|
|
66588
|
+
]
|
|
66589
|
+
},
|
|
66590
|
+
{
|
|
66591
|
+
"type": "string",
|
|
66592
|
+
"enum": [
|
|
66593
|
+
"FRIENDS_OF_FRIENDS"
|
|
66594
|
+
]
|
|
66595
|
+
},
|
|
66596
|
+
{
|
|
66597
|
+
"type": "string",
|
|
66598
|
+
"enum": [
|
|
66599
|
+
"SUBSCRIBED"
|
|
66600
|
+
]
|
|
66601
|
+
},
|
|
66602
|
+
{
|
|
66603
|
+
"type": "string",
|
|
66604
|
+
"enum": [
|
|
66605
|
+
"TAGGED"
|
|
66606
|
+
]
|
|
66607
|
+
}
|
|
66608
|
+
]
|
|
66609
|
+
},
|
|
66610
|
+
{
|
|
66611
|
+
"type": "null"
|
|
66612
|
+
}
|
|
66613
|
+
]
|
|
66614
|
+
},
|
|
66035
66615
|
"customAudiences": {
|
|
66036
66616
|
"anyOf": [
|
|
66037
66617
|
{
|
|
@@ -66663,6 +67243,19 @@
|
|
|
66663
67243
|
}
|
|
66664
67244
|
]
|
|
66665
67245
|
},
|
|
67246
|
+
"browsers": {
|
|
67247
|
+
"anyOf": [
|
|
67248
|
+
{
|
|
67249
|
+
"type": "array",
|
|
67250
|
+
"items": {
|
|
67251
|
+
"type": "string"
|
|
67252
|
+
}
|
|
67253
|
+
},
|
|
67254
|
+
{
|
|
67255
|
+
"type": "null"
|
|
67256
|
+
}
|
|
67257
|
+
]
|
|
67258
|
+
},
|
|
66666
67259
|
"countries": {
|
|
66667
67260
|
"anyOf": [
|
|
66668
67261
|
{
|
|
@@ -66676,6 +67269,19 @@
|
|
|
66676
67269
|
}
|
|
66677
67270
|
]
|
|
66678
67271
|
},
|
|
67272
|
+
"desktopOs": {
|
|
67273
|
+
"anyOf": [
|
|
67274
|
+
{
|
|
67275
|
+
"type": "array",
|
|
67276
|
+
"items": {
|
|
67277
|
+
"type": "string"
|
|
67278
|
+
}
|
|
67279
|
+
},
|
|
67280
|
+
{
|
|
67281
|
+
"type": "null"
|
|
67282
|
+
}
|
|
67283
|
+
]
|
|
67284
|
+
},
|
|
66679
67285
|
"devicePlatforms": {
|
|
66680
67286
|
"anyOf": [
|
|
66681
67287
|
{
|
|
@@ -90692,6 +91298,7 @@
|
|
|
90692
91298
|
"schema": {
|
|
90693
91299
|
"type": "object",
|
|
90694
91300
|
"required": [
|
|
91301
|
+
"currency",
|
|
90695
91302
|
"enabled",
|
|
90696
91303
|
"threshold",
|
|
90697
91304
|
"dropToThreshold",
|
|
@@ -90702,6 +91309,10 @@
|
|
|
90702
91309
|
"lastStatus"
|
|
90703
91310
|
],
|
|
90704
91311
|
"properties": {
|
|
91312
|
+
"currency": {
|
|
91313
|
+
"maxLength": 3,
|
|
91314
|
+
"type": "string"
|
|
91315
|
+
},
|
|
90705
91316
|
"enabled": {
|
|
90706
91317
|
"type": "boolean"
|
|
90707
91318
|
},
|
|
@@ -90791,7 +91402,7 @@
|
|
|
90791
91402
|
"tags": [
|
|
90792
91403
|
"ai-chat"
|
|
90793
91404
|
],
|
|
90794
|
-
"description": "Updates auto-recharge settings used to top up AI credits when balance drops below the threshold.",
|
|
91405
|
+
"description": "Updates auto-recharge settings used to top up AI credits when balance drops below the threshold. Send the optional `currency` to declare which currency the monthly cap was entered in: the server answers 409 when it no longer matches the currency in force, instead of storing a figure that means a different amount. Omitting it keeps older clients working.",
|
|
90795
91406
|
"requestBody": {
|
|
90796
91407
|
"required": true,
|
|
90797
91408
|
"content": {
|
|
@@ -90849,6 +91460,10 @@
|
|
|
90849
91460
|
"type": "null"
|
|
90850
91461
|
}
|
|
90851
91462
|
]
|
|
91463
|
+
},
|
|
91464
|
+
"currency": {
|
|
91465
|
+
"maxLength": 3,
|
|
91466
|
+
"type": "string"
|
|
90852
91467
|
}
|
|
90853
91468
|
}
|
|
90854
91469
|
}
|
|
@@ -90868,6 +91483,7 @@
|
|
|
90868
91483
|
"schema": {
|
|
90869
91484
|
"type": "object",
|
|
90870
91485
|
"required": [
|
|
91486
|
+
"currency",
|
|
90871
91487
|
"enabled",
|
|
90872
91488
|
"threshold",
|
|
90873
91489
|
"dropToThreshold",
|
|
@@ -90878,6 +91494,10 @@
|
|
|
90878
91494
|
"lastStatus"
|
|
90879
91495
|
],
|
|
90880
91496
|
"properties": {
|
|
91497
|
+
"currency": {
|
|
91498
|
+
"maxLength": 3,
|
|
91499
|
+
"type": "string"
|
|
91500
|
+
},
|
|
90881
91501
|
"enabled": {
|
|
90882
91502
|
"type": "boolean"
|
|
90883
91503
|
},
|
|
@@ -91007,6 +91627,35 @@
|
|
|
91007
91627
|
}
|
|
91008
91628
|
}
|
|
91009
91629
|
}
|
|
91630
|
+
},
|
|
91631
|
+
"409": {
|
|
91632
|
+
"description": "Conflict - resource state prevents the operation",
|
|
91633
|
+
"content": {
|
|
91634
|
+
"application/json": {
|
|
91635
|
+
"schema": {
|
|
91636
|
+
"additionalProperties": false,
|
|
91637
|
+
"type": "object",
|
|
91638
|
+
"required": [
|
|
91639
|
+
"error",
|
|
91640
|
+
"declared_currency",
|
|
91641
|
+
"current_currency"
|
|
91642
|
+
],
|
|
91643
|
+
"properties": {
|
|
91644
|
+
"error": {
|
|
91645
|
+
"type": "string"
|
|
91646
|
+
},
|
|
91647
|
+
"declared_currency": {
|
|
91648
|
+
"maxLength": 3,
|
|
91649
|
+
"type": "string"
|
|
91650
|
+
},
|
|
91651
|
+
"current_currency": {
|
|
91652
|
+
"maxLength": 3,
|
|
91653
|
+
"type": "string"
|
|
91654
|
+
}
|
|
91655
|
+
}
|
|
91656
|
+
}
|
|
91657
|
+
}
|
|
91658
|
+
}
|
|
91010
91659
|
}
|
|
91011
91660
|
}
|
|
91012
91661
|
}
|
|
@@ -97257,10 +97906,11 @@
|
|
|
97257
97906
|
],
|
|
97258
97907
|
"responses": {
|
|
97259
97908
|
"200": {
|
|
97260
|
-
"description": "
|
|
97909
|
+
"description": "CSV file, one row per order. `X-Export-Truncated: true` when the filtered set exceeded the row cap.",
|
|
97261
97910
|
"content": {
|
|
97262
|
-
"
|
|
97911
|
+
"text/csv": {
|
|
97263
97912
|
"schema": {
|
|
97913
|
+
"description": "CSV file content.",
|
|
97264
97914
|
"type": "string"
|
|
97265
97915
|
}
|
|
97266
97916
|
}
|
|
@@ -103933,6 +104583,176 @@
|
|
|
103933
104583
|
}
|
|
103934
104584
|
}
|
|
103935
104585
|
},
|
|
104586
|
+
"/api/v1/country-search": {
|
|
104587
|
+
"get": {
|
|
104588
|
+
"operationId": "getApiV1CountrySearch",
|
|
104589
|
+
"summary": "List or search the countries Meta accepts for geo targeting",
|
|
104590
|
+
"tags": [
|
|
104591
|
+
"targeting"
|
|
104592
|
+
],
|
|
104593
|
+
"description": "Proxies Meta Marketing API `search?type=adgeolocation&location_types=[\"country\"]`, returning the ISO alpha-2 codes accepted by `targeting.geo_locations.countries`. Meta owns the list, so it is queried live rather than mirrored in code — the hand-written list this replaces had drifted to 61 of the 247 codes Meta accepts, which is how a customer discovered Kazakhstan was missing. With `q` omitted Meta returns its COMPLETE list (247 countries as of 2026-09-12), small enough for the client to hold and filter locally; `q` is still accepted for narrower lookups. With `account_id` omitted the token is borrowed from any accessible ad account, so the surfaces that have no Meta account selected still get the list. `name` is a fallback: Meta answers in the language of the client's ad account and documents the field as subject to change, so the UI renders the label from `key`. `tiktok_geo_id` is present only for the codes TikTok has a GeoNames id for. Returns `degraded: true` with an empty list when no usable token exists or Meta is unreachable, so the caller can tell an outage from a query that matched nothing.",
|
|
104594
|
+
"parameters": [
|
|
104595
|
+
{
|
|
104596
|
+
"schema": {
|
|
104597
|
+
"maxLength": 100,
|
|
104598
|
+
"type": "string"
|
|
104599
|
+
},
|
|
104600
|
+
"in": "query",
|
|
104601
|
+
"name": "q",
|
|
104602
|
+
"required": false,
|
|
104603
|
+
"description": "Search query (e.g. \"kaz\"). Omit or leave empty to get Meta's complete country list."
|
|
104604
|
+
},
|
|
104605
|
+
{
|
|
104606
|
+
"schema": {
|
|
104607
|
+
"type": "string"
|
|
104608
|
+
},
|
|
104609
|
+
"in": "query",
|
|
104610
|
+
"name": "account_id",
|
|
104611
|
+
"required": false,
|
|
104612
|
+
"description": "Ad account whose Graph token is borrowed for the call. OPTIONAL, unlike the sibling locale-search route: the list Meta returns is its global one, identical for every account, and the callers that need it (the TikTok/Taboola launch surfaces) have no Meta account selected. Omit it and any accessible ad account with a usable token is used."
|
|
104613
|
+
}
|
|
104614
|
+
],
|
|
104615
|
+
"security": [
|
|
104616
|
+
{
|
|
104617
|
+
"bearerAuth": []
|
|
104618
|
+
}
|
|
104619
|
+
],
|
|
104620
|
+
"responses": {
|
|
104621
|
+
"200": {
|
|
104622
|
+
"description": "Successful response",
|
|
104623
|
+
"content": {
|
|
104624
|
+
"application/json": {
|
|
104625
|
+
"schema": {
|
|
104626
|
+
"type": "object",
|
|
104627
|
+
"required": [
|
|
104628
|
+
"degraded",
|
|
104629
|
+
"countries"
|
|
104630
|
+
],
|
|
104631
|
+
"properties": {
|
|
104632
|
+
"degraded": {
|
|
104633
|
+
"description": "True when a Meta token existed but Meta could not be reached, so the list is the local snapshot rather than Meta's live answer. NOT true when `q` matched nothing, and NOT true when the workspace has no Meta token at all (a normal state for the TikTok/Google/Taboola surfaces, which get the snapshot without a warning). Lets the caller say \"showing the standard list\" instead of \"no results\".",
|
|
104634
|
+
"type": "boolean"
|
|
104635
|
+
},
|
|
104636
|
+
"countries": {
|
|
104637
|
+
"description": "Country list as Meta returns it (247 rows as of 2026-09-12). When Meta cannot be asked this is the local snapshot of that same list, whose `name` is the code itself — the UI renders labels from `key` with Intl.DisplayNames, so `name` is never read.",
|
|
104638
|
+
"type": "array",
|
|
104639
|
+
"items": {
|
|
104640
|
+
"type": "object",
|
|
104641
|
+
"required": [
|
|
104642
|
+
"key",
|
|
104643
|
+
"name"
|
|
104644
|
+
],
|
|
104645
|
+
"properties": {
|
|
104646
|
+
"key": {
|
|
104647
|
+
"description": "ISO 3166-1 alpha-2 code, sent verbatim in targeting.geo_locations.countries",
|
|
104648
|
+
"type": "string"
|
|
104649
|
+
},
|
|
104650
|
+
"name": {
|
|
104651
|
+
"description": "Label as Meta returns it, a FALLBACK only. Measured 2026-09-12: with no `locale` parameter Meta answers in the language of the ad account belonging to the CLIENT (an Italian ad account returned Kazakistan, not Kazakhstan), and Meta documents `name` as subject to change. The UI renders the label from `key` with Intl.DisplayNames in the language of the user, and falls back to this value only when ICU has no name for the code.",
|
|
104652
|
+
"type": "string"
|
|
104653
|
+
},
|
|
104654
|
+
"tiktok_geo_id": {
|
|
104655
|
+
"description": "GeoNames id TikTok wants for this country, present only for the codes we have mapped. ABSENT (not null, not empty) when TikTok has no id: absence is the signal the TikTok surfaces read to know the country is not publishable there.",
|
|
104656
|
+
"type": "string"
|
|
104657
|
+
}
|
|
104658
|
+
}
|
|
104659
|
+
}
|
|
104660
|
+
}
|
|
104661
|
+
}
|
|
104662
|
+
}
|
|
104663
|
+
}
|
|
104664
|
+
}
|
|
104665
|
+
},
|
|
104666
|
+
"401": {
|
|
104667
|
+
"description": "Unauthorized - missing or invalid bearer token",
|
|
104668
|
+
"content": {
|
|
104669
|
+
"application/json": {
|
|
104670
|
+
"schema": {
|
|
104671
|
+
"type": "object",
|
|
104672
|
+
"required": [
|
|
104673
|
+
"statusCode",
|
|
104674
|
+
"error",
|
|
104675
|
+
"message"
|
|
104676
|
+
],
|
|
104677
|
+
"properties": {
|
|
104678
|
+
"statusCode": {
|
|
104679
|
+
"description": "HTTP status code",
|
|
104680
|
+
"type": "integer"
|
|
104681
|
+
},
|
|
104682
|
+
"error": {
|
|
104683
|
+
"description": "HTTP status text",
|
|
104684
|
+
"type": "string"
|
|
104685
|
+
},
|
|
104686
|
+
"message": {
|
|
104687
|
+
"description": "Human-readable reason",
|
|
104688
|
+
"type": "string"
|
|
104689
|
+
}
|
|
104690
|
+
}
|
|
104691
|
+
}
|
|
104692
|
+
}
|
|
104693
|
+
}
|
|
104694
|
+
},
|
|
104695
|
+
"404": {
|
|
104696
|
+
"description": "Resource not found",
|
|
104697
|
+
"content": {
|
|
104698
|
+
"application/json": {
|
|
104699
|
+
"schema": {
|
|
104700
|
+
"type": "object",
|
|
104701
|
+
"required": [
|
|
104702
|
+
"statusCode",
|
|
104703
|
+
"error",
|
|
104704
|
+
"message"
|
|
104705
|
+
],
|
|
104706
|
+
"properties": {
|
|
104707
|
+
"statusCode": {
|
|
104708
|
+
"description": "HTTP status code",
|
|
104709
|
+
"type": "integer"
|
|
104710
|
+
},
|
|
104711
|
+
"error": {
|
|
104712
|
+
"description": "HTTP status text",
|
|
104713
|
+
"type": "string"
|
|
104714
|
+
},
|
|
104715
|
+
"message": {
|
|
104716
|
+
"description": "Human-readable reason",
|
|
104717
|
+
"type": "string"
|
|
104718
|
+
}
|
|
104719
|
+
}
|
|
104720
|
+
}
|
|
104721
|
+
}
|
|
104722
|
+
}
|
|
104723
|
+
},
|
|
104724
|
+
"500": {
|
|
104725
|
+
"description": "Internal server error",
|
|
104726
|
+
"content": {
|
|
104727
|
+
"application/json": {
|
|
104728
|
+
"schema": {
|
|
104729
|
+
"type": "object",
|
|
104730
|
+
"required": [
|
|
104731
|
+
"statusCode",
|
|
104732
|
+
"error",
|
|
104733
|
+
"message"
|
|
104734
|
+
],
|
|
104735
|
+
"properties": {
|
|
104736
|
+
"statusCode": {
|
|
104737
|
+
"description": "HTTP status code",
|
|
104738
|
+
"type": "integer"
|
|
104739
|
+
},
|
|
104740
|
+
"error": {
|
|
104741
|
+
"description": "HTTP status text",
|
|
104742
|
+
"type": "string"
|
|
104743
|
+
},
|
|
104744
|
+
"message": {
|
|
104745
|
+
"description": "Human-readable reason",
|
|
104746
|
+
"type": "string"
|
|
104747
|
+
}
|
|
104748
|
+
}
|
|
104749
|
+
}
|
|
104750
|
+
}
|
|
104751
|
+
}
|
|
104752
|
+
}
|
|
104753
|
+
}
|
|
104754
|
+
}
|
|
104755
|
+
},
|
|
103936
104756
|
"/api/v1/creative-ai-register": {
|
|
103937
104757
|
"get": {
|
|
103938
104758
|
"operationId": "creativeAiRegisterList",
|
|
@@ -104390,11 +105210,11 @@
|
|
|
104390
105210
|
],
|
|
104391
105211
|
"responses": {
|
|
104392
105212
|
"200": {
|
|
104393
|
-
"description": "CSV file
|
|
105213
|
+
"description": "CSV file with the register rows, newest first.",
|
|
104394
105214
|
"content": {
|
|
104395
|
-
"
|
|
105215
|
+
"text/csv": {
|
|
104396
105216
|
"schema": {
|
|
104397
|
-
"description": "CSV file content",
|
|
105217
|
+
"description": "CSV file content.",
|
|
104398
105218
|
"type": "string"
|
|
104399
105219
|
}
|
|
104400
105220
|
}
|
|
@@ -114475,12 +115295,12 @@
|
|
|
114475
115295
|
"/api/v1/creative-hub/image-creatives/generate": {
|
|
114476
115296
|
"post": {
|
|
114477
115297
|
"operationId": "creativeHubGenerateImageCreative",
|
|
114478
|
-
"summary": "Generate
|
|
115298
|
+
"summary": "Generate ad image creatives",
|
|
114479
115299
|
"tags": [
|
|
114480
115300
|
"creative-hub",
|
|
114481
115301
|
"creative-generation"
|
|
114482
115302
|
],
|
|
114483
|
-
"description": "
|
|
115303
|
+
"description": "Generate 1 to 4 static ad images for a paid social campaign. The request carries a campaign objective (sales, awareness, traffic, leads) and at least one of: a product from the team's catalogue, a product description, or up to 4 reference images (reference_image_urls, with product_image_url accepted as the first one) that keep the real product in the scene. A Brand Kit and brand_colors are optional and add colour and tone. The server wraps that input in the ad brief it sends to a third-party image model. The credit cost per variant is held before the job starts (creativeHubEstimateImageCreative returns the exact amount). Returns a generation id to poll with creativeHubGetImageCreativeGeneration. Finished images are saved to the team's Asset Library and can be filed into a Files folder with creativeHubMoveAssets.",
|
|
114484
115304
|
"requestBody": {
|
|
114485
115305
|
"required": true,
|
|
114486
115306
|
"content": {
|
|
@@ -114874,7 +115694,7 @@
|
|
|
114874
115694
|
"creative-hub",
|
|
114875
115695
|
"creative-generation"
|
|
114876
115696
|
],
|
|
114877
|
-
"description": "Returns the deterministic credit hold estimate for an image creative generation
|
|
115697
|
+
"description": "Returns the deterministic credit hold estimate for an image creative generation: the exact amount creativeHubGenerateImageCreative holds before the job starts, for the given number of variants and reference images, at the price list in force. Performs no I/O and charges nothing.",
|
|
114878
115698
|
"requestBody": {
|
|
114879
115699
|
"required": true,
|
|
114880
115700
|
"content": {
|
|
@@ -115193,12 +116013,6 @@
|
|
|
115193
116013
|
"ai_chat_credits_estimated": {
|
|
115194
116014
|
"type": "number"
|
|
115195
116015
|
},
|
|
115196
|
-
"higgsfield_credits_actual": {
|
|
115197
|
-
"type": "number"
|
|
115198
|
-
},
|
|
115199
|
-
"higgsfield_credits_estimated": {
|
|
115200
|
-
"type": "number"
|
|
115201
|
-
},
|
|
115202
116016
|
"items": {
|
|
115203
116017
|
"type": "array",
|
|
115204
116018
|
"items": {
|
|
@@ -115207,8 +116021,6 @@
|
|
|
115207
116021
|
"required": [
|
|
115208
116022
|
"model_id",
|
|
115209
116023
|
"provider",
|
|
115210
|
-
"provider_cents_per_unit",
|
|
115211
|
-
"provider_cost_cents_estimated",
|
|
115212
116024
|
"retail_credits",
|
|
115213
116025
|
"retail_credits_per_unit",
|
|
115214
116026
|
"unit",
|
|
@@ -115221,12 +116033,6 @@
|
|
|
115221
116033
|
"provider": {
|
|
115222
116034
|
"type": "string"
|
|
115223
116035
|
},
|
|
115224
|
-
"provider_cents_per_unit": {
|
|
115225
|
-
"type": "number"
|
|
115226
|
-
},
|
|
115227
|
-
"provider_cost_cents_estimated": {
|
|
115228
|
-
"type": "number"
|
|
115229
|
-
},
|
|
115230
116036
|
"retail_credits": {
|
|
115231
116037
|
"type": "number"
|
|
115232
116038
|
},
|
|
@@ -115254,30 +116060,9 @@
|
|
|
115254
116060
|
"model_units_estimated": {
|
|
115255
116061
|
"type": "number"
|
|
115256
116062
|
},
|
|
115257
|
-
"pricing_version": {
|
|
115258
|
-
"type": "string"
|
|
115259
|
-
},
|
|
115260
116063
|
"provider": {
|
|
115261
116064
|
"type": "string"
|
|
115262
116065
|
},
|
|
115263
|
-
"provider_cents_per_unit": {
|
|
115264
|
-
"type": "number"
|
|
115265
|
-
},
|
|
115266
|
-
"provider_cost_cents_actual": {
|
|
115267
|
-
"type": "number"
|
|
115268
|
-
},
|
|
115269
|
-
"provider_cost_cents_estimated": {
|
|
115270
|
-
"type": "number"
|
|
115271
|
-
},
|
|
115272
|
-
"provider_credits_actual": {
|
|
115273
|
-
"type": "number"
|
|
115274
|
-
},
|
|
115275
|
-
"provider_credits_estimated": {
|
|
115276
|
-
"type": "number"
|
|
115277
|
-
},
|
|
115278
|
-
"retail_credits_per_higgsfield_credit": {
|
|
115279
|
-
"type": "number"
|
|
115280
|
-
},
|
|
115281
116066
|
"retail_credits_per_unit": {
|
|
115282
116067
|
"type": "number"
|
|
115283
116068
|
},
|
|
@@ -115312,9 +116097,6 @@
|
|
|
115312
116097
|
}
|
|
115313
116098
|
]
|
|
115314
116099
|
},
|
|
115315
|
-
"estimated_cost_cents": {
|
|
115316
|
-
"type": "number"
|
|
115317
|
-
},
|
|
115318
116100
|
"format": {
|
|
115319
116101
|
"anyOf": [
|
|
115320
116102
|
{
|
|
@@ -115349,9 +116131,6 @@
|
|
|
115349
116131
|
}
|
|
115350
116132
|
]
|
|
115351
116133
|
},
|
|
115352
|
-
"frame_prompt": {
|
|
115353
|
-
"type": "string"
|
|
115354
|
-
},
|
|
115355
116134
|
"language": {
|
|
115356
116135
|
"type": "string"
|
|
115357
116136
|
},
|
|
@@ -115655,12 +116434,6 @@
|
|
|
115655
116434
|
"ai_chat_credits_estimated": {
|
|
115656
116435
|
"type": "number"
|
|
115657
116436
|
},
|
|
115658
|
-
"higgsfield_credits_actual": {
|
|
115659
|
-
"type": "number"
|
|
115660
|
-
},
|
|
115661
|
-
"higgsfield_credits_estimated": {
|
|
115662
|
-
"type": "number"
|
|
115663
|
-
},
|
|
115664
116437
|
"items": {
|
|
115665
116438
|
"type": "array",
|
|
115666
116439
|
"items": {
|
|
@@ -115669,8 +116442,6 @@
|
|
|
115669
116442
|
"required": [
|
|
115670
116443
|
"model_id",
|
|
115671
116444
|
"provider",
|
|
115672
|
-
"provider_cents_per_unit",
|
|
115673
|
-
"provider_cost_cents_estimated",
|
|
115674
116445
|
"retail_credits",
|
|
115675
116446
|
"retail_credits_per_unit",
|
|
115676
116447
|
"unit",
|
|
@@ -115683,12 +116454,6 @@
|
|
|
115683
116454
|
"provider": {
|
|
115684
116455
|
"type": "string"
|
|
115685
116456
|
},
|
|
115686
|
-
"provider_cents_per_unit": {
|
|
115687
|
-
"type": "number"
|
|
115688
|
-
},
|
|
115689
|
-
"provider_cost_cents_estimated": {
|
|
115690
|
-
"type": "number"
|
|
115691
|
-
},
|
|
115692
116457
|
"retail_credits": {
|
|
115693
116458
|
"type": "number"
|
|
115694
116459
|
},
|
|
@@ -115716,30 +116481,9 @@
|
|
|
115716
116481
|
"model_units_estimated": {
|
|
115717
116482
|
"type": "number"
|
|
115718
116483
|
},
|
|
115719
|
-
"pricing_version": {
|
|
115720
|
-
"type": "string"
|
|
115721
|
-
},
|
|
115722
116484
|
"provider": {
|
|
115723
116485
|
"type": "string"
|
|
115724
116486
|
},
|
|
115725
|
-
"provider_cents_per_unit": {
|
|
115726
|
-
"type": "number"
|
|
115727
|
-
},
|
|
115728
|
-
"provider_cost_cents_actual": {
|
|
115729
|
-
"type": "number"
|
|
115730
|
-
},
|
|
115731
|
-
"provider_cost_cents_estimated": {
|
|
115732
|
-
"type": "number"
|
|
115733
|
-
},
|
|
115734
|
-
"provider_credits_actual": {
|
|
115735
|
-
"type": "number"
|
|
115736
|
-
},
|
|
115737
|
-
"provider_credits_estimated": {
|
|
115738
|
-
"type": "number"
|
|
115739
|
-
},
|
|
115740
|
-
"retail_credits_per_higgsfield_credit": {
|
|
115741
|
-
"type": "number"
|
|
115742
|
-
},
|
|
115743
116487
|
"retail_credits_per_unit": {
|
|
115744
116488
|
"type": "number"
|
|
115745
116489
|
},
|
|
@@ -115774,9 +116518,6 @@
|
|
|
115774
116518
|
}
|
|
115775
116519
|
]
|
|
115776
116520
|
},
|
|
115777
|
-
"estimated_cost_cents": {
|
|
115778
|
-
"type": "number"
|
|
115779
|
-
},
|
|
115780
116521
|
"format": {
|
|
115781
116522
|
"anyOf": [
|
|
115782
116523
|
{
|
|
@@ -115811,9 +116552,6 @@
|
|
|
115811
116552
|
}
|
|
115812
116553
|
]
|
|
115813
116554
|
},
|
|
115814
|
-
"frame_prompt": {
|
|
115815
|
-
"type": "string"
|
|
115816
|
-
},
|
|
115817
116555
|
"language": {
|
|
115818
116556
|
"type": "string"
|
|
115819
116557
|
},
|
|
@@ -115943,7 +116681,7 @@
|
|
|
115943
116681
|
"creative-hub",
|
|
115944
116682
|
"creative-generation"
|
|
115945
116683
|
],
|
|
115946
|
-
"description": "Soft-deletes one terminal image creative generation and its generated assets. Queued or processing generations cannot be deleted
|
|
116684
|
+
"description": "Soft-deletes one terminal image creative generation and its generated assets. Queued or processing generations cannot be deleted until they finish.",
|
|
115947
116685
|
"parameters": [
|
|
115948
116686
|
{
|
|
115949
116687
|
"schema": {
|
|
@@ -116141,12 +116879,12 @@
|
|
|
116141
116879
|
"/api/v1/creative-hub/image-studio/generate": {
|
|
116142
116880
|
"post": {
|
|
116143
116881
|
"operationId": "creativeHubGenerateCinematicImage",
|
|
116144
|
-
"summary": "Generate
|
|
116882
|
+
"summary": "Generate cinematic images (async)",
|
|
116145
116883
|
"tags": [
|
|
116146
116884
|
"creative-hub",
|
|
116147
116885
|
"creative-generation"
|
|
116148
116886
|
],
|
|
116149
|
-
"description": "
|
|
116887
|
+
"description": "Generate 1 to 4 cinematic images from a free-text prompt (up to 4,000 characters) with an optional style preset (photorealistic, cinematic, product), aspect ratio, resolution (720p or 1080p) and up to 4 reference images for image-to-image (reference_image_url and/or reference_image_urls). A Brand Kit or brand_colors add colour art direction to the prompt. Without a reference image the style selects the third-party image model the job runs on, so the price per variant changes per style. With any reference image the job runs on the reference-preserving model whatever the style, at that model's own price per variant. The amount is held before the job starts (creativeHubEstimateCinematicImage returns the exact amount for a style, resolution and reference set). Returns a generation id to poll with creativeHubGetCinematicImageGeneration; finished images are saved to the team's Asset Library.",
|
|
116150
116888
|
"requestBody": {
|
|
116151
116889
|
"required": true,
|
|
116152
116890
|
"content": {
|
|
@@ -116274,7 +117012,6 @@
|
|
|
116274
117012
|
"required": [
|
|
116275
117013
|
"created_at",
|
|
116276
117014
|
"credits_estimated",
|
|
116277
|
-
"estimated_cost_cents",
|
|
116278
117015
|
"generation_id",
|
|
116279
117016
|
"polling_interval_ms",
|
|
116280
117017
|
"status"
|
|
@@ -116286,9 +117023,6 @@
|
|
|
116286
117023
|
"credits_estimated": {
|
|
116287
117024
|
"type": "integer"
|
|
116288
117025
|
},
|
|
116289
|
-
"estimated_cost_cents": {
|
|
116290
|
-
"type": "number"
|
|
116291
|
-
},
|
|
116292
117026
|
"generation_id": {
|
|
116293
117027
|
"type": "string"
|
|
116294
117028
|
},
|
|
@@ -116848,16 +117582,6 @@
|
|
|
116848
117582
|
"additionalProperties": false,
|
|
116849
117583
|
"type": "object",
|
|
116850
117584
|
"properties": {
|
|
116851
|
-
"prompt": {
|
|
116852
|
-
"anyOf": [
|
|
116853
|
-
{
|
|
116854
|
-
"type": "string"
|
|
116855
|
-
},
|
|
116856
|
-
{
|
|
116857
|
-
"type": "null"
|
|
116858
|
-
}
|
|
116859
|
-
]
|
|
116860
|
-
},
|
|
116861
117585
|
"style": {
|
|
116862
117586
|
"anyOf": [
|
|
116863
117587
|
{
|
|
@@ -116921,9 +117645,6 @@
|
|
|
116921
117645
|
}
|
|
116922
117646
|
]
|
|
116923
117647
|
},
|
|
116924
|
-
"estimated_cost_cents": {
|
|
116925
|
-
"type": "number"
|
|
116926
|
-
},
|
|
116927
117648
|
"num_variants": {
|
|
116928
117649
|
"type": "integer"
|
|
116929
117650
|
},
|
|
@@ -117268,16 +117989,6 @@
|
|
|
117268
117989
|
"additionalProperties": false,
|
|
117269
117990
|
"type": "object",
|
|
117270
117991
|
"properties": {
|
|
117271
|
-
"prompt": {
|
|
117272
|
-
"anyOf": [
|
|
117273
|
-
{
|
|
117274
|
-
"type": "string"
|
|
117275
|
-
},
|
|
117276
|
-
{
|
|
117277
|
-
"type": "null"
|
|
117278
|
-
}
|
|
117279
|
-
]
|
|
117280
|
-
},
|
|
117281
117992
|
"style": {
|
|
117282
117993
|
"anyOf": [
|
|
117283
117994
|
{
|
|
@@ -117341,9 +118052,6 @@
|
|
|
117341
118052
|
}
|
|
117342
118053
|
]
|
|
117343
118054
|
},
|
|
117344
|
-
"estimated_cost_cents": {
|
|
117345
|
-
"type": "number"
|
|
117346
|
-
},
|
|
117347
118055
|
"num_variants": {
|
|
117348
118056
|
"type": "integer"
|
|
117349
118057
|
},
|
|
@@ -122026,7 +122734,7 @@
|
|
|
122026
122734
|
"creative-hub",
|
|
122027
122735
|
"creative-generation"
|
|
122028
122736
|
],
|
|
122029
|
-
"description": "Returns the credit estimate for burning subtitles into a video (transcription is billed per second).
|
|
122737
|
+
"description": "Returns the credit estimate for burning subtitles into a video (transcription is billed per second). With asset_id the estimate uses the duration recorded on that team video asset when there is one, which is the same value the generation hold uses; otherwise it uses the duration_seconds you declare. Charges nothing and holds nothing.",
|
|
122030
122738
|
"parameters": [
|
|
122031
122739
|
{
|
|
122032
122740
|
"schema": {
|
|
@@ -122121,12 +122829,12 @@
|
|
|
122121
122829
|
"/api/v1/creative-hub/subtitles/generate": {
|
|
122122
122830
|
"post": {
|
|
122123
122831
|
"operationId": "creativeHubGenerateSubtitles",
|
|
122124
|
-
"summary": "
|
|
122832
|
+
"summary": "Add burned-in subtitles to a library video",
|
|
122125
122833
|
"tags": [
|
|
122126
122834
|
"creative-hub",
|
|
122127
122835
|
"creative-generation"
|
|
122128
122836
|
],
|
|
122129
|
-
"description": "
|
|
122837
|
+
"description": "Transcribe the audio of a video already in the team's Asset Library (asset_id, up to 10 minutes) with a speech-to-text model, optionally translate the captions to the requested language, and burn them into a new copy of the video with the chosen text colour and position. No new footage is generated: the copy keeps the source video's AI classification. Charges per second of video, with a minimum charge per job, at the current price list. The amount is held on the duration recorded on the asset when it has one and on the duration_seconds you declare otherwise, and settled on the duration measured during transcription, which can be more than the amount held; creativeHubEstimateSubtitles returns the exact amount. Poll with creativeHubGetGenerationStatus; the subtitled video is saved as a new asset next to the original.",
|
|
122130
122838
|
"requestBody": {
|
|
122131
122839
|
"required": true,
|
|
122132
122840
|
"content": {
|
|
@@ -122397,7 +123105,7 @@
|
|
|
122397
123105
|
"tags": [
|
|
122398
123106
|
"creative-hub"
|
|
122399
123107
|
],
|
|
122400
|
-
"description": "Returns
|
|
123108
|
+
"description": "Returns the AI credits available for Creative Hub generation: the purchased balance, the grant balance, the spendable total of the two, the credits already used and the monthly cap when one is set.",
|
|
122401
123109
|
"security": [
|
|
122402
123110
|
{
|
|
122403
123111
|
"bearerAuth": []
|
|
@@ -122419,7 +123127,6 @@
|
|
|
122419
123127
|
"monthly_cap",
|
|
122420
123128
|
"monthly_used",
|
|
122421
123129
|
"spendable",
|
|
122422
|
-
"total_purchased",
|
|
122423
123130
|
"total_used"
|
|
122424
123131
|
],
|
|
122425
123132
|
"properties": {
|
|
@@ -122445,9 +123152,6 @@
|
|
|
122445
123152
|
"spendable": {
|
|
122446
123153
|
"type": "number"
|
|
122447
123154
|
},
|
|
122448
|
-
"total_purchased": {
|
|
122449
|
-
"type": "number"
|
|
122450
|
-
},
|
|
122451
123155
|
"total_used": {
|
|
122452
123156
|
"type": "number"
|
|
122453
123157
|
}
|
|
@@ -122867,12 +123571,12 @@
|
|
|
122867
123571
|
"/api/v1/creative-hub/ugc/models": {
|
|
122868
123572
|
"get": {
|
|
122869
123573
|
"operationId": "creativeHubListUgcModels",
|
|
122870
|
-
"summary": "List available UGC avatar/lip-sync models and
|
|
123574
|
+
"summary": "List available UGC avatar/lip-sync models and generation modes",
|
|
122871
123575
|
"tags": [
|
|
122872
123576
|
"creative-hub",
|
|
122873
123577
|
"creative-generation"
|
|
122874
123578
|
],
|
|
122875
|
-
"description": "Returns the curated UGC avatar/lip-sync model choices and the
|
|
123579
|
+
"description": "Returns the curated UGC avatar/lip-sync model choices and the generation `mode` catalog (talking head, product review, how-to, unboxing, showcase) available to the composer.",
|
|
122876
123580
|
"security": [
|
|
122877
123581
|
{
|
|
122878
123582
|
"bearerAuth": []
|
|
@@ -122973,12 +123677,12 @@
|
|
|
122973
123677
|
"/api/v1/creative-hub/ugc/generate": {
|
|
122974
123678
|
"post": {
|
|
122975
123679
|
"operationId": "creativeHubGenerateUgc",
|
|
122976
|
-
"summary": "Generate a UGC video
|
|
123680
|
+
"summary": "Generate a UGC ad video",
|
|
122977
123681
|
"tags": [
|
|
122978
123682
|
"creative-hub",
|
|
122979
123683
|
"creative-generation"
|
|
122980
123684
|
],
|
|
122981
|
-
"description": "
|
|
123685
|
+
"description": "Generate a 3 to 15 second creator-style ad video for Meta, TikTok, Instagram or YouTube. Input: your own script (mode your_script), a script the server writes from a catalog product, a hook and the Brand Kit (mode ai_script), or a product photo held in frame (mode product_hand), plus a synthetic presenter avatar (avatar_id) from the Wevion library or the team's own avatars. The job renders on a third-party video model with lip-sync. Charges a start-frame fee plus a per-billable-second rate (8 to 15 s; the per-second rate is multiplied by 0.7 at 480p and by 2 at 1080p), plus small fees for the AI script, the product photo and captions, all at the current price list and held before the job starts (creativeHubEstimateUgc returns the exact amount and its ceiling). Returns a generation id to poll with creativeHubGetUgcGeneration; the video is saved to the team's Asset Library.",
|
|
122982
123686
|
"requestBody": {
|
|
122983
123687
|
"required": true,
|
|
122984
123688
|
"content": {
|
|
@@ -123211,7 +123915,6 @@
|
|
|
123211
123915
|
"required": [
|
|
123212
123916
|
"created_at",
|
|
123213
123917
|
"credits_estimated",
|
|
123214
|
-
"estimated_cost_cents",
|
|
123215
123918
|
"generation_id",
|
|
123216
123919
|
"polling_interval_ms",
|
|
123217
123920
|
"status"
|
|
@@ -123223,9 +123926,6 @@
|
|
|
123223
123926
|
"credits_estimated": {
|
|
123224
123927
|
"type": "integer"
|
|
123225
123928
|
},
|
|
123226
|
-
"estimated_cost_cents": {
|
|
123227
|
-
"type": "integer"
|
|
123228
|
-
},
|
|
123229
123929
|
"generation_id": {
|
|
123230
123930
|
"type": "string"
|
|
123231
123931
|
},
|
|
@@ -123419,7 +124119,7 @@
|
|
|
123419
124119
|
"creative-hub",
|
|
123420
124120
|
"creative-generation"
|
|
123421
124121
|
],
|
|
123422
|
-
"description": "Returns the deterministic credit estimate for a UGC generation
|
|
124122
|
+
"description": "Returns the deterministic credit estimate for a UGC generation, from the same billing input the generate endpoint charges from. With script_word_count and has_product_image supplied, credits is the exact charge; otherwise it is a floor and credits_max the ceiling the charge never exceeds. No I/O.",
|
|
123423
124123
|
"requestBody": {
|
|
123424
124124
|
"required": true,
|
|
123425
124125
|
"content": {
|
|
@@ -123527,8 +124227,7 @@
|
|
|
123527
124227
|
"breakdown",
|
|
123528
124228
|
"billable_seconds",
|
|
123529
124229
|
"duration_source",
|
|
123530
|
-
"resolution_multiplier"
|
|
123531
|
-
"pricing_version"
|
|
124230
|
+
"resolution_multiplier"
|
|
123532
124231
|
],
|
|
123533
124232
|
"properties": {
|
|
123534
124233
|
"credits": {
|
|
@@ -123594,9 +124293,6 @@
|
|
|
123594
124293
|
},
|
|
123595
124294
|
"resolution_multiplier": {
|
|
123596
124295
|
"type": "number"
|
|
123597
|
-
},
|
|
123598
|
-
"pricing_version": {
|
|
123599
|
-
"type": "string"
|
|
123600
124296
|
}
|
|
123601
124297
|
}
|
|
123602
124298
|
}
|
|
@@ -124667,12 +125363,12 @@
|
|
|
124667
125363
|
"/api/v1/creative-hub/video-studio/generate": {
|
|
124668
125364
|
"post": {
|
|
124669
125365
|
"operationId": "creativeHubGenerateCinematicVideo",
|
|
124670
|
-
"summary": "
|
|
125366
|
+
"summary": "Animate an image into a campaign video clip",
|
|
124671
125367
|
"tags": [
|
|
124672
125368
|
"creative-hub",
|
|
124673
125369
|
"creative-generation"
|
|
124674
125370
|
],
|
|
124675
|
-
"description": "
|
|
125371
|
+
"description": "Turn a start-frame image (image_url, required) into a 4 to 10 second campaign video clip from a scene description (prompt), an aspect ratio and an optional end-frame image (end_image_url) the clip closes on. Text-to-video is not supported. The provider field selects one of three third-party video models, each with its own durations and its own per-second price, in the order the enum lists them: 5 or 10 s (default), then 4, 6 or 8 s, then 5 or 10 s. The price comes from the current price list and is held before the job starts (creativeHubEstimateCinematicVideo returns the exact amount for a provider and duration). Both frames are confirmed end to end only on the first provider in the enum; on the other two they are sent to the model but their handling is not verified yet. Output resolution is fixed by the model. Returns a generation id to poll with creativeHubGetCinematicVideoGeneration; the clip is saved to the team's Asset Library.",
|
|
124676
125372
|
"requestBody": {
|
|
124677
125373
|
"required": true,
|
|
124678
125374
|
"content": {
|
|
@@ -124818,7 +125514,6 @@
|
|
|
124818
125514
|
"required": [
|
|
124819
125515
|
"created_at",
|
|
124820
125516
|
"credits_estimated",
|
|
124821
|
-
"estimated_cost_cents",
|
|
124822
125517
|
"generation_id",
|
|
124823
125518
|
"polling_interval_ms",
|
|
124824
125519
|
"status"
|
|
@@ -124830,9 +125525,6 @@
|
|
|
124830
125525
|
"credits_estimated": {
|
|
124831
125526
|
"type": "integer"
|
|
124832
125527
|
},
|
|
124833
|
-
"estimated_cost_cents": {
|
|
124834
|
-
"type": "number"
|
|
124835
|
-
},
|
|
124836
125528
|
"generation_id": {
|
|
124837
125529
|
"type": "string"
|
|
124838
125530
|
},
|
|
@@ -126876,12 +127568,12 @@
|
|
|
126876
127568
|
"/api/v1/creative-hub/generations/{id}": {
|
|
126877
127569
|
"get": {
|
|
126878
127570
|
"operationId": "creativeHubGetGenerationStatus",
|
|
126879
|
-
"summary": "Get
|
|
127571
|
+
"summary": "Get voiceover, avatar or subtitle generation status",
|
|
126880
127572
|
"tags": [
|
|
126881
127573
|
"creative-hub",
|
|
126882
127574
|
"creative-generation"
|
|
126883
127575
|
],
|
|
126884
|
-
"description": "
|
|
127576
|
+
"description": "Return the status of a voiceover, avatar or subtitle generation started by the team (queued, processing, completed, failed), the credits charged and, once completed, the URLs of the resulting assets in the team's Asset Library. Read only, and limited to those three: image creatives, cinematic images, cinematic videos and UGC videos are not served here, each has its own detail operation.",
|
|
126885
127577
|
"parameters": [
|
|
126886
127578
|
{
|
|
126887
127579
|
"schema": {
|
|
@@ -131785,6 +132477,172 @@
|
|
|
131785
132477
|
}
|
|
131786
132478
|
}
|
|
131787
132479
|
},
|
|
132480
|
+
"/api/v1/device-behavior-search": {
|
|
132481
|
+
"get": {
|
|
132482
|
+
"operationId": "getApiV1DeviceBehaviorSearch",
|
|
132483
|
+
"summary": "List the Meta behaviors for desktop OS and browser targeting",
|
|
132484
|
+
"tags": [
|
|
132485
|
+
"targeting"
|
|
132486
|
+
],
|
|
132487
|
+
"description": "Proxies Meta Marketing API `search?type=adTargetingCategory&class=behaviors` and keeps only the two \"Digital activities\" folders Ads Manager uses for device targeting: \"Operating System Used\" (Windows 10, Mac OS X, …) and \"Internet Browser Used\" (Chrome, Safari, Microsoft Edge, …). Meta has no first-class targeting field for desktop OS or browser (`user_os` is mobile-only), so these go into `targeting.flexible_spec` as behaviors; the IDs returned here are what the ad-set `desktop_os` / `browsers` fields accept. Meta owns the list, so it is queried live rather than mirrored in code. With `account_id` omitted the token is borrowed from any accessible ad account. Returns `degraded: true` with empty lists when no usable token exists or Meta is unreachable, so the caller can tell an outage from an empty folder.",
|
|
132488
|
+
"parameters": [
|
|
132489
|
+
{
|
|
132490
|
+
"schema": {
|
|
132491
|
+
"type": "string"
|
|
132492
|
+
},
|
|
132493
|
+
"in": "query",
|
|
132494
|
+
"name": "account_id",
|
|
132495
|
+
"required": false,
|
|
132496
|
+
"description": "Ad account whose Graph token is borrowed for the call. Optional: the list Meta returns is its global one, identical for every account. Omit it and any accessible ad account with a usable token is used (the bulk grid has an account per row, not per page)."
|
|
132497
|
+
}
|
|
132498
|
+
],
|
|
132499
|
+
"security": [
|
|
132500
|
+
{
|
|
132501
|
+
"bearerAuth": []
|
|
132502
|
+
}
|
|
132503
|
+
],
|
|
132504
|
+
"responses": {
|
|
132505
|
+
"200": {
|
|
132506
|
+
"description": "Successful response",
|
|
132507
|
+
"content": {
|
|
132508
|
+
"application/json": {
|
|
132509
|
+
"schema": {
|
|
132510
|
+
"type": "object",
|
|
132511
|
+
"required": [
|
|
132512
|
+
"degraded",
|
|
132513
|
+
"browsers",
|
|
132514
|
+
"operating_systems"
|
|
132515
|
+
],
|
|
132516
|
+
"properties": {
|
|
132517
|
+
"degraded": {
|
|
132518
|
+
"type": "boolean"
|
|
132519
|
+
},
|
|
132520
|
+
"browsers": {
|
|
132521
|
+
"type": "array",
|
|
132522
|
+
"items": {
|
|
132523
|
+
"type": "object",
|
|
132524
|
+
"required": [
|
|
132525
|
+
"id",
|
|
132526
|
+
"name"
|
|
132527
|
+
],
|
|
132528
|
+
"properties": {
|
|
132529
|
+
"id": {
|
|
132530
|
+
"description": "Meta behavior ID, sent verbatim in targeting.flexible_spec[].behaviors[].id",
|
|
132531
|
+
"type": "string"
|
|
132532
|
+
},
|
|
132533
|
+
"name": {
|
|
132534
|
+
"description": "Display name as Meta returns it, e.g. \"Facebook access (OS): Windows 10\"",
|
|
132535
|
+
"type": "string"
|
|
132536
|
+
}
|
|
132537
|
+
}
|
|
132538
|
+
}
|
|
132539
|
+
},
|
|
132540
|
+
"operating_systems": {
|
|
132541
|
+
"type": "array",
|
|
132542
|
+
"items": {
|
|
132543
|
+
"type": "object",
|
|
132544
|
+
"required": [
|
|
132545
|
+
"id",
|
|
132546
|
+
"name"
|
|
132547
|
+
],
|
|
132548
|
+
"properties": {
|
|
132549
|
+
"id": {
|
|
132550
|
+
"description": "Meta behavior ID, sent verbatim in targeting.flexible_spec[].behaviors[].id",
|
|
132551
|
+
"type": "string"
|
|
132552
|
+
},
|
|
132553
|
+
"name": {
|
|
132554
|
+
"description": "Display name as Meta returns it, e.g. \"Facebook access (OS): Windows 10\"",
|
|
132555
|
+
"type": "string"
|
|
132556
|
+
}
|
|
132557
|
+
}
|
|
132558
|
+
}
|
|
132559
|
+
}
|
|
132560
|
+
}
|
|
132561
|
+
}
|
|
132562
|
+
}
|
|
132563
|
+
}
|
|
132564
|
+
},
|
|
132565
|
+
"401": {
|
|
132566
|
+
"description": "Unauthorized - missing or invalid bearer token",
|
|
132567
|
+
"content": {
|
|
132568
|
+
"application/json": {
|
|
132569
|
+
"schema": {
|
|
132570
|
+
"type": "object",
|
|
132571
|
+
"required": [
|
|
132572
|
+
"statusCode",
|
|
132573
|
+
"error",
|
|
132574
|
+
"message"
|
|
132575
|
+
],
|
|
132576
|
+
"properties": {
|
|
132577
|
+
"statusCode": {
|
|
132578
|
+
"type": "integer"
|
|
132579
|
+
},
|
|
132580
|
+
"error": {
|
|
132581
|
+
"type": "string"
|
|
132582
|
+
},
|
|
132583
|
+
"message": {
|
|
132584
|
+
"type": "string"
|
|
132585
|
+
}
|
|
132586
|
+
}
|
|
132587
|
+
}
|
|
132588
|
+
}
|
|
132589
|
+
}
|
|
132590
|
+
},
|
|
132591
|
+
"404": {
|
|
132592
|
+
"description": "Resource not found",
|
|
132593
|
+
"content": {
|
|
132594
|
+
"application/json": {
|
|
132595
|
+
"schema": {
|
|
132596
|
+
"type": "object",
|
|
132597
|
+
"required": [
|
|
132598
|
+
"statusCode",
|
|
132599
|
+
"error",
|
|
132600
|
+
"message"
|
|
132601
|
+
],
|
|
132602
|
+
"properties": {
|
|
132603
|
+
"statusCode": {
|
|
132604
|
+
"type": "integer"
|
|
132605
|
+
},
|
|
132606
|
+
"error": {
|
|
132607
|
+
"type": "string"
|
|
132608
|
+
},
|
|
132609
|
+
"message": {
|
|
132610
|
+
"type": "string"
|
|
132611
|
+
}
|
|
132612
|
+
}
|
|
132613
|
+
}
|
|
132614
|
+
}
|
|
132615
|
+
}
|
|
132616
|
+
},
|
|
132617
|
+
"500": {
|
|
132618
|
+
"description": "Internal server error",
|
|
132619
|
+
"content": {
|
|
132620
|
+
"application/json": {
|
|
132621
|
+
"schema": {
|
|
132622
|
+
"type": "object",
|
|
132623
|
+
"required": [
|
|
132624
|
+
"statusCode",
|
|
132625
|
+
"error",
|
|
132626
|
+
"message"
|
|
132627
|
+
],
|
|
132628
|
+
"properties": {
|
|
132629
|
+
"statusCode": {
|
|
132630
|
+
"type": "integer"
|
|
132631
|
+
},
|
|
132632
|
+
"error": {
|
|
132633
|
+
"type": "string"
|
|
132634
|
+
},
|
|
132635
|
+
"message": {
|
|
132636
|
+
"type": "string"
|
|
132637
|
+
}
|
|
132638
|
+
}
|
|
132639
|
+
}
|
|
132640
|
+
}
|
|
132641
|
+
}
|
|
132642
|
+
}
|
|
132643
|
+
}
|
|
132644
|
+
}
|
|
132645
|
+
},
|
|
131788
132646
|
"/api/v1/device-push/register": {
|
|
131789
132647
|
"post": {
|
|
131790
132648
|
"operationId": "registerDevicePushToken",
|
|
@@ -150648,11 +151506,39 @@
|
|
|
150648
151506
|
}
|
|
150649
151507
|
}
|
|
150650
151508
|
},
|
|
151509
|
+
"403": {
|
|
151510
|
+
"description": "Forbidden - caller lacks the required role/permission",
|
|
151511
|
+
"content": {
|
|
151512
|
+
"application/json": {
|
|
151513
|
+
"schema": {
|
|
151514
|
+
"type": "object",
|
|
151515
|
+
"required": [
|
|
151516
|
+
"statusCode",
|
|
151517
|
+
"error",
|
|
151518
|
+
"message"
|
|
151519
|
+
],
|
|
151520
|
+
"properties": {
|
|
151521
|
+
"statusCode": {
|
|
151522
|
+
"type": "number"
|
|
151523
|
+
},
|
|
151524
|
+
"error": {
|
|
151525
|
+
"type": "string"
|
|
151526
|
+
},
|
|
151527
|
+
"message": {
|
|
151528
|
+
"type": "string"
|
|
151529
|
+
}
|
|
151530
|
+
}
|
|
151531
|
+
}
|
|
151532
|
+
}
|
|
151533
|
+
}
|
|
151534
|
+
},
|
|
150651
151535
|
"404": {
|
|
150652
|
-
"description": "
|
|
151536
|
+
"description": "The selected Meta token could not be resolved in the active workspace. `code` says which of the three: TOKEN_UNKNOWN (the row no longer exists - reselect the connection), TOKEN_OUT_OF_SCOPE (it belongs to another workspace), SCOPE_UNRESOLVED (the caller workspace could not be determined). Absent when the 404 is a rejected `x-team-id` scope instead.",
|
|
150653
151537
|
"content": {
|
|
150654
151538
|
"application/json": {
|
|
150655
151539
|
"schema": {
|
|
151540
|
+
"additionalProperties": false,
|
|
151541
|
+
"description": "The selected Meta token could not be resolved in the active workspace. `code` says which of the three: TOKEN_UNKNOWN (the row no longer exists - reselect the connection), TOKEN_OUT_OF_SCOPE (it belongs to another workspace), SCOPE_UNRESOLVED (the caller workspace could not be determined). Absent when the 404 is a rejected `x-team-id` scope instead.",
|
|
150656
151542
|
"type": "object",
|
|
150657
151543
|
"required": [
|
|
150658
151544
|
"statusCode",
|
|
@@ -150668,6 +151554,28 @@
|
|
|
150668
151554
|
},
|
|
150669
151555
|
"message": {
|
|
150670
151556
|
"type": "string"
|
|
151557
|
+
},
|
|
151558
|
+
"code": {
|
|
151559
|
+
"anyOf": [
|
|
151560
|
+
{
|
|
151561
|
+
"type": "string",
|
|
151562
|
+
"enum": [
|
|
151563
|
+
"TOKEN_UNKNOWN"
|
|
151564
|
+
]
|
|
151565
|
+
},
|
|
151566
|
+
{
|
|
151567
|
+
"type": "string",
|
|
151568
|
+
"enum": [
|
|
151569
|
+
"TOKEN_OUT_OF_SCOPE"
|
|
151570
|
+
]
|
|
151571
|
+
},
|
|
151572
|
+
{
|
|
151573
|
+
"type": "string",
|
|
151574
|
+
"enum": [
|
|
151575
|
+
"SCOPE_UNRESOLVED"
|
|
151576
|
+
]
|
|
151577
|
+
}
|
|
151578
|
+
]
|
|
150671
151579
|
}
|
|
150672
151580
|
}
|
|
150673
151581
|
}
|
|
@@ -156358,6 +157266,256 @@
|
|
|
156358
157266
|
]
|
|
156359
157267
|
}
|
|
156360
157268
|
},
|
|
157269
|
+
"/api/v1/meta/lead-forms/{form_id}/leads": {
|
|
157270
|
+
"get": {
|
|
157271
|
+
"operationId": "getApiV1MetaLeadFormsByFormIdLeads",
|
|
157272
|
+
"summary": "List the leads collected by a Meta Instant Form",
|
|
157273
|
+
"tags": [
|
|
157274
|
+
"meta"
|
|
157275
|
+
],
|
|
157276
|
+
"description": "Reads the answers a form has collected (`GET /{form_id}/leads`) so they can be seen in Wevion instead of only in the Meta Lead Center. The Page access token is resolved server-side from the connected Page; the caller never handles Meta tokens. Paging is by cursor: pass the `after` returned by the previous call. Requires the `leads_retrieval` permission on the Page token — without it Meta refuses and the refusal is returned as 422, never as an empty list.",
|
|
157277
|
+
"parameters": [
|
|
157278
|
+
{
|
|
157279
|
+
"schema": {
|
|
157280
|
+
"minLength": 1,
|
|
157281
|
+
"type": "string"
|
|
157282
|
+
},
|
|
157283
|
+
"in": "query",
|
|
157284
|
+
"name": "page_id",
|
|
157285
|
+
"required": true,
|
|
157286
|
+
"description": "Page that owns the form; resolves the Page token."
|
|
157287
|
+
},
|
|
157288
|
+
{
|
|
157289
|
+
"schema": {
|
|
157290
|
+
"type": "string"
|
|
157291
|
+
},
|
|
157292
|
+
"in": "query",
|
|
157293
|
+
"name": "after",
|
|
157294
|
+
"required": false,
|
|
157295
|
+
"description": "Cursor from the previous page."
|
|
157296
|
+
},
|
|
157297
|
+
{
|
|
157298
|
+
"schema": {
|
|
157299
|
+
"minimum": 1,
|
|
157300
|
+
"maximum": 500,
|
|
157301
|
+
"default": 100,
|
|
157302
|
+
"type": "integer"
|
|
157303
|
+
},
|
|
157304
|
+
"in": "query",
|
|
157305
|
+
"name": "limit",
|
|
157306
|
+
"required": false
|
|
157307
|
+
},
|
|
157308
|
+
{
|
|
157309
|
+
"schema": {
|
|
157310
|
+
"minLength": 1,
|
|
157311
|
+
"type": "string"
|
|
157312
|
+
},
|
|
157313
|
+
"in": "path",
|
|
157314
|
+
"name": "form_id",
|
|
157315
|
+
"required": true,
|
|
157316
|
+
"description": "Meta leadgen form id."
|
|
157317
|
+
},
|
|
157318
|
+
{
|
|
157319
|
+
"schema": {
|
|
157320
|
+
"format": "uuid",
|
|
157321
|
+
"type": "string"
|
|
157322
|
+
},
|
|
157323
|
+
"in": "header",
|
|
157324
|
+
"name": "x-team-id",
|
|
157325
|
+
"required": false,
|
|
157326
|
+
"description": "Explicit team (workspace) scope: a team.id the caller belongs to."
|
|
157327
|
+
},
|
|
157328
|
+
{
|
|
157329
|
+
"schema": {
|
|
157330
|
+
"type": "string"
|
|
157331
|
+
},
|
|
157332
|
+
"in": "header",
|
|
157333
|
+
"name": "x-active-scope",
|
|
157334
|
+
"required": false,
|
|
157335
|
+
"description": "Active scope selector in `<scopeType>:<uuid>` form, e.g. `organization:<organization_id>` or `team:<team_id>`. Omit the header for the all-workspaces view."
|
|
157336
|
+
}
|
|
157337
|
+
],
|
|
157338
|
+
"responses": {
|
|
157339
|
+
"200": {
|
|
157340
|
+
"description": "One page of leads collected by the form.",
|
|
157341
|
+
"content": {
|
|
157342
|
+
"application/json": {
|
|
157343
|
+
"schema": {
|
|
157344
|
+
"additionalProperties": false,
|
|
157345
|
+
"description": "One page of leads collected by the form.",
|
|
157346
|
+
"type": "object",
|
|
157347
|
+
"required": [
|
|
157348
|
+
"leads",
|
|
157349
|
+
"after"
|
|
157350
|
+
],
|
|
157351
|
+
"properties": {
|
|
157352
|
+
"leads": {
|
|
157353
|
+
"type": "array",
|
|
157354
|
+
"items": {
|
|
157355
|
+
"additionalProperties": false,
|
|
157356
|
+
"type": "object",
|
|
157357
|
+
"required": [
|
|
157358
|
+
"id",
|
|
157359
|
+
"created_time",
|
|
157360
|
+
"fields"
|
|
157361
|
+
],
|
|
157362
|
+
"properties": {
|
|
157363
|
+
"id": {
|
|
157364
|
+
"description": "Meta lead id.",
|
|
157365
|
+
"type": "string"
|
|
157366
|
+
},
|
|
157367
|
+
"created_time": {
|
|
157368
|
+
"description": "When the person submitted the form.",
|
|
157369
|
+
"anyOf": [
|
|
157370
|
+
{
|
|
157371
|
+
"type": "string"
|
|
157372
|
+
},
|
|
157373
|
+
{
|
|
157374
|
+
"type": "null"
|
|
157375
|
+
}
|
|
157376
|
+
]
|
|
157377
|
+
},
|
|
157378
|
+
"fields": {
|
|
157379
|
+
"description": "Answers in the order the form asks them; the key is the question key on Meta.",
|
|
157380
|
+
"type": "array",
|
|
157381
|
+
"items": {
|
|
157382
|
+
"additionalProperties": false,
|
|
157383
|
+
"type": "object",
|
|
157384
|
+
"required": [
|
|
157385
|
+
"name",
|
|
157386
|
+
"value"
|
|
157387
|
+
],
|
|
157388
|
+
"properties": {
|
|
157389
|
+
"name": {
|
|
157390
|
+
"type": "string"
|
|
157391
|
+
},
|
|
157392
|
+
"value": {
|
|
157393
|
+
"type": "string"
|
|
157394
|
+
}
|
|
157395
|
+
}
|
|
157396
|
+
}
|
|
157397
|
+
}
|
|
157398
|
+
}
|
|
157399
|
+
}
|
|
157400
|
+
},
|
|
157401
|
+
"after": {
|
|
157402
|
+
"description": "Cursor for the next page, null when this is the last one.",
|
|
157403
|
+
"anyOf": [
|
|
157404
|
+
{
|
|
157405
|
+
"type": "string"
|
|
157406
|
+
},
|
|
157407
|
+
{
|
|
157408
|
+
"type": "null"
|
|
157409
|
+
}
|
|
157410
|
+
]
|
|
157411
|
+
}
|
|
157412
|
+
}
|
|
157413
|
+
}
|
|
157414
|
+
}
|
|
157415
|
+
}
|
|
157416
|
+
},
|
|
157417
|
+
"401": {
|
|
157418
|
+
"description": "Unauthorized - missing or invalid bearer token",
|
|
157419
|
+
"content": {
|
|
157420
|
+
"application/json": {
|
|
157421
|
+
"schema": {
|
|
157422
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
157423
|
+
}
|
|
157424
|
+
}
|
|
157425
|
+
}
|
|
157426
|
+
},
|
|
157427
|
+
"403": {
|
|
157428
|
+
"description": "The Page is not connected to the caller team.",
|
|
157429
|
+
"content": {
|
|
157430
|
+
"application/json": {
|
|
157431
|
+
"schema": {
|
|
157432
|
+
"additionalProperties": false,
|
|
157433
|
+
"description": "The Page is not connected to the caller team.",
|
|
157434
|
+
"type": "object",
|
|
157435
|
+
"required": [
|
|
157436
|
+
"statusCode",
|
|
157437
|
+
"error",
|
|
157438
|
+
"message"
|
|
157439
|
+
],
|
|
157440
|
+
"properties": {
|
|
157441
|
+
"statusCode": {
|
|
157442
|
+
"type": "number"
|
|
157443
|
+
},
|
|
157444
|
+
"error": {
|
|
157445
|
+
"type": "string"
|
|
157446
|
+
},
|
|
157447
|
+
"message": {
|
|
157448
|
+
"type": "string"
|
|
157449
|
+
}
|
|
157450
|
+
}
|
|
157451
|
+
}
|
|
157452
|
+
}
|
|
157453
|
+
}
|
|
157454
|
+
},
|
|
157455
|
+
"422": {
|
|
157456
|
+
"description": "Meta refused the read: missing leads_retrieval permission, unknown form, and similar.",
|
|
157457
|
+
"content": {
|
|
157458
|
+
"application/json": {
|
|
157459
|
+
"schema": {
|
|
157460
|
+
"additionalProperties": false,
|
|
157461
|
+
"description": "Meta refused the read: missing leads_retrieval permission, unknown form, and similar.",
|
|
157462
|
+
"type": "object",
|
|
157463
|
+
"required": [
|
|
157464
|
+
"statusCode",
|
|
157465
|
+
"error",
|
|
157466
|
+
"message"
|
|
157467
|
+
],
|
|
157468
|
+
"properties": {
|
|
157469
|
+
"statusCode": {
|
|
157470
|
+
"type": "number"
|
|
157471
|
+
},
|
|
157472
|
+
"error": {
|
|
157473
|
+
"type": "string"
|
|
157474
|
+
},
|
|
157475
|
+
"message": {
|
|
157476
|
+
"type": "string"
|
|
157477
|
+
}
|
|
157478
|
+
}
|
|
157479
|
+
}
|
|
157480
|
+
}
|
|
157481
|
+
}
|
|
157482
|
+
},
|
|
157483
|
+
"500": {
|
|
157484
|
+
"description": "Unexpected server error.",
|
|
157485
|
+
"content": {
|
|
157486
|
+
"application/json": {
|
|
157487
|
+
"schema": {
|
|
157488
|
+
"additionalProperties": false,
|
|
157489
|
+
"description": "Unexpected server error.",
|
|
157490
|
+
"type": "object",
|
|
157491
|
+
"required": [
|
|
157492
|
+
"statusCode",
|
|
157493
|
+
"error",
|
|
157494
|
+
"message"
|
|
157495
|
+
],
|
|
157496
|
+
"properties": {
|
|
157497
|
+
"statusCode": {
|
|
157498
|
+
"type": "number"
|
|
157499
|
+
},
|
|
157500
|
+
"error": {
|
|
157501
|
+
"type": "string"
|
|
157502
|
+
},
|
|
157503
|
+
"message": {
|
|
157504
|
+
"type": "string"
|
|
157505
|
+
}
|
|
157506
|
+
}
|
|
157507
|
+
}
|
|
157508
|
+
}
|
|
157509
|
+
}
|
|
157510
|
+
}
|
|
157511
|
+
},
|
|
157512
|
+
"security": [
|
|
157513
|
+
{
|
|
157514
|
+
"bearerAuth": []
|
|
157515
|
+
}
|
|
157516
|
+
]
|
|
157517
|
+
}
|
|
157518
|
+
},
|
|
156361
157519
|
"/api/v1/meta/users/deactivate": {
|
|
156362
157520
|
"post": {
|
|
156363
157521
|
"operationId": "postApiV1MetaUsersDeactivate",
|
|
@@ -159194,6 +160352,12 @@
|
|
|
159194
160352
|
"enum": [
|
|
159195
160353
|
"adset"
|
|
159196
160354
|
]
|
|
160355
|
+
},
|
|
160356
|
+
{
|
|
160357
|
+
"type": "string",
|
|
160358
|
+
"enum": [
|
|
160359
|
+
"ad"
|
|
160360
|
+
]
|
|
159197
160361
|
}
|
|
159198
160362
|
]
|
|
159199
160363
|
},
|
|
@@ -159350,6 +160514,12 @@
|
|
|
159350
160514
|
"enum": [
|
|
159351
160515
|
"adset"
|
|
159352
160516
|
]
|
|
160517
|
+
},
|
|
160518
|
+
{
|
|
160519
|
+
"type": "string",
|
|
160520
|
+
"enum": [
|
|
160521
|
+
"ad"
|
|
160522
|
+
]
|
|
159353
160523
|
}
|
|
159354
160524
|
]
|
|
159355
160525
|
},
|
|
@@ -159488,6 +160658,12 @@
|
|
|
159488
160658
|
"enum": [
|
|
159489
160659
|
"adset"
|
|
159490
160660
|
]
|
|
160661
|
+
},
|
|
160662
|
+
{
|
|
160663
|
+
"type": "string",
|
|
160664
|
+
"enum": [
|
|
160665
|
+
"ad"
|
|
160666
|
+
]
|
|
159491
160667
|
}
|
|
159492
160668
|
]
|
|
159493
160669
|
},
|
|
@@ -159606,6 +160782,12 @@
|
|
|
159606
160782
|
"enum": [
|
|
159607
160783
|
"adset"
|
|
159608
160784
|
]
|
|
160785
|
+
},
|
|
160786
|
+
{
|
|
160787
|
+
"type": "string",
|
|
160788
|
+
"enum": [
|
|
160789
|
+
"ad"
|
|
160790
|
+
]
|
|
159609
160791
|
}
|
|
159610
160792
|
]
|
|
159611
160793
|
}
|
|
@@ -173631,7 +174813,7 @@
|
|
|
173631
174813
|
"tags": [
|
|
173632
174814
|
"partner"
|
|
173633
174815
|
],
|
|
173634
|
-
"description": "Assegna uno slug vanity nuovo
|
|
174816
|
+
"description": "Assegna uno slug vanity nuovo; il precedente smette di essere il primario e continua a risolvere. Gli alias sono STORICIZZATI e mai riassegnati: i link già pubblicati continuano a funzionare e la loro attribuzione non cambia. 409 quando lo slug non è assegnabile — anche quando a prenderlo è stata una richiesta concorrente — o quando le rinomine concesse nella finestra di 12 mesi sono esaurite.",
|
|
173635
174817
|
"requestBody": {
|
|
173636
174818
|
"required": true,
|
|
173637
174819
|
"content": {
|
|
@@ -245716,7 +246898,7 @@
|
|
|
245716
246898
|
"tags": [
|
|
245717
246899
|
"smm"
|
|
245718
246900
|
],
|
|
245719
|
-
"description": "Publishes the given content to the selected connected accounts and returns a per-account outcome. When postId is provided, persists the outcomes and final status on that existing team post.",
|
|
246901
|
+
"description": "Publishes the given content to the selected connected accounts and returns a per-account outcome. When postId is provided, persists the outcomes and final status on that existing team post. A post whose approval workflow blocks it (approval_status pending or rejected) is refused with 409 and is never sent to the platforms; a post with no approval_status (the teams that do not use the approval workflow) publishes normally.",
|
|
245720
246902
|
"requestBody": {
|
|
245721
246903
|
"required": true,
|
|
245722
246904
|
"content": {
|
|
@@ -245855,6 +247037,25 @@
|
|
|
245855
247037
|
}
|
|
245856
247038
|
}
|
|
245857
247039
|
}
|
|
247040
|
+
},
|
|
247041
|
+
"409": {
|
|
247042
|
+
"description": "Conflict - resource state prevents the operation",
|
|
247043
|
+
"content": {
|
|
247044
|
+
"application/json": {
|
|
247045
|
+
"schema": {
|
|
247046
|
+
"additionalProperties": false,
|
|
247047
|
+
"type": "object",
|
|
247048
|
+
"required": [
|
|
247049
|
+
"error"
|
|
247050
|
+
],
|
|
247051
|
+
"properties": {
|
|
247052
|
+
"error": {
|
|
247053
|
+
"type": "string"
|
|
247054
|
+
}
|
|
247055
|
+
}
|
|
247056
|
+
}
|
|
247057
|
+
}
|
|
247058
|
+
}
|
|
245858
247059
|
}
|
|
245859
247060
|
}
|
|
245860
247061
|
}
|
|
@@ -259082,10 +260283,11 @@
|
|
|
259082
260283
|
],
|
|
259083
260284
|
"responses": {
|
|
259084
260285
|
"200": {
|
|
259085
|
-
"description": "
|
|
260286
|
+
"description": "CSV file with the active blacklist entries.",
|
|
259086
260287
|
"content": {
|
|
259087
|
-
"
|
|
260288
|
+
"text/csv": {
|
|
259088
260289
|
"schema": {
|
|
260290
|
+
"description": "CSV file content.",
|
|
259089
260291
|
"type": "string"
|
|
259090
260292
|
}
|
|
259091
260293
|
}
|
|
@@ -264479,10 +265681,11 @@
|
|
|
264479
265681
|
],
|
|
264480
265682
|
"responses": {
|
|
264481
265683
|
"200": {
|
|
264482
|
-
"description": "
|
|
265684
|
+
"description": "CSV file with the matching click rows.",
|
|
264483
265685
|
"content": {
|
|
264484
|
-
"
|
|
265686
|
+
"text/csv": {
|
|
264485
265687
|
"schema": {
|
|
265688
|
+
"description": "CSV file content.",
|
|
264486
265689
|
"type": "string"
|
|
264487
265690
|
}
|
|
264488
265691
|
}
|
|
@@ -265692,10 +266895,11 @@
|
|
|
265692
266895
|
],
|
|
265693
266896
|
"responses": {
|
|
265694
266897
|
"200": {
|
|
265695
|
-
"description": "
|
|
266898
|
+
"description": "CSV file with the matching conversions.",
|
|
265696
266899
|
"content": {
|
|
265697
|
-
"
|
|
266900
|
+
"text/csv": {
|
|
265698
266901
|
"schema": {
|
|
266902
|
+
"description": "CSV file content.",
|
|
265699
266903
|
"type": "string"
|
|
265700
266904
|
}
|
|
265701
266905
|
}
|
|
@@ -274195,10 +275399,11 @@
|
|
|
274195
275399
|
],
|
|
274196
275400
|
"responses": {
|
|
274197
275401
|
"200": {
|
|
274198
|
-
"description": "
|
|
275402
|
+
"description": "CSV file with the form leads; columns are dynamic.",
|
|
274199
275403
|
"content": {
|
|
274200
|
-
"
|
|
275404
|
+
"text/csv": {
|
|
274201
275405
|
"schema": {
|
|
275406
|
+
"description": "CSV file content.",
|
|
274202
275407
|
"type": "string"
|
|
274203
275408
|
}
|
|
274204
275409
|
}
|
|
@@ -279837,10 +281042,11 @@
|
|
|
279837
281042
|
],
|
|
279838
281043
|
"responses": {
|
|
279839
281044
|
"200": {
|
|
279840
|
-
"description": "
|
|
281045
|
+
"description": "CSV file with the matching leads; columns are dynamic.",
|
|
279841
281046
|
"content": {
|
|
279842
|
-
"
|
|
281047
|
+
"text/csv": {
|
|
279843
281048
|
"schema": {
|
|
281049
|
+
"description": "CSV file content.",
|
|
279844
281050
|
"type": "string"
|
|
279845
281051
|
}
|
|
279846
281052
|
}
|
|
@@ -317848,7 +319054,7 @@
|
|
|
317848
319054
|
"tags": [
|
|
317849
319055
|
"bulk-launch"
|
|
317850
319056
|
],
|
|
317851
|
-
"description": "Accepts a full campaign payload built by the frontend campaign creator and dispatches the launch as an asynchronous job processed by the bulk-launch SQS workers, stamped with the ACTIVE workspace team (`x-team-id` / team scope required — 400 `SCOPE_TEAM_REQUIRED` otherwise). Every referenced resource (ad account, fan page, pixel) must belong to the active workspace or the dispatch is rejected with 403 `RESOURCE_NOT_IN_ACTIVE_WORKSPACE`. Returns the worker_run_id that must be used to poll for progress via /api/v1/bulk-launch/status/:workerRunId.",
|
|
319057
|
+
"description": "Accepts a full campaign payload built by the frontend campaign creator and dispatches the launch as an asynchronous job processed by the bulk-launch SQS workers, stamped with the ACTIVE workspace team (`x-team-id` / team scope required — 400 `SCOPE_TEAM_REQUIRED` otherwise). Every referenced resource (ad account, fan page, pixel) must belong to the active workspace or the dispatch is rejected with 403 `RESOURCE_NOT_IN_ACTIVE_WORKSPACE`. Returns the worker_run_id that must be used to poll for progress via /api/v1/bulk-launch/status/:workerRunId. The payload may carry `comment_moderation_filter` (Meta `brand_safety_config`, written at AD-SET level on every ad set this launch creates) to disable or restrict comments; the field is behind the runtime flag `ad_comments_control_enabled` and a payload that carries it is rejected with 503 `FEATURE_DISABLED`, naming the offending paths, when the flag is off for the caller. A payload without the field is unaffected.",
|
|
317852
319058
|
"requestBody": {
|
|
317853
319059
|
"required": true,
|
|
317854
319060
|
"content": {
|
|
@@ -318717,6 +319923,71 @@
|
|
|
318717
319923
|
"items": {
|
|
318718
319924
|
"type": "string"
|
|
318719
319925
|
}
|
|
319926
|
+
},
|
|
319927
|
+
"comment_moderation_filter": {
|
|
319928
|
+
"description": "Meta ad-set comment moderation — who may comment on the ads of this ad set. One of: AD_DISABLED, AD_FOLLOWER, DEFAULT, FOLLOWED, FOLLOWER, FRIENDS, FRIENDS_AND_FOLLOWERS, FRIENDS_OF_FRIENDS, SUBSCRIBED, TAGGED. AD_DISABLED turns comments off (and hides the comments already there); DEFAULT lets everyone comment. Omit the field to leave the ad set as it is. Meta refuses to turn comments off on social issues, elections or politics ads.",
|
|
319929
|
+
"anyOf": [
|
|
319930
|
+
{
|
|
319931
|
+
"type": "string",
|
|
319932
|
+
"enum": [
|
|
319933
|
+
"AD_DISABLED"
|
|
319934
|
+
]
|
|
319935
|
+
},
|
|
319936
|
+
{
|
|
319937
|
+
"type": "string",
|
|
319938
|
+
"enum": [
|
|
319939
|
+
"AD_FOLLOWER"
|
|
319940
|
+
]
|
|
319941
|
+
},
|
|
319942
|
+
{
|
|
319943
|
+
"type": "string",
|
|
319944
|
+
"enum": [
|
|
319945
|
+
"DEFAULT"
|
|
319946
|
+
]
|
|
319947
|
+
},
|
|
319948
|
+
{
|
|
319949
|
+
"type": "string",
|
|
319950
|
+
"enum": [
|
|
319951
|
+
"FOLLOWED"
|
|
319952
|
+
]
|
|
319953
|
+
},
|
|
319954
|
+
{
|
|
319955
|
+
"type": "string",
|
|
319956
|
+
"enum": [
|
|
319957
|
+
"FOLLOWER"
|
|
319958
|
+
]
|
|
319959
|
+
},
|
|
319960
|
+
{
|
|
319961
|
+
"type": "string",
|
|
319962
|
+
"enum": [
|
|
319963
|
+
"FRIENDS"
|
|
319964
|
+
]
|
|
319965
|
+
},
|
|
319966
|
+
{
|
|
319967
|
+
"type": "string",
|
|
319968
|
+
"enum": [
|
|
319969
|
+
"FRIENDS_AND_FOLLOWERS"
|
|
319970
|
+
]
|
|
319971
|
+
},
|
|
319972
|
+
{
|
|
319973
|
+
"type": "string",
|
|
319974
|
+
"enum": [
|
|
319975
|
+
"FRIENDS_OF_FRIENDS"
|
|
319976
|
+
]
|
|
319977
|
+
},
|
|
319978
|
+
{
|
|
319979
|
+
"type": "string",
|
|
319980
|
+
"enum": [
|
|
319981
|
+
"SUBSCRIBED"
|
|
319982
|
+
]
|
|
319983
|
+
},
|
|
319984
|
+
{
|
|
319985
|
+
"type": "string",
|
|
319986
|
+
"enum": [
|
|
319987
|
+
"TAGGED"
|
|
319988
|
+
]
|
|
319989
|
+
}
|
|
319990
|
+
]
|
|
318720
319991
|
}
|
|
318721
319992
|
}
|
|
318722
319993
|
}
|
|
@@ -318960,6 +320231,54 @@
|
|
|
318960
320231
|
}
|
|
318961
320232
|
}
|
|
318962
320233
|
}
|
|
320234
|
+
},
|
|
320235
|
+
"503": {
|
|
320236
|
+
"description": "Service unavailable",
|
|
320237
|
+
"content": {
|
|
320238
|
+
"application/json": {
|
|
320239
|
+
"schema": {
|
|
320240
|
+
"anyOf": [
|
|
320241
|
+
{
|
|
320242
|
+
"additionalProperties": false,
|
|
320243
|
+
"type": "object",
|
|
320244
|
+
"required": [
|
|
320245
|
+
"error",
|
|
320246
|
+
"code"
|
|
320247
|
+
],
|
|
320248
|
+
"properties": {
|
|
320249
|
+
"error": {
|
|
320250
|
+
"type": "string"
|
|
320251
|
+
},
|
|
320252
|
+
"code": {
|
|
320253
|
+
"description": "FEATURE_DISABLED",
|
|
320254
|
+
"type": "string"
|
|
320255
|
+
}
|
|
320256
|
+
}
|
|
320257
|
+
},
|
|
320258
|
+
{
|
|
320259
|
+
"additionalProperties": false,
|
|
320260
|
+
"type": "object",
|
|
320261
|
+
"required": [
|
|
320262
|
+
"statusCode",
|
|
320263
|
+
"error",
|
|
320264
|
+
"message"
|
|
320265
|
+
],
|
|
320266
|
+
"properties": {
|
|
320267
|
+
"statusCode": {
|
|
320268
|
+
"type": "number"
|
|
320269
|
+
},
|
|
320270
|
+
"error": {
|
|
320271
|
+
"type": "string"
|
|
320272
|
+
},
|
|
320273
|
+
"message": {
|
|
320274
|
+
"type": "string"
|
|
320275
|
+
}
|
|
320276
|
+
}
|
|
320277
|
+
}
|
|
320278
|
+
]
|
|
320279
|
+
}
|
|
320280
|
+
}
|
|
320281
|
+
}
|
|
318963
320282
|
}
|
|
318964
320283
|
}
|
|
318965
320284
|
}
|
|
@@ -319297,7 +320616,7 @@
|
|
|
319297
320616
|
"tags": [
|
|
319298
320617
|
"bulk-launch"
|
|
319299
320618
|
],
|
|
319300
|
-
"description": "Accepts a nested campaign payload where each ad set contains its own specific ads. Creates 1 campaign -> N ad sets -> M ads per ad set (no cartesian product) and dispatches the work to the bulk-launch SQS workers, stamped with the ACTIVE workspace team (`x-team-id` / team scope required — 400 `SCOPE_TEAM_REQUIRED` otherwise). The referenced ad account (and, for Meta, fan page / pixel / token) must belong to the active workspace or the dispatch is rejected with 403 `RESOURCE_NOT_IN_ACTIVE_WORKSPACE`. Returns the worker_run_id used to poll progress.",
|
|
320619
|
+
"description": "Accepts a nested campaign payload where each ad set contains its own specific ads. Creates 1 campaign -> N ad sets -> M ads per ad set (no cartesian product) and dispatches the work to the bulk-launch SQS workers, stamped with the ACTIVE workspace team (`x-team-id` / team scope required — 400 `SCOPE_TEAM_REQUIRED` otherwise). The referenced ad account (and, for Meta, fan page / pixel / token) must belong to the active workspace or the dispatch is rejected with 403 `RESOURCE_NOT_IN_ACTIVE_WORKSPACE`. Returns the worker_run_id used to poll progress. Each ad set may carry `comment_moderation_filter` (Meta `brand_safety_config`, an ad-set level field) to disable or restrict comments; the field is behind the runtime flag `ad_comments_control_enabled` and a payload that carries it is rejected with 503 `FEATURE_DISABLED`, naming the offending paths, when the flag is off for the caller. A payload without the field is unaffected.",
|
|
319301
320620
|
"requestBody": {
|
|
319302
320621
|
"required": true,
|
|
319303
320622
|
"content": {
|
|
@@ -320275,6 +321594,20 @@
|
|
|
320275
321594
|
"type": "integer"
|
|
320276
321595
|
}
|
|
320277
321596
|
},
|
|
321597
|
+
"desktop_os": {
|
|
321598
|
+
"description": "Meta behavior IDs under \"Digital activities > Operating System Used\" (e.g. \"Facebook access (OS): Windows 10\"). Published as a targeting.flexible_spec group; AND-ed with `browsers` when both are set. Discoverable via GET /api/v1/device-behavior-search. Not the mobile `os` field.",
|
|
321599
|
+
"type": "array",
|
|
321600
|
+
"items": {
|
|
321601
|
+
"type": "string"
|
|
321602
|
+
}
|
|
321603
|
+
},
|
|
321604
|
+
"browsers": {
|
|
321605
|
+
"description": "Meta behavior IDs under \"Digital activities > Internet Browser Used\" (e.g. \"Facebook access (browser): Chrome\"). Published as a targeting.flexible_spec group; AND-ed with `desktop_os` when both are set. Discoverable via GET /api/v1/device-behavior-search.",
|
|
321606
|
+
"type": "array",
|
|
321607
|
+
"items": {
|
|
321608
|
+
"type": "string"
|
|
321609
|
+
}
|
|
321610
|
+
},
|
|
320278
321611
|
"included_audiences": {
|
|
320279
321612
|
"description": "Custom audience IDs to include",
|
|
320280
321613
|
"type": "array",
|
|
@@ -320289,6 +321622,71 @@
|
|
|
320289
321622
|
"type": "string"
|
|
320290
321623
|
}
|
|
320291
321624
|
},
|
|
321625
|
+
"comment_moderation_filter": {
|
|
321626
|
+
"description": "Meta ad-set comment moderation — who may comment on the ads of this ad set. One of: AD_DISABLED, AD_FOLLOWER, DEFAULT, FOLLOWED, FOLLOWER, FRIENDS, FRIENDS_AND_FOLLOWERS, FRIENDS_OF_FRIENDS, SUBSCRIBED, TAGGED. AD_DISABLED turns comments off (and hides the comments already there); DEFAULT lets everyone comment. Omit the field to leave the ad set as it is. Meta refuses to turn comments off on social issues, elections or politics ads.",
|
|
321627
|
+
"anyOf": [
|
|
321628
|
+
{
|
|
321629
|
+
"type": "string",
|
|
321630
|
+
"enum": [
|
|
321631
|
+
"AD_DISABLED"
|
|
321632
|
+
]
|
|
321633
|
+
},
|
|
321634
|
+
{
|
|
321635
|
+
"type": "string",
|
|
321636
|
+
"enum": [
|
|
321637
|
+
"AD_FOLLOWER"
|
|
321638
|
+
]
|
|
321639
|
+
},
|
|
321640
|
+
{
|
|
321641
|
+
"type": "string",
|
|
321642
|
+
"enum": [
|
|
321643
|
+
"DEFAULT"
|
|
321644
|
+
]
|
|
321645
|
+
},
|
|
321646
|
+
{
|
|
321647
|
+
"type": "string",
|
|
321648
|
+
"enum": [
|
|
321649
|
+
"FOLLOWED"
|
|
321650
|
+
]
|
|
321651
|
+
},
|
|
321652
|
+
{
|
|
321653
|
+
"type": "string",
|
|
321654
|
+
"enum": [
|
|
321655
|
+
"FOLLOWER"
|
|
321656
|
+
]
|
|
321657
|
+
},
|
|
321658
|
+
{
|
|
321659
|
+
"type": "string",
|
|
321660
|
+
"enum": [
|
|
321661
|
+
"FRIENDS"
|
|
321662
|
+
]
|
|
321663
|
+
},
|
|
321664
|
+
{
|
|
321665
|
+
"type": "string",
|
|
321666
|
+
"enum": [
|
|
321667
|
+
"FRIENDS_AND_FOLLOWERS"
|
|
321668
|
+
]
|
|
321669
|
+
},
|
|
321670
|
+
{
|
|
321671
|
+
"type": "string",
|
|
321672
|
+
"enum": [
|
|
321673
|
+
"FRIENDS_OF_FRIENDS"
|
|
321674
|
+
]
|
|
321675
|
+
},
|
|
321676
|
+
{
|
|
321677
|
+
"type": "string",
|
|
321678
|
+
"enum": [
|
|
321679
|
+
"SUBSCRIBED"
|
|
321680
|
+
]
|
|
321681
|
+
},
|
|
321682
|
+
{
|
|
321683
|
+
"type": "string",
|
|
321684
|
+
"enum": [
|
|
321685
|
+
"TAGGED"
|
|
321686
|
+
]
|
|
321687
|
+
}
|
|
321688
|
+
]
|
|
321689
|
+
},
|
|
320292
321690
|
"ads": {
|
|
320293
321691
|
"description": "Ads within this ad set",
|
|
320294
321692
|
"minItems": 1,
|
|
@@ -320305,7 +321703,8 @@
|
|
|
320305
321703
|
],
|
|
320306
321704
|
"properties": {
|
|
320307
321705
|
"name": {
|
|
320308
|
-
"description": "Ad name",
|
|
321706
|
+
"description": "Ad name. Measured against Meta v25.0 on 2026-09-12: 400 characters are accepted and stored, 401 is rejected — so the schema refuses 401 here instead of letting the whole ad creation fail at Meta. Same number as the ad set name; it is the one limit in the product (AD_NAME_MAX_LENGTH).",
|
|
321707
|
+
"maxLength": 400,
|
|
320309
321708
|
"type": "string"
|
|
320310
321709
|
},
|
|
320311
321710
|
"cta": {
|
|
@@ -320763,6 +322162,54 @@
|
|
|
320763
322162
|
}
|
|
320764
322163
|
}
|
|
320765
322164
|
}
|
|
322165
|
+
},
|
|
322166
|
+
"503": {
|
|
322167
|
+
"description": "Service unavailable",
|
|
322168
|
+
"content": {
|
|
322169
|
+
"application/json": {
|
|
322170
|
+
"schema": {
|
|
322171
|
+
"anyOf": [
|
|
322172
|
+
{
|
|
322173
|
+
"additionalProperties": false,
|
|
322174
|
+
"type": "object",
|
|
322175
|
+
"required": [
|
|
322176
|
+
"error",
|
|
322177
|
+
"code"
|
|
322178
|
+
],
|
|
322179
|
+
"properties": {
|
|
322180
|
+
"error": {
|
|
322181
|
+
"type": "string"
|
|
322182
|
+
},
|
|
322183
|
+
"code": {
|
|
322184
|
+
"description": "FEATURE_DISABLED",
|
|
322185
|
+
"type": "string"
|
|
322186
|
+
}
|
|
322187
|
+
}
|
|
322188
|
+
},
|
|
322189
|
+
{
|
|
322190
|
+
"additionalProperties": false,
|
|
322191
|
+
"type": "object",
|
|
322192
|
+
"required": [
|
|
322193
|
+
"statusCode",
|
|
322194
|
+
"error",
|
|
322195
|
+
"message"
|
|
322196
|
+
],
|
|
322197
|
+
"properties": {
|
|
322198
|
+
"statusCode": {
|
|
322199
|
+
"type": "number"
|
|
322200
|
+
},
|
|
322201
|
+
"error": {
|
|
322202
|
+
"type": "string"
|
|
322203
|
+
},
|
|
322204
|
+
"message": {
|
|
322205
|
+
"type": "string"
|
|
322206
|
+
}
|
|
322207
|
+
}
|
|
322208
|
+
}
|
|
322209
|
+
]
|
|
322210
|
+
}
|
|
322211
|
+
}
|
|
322212
|
+
}
|
|
320766
322213
|
}
|
|
320767
322214
|
}
|
|
320768
322215
|
}
|
|
@@ -330283,6 +331730,9 @@
|
|
|
330283
331730
|
"security": [
|
|
330284
331731
|
{
|
|
330285
331732
|
"bearerAuth": []
|
|
331733
|
+
},
|
|
331734
|
+
{
|
|
331735
|
+
"apiKeyAuth": []
|
|
330286
331736
|
}
|
|
330287
331737
|
],
|
|
330288
331738
|
"responses": {
|
|
@@ -330383,6 +331833,9 @@
|
|
|
330383
331833
|
"security": [
|
|
330384
331834
|
{
|
|
330385
331835
|
"bearerAuth": []
|
|
331836
|
+
},
|
|
331837
|
+
{
|
|
331838
|
+
"apiKeyAuth": []
|
|
330386
331839
|
}
|
|
330387
331840
|
],
|
|
330388
331841
|
"responses": {
|
|
@@ -330527,6 +331980,9 @@
|
|
|
330527
331980
|
"security": [
|
|
330528
331981
|
{
|
|
330529
331982
|
"bearerAuth": []
|
|
331983
|
+
},
|
|
331984
|
+
{
|
|
331985
|
+
"apiKeyAuth": []
|
|
330530
331986
|
}
|
|
330531
331987
|
],
|
|
330532
331988
|
"responses": {
|
|
@@ -330673,6 +332129,9 @@
|
|
|
330673
332129
|
"security": [
|
|
330674
332130
|
{
|
|
330675
332131
|
"bearerAuth": []
|
|
332132
|
+
},
|
|
332133
|
+
{
|
|
332134
|
+
"apiKeyAuth": []
|
|
330676
332135
|
}
|
|
330677
332136
|
],
|
|
330678
332137
|
"responses": {
|