bandwidth-sdk 18.2.0 → 18.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.
Files changed (47) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +30 -24
  3. data/README.md +1 -1
  4. data/bandwidth.yml +58 -15
  5. data/coverage/.last_run.json +1 -1
  6. data/coverage/.resultset.json +239 -38
  7. data/coverage/index.html +5421 -3237
  8. data/custom_templates/README.mustache +1 -1
  9. data/custom_templates/gem.mustache +3 -0
  10. data/docs/MediaApi.md +9 -9
  11. data/docs/RbmActionBase.md +1 -1
  12. data/docs/RbmSuggestionResponse.md +1 -1
  13. data/docs/TfvSubmissionInfo.md +2 -2
  14. data/docs/TollFreeVerificationApi.md +3 -3
  15. data/docs/VerificationRequest.md +2 -2
  16. data/docs/VerificationUpdateRequest.md +3 -3
  17. data/generate.sh +9 -0
  18. data/lib/bandwidth-sdk/api/media_api.rb +10 -10
  19. data/lib/bandwidth-sdk/api/toll_free_verification_api.rb +6 -6
  20. data/lib/bandwidth-sdk/models/bxml/verbs/connect.rb +23 -0
  21. data/lib/bandwidth-sdk/models/bxml/verbs/endpoint.rb +11 -0
  22. data/lib/bandwidth-sdk/models/bxml/verbs/forward.rb +2 -0
  23. data/lib/bandwidth-sdk/models/bxml/verbs/gather.rb +22 -14
  24. data/lib/bandwidth-sdk/models/bxml/verbs/record.rb +2 -0
  25. data/lib/bandwidth-sdk/models/bxml/verbs/start_recording.rb +2 -0
  26. data/lib/bandwidth-sdk/models/bxml/verbs/start_stream.rb +2 -2
  27. data/lib/bandwidth-sdk/models/bxml/verbs/start_transcription.rb +2 -0
  28. data/lib/bandwidth-sdk/models/bxml/verbs/transfer.rb +1 -0
  29. data/lib/bandwidth-sdk/models/tfv_submission_info.rb +2 -2
  30. data/lib/bandwidth-sdk/models/verification_request.rb +2 -2
  31. data/lib/bandwidth-sdk/models/verification_update_request.rb +19 -2
  32. data/lib/bandwidth-sdk/version.rb +1 -1
  33. data/lib/bandwidth-sdk.rb +2 -0
  34. data/spec/smoke/media_api_spec.rb +2 -2
  35. data/spec/smoke/messages_api_spec.rb +2 -2
  36. data/spec/unit/models/bxml/verbs/connect_spec.rb +62 -0
  37. data/spec/unit/models/bxml/verbs/endpoint_spec.rb +16 -0
  38. data/spec/unit/models/bxml/verbs/forward_spec.rb +6 -2
  39. data/spec/unit/models/bxml/verbs/gather_spec.rb +23 -7
  40. data/spec/unit/models/bxml/verbs/record_spec.rb +8 -4
  41. data/spec/unit/models/bxml/verbs/start_recording_spec.rb +8 -4
  42. data/spec/unit/models/bxml/verbs/start_stream_spec.rb +5 -5
  43. data/spec/unit/models/bxml/verbs/start_transcription_spec.rb +11 -7
  44. data/spec/unit/models/bxml/verbs/transfer_spec.rb +7 -5
  45. data/spec/unit/models/tfv_submission_wrapper_spec.rb +2 -1
  46. data/spec/unit/models/verification_update_request_spec.rb +4 -2
  47. metadata +9 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b328a56ad1eb166fb898a1babc30dc7830b71e6d25ecd4cc4db555d472faeb58
4
- data.tar.gz: 3651965073b5f7062a28b917525dca1bb9107ce2fccc91f4f59972b3daa2ee82
3
+ metadata.gz: 55026e4bcb02125c59351595bb3ef95fa37b93c444a4c831f2fae904b14a5d98
4
+ data.tar.gz: d41337de670b25096ca4f7ab25e7180bcd97bcfc7706d4d5b87d22a305c55144
5
5
  SHA512:
