twilio-ruby 7.10.7 → 7.11.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 (105) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/test-and-deploy.yml +43 -67
  3. data/.gitignore +0 -1
  4. data/CHANGES.md +46 -0
  5. data/Gemfile +2 -0
  6. data/Gemfile.lock +154 -0
  7. data/README.md +3 -3
  8. data/Rakefile +1 -1
  9. data/lib/twilio-ruby/rest/accounts/v1/auth_token_promotion.rb +25 -6
  10. data/lib/twilio-ruby/rest/accounts/v1/secondary_auth_token.rb +48 -12
  11. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +6 -0
  12. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +56 -2
  13. data/lib/twilio-ruby/rest/client.rb +0 -5
  14. data/lib/twilio-ruby/rest/content/v1/content/approval_create.rb +11 -1
  15. data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +10 -10
  16. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +10 -10
  17. data/lib/twilio-ruby/rest/conversations/v2/action.rb +2 -2
  18. data/lib/twilio-ruby/rest/conversations/v2/communication.rb +43 -21
  19. data/lib/twilio-ruby/rest/conversations/v2/configuration.rb +59 -21
  20. data/lib/twilio-ruby/rest/conversations/v2/conversation.rb +28 -28
  21. data/lib/twilio-ruby/rest/conversations/v2/operation.rb +10 -10
  22. data/lib/twilio-ruby/rest/conversations/v2/participant.rb +58 -58
  23. data/lib/twilio-ruby/rest/conversations/v2.rb +45 -45
  24. data/lib/twilio-ruby/rest/iam/v1/new_api_key.rb +2 -2
  25. data/lib/twilio-ruby/rest/iam/v1/o_auth_app.rb +15 -2
  26. data/lib/twilio-ruby/rest/iam_base.rb +6 -1
  27. data/lib/twilio-ruby/rest/insights/v1/call/call_summary.rb +7 -0
  28. data/lib/twilio-ruby/rest/insights/v1/call/event.rb +7 -0
  29. data/lib/twilio-ruby/rest/insights/v1/call_summaries.rb +7 -0
  30. data/lib/twilio-ruby/rest/insights/v3/metadata.rb +1 -1
  31. data/lib/twilio-ruby/rest/insights/v3/query.rb +1 -1
  32. data/lib/twilio-ruby/rest/insights/v3.rb +1 -1
  33. data/lib/twilio-ruby/rest/intelligence/v3/conversation.rb +8 -8
  34. data/lib/twilio-ruby/rest/intelligence/v3/rule_execution.rb +502 -0
  35. data/lib/twilio-ruby/rest/intelligence/v3.rb +6 -0
  36. data/lib/twilio-ruby/rest/knowledge/v2/chunk.rb +28 -0
  37. data/lib/twilio-ruby/rest/knowledge/v2/knowledge.rb +38 -0
  38. data/lib/twilio-ruby/rest/knowledge/v2/search.rb +8 -117
  39. data/lib/twilio-ruby/rest/knowledge/v2.rb +1 -2
  40. data/lib/twilio-ruby/rest/memory/v1/bulk.rb +9 -118
  41. data/lib/twilio-ruby/rest/memory/v1/conversation_summary.rb +13 -5
  42. data/lib/twilio-ruby/rest/memory/v1/data_mapping.rb +6 -12
  43. data/lib/twilio-ruby/rest/memory/v1/identifier.rb +1 -1
  44. data/lib/twilio-ruby/rest/memory/v1/identity_resolution_setting.rb +11 -132
  45. data/lib/twilio-ruby/rest/memory/v1/import.rb +28 -5
  46. data/lib/twilio-ruby/rest/memory/v1/lookup.rb +1 -1
  47. data/lib/twilio-ruby/rest/memory/v1/observation.rb +70 -18
  48. data/lib/twilio-ruby/rest/memory/v1/operation.rb +1 -1
  49. data/lib/twilio-ruby/rest/memory/v1/profile.rb +2 -2
  50. data/lib/twilio-ruby/rest/memory/v1/recall.rb +1 -1
  51. data/lib/twilio-ruby/rest/memory/v1/revision.rb +1 -1
  52. data/lib/twilio-ruby/rest/memory/v1/store.rb +1 -1
  53. data/lib/twilio-ruby/rest/memory/v1/trait.rb +1 -1
  54. data/lib/twilio-ruby/rest/memory/v1/trait_group.rb +56 -6
  55. data/lib/twilio-ruby/rest/memory/v1.rb +3 -46
  56. data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +0 -18
  57. data/lib/twilio-ruby/rest/messaging/v2/channels_sender.rb +23 -4
  58. data/lib/twilio-ruby/rest/messaging/v3/typing_indicator.rb +4 -4
  59. data/lib/twilio-ruby/rest/numbers/v1/sms_verification.rb +231 -0
  60. data/lib/twilio-ruby/rest/numbers/v1/sms_verification_check.rb +238 -0
  61. data/lib/twilio-ruby/rest/numbers/v1/voice_verification.rb +245 -0
  62. data/lib/twilio-ruby/rest/numbers/v1/voice_verification_check.rb +224 -0
  63. data/lib/twilio-ruby/rest/numbers/v1.rb +24 -0
  64. data/lib/twilio-ruby/rest/{assistants/v1/session.rb → numbers/v2/caller_id.rb} +141 -127
  65. data/lib/twilio-ruby/rest/numbers/v2.rb +16 -0
  66. data/lib/twilio-ruby/rest/oauth/v2/authorize.rb +14 -2
  67. data/lib/twilio-ruby/rest/oauth/v2/oauth_authorization_server.rb +259 -0
  68. data/lib/twilio-ruby/rest/oauth/v2/token.rb +8 -2
  69. data/lib/twilio-ruby/rest/preview_iam/versionless/organization.rb +0 -19
  70. data/lib/twilio-ruby/rest/routes/v3/phone_number.rb +465 -0
  71. data/lib/twilio-ruby/rest/routes/v3.rb +50 -0
  72. data/lib/twilio-ruby/rest/routes_base.rb +6 -1
  73. data/lib/twilio-ruby/rest/trusthub/v1/a2p_brand_registration.rb +330 -0
  74. data/lib/twilio-ruby/rest/trusthub/v1/a2p_brand_registration_embedded_session.rb +233 -0
  75. data/lib/twilio-ruby/rest/trusthub/v1/a2p_campaign_registration.rb +321 -0
  76. data/lib/twilio-ruby/rest/trusthub/v1/a2p_campaign_registration_embedded_session.rb +233 -0
  77. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles_provisional_copy.rb +445 -0
  78. data/lib/twilio-ruby/rest/trusthub/v1/trust_products_provisional_copy.rb +445 -0
  79. data/lib/twilio-ruby/rest/trusthub/v1.rb +74 -0
  80. data/lib/twilio-ruby/rest/voice/v2/account_default_configuration.rb +556 -0
  81. data/lib/twilio-ruby/rest/voice/v2/configuration/default.rb +356 -0
  82. data/lib/twilio-ruby/rest/voice/v2/configuration.rb +412 -0
  83. data/lib/twilio-ruby/rest/voice/v2/recording.rb +616 -0
  84. data/lib/twilio-ruby/rest/voice/v2/transcription.rb +591 -0
  85. data/lib/twilio-ruby/rest/voice/v2/type.rb +518 -0
  86. data/lib/twilio-ruby/rest/voice/v2.rb +141 -0
  87. data/lib/twilio-ruby/rest/voice_base.rb +5 -0
  88. data/lib/twilio-ruby/twiml/voice_response.rb +6 -68
  89. data/lib/twilio-ruby/version.rb +1 -1
  90. data/twilio-ruby.gemspec +1 -1
  91. metadata +33 -21
  92. data/lib/twilio-ruby/rest/assistants/v1/assistant/assistants_knowledge.rb +0 -558
  93. data/lib/twilio-ruby/rest/assistants/v1/assistant/assistants_tool.rb +0 -558
  94. data/lib/twilio-ruby/rest/assistants/v1/assistant/feedback.rb +0 -431
  95. data/lib/twilio-ruby/rest/assistants/v1/assistant/message.rb +0 -296
  96. data/lib/twilio-ruby/rest/assistants/v1/assistant.rb +0 -927
  97. data/lib/twilio-ruby/rest/assistants/v1/knowledge/chunk.rb +0 -325
  98. data/lib/twilio-ruby/rest/assistants/v1/knowledge/knowledge_status.rb +0 -349
  99. data/lib/twilio-ruby/rest/assistants/v1/knowledge.rb +0 -871
  100. data/lib/twilio-ruby/rest/assistants/v1/policy.rb +0 -364
  101. data/lib/twilio-ruby/rest/assistants/v1/session/message.rb +0 -360
  102. data/lib/twilio-ruby/rest/assistants/v1/tool.rb +0 -847
  103. data/lib/twilio-ruby/rest/assistants/v1.rb +0 -104
  104. data/lib/twilio-ruby/rest/assistants.rb +0 -6
  105. data/lib/twilio-ruby/rest/assistants_base.rb +0 -38
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 94c0dcbac0d30aded66290e1af4f4916f3b476448fa529bc90b1921d514a3993
4
- data.tar.gz: 44119ab61253eb5a927420db836726d0b294431acdc4d6b56ec94f6a0eaaa545
3
+ metadata.gz: a494d086870863ab1aae8748d515c63a504177246240a1c36e7eccfa95b9f92b
4
+ data.tar.gz: 25ec1e4bd56153220354de496f9311b29cfef4cbd6e990683e3df1a9bbd1380e
5
5
  SHA512:
