@ecodrix/erix-api 4.2.0 → 4.3.1

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.
@@ -1,6 +1,6 @@
1
1
  import { AxiosInstance, AxiosRequestConfig, Method } from 'axios';
2
- import { W as WebchatSettingsPatch, a as WebchatOwnerSettings, A as APIError, b as AuthenticationError, R as RateLimitError } from './error-Bl2AN2QP.js';
3
- export { c as APIErrorIssue, E as EcodrixError, P as PermissionError, V as VisitorMessage, d as VisitorTyping, e as WebchatSettings, t as toAPIError } from './error-Bl2AN2QP.js';
2
+ import { W as WebchatSettingsPatch, a as WebchatOwnerSettings, A as APIError, b as AuthenticationError, R as RateLimitError } from './error-BDnYHEdy.js';
3
+ export { c as APIErrorIssue, E as EcodrixError, P as PermissionError, V as VisitorMessage, d as VisitorTyping, e as WebchatSettings, t as toAPIError } from './error-BDnYHEdy.js';
4
4
 
5
5
  /** Supported API route versions. Add `"v2"` here the day the server ships it. */
6
6
  type ApiVersion = "v1" | "v2" | "v3";
@@ -1363,6 +1363,54 @@ declare class Connect extends APIResource {
1363
1363
  }): Promise<T>;
1364
1364
  }
1365
1365
 
1366
+ /** Channels with a Settings tab that stores switches. */
1367
+ type SettingsChannel = "whatsapp" | "email" | "instagram" | "facebook" | "telegram" | "webchat";
1368
+ /** The workspace-wide switches of one channel (Channels › <app> › Settings). Unset = on. */
1369
+ interface ChannelSettings {
1370
+ /** Email the owners (besides the in-app notice) when the channel has a problem. */
1371
+ notifyProblems: boolean;
1372
+ /** Email only: hold campaign emails when over 5% bounce in a day. */
1373
+ pauseOnBounces: boolean;
1374
+ /** Email only: tell the owners at 80% of the month's emails. */
1375
+ notifyUsage: boolean;
1376
+ /** Email only: add "Written with ERIX AI" under replies the agent sends by itself. */
1377
+ signAiReplies: boolean;
1378
+ }
1379
+ /** Campaign emails are held: too many bounced in a day. Cleared by `resumeEmail()`. */
1380
+ interface EmailPause {
1381
+ at: string;
1382
+ /** Bounced share of the day's emails when it was held, 0 to 1. */
1383
+ rate: number;
1384
+ bounced: number;
1385
+ sent: number;
1386
+ }
1387
+ interface ChannelSettingsView {
1388
+ settings: ChannelSettings;
1389
+ /** Email only: set while campaign emails are held. */
1390
+ emailPause: EmailPause | null;
1391
+ }
1392
+ /**
1393
+ * Channels › <app> › Settings: one channel's workspace-wide switches.
1394
+ * Needs the server from 10 Nov 2026.
1395
+ */
1396
+ declare class ChannelSettingsResource extends APIResource {
1397
+ /** The channel's switches (and, for email, the bounce hold). */
1398
+ retrieve(channel: SettingsChannel): Promise<{
1399
+ success: boolean;
1400
+ data: ChannelSettingsView;
1401
+ }>;
1402
+ /** Save the switches sent; the others stay. Owners and admins. */
1403
+ save(channel: SettingsChannel, patch: Partial<ChannelSettings>): Promise<{
1404
+ success: boolean;
1405
+ data: ChannelSettingsView;
1406
+ }>;
1407
+ /** Release campaign emails held after many bounces; they go out again within a minute. */
1408
+ resumeEmail(): Promise<{
1409
+ success: boolean;
1410
+ data: ChannelSettingsView;
1411
+ }>;
1412
+ }
1413
+
1366
1414
  /** Who answers new chats on an account; `routing: null` = nobody set. */
1367
1415
  interface ConnectAccountRouting {
1368
1416
  answeredBy?: {
@@ -3308,10 +3356,15 @@ interface CampaignSettingsEdit {
3308
3356
  endHour: number;
3309
3357
  } | null;
3310
3358
  timezone?: string;
3311
- /** The Flow Conversation that answers replies. */
3359
+ /**
3360
+ * @deprecated Conversations retired into agents (server 9 Nov 2026): only `null`
3361
+ * (clear) is accepted; any id answers 400. Set `repliesAgentId` instead.
3362
+ */
3312
3363
  repliesConversationId?: string | null;
3313
3364
  /** The AI agent (`custom.<id>`) that answers replies; a Conversation, if set, still wins. */
3314
3365
  repliesAgentId?: string | null;
3366
+ /** What that agent works toward with each person (its objective in replies), up to 300 characters. */
3367
+ goal?: string | null;
3315
3368
  startAt?: string | null;
3316
3369
  ratePerMinute?: number;
3317
3370
  }
@@ -3830,6 +3883,25 @@ interface ConversationTestRun {
3830
3883
  reason: string;
3831
3884
  }>;
3832
3885
  }