6
- metadata.gz: bd1a0a05cdb7a77623f80134fdf6aafccd152760700d6690bcd74c25cee499c0a5964888762608459ece1bcd31e44ac141f6a05c65206ea3d4c0d45f63f9e54d
7
- data.tar.gz: cce64d048b74c48312f2b2eb68bf0a0f5a5578fce330a638568ed2e95676d630b9815dfc0f5dfcdc84ac0f5de11b4ad1200419284e5713035a81aa3134937dde
6
+ metadata.gz: 118c2d900b0b2916043a98d06f98c9034f97e4706fede19cbcc5b804ac3baf4bf6cbf4d766c223a34e59ca1e276cbb444a084589e90791be535229dfb856489c
7
+ data.tar.gz: 90cc0956754b111765d7821591c8f68929f734c284c6dc01fb9f5a30bc26a309f81e7569430c922d8fa01445d48bf234ca25846bb6537eb48020e8647dbfb07a
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- bandwidth-sdk (18.2.0)
4
+ bandwidth-sdk (18.3.1)
5
5
  faraday (>= 1.0.1, < 3.0)
6
6
  faraday-multipart
7
7
  marcel
@@ -11,13 +11,13 @@ GEM
11
11
  remote: https://rubygems.org/
12
12
  specs:
13
13
  ast (2.4.3)
14
- bigdecimal (4.1.2)
14
+ bigdecimal (4.1.3)
15
15
  byebug (13.0.0)
16
16
  reline (>= 0.6.0)
17
17
  coderay (1.1.3)
18
18
  diff-lcs (1.6.2)
19
19
  docile (1.4.1)
20
- faraday (2.14.3)
20
+ faraday (2.14.4)
21
21
  faraday-net_http (>= 2.0, < 3.5)
22
22
  json
23
23
  logger
@@ -25,19 +25,22 @@ GEM
25
25
  multipart-post (~> 2.0)
26
26
  faraday-net_http (3.4.4)
27
27
  net-http (~> 0.5)
28
- io-console (0.9.2)
28
+ io-console (0.9.4)
29
29
  json (2.21.2)
30
30
  language_server-protocol (3.17.0.6)
31
31
  lint_roller (1.1.0)
32
32
  logger (1.7.0)
33
- marcel (1.2.1)
33
+ marcel (2.1.0)
34
34
  method_source (1.1.0)
35
35
  multipart-post (2.4.1)
36
- net-http (0.9.1)
36
+ net-http (0.10.0)
37
+ net-protocol (>= 0.3.0)
37
38
  uri (>= 0.11.1)
39
+ net-protocol (0.4.0)
40
+ timeout
38
41
  ox (2.14.29)
39
42
  bigdecimal (>= 3.0)
40
- parallel (2.1.0)
43
+ parallel (2.3.0)
41
44
  parser (3.3.12.0)
42
45
  ast (~> 2.4.1)
43
46
  racc
@@ -52,7 +55,7 @@ GEM
52
55
  racc (1.8.1)
53
56
  rainbow (3.1.1)
54
57
  rake (13.2.1)
55
- regexp_parser (2.12.0)
58
+ regexp_parser (2.13.1)
56
59
  reline (0.7.0)
57
60
  io-console (~> 0.5)
58
61
  rspec (3.13.2)
@@ -89,10 +92,11 @@ GEM
89
92
  simplecov_json_formatter (~> 0.1)
90
93
  simplecov-html (0.13.2)
91
94
  simplecov_json_formatter (0.1.4)
92
- unicode-display_width (3.2.0)
93
- unicode-emoji (~> 4.1)
94
- unicode-emoji (4.2.0)
95
- uri (1.1.1)
95
+ timeout (0.6.1)
96
+ unicode-display_width (3.3.0)
97
+ unicode-emoji (~> 4.3)
98
+ unicode-emoji (4.3.0)
99
+ uri (1.1.2)
96
100
 
97
101
  PLATFORMS
98
102
  ruby
@@ -108,26 +112,27 @@ DEPENDENCIES
108
112
 
109
113
  CHECKSUMS