6
- metadata.gz: 5d620607d6d1289f1f69fe5ea66bc830d9dab6dcdc1039751650fbc05f47f71fd740f731d67d5a66fe20b3c9f9e483931b747d68bbb805ba07cf2dec401f88c5
7
- data.tar.gz: 2f306acace082920c9c00ed1093f7a76caccaa5620d0adcc30e4290e733301c9a0423b8315d916cb21185b67ec208e8009d6dd494214e2cba1d8a220483e18ef
6
+ metadata.gz: 5fd59d61b2bb3c9be81748c577392314b8457d00c8242a7efdc380306143920cfe79d9b13abbb41e6bc2df0d5da9d6641c13004d61d286cdde87d1d2e0a3353b
7
+ data.tar.gz: a74fffeb54bd87ae9d78a78e012a0d782e7ae6acb63d5e00119333bfb69aefc29383b44c5be93b3fdd6ca8fd28aa2163e0c727d35ba6472b7a3789ade7b3eaa6
@@ -3,36 +3,46 @@ on:
3
3
  push:
4
4
  branches: [ '*' ]
5
5
  tags: [ '*' ]
6
- pull_request:
7
- branches: [ main ]
8
- schedule:
9
- # Run automatically at 8AM PST Monday-Friday
10
- - cron: '0 15 * * 1-5'
6
+ pull_request:
7
+ branches: [ main ]
8
+ schedule:
9
+ # Run automatically at 8AM PST Monday-Friday
10
+ - cron: '0 15 * * 1-5'
11
11
  workflow_dispatch:
12
12
 
13
+ env:
14
+ ARTIFACTORY_URL: ${{ vars.ARTIFACTORY_URL }}
15
+
13
16
  jobs:
17
+ lockfile-hygiene:
18
+ name: Lockfile Hygiene
19
+ runs-on: ubuntu-x64
20
+ steps:
21
+ - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
22
+ - uses: twilio/sdk-actions/gems-lockfile-hygiene@558bba0b6fe12195370f5269dfe53db5db3bb9a6 # v1
23
+
14
24
  test:
15
25
  name: Test
16
- runs-on: ubuntu-latest
26
+ needs: [ lockfile-hygiene ]
27
+ runs-on: ubuntu-x64
17
28
  timeout-minutes: 20
18
29
  strategy:
19
30
  matrix:
20
- ruby: [ '2.6', '2.7', '3.0', '3.1', '3.2', 'jruby-9.3', 'jruby-9.4' ]
31
+ ruby: [ '3.0', '3.1', '3.2', '3.3', '3.4', 'jruby-9.4']
21
32
  steps:
22
33
  - name: Checkout twilio-ruby
23
- uses: actions/checkout@v3
34
+ uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5
24
35
  with:
25
36
  fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis
26
37
 
27
38
  - name: Set up Ruby
28
- uses: ruby/setup-ruby@v1
39
+ uses: ruby/setup-ruby@95ef2b042f9d7a56d8268cba8559e2842e2ad01b
29
40
  with:
30
41
  ruby-version: ${{ matrix.ruby }}
31
- bundler-cache: true
32
42
 
33
43
  # Excludes incompatible versions of ruby
34
44
  - name: Set up linter
35
- run: bundle add rubocop --version "~> 1.24.1" --group "development" --skip-install
45
+ run: bundle update rubocop
36
46
  if: ${{ matrix.ruby != '2.4' }}
37
47
 
38
48
  - run: bundle install --with development
@@ -69,80 +79,46 @@ jobs:
69
79
  run: |
70
80
  sed -i 's@'$GITHUB_WORKSPACE'@/github/workspace/@g' coverage.json
71
81
 
72
- - name: SonarCloud Scan
73
- if: ${{ (github.event_name == 'pull_request' || github.ref_type == 'branch') && matrix.ruby == '3.0' && !github.event.pull_request.head.repo.fork }}
74
- uses: SonarSource/sonarcloud-github-action@master
75
- env:
76
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any
77
- SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
78
82
 
79
83
  deploy:
80
- name: Deploy
84
+ name: deploy
81
85
  if: success() && github.ref_type == 'tag'
86
+ runs-on: ubuntu-x64
87
+ environment: production
82
88
  needs: [ test ]
83
- runs-on: ubuntu-latest
89
+ permissions:
90
+ contents: write
91
+ id-token: write
84
92
  steps:
85
93
  - name: Checkout twilio-ruby
86
- uses: actions/checkout@v3
94
+ uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5
87
95
  with:
88
96
  fetch-depth: 0
89
97
 
90
- - name: Set up Ruby
91
- uses: ruby/setup-ruby@v1
98
+ - name: Artifactory OIDC Auth
99
+ uses: twilio/sdk-actions/artifactory-oidc@0375437914d535a5fb178bdbfdb5d51bdde2616e
92
100
  with:
93
- ruby-version: 3.2
94
- bundler-cache: true
101
+ registry-path: virtual-gems-thirdparty
102
+ ecosystem: ruby
95
103
 
96
- - run: bundle install
97
-
98
- - name: Login to Docker Hub
99
- uses: docker/login-action@v2
104
+ - name: Set up Ruby
105
+ uses: ruby/setup-ruby@95ef2b042f9d7a56d8268cba8559e2842e2ad01b
100
106
  with:
101
- username: ${{ secrets.DOCKER_USERNAME }}
102
- password: ${{ secrets.DOCKER_AUTH_TOKEN }}
107
+ ruby-version: 3.3
108
+ bundler-cache: true
103
109
 
104
- # The expression strips off the shortest match from the front of the string to yield just the tag name as the output
105
110
  - name: Get tagged version
106
111
  run: echo "GITHUB_TAG=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
107
112
 
108
113
  - name: Create GitHub Release
109
- uses: sendgrid/dx-automator/actions/release@main
114
+ uses: sendgrid/dx-automator/actions/release@08b601b726671445abc798ed59881766ec8fefc6
110
115
  env:
111
116
  GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
112
117
 
113
- - name: Build and Push image
114
- run: make docker-build && make docker-push
115
- - name: Publish to Rubygems
116
- env:
117
- GEM_HOST_API_KEY: ${{ secrets.RUBYGEMS_AUTH_TOKEN }}
118
+ - name: Configure RubyGems trusted publishing
119
+ uses: rubygems/configure-rubygems-credentials@dc5a8d8553e6ee01fc26761a49e99e733d17954a # v2.1.0
120
+
121
+ - name: Build and publish gem
118
122
  run: |