3886
+ /** `POST /conversations/:id/move-to-agent`: what moved to the new agent and what still names the conversation. */
3887
+ interface ConversationMovedToAgent {
3888
+ agentId: string;
3889
+ /** Channels the new agent now answers. */
3890
+ channels: string[];
3891
+ /** Channels another agent already held: they stay with it. */
3892
+ channelsKept: string[];
3893
+ /** The conversation's chat agents, now paused. */
3894
+ pausedChatAgents: string[];
3895
+ /** Campaigns whose replies now go to the agent. */
3896
+ campaigns: string[];
3897
+ /** Automations whose step still names the conversation: swap it for "Hand to an agent". */
3898
+ automations: Array<{
3899
+ id: string;
3900
+ name: string;
3901
+ }>;
3902
+ /** Voice deployments, not moved (phone lines are set in Connect). */
3903
+ voiceDeployments: string[];
3904
+ }
3833
3905
  interface ConversationCheck {
3834
3906
  id: string;
3835
3907
  pass: boolean;
@@ -3854,11 +3926,12 @@ declare class FlowConversations extends APIResource {
3854
3926
  page: number;
3855
3927
  pages: number;
3856
3928
  }>>;
3929
+ /** @deprecated Conversations retired into agents (server 9 Nov 2026): answers 409 CONVERSATIONS_RETIRED. */
3857
3930
  create(params: CreateConversationParams): Promise<Ok$2<FlowConversation>>;
3858
3931
  retrieve(id: string): Promise<Ok$2<FlowConversation>>;
3859
3932
  /** Edit the draft. Published versions never change. */
3860
3933
  update(id: string, params: UpdateConversationParams): Promise<Ok$2<FlowConversation>>;
3861
- /** A copy as a new draft named "… (copy)": same settings, no versions, not used anywhere. */
3934
+ /** @deprecated Conversations retired into agents (server 9 Nov 2026): answers 409 CONVERSATIONS_RETIRED. */
3862
3935
  duplicate(id: string): Promise<Ok$2<FlowConversation>>;
3863
3936
  /** Archive. 409 while a chat agent, automation or campaign still uses it. */
3864
3937
  archive(id: string): Promise<Ok$2<{
@@ -3905,6 +3978,7 @@ declare class FlowConversations extends APIResource {
3905
3978
  allDeployments(): Promise<Ok$2<{
3906
3979
  deployments: ConversationDeployment[];
3907
3980
  }>>;
3981
+ /** @deprecated Conversations retired into agents (server 9 Nov 2026): answers 409 CONVERSATIONS_RETIRED. */
3908
3982
  deploy(id: string, params: CreateConversationDeploymentParams): Promise<Ok$2<ConversationDeployment>>;
3909
3983
  updateDeployment(deploymentId: string, params: UpdateConversationDeploymentParams): Promise<Ok$2<ConversationDeployment>>;
3910
3984
  removeDeployment(deploymentId: string): Promise<Ok$2<{
@@ -3915,6 +3989,12 @@ declare class FlowConversations extends APIResource {
3915
3989
  checks(id: string): Promise<Ok$2<{
3916
3990
  checks: ConversationCheck[];
3917
3991
  }>>;
3992
+ /**
3993
+ * Move a conversation to a new agent (admins): its goal, details, topics and rules become the
3994
+ * agent's instructions; its live chat channels and the campaigns it answered go to the agent.
3995
+ * The conversation is kept, so automations that name it keep running.
3996
+ */
3997
+ moveToAgent(id: string): Promise<Ok$2<ConversationMovedToAgent>>;
3918
3998
  }
3919
3999
 
3920
4000
  /** One plan meter. `limit: null` = unlimited. */
@@ -4114,6 +4194,12 @@ interface StarterPack {
4114
4194
  id: StarterKind;
4115
4195
  label: string;
4116
4196
  hint: string;
4197
+ /** The starter agent the pack makes: at Suggest, on no channel. */
4198
+ agent: {
4199
+ name: string;
4200
+ note: string;
4201
+ };
4202
+ /** @deprecated Conversations retired into agents (server 9 Nov 2026); read `agent`. */
4117
4203
  conversation: {
4118
4204
  name: string;
4119
4205
  mode: "scripted" | "guided" | "autonomous";
@@ -4139,6 +4225,9 @@ interface FlowFirstRun {
4139
4225
  }
4140
4226
  interface FlowFirstRunInstall {
4141
4227
  kind: StarterKind;
4228
+ /** The starter agent the pack made or found (`custom.<id>`). */
4229
+ agentId: string | null;
4230
+ /** @deprecated Always null since Conversations retired into agents (server 9 Nov 2026). */
4142
4231
  conversationId: string | null;
4143
4232
  automationIds: string[];
4144
4233
  campaignId: string | null;
@@ -9457,7 +9546,8 @@ type Ok<T> = {
9457
9546
  */
9458
9547
  /** Who does the setup of a workspace: the customer, or ECODrIx staff. */
9459
9548
  type ManagementMode = "self_serve" | "managed";
9460
- type VoiceKycStatus = "not_started" | "submitted" | "approved" | "rejected";
9549
+ /** `suspended` / `expired` come from the phone partner's own verdict. */
9550
+ type VoiceKycStatus = "not_started" | "submitted" | "approved" | "rejected" | "suspended" | "expired";
9461
9551
  type VoiceBusinessType = "proprietorship" | "partnership" | "llp" | "private_limited" | "public_limited" | "other";
9462
9552
  /** A business PAN alone is not accepted. */
9463
9553
  type VoiceKycDocumentType = "gst_certificate" | "incorporation_certificate" | "udyam_certificate";
@@ -9486,8 +9576,32 @@ interface VoiceKycView {
9486
9576
  documentNumber: string | null;
9487
9577
  fileName: string | null;
9488
9578
  submittedAt: string | null;
9489
- /** Why ECODrIx rejected it, in plain words; set only while `status` is `rejected`. */
9579
+ /** Why it was not accepted, in plain words (the phone partner's, or ECODrIx's); set only while `status` is rejected, suspended or expired. */
9490
9580
  rejectReason: string | null;
9581
+ /** The business details last sent, so "Send again" starts filled in; null before any. Never the document number. */
9582
+ details?: VoiceKycDetails | null;
9583
+ }
9584
+ /** The business details of a verification as typed (no document number). */
9585
+ interface VoiceKycDetails {
9586
+ legalName: string;
9587
+ email: string;
9588
+ addressLine1: string;
9589
+ city: string;
9590
+ state: string;
9591
+ postalCode: string;
9592
+ }
9593
+ /** The number count and money a workspace sees before renting a number (`voice.setup().numbers`). */
9594
+ interface VoiceNumbersQuote {
9595
+ /** Numbers rented so far. */
9596
+ owned: number;
9597
+ /** How many the plan includes; null = no limit. */
9598
+ max: number | null;
9599
+ /** Monthly rent per number, paise; 0 = free for this workspace. No GST on top. */
9600
+ pricePaise: number;
9601
+ /** Today's share of one number's rent, paise: debited the moment it is rented, then the full rent on the 1st. */
9602
+ todayPaise: number;
9603
+ /** The wallet now, paise; null when it could not be read. */
9604
+ creditsPaise: number | null;
9491
9605
  }
9492
9606
  /** Voice setup as this workspace sees it (`voice.setup()`). */
9493
9607
  interface VoiceSetup {
@@ -9496,18 +9610,21 @@ interface VoiceSetup {
9496
9610
  access: boolean;
9497
9611
  /** Every call-time gate passes: calls can be placed. */
9498
9612
  live: boolean;
9499
- /** You can do the steps: a self-serve workspace owner/admin (or ECODrIx staff inside it). */
9613
+ /** Every owner/admin may do the steps (the routes check the permission). */
9500
9614
  canAct: boolean;
9501
9615
  steps: VoiceSetupStep[];
9502
9616
  current: VoiceSetupCurrent | null;
9503
9617
  kyc: VoiceKycView;
9504
9618
  callerNumber: string | null;
9505
- /** "Ask ECODrIx for a number" was pressed and no number is assigned yet. */
9506
- numberRequested: boolean;
9507
9619
  /** KYC and number are done and nothing else blocks it: `goLive()` will work. */
9508
9620
  canGoLive: boolean;
9621
+ /** "Connect" done (the workspace's own phone account) or already live: the Phone calls page is open. */
9622
+ connected: boolean;
9623
+ numbers: VoiceNumbersQuote;
9624
+ /** Connected minutes the plan includes a month; null = no limit or not read. Server from 12 Nov 2026. */
9625
+ minutesIncluded?: number | null;
9509
9626
  }
9510
- /** Unassigned platform numbers a workspace may pick (nothing about other workspaces). */
9627
+ /** Indian numbers for sale (`setupNumbers()`), one page; `nextOffset` null/absent = the last page. */
9511
9628
  interface VoiceFreeNumbers {
9512
9629
  configured: boolean;
9513
9630
  numbers: {
@@ -9515,15 +9632,45 @@ interface VoiceFreeNumbers {
9515
9632
  alias: string | null;
9516
9633
  region: string | null;
9517
9634
  }[];
9635
+ nextOffset?: number | null;
9636
+ }
9637
+ /** One document the India business KYC asks for today (`kycRequirements()`), read live from the phone partner. */
9638
+ interface VoiceKycRequirement {
9639
+ typeId: string;
9640
+ name: string;
9641
+ description: string;
9642
+ /** A file must be uploaded for it. */
9643
+ proofRequired: boolean;
9644
+ fields: {
9645
+ name: string;
9646
+ label: string;
9647
+ help: string;
9648
+ required: boolean;
9649
+ maxLength: number;
9650
+ }[];
9518
9651
  }
9652
+ /** The business verification as sent to the phone partner (`submitKyc()`). */
9519
9653
  interface VoiceKycInput {
9520
- businessType: VoiceBusinessType;
9521
- documentType: VoiceKycDocumentType;
9522
- /** GSTIN, CIN or Udyam number; the format is checked for the document type. */
9523
- documentNumber: string;
9524
- /** `key` from `kycUploadUrl()` after the PUT. */
9525
- fileKey: string;
9526
- fileName: string;
9654
+ businessType?: VoiceBusinessType;
9655
+ /** Exactly as printed on the certificate. */
9656
+ legalName: string;
9657
+ email: string;
9658
+ addressLine1: string;
9659
+ city: string;
9660
+ state: string;
9661
+ /** 6 digits. */
9662
+ postalCode: string;
9663
+ /** GSTIN, CIN or Udyam number. */
9664
+ registrationNumber: string;
9665
+ /** The sender confirms the details are true and they may act for the business. Required from the server of 12 Nov 2026. */
9666
+ consent: true;
9667
+ /** One per document in `kycRequirements()`; `fileKey` / `fileName` from `kycUploadUrl()` after the PUT. */
9668
+ documents: {
9669
+ typeId: string;
9670
+ fileKey?: string;
9671
+ fileName?: string;
9672
+ fields?: Record<string, string>;
9673
+ }[];
9527
9674
  }
9528
9675
  interface VoiceKycUpload {
9529
9676
  uploadUrl: string;
@@ -9615,42 +9762,75 @@ declare class Voice extends APIResource {
9615
9762
  /** Can this workspace place and take calls, and if not, why. Answers even while voice is off. */
9616
9763
  status(): Promise<Ok<VoiceStatus>>;
9617
9764
  /**
9618
- * Voice setup: the four steps (business verification, phone number, test call, go live), who owes the
9619
- * next one, KYC state and number. Answers even before Voice is visible. Read-only for every member.
9765
+ * Voice setup: the four steps (business verification, phone number, test call, switch on), who owes the
9766
+ * next one, KYC state, number, the plan's number count, today's rent and credits. Answers even before
9767
+ * Voice is visible. Read-only for every member.
9620
9768
  */
9621
9769
  setup(): Promise<Ok<VoiceSetup>>;
9622
- /** The platform's unassigned numbers to pick from. */
9623
- setupNumbers(): Promise<Ok<VoiceFreeNumbers>>;
9770
+ /** "Connect": makes the workspace's own phone account (free, once) and opens the Phone calls page. 409 `VOICE_ACCESS_REQUIRED` while the release is off. */
9771
+ connect(): Promise<Ok<{
9772
+ connected: true;
9773
+ }>>;
9774
+ /** Indian numbers for sale, 20 a page: `city`, `pattern` (first digits after 91), `offset` (the page before's `nextOffset`). */
9775
+ setupNumbers(find?: {
9776
+ city?: string;
9777
+ pattern?: string;
9778
+ offset?: number;
9779
+ }): Promise<Ok<VoiceFreeNumbers>>;
9780
+ /** Step 1: the documents and fields the phone partner's India business KYC asks for today. */
9781
+ kycRequirements(): Promise<Ok<VoiceKycRequirement[]>>;
9624
9782
  /**
9625
- * Step 1: a presigned PUT for the business document (PDF, JPG or PNG). PUT the file to `uploadUrl` with the
9626
- * same `Content-Type`, then call `submitKyc` with `key`. Needs workspace owner/admin; 403
9627
- * `MANAGED_BY_ECODRIX` when ECODrIx manages the workspace.
9783
+ * Step 1: a presigned PUT for a business document (PDF, JPG or PNG, up to 5 MB). PUT the file to `uploadUrl`
9784
+ * with the same `Content-Type`, then put `key` in `submitKyc`'s document. Needs workspace owner/admin.
9628
9785
  */
9629
9786
  kycUploadUrl(input: {
9630
9787
  filename: string;
9631
9788
  contentType: string;
9632
9789
  sizeBytes: number;
9633
9790
  }): Promise<Ok<VoiceKycUpload>>;
9634
- /** Step 1: submit the business verification. 409 `KYC_UNDER_REVIEW` / `KYC_APPROVED` when it can't be sent again. */
9791
+ /**
9792
+ * Step 1: send the business verification to the phone partner (usually checked within minutes).
9793
+ * 409 `KYC_UNDER_REVIEW` / `KYC_APPROVED` / `KYC_SUSPENDED` when it can't be sent again, 400 `KYC_INCOMPLETE`.
9794
+ */
9635
9795
  submitKyc(input: VoiceKycInput): Promise<Ok<{
9636
9796
  status: "submitted";
9637
9797
  }>>;
9638
- /** Step 2: take one of `setupNumbers()`. 409 `VOICE_NUMBER_TAKEN` when it is no longer free. */
9798
+ /**
9799
+ * Step 2: rent one of `setupNumbers()`. Today's share of the rent leaves credits now. 409 `KYC_NOT_APPROVED`,
9800
+ * `NUMBER_LIMIT` (the plan's count), `VOICE_NUMBER_TAKEN`, `NUMBERS_NOT_ON_SALE`; 402 `INSUFFICIENT_CREDITS`.
9801
+ * `pending` = the partner is still activating it.
9802
+ */
9639
9803
  pickNumber(number: string): Promise<Ok<{
9640
9804
  callerNumber: string;
9805
+ pending: boolean;
9641
9806
  }>>;
9642
- /** Step 2: "Ask ECODrIx for a number". */
9643
- askForNumber(): Promise<Ok<{
9644
- requested: true;
9807
+ /**
9808
+ * Release a rented number: given back to the phone partner, cannot be undone. 409 `VOICE_NUMBER_NOT_RELEASABLE`
9809
+ * for a number ECODrIx assigned. Returns the new default number and whether Voice is still on.
9810
+ */
9811
+ releaseNumber(numberId: string): Promise<Ok<{
9812
+ released: true;
9813
+ callerNumber: string | null;
9814
+ live: boolean;
9645
9815
  }>>;
9646
9816
  /**
9647
9817
  * Step 4: switch Voice on once every other gate passes. 409 `VOICE_NOT_READY` (the reason is in `message`),
9648
- * 409 `VOICE_ACCESS_REQUIRED`, 403 `MANAGED_BY_ECODRIX`. The pause switch, price, calls at once and the daily
9649
- * cap stay with ECODrIx.
9818
+ * 409 `VOICE_ACCESS_REQUIRED`. The pause switch, price, calls at once and the daily cap stay with ECODrIx.
9650
9819
  */
9651
9820
  goLive(): Promise<Ok<{
9652
9821
  live: true;
9653
9822
  }>>;
9823
+ /** Switch Voice off: the agent stops answering; numbers, verification and rent stay. */
9824
+ pause(): Promise<Ok<{
9825
+ live: false;
9826
+ }>>;
9827
+ /**
9828
+ * "Disconnect": calls stop and `setup().connected` reads false, so the Channels card offers Connect again.
9829
+ * Reversible with `connect()`; numbers, verification and rent stay (releasing a number is separate).
9830
+ */
9831
+ disconnect(): Promise<Ok<{
9832
+ connected: false;
9833
+ }>>;
9654
9834
  /** This workspace's assistant, or `data: null` before one is saved. */
9655
9835
  agent(): Promise<Ok<VoiceAgent | null>>;
9656
9836
  /** The phone skills an assistant can have, with their params. Render the switches from this. */
@@ -10197,6 +10377,138 @@ declare class Templates extends APIResource {
10197
10377
  getVariableManifest(templateIdentifier: string): Promise<ResourceManifest>;
10198
10378
  }
10199
10379
 
10380
+ /** The business profile customers see when they tap the number's name (Meta keeps one per number). */
10381
+ interface WhatsAppProfile {
10382
+ about: string;
10383
+ address: string;
10384
+ description: string;
10385
+ email: string;
10386
+ websites: string[];
10387
+ /** Meta's business category code, e.g. HEALTH, RETAIL, PROF_SERVICES. */
10388
+ vertical: string;
10389
+ profilePictureUrl: string | null;
10390
+ }
10391
+ /** Everything but the photo. `accountId` picks the number; the default number when absent. */
10392
+ type WhatsAppProfileInput = Omit<WhatsAppProfile, "profilePictureUrl"> & {
10393
+ accountId?: string;
10394
+ };
10395
+ /** One WhatsApp number's self-serve setup state (`GET /infra/connect/whatsapp/setup`). */
10396
+ interface WhatsAppSetup {
10397
+ account: ConnectAccount;
10398
+ /** The number as Meta sees it; null when Meta couldn't be asked. */
10399
+ number: {
10400
+ verifiedName: string | null;
10401
+ /** APPROVED, PENDING_REVIEW, DECLINED, EXPIRED, AVAILABLE_WITHOUT_REVIEW, NONE. */
10402
+ nameStatus: string | null;
10403
+ /** GREEN, YELLOW, RED. */
10404
+ quality: string | null;
10405
+ /** TIER_250, TIER_1K, TIER_2K, TIER_10K, TIER_100K, TIER_UNLIMITED. */
10406
+ messagingLimit: string | null;
10407
+ /** VERIFIED, NOT_VERIFIED, EXPIRED. */
10408
+ codeVerificationStatus: string | null;
10409
+ /** Also on the WhatsApp Business app (coexistence): its profile is changed in the app. */
10410
+ onBizApp: boolean | null;
10411
+ } | null;
10412
+ /** The WhatsApp Business Account as Meta sees it; null when Meta couldn't be asked. */
10413
+ business: {
10414
+ name: string | null;
10415
+ accountReviewStatus: string | null;
10416
+ /** verified, not_verified, pending, failed… null when the token can't read it. */
10417
+ businessVerificationStatus: string | null;
10418
+ } | null;
10419
+ profile: WhatsAppProfile | null;
10420
+ /** The owner's setup checklist (connected is implied by the account). */
10421
+ checklist: {
10422
+ templates: {
10423
+ approved: number;
10424
+ pending: number;
10425
+ rejected: number;
10426
+ draft: number;
10427
+ };
10428
+ /** When the owner last messaged their own WhatsApp from this number. */
10429
+ testedAt: string | null;
10430
+ /** An agent answers new chats. */
10431
+ on: boolean;
10432
+ };
10433
+ }
10434
+ interface WhatsAppTestInput {
10435
+ /** The number to send from; the default number when absent. */
10436
+ accountId?: string;
10437
+ /** The owner's own WhatsApp, with the country code. */
10438
+ to: string;
10439
+ /** An approved template's name. */
10440
+ templateName: string;
10441
+ /** Template language, e.g. `en`, `en_US`, `te`. Default `en`. */
10442
+ language?: string;
10443
+ }
10444
+ /**
10445
+ * The WhatsApp page's self-serve setup (Channels › WhatsApp): the number as
10446
+ * Meta sees it, the business profile, and the owner's test message.
10447
+ * Needs the server from 10 Nov 2026.
10448
+ */
10449
+ declare class WhatsAppSetupResource extends APIResource {
10450
+ /** One number's setup state (the default number when `accountId` is absent). 404 with no number. */
10451
+ retrieve(accountId?: string): Promise<{
10452
+ success: boolean;
10453
+ data: WhatsAppSetup;
10454
+ }>;
10455
+ /** Save the business profile at Meta; returns what Meta now holds. Owners and admins. */
10456
+ saveProfile(input: WhatsAppProfileInput): Promise<{
10457
+ success: boolean;
10458
+ data: WhatsAppProfile | null;
10459
+ }>;
10460
+ /** Send one approved template to the owner's own WhatsApp from the number. Counts as one message. */
10461
+ sendTest(input: WhatsAppTestInput): Promise<{
10462
+ success: boolean;
10463
+ data: {
10464
+ testedAt: string;
10465
+ };
10466
+ }>;
10467
+ /**
10468
+ * Set the number's profile photo at Meta: a JPEG or PNG as base64 (resize it
10469
+ * first; the request body cap is 2 MB). Refused (409 `PROFILE_IN_APP`) for a
10470
+ * number that is also on the WhatsApp Business app. Owners and admins.
10471
+ */
10472
+ uploadPhoto(input: {
10473
+ accountId?: string;
10474
+ image: string;
10475
+ type: "image/jpeg" | "image/png";
10476
+ }): Promise<{
10477
+ success: boolean;
10478
+ data: WhatsAppProfile | null;
10479
+ }>;
10480
+ /**
10481
+ * Hand a number, its Meta business account's templates and its chats to
10482
+ * another workspace where the caller is an owner or admin. CRM contacts stay.
10483
+ */
10484
+ move(input: {
10485
+ accountId: string;
10486
+ targetOrgId: string;
10487
+ }): Promise<{
10488
+ success: boolean;
10489
+ data: {
10490
+ workspace: string;
10491
+ chats: number;
10492
+ templates: number;
10493
+ };
10494
+ }>;
10495
+ /**
10496
+ * Upload a template header's sample (a JPG/PNG photo or a PDF, base64,
10497
+ * under 1.5 MB) to Meta; put the returned handle in the template's
10498
+ * `HEADER.example.header_handle`.
10499
+ */
10500
+ uploadMedia(input: {
10501
+ accountId?: string;
10502
+ data: string;
10503
+ type: "image/jpeg" | "image/png" | "application/pdf";
10504
+ }): Promise<{
10505
+ success: boolean;
10506
+ data: {
10507
+ handle: string;
10508
+ };
10509
+ }>;
10510
+ }
10511
+
10200
10512
  /**
10201
10513
  * @module namespaces
10202
10514
  * @responsibility Hierarchical resource containers that mirror the server's
@@ -10310,9 +10622,11 @@ declare class EmailConnect {
10310
10622
  readonly templates: Email;
10311
10623
  constructor(client: AxiosInstance);
10312
10624
  }
10313
- /** WhatsApp channel — Meta-approved template management. */
10625
+ /** WhatsApp channel — Meta-approved template management and the number's self-serve setup. */
10314
10626
  declare class WhatsAppConnect {
10315
10627
  readonly templates: Templates;
10628
+ /** Channels › WhatsApp setup: the number as Meta sees it, business profile, test message. */
10629
+ readonly setup: WhatsAppSetupResource;
10316
10630
  constructor(client: AxiosInstance);
10317
10631
  }
10318
10632
  /** Facebook channel: Lead Ads lead forms. */
@@ -10330,6 +10644,8 @@ declare class ConnectInfra {
10330
10644
  readonly connections: Connect;
10331
10645
  /** Each app's accounts: several WhatsApp numbers, Instagram accounts, email addresses (`/infra/connect/accounts`). */
10332
10646
  readonly accounts: ConnectAccounts;
10647
+ /** Channels › <app> › Settings: one channel's workspace-wide switches. */
10648
+ readonly channelSettings: ChannelSettingsResource;
10333
10649
  /** The AI phone agent: settings, call log, "call with AI", campaigns (`/infra/connect/voice/*`). */
10334
10650
  readonly voice: Voice;
10335
10651
  constructor(client: AxiosInstance);
@@ -11021,4 +11337,4 @@ interface CustomFieldFilter {
11021
11337
  value?: unknown;
11022
11338
  }
11023
11339
 
11024
- export { type AIPersona, APIError, APIResource, type AddOnStatus, type AddOnView, type AgentAutomationTrigger, type AgentAutonomy, type AgentBudget, type AgentChannel, type AgentChatTurn, type AgentDraft, type AgentProposal, type AgentResults, type AgentTemplate, type AgentVersion, AiAgent, type AiAgentSettings, type AiAgentTool, type AiHumanTopics, type AiOutcomeChannel, type AiOutcomeCounts, type AiOutcomes, type AiReviewItem, type AiReviewStats, type AiReviewVerdict, type AiSuggestion, type AnswerFollowupBody, type AnswerOnboardingPayload, type AnswerOnboardingResponse, type AppSetup, type AppSetupStep, type AssignEventPayload, type AudienceChannel, type AudienceFieldRule, type AudienceInput, type AudienceLeftOut, type AudiencePerson, type AudiencePlainRule, type AudiencePreview, type AudienceRule, AuthenticationError, type AutomationCopilotChange, type AutomationCopilotDraft, type AutomationCopilotReach, type AutomationGraph, type AutomationLive, type AutomationLivePerson, type AutomationLiveStep, type AutomationStep, type AutomationTestData, type AutomationTestRunProgress, type AutomationTestRunStart, type AutomationTestRunState, type AutomationTestRunStep, type AutomationVersion, type AutomationVersionDetail, type AutomationVersions, type AutomationWeek, type BehaviorRules, type BuildAnswer, type BuildInput, type CampaignCheck, type CampaignChecks, type CampaignDetail, type CampaignGraph, type CampaignLaunchResult, type CampaignLaunchSummary, type CampaignListItem, type CampaignMode, type CampaignSettingsEdit, type CampaignState, type CampaignWaves, Campaigns, Catalog, type CatalogItem, type CheckboxConfig, type CheckoutAddress, type CheckoutAmounts, type CheckoutCartEditInput, type CheckoutCoupon, type CheckoutCouponInput, type CheckoutCouponPatch, type CheckoutItem, type CheckoutOrder, type CheckoutOrderAction, type CheckoutOrderList, type CheckoutOrderStatus, type CheckoutProduct, type CheckoutProductInput, type CheckoutProductLink, type CheckoutRazorpayVerifyInput, type CheckoutResponse, type CheckoutSession, type CheckoutSettings, type CheckoutVerifyInput, type CheckoutVerifyResult, Collector, type CollectorKind, type CollectorResult, type CollectorTask, type ColorRule, type ColumnConfig, type CompleteOnboardingPayload, type CompleteOnboardingResponse, type ConfidenceResponse, type ConnectAccount, type ConnectAccountPatch, type ConnectAccountRouting, ConnectAccounts, type ConnectAppAccess, ConnectInfra, type ConnectionHealth, type ConnectionView, type Conversation, type ConversationButton, type ConversationButtonTarget, type ConversationCheck, type ConversationCompare, type ConversationConfig, type ConversationDeployment, type ConversationDeploymentKind, type ConversationDeploymentStats, type ConversationField, type ListParams as ConversationListParams, type ConversationMode, type ConversationReplyMessage, type ConversationReplySource, type ConversationRollout, type ConversationSaved, type ConversationStep, type ConversationTest, type ConversationTestRun, type ConversationTopic, type ConversationTopicKind, type ConversationTryReply, type ConversationTurn, type ConversationUsage, type ConversationVersion, type ConversationVersionDetail, type Correction, type CreateAgentInput, type CreateCampaignParams, type CreateConversationDeploymentParams, type CreateConversationParams, type CreateLeadParams, type CreatePipelineParams, type CrmView, type CurrencyConfig, type CurrencyValue, type CustomAgent, type CustomAgentPatch, type CustomAgentView, type CustomFieldFilter, type DateConfig, type DateTimeConfig, type DropdownConfig, type DuplicateLead, ECODrIxAPI as ECODrIx, ECODrIxAPI, type ECODrIxAPIOptions, ERROR_RETRY_CONFIG, type EditOnboardingPayload, type EditOnboardingResponse, type EmailConfig, EmailConnect, ErixChat, ErixProduct, type EventDefinition, type FieldConfig, type FieldDefinition, type FieldManifest, type FieldType, type FileConfig, type FilterOperator, type FilterRule, type FlowAudience, FlowAudiences, FlowAutomations, type FlowBuildPlan, type FlowBuildTarget, type FlowConversation, FlowConversations, type FlowDraftKind, FlowDrafts, type FlowFirstRun, type FlowFirstRunInstall, FlowFirstRunResource, FlowHome, type FlowHomeCounts, type FlowHomeData, type FlowHomeNeed, type FlowHomeUsage, FlowProduct, type FormulaConfig, type GlobalOnboardingPayload, type GrievanceContact, HTTP_STATUS_ERROR_MAP, type ICP, type InboxChannel, InfraDomain, type InviteMemberInput, type InviteResult, KNOWLEDGE_FILE_TYPES, Knowledge, type KnowledgePassage, type KnowledgeSource, LAIE_EVENTS, LEAD_STATUS_VALUES, type LaieAsk, type LaieAssessment, LaieAudits, type LaieBulkResult, type LaieCampaign, type LaieCampaignInput, type LaieCampaignSettings, type LaieCampaignSettingsInput, type LaieCampaignSource, LaieCampaigns, type LaieCell, type LaieCollectInput, LaieCompliance, type LaieConfidence, type LaieCostClass, type LaieCrmImportResult, type LaieEmailCheck, type LaieEnvelope, type LaieFieldEvidence, type LaieFilters, type LaieFindResult, LaieFreshness, type LaieFreshnessStatus, LaieImport, type LaieImportComplete, type LaieLead, type LaieLeadDetail, type LaieLeadListQuery, type LaieLeadUpdate, LaieLeads, LaieLearning, type LaieListEnrichInput, type LaieListEnrichResult, type LaieListRow, LaieLists, type LaieLocality, LaieLookalikes, LaieMarket, type LaieNote, type LaiePack, type LaiePackCategory, type LaiePackId, LaiePacks, type LaiePage, type LaiePipeline, type LaiePipelineSummary, LaieProduct, type LaieRefusal, type LaieRun, type LaieRunChange, type LaieRunQuality, type LaieRunSummary, LaieRuns, type LaieSignalDef, type LaieSignalRow, LaieSignals, type LaieStageInput, type LaieStageName, type LaieStageResult, LaieTools, type LaieUseInput, type LaieUseResult, type LaieWebsiteLookup, type LaunchCampaignParams, type LayoutType, type Lead, type LeadFormView, type LeadFormsView, type LeadPattern, type LeadSource, type LeadStatus, type LearningMemory, type LibraryFile, type LibraryFolder, type ListLeadsParams, type ManagementMode, type ManifestFieldType, type MappingField, type MappingPreviewResult, type MappingSources, type MappingValidationResult, type MerchantCheckoutSession, type MerchantCheckoutSessionInput, type Message, type ModuleAgent, type ModuleAgentPatch, type ModuleAgentSettings, type ModuleAgentTool, type NichePack, type NichePackResearchConfig, type NichePackStatus, type NormalizedFieldValue, type NumberConfig, Onboarding, type OnboardingCohortRange, type OnboardingConfig, type OnboardingExperiment, type OnboardingExperimentStatus, type OnboardingExperimentVariant, type OnboardingMemoryMapping, type OnboardingOption, type OnboardingSession, type OnboardingSessionStatus, type OnboardingStateResponse, type OnboardingStep, type OnboardingStepType, type OrganizationUpdateInput, type OutboundMedia, type OutreachEdit, type OverageSetting, type PaginatedResponse, type PausedRun, type PermissionKey, type PermissionModuleInfo, type PermissionQuickStart, Persona, type PersonaFollowupQuestion, type PersonaFollowupsResponse, type PersonaIdentity, type PersonaTimelineEntry, type PersonaTimelineOptions, type PersonaTimelineResponse, type PhoneConfig, type Pipeline, type PipelineStage, type PipelineStageParams, type PlaceCheckoutOrderInput, type PlacedCheckoutOrder, PlatformDomain, PlatformTenants, PlatformUsers, ProductDomain, type ProgressConfig, type ProposeAgentChangeInput, type PublicCheckoutOrder, type PublicCheckoutProduct, type PublicCheckoutProductResponse, type PublicMerchantCart, type PublicMerchantSession, type PublicMerchantSessionResponse, RateLimitError, type RatingConfig, type RazorpayCheckoutOptions, type ReinforceResponse, type ReinforcementEvent, type RelationConfig, type RelationValue, type RequestOptions, type ResourceManifest, type SendMessageParams, type SendTemplateParams, SeoAudits, type SeoBacklinkOverview, type SeoBacklinkSite, SeoBacklinks, type SeoBrief, type SeoBriefPage, type SeoBriefResult, SeoBriefs, type SeoCcRelease, type SeoCcReleaseRow, type SeoCompetitor, type SeoDifficulty, type SeoDirectory, type SeoDirectoryListing, type SeoDomainStrength, type SeoEnvelope, type SeoFormat, type SeoGap, type SeoGoogleFeatures, type SeoGridPoint, type SeoGscAccess, type SeoGscDenied, type SeoGscImportResult, type SeoGscRow, type SeoGscSummary, type SeoGscTop, SeoInsights, type SeoKeywordIdea, type SeoLabel, SeoLocal, type SeoLocalCheck, type SeoLocalGrid, type SeoLocalGridRow, type SeoLocalHistoryRow, type SeoMapsProfile, type SeoOwnerVerificationMethod, SeoPerformance, SeoProduct, type SeoProject, type SeoProjectInput, SeoProjects, type SeoRankAddResult, type SeoRankChange, type SeoRankCheckRow, type SeoRankDevice, type SeoRankKeyword, type SeoRankLang, type SeoRankMove, type SeoRankPosition, type SeoRankTargetOptions, SeoRanks, type SeoReferringChanges, type SeoReferringDomain, type SeoReferringDomains, type SeoReport, SeoReports, SeoResearch, type SeoRun, type SeoSchedule, type SeoScoreRule, SeoSearchConsole, type SeoSourced, type SeoTopThree, type SeoVisibility, type SeoVisibilityNow, type SeoVitalsCheck, type SeoVitalsField, type SeoVitalsLab, type SeoVitalsStrategy, type ServiceConfig, type ServiceConfigGlobal, type ServiceConfigPerProduct, type SortRule, type StartOnboardingPayload, type StartOnboardingResponse, type StarterKind, type StarterPack, StorageInfra, type StoredFieldValue, type SuggestionEvent, type TagsConfig, type TeamAccessCatalog, type TeamInvitation, type TeamMember, type Template, type TemplateApiResponse, type TemplateBinding, type TemplateBindingSource, type TemplateButton, type TemplateCheck, type TemplateComponent, type TemplateDraft, type TemplateEmptyPolicy, type TemplateFix, type TemplateMapping, type TemplateResubmitInput, type TemplateResubmitResult, type TextConfig, type TriggerPayload, type TriggerResponse, type TryAgentInput, type TryAgentResult, type TryAgentToolCall, type UnansweredQuestion, type UpdateCampaignParams, type UpdateConversationDeploymentParams, type UpdateConversationParams, type UpdateMemberAccessInput, type UpsertLeadParams, type UrlConfig, VOICE_EVENTS, VOICE_REFUSAL_REASONS, type ViewConfig, type Vocabulary, Voice, type VoiceActivity, type VoiceAfterHours, type VoiceAgent, type VoiceAgentInput, type VoiceAgentSummary, type VoiceAudiencePreview, type VoiceBusinessHours, type VoiceBusinessType, type VoiceCall, type VoiceCallAction, type VoiceCallChanged, type VoiceCallCheck, type VoiceCallDetail, type VoiceCallFilters, type VoiceCallQueued, type VoiceCampaignApproval, type VoiceCampaignCounters, VoiceCampaigns, type VoiceDay, type VoiceDirection, type VoiceDisposition, type VoiceErrorCode, type VoiceForwardSlot, type VoiceFreeNumbers, type VoiceKycDocumentType, type VoiceKycInput, type VoiceKycStatus, type VoiceKycUpload, type VoiceKycView, type VoiceLines, type VoiceLiveStatus, type VoiceNumber, type VoiceNumberPatch, type VoiceOption, type VoicePreviewInput, type VoicePronunciation, type VoicePurpose, type VoiceRefusalCode, type VoiceSetup, type VoiceSetupCurrent, type VoiceSetupStep, type VoiceSkill, type VoiceSkillMap, type VoiceSkillParam, type VoiceSpeakingStyle, type VoiceStatus, type VoiceStyle, type VoiceTool, type VoiceTranscriptTurn, WebchatOwnerSettings, WebchatSettingsPatch, WebhookSignatureError, Webhooks, WhatsAppConnect, type WorkspaceAuditItem, type WorkspaceAuditPage, type WorkspaceAuditParams, type WorkspaceDashboardLayout, type WorkspaceDefaultAutomation, type WorkspaceDefaultField, type WorkspaceDefaultPipeline, type WorkspaceModuleConfig, type WorkspaceProfile, ECODrIxAPI as default, getErrorDetails, getRetryConfig, handleAPIError, isAPIError, laieStageQueued, voiceErrorCode, voiceRefusalReason };
11340
+ export { type AIPersona, APIError, APIResource, type AddOnStatus, type AddOnView, type AgentAutomationTrigger, type AgentAutonomy, type AgentBudget, type AgentChannel, type AgentChatTurn, type AgentDraft, type AgentProposal, type AgentResults, type AgentTemplate, type AgentVersion, AiAgent, type AiAgentSettings, type AiAgentTool, type AiHumanTopics, type AiOutcomeChannel, type AiOutcomeCounts, type AiOutcomes, type AiReviewItem, type AiReviewStats, type AiReviewVerdict, type AiSuggestion, type AnswerFollowupBody, type AnswerOnboardingPayload, type AnswerOnboardingResponse, type AppSetup, type AppSetupStep, type AssignEventPayload, type AudienceChannel, type AudienceFieldRule, type AudienceInput, type AudienceLeftOut, type AudiencePerson, type AudiencePlainRule, type AudiencePreview, type AudienceRule, AuthenticationError, type AutomationCopilotChange, type AutomationCopilotDraft, type AutomationCopilotReach, type AutomationGraph, type AutomationLive, type AutomationLivePerson, type AutomationLiveStep, type AutomationStep, type AutomationTestData, type AutomationTestRunProgress, type AutomationTestRunStart, type AutomationTestRunState, type AutomationTestRunStep, type AutomationVersion, type AutomationVersionDetail, type AutomationVersions, type AutomationWeek, type BehaviorRules, type BuildAnswer, type BuildInput, type CampaignCheck, type CampaignChecks, type CampaignDetail, type CampaignGraph, type CampaignLaunchResult, type CampaignLaunchSummary, type CampaignListItem, type CampaignMode, type CampaignSettingsEdit, type CampaignState, type CampaignWaves, Campaigns, Catalog, type CatalogItem, type ChannelSettings, ChannelSettingsResource, type ChannelSettingsView, type CheckboxConfig, type CheckoutAddress, type CheckoutAmounts, type CheckoutCartEditInput, type CheckoutCoupon, type CheckoutCouponInput, type CheckoutCouponPatch, type CheckoutItem, type CheckoutOrder, type CheckoutOrderAction, type CheckoutOrderList, type CheckoutOrderStatus, type CheckoutProduct, type CheckoutProductInput, type CheckoutProductLink, type CheckoutRazorpayVerifyInput, type CheckoutResponse, type CheckoutSession, type CheckoutSettings, type CheckoutVerifyInput, type CheckoutVerifyResult, Collector, type CollectorKind, type CollectorResult, type CollectorTask, type ColorRule, type ColumnConfig, type CompleteOnboardingPayload, type CompleteOnboardingResponse, type ConfidenceResponse, type ConnectAccount, type ConnectAccountPatch, type ConnectAccountRouting, ConnectAccounts, type ConnectAppAccess, ConnectInfra, type ConnectionHealth, type ConnectionView, type Conversation, type ConversationButton, type ConversationButtonTarget, type ConversationCheck, type ConversationCompare, type ConversationConfig, type ConversationDeployment, type ConversationDeploymentKind, type ConversationDeploymentStats, type ConversationField, type ListParams as ConversationListParams, type ConversationMode, type ConversationMovedToAgent, type ConversationReplyMessage, type ConversationReplySource, type ConversationRollout, type ConversationSaved, type ConversationStep, type ConversationTest, type ConversationTestRun, type ConversationTopic, type ConversationTopicKind, type ConversationTryReply, type ConversationTurn, type ConversationUsage, type ConversationVersion, type ConversationVersionDetail, type Correction, type CreateAgentInput, type CreateCampaignParams, type CreateConversationDeploymentParams, type CreateConversationParams, type CreateLeadParams, type CreatePipelineParams, type CrmView, type CurrencyConfig, type CurrencyValue, type CustomAgent, type CustomAgentPatch, type CustomAgentView, type CustomFieldFilter, type DateConfig, type DateTimeConfig, type DropdownConfig, type DuplicateLead, ECODrIxAPI as ECODrIx, ECODrIxAPI, type ECODrIxAPIOptions, ERROR_RETRY_CONFIG, type EditOnboardingPayload, type EditOnboardingResponse, type EmailConfig, EmailConnect, type EmailPause, ErixChat, ErixProduct, type EventDefinition, type FieldConfig, type FieldDefinition, type FieldManifest, type FieldType, type FileConfig, type FilterOperator, type FilterRule, type FlowAudience, FlowAudiences, FlowAutomations, type FlowBuildPlan, type FlowBuildTarget, type FlowConversation, FlowConversations, type FlowDraftKind, FlowDrafts, type FlowFirstRun, type FlowFirstRunInstall, FlowFirstRunResource, FlowHome, type FlowHomeCounts, type FlowHomeData, type FlowHomeNeed, type FlowHomeUsage, FlowProduct, type FormulaConfig, type GlobalOnboardingPayload, type GrievanceContact, HTTP_STATUS_ERROR_MAP, type ICP, type InboxChannel, InfraDomain, type InviteMemberInput, type InviteResult, KNOWLEDGE_FILE_TYPES, Knowledge, type KnowledgePassage, type KnowledgeSource, LAIE_EVENTS, LEAD_STATUS_VALUES, type LaieAsk, type LaieAssessment, LaieAudits, type LaieBulkResult, type LaieCampaign, type LaieCampaignInput, type LaieCampaignSettings, type LaieCampaignSettingsInput, type LaieCampaignSource, LaieCampaigns, type LaieCell, type LaieCollectInput, LaieCompliance, type LaieConfidence, type LaieCostClass, type LaieCrmImportResult, type LaieEmailCheck, type LaieEnvelope, type LaieFieldEvidence, type LaieFilters, type LaieFindResult, LaieFreshness, type LaieFreshnessStatus, LaieImport, type LaieImportComplete, type LaieLead, type LaieLeadDetail, type LaieLeadListQuery, type LaieLeadUpdate, LaieLeads, LaieLearning, type LaieListEnrichInput, type LaieListEnrichResult, type LaieListRow, LaieLists, type LaieLocality, LaieLookalikes, LaieMarket, type LaieNote, type LaiePack, type LaiePackCategory, type LaiePackId, LaiePacks, type LaiePage, type LaiePipeline, type LaiePipelineSummary, LaieProduct, type LaieRefusal, type LaieRun, type LaieRunChange, type LaieRunQuality, type LaieRunSummary, LaieRuns, type LaieSignalDef, type LaieSignalRow, LaieSignals, type LaieStageInput, type LaieStageName, type LaieStageResult, LaieTools, type LaieUseInput, type LaieUseResult, type LaieWebsiteLookup, type LaunchCampaignParams, type LayoutType, type Lead, type LeadFormView, type LeadFormsView, type LeadPattern, type LeadSource, type LeadStatus, type LearningMemory, type LibraryFile, type LibraryFolder, type ListLeadsParams, type ManagementMode, type ManifestFieldType, type MappingField, type MappingPreviewResult, type MappingSources, type MappingValidationResult, type MerchantCheckoutSession, type MerchantCheckoutSessionInput, type Message, type ModuleAgent, type ModuleAgentPatch, type ModuleAgentSettings, type ModuleAgentTool, type NichePack, type NichePackResearchConfig, type NichePackStatus, type NormalizedFieldValue, type NumberConfig, Onboarding, type OnboardingCohortRange, type OnboardingConfig, type OnboardingExperiment, type OnboardingExperimentStatus, type OnboardingExperimentVariant, type OnboardingMemoryMapping, type OnboardingOption, type OnboardingSession, type OnboardingSessionStatus, type OnboardingStateResponse, type OnboardingStep, type OnboardingStepType, type OrganizationUpdateInput, type OutboundMedia, type OutreachEdit, type OverageSetting, type PaginatedResponse, type PausedRun, type PermissionKey, type PermissionModuleInfo, type PermissionQuickStart, Persona, type PersonaFollowupQuestion, type PersonaFollowupsResponse, type PersonaIdentity, type PersonaTimelineEntry, type PersonaTimelineOptions, type PersonaTimelineResponse, type PhoneConfig, type Pipeline, type PipelineStage, type PipelineStageParams, type PlaceCheckoutOrderInput, type PlacedCheckoutOrder, PlatformDomain, PlatformTenants, PlatformUsers, ProductDomain, type ProgressConfig, type ProposeAgentChangeInput, type PublicCheckoutOrder, type PublicCheckoutProduct, type PublicCheckoutProductResponse, type PublicMerchantCart, type PublicMerchantSession, type PublicMerchantSessionResponse, RateLimitError, type RatingConfig, type RazorpayCheckoutOptions, type ReinforceResponse, type ReinforcementEvent, type RelationConfig, type RelationValue, type RequestOptions, type ResourceManifest, type SendMessageParams, type SendTemplateParams, SeoAudits, type SeoBacklinkOverview, type SeoBacklinkSite, SeoBacklinks, type SeoBrief, type SeoBriefPage, type SeoBriefResult, SeoBriefs, type SeoCcRelease, type SeoCcReleaseRow, type SeoCompetitor, type SeoDifficulty, type SeoDirectory, type SeoDirectoryListing, type SeoDomainStrength, type SeoEnvelope, type SeoFormat, type SeoGap, type SeoGoogleFeatures, type SeoGridPoint, type SeoGscAccess, type SeoGscDenied, type SeoGscImportResult, type SeoGscRow, type SeoGscSummary, type SeoGscTop, SeoInsights, type SeoKeywordIdea, type SeoLabel, SeoLocal, type SeoLocalCheck, type SeoLocalGrid, type SeoLocalGridRow, type SeoLocalHistoryRow, type SeoMapsProfile, type SeoOwnerVerificationMethod, SeoPerformance, SeoProduct, type SeoProject, type SeoProjectInput, SeoProjects, type SeoRankAddResult, type SeoRankChange, type SeoRankCheckRow, type SeoRankDevice, type SeoRankKeyword, type SeoRankLang, type SeoRankMove, type SeoRankPosition, type SeoRankTargetOptions, SeoRanks, type SeoReferringChanges, type SeoReferringDomain, type SeoReferringDomains, type SeoReport, SeoReports, SeoResearch, type SeoRun, type SeoSchedule, type SeoScoreRule, SeoSearchConsole, type SeoSourced, type SeoTopThree, type SeoVisibility, type SeoVisibilityNow, type SeoVitalsCheck, type SeoVitalsField, type SeoVitalsLab, type SeoVitalsStrategy, type ServiceConfig, type ServiceConfigGlobal, type ServiceConfigPerProduct, type SettingsChannel, type SortRule, type StartOnboardingPayload, type StartOnboardingResponse, type StarterKind, type StarterPack, StorageInfra, type StoredFieldValue, type SuggestionEvent, type TagsConfig, type TeamAccessCatalog, type TeamInvitation, type TeamMember, type Template, type TemplateApiResponse, type TemplateBinding, type TemplateBindingSource, type TemplateButton, type TemplateCheck, type TemplateComponent, type TemplateDraft, type TemplateEmptyPolicy, type TemplateFix, type TemplateMapping, type TemplateResubmitInput, type TemplateResubmitResult, type TextConfig, type TriggerPayload, type TriggerResponse, type TryAgentInput, type TryAgentResult, type TryAgentToolCall, type UnansweredQuestion, type UpdateCampaignParams, type UpdateConversationDeploymentParams, type UpdateConversationParams, type UpdateMemberAccessInput, type UpsertLeadParams, type UrlConfig, VOICE_EVENTS, VOICE_REFUSAL_REASONS, type ViewConfig, type Vocabulary, Voice, type VoiceActivity, type VoiceAfterHours, type VoiceAgent, type VoiceAgentInput, type VoiceAgentSummary, type VoiceAudiencePreview, type VoiceBusinessHours, type VoiceBusinessType, type VoiceCall, type VoiceCallAction, type VoiceCallChanged, type VoiceCallCheck, type VoiceCallDetail, type VoiceCallFilters, type VoiceCallQueued, type VoiceCampaignApproval, type VoiceCampaignCounters, VoiceCampaigns, type VoiceDay, type VoiceDirection, type VoiceDisposition, type VoiceErrorCode, type VoiceForwardSlot, type VoiceFreeNumbers, type VoiceKycDetails, type VoiceKycDocumentType, type VoiceKycInput, type VoiceKycRequirement, type VoiceKycStatus, type VoiceKycUpload, type VoiceKycView, type VoiceLines, type VoiceLiveStatus, type VoiceNumber, type VoiceNumberPatch, type VoiceNumbersQuote, type VoiceOption, type VoicePreviewInput, type VoicePronunciation, type VoicePurpose, type VoiceRefusalCode, type VoiceSetup, type VoiceSetupCurrent, type VoiceSetupStep, type VoiceSkill, type VoiceSkillMap, type VoiceSkillParam, type VoiceSpeakingStyle, type VoiceStatus, type VoiceStyle, type VoiceTool, type VoiceTranscriptTurn, WebchatOwnerSettings, WebchatSettingsPatch, WebhookSignatureError, Webhooks, WhatsAppConnect, type WhatsAppProfile, type WhatsAppProfileInput, type WhatsAppSetup, type WhatsAppTestInput, type WorkspaceAuditItem, type WorkspaceAuditPage, type WorkspaceAuditParams, type WorkspaceDashboardLayout, type WorkspaceDefaultAutomation, type WorkspaceDefaultField, type WorkspaceDefaultPipeline, type WorkspaceModuleConfig, type WorkspaceProfile, ECODrIxAPI as default, getErrorDetails, getRetryConfig, handleAPIError, isAPIError, laieStageQueued, voiceErrorCode, voiceRefusalReason };