110
114
  ast (2.4.3) sha256=954615157c1d6a382bc27d690d973195e79db7f55e9765ac7c481c60bdb4d383
111
- bandwidth-sdk (18.2.0)
112
- bigdecimal (4.1.2) sha256=53d217666027eab4280346fba98e7d5b66baaae1b9c3c1c0ffe89d48188a3fbd
115
+ bandwidth-sdk (18.3.1)
116
+ bigdecimal (4.1.3) sha256=61ebe1e5e559bdc3cc6f2c0ee7f427321fc838f59611c294356eb04d6e21cf66
113
117
  byebug (13.0.0) sha256=d2263efe751941ca520fa29744b71972d39cbc41839496706f5d9b22e92ae05d
114
118
  coderay (1.1.3) sha256=dc530018a4684512f8f38143cd2a096c9f02a1fc2459edcfe534787a7fc77d4b
115
119
  diff-lcs (1.6.2) sha256=9ae0d2cba7d4df3075fe8cd8602a8604993efc0dfa934cff568969efb1909962
116
120
  docile (1.4.1) sha256=96159be799bfa73cdb721b840e9802126e4e03dfc26863db73647204c727f21e
117
- faraday (2.14.3) sha256=1882247e6766615c8220b4392bf1d27f6ebb63d8e28267587cef1fb0bf37f278
121
+ faraday (2.14.4) sha256=9bb4408c44621b0dbaaaa39e5dbfc4dbe58cc6751b6eb94d16ae9e1f2f2fab6e
118
122
  faraday-multipart (1.2.0) sha256=7d89a949693714176f612323ca13746a2ded204031a6ba528adee788694ef757
119
123
  faraday-net_http (3.4.4) sha256=0e78af151747ed1b00f33e25973b4bc220d7f16c00c39676817c8b12331eb588
120
- io-console (0.9.2) sha256=efa74f891dd03c0939a931dfc6e74c2813d904763d456ea9762b0525e748db08
124
+ io-console (0.9.4) sha256=a403304f32928ee85e56d457b4612ca43f2703b561a3258844992bd24085fbb1
121
125
  json (2.21.2) sha256=1f1d3b7cf2b3ba1a69beca0bb6db13d5438b80bff3cd54cdaaa620b9b07c1c6a
122
126
  language_server-protocol (3.17.0.6) sha256=5ef2c0c138f8267e1bc631d3328347d354f96724b0af22f2c79516120443b7f0
123
127
  lint_roller (1.1.0) sha256=2c0c845b632a7d172cb849cc90c1bce937a28c5c8ccccb50dfd46a485003cc87
124
128
  logger (1.7.0) sha256=196edec7cc44b66cfb40f9755ce11b392f21f7967696af15d274dde7edff0203
125
- marcel (1.2.1) sha256=1678e9360e32f9eafa917c80029e2f6d10b2715c66a4b87b6d0da9b9cd1f859f
129
+ marcel (2.1.0) sha256=f8b0327111dc7e516331eeefe052e981ce50e2bd826c1042a53cdf047fcc3512
126
130
  method_source (1.1.0) sha256=181301c9c45b731b4769bc81e8860e72f9161ad7d66dd99103c9ab84f560f5c5
127
131
  multipart-post (2.4.1) sha256=9872d03a8e552020ca096adadbf5e3cb1cd1cdd6acd3c161136b8a5737cdb4a8
128
- net-http (0.9.1) sha256=25ba0b67c63e89df626ed8fac771d0ad24ad151a858af2cc8e6a716ca4336996
132
+ net-http (0.10.0) sha256=1a2ff6e37a05724973c43f2bf7bf105f59c36a4cd0a7e9b1c021a0a566987c27
133
+ net-protocol (0.4.0) sha256=f9f90c8c6f64794a45160bf422177a336db12809de3beeeaa26b88fcd2e8c853
129
134
  ox (2.14.29) sha256=206736d5a8dade9dca10cf72022bc157ad6ca3eecaba3853918426ed88e12dc2