119
- mkdir -p $HOME/.gem
120
- touch $HOME/.gem/credentials
121
- chmod 0600 $HOME/.gem/credentials
122
- printf -- "---\n:rubygems_api_key: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials
123
- gem update --system
124
- gem build *.gemspec
125
- gem push *.gem
126
-
127
- - name: Submit metric to Datadog
128
- uses: sendgrid/dx-automator/actions/datadog-release-metric@main
129
- env:
130
- DD_API_KEY: ${{ secrets.DATADOG_API_KEY }}
131
-
132
- notify-on-failure:
133
- name: Slack notify on failure
134
- if: failure() && github.event_name != 'pull_request' && (github.ref == 'refs/heads/main' || github.ref_type == 'tag')
135
- needs: [ test, deploy ]
136
- runs-on: ubuntu-latest
137
- steps:
138
- - uses: rtCamp/action-slack-notify@v2
139
- env:
140
- SLACK_COLOR: failure
141
- SLACK_ICON_EMOJI: ':github:'
142
- SLACK_MESSAGE: ${{ format('Test *{0}*, Deploy *{1}*, {2}/{3}/actions/runs/{4}', needs.test.result, needs.deploy.result, github.server_url, github.repository, github.run_id) }}
143
- SLACK_TITLE: Action Failure - ${{ github.repository }}
144
- SLACK_USERNAME: GitHub Actions
145
- SLACK_MSG_AUTHOR: twilio-dx
146
- SLACK_FOOTER: Posted automatically using GitHub Actions
147
- SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}
148
- MSG_MINIMAL: true
123
+ gem build *.gemspec
124
+ gem push *.gem
data/.gitignore CHANGED
@@ -5,7 +5,6 @@
5
5
  !.dockerignore
6
6
  pkg/*
7
7
  doc/*
8
- Gemfile.lock
9
8
  *.gem
10
9
  bin
11
10
  docs/_build
data/CHANGES.md CHANGED
@@ -1,5 +1,51 @@
1
1
  twilio-ruby changelog
2
2
  =====================
3
+ [2026-08-13] Version 7.11.1
4
+ ---------------------------
5
+ - chore: change permission
6
+
7
+ [2026-08-13] Version 7.11.0
8
+ ---------------------------
9
+ **Destinations**
10
+ - ## 2026-08-12
11
+ - **Content updates**:
12
+ - Added properties to `DestinationType`: releaseStatus
13
+ - Removed properties from `DestinationType`: maturity
14
+
15
+ **Memory**
16
+ - No path changes (updated metadata only)
17
+ - `DataMappingType` gains `INGRESS`, `DATASET_CLOUDAPP`, and `DATASET_WAREHOUSE`.
18
+ - `CSV` and `DATASET` remain valid and unchanged; they are deprecated aliases and
19
+ - will be removed in a follow-up change.
20
+ - `DataMappingFromTypes` gains three `oneOf` members and three discriminator keys:
21
+ - `DataMappingFromIngress` (renames `DataMappingFromCSV`),
22
+ - `DataMappingFromCloudAppDataSet` and `DataMappingFromWarehouseDataSet`
23
+ - (both split from `DataMappingFromDataSet`, distinguishing a cloud-app-backed
24
+ - TDI dataset from a warehouse-backed one).
25
+ - Additive and backwards compatible: existing `CSV` and `DATASET` payloads are
26
+ - unaffected.
27
+
28
+ **Library - Chore**
29
+ - [PR #149](https://github.com/twilio/twilio-oai/pull/149): Update test-and-deploy.yml. Thanks to [@shrutiburman](https://github.com/shrutiburman)!
30
+ - [PR #141](https://github.com/twilio/twilio-oai/pull/141): oas3-valid-schema-example check validation. Thanks to [@shrutiburman](https://github.com/shrutiburman)!
31
+
32
+ **Library - Fix**
33
+ - [PR #147](https://github.com/twilio/twilio-oai/pull/147): remove Events API from memory V1 specs. Thanks to [@shrutiburman](https://github.com/shrutiburman)!
34
+ - [PR #142](https://github.com/twilio/twilio-oai/pull/142): pin spectral-rulesets to 1.22.2 to fix Node 18 compatibility. Thanks to [@shrutiburman](https://github.com/shrutiburman)!
35
+
36
+ **Twiml**
37
+ - Remove `<Assistant>` noun from `<Connect>` verb as part of the AI Assistants deprecation **(breaking change)**
38
+ - Add `passports` attribute to `<Dial>` verb for SHAKEN/STIR passport passthrough
39
+
40
+ **Accounts**
41
+ - Add `SuppressEmailNotification` parameter to the Secondary Auth Token and Auth Token promotion endpoints. Set it to `true` to suppress the email notification sent to account owners and administrators. Defaults to `false`, preserving existing behavior.
42
+ - Add SMS Pumping Protection GET and POST API
43
+
44
+ **Ai**
45
+ - Removing ai workbench apis
46
+
47
+ **Api**
48
+ - Add missing `uri` property to the `twiml_session` resource
3
49
 
4
50
  [2026-05-07] Version 7.10.7
5
51
  ---------------------------
data/Gemfile CHANGED
@@ -4,5 +4,7 @@ gemspec
4
4
 
5
5
  gem "base64"
6
6
  gem "benchmark"
7
+ gem "nokogiri", ">= 1.6", "< 1.17.0"
7
8
  gem "ostruct"
8
9
  gem "rexml"
10
+ gem "rubocop", "= 1.71.2", require: false
data/Gemfile.lock ADDED
@@ -0,0 +1,154 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ twilio-ruby (7.11.1)
5
+ faraday (>= 2.0, < 3.0)
6
+ jwt (>= 1.5, < 4.0)
7
+ nokogiri (>= 1.6, < 2.0)
8
+
9
+ GEM
10
+ remote: https://rubygems.org/
11
+ specs:
12
+ ast (2.4.3)
13
+ base64 (0.3.0)
14
+ benchmark (0.5.0)
15
+ diff-lcs (1.6.2)
16
+ equivalent-xml (0.6.0)
17
+ nokogiri (>= 1.4.3)
18
+ fakeweb (1.3.0)
19
+ faraday (2.14.3)
20
+ faraday-net_http (>= 2.0, < 3.5)
21
+ json
22
+ logger
23
+ faraday-net_http (3.4.4)
24
+ net-http (~> 0.5)
25
+ json (2.21.2)
26
+ json (2.21.2-java)
27
+ jwt (3.2.0)
28
+ base64
29
+ language_server-protocol (3.17.0.6)
30
+ logger (1.4.4)
31
+ mini_portile2 (2.8.9)
32
+ net-http (0.9.1)
33
+ uri (>= 0.11.1)
34
+ nokogiri (1.16.8)
35
+ mini_portile2 (~> 2.8.2)
36
+ racc (~> 1.4)
37
+ nokogiri (1.16.8-java)
38
+ racc (~> 1.4)
39
+ ostruct (0.6.3)
40
+ parallel (1.28.0)
41
+ parser (3.3.12.0)
42
+ ast (~> 2.4.1)
43
+ racc
44
+ prism (1.9.0)
45
+ racc (1.8.1)
46
+ racc (1.8.1-java)
47
+ rack (2.2.23)
48
+ rainbow (3.1.1)
49
+ rake (13.4.2)
50
+ regexp_parser (2.12.0)
51
+ rexml (3.4.4)
52
+ rspec (3.13.2)
53
+ rspec-core (~> 3.13.0)
54
+ rspec-expectations (~> 3.13.0)
55
+ rspec-mocks (~> 3.13.0)
56
+ rspec-core (3.13.6)
57
+ rspec-support (~> 3.13.0)
58
+ rspec-expectations (3.13.5)
59
+ diff-lcs (>= 1.2.0, < 2.0)
60
+ rspec-support (~> 3.13.0)
61
+ rspec-mocks (3.13.8)
62
+ diff-lcs (>= 1.2.0, < 2.0)
63
+ rspec-support (~> 3.13.0)
64
+ rspec-support (3.13.7)
65
+ rubocop (1.71.2)
66
+ json (~> 2.3)
67
+ language_server-protocol (>= 3.17.0)
68
+ parallel (~> 1.10)
69
+ parser (>= 3.3.0.2)
70
+ rainbow (>= 2.2.2, < 4.0)
71
+ regexp_parser (>= 2.9.3, < 3.0)
72
+ rubocop-ast (>= 1.38.0, < 2.0)
73
+ ruby-progressbar (~> 1.7)
74
+ unicode-display_width (>= 2.4.0, < 4.0)
75
+ rubocop-ast (1.50.0)
76
+ parser (>= 3.3.7.2)
77
+ prism (~> 1.7)
78
+ ruby-progressbar (1.13.0)
79
+ simplecov (1.0.3)
80
+ unicode-display_width (3.2.0)
81
+ unicode-emoji (~> 4.1)
82
+ unicode-emoji (4.2.0)
83
+ uri (1.1.1)
84
+ yard (0.9.45)
85
+
86
+ PLATFORMS
87
+ arm64-darwin-25
88
+ java
89
+ ruby
90
+
91
+ DEPENDENCIES
92
+ base64
93
+ benchmark
94
+ bundler (>= 1.5, < 5.0)
95
+ equivalent-xml (~> 0.6)
96
+ fakeweb (~> 1.3)
97
+ logger (~> 1.4.2)
98
+ nokogiri (>= 1.6, < 1.17.0)
99
+ ostruct
100
+ rack (~> 2.0)
101
+ rake (~> 13.0)
102
+ rexml
103
+ rspec (~> 3.0)
104
+ rubocop (= 1.71.2)
105
+ simplecov
106
+ twilio-ruby!
107
+ yard (~> 0.9.9)
108
+
109
+ CHECKSUMS
110
+ ast (2.4.3) sha256=954615157c1d6a382bc27d690d973195e79db7f55e9765ac7c481c60bdb4d383
111
+ base64 (0.3.0) sha256=27337aeabad6ffae05c265c450490628ef3ebd4b67be58257393227588f5a97b
112
+ benchmark (0.5.0) sha256=465df122341aedcb81a2a24b4d3bd19b6c67c1530713fd533f3ff034e419236c
113
+ diff-lcs (1.6.2) sha256=9ae0d2cba7d4df3075fe8cd8602a8604993efc0dfa934cff568969efb1909962
114
+ equivalent-xml (0.6.0) sha256=8919761efa848ad0846369ff8be1f646b17e5061698c4867b09829000cc3f487
115
+ fakeweb (1.3.0) sha256=1ec996be13020a00b3464560c09180b424477c698f59f82edf2b99b16cfa09a8
116
+ faraday (2.14.3) sha256=1882247e6766615c8220b4392bf1d27f6ebb63d8e28267587cef1fb0bf37f278
117
+ faraday-net_http (3.4.4) sha256=0e78af151747ed1b00f33e25973b4bc220d7f16c00c39676817c8b12331eb588
118
+ json (2.21.2) sha256=1f1d3b7cf2b3ba1a69beca0bb6db13d5438b80bff3cd54cdaaa620b9b07c1c6a
119
+ json (2.21.2-java) sha256=f01521cd90639cc26b63040fb00d2b949f18f41ecaab5c82b02fb31d0b8b736c
120
+ jwt (3.2.0) sha256=5419b1fe37b1da0982bd07051f573a8b8789ab724c2aa7e785e4784a3ed217d7
121
+ language_server-protocol (3.17.0.6) sha256=5ef2c0c138f8267e1bc631d3328347d354f96724b0af22f2c79516120443b7f0
122
+ logger (1.4.4) sha256=bffde43956d13e45839797ebc2a26088816309ecaf7398d7188e0914989ca21d
123
+ mini_portile2 (2.8.9) sha256=0cd7c7f824e010c072e33f68bc02d85a00aeb6fce05bb4819c03dfd3c140c289
124
+ net-http (0.9.1) sha256=25ba0b67c63e89df626ed8fac771d0ad24ad151a858af2cc8e6a716ca4336996
125
+ nokogiri (1.16.8) sha256=dece4bf9a663b2d6b6e874716297ad414c95be694656972d54049bd088f752a1
126
+ nokogiri (1.16.8-java) sha256=8652028e72a38f2221c810550d03c91682b414e06f6271149139a9042cf727e6
127
+ ostruct (0.6.3) sha256=95a2ed4a4bd1d190784e666b47b2d3f078e4a9efda2fccf18f84ddc6538ed912
128
+ parallel (1.28.0) sha256=33e6de1484baf2524792d178b0913fc8eb94c628d6cfe45599ad4458c638c970
129
+ parser (3.3.12.0) sha256=21a6d7f755d5a24dfbdc6e6b772e4e879a52e7631a88bc5a3a134606052c9828
130
+ prism (1.9.0) sha256=7b530c6a9f92c24300014919c9dcbc055bf4cdf51ec30aed099b06cd6674ef85
131
+ racc (1.8.1) sha256=4a7f6929691dbec8b5209a0b373bc2614882b55fc5d2e447a21aaa691303d62f
132
+ racc (1.8.1-java) sha256=54f2e6d1e1b91c154013277d986f52a90e5ececbe91465d29172e49342732b98
133
+ rack (2.2.23) sha256=a8fe9d7e07064770b8ec123663fded8a59ef7e2b6db5cda7173d45a5718ab69c
134
+ rainbow (3.1.1) sha256=039491aa3a89f42efa1d6dec2fc4e62ede96eb6acd95e52f1ad581182b79bc6a
135
+ rake (13.4.2) sha256=cb825b2bd5f1f8e91ca37bddb4b9aaf345551b4731da62949be002fa89283701
136
+ regexp_parser (2.12.0) sha256=35a916a1d63190ab5c9009457136ae5f3c0c7512d60291d0d1378ba18ce08ebb
137
+ rexml (3.4.4) sha256=19e0a2c3425dfbf2d4fc1189747bdb2f849b6c5e74180401b15734bc97b5d142
138
+ rspec (3.13.2) sha256=206284a08ad798e61f86d7ca3e376718d52c0bc944626b2349266f239f820587
139
+ rspec-core (3.13.6) sha256=a8823c6411667b60a8bca135364351dda34cd55e44ff94c4be4633b37d828b2d
140
+ rspec-expectations (3.13.5) sha256=33a4d3a1d95060aea4c94e9f237030a8f9eae5615e9bd85718fe3a09e4b58836
141
+ rspec-mocks (3.13.8) sha256=086ad3d3d17533f4237643de0b5c42f04b66348c28bf6b9c2d3f4a3b01af1d47
142
+ rspec-support (3.13.7) sha256=0640e5570872aafefd79867901deeeeb40b0c9875a36b983d85f54fb7381c47c
143
+ rubocop (1.71.2) sha256=9a7b7501aac661a338ed7ff2a5eba78e581759e1f0d3c82362b2ca217ed3f97f
144
+ rubocop-ast (1.50.0) sha256=b9ca88300da0803ee222ad20cdb30494c0a784eed06fdc35d254b06d662788db
145
+ ruby-progressbar (1.13.0) sha256=80fc9c47a9b640d6834e0dc7b3c94c9df37f08cb072b7761e4a71e22cff29b33
146
+ simplecov (1.0.3) sha256=38ef0514f16ae7562f0d0f4df02610071115103d301b6de7dacbcc000082e39b
147
+ twilio-ruby (7.11.1)
148
+ unicode-display_width (3.2.0) sha256=0cdd96b5681a5949cdbc2c55e7b420facae74c4aaf9a9815eee1087cb1853c42
149
+ unicode-emoji (4.2.0) sha256=519e69150f75652e40bf736106cfbc8f0f73aa3fb6a65afe62fefa7f80b0f80f
150
+ uri (1.1.1) sha256=379fa58d27ffb1387eaada68c749d1426738bd0f654d812fcc07e7568f5c57c6
151
+ yard (0.9.45) sha256=52e211493f7cb8a3ebf7e104a25a1e73937a3103092545d34cb88fafebb3dc51
152
+
153
+ BUNDLED WITH
154
+ 2.5.23
data/README.md CHANGED
@@ -39,13 +39,13 @@ This library supports the following Ruby implementations:
39
39
  To install using [Bundler][bundler] grab the latest stable version:
40
40
 
41
41
  ```ruby
42
- gem 'twilio-ruby', '~> 7.10.7'
42
+ gem 'twilio-ruby', '~> 7.11.1'
43
43
  ```
44
44
 
45
45
  To manually install `twilio-ruby` via [Rubygems][rubygems] simply gem install:
46
46
 
47
47
  ```bash
48
- gem install twilio-ruby -v 7.10.7
48
+ gem install twilio-ruby -v 7.11.1
49
49
  ```
50
50
 
51
51
  To build and install the development branch yourself from the latest source:
@@ -299,7 +299,7 @@ capability.add_scope(incoming_scope)
299
299
  There is a slightly more detailed document in the [Capability][capability] section of the wiki.
300
300
 
301
301
  ## OAuth Feature for Twilio APIs
302
- We are introducing Client Credentials Flow-based OAuth 2.0 authentication. This feature is currently in beta and its implementation is subject to change.
302
+ We are introducing Client Credentials Flow-based OAuth 2.0 authentication.
303
303
 
304
304
  API examples [here](https://github.com/twilio/twilio-ruby/blob/main/examples/public_oauth.rb)
305
305
 
data/Rakefile CHANGED
@@ -1,6 +1,6 @@
1
1
  require 'bundler'
2
2
  Bundler.setup
3
- Bundler::GemHelper.install_tasks
3
+ Bundler::GemHelper.install_tasks(tag_prefix: '')
4
4
 
5
5
  require 'rspec/core/rake_task'
6
6
  desc 'Run all specs'
@@ -58,8 +58,15 @@ module Twilio
58
58
  end
59
59
  ##
60
60
  # Update the AuthTokenPromotionInstance
61
+ # @param [Boolean] suppress_email_notification Whether to suppress the email notification that Twilio sends to the owners and administrators of the account about this Auth Token change. Defaults to `false`, so Twilio sends the email. Set to `true` when rotating Auth Tokens across many subaccounts.
61
62
  # @return [AuthTokenPromotionInstance] Updated AuthTokenPromotionInstance
62
- def update
63
+ def update(
64
+ suppress_email_notification: :unset
65
+ )
66
+
67
+ data = Twilio::Values.of({
68
+ 'SuppressEmailNotification' => suppress_email_notification,
69
+ })
63
70
 
64
71
  headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
65
72
 
@@ -67,7 +74,7 @@ module Twilio
67
74
 
68
75
 
69
76
 
70
- payload = @version.update('POST', @uri, headers: headers)
77
+ payload = @version.update('POST', @uri, data: data, headers: headers)
71
78
  AuthTokenPromotionInstance.new(
72
79
  @version,
73
80
  payload,
@@ -76,8 +83,15 @@ module Twilio
76
83
 
77
84
  ##
78
85
  # Update the AuthTokenPromotionInstanceMetadata
86
+ # @param [Boolean] suppress_email_notification Whether to suppress the email notification that Twilio sends to the owners and administrators of the account about this Auth Token change. Defaults to `false`, so Twilio sends the email. Set to `true` when rotating Auth Tokens across many subaccounts.
79
87
  # @return [AuthTokenPromotionInstance] Updated AuthTokenPromotionInstance
80
- def update_with_metadata
88
+ def update_with_metadata(
89
+ suppress_email_notification: :unset
90
+ )
91
+
92
+ data = Twilio::Values.of({
93
+ 'SuppressEmailNotification' => suppress_email_notification,
94
+ })
81
95
 
82
96
  headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
83
97
 
@@ -85,7 +99,7 @@ module Twilio
85
99
 
86
100
 
87
101
 
88
- response = @version.update_with_metadata('POST', @uri, headers: headers)
102
+ response = @version.update_with_metadata('POST', @uri, data: data, headers: headers)
89
103
  auth_token_promotion_instance = AuthTokenPromotionInstance.new(
90
104
  @version,
91
105
  response.body,
@@ -321,10 +335,15 @@ module Twilio
321
335
 
322
336
  ##
323
337
  # Update the AuthTokenPromotionInstance
338
+ # @param [Boolean] suppress_email_notification Whether to suppress the email notification that Twilio sends to the owners and administrators of the account about this Auth Token change. Defaults to `false`, so Twilio sends the email. Set to `true` when rotating Auth Tokens across many subaccounts.
324
339
  # @return [AuthTokenPromotionInstance] Updated AuthTokenPromotionInstance
325
- def update
340
+ def update(
341
+ suppress_email_notification: :unset
342
+ )
326
343
 
327
- context.update
344
+ context.update(
345
+ suppress_email_notification: suppress_email_notification,
346
+ )
328
347
  end
329
348
 
330
349
  ##
@@ -58,8 +58,15 @@ module Twilio
58
58
  end
59
59
  ##
60
60
  # Create the SecondaryAuthTokenInstance
61
+ # @param [Boolean] suppress_email_notification Whether to suppress the email notification that Twilio sends to the owners and administrators of the account about this Auth Token change. Defaults to `false`, so Twilio sends the email. Set to `true` when rotating Auth Tokens across many subaccounts.
61
62
  # @return [SecondaryAuthTokenInstance] Created SecondaryAuthTokenInstance
62
- def create
63
+ def create(
64
+ suppress_email_notification: :unset
65
+ )
66
+
67
+ data = Twilio::Values.of({
68
+ 'SuppressEmailNotification' => suppress_email_notification,
69
+ })
63
70
 
64
71
  headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
65
72
 
@@ -67,7 +74,7 @@ module Twilio
67
74
 
68
75
 
69
76
 
70
- payload = @version.create('POST', @uri, headers: headers)
77
+ payload = @version.create('POST', @uri, data: data, headers: headers)
71
78
  SecondaryAuthTokenInstance.new(
72
79
  @version,
73
80
  payload,
@@ -76,8 +83,15 @@ module Twilio
76
83
 
77
84
  ##
78
85
  # Create the SecondaryAuthTokenInstanceMetadata
86
+ # @param [Boolean] suppress_email_notification Whether to suppress the email notification that Twilio sends to the owners and administrators of the account about this Auth Token change. Defaults to `false`, so Twilio sends the email. Set to `true` when rotating Auth Tokens across many subaccounts.
79
87
  # @return [SecondaryAuthTokenInstance] Created SecondaryAuthTokenInstance
80
- def create_with_metadata
88
+ def create_with_metadata(
89
+ suppress_email_notification: :unset
90
+ )
91
+
92
+ data = Twilio::Values.of({
93
+ 'SuppressEmailNotification' => suppress_email_notification,
94
+ })
81
95
 
82
96
  headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
83
97
 
@@ -85,7 +99,7 @@ module Twilio
85
99
 
86
100
 
87
101
 
88
- response = @version.create_with_metadata('POST', @uri, headers: headers)
102
+ response = @version.create_with_metadata('POST', @uri, data: data, headers: headers)
89
103
  secondary_auth_token_instance = SecondaryAuthTokenInstance.new(
90
104
  @version,
91
105
  response.body,
@@ -100,27 +114,39 @@ module Twilio
100
114
 
101
115
  ##
102
116
  # Delete the SecondaryAuthTokenInstance
117
+ # @param [Boolean] suppress_email_notification Whether to suppress the email notification that Twilio sends to the owners and administrators of the account about this Auth Token change. Defaults to `false`, so Twilio sends the email. Set to `true` when rotating Auth Tokens across many subaccounts.
103
118
  # @return [Boolean] True if delete succeeds, false otherwise
104
- def delete
119
+ def delete(
120
+ suppress_email_notification: :unset
121
+ )
105
122
 
123
+ params = Twilio::Values.of({
124
+ 'SuppressEmailNotification' => suppress_email_notification,
125
+ })
106
126
  headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
107
127
 
108
128
 
109
129
 
110
130
 
111
- @version.delete('DELETE', @uri, headers: headers)
131
+ @version.delete('DELETE', @uri, params: params, headers: headers)
112
132
  end
113
133
 
114
134
  ##
115
135
  # Delete the SecondaryAuthTokenInstanceMetadata
136
+ # @param [Boolean] suppress_email_notification Whether to suppress the email notification that Twilio sends to the owners and administrators of the account about this Auth Token change. Defaults to `false`, so Twilio sends the email. Set to `true` when rotating Auth Tokens across many subaccounts.
116
137
  # @return [Boolean] True if delete succeeds, false otherwise
117
- def delete_with_metadata
138
+ def delete_with_metadata(
139
+ suppress_email_notification: :unset
140
+ )
118
141
 
142
+ params = Twilio::Values.of({
143
+ 'SuppressEmailNotification' => suppress_email_notification,
144
+ })
119
145
  headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
120
146
 
121
147
 
122
148
 
123
- response = @version.delete_with_metadata('DELETE', @uri, headers: headers)
149
+ response = @version.delete_with_metadata('DELETE', @uri, params: params, headers: headers)
124
150
  secondaryAuthToken_instance = SecondaryAuthTokenInstance.new(
125
151
  @version,
126
152
  response.body,
@@ -353,18 +379,28 @@ module Twilio
353
379
 
354
380
  ##
355
381
  # Create the SecondaryAuthTokenInstance
382
+ # @param [Boolean] suppress_email_notification Whether to suppress the email notification that Twilio sends to the owners and administrators of the account about this Auth Token change. Defaults to `false`, so Twilio sends the email. Set to `true` when rotating Auth Tokens across many subaccounts.
356
383
  # @return [SecondaryAuthTokenInstance] Created SecondaryAuthTokenInstance
357
- def create
384
+ def create(
385
+ suppress_email_notification: :unset
386
+ )
358
387
 
359
- context.create
388
+ context.create(
389
+ suppress_email_notification: suppress_email_notification,
390
+ )
360
391
  end
361
392
 
362
393
  ##
363
394
  # Delete the SecondaryAuthTokenInstance
395
+ # @param [Boolean] suppress_email_notification Whether to suppress the email notification that Twilio sends to the owners and administrators of the account about this Auth Token change. Defaults to `false`, so Twilio sends the email. Set to `true` when rotating Auth Tokens across many subaccounts.
364
396
  # @return [Boolean] True if delete succeeds, false otherwise
365
- def delete
397
+ def delete(
398
+ suppress_email_notification: :unset
399
+ )
366
400
 
367
- context.delete
401
+ context.delete(
402
+ suppress_email_notification: suppress_email_notification,
403
+ )
368
404
  end
369
405
 
370
406
  ##