late-sdk 0.0.831 → 0.0.833

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3ee3491c75b179ff9884371bf65a75b2fa566f255cb0f5f6408b5240c2e2a999
4
- data.tar.gz: 6b77fd1151ad5e66428a139f1d6cd63894b423777fd65971c0d48d9c0ceec38a
3
+ metadata.gz: f4e50ad88580b0384b74e9e6d81f30de09a8733d791ce399e2999f25551d2d1e
4
+ data.tar.gz: 2cc8206621298cdb44c2cb87f4a82dfc0781556492b318bc9bbd4f97e402bcc8
5
5
  SHA512:
6
- metadata.gz: 324113959387117c71cf8e506246df841a78f60200219d60beb99938be0995f7f939a8bd60cd93522e1389bf9aca791ede45b96a302ec1be0f7cb5ab7a1bbbcb
7
- data.tar.gz: b49be07900c9ba3603951602b4e5b69206cc2a9bd34b42b82e3b7ffa2bf3a1746b330f4c4fc0468f407b0fe6bb1e3072a44bba226daf9787cae3ca3b05238399
6
+ metadata.gz: a8202c500aeacefc3118008620a7c6fe911b1e397d7ce42b53bb1985d47bc9b96a821869ee8669065404355b2ac0640e2badade444b792cd2d98ee6b125d7711
7
+ data.tar.gz: 4304660e353ac16f22c09f7a8c8c425580e5740a2d2b0859e5064346124d207bf8c8a5f6859219c9ce1711dab2973a80ad7018cb1a5e62e9e524522b4e9fe2b0
data/docs/AdTreeAdSet.md CHANGED
@@ -19,7 +19,7 @@
19
19
  | **cost_type** | **String** | LinkedIn only. Effective cost model (billing event) of the LinkedIn campaign backing this ad set: CPM, CPC or CPV. Null for non-LinkedIn ad sets. | [optional] |
20
20
  | **serving_statuses** | **Array<String>** | LinkedIn only. Why the LinkedIn campaign backing this ad set is (or is not) delivering. A LinkedIn Campaign maps to this ad-set node, so this is the level where LinkedIn's holds actually apply. Empty means no serving data, [\"RUNNABLE\"] means eligible to serve, anything else is a hold. See the `servingStatuses` field on `Ad` for the known values. | [optional] |
21
21
  | **promoted_object** | [**AdTreeAdSetPromotedObject**](AdTreeAdSetPromotedObject.md) | | [optional] |
22
- | **ads** | [**Array<Ad>**](Ad.md) | Individual ads within this ad set (capped at 100). Returns a subset of Ad fields from the aggregation: `_id`, `name`, `platform`, `status`, `configuredStatus`, `reviewStatus`, `budget`, `metrics`, `creative`, `goal` and the `platform*` ids are always included; `targeting` and `schedule` may be absent. `configuredStatus` (the ad's own on/off toggle) and `reviewStatus` (the platform's review verdict) are part of this contract, not incidental: a rejected ad is only distinguishable from a healthy one through `reviewStatus`. When `timeIncrement=1&dailyLevel=ad`, each entry also carries a `daily[]` array of `AdDailyMetrics`. | [optional] |
22
+ | **ads** | [**Array<Ad>**](Ad.md) | Individual ads within this ad set (capped at 100). When the ad set has more than 100 ads these are the 100 highest-spending over the requested date range, so this array depends on `fromDate`/`toDate`; `adCount` is always the true ad set size. Returns a subset of Ad fields from the aggregation: `_id`, `name`, `platform`, `status`, `configuredStatus`, `reviewStatus`, `budget`, `metrics`, `creative`, `goal` and the `platform*` ids are always included; `targeting` and `schedule` may be absent. `configuredStatus` (the ad's own on/off toggle) and `reviewStatus` (the platform's review verdict) are part of this contract, not incidental: a rejected ad is only distinguishable from a healthy one through `reviewStatus`. When `timeIncrement=1&dailyLevel=ad`, each entry also carries a `daily[]` array of `AdDailyMetrics`. | [optional] |
23
23
  | **daily** | [**Array<AdDailyMetrics>**](AdDailyMetrics.md) | Per-day metric series for this ad set. Present only when `GET /v1/ads/tree` is called with `timeIncrement=1` and `dailyLevel` is `adset` or `ad`. | [optional] |
