@zernio/node 0.2.807 → 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
  /**
@@ -42941,7 +43134,7 @@ export type GetTrackingTagStatsError = (unknown | {
42941
43134
  export type ListBlogsData = {
42942
43135
  path: {
42943
43136
  /**
42944
- * Connected Shopify SocialAccount id.
43137
+ * Connected Shopify or WordPress account id.
42945
43138
  */
42946
43139
  accountId: string;
42947
43140
  };
@@ -42958,7 +43151,7 @@ export type ListBlogsData = {
42958
43151
  };
42959
43152
 
42960
43153
  export type ListBlogsResponse = ({
42961
- platform?: 'shopify';
43154
+ platform?: 'shopify' | 'wordpress';
42962
43155
  blogs?: Array<Blog>;
42963
43156
  /**
42964
43157
  * Cursor for the next page; null when there are no more pages.
@@ -42998,18 +43191,18 @@ export type CreateBlogError = (ErrorResponse | {
42998
43191
  export type GetBlogData = {
42999
43192
  path: {
43000
43193
  /**
43001
- * Connected Shopify SocialAccount id.
43194
+ * Connected Shopify or WordPress account id.
43002
43195
  */
43003
43196
  accountId: string;
43004
43197
  /**
43005
- * Platform-native numeric blog id. Non-numeric values return 400.
43198
+ * Platform-native numeric blog/site id returned by the list operation.
43006
43199
  */
43007
43200
  blogId: string;
43008
43201
  };
43009
43202
  };
43010
43203
 
43011
43204
  export type GetBlogResponse = ({
43012
- platform?: 'shopify';
43205
+ platform?: 'shopify' | 'wordpress';
43013
43206
  blog?: Blog;
43014
43207
  });
43015
43208
 
