@zernio/node 0.2.806 → 0.2.808

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.
@@ -1823,32 +1823,32 @@ export type billingSystem = 'metronome' | 'stripe' | 'shopify';
1823
1823
  */
1824
1824
  export type Blog = {
1825
1825
  /**
1826
- * Platform-native blog id (numeric string for Shopify).
1826
+ * Platform-native blog id. Shopify uses a numeric blog id. WordPress.com uses the numeric site id; self-hosted WordPress uses `1`, scoped to the connected account.
1827
1827
  */
1828
1828
  id?: string;
1829
- platform?: 'shopify';
1829
+ platform?: 'shopify' | 'wordpress';
1830
1830
  title?: string;
1831
1831
  /**
1832
- * URL slug of the blog.
1832
+ * URL slug on Shopify; site hostname on WordPress.
1833
1833
  */
1834
1834
  handle?: string;
1835
1835
  };
1836
1836
 
1837
- export type platform3 = 'shopify';
1837
+ export type platform3 = 'shopify' | 'wordpress';
1838
1838
 
1839
1839
  /**
1840
1840
  * An article inside a blog on the connected platform.
1841
1841
  */
1842
1842
  export type BlogArticle = {
1843
1843
  /**
1844
- * Platform-native article id (numeric string for Shopify).
1844
+ * Platform-native numeric article/post id.
1845
1845
  */
1846
1846
  id?: string;
1847
1847
  /**
1848
1848
  * Platform-native id of the blog the article belongs to.
1849
1849
  */
1850
1850
  blogId?: string;
1851
- platform?: 'shopify';
1851
+ platform?: 'shopify' | 'wordpress';
1852
1852
  title?: string;
1853
1853
  /**
1854
1854
  * Article body as HTML.
@@ -1858,9 +1858,12 @@ export type BlogArticle = {
1858
1858
  * URL slug of the article.
1859
1859
  */
1860
1860
  handle?: string;
1861
+ /**
1862
+ * Tag names. On WordPress, missing tag names are created and matching is case-insensitive.
1863
+ */
1861
1864
  tags?: Array<(string)>;
1862
1865
  /**
1863
- * Display name of the article author.
1866
+ * Shopify author display name, or numeric WordPress user id serialized as a string.
1864
1867
  */
1865
1868
  author?: (string) | null;
1866
1869
  /**
@@ -1879,13 +1882,32 @@ export type BlogArticle = {
1879
1882
  */
1880
1883
  isPublished?: boolean;
1881
1884
  /**
1882
- * When the article was (or is scheduled to be) published; null for drafts.
1885
+ * Publication time. On WordPress this is present only when status is `publish`; null for drafts, pending/private posts, and scheduled posts.
1883
1886
  */
1884
1887
  publishedAt?: (string) | null;
1888
+ /**
1889
+ * WordPress only. Native post status returned by WordPress; omitted for Shopify.
1890
+ */
1891
+ status?: 'publish' | 'future' | 'draft' | 'pending' | 'private';
1892
+ /**
1893
+ * WordPress only. Scheduled publication time in UTC when status is `future`; null for other WordPress statuses and omitted for Shopify.
1894
+ */
1895
+ publishDate?: (string) | null;
1896
+ /**
1897
+ * Creation time when the platform exposes one. WordPress returns null because its core date is the editable publication date.
1898
+ */
1885
1899
  createdAt?: (string) | null;
1900
+ /**
1901
+ * Last modification time. WordPress returns modified_gmt as UTC.
1902
+ */
1886
1903
  updatedAt?: (string) | null;
1887
1904
  };
1888
1905
 
1906
+ /**
1907
+ * WordPress only. Native post status returned by WordPress; omitted for Shopify.
1908
+ */
1909
+ export type status3 = 'publish' | 'future' | 'draft' | 'pending' | 'private';
1910
+
1889
1911
  /**
1890
1912
  * Bluesky post settings. Supports text posts with up to 4 images or a single video. threadItems creates a reply chain (Bluesky thread). Images exceeding 1MB are automatically compressed. Alt text supported via mediaItem properties. Use langs to tag post language for feed-generator filtering.
1891
1913
  *
@@ -2112,7 +2134,7 @@ export type BusinessAgentEventStatus = {
2112
2134
  updated_at: string;
2113
2135
  };
2114
2136
 
2115
- export type status3 = 'request_received' | 'processing' | 'sent' | 'failed' | 'skipped' | 'success';
2137
+ export type status4 = 'request_received' | 'processing' | 'sent' | 'failed' | 'skipped' | 'success';
2116
2138
 
2117
2139
  export type BusinessAgentFaq = BusinessAgentFaqInput & {
2118
2140
  id: string;
@@ -2209,7 +2231,7 @@ export type BusinessAgentSkill = BusinessAgentSkillInput & {
2209
2231
  /**
2210
2232
  * pending_review right after a write; blocked means Meta content review rejected it and the agent never applies it.
2211
2233
  */