130
- parallel (2.1.0) sha256=b35258865c2e31134c5ecb708beaaf6772adf9d5efae28e93e99260877b09356
135
+ parallel (2.3.0) sha256=f75a3e904101ce6a1ccb6b8dc800cbafd42166d83330192438dcf29395167a6f
131
136
  parser (3.3.12.0) sha256=21a6d7f755d5a24dfbdc6e6b772e4e879a52e7631a88bc5a3a134606052c9828
132
137
  prism (1.9.0) sha256=7b530c6a9f92c24300014919c9dcbc055bf4cdf51ec30aed099b06cd6674ef85
133
138
  pry (0.16.0) sha256=d76c69065698ed1f85e717bd33d7942c38a50868f6b0673c636192b3d1b6054e
@@ -135,7 +140,7 @@ CHECKSUMS
135
140
  racc (1.8.1) sha256=4a7f6929691dbec8b5209a0b373bc2614882b55fc5d2e447a21aaa691303d62f
136
141
  rainbow (3.1.1) sha256=039491aa3a89f42efa1d6dec2fc4e62ede96eb6acd95e52f1ad581182b79bc6a
137
142
  rake (13.2.1) sha256=46cb38dae65d7d74b6020a4ac9d48afed8eb8149c040eccf0523bec91907059d
138
- regexp_parser (2.12.0) sha256=35a916a1d63190ab5c9009457136ae5f3c0c7512d60291d0d1378ba18ce08ebb
143
+ regexp_parser (2.13.1) sha256=5aedb6b7c35688f51e86eef17a15374dfd287c83f4ca644b2c5f3ec50a33b44b
139
144
  reline (0.7.0) sha256=5b012d8e55dbf9d450f12bde2cf7d15ff546ae80b3f8f3b30e570d431815583d
140
145
  rspec (3.13.2) sha256=206284a08ad798e61f86d7ca3e376718d52c0bc944626b2349266f239f820587
141
146
  rspec-core (3.13.6) sha256=a8823c6411667b60a8bca135364351dda34cd55e44ff94c4be4633b37d828b2d
@@ -148,9 +153,10 @@ CHECKSUMS
148
153
  simplecov (0.22.0) sha256=fe2622c7834ff23b98066bb0a854284b2729a569ac659f82621fc22ef36213a5
149
154
  simplecov-html (0.13.2) sha256=bd0b8e54e7c2d7685927e8d6286466359b6f16b18cb0df47b508e8d73c777246
150
155
  simplecov_json_formatter (0.1.4) sha256=529418fbe8de1713ac2b2d612aa3daa56d316975d307244399fa4838c601b428
151
- unicode-display_width (3.2.0) sha256=0cdd96b5681a5949cdbc2c55e7b420facae74c4aaf9a9815eee1087cb1853c42
152
- unicode-emoji (4.2.0) sha256=519e69150f75652e40bf736106cfbc8f0f73aa3fb6a65afe62fefa7f80b0f80f
153
- uri (1.1.1) sha256=379fa58d27ffb1387eaada68c749d1426738bd0f654d812fcc07e7568f5c57c6
156
+ timeout (0.6.1) sha256=78f57368a7e7bbadec56971f78a3f5ecbcfb59b7fcbb0a3ed6ddc08a5094accb
157
+ unicode-display_width (3.3.0) sha256=4b7aa66a4b11db50f6f7e98411215cd0dd10eaecb665d36eec5bcacb3fa0b613
158
+ unicode-emoji (4.3.0) sha256=11c02fa73290378c066bb0562cd4c87d8e1b706fbbe0059ca12746a4244de8ce
159
+ uri (1.1.2) sha256=89292e98eabbef6248b0a0ed5e7e398e152f83f17560023a6d94a7f492b169fb
154
160
 
155
161
  BUNDLED WITH
156
- 4.0.16
162
+ 4.0.20
data/README.md CHANGED
@@ -15,7 +15,7 @@
15
15
  Bandwidth - the Ruby gem for the Bandwidth SDK
16
16
 
17
17
  ### Generated with the command:
18
- `openapi-generator generate -g ruby -i bandwidth.yml -c openapi-config.yml -o ./`
18
+ `bash generate.sh`
19
19
 
20
20
  Bandwidth's Communication APIs