24
24
 
25
25
  ## Example
@@ -6,7 +6,7 @@
6
6
  | ---- | ---- | ----------- | ----- |
7
7
  | **code** | **String** | ISO 3166-1 alpha-2 | [optional] |
8
8
  | **tier** | **Integer** | | [optional] |
9
- | **monthly_cents** | **Integer** | | [optional] |
9
+ | **monthly_cents** | **Integer** | Price a NEW number in this country costs per month, in cents, for the default (first) type. 1.5x the carrier's monthly cost, rounded up to a whole dollar, minimum $3. | [optional] |
10
10
  | **needs_kyc** | **Boolean** | | [optional] |
11
11
  | **calls_available** | **Boolean** | Regular phone (PSTN) calling on the number, inbound + outbound. Available on every offerable country. | [optional] |
12
12
  | **whatsapp_available** | **Boolean** | WhatsApp can be enabled on numbers from this country. | [optional] |
@@ -7,7 +7,7 @@
7
7
  | **number_type** | **String** | | [optional] |
8
8
  | **tier** | **Integer** | | [optional] |
9
9
  | **needs_kyc** | **Boolean** | | [optional] |
10
- | **monthly_cents** | **Integer** | | [optional] |
10
+ | **monthly_cents** | **Integer** | Price a NEW number of this type costs per month, in cents. | [optional] |
11
11
  | **whatsapp_available** | **Boolean** | Always false for toll_free (WhatsApp does not reliably register toll-free numbers). | [optional] |
12
12
  | **sms_available** | **Boolean** | | [optional] |
13
13
  | **calls_available** | **Boolean** | | [optional] |
@@ -10,7 +10,7 @@
10
10
  | **status** | **String** | | [optional] |
11
11
  | **registrant_name** | **String** | For regulated numbers, who it's registered for (company or person) — set from the submitted KYC. | [optional] |
12
12
  | **telnyx_order_id** | **String** | Present once the number order has been placed (i.e. the requirement group was approved). Absent while still in identity review. | [optional] |
13
- | **monthly_cents** | **Integer** | Per-country monthly price in cents ($2..$25). | [optional] |
13
+ | **monthly_cents** | **Integer** | What this number bills each month, in cents. Stamped when the number was bought, so an existing number keeps its price when the rate card changes. | [optional] |
14
14
  | **hosted_by_zernio** | **Boolean** | False for numbers you brought yourself (connected via Meta embedded signup) — they live on your own carrier, so SMS/Calls can't be enabled on them. | [optional] |
15
15
  | **sip_trunk_id** | **String** | SIP trunk the number is attached to; null when not trunked. While attached, enabling Calls or WhatsApp calling, requesting WhatsApp verification, and releasing the number all return 409. | [optional] |
16
16
  | **profile_id** | **Object** | | [optional] |
@@ -6,7 +6,7 @@
6
6
  | ---- | ---- | ----------- | ----- |
7
7
  | **code** | **String** | ISO 3166-1 alpha-2 | [optional] |
8
8
  | **tier** | **Integer** | | [optional] |
9
- | **monthly_cents** | **Integer** | | [optional] |
9
+ | **monthly_cents** | **Integer** | Price a NEW number in this country costs per month, in cents, for the default (first) type. 1.5x the carrier's monthly cost, rounded up to a whole dollar, minimum $3. | [optional] |
10
10
  | **needs_kyc** | **Boolean** | | [optional] |
11
11
  | **outbound_calling_available** | **Boolean** | | [optional] |
12
12
 
@@ -1149,7 +1149,7 @@ end
1149
1149
 
1150
1150
  Purchase phone number
1151
1151
 