2212
- export type status4 = 'active' | 'pending_review' | 'blocked';
2234
+ export type status5 = 'active' | 'pending_review' | 'blocked';
2213
2235
 
2214
2236
  export type BusinessAgentSkillInput = {
2215
2237
  /**
@@ -2311,7 +2333,7 @@ export type BusinessAgentUiSkillInput = {
2311
2333
 
2312
2334
  export type component_type = 'carousel_quick_reply' | 'carousel_url' | 'cta_url' | 'flow' | 'image' | 'interactive_list' | 'interactive_reply_buttons' | 'location' | 'location_request';
2313
2335
 
2314
- export type status5 = 'enabled' | 'disabled';
2336
+ export type status6 = 'enabled' | 'disabled';
2315
2337
 
2316
2338
  export type BusinessAgentWebsite = BusinessAgentWebsiteInput & {
2317
2339
  id: string;
@@ -2502,7 +2524,7 @@ export type channel = 'whatsapp' | 'pstn';
2502
2524
 
2503
2525
  export type direction = 'inbound' | 'outbound';
2504
2526
 
2505
- export type status6 = 'ringing' | 'answered' | 'ended' | 'failed';
2527
+ export type status7 = 'ringing' | 'answered' | 'ended' | 'failed';
2506
2528
 
2507
2529
  /**
2508
2530
  * Caller ID presented on the forwarded leg.
@@ -2860,7 +2882,7 @@ export type ConversionDestination = {
2860
2882
  * For LinkedIn, `inactive` means the rule is soft-deleted (`enabled: false`).
2861
2883
  *
2862
2884
  */
2863
- export type status7 = 'active' | 'inactive';
2885
+ export type status8 = 'active' | 'inactive';
2864
2886
 
2865
2887
  /**
2866
2888
  * A single conversion event to relay to the ad platform. All PII fields
@@ -3498,7 +3520,7 @@ export type objective = 'OUTCOME_ENGAGEMENT' | 'OUTCOME_SALES' | 'OUTCOME_LEADS'
3498
3520
  * newly created ad(s) after Meta accepts them.
3499
3521
  *
3500
3522
  */
3501
- export type status8 = 'ACTIVE' | 'PAUSED';
3523
+ export type status9 = 'ACTIVE' | 'PAUSED';
3502
3524
 
3503
3525
  /**
3504
3526
  * Campaign-level status, same semantics as `POST /v1/ads/create`. Defaults
@@ -3866,7 +3888,7 @@ export type privacy_level = 2;
3866
3888
  /**
3867
3889
  * 1=SCHEDULED, 2=ACTIVE, 3=COMPLETED, 4=CANCELED
3868
3890
  */
3869
- export type status9 = 1 | 2 | 3 | 4;
3891
+ export type status10 = 1 | 2 | 3 | 4;
3870
3892
 
3871
3893
  /**
3872
3894
  * 1=STAGE_INSTANCE, 2=VOICE, 3=EXTERNAL
@@ -4844,7 +4866,7 @@ export type InboxWebhookConversation = {
4844
4866
  contactId?: string;
4845
4867
  };
4846
4868
 
4847
- export type status10 = 'active' | 'archived';
4869
+ export type status11 = 'active' | 'archived';
4848
4870
 
4849
4871
  /**
4850
4872
  * The conversation object included in conversation lifecycle webhook payloads (conversation.started, conversation.control_changed).
@@ -6155,7 +6177,7 @@ export type PlatformAnalytics = {
6155
6177
  errorMessage?: (string) | null;
6156
6178
  };
6157
6179
 
6158
- export type status11 = 'published' | 'failed';
6180
+ export type status12 = 'published' | 'failed';
6159
6181
 
6160
6182
  /**
6161
6183
  * Sync state of analytics for this platform
@@ -6337,7 +6359,7 @@ export type Post = {
6337
6359
  /**
6338
6360
  * `cancelled` is set by DELETE /v1/posts/{postId}/unpublish once every platform entry has been removed from its platform (a post with published entries left becomes `partial`); cancelled posts can be edited and rescheduled like drafts.
6339
6361
  */
6340
- export type status12 = 'draft' | 'scheduled' | 'publishing' | 'published' | 'partial' | 'failed' | 'cancelled';
6362
+ export type status13 = 'draft' | 'scheduled' | 'publishing' | 'published' | 'partial' | 'failed' | 'cancelled';
6341
6363
 
6342
6364
  export type visibility = 'public' | 'private' | 'unlisted';
6343
6365
 
@@ -6532,7 +6554,9 @@ export type Product = {
6532
6554
  publishedAt?: (string) | null;
6533
6555
  };
6534
6556
 
6535
- export type status13 = 'active' | 'draft' | 'archived';
6557
+ export type platform7 = 'shopify';
6558
+
6559
+ export type status14 = 'active' | 'draft' | 'archived';
6536
6560
 
6537
6561
  export type ProductImage = {
6538
6562
  url?: string;
@@ -6952,7 +6976,7 @@ export type ReviewWebhookReview = {
6952
6976
  /**
6953
6977
  * Platform the review originated on. Currently Google Business Profile only.
6954
6978
  */
6955
- export type platform7 = 'googlebusiness';
6979
+ export type platform8 = 'googlebusiness';
6956
6980
 
6957
6981
  /**
6958
6982
  * A Meta Reach & Frequency prediction. Money values in whole units of the ad account currency.
@@ -7050,7 +7074,7 @@ export type contentType3 = 'story' | 'saved_story' | 'spotlight';
7050
7074
 
7051
7075
  export type SocialAccount = {
7052
7076
  _id: string;
7053
- platform: 'tiktok' | 'instagram' | 'facebook' | 'youtube' | 'linkedin' | 'twitter' | 'threads' | 'pinterest' | 'reddit' | 'bluesky' | 'googlebusiness' | 'telegram' | 'snapchat' | 'discord' | 'slack' | 'whatsapp' | 'linkedinads' | 'metaads' | 'pinterestads' | 'tiktokads' | 'xads' | 'googleads' | 'openaiads' | 'sms' | 'phone' | 'rcs';
7077
+ platform: 'tiktok' | 'instagram' | 'facebook' | 'youtube' | 'linkedin' | 'twitter' | 'threads' | 'pinterest' | 'reddit' | 'bluesky' | 'googlebusiness' | 'telegram' | 'snapchat' | 'discord' | 'slack' | 'whatsapp' | 'shopify' | 'wordpress' | 'linkedinads' | 'metaads' | 'pinterestads' | 'tiktokads' | 'xads' | 'googleads' | 'openaiads' | 'sms' | 'phone' | 'rcs';
7054
7078
  profileId: (string | Profile);
7055
7079
  username?: string;
7056
7080
  displayName?: string;
@@ -7126,7 +7150,7 @@ export type SocialAccount = {
7126
7150
  };
7127
7151
  };
7128
7152
 
7129
- export type platform8 = 'tiktok' | 'instagram' | 'facebook' | 'youtube' | 'linkedin' | 'twitter' | 'threads' | 'pinterest' | 'reddit' | 'bluesky' | 'googlebusiness' | 'telegram' | 'snapchat' | 'discord' | 'slack' | 'whatsapp' | 'linkedinads' | 'metaads' | 'pinterestads' | 'tiktokads' | 'xads' | 'googleads' | 'openaiads' | 'sms' | 'phone' | 'rcs';
7153
+ export type platform9 = 'tiktok' | 'instagram' | 'facebook' | 'youtube' | 'linkedin' | 'twitter' | 'threads' | 'pinterest' | 'reddit' | 'bluesky' | 'googlebusiness' | 'telegram' | 'snapchat' | 'discord' | 'slack' | 'whatsapp' | 'shopify' | 'wordpress' | 'linkedinads' | 'metaads' | 'pinterestads' | 'tiktokads' | 'xads' | 'googleads' | 'openaiads' | 'sms' | 'phone' | 'rcs';
7130
7154
 
7131
7155
  /**
7132
7156
  * Normalized, platform-agnostic ad-targeting spec. Every field is optional, an
@@ -7676,7 +7700,7 @@ export type TrackingTag = {
7676
7700
  ownerAdAccountId?: string;
7677
7701
  };
7678
7702
 
7679
- export type platform9 = 'metaads';
7703
+ export type platform10 = 'metaads';
7680
7704
 
7681
7705
  /**
7682
7706
  * Platform-native flavor of the tag (Meta: `pixel`).
@@ -7776,7 +7800,7 @@ export type UploadTokenResponse = {
7776
7800
  status?: 'pending' | 'completed' | 'expired';
7777
7801
  };
7778
7802
 
7779
- export type status14 = 'pending' | 'completed' | 'expired';
7803
+ export type status15 = 'pending' | 'completed' | 'expired';
7780
7804
 
7781
7805
  export type UploadTokenStatusResponse = {
7782
7806
  token?: string;
@@ -8251,7 +8275,7 @@ export type Verification = {
8251
8275
  resend?: boolean;
8252
8276
  };
8253
8277
 
8254
- export type status15 = 'pending' | 'approved' | 'expired' | 'max_attempts_reached' | 'canceled' | 'delivery_failed';
8278
+ export type status16 = 'pending' | 'approved' | 'expired' | 'max_attempts_reached' | 'canceled' | 'delivery_failed';
8255
8279
 
8256
8280
  export type channel3 = 'sms';
8257
8281
 
@@ -8370,7 +8394,7 @@ export type WebhookLog = {
8370
8394
  /**
8371
8395
  * Delivery outcome
8372
8396
  */
8373
- export type status16 = 'success' | 'failed';
8397
+ export type status17 = 'success' | 'failed';
8374
8398
 
8375
8399
  /**
8376
8400
  * Webhook payload for `account.ads.initial_sync_completed` events.
@@ -8482,7 +8506,7 @@ export type event = 'account.ads.initial_sync_completed';
8482
8506
  /**
8483
8507
  * Overall outcome of the initial sync.
8484
8508
  */
8485
- export type status17 = 'success' | 'failure';
8509
+ export type status18 = 'success' | 'failure';
8486
8510
 
8487
8511
  /**
8488
8512
  * Stable category for UX branching. New values may be added; existing ones are
@@ -9109,7 +9133,7 @@ export type WebhookPayloadComment = {
9109
9133
 
9110
9134
  export type event10 = 'comment.received';
9111
9135
 
9112
- export type platform10 = 'instagram' | 'facebook' | 'threads' | 'youtube' | 'linkedin' | 'bluesky' | 'reddit' | 'tiktok';
9136
+ export type platform11 = 'instagram' | 'facebook' | 'threads' | 'youtube' | 'linkedin' | 'bluesky' | 'reddit' | 'tiktok';
9113
9137
 
9114
9138
  /**
9115
9139
  * WhatsApp only. Who answers a conversation changed: Meta Business Agent took it over,
@@ -9283,7 +9307,7 @@ export type WebhookPayloadLead = {
9283
9307
 
9284
9308
  export type event14 = 'lead.received';
9285
9309
 
9286
- export type platform11 = 'facebook';
9310
+ export type platform12 = 'facebook';
9287
9311
 
9288
9312
  /**
9289
9313
  * Webhook payload for message received events
@@ -10163,7 +10187,7 @@ export type event19 = 'message.sent';
10163
10187
  /**
10164
10188
  * Every platform whose outgoing messages Zernio observes. sms is absent on purpose: its carrier receipts update delivery status and never raise message.sent.
10165
10189
  */
10166
- export type platform12 = 'instagram' | 'facebook' | 'telegram' | 'whatsapp' | 'twitter' | 'reddit' | 'bluesky' | 'slack' | 'tiktok';
10190
+ export type platform13 = 'instagram' | 'facebook' | 'telegram' | 'whatsapp' | 'twitter' | 'reddit' | 'bluesky' | 'slack' | 'tiktok';
10167
10191
 
10168
10192
  /**
10169
10193
  * WhatsApp send origin. whatsapp_business_app when sent from the WhatsApp Business phone app on a Coexistence number; cloud_api when sent through Zernio (dashboard, API, or broadcasts); meta_business_agent when Meta Business Agent answered on the number. Absent on non-WhatsApp platforms. Says where WhatsApp saw the send come from, not which Zernio surface produced it: read sentVia for that.
@@ -10360,7 +10384,7 @@ export type event22 = 'post.platform.published' | 'post.platform.failed' | 'post
10360
10384
  /**
10361
10385
  * Terminal status this event fires on. Matches the event suffix.
10362
10386
  */
10363
- export type status18 = 'published' | 'failed' | 'deleted';
10387
+ export type status19 = 'published' | 'failed' | 'deleted';
10364
10388
 
10365
10389
  /**
10366
10390
  * Webhook payload for reaction received events (WhatsApp, Telegram, Slack, Instagram, Facebook Messenger)
@@ -10620,12 +10644,12 @@ export type WebhookPayloadWhatsAppAccountNameStatusUpdated = {
10620
10644
 
10621
10645
  export type event28 = 'whatsapp.account.name_status_updated';
10622
10646
 
10623
- export type platform13 = 'whatsapp';
10647
+ export type platform14 = 'whatsapp';
10624
10648
 
10625
10649
  /**
10626
10650
  * Normalized from Meta's `decision` (REJECTED -> DECLINED, DEFERRED -> PENDING_REVIEW; the review is still open on DEFERRED, not a rejection).
10627
10651
  */
10628
- export type status19 = 'APPROVED' | 'DECLINED' | 'PENDING_REVIEW';
10652
+ export type status20 = 'APPROVED' | 'DECLINED' | 'PENDING_REVIEW';
10629
10653
 
10630
10654
  /**
10631
10655
  * Webhook payload for the `whatsapp.template.category_updated` event.
@@ -10774,7 +10798,7 @@ export type event30 = 'whatsapp.template.status_updated';
10774
10798
  * request before the template is actually removed.
10775
10799
  *
10776
10800
  */
10777
- export type status20 = 'APPROVED' | 'REJECTED' | 'PENDING' | 'PAUSED' | 'DISABLED' | 'IN_APPEAL' | 'PENDING_DELETION';
10801
+ export type status21 = 'APPROVED' | 'REJECTED' | 'PENDING' | 'PAUSED' | 'DISABLED' | 'IN_APPEAL' | 'PENDING_DELETION';
10778
10802
 
10779
10803
  export type WhatsAppBodyComponent = {
10780
10804
  type: 'body';
@@ -10923,7 +10947,7 @@ export type WhatsAppSandboxSession = {
10923
10947
  * list responses.
10924
10948
  *
10925
10949
  */
10926
- export type status21 = 'pending' | 'active';
10950
+ export type status22 = 'pending' | 'active';
10927
10951
 
10928
10952
  export type WhatsAppTemplateButton = {
10929
10953
  type: 'quick_reply' | 'url' | 'phone_number' | 'otp' | 'copy_code' | 'flow' | 'mpm' | 'catalog';
@@ -11081,7 +11105,7 @@ export type WorkflowExecutionEvent = {
11081
11105
 
11082
11106
  export type action2 = 'execution_started' | 'execution_completed' | 'execution_exited' | 'execution_paused' | 'execution_resumed' | 'node_started' | 'node_completed' | 'node_failed' | 'node_skipped';
11083
11107
 
11084
- export type status22 = 'success' | 'failed' | 'pending';
11108
+ export type status23 = 'success' | 'failed' | 'pending';
11085
11109
 
11086
11110
  /**
11087
11111
  * A node in a workflow graph. `config` shape depends on `type`.
@@ -15718,6 +15742,175 @@ export type ConnectShopifyWithTokenError = (unknown | {
15718
15742
  };
15719
15743
  });
15720
15744
 
15745
+ export type GetWordPressAuthUrlData = {
15746
+ query: {
15747
+ /**
15748
+ * Your Zernio profile ID (get from /v1/profiles).
15749
+ */
15750
+ profileId: string;
15751
+ /**
15752
+ * Custom redirect after connection. Must be an absolute http(s) URL or custom app scheme such as `myapp://callback`; relative and unsafe URLs return 400.
15753
+ */
15754
+ redirect_url?: string;
15755
+ };
15756
+ };
15757
+
15758
+ export type GetWordPressAuthUrlResponse = ({
15759
+ /**
15760
+ * WordPress.com URL to open in the user agent.
15761
+ */
15762
+ authUrl: string;
15763
+ /**
15764
+ * Authenticated, expiring OAuth state handled by the callback.
15765
+ */
15766
+ state: string;
15767
+ });
15768
+
15769
+ export type GetWordPressAuthUrlError = (unknown | {
15770
+ error?: string;
15771
+ } | {
15772
+ /**
15773
+ * Human-readable error message suitable for end-user display.
15774
+ */
15775
+ error: string;
15776
+ /**
15777
+ * Machine-readable error code. Stable across versions.
15778
+ */
15779
+ code: 'PAYMENT_REQUIRED';
15780
+ /**
15781
+ * Discriminator for which gate fired.
15782
+ */
15783
+ reason: 'free_tier_exceeded' | 'twitter_passthrough' | 'enterprise_required';
15784
+ /**
15785
+ * Link to the relevant documentation page.
15786
+ */
15787
+ documentation_url?: string;
15788
+ /**
15789
+ * Deep-link to send the end-user to. For
15790
+ * `free_tier_exceeded` and `twitter_passthrough` this opens
15791
+ * the add-payment-method drawer on the Zernio billing page.
15792
+ * For `enterprise_required` this is the Zernio enterprise
15793
+ * contact page.
15794
+ *
15795
+ */
15796
+ dashboard_url?: string;
15797
+ /**
15798
+ * Structured context for SDK clients that want to render their own UX. Keys vary by `reason`.
15799
+ */
15800
+ details?: {
15801
+ /**
15802
+ * How many accounts the free tier allows. Only set when reason=free_tier_exceeded.
15803
+ */
15804
+ free_tier_account_limit?: number;
15805
+ /**
15806
+ * How many accounts the team currently has connected. Set when reason=free_tier_exceeded or reason=enterprise_required.
15807
+ */
15808
+ current_account_count?: number;
15809
+ /**
15810
+ * Whether the team currently has a card on file in Stripe. Set when reason=free_tier_exceeded or reason=twitter_passthrough.
15811
+ */
15812
+ has_payment_method?: boolean;
15813
+ /**
15814
+ * The negotiated connected-account cap from the
15815
+ * team's enterprise contract. Self-service teams
15816
+ * have no cap and never receive this reason. Only
15817
+ * set when reason=enterprise_required.
15818
+ *
15819
+ */
15820
+ effective_account_limit?: number;
15821
+ };
15822
+ });
15823
+
15824
+ export type ConnectWordPressWithApplicationPasswordData = {
15825
+ body: {
15826
+ /**
15827
+ * Your Zernio profile ID (get from /v1/profiles).
15828
+ */
15829
+ profileId: string;
15830
+ /**
15831
+ * HTTPS base URL of the WordPress installation, including a subdirectory path when applicable.
15832
+ */
15833
+ siteUrl: string;
15834
+ /**
15835
+ * WordPress login name. A colon is not allowed.
15836
+ */
15837
+ username: string;
15838
+ /**
15839
+ * Application password created for the WordPress user. Spaces in WordPress display formatting are accepted.
15840
+ */
15841
+ applicationPassword: string;
15842
+ };
15843
+ };
15844
+
15845
+ export type ConnectWordPressWithApplicationPasswordResponse = ({
15846
+ account: {
15847
+ _id: string;
15848
+ platform: 'wordpress';
15849
+ /**
15850
+ * Hostname of the connected WordPress site.
15851
+ */
15852
+ username: string;
15853
+ /**
15854
+ * WordPress site title.
15855
+ */
15856
+ displayName: string;
15857
+ profileId: string;
15858
+ };
15859
+ });
15860
+
15861
+ export type ConnectWordPressWithApplicationPasswordError = (unknown | {
15862
+ /**
15863
+ * Human-readable error message suitable for end-user display.
15864
+ */
15865
+ error: string;
15866
+ /**
15867
+ * Machine-readable error code. Stable across versions.
15868
+ */
15869
+ code: 'PAYMENT_REQUIRED';
15870
+ /**
15871
+ * Discriminator for which gate fired.
15872
+ */
15873
+ reason: 'free_tier_exceeded' | 'twitter_passthrough' | 'enterprise_required';
15874
+ /**
15875
+ * Link to the relevant documentation page.
15876
+ */
15877
+ documentation_url?: string;
15878
+ /**
15879
+ * Deep-link to send the end-user to. For
15880
+ * `free_tier_exceeded` and `twitter_passthrough` this opens
15881
+ * the add-payment-method drawer on the Zernio billing page.
15882
+ * For `enterprise_required` this is the Zernio enterprise
15883
+ * contact page.
15884
+ *
15885
+ */
15886
+ dashboard_url?: string;
15887
+ /**
15888
+ * Structured context for SDK clients that want to render their own UX. Keys vary by `reason`.
15889
+ */
15890
+ details?: {
15891
+ /**
15892
+ * How many accounts the free tier allows. Only set when reason=free_tier_exceeded.
15893
+ */
15894
+ free_tier_account_limit?: number;
15895
+ /**
15896
+ * How many accounts the team currently has connected. Set when reason=free_tier_exceeded or reason=enterprise_required.
15897
+ */
15898
+ current_account_count?: number;
15899
+ /**
15900
+ * Whether the team currently has a card on file in Stripe. Set when reason=free_tier_exceeded or reason=twitter_passthrough.
15901
+ */
15902
+ has_payment_method?: boolean;
15903
+ /**
15904
+ * The negotiated connected-account cap from the
15905
+ * team's enterprise contract. Self-service teams
15906
+ * have no cap and never receive this reason. Only
15907
+ * set when reason=enterprise_required.
15908
+ *
15909
+ */
15910
+ effective_account_limit?: number;
15911
+ };
15912
+ });
15913
+
15721
15914
  export type ConfigureTikTokAdsBrandIdentityData = {
15722
15915
  body: {
15723
15916
  /**
@@ -21956,7 +22149,7 @@ export type GetInboxConversationMessagesResponse = ({
21956
22149
  createdAt?: string;
21957
22150
  attachments?: Array<{
21958
22151
  id?: string;
21959
- type?: 'image' | 'video' | 'audio' | 'file' | 'sticker' | 'share';
22152
+ type?: 'image' | 'video' | 'audio' | 'file' | 'sticker' | 'share' | 'template';
21960
22153
  /**
21961
22154
  * Instagram and Facebook only, and present only when it differs from `type`. Meta's own type before normalization: `ig_reel` and `reel` become `video`, while `ig_post`, `post`, `ig_story` and `story_mention` become `share`. A story mention is `type: "share"` with `originalType: "story_mention"`; render on this field, since `share` alone is ambiguous.
21962
22155
  */
@@ -21971,6 +22164,12 @@ export type GetInboxConversationMessagesResponse = ({
21971
22164
  refreshUrl?: (string) | null;
21972
22165
  filename?: (string) | null;
21973
22166
  previewUrl?: (string) | null;
22167
+ /**
22168
+ * Template content (title, subtitle, image, buttons) when type is template
22169
+ */
22170
+ payload?: {
22171
+ [key: string]: unknown;
22172
+ };
21974
22173
  }>;
21975
22174
  /**
21976
22175
  * Reddit message subject
@@ -42935,7 +43134,7 @@ export type GetTrackingTagStatsError = (unknown | {
42935
43134
  export type ListBlogsData = {
42936
43135
  path: {
42937
43136
  /**
42938
- * Connected Shopify SocialAccount id.
43137
+ * Connected Shopify or WordPress account id.
42939
43138
  */
42940
43139
  accountId: string;
42941
43140
  };
@@ -42952,7 +43151,7 @@ export type ListBlogsData = {
42952
43151
  };
42953
43152
 
42954
43153
  export type ListBlogsResponse = ({
42955
- platform?: 'shopify';
43154
+ platform?: 'shopify' | 'wordpress';
42956
43155
  blogs?: Array<Blog>;
42957
43156
  /**
42958
43157
  * Cursor for the next page; null when there are no more pages.
@@ -42992,18 +43191,18 @@ export type CreateBlogError = (ErrorResponse | {
42992
43191
  export type GetBlogData = {
42993
43192
  path: {
42994
43193
  /**
42995
- * Connected Shopify SocialAccount id.
43194
+ * Connected Shopify or WordPress account id.
42996
43195
  */
42997
43196
  accountId: string;
42998
43197
  /**
42999
- * Platform-native numeric blog id. Non-numeric values return 400.
43198
+ * Platform-native numeric blog/site id returned by the list operation.
43000
43199
  */
43001
43200
  blogId: string;
43002
43201
  };
43003
43202
  };
43004
43203
 
43005
43204
  export type GetBlogResponse = ({
43006
- platform?: 'shopify';
43205
+ platform?: 'shopify' | 'wordpress';
43007
43206
  blog?: Blog;
43008
43207
  });
43009
43208
 
@@ -43062,11 +43261,11 @@ export type DeleteBlogError = (ErrorResponse | {
43062
43261
  export type ListBlogArticlesData = {
43063
43262
  path: {
43064
43263
  /**
43065
- * Connected Shopify SocialAccount id.
43264
+ * Connected Shopify or WordPress account id.
43066
43265
  */
43067
43266
  accountId: string;
43068
43267
  /**
43069
- * Platform-native numeric blog id. Non-numeric values return 400.
43268
+ * Platform-native numeric blog/site id returned by the list operation.
43070
43269
  */
43071
43270
  blogId: string;
43072
43271
  };
@@ -43083,7 +43282,7 @@ export type ListBlogArticlesData = {
43083
43282
  };
43084
43283
 
43085
43284
  export type ListBlogArticlesResponse = ({
43086
- platform?: 'shopify';
43285
+ platform?: 'shopify' | 'wordpress';
43087
43286
  articles?: Array<BlogArticle>;
43088
43287
  /**
43089
43288
  * Cursor for the next page; null when there are no more pages.
@@ -43106,9 +43305,12 @@ export type CreateBlogArticleData = {
43106
43305
  * URL slug. Generated from the title when omitted.
43107
43306
  */
43108
43307
  handle?: string;
43308
+ /**
43309
+ * Tag names. WordPress resolves existing names case-insensitively and creates missing tags.
43310
+ */
43109
43311
  tags?: Array<(string)>;
43110
43312
  /**
43111
- * Display name of the article author.
43313
+ * Shopify author display name, or numeric WordPress user id serialized as a string. Assigning another WordPress user may require elevated capability.
43112
43314
  */
43113
43315
  author?: string;
43114
43316
  /**
@@ -43116,21 +43318,21 @@ export type CreateBlogArticleData = {
43116
43318
  */
43117
43319
  excerpt?: string;
43118
43320
  /**
43119
- * Featured image. The platform downloads it, so the URL must be publicly reachable.
43321
+ * Featured image from a public URL. WordPress downloads it into the media library; JPEG, PNG, GIF and WebP are accepted up to 10 MB.
43120
43322
  */
43121
43323
  image?: {
43122
43324
  url: string;
43123
43325
  altText?: string;
43124
43326
  };
43125
43327
  /**
43126
- * Search-engine overrides. Maps to Shopify global metafields (title_tag and description_tag).
43328
+ * Shopify only. Search-engine overrides mapped to global title_tag and description_tag metafields. WordPress rejects this field.
43127
43329
  */
43128
43330
  seo?: {
43129
43331
  title?: string;
43130
43332
  description?: string;
43131
43333
  };
43132
43334
  /**
43133
- * Set false to create the article as a draft.
43335
+ * Set false for a draft or true to publish. On WordPress false takes priority over a future publishDate; omission with no date defaults to draft.
43134
43336
  */
43135
43337
  isPublished?: boolean;
43136
43338
  /**
@@ -43140,18 +43342,18 @@ export type CreateBlogArticleData = {
43140
43342
  };
43141
43343
  path: {
43142
43344
  /**
43143
- * Connected Shopify SocialAccount id.
43345
+ * Connected Shopify or WordPress account id.
43144
43346
  */
43145
43347
  accountId: string;
43146
43348
  /**
43147
- * Platform-native numeric blog id. Non-numeric values return 400.
43349
+ * Platform-native numeric blog/site id returned by the list operation.
43148
43350
  */
43149
43351
  blogId: string;
43150
43352
  };
43151
43353
  };
43152
43354
 
43153
43355
  export type CreateBlogArticleResponse = ({
43154
- platform?: 'shopify';
43356
+ platform?: 'shopify' | 'wordpress';
43155
43357
  article?: BlogArticle;
43156
43358
  });
43157
43359
 
@@ -43162,7 +43364,7 @@ export type CreateBlogArticleError = (ErrorResponse | {
43162
43364
  export type GetBlogArticleData = {
43163
43365
  path: {
43164
43366
  /**
43165
- * Connected Shopify SocialAccount id.
43367
+ * Connected Shopify or WordPress account id.
43166
43368
  */
43167
43369
  accountId: string;
43168
43370
  /**
@@ -43170,14 +43372,14 @@ export type GetBlogArticleData = {
43170
43372
  */
43171
43373
  articleId: string;
43172
43374
  /**
43173
- * Platform-native numeric blog id. Non-numeric values return 400.
43375
+ * Platform-native numeric blog/site id returned by the list operation.
43174
43376
  */
43175
43377
  blogId: string;
43176
43378
  };
43177
43379
  };
43178
43380
 
43179
43381
  export type GetBlogArticleResponse = ({
43180
- platform?: 'shopify';
43382
+ platform?: 'shopify' | 'wordpress';
43181
43383
  article?: BlogArticle;
43182
43384
  });
43183
43385
 
@@ -43197,11 +43399,11 @@ export type UpdateBlogArticleData = {
43197
43399
  */
43198
43400
  handle?: string;
43199
43401
  /**
43200
- * Replaces the full tag list.
43402
+ * Replaces the full tag-name list. WordPress resolves existing names case-insensitively and creates missing tags.
43201
43403
  */
43202
43404
  tags?: Array<(string)>;
43203
43405
  /**
43204
- * Display name of the article author.
43406
+ * Shopify author display name, or numeric WordPress user id serialized as a string. Assigning another WordPress user may require elevated capability.
43205
43407
  */
43206
43408
  author?: string;
43207
43409
  /**
@@ -43209,21 +43411,21 @@ export type UpdateBlogArticleData = {
43209
43411
  */
43210
43412
  excerpt?: string;
43211
43413
  /**
43212
- * Featured image. The platform downloads it, so the URL must be publicly reachable.
43414
+ * Featured image from a public URL. WordPress downloads it into the media library; JPEG, PNG, GIF and WebP are accepted up to 10 MB. Omit to preserve it; null removal is not supported.
43213
43415
  */
43214
43416
  image?: {
43215
43417
  url: string;
43216
43418
  altText?: string;
43217
43419
  };
43218
43420
  /**
43219
- * Search-engine overrides. Maps to Shopify global metafields (title_tag and description_tag).
43421
+ * Shopify only. Search-engine overrides mapped to global title_tag and description_tag metafields. WordPress rejects this field.
43220
43422
  */
43221
43423
  seo?: {
43222
43424
  title?: string;
43223
43425
  description?: string;
43224
43426
  };
43225
43427
  /**
43226
- * Set false to unpublish the article back to a draft.
43428
+ * Set false to move to draft or true to publish. On WordPress false takes priority over a future publishDate; omission preserves status unless publishDate is sent.
43227
43429
  */
43228
43430
  isPublished?: boolean;
43229
43431
  /**
@@ -43233,7 +43435,7 @@ export type UpdateBlogArticleData = {
43233
43435
  };
43234
43436
  path: {
43235
43437
  /**
43236
- * Connected Shopify SocialAccount id.
43438
+ * Connected Shopify or WordPress account id.
43237
43439
  */
43238
43440
  accountId: string;
43239
43441
  /**
@@ -43241,14 +43443,14 @@ export type UpdateBlogArticleData = {
43241
43443
  */
43242
43444
  articleId: string;
43243
43445
  /**
43244
- * Platform-native numeric blog id. Non-numeric values return 400.
43446
+ * Platform-native numeric blog/site id returned by the list operation.
43245
43447
  */
43246
43448
  blogId: string;
43247
43449
  };
43248
43450
  };
43249
43451
 
43250
43452
  export type UpdateBlogArticleResponse = ({
43251
- platform?: 'shopify';
43453
+ platform?: 'shopify' | 'wordpress';
43252
43454
  article?: BlogArticle;
43253
43455
  });
43254
43456
 
@@ -43259,7 +43461,7 @@ export type UpdateBlogArticleError = (ErrorResponse | {
43259
43461
  export type DeleteBlogArticleData = {
43260
43462
  path: {
43261
43463
  /**
43262
- * Connected Shopify SocialAccount id.
43464
+ * Connected Shopify or WordPress account id.
43263
43465
  */
43264
43466
  accountId: string;
43265
43467
  /**
@@ -43267,7 +43469,7 @@ export type DeleteBlogArticleData = {
43267
43469
  */
43268
43470
  articleId: string;
43269
43471
  /**
43270
- * Platform-native numeric blog id. Non-numeric values return 400.
43472
+ * Platform-native numeric blog/site id returned by the list operation.
43271
43473
  */
43272
43474
  blogId: string;
43273
43475
  };