21
21
 
data/bandwidth.yml CHANGED
@@ -88,12 +88,11 @@ paths:
88
88
  put:
89
89
  summary: Upload Media
90
90
  description: >-
91
- Upload a file. You may add headers to the request in order to provide
92
- some control to your media file.
91
+ Upload a file.
93
92
 
94
93
 
95
- If a file is uploaded with the same name as a file that already exists
96
- under this account, the previous file will be overwritten.
94
+ Filename should always be unique. Reusing filenames may result in the
95
+ wrong media being sent.
97
96
 
98
97
 
99
98
  A list of supported media types can be found at [Bandwidth
@@ -1404,7 +1403,19 @@ paths:
1404
1403
  tags:
1405
1404
  - Toll-Free Verification
1406
1405
  summary: Request Toll-Free Verification
1407
- description: Submit a request for verification of a toll-free phone number.
1406
+ description: >-
1407
+ Submit a request for verification of a toll-free phone number.
1408
+
1409
+
1410
+ **Upcoming change (effective January 2027):** If any phone number in the
1411
+ request already has a verification in progress, the request will be
1412
+ rejected with a `409 Conflict`.
1413
+
1414
+ This check is all-or-nothing: if a single phone number conflicts, the
1415
+ entire request is rejected and **none** of the phone numbers in the
1416
+ request are submitted.
1417
+
1418
+ Today, these requests are accepted with a `202`.
1408
1419
  operationId: requestTollFreeVerification
1409
1420
  parameters:
1410
1421
  - $ref: '#/components/parameters/accountId4'
@@ -1421,6 +1432,8 @@ paths:
1421
1432
  $ref: '#/components/responses/tfvForbiddenResponse'
1422
1433
  '405':
1423
1434
  $ref: '#/components/responses/tfvNotAllowedResponse'
1435
+ '409':
1436
+ $ref: '#/components/responses/tfvConflictResponse'
1424
1437
  '429':
1425
1438
  $ref: '#/components/responses/tfvTooManyRequestsResponse'
1426
1439
  '500':
@@ -1477,6 +1490,14 @@ paths:
1477
1490
  Submissions are only eligible for resubmission for 7 days within being
1478
1491
  processed and if resubmission is allowed (resubmitAllowed field is
1479
1492
  true).
1493
+
1494
+ Returns a `404` if no verification request exists for the phone number,
1495
+ and a `400` if the existing request is not eligible for resubmission.
1496
+
1497
+
1498
+ **Upcoming change (effective January 2027):** If a verification for the
1499
+ phone number is in progress, the update will be rejected with a `409
1500
+ Conflict`.
1480
1501
  operationId: updateTollFreeVerificationRequest
1481
1502
  parameters:
1482
1503
  - $ref: '#/components/parameters/accountId4'
@@ -1492,8 +1513,12 @@ paths:
1492
1513
  $ref: '#/components/responses/tfvUnauthorizedResponse'
1493
1514
  '403':
1494
1515
  $ref: '#/components/responses/tfvForbiddenResponse'
1516
+ '404':
1517
+ $ref: '#/components/responses/tfvNotFoundResponse'
1495
1518
  '405':
1496
1519
  $ref: '#/components/responses/tfvNotAllowedResponse'
1520
+ '409':
1521
+ $ref: '#/components/responses/tfvConflictResponse'
1497
1522
  '429':
1498
1523
  $ref: '#/components/responses/tfvTooManyRequestsResponse'
1499
1524
  '500':
@@ -1504,7 +1529,13 @@ paths:
1504
1529
  tfVerificationStatus:
1505
1530
  $ref: '#/components/callbacks/tfVerificationStatus'
1506
1531
  delete:
1507
- description: Delete a toll-free verification submission for a toll-free number.
1532
+ description: >-
1533
+ Delete a toll-free verification submission for a toll-free number.
1534
+
1535
+
1536
+ **Upcoming change (effective January 2027):** If a verification for the
1537
+ phone number is in progress, it will be cancelled and the submission
1538
+ will then be deleted asynchronously.
1508
1539
  operationId: deleteVerificationRequest
1509
1540
  parameters:
1510
1541
  - $ref: '#/components/parameters/accountId4'
@@ -6273,7 +6304,7 @@ components:
6273
6304
  Government-issued business identifying number.
6274
6305
 
6275
6306
 
6276
- **Note: As of October 19th, 2026 this field will be required when
6307
+ **As of October 19th, 2026 this field is required when
6277
6308
  `businessEntityType` is _not_ `SOLE_PROPRIETOR`. If this field is
6278
6309
  provided, `businessRegistrationType` and
6279
6310
  `businessRegistrationIssuingCountry` are also required.**
@@ -6286,7 +6317,7 @@ components:
6286
6317
  The type of business registration number.
6287
6318
 
6288
6319
 
6289
- **Note: As of October 19th, 2026 this field will be required when
6320
+ **As of October 19th, 2026 this field is required when
6290
6321
  `businessRegistrationNumber` is provided.**
6291
6322
  enum:
6292
6323
  - EIN
@@ -6317,7 +6348,7 @@ components:
6317
6348
  encouraged.
6318
6349
 
6319
6350
 
6320
- **Note: As of October 19th, 2026 this field will be required when
6351
+ **As of October 19th, 2026 this field is required when
6321
6352
  `businessRegistrationNumber` is provided.**
6322
6353
 
6323
6354
 
@@ -6368,9 +6399,9 @@ components:
6368
6399
  The type of registered business.
6369
6400
 
6370
6401
 
6371
- **Note: As of October 19th, 2026 submissions using a value other than
6402
+ **As of October 19th, 2026 submissions using a value other than
6372
6403
  `SOLE_PROPRIETOR` must provide a value for `businessRegistrationNumber`,
6373
- `businessRegistrationType`, and `businessRegistrationIssuingCountry`.
6404
+ `businessRegistrationType`, and `businessRegistrationIssuingCountry`.
6374
6405
 
6375
6406
  Submissions using `SOLE_PROPRIETOR` must _omit_
6376
6407
  `businessRegistrationNumber`, `businessRegistrationType`, and
@@ -6490,6 +6521,7 @@ components:
6490
6521
  - useCaseSummary
6491
6522
  - productionMessageContent
6492
6523
  - optInWorkflow
6524
+ - businessEntityType
6493
6525
  properties:
6494
6526
  businessAddress:
6495
6527
  $ref: '#/components/schemas/address'
@@ -8072,6 +8104,17 @@ components:
8072
8104
  example:
8073
8105
  description: Cannot find the requested resource.
8074
8106
  type: Not Found
8107
+ tfvConflictResponse:
8108
+ description: >-
8109
+ Conflict. A toll-free verification for the phone number is already in
8110
+ progress.
8111
+ content:
8112
+ application/json:
8113
+ schema:
8114
+ $ref: '#/components/schemas/tfvError'
8115
+ example:
8116
+ description: 'TFV request already in progress for phone number: +18005551234'
8117
+ type: conflict
8075
8118
  tfvNotAllowedResponse:
8076
8119
  description: Method Not Allowed
8077
8120
  content:
@@ -8237,8 +8280,8 @@ components:
8237
8280
  in: path
8238
8281
  name: mediaId
8239
8282
  required: true
8240
- description: Media ID to retrieve.
8241
- example: 14762070468292kw2fuqty55yp2b2/0/bw.png
8283
+ description: The ID of the media file.
8284
+ example: bw.png
8242
8285
  schema:
8243
8286
  type: string
8244
8287
  contentType:
@@ -8256,8 +8299,8 @@ components:
8256
8299
  style: simple
8257
8300
  explode: false
8258
8301
  description: >-
8259
- General-header field is used to specify directives that MUST be obeyed
8260
- by all caching mechanisms along the request/response chain.
8302
+ Pass-through header stored with the media and returned when the media is
8303
+ retrieved by the user. Does not affect internal server caching behavior.
8261
8304
  example: no-cache
8262
8305
  schema:
8263
8306
  type: string
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "result": {
3
- "line": 87.49
3
+ "line": 87.5
4
4
  }
5
5
  }