1152
- Payment-first: you do not pick a specific number, the system provisions one and auto-assigns it. With usage-based billing active and a payment method on file, the number provisions inline and bills per month on your usage-based invoice (there is no checkout redirect). No payment method on file returns `402 PAYMENT_REQUIRED`; a regulated country returns `202` with `status: \"kyc_required\"` and a `kycUrl`. Requires usage-based billing (the Usage plan). The maximum number of phone numbers is determined by the user's plan.
1152
+ Payment-first: you do not pick a specific number, the system provisions one and auto-assigns it. With usage-based billing active and a payment method on file, the number provisions inline and bills per month on your usage-based invoice (there is no checkout redirect). No payment method on file returns `402 PAYMENT_REQUIRED`; a regulated country returns `202` with `status: \"kyc_required\"` and a `kycUrl`. The monthly price is the one `GET /v1/phone-numbers/countries` quotes for that country and `numberType` at the time of purchase, and it is stamped on the number: later rate-card changes never move a number you already own. Requires usage-based billing (the Usage plan). The maximum number of phone numbers is determined by the user's plan.
1153
1153
 
1154
1154
  ### Examples
1155
1155
 
@@ -660,7 +660,7 @@ end
660
660
 
661
661
  Purchase phone number
662
662
 
663
- Deprecated alias of `/v1/phone-numbers/purchase`; same contract. New integrations should use that path. Payment-first: you do not pick a specific number, the system provisions one and auto-assigns it. With usage-based billing active and a payment method on file, the number provisions inline and bills per month on your usage-based invoice (there is no checkout redirect). No payment method on file returns `402 PAYMENT_REQUIRED`; a regulated country returns `202` with `status: \"kyc_required\"` and a `kycUrl`. Requires usage-based billing (the Usage plan). The maximum number of phone numbers is determined by the user's plan.
663
+ Deprecated alias of `/v1/phone-numbers/purchase`; same contract. New integrations should use that path. Payment-first: you do not pick a specific number, the system provisions one and auto-assigns it. With usage-based billing active and a payment method on file, the number provisions inline and bills per month on your usage-based invoice (there is no checkout redirect). No payment method on file returns `402 PAYMENT_REQUIRED`; a regulated country returns `202` with `status: \"kyc_required\"` and a `kycUrl`. The monthly price is the one `GET /v1/phone-numbers/countries` quotes for that country and `numberType` at the time of purchase, and it is stamped on the number: later rate-card changes never move a number you already own. Requires usage-based billing (the Usage plan). The maximum number of phone numbers is determined by the user's plan.
664
664
 
665
665
  ### Examples
666
666
 
@@ -1065,7 +1065,7 @@ module Zernio
1065
1065
  end
1066
1066
 
1067
1067
  # Purchase phone number
1068
- # Payment-first: you do not pick a specific number, the system provisions one and auto-assigns it. With usage-based billing active and a payment method on file, the number provisions inline and bills per month on your usage-based invoice (there is no checkout redirect). No payment method on file returns `402 PAYMENT_REQUIRED`; a regulated country returns `202` with `status: \"kyc_required\"` and a `kycUrl`. Requires usage-based billing (the Usage plan). The maximum number of phone numbers is determined by the user's plan.
1068
+ # Payment-first: you do not pick a specific number, the system provisions one and auto-assigns it. With usage-based billing active and a payment method on file, the number provisions inline and bills per month on your usage-based invoice (there is no checkout redirect). No payment method on file returns `402 PAYMENT_REQUIRED`; a regulated country returns `202` with `status: \"kyc_required\"` and a `kycUrl`. The monthly price is the one `GET /v1/phone-numbers/countries` quotes for that country and `numberType` at the time of purchase, and it is stamped on the number: later rate-card changes never move a number you already own. Requires usage-based billing (the Usage plan). The maximum number of phone numbers is determined by the user's plan.
1069
1069
  # @param purchase_phone_number_request [PurchasePhoneNumberRequest]
1070
1070
  # @param [Hash] opts the optional parameters
1071
1071
  # @return [PurchasePhoneNumber200Response]
@@ -1075,7 +1075,7 @@ module Zernio
1075
1075
  end
1076
1076
 
1077
1077
  # Purchase phone number