@@ -43068,11 +43261,11 @@ export type DeleteBlogError = (ErrorResponse | {
43068
43261
  export type ListBlogArticlesData = {
43069
43262
  path: {
43070
43263
  /**
43071
- * Connected Shopify SocialAccount id.
43264
+ * Connected Shopify or WordPress account id.
43072
43265
  */
43073
43266
  accountId: string;
43074
43267
  /**
43075
- * Platform-native numeric blog id. Non-numeric values return 400.
43268
+ * Platform-native numeric blog/site id returned by the list operation.
43076
43269
  */
43077
43270
  blogId: string;
43078
43271
  };
@@ -43089,7 +43282,7 @@ export type ListBlogArticlesData = {
43089
43282
  };
43090
43283
 
43091
43284
  export type ListBlogArticlesResponse = ({
43092
- platform?: 'shopify';
43285
+ platform?: 'shopify' | 'wordpress';
43093
43286
  articles?: Array<BlogArticle>;
43094
43287
  /**
43095
43288
  * Cursor for the next page; null when there are no more pages.
@@ -43112,9 +43305,12 @@ export type CreateBlogArticleData = {
43112
43305
  * URL slug. Generated from the title when omitted.
43113
43306
  */
43114
43307
  handle?: string;
43308
+ /**
43309
+ * Tag names. WordPress resolves existing names case-insensitively and creates missing tags.
43310
+ */
43115
43311
  tags?: Array<(string)>;
43116
43312
  /**
43117
- * 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.
43118
43314
  */
43119
43315
  author?: string;
43120
43316
  /**
@@ -43122,21 +43318,21 @@ export type CreateBlogArticleData = {
43122
43318
  */
43123
43319
  excerpt?: string;
43124
43320
  /**
43125
- * 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.
43126
43322
  */
43127
43323
  image?: {
43128
43324
  url: string;
43129
43325
  altText?: string;
43130
43326
  };
43131
43327
  /**
43132
- * 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.
43133
43329
  */
43134
43330
  seo?: {
43135
43331
  title?: string;
43136
43332
  description?: string;
43137
43333
  };
43138
43334
  /**
43139
- * 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.
43140
43336
  */
43141
43337
  isPublished?: boolean;
43142
43338
  /**
@@ -43146,18 +43342,18 @@ export type CreateBlogArticleData = {
43146
43342
  };
43147
43343
  path: {
43148
43344
  /**
43149
- * Connected Shopify SocialAccount id.
43345
+ * Connected Shopify or WordPress account id.
43150
43346
  */
43151
43347
  accountId: string;
43152
43348
  /**
43153
- * Platform-native numeric blog id. Non-numeric values return 400.
43349
+ * Platform-native numeric blog/site id returned by the list operation.
43154
43350
  */
43155
43351
  blogId: string;
43156
43352
  };
43157
43353
  };
43158
43354
 
43159
43355
  export type CreateBlogArticleResponse = ({
43160
- platform?: 'shopify';
43356
+ platform?: 'shopify' | 'wordpress';
43161
43357
  article?: BlogArticle;
43162
43358
  });
43163
43359
 
@@ -43168,7 +43364,7 @@ export type CreateBlogArticleError = (ErrorResponse | {
43168
43364
  export type GetBlogArticleData = {
43169
43365
  path: {
43170
43366
  /**
43171
- * Connected Shopify SocialAccount id.
43367
+ * Connected Shopify or WordPress account id.
43172
43368
  */
43173
43369
  accountId: string;
43174
43370
  /**
@@ -43176,14 +43372,14 @@ export type GetBlogArticleData = {
43176
43372
  */
43177
43373
  articleId: string;
43178
43374
  /**
43179
- * Platform-native numeric blog id. Non-numeric values return 400.
43375
+ * Platform-native numeric blog/site id returned by the list operation.
43180
43376
  */
43181
43377
  blogId: string;
43182
43378
  };
43183
43379
  };
43184
43380
 
43185
43381
  export type GetBlogArticleResponse = ({
43186
- platform?: 'shopify';
43382
+ platform?: 'shopify' | 'wordpress';
43187
43383
  article?: BlogArticle;
43188
43384
  });
43189
43385
 
@@ -43203,11 +43399,11 @@ export type UpdateBlogArticleData = {
43203
43399
  */
43204
43400
  handle?: string;
43205
43401
  /**
43206
- * Replaces the full tag list.
43402
+ * Replaces the full tag-name list. WordPress resolves existing names case-insensitively and creates missing tags.
43207
43403
  */
43208
43404
  tags?: Array<(string)>;
43209
43405
  /**
43210
- * 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.
43211
43407
  */
43212
43408
  author?: string;
43213
43409
  /**
@@ -43215,21 +43411,21 @@ export type UpdateBlogArticleData = {
43215
43411
  */
43216
43412
  excerpt?: string;
43217
43413
  /**
43218
- * 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.
43219
43415
  */
43220
43416
  image?: {
43221
43417
  url: string;
43222
43418
  altText?: string;
43223
43419
  };
43224
43420
  /**
43225
- * 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.
43226
43422
  */
43227
43423
  seo?: {
43228
43424
  title?: string;
43229
43425
  description?: string;
43230
43426
  };
43231
43427
  /**
43232
- * 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.
43233
43429
  */
43234
43430
  isPublished?: boolean;
43235
43431
  /**
@@ -43239,7 +43435,7 @@ export type UpdateBlogArticleData = {
43239
43435
  };
43240
43436
  path: {
43241
43437
  /**
43242
- * Connected Shopify SocialAccount id.
43438
+ * Connected Shopify or WordPress account id.
43243
43439
  */
43244
43440
  accountId: string;
43245
43441
  /**
@@ -43247,14 +43443,14 @@ export type UpdateBlogArticleData = {
43247
43443
  */
43248
43444
  articleId: string;
43249
43445
  /**
43250
- * Platform-native numeric blog id. Non-numeric values return 400.
43446
+ * Platform-native numeric blog/site id returned by the list operation.
43251
43447
  */
43252
43448
  blogId: string;
43253
43449
  };
43254
43450
  };
43255
43451
 
43256
43452
  export type UpdateBlogArticleResponse = ({
43257
- platform?: 'shopify';
43453
+ platform?: 'shopify' | 'wordpress';
43258
43454
  article?: BlogArticle;
43259
43455
  });
43260
43456
 
@@ -43265,7 +43461,7 @@ export type UpdateBlogArticleError = (ErrorResponse | {
43265
43461
  export type DeleteBlogArticleData = {
43266
43462
  path: {
43267
43463
  /**
43268
- * Connected Shopify SocialAccount id.
43464
+ * Connected Shopify or WordPress account id.
43269
43465
  */
43270
43466
  accountId: string;
43271
43467
  /**
@@ -43273,7 +43469,7 @@ export type DeleteBlogArticleData = {
43273
43469
  */
43274
43470
  articleId: string;
43275
43471
  /**
43276
- * Platform-native numeric blog id. Non-numeric values return 400.
43472
+ * Platform-native numeric blog/site id returned by the list operation.
43277
43473
  */
43278
43474
  blogId: string;
43279
43475
  };