1078
- # Payment-first: you do not pick a specific number, the system provisions one and auto-assigns it. With usage-based billing active and a payment method on file, the number provisions inline and bills per month on your usage-based invoice (there is no checkout redirect). No payment method on file returns `402 PAYMENT_REQUIRED`; a regulated country returns `202` with `status: \"kyc_required\"` and a `kycUrl`. Requires usage-based billing (the Usage plan). The maximum number of phone numbers is determined by the user's plan.
1078
+ # Payment-first: you do not pick a specific number, the system provisions one and auto-assigns it. With usage-based billing active and a payment method on file, the number provisions inline and bills per month on your usage-based invoice (there is no checkout redirect). No payment method on file returns `402 PAYMENT_REQUIRED`; a regulated country returns `202` with `status: \"kyc_required\"` and a `kycUrl`. The monthly price is the one `GET /v1/phone-numbers/countries` quotes for that country and `numberType` at the time of purchase, and it is stamped on the number: later rate-card changes never move a number you already own. Requires usage-based billing (the Usage plan). The maximum number of phone numbers is determined by the user's plan.
1079
1079
  # @param purchase_phone_number_request [PurchasePhoneNumberRequest]
1080
1080
  # @param [Hash] opts the optional parameters
1081
1081
  # @return [Array<(PurchasePhoneNumber200Response, Integer, Hash)>] PurchasePhoneNumber200Response data, response status code and response headers
@@ -621,7 +621,7 @@ module Zernio
621
621
  end
622
622
 
623
623
  # Purchase phone number
624
- # Deprecated alias of `/v1/phone-numbers/purchase`; same contract. New integrations should use that path. Payment-first: you do not pick a specific number, the system provisions one and auto-assigns it. With usage-based billing active and a payment method on file, the number provisions inline and bills per month on your usage-based invoice (there is no checkout redirect). No payment method on file returns `402 PAYMENT_REQUIRED`; a regulated country returns `202` with `status: \"kyc_required\"` and a `kycUrl`. Requires usage-based billing (the Usage plan). The maximum number of phone numbers is determined by the user's plan.
624
+ # Deprecated alias of `/v1/phone-numbers/purchase`; same contract. New integrations should use that path. Payment-first: you do not pick a specific number, the system provisions one and auto-assigns it. With usage-based billing active and a payment method on file, the number provisions inline and bills per month on your usage-based invoice (there is no checkout redirect). No payment method on file returns `402 PAYMENT_REQUIRED`; a regulated country returns `202` with `status: \"kyc_required\"` and a `kycUrl`. The monthly price is the one `GET /v1/phone-numbers/countries` quotes for that country and `numberType` at the time of purchase, and it is stamped on the number: later rate-card changes never move a number you already own. Requires usage-based billing (the Usage plan). The maximum number of phone numbers is determined by the user's plan.
625
625
  # @param purchase_whats_app_phone_number_request [PurchaseWhatsAppPhoneNumberRequest]
626
626
  # @param [Hash] opts the optional parameters
627
627
  # @return [PurchaseWhatsAppPhoneNumber200Response]
@@ -631,7 +631,7 @@ module Zernio
631
631
  end
632
632
 
633
633
  # Purchase phone number
634
- # Deprecated alias of &#x60;/v1/phone-numbers/purchase&#x60;; same contract. New integrations should use that path. Payment-first: you do not pick a specific number, the system provisions one and auto-assigns it. With usage-based billing active and a payment method on file, the number provisions inline and bills per month on your usage-based invoice (there is no checkout redirect). No payment method on file returns &#x60;402 PAYMENT_REQUIRED&#x60;; a regulated country returns &#x60;202&#x60; with &#x60;status: \&quot;kyc_required\&quot;&#x60; and a &#x60;kycUrl&#x60;. Requires usage-based billing (the Usage plan). The maximum number of phone numbers is determined by the user&#39;s plan.
634
+ # Deprecated alias of &#x60;/v1/phone-numbers/purchase&#x60;; same contract. New integrations should use that path. Payment-first: you do not pick a specific number, the system provisions one and auto-assigns it. With usage-based billing active and a payment method on file, the number provisions inline and bills per month on your usage-based invoice (there is no checkout redirect). No payment method on file returns &#x60;402 PAYMENT_REQUIRED&#x60;; a regulated country returns &#x60;202&#x60; with &#x60;status: \&quot;kyc_required\&quot;&#x60; and a &#x60;kycUrl&#x60;. The monthly price is the one &#x60;GET /v1/phone-numbers/countries&#x60; quotes for that country and &#x60;numberType&#x60; at the time of purchase, and it is stamped on the number: later rate-card changes never move a number you already own. Requires usage-based billing (the Usage plan). The maximum number of phone numbers is determined by the user&#39;s plan.
635
635
  # @param purchase_whats_app_phone_number_request [PurchaseWhatsAppPhoneNumberRequest]
636
636
  # @param [Hash] opts the optional parameters
637
637
  # @return [Array<(PurchaseWhatsAppPhoneNumber200Response, Integer, Hash)>] PurchaseWhatsAppPhoneNumber200Response data, response status code and response headers
@@ -53,7 +53,7 @@ module Zernio
53
53
 
54
54
  attr_accessor :promoted_object
55
55
 
56
- # Individual ads within this ad set (capped at 100). Returns a subset of Ad fields from the aggregation: `_id`, `name`, `platform`, `status`, `configuredStatus`, `reviewStatus`, `budget`, `metrics`, `creative`, `goal` and the `platform*` ids are always included; `targeting` and `schedule` may be absent. `configuredStatus` (the ad's own on/off toggle) and `reviewStatus` (the platform's review verdict) are part of this contract, not incidental: a rejected ad is only distinguishable from a healthy one through `reviewStatus`. When `timeIncrement=1&dailyLevel=ad`, each entry also carries a `daily[]` array of `AdDailyMetrics`.
56
+ # Individual ads within this ad set (capped at 100). When the ad set has more than 100 ads these are the 100 highest-spending over the requested date range, so this array depends on `fromDate`/`toDate`; `adCount` is always the true ad set size. Returns a subset of Ad fields from the aggregation: `_id`, `name`, `platform`, `status`, `configuredStatus`, `reviewStatus`, `budget`, `metrics`, `creative`, `goal` and the `platform*` ids are always included; `targeting` and `schedule` may be absent. `configuredStatus` (the ad's own on/off toggle) and `reviewStatus` (the platform's review verdict) are part of this contract, not incidental: a rejected ad is only distinguishable from a healthy one through `reviewStatus`. When `timeIncrement=1&dailyLevel=ad`, each entry also carries a `daily[]` array of `AdDailyMetrics`.
57
57
  attr_accessor :ads
58
58
 
59
59
  # Per-day metric series for this ad set. Present only when `GET /v1/ads/tree` is called with `timeIncrement=1` and `dailyLevel` is `adset` or `ad`.
@@ -20,6 +20,7 @@ module Zernio
20
20
 
21
21
  attr_accessor :tier
22
22
 
23
+ # Price a NEW number in this country costs per month, in cents, for the default (first) type. 1.5x the carrier's monthly cost, rounded up to a whole dollar, minimum $3.
23
24
  attr_accessor :monthly_cents
24
25
 
25
26
  attr_accessor :needs_kyc
@@ -21,6 +21,7 @@ module Zernio
21
21
 
22
22
  attr_accessor :needs_kyc
23
23
 
24
+ # Price a NEW number of this type costs per month, in cents.
24
25
  attr_accessor :monthly_cents
25
26
 
26
27
  # Always false for toll_free (WhatsApp does not reliably register toll-free numbers).
@@ -29,7 +29,7 @@ module Zernio
29
29
  # Present once the number order has been placed (i.e. the requirement group was approved). Absent while still in identity review.
30
30
  attr_accessor :telnyx_order_id
31
31
 
32
- # Per-country monthly price in cents ($2..$25).
32
+ # What this number bills each month, in cents. Stamped when the number was bought, so an existing number keeps its price when the rate card changes.
33
33
  attr_accessor :monthly_cents
34
34
 
35
35
  # False for numbers you brought yourself (connected via Meta embedded signup) — they live on your own carrier, so SMS/Calls can't be enabled on them.
@@ -20,6 +20,7 @@ module Zernio
20
20
 
21
21
  attr_accessor :tier
22
22
 
23
+ # Price a NEW number in this country costs per month, in cents, for the default (first) type. 1.5x the carrier's monthly cost, rounded up to a whole dollar, minimum $3.
23
24
  attr_accessor :monthly_cents
24
25
 
25
26
  attr_accessor :needs_kyc
@@ -11,5 +11,5 @@ Generator version: 7.19.0
11
11
  =end
12
12
 
13
13
  module Zernio
14
- VERSION = '0.0.831'
14
+ VERSION = '0.0.833'
15
15
  end
data/openapi.yaml CHANGED
@@ -8934,7 +8934,7 @@ components:
8934
8934
  ads:
8935
8935
  type: array
8936
8936
  items: { $ref: '#/components/schemas/Ad' }
8937
- description: "Individual ads within this ad set (capped at 100). Returns a subset of Ad fields from the aggregation: `_id`, `name`, `platform`, `status`, `configuredStatus`, `reviewStatus`, `budget`, `metrics`, `creative`, `goal` and the `platform*` ids are always included; `targeting` and `schedule` may be absent. `configuredStatus` (the ad's own on/off toggle) and `reviewStatus` (the platform's review verdict) are part of this contract, not incidental: a rejected ad is only distinguishable from a healthy one through `reviewStatus`. When `timeIncrement=1&dailyLevel=ad`, each entry also carries a `daily[]` array of `AdDailyMetrics`."
8937
+ description: "Individual ads within this ad set (capped at 100). When the ad set has more than 100 ads these are the 100 highest-spending over the requested date range, so this array depends on `fromDate`/`toDate`; `adCount` is always the true ad set size. Returns a subset of Ad fields from the aggregation: `_id`, `name`, `platform`, `status`, `configuredStatus`, `reviewStatus`, `budget`, `metrics`, `creative`, `goal` and the `platform*` ids are always included; `targeting` and `schedule` may be absent. `configuredStatus` (the ad's own on/off toggle) and `reviewStatus` (the platform's review verdict) are part of this contract, not incidental: a rejected ad is only distinguishable from a healthy one through `reviewStatus`. When `timeIncrement=1&dailyLevel=ad`, each entry also carries a `daily[]` array of `AdDailyMetrics`."
8938
8938
  daily:
8939
8939
  type: array
8940
8940
  items: { $ref: '#/components/schemas/AdDailyMetrics' }
@@ -33947,7 +33947,7 @@ paths:
33947
33947
  status: { type: string, enum: [pending_payment, pending_regulatory, regulatory_declined, provisioning, verifying, active, suspended, releasing, released] }
33948
33948
  registrantName: { type: [string, "null"], description: "For regulated numbers, who it's registered for (company or person) — set from the submitted KYC." }
33949
33949
  telnyxOrderId: { type: [string, "null"], description: Present once the number order has been placed (i.e. the requirement group was approved). Absent while still in identity review. }
33950
- monthlyCents: { type: integer, description: Per-country monthly price in cents ($2..$25). }
33950
+ monthlyCents: { type: integer, description: "What this number bills each month, in cents. Stamped when the number was bought, so an existing number keeps its price when the rate card changes." }
33951
33951
  hostedByZernio: { type: boolean, description: "False for numbers you brought yourself (connected via Meta embedded signup) — they live on your own carrier, so SMS/Calls can't be enabled on them." }
33952
33952
  sipTrunkId: { type: [string, "null"], description: 'SIP trunk the number is attached to; null when not trunked. While attached, enabling Calls or WhatsApp calling, requesting WhatsApp verification, and releasing the number all return 409.' }
33953
33953
  profileId: { type: object }
@@ -34097,6 +34097,10 @@ paths:
34097
34097
  no checkout redirect). No payment method on file returns `402 PAYMENT_REQUIRED`;
34098
34098
  a regulated country returns `202` with `status: "kyc_required"` and a `kycUrl`.
34099
34099
 
34100
+ The monthly price is the one `GET /v1/phone-numbers/countries` quotes for that
34101
+ country and `numberType` at the time of purchase, and it is stamped on the number:
34102
+ later rate-card changes never move a number you already own.
34103
+
34100
34104
  Requires usage-based billing (the Usage plan). The maximum number of phone numbers
34101
34105
  is determined by the user's plan.
34102
34106
  security:
@@ -34299,7 +34303,7 @@ paths:
34299
34303
  properties:
34300
34304
  code: { type: string, description: ISO 3166-1 alpha-2 }
34301
34305
  tier: { type: integer, enum: [1, 2, 3, 4] }
34302
- monthlyCents: { type: integer }
34306
+ monthlyCents: { type: integer, description: "Price a NEW number in this country costs per month, in cents, for the default (first) type. 1.5x the carrier's monthly cost, rounded up to a whole dollar, minimum $3." }
34303
34307
  needsKyc: { type: boolean }
34304
34308
  callsAvailable: { type: boolean, description: "Regular phone (PSTN) calling on the number, inbound + outbound. Available on every offerable country." }
34305
34309
  whatsappAvailable: { type: boolean, description: WhatsApp can be enabled on numbers from this country. }
@@ -34320,7 +34324,7 @@ paths:
34320
34324
  numberType: { type: string, enum: [local, mobile, national, toll_free] }
34321
34325
  tier: { type: integer, enum: [1, 2, 3, 4] }
34322
34326
  needsKyc: { type: boolean }
34323
- monthlyCents: { type: integer }
34327
+ monthlyCents: { type: integer, description: "Price a NEW number of this type costs per month, in cents." }
34324
34328
  whatsappAvailable: { type: boolean, description: "Always false for toll_free (WhatsApp does not reliably register toll-free numbers)." }
34325
34329
  smsAvailable: { type: boolean }
34326
34330
  callsAvailable: { type: boolean }
@@ -34491,7 +34495,7 @@ paths:
34491
34495
  status: { type: string, enum: [pending_payment, pending_regulatory, regulatory_declined, provisioning, verifying, active, suspended, releasing, released] }
34492
34496
  registrantName: { type: [string, "null"], description: "For regulated numbers, who it's registered for (company or person) — set from the submitted KYC." }
34493
34497
  telnyxOrderId: { type: [string, "null"], description: Present once the number order has been placed (i.e. the requirement group was approved). Absent while still in identity review. }
34494
- monthlyCents: { type: integer, description: Per-country monthly price in cents ($2..$25). }
34498
+ monthlyCents: { type: integer, description: "What this number bills each month, in cents. Stamped when the number was bought, so an existing number keeps its price when the rate card changes." }
34495
34499
  hostedByZernio: { type: boolean, description: "False for numbers you brought yourself (connected via Meta embedded signup) — they live on your own carrier, so SMS/Calls can't be enabled on them." }
34496
34500
  sipTrunkId: { type: [string, "null"], description: 'SIP trunk the number is attached to; null when not trunked. While attached, enabling Calls or WhatsApp calling, requesting WhatsApp verification, and releasing the number all return 409.' }
34497
34501
  profileId: { type: object }
@@ -34557,6 +34561,10 @@ paths:
34557
34561
  no checkout redirect). No payment method on file returns `402 PAYMENT_REQUIRED`;
34558
34562
  a regulated country returns `202` with `status: "kyc_required"` and a `kycUrl`.
34559
34563
 
34564
+ The monthly price is the one `GET /v1/phone-numbers/countries` quotes for that
34565
+ country and `numberType` at the time of purchase, and it is stamped on the number:
34566
+ later rate-card changes never move a number you already own.
34567
+
34560
34568
  Requires usage-based billing (the Usage plan). The maximum number of phone numbers
34561
34569
  is determined by the user's plan.
34562
34570
  security:
@@ -34700,7 +34708,7 @@ paths:
34700
34708
  properties:
34701
34709
  code: { type: string, description: ISO 3166-1 alpha-2 }
34702
34710
  tier: { type: integer, enum: [1, 2, 3, 4] }
34703
- monthlyCents: { type: integer }
34711
+ monthlyCents: { type: integer, description: "Price a NEW number in this country costs per month, in cents, for the default (first) type. 1.5x the carrier's monthly cost, rounded up to a whole dollar, minimum $3." }
34704
34712
  needsKyc: { type: boolean }
34705
34713
  outboundCallingAvailable: { type: boolean }
34706
34714
  '401': { $ref: '#/components/responses/Unauthorized' }
@@ -226,7 +226,7 @@ describe 'PhoneNumbersApi' do
226
226
 
227
227
  # unit tests for purchase_phone_number
228
228
  # Purchase phone number
229
- # Payment-first: you do not pick a specific number, the system provisions one and auto-assigns it. With usage-based billing active and a payment method on file, the number provisions inline and bills per month on your usage-based invoice (there is no checkout redirect). No payment method on file returns &#x60;402 PAYMENT_REQUIRED&#x60;; a regulated country returns &#x60;202&#x60; with &#x60;status: \&quot;kyc_required\&quot;&#x60; and a &#x60;kycUrl&#x60;. Requires usage-based billing (the Usage plan). The maximum number of phone numbers is determined by the user&#39;s plan.
229
+ # Payment-first: you do not pick a specific number, the system provisions one and auto-assigns it. With usage-based billing active and a payment method on file, the number provisions inline and bills per month on your usage-based invoice (there is no checkout redirect). No payment method on file returns &#x60;402 PAYMENT_REQUIRED&#x60;; a regulated country returns &#x60;202&#x60; with &#x60;status: \&quot;kyc_required\&quot;&#x60; and a &#x60;kycUrl&#x60;. The monthly price is the one &#x60;GET /v1/phone-numbers/countries&#x60; quotes for that country and &#x60;numberType&#x60; at the time of purchase, and it is stamped on the number: later rate-card changes never move a number you already own. Requires usage-based billing (the Usage plan). The maximum number of phone numbers is determined by the user&#39;s plan.
230
230
  # @param purchase_phone_number_request
231
231
  # @param [Hash] opts the optional parameters
232
232
  # @return [PurchasePhoneNumber200Response]
@@ -146,7 +146,7 @@ describe 'WhatsAppPhoneNumbersApi' do
146
146
 
147
147
  # unit tests for purchase_whats_app_phone_number
148
148
  # Purchase phone number
149
- # Deprecated alias of &#x60;/v1/phone-numbers/purchase&#x60;; same contract. New integrations should use that path. Payment-first: you do not pick a specific number, the system provisions one and auto-assigns it. With usage-based billing active and a payment method on file, the number provisions inline and bills per month on your usage-based invoice (there is no checkout redirect). No payment method on file returns &#x60;402 PAYMENT_REQUIRED&#x60;; a regulated country returns &#x60;202&#x60; with &#x60;status: \&quot;kyc_required\&quot;&#x60; and a &#x60;kycUrl&#x60;. Requires usage-based billing (the Usage plan). The maximum number of phone numbers is determined by the user&#39;s plan.
149
+ # Deprecated alias of &#x60;/v1/phone-numbers/purchase&#x60;; same contract. New integrations should use that path. Payment-first: you do not pick a specific number, the system provisions one and auto-assigns it. With usage-based billing active and a payment method on file, the number provisions inline and bills per month on your usage-based invoice (there is no checkout redirect). No payment method on file returns &#x60;402 PAYMENT_REQUIRED&#x60;; a regulated country returns &#x60;202&#x60; with &#x60;status: \&quot;kyc_required\&quot;&#x60; and a &#x60;kycUrl&#x60;. The monthly price is the one &#x60;GET /v1/phone-numbers/countries&#x60; quotes for that country and &#x60;numberType&#x60; at the time of purchase, and it is stamped on the number: later rate-card changes never move a number you already own. Requires usage-based billing (the Usage plan). The maximum number of phone numbers is determined by the user&#39;s plan.
150
150
  # @param purchase_whats_app_phone_number_request
151
151
  # @param [Hash] opts the optional parameters
152
152
  # @return [PurchaseWhatsAppPhoneNumber200Response]
Binary file