twilio-ruby 5.65.0 → 5.66.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.
- checksums.yaml +4 -4
- data/.github/workflows/pr-lint.yml +15 -0
- data/.github/workflows/test-and-deploy.yml +5 -0
- data/CHANGES.md +64 -0
- data/README.md +2 -4
- data/lib/twilio-ruby/rest/api/v2010/account/call/payment.rb +2 -2
- data/lib/twilio-ruby/rest/api/v2010/account/call/stream.rb +4 -4
- data/lib/twilio-ruby/rest/api/v2010/account/call.rb +0 -7
- data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +27 -7
- data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +10 -4
- data/lib/twilio-ruby/rest/chat/v3/channel.rb +275 -0
- data/lib/twilio-ruby/rest/chat/v3.rb +48 -0
- data/lib/twilio-ruby/rest/chat.rb +16 -0
- data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +7 -0
- data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_invite.rb +236 -0
- data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_participant.rb +330 -0
- data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel.rb +377 -0
- data/lib/twilio-ruby/rest/flex_api/v1/interaction.rb +233 -0
- data/lib/twilio-ruby/rest/flex_api/v1.rb +16 -0
- data/lib/twilio-ruby/rest/flex_api.rb +9 -0
- data/lib/twilio-ruby/rest/insights/v1/annotation.rb +271 -0
- data/lib/twilio-ruby/rest/insights/v1.rb +16 -0
- data/lib/twilio-ruby/rest/insights.rb +8 -0
- data/lib/twilio-ruby/rest/media/v1/media_processor.rb +1 -1
- data/lib/twilio-ruby/rest/media/v1/media_recording.rb +406 -0
- data/lib/twilio-ruby/rest/media/v1/player_streamer.rb +14 -1
- data/lib/twilio-ruby/rest/media/v1.rb +16 -0
- data/lib/twilio-ruby/rest/media.rb +9 -0
- data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document.rb +7 -0
- data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +3 -55
- data/lib/twilio-ruby/rest/supersim/v1.rb +0 -16
- data/lib/twilio-ruby/rest/supersim.rb +0 -9
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +6 -2
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +4 -2
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +4 -2
- data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +18 -1
- data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +22 -4
- data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +2 -1
- data/lib/twilio-ruby/rest/verify/v2/verification_attempts_summary.rb +234 -0
- data/lib/twilio-ruby/rest/verify/v2.rb +7 -0
- data/lib/twilio-ruby/rest/verify.rb +6 -0
- data/lib/twilio-ruby/rest/video/v1/composition.rb +14 -0
- data/lib/twilio-ruby/rest/video/v1/recording.rb +14 -0
- data/lib/twilio-ruby/version.rb +1 -1
- data/lib/twilio-ruby.rb +1 -1
- metadata +12 -3
- data/lib/twilio-ruby/rest/supersim/v1/command.rb +0 -368
| @@ -28,15 +28,6 @@ module Twilio | |
| 28 28 | 
             
                    @v1 ||= V1.new self
         | 
| 29 29 | 
             
                  end
         | 
| 30 30 |  | 
| 31 | 
            -
                  ##
         | 
| 32 | 
            -
                  # @param [String] sid The unique string that we created to identify the Command
         | 
| 33 | 
            -
                  #   resource.
         | 
| 34 | 
            -
                  # @return [Twilio::REST::Supersim::V1::CommandInstance] if sid was passed.
         | 
| 35 | 
            -
                  # @return [Twilio::REST::Supersim::V1::CommandList]
         | 
| 36 | 
            -
                  def commands(sid=:unset)
         | 
| 37 | 
            -
                    self.v1.commands(sid)
         | 
| 38 | 
            -
                  end
         | 
| 39 | 
            -
             | 
| 40 31 | 
             
                  ##
         | 
| 41 32 | 
             
                  # @param [String] sid The unique string that we created to identify the eSIM
         | 
| 42 33 | 
             
                  #   Profile resource.
         | 
    
        data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb
    CHANGED
    
    | @@ -101,7 +101,9 @@ module Twilio | |
| 101 101 | 
             
                          # @param [String] split_by_wait_time A comma separated list of values that
         | 
| 102 102 | 
             
                          #   describes the thresholds, in seconds, to calculate statistics on. For each
         | 
| 103 103 | 
             
                          #   threshold specified, the number of Tasks canceled and reservations accepted
         | 
| 104 | 
            -
                          #   above and below the specified thresholds in seconds are computed.
         | 
| 104 | 
            +
                          #   above and below the specified thresholds in seconds are computed. TaskRouter
         | 
| 105 | 
            +
                          #   will calculate statistics on up to 10,000 Tasks/Reservations for any given
         | 
| 106 | 
            +
                          #   threshold.
         | 
| 105 107 | 
             
                          # @return [TaskQueueCumulativeStatisticsInstance] Fetched TaskQueueCumulativeStatisticsInstance
         | 
| 106 108 | 
             
                          def fetch(end_date: :unset, minutes: :unset, start_date: :unset, task_channel: :unset, split_by_wait_time: :unset)
         | 
| 107 109 | 
             
                            params = Twilio::Values.of({
         | 
| @@ -343,7 +345,9 @@ module Twilio | |
| 343 345 | 
             
                          # @param [String] split_by_wait_time A comma separated list of values that
         | 
| 344 346 | 
             
                          #   describes the thresholds, in seconds, to calculate statistics on. For each
         | 
| 345 347 | 
             
                          #   threshold specified, the number of Tasks canceled and reservations accepted
         | 
| 346 | 
            -
                          #   above and below the specified thresholds in seconds are computed.
         | 
| 348 | 
            +
                          #   above and below the specified thresholds in seconds are computed. TaskRouter
         | 
| 349 | 
            +
                          #   will calculate statistics on up to 10,000 Tasks/Reservations for any given
         | 
| 350 | 
            +
                          #   threshold.
         | 
| 347 351 | 
             
                          # @return [TaskQueueCumulativeStatisticsInstance] Fetched TaskQueueCumulativeStatisticsInstance
         | 
| 348 352 | 
             
                          def fetch(end_date: :unset, minutes: :unset, start_date: :unset, task_channel: :unset, split_by_wait_time: :unset)
         | 
| 349 353 | 
             
                            context.fetch(
         | 
    
        data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb
    CHANGED
    
    | @@ -105,7 +105,8 @@ module Twilio | |
| 105 105 | 
             
                          #   above and below the specified thresholds in seconds are computed. For example,
         | 
| 106 106 | 
             
                          #   `5,30` would show splits of Tasks that were canceled or accepted before and
         | 
| 107 107 | 
             
                          #   after 5 seconds and before and after 30 seconds. This can be used to show short
         | 
| 108 | 
            -
                          #   abandoned Tasks or Tasks that failed to meet an SLA.
         | 
| 108 | 
            +
                          #   abandoned Tasks or Tasks that failed to meet an SLA. TaskRouter will calculate
         | 
| 109 | 
            +
                          #   statistics on up to 10,000 Tasks for any given threshold.
         | 
| 109 110 | 
             
                          # @return [WorkflowCumulativeStatisticsInstance] Fetched WorkflowCumulativeStatisticsInstance
         | 
| 110 111 | 
             
                          def fetch(end_date: :unset, minutes: :unset, start_date: :unset, task_channel: :unset, split_by_wait_time: :unset)
         | 
| 111 112 | 
             
                            params = Twilio::Values.of({
         | 
| @@ -351,7 +352,8 @@ module Twilio | |
| 351 352 | 
             
                          #   above and below the specified thresholds in seconds are computed. For example,
         | 
| 352 353 | 
             
                          #   `5,30` would show splits of Tasks that were canceled or accepted before and
         | 
| 353 354 | 
             
                          #   after 5 seconds and before and after 30 seconds. This can be used to show short
         | 
| 354 | 
            -
                          #   abandoned Tasks or Tasks that failed to meet an SLA.
         | 
| 355 | 
            +
                          #   abandoned Tasks or Tasks that failed to meet an SLA. TaskRouter will calculate
         | 
| 356 | 
            +
                          #   statistics on up to 10,000 Tasks for any given threshold.
         | 
| 355 357 | 
             
                          # @return [WorkflowCumulativeStatisticsInstance] Fetched WorkflowCumulativeStatisticsInstance
         | 
| 356 358 | 
             
                          def fetch(end_date: :unset, minutes: :unset, start_date: :unset, task_channel: :unset, split_by_wait_time: :unset)
         | 
| 357 359 | 
             
                            context.fetch(
         | 
| @@ -97,7 +97,8 @@ module Twilio | |
| 97 97 | 
             
                        #   above and below the specified thresholds in seconds are computed. For example,
         | 
| 98 98 | 
             
                        #   `5,30` would show splits of Tasks that were canceled or accepted before and
         | 
| 99 99 | 
             
                        #   after 5 seconds and before and after 30 seconds. This can be used to show short
         | 
| 100 | 
            -
                        #   abandoned Tasks or Tasks that failed to meet an SLA.
         | 
| 100 | 
            +
                        #   abandoned Tasks or Tasks that failed to meet an SLA. TaskRouter will calculate
         | 
| 101 | 
            +
                        #   statistics on up to 10,000 Tasks for any given threshold.
         | 
| 101 102 | 
             
                        # @return [WorkspaceCumulativeStatisticsInstance] Fetched WorkspaceCumulativeStatisticsInstance
         | 
| 102 103 | 
             
                        def fetch(end_date: :unset, minutes: :unset, start_date: :unset, task_channel: :unset, split_by_wait_time: :unset)
         | 
| 103 104 | 
             
                          params = Twilio::Values.of({
         | 
| @@ -328,7 +329,8 @@ module Twilio | |
| 328 329 | 
             
                        #   above and below the specified thresholds in seconds are computed. For example,
         | 
| 329 330 | 
             
                        #   `5,30` would show splits of Tasks that were canceled or accepted before and
         | 
| 330 331 | 
             
                        #   after 5 seconds and before and after 30 seconds. This can be used to show short
         | 
| 331 | 
            -
                        #   abandoned Tasks or Tasks that failed to meet an SLA.
         | 
| 332 | 
            +
                        #   abandoned Tasks or Tasks that failed to meet an SLA. TaskRouter will calculate
         | 
| 333 | 
            +
                        #   statistics on up to 10,000 Tasks for any given threshold.
         | 
| 332 334 | 
             
                        # @return [WorkspaceCumulativeStatisticsInstance] Fetched WorkspaceCumulativeStatisticsInstance
         | 
| 333 335 | 
             
                        def fetch(end_date: :unset, minutes: :unset, start_date: :unset, task_channel: :unset, split_by_wait_time: :unset)
         | 
| 334 336 | 
             
                          context.fetch(
         | 
| @@ -36,12 +36,15 @@ module Twilio | |
| 36 36 | 
             
                        #   `push`
         | 
| 37 37 | 
             
                        # @param [String] factor_friendly_name The friendly name of the factor that is
         | 
| 38 38 | 
             
                        #   going to be created with this access token
         | 
| 39 | 
            +
                        # @param [String] ttl How long, in seconds, the access token is valid. Can be an
         | 
| 40 | 
            +
                        #   integer between 60 and 300. Default is 60.
         | 
| 39 41 | 
             
                        # @return [AccessTokenInstance] Created AccessTokenInstance
         | 
| 40 | 
            -
                        def create(identity: nil, factor_type: nil, factor_friendly_name: :unset)
         | 
| 42 | 
            +
                        def create(identity: nil, factor_type: nil, factor_friendly_name: :unset, ttl: :unset)
         | 
| 41 43 | 
             
                          data = Twilio::Values.of({
         | 
| 42 44 | 
             
                              'Identity' => identity,
         | 
| 43 45 | 
             
                              'FactorType' => factor_type,
         | 
| 44 46 | 
             
                              'FactorFriendlyName' => factor_friendly_name,
         | 
| 47 | 
            +
                              'Ttl' => ttl,
         | 
| 45 48 | 
             
                          })
         | 
| 46 49 |  | 
| 47 50 | 
             
                          payload = @version.create('POST', @uri, data: data)
         | 
| @@ -158,6 +161,8 @@ module Twilio | |
| 158 161 | 
             
                              'factor_friendly_name' => payload['factor_friendly_name'],
         | 
| 159 162 | 
             
                              'token' => payload['token'],
         | 
| 160 163 | 
             
                              'url' => payload['url'],
         | 
| 164 | 
            +
                              'ttl' => payload['ttl'].to_i,
         | 
| 165 | 
            +
                              'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
         | 
| 161 166 | 
             
                          }
         | 
| 162 167 |  | 
| 163 168 | 
             
                          # Context
         | 
| @@ -224,6 +229,18 @@ module Twilio | |
| 224 229 | 
             
                          @properties['url']
         | 
| 225 230 | 
             
                        end
         | 
| 226 231 |  | 
| 232 | 
            +
                        ##
         | 
| 233 | 
            +
                        # @return [String] How long, in seconds, the access token is valid.
         | 
| 234 | 
            +
                        def ttl
         | 
| 235 | 
            +
                          @properties['ttl']
         | 
| 236 | 
            +
                        end
         | 
| 237 | 
            +
             | 
| 238 | 
            +
                        ##
         | 
| 239 | 
            +
                        # @return [Time] The date this access token was created
         | 
| 240 | 
            +
                        def date_created
         | 
| 241 | 
            +
                          @properties['date_created']
         | 
| 242 | 
            +
                        end
         | 
| 243 | 
            +
             | 
| 227 244 | 
             
                        ##
         | 
| 228 245 | 
             
                        # Fetch the AccessTokenInstance
         | 
| 229 246 | 
             
                        # @return [AccessTokenInstance] Fetched AccessTokenInstance
         | 
| @@ -277,9 +277,16 @@ module Twilio | |
| 277 277 | 
             
                          #   Challenge. E.g., a TOTP would use the numeric code. For `TOTP` this value must
         | 
| 278 278 | 
             
                          #   be between 3 and 8 characters long. For `Push` this value can be up to 5456
         | 
| 279 279 | 
             
                          #   characters in length
         | 
| 280 | 
            +
                          # @param [Hash] metadata Custom metadata associated with the challenge. This is
         | 
| 281 | 
            +
                          #   added by the Device/SDK directly to allow for the inclusion of device
         | 
| 282 | 
            +
                          #   information. It must be a stringified JSON with only strings values eg. `{"os":
         | 
| 283 | 
            +
                          #   "Android"}`. Can be up to 1024 characters in length.
         | 
| 280 284 | 
             
                          # @return [ChallengeInstance] Updated ChallengeInstance
         | 
| 281 | 
            -
                          def update(auth_payload: :unset)
         | 
| 282 | 
            -
                            data = Twilio::Values.of({ | 
| 285 | 
            +
                          def update(auth_payload: :unset, metadata: :unset)
         | 
| 286 | 
            +
                            data = Twilio::Values.of({
         | 
| 287 | 
            +
                                'AuthPayload' => auth_payload,
         | 
| 288 | 
            +
                                'Metadata' => Twilio.serialize_object(metadata),
         | 
| 289 | 
            +
                            })
         | 
| 283 290 |  | 
| 284 291 | 
             
                            payload = @version.update('POST', @uri, data: data)
         | 
| 285 292 |  | 
| @@ -358,6 +365,7 @@ module Twilio | |
| 358 365 | 
             
                                'responded_reason' => payload['responded_reason'],
         | 
| 359 366 | 
             
                                'details' => payload['details'],
         | 
| 360 367 | 
             
                                'hidden_details' => payload['hidden_details'],
         | 
| 368 | 
            +
                                'metadata' => payload['metadata'],
         | 
| 361 369 | 
             
                                'factor_type' => payload['factor_type'],
         | 
| 362 370 | 
             
                                'url' => payload['url'],
         | 
| 363 371 | 
             
                                'links' => payload['links'],
         | 
| @@ -468,6 +476,12 @@ module Twilio | |
| 468 476 | 
             
                            @properties['hidden_details']
         | 
| 469 477 | 
             
                          end
         | 
| 470 478 |  | 
| 479 | 
            +
                          ##
         | 
| 480 | 
            +
                          # @return [Hash] Metadata of the challenge.
         | 
| 481 | 
            +
                          def metadata
         | 
| 482 | 
            +
                            @properties['metadata']
         | 
| 483 | 
            +
                          end
         | 
| 484 | 
            +
             | 
| 471 485 | 
             
                          ##
         | 
| 472 486 | 
             
                          # @return [challenge.FactorTypes] The Factor Type of this Challenge
         | 
| 473 487 | 
             
                          def factor_type
         | 
| @@ -499,9 +513,13 @@ module Twilio | |
| 499 513 | 
             
                          #   Challenge. E.g., a TOTP would use the numeric code. For `TOTP` this value must
         | 
| 500 514 | 
             
                          #   be between 3 and 8 characters long. For `Push` this value can be up to 5456
         | 
| 501 515 | 
             
                          #   characters in length
         | 
| 516 | 
            +
                          # @param [Hash] metadata Custom metadata associated with the challenge. This is
         | 
| 517 | 
            +
                          #   added by the Device/SDK directly to allow for the inclusion of device
         | 
| 518 | 
            +
                          #   information. It must be a stringified JSON with only strings values eg. `{"os":
         | 
| 519 | 
            +
                          #   "Android"}`. Can be up to 1024 characters in length.
         | 
| 502 520 | 
             
                          # @return [ChallengeInstance] Updated ChallengeInstance
         | 
| 503 | 
            -
                          def update(auth_payload: :unset)
         | 
| 504 | 
            -
                            context.update(auth_payload: auth_payload, )
         | 
| 521 | 
            +
                          def update(auth_payload: :unset, metadata: :unset)
         | 
| 522 | 
            +
                            context.update(auth_payload: auth_payload, metadata: metadata, )
         | 
| 505 523 | 
             
                          end
         | 
| 506 524 |  | 
| 507 525 | 
             
                          ##
         | 
| @@ -61,7 +61,8 @@ module Twilio | |
| 61 61 | 
             
                        #   may include multiple Rate Limit values in each request.
         | 
| 62 62 | 
             
                        # @param [Hash] channel_configuration
         | 
| 63 63 | 
             
                        #   {`email`}[https://www.twilio.com/docs/verify/email] channel configuration in
         | 
| 64 | 
            -
                        #   json format.  | 
| 64 | 
            +
                        #   json format. The fields 'from' and 'from_name' are optional but if included the
         | 
| 65 | 
            +
                        #   'from' field must have a valid email address.
         | 
| 65 66 | 
             
                        # @param [String] app_hash Your {App
         | 
| 66 67 | 
             
                        #   Hash}[https://developers.google.com/identity/sms-retriever/verify#computing_your_apps_hash_string]
         | 
| 67 68 | 
             
                        #   to be appended at the end of your verification SMS body. Applies only to SMS.
         | 
| @@ -0,0 +1,234 @@ | |
| 1 | 
            +
            ##
         | 
| 2 | 
            +
            # This code was generated by
         | 
| 3 | 
            +
            # \ / _    _  _|   _  _
         | 
| 4 | 
            +
            #  | (_)\/(_)(_|\/| |(/_  v1.0.0
         | 
| 5 | 
            +
            #       /       /
         | 
| 6 | 
            +
            #
         | 
| 7 | 
            +
            # frozen_string_literal: true
         | 
| 8 | 
            +
             | 
| 9 | 
            +
            module Twilio
         | 
| 10 | 
            +
              module REST
         | 
| 11 | 
            +
                class Verify < Domain
         | 
| 12 | 
            +
                  class V2 < Version
         | 
| 13 | 
            +
                    class VerificationAttemptsSummaryList < ListResource
         | 
| 14 | 
            +
                      ##
         | 
| 15 | 
            +
                      # Initialize the VerificationAttemptsSummaryList
         | 
| 16 | 
            +
                      # @param [Version] version Version that contains the resource
         | 
| 17 | 
            +
                      # @return [VerificationAttemptsSummaryList] VerificationAttemptsSummaryList
         | 
| 18 | 
            +
                      def initialize(version)
         | 
| 19 | 
            +
                        super(version)
         | 
| 20 | 
            +
             | 
| 21 | 
            +
                        # Path Solution
         | 
| 22 | 
            +
                        @solution = {}
         | 
| 23 | 
            +
                      end
         | 
| 24 | 
            +
             | 
| 25 | 
            +
                      ##
         | 
| 26 | 
            +
                      # Provide a user friendly representation
         | 
| 27 | 
            +
                      def to_s
         | 
| 28 | 
            +
                        '#<Twilio.Verify.V2.VerificationAttemptsSummaryList>'
         | 
| 29 | 
            +
                      end
         | 
| 30 | 
            +
                    end
         | 
| 31 | 
            +
             | 
| 32 | 
            +
                    class VerificationAttemptsSummaryPage < Page
         | 
| 33 | 
            +
                      ##
         | 
| 34 | 
            +
                      # Initialize the VerificationAttemptsSummaryPage
         | 
| 35 | 
            +
                      # @param [Version] version Version that contains the resource
         | 
| 36 | 
            +
                      # @param [Response] response Response from the API
         | 
| 37 | 
            +
                      # @param [Hash] solution Path solution for the resource
         | 
| 38 | 
            +
                      # @return [VerificationAttemptsSummaryPage] VerificationAttemptsSummaryPage
         | 
| 39 | 
            +
                      def initialize(version, response, solution)
         | 
| 40 | 
            +
                        super(version, response)
         | 
| 41 | 
            +
             | 
| 42 | 
            +
                        # Path Solution
         | 
| 43 | 
            +
                        @solution = solution
         | 
| 44 | 
            +
                      end
         | 
| 45 | 
            +
             | 
| 46 | 
            +
                      ##
         | 
| 47 | 
            +
                      # Build an instance of VerificationAttemptsSummaryInstance
         | 
| 48 | 
            +
                      # @param [Hash] payload Payload response from the API
         | 
| 49 | 
            +
                      # @return [VerificationAttemptsSummaryInstance] VerificationAttemptsSummaryInstance
         | 
| 50 | 
            +
                      def get_instance(payload)
         | 
| 51 | 
            +
                        VerificationAttemptsSummaryInstance.new(@version, payload, )
         | 
| 52 | 
            +
                      end
         | 
| 53 | 
            +
             | 
| 54 | 
            +
                      ##
         | 
| 55 | 
            +
                      # Provide a user friendly representation
         | 
| 56 | 
            +
                      def to_s
         | 
| 57 | 
            +
                        '<Twilio.Verify.V2.VerificationAttemptsSummaryPage>'
         | 
| 58 | 
            +
                      end
         | 
| 59 | 
            +
                    end
         | 
| 60 | 
            +
             | 
| 61 | 
            +
                    class VerificationAttemptsSummaryContext < InstanceContext
         | 
| 62 | 
            +
                      ##
         | 
| 63 | 
            +
                      # Initialize the VerificationAttemptsSummaryContext
         | 
| 64 | 
            +
                      # @param [Version] version Version that contains the resource
         | 
| 65 | 
            +
                      # @return [VerificationAttemptsSummaryContext] VerificationAttemptsSummaryContext
         | 
| 66 | 
            +
                      def initialize(version)
         | 
| 67 | 
            +
                        super(version)
         | 
| 68 | 
            +
             | 
| 69 | 
            +
                        # Path Solution
         | 
| 70 | 
            +
                        @solution = {}
         | 
| 71 | 
            +
                        @uri = "/Attempts/Summary"
         | 
| 72 | 
            +
                      end
         | 
| 73 | 
            +
             | 
| 74 | 
            +
                      ##
         | 
| 75 | 
            +
                      # Fetch the VerificationAttemptsSummaryInstance
         | 
| 76 | 
            +
                      # @param [String] verify_service_sid Filter used to consider only Verification
         | 
| 77 | 
            +
                      #   Attempts of the given verify service on the summary aggregation.
         | 
| 78 | 
            +
                      # @param [Time] date_created_after Datetime filter used to consider only
         | 
| 79 | 
            +
                      #   Verification Attempts created after this datetime on the summary aggregation.
         | 
| 80 | 
            +
                      #   Given as GMT in RFC 2822 format.
         | 
| 81 | 
            +
                      # @param [Time] date_created_before Datetime filter used to consider only
         | 
| 82 | 
            +
                      #   Verification Attempts created before this datetime on the summary aggregation.
         | 
| 83 | 
            +
                      #   Given as GMT in RFC 2822 format.
         | 
| 84 | 
            +
                      # @param [String] country Filter used to consider only Verification Attempts sent
         | 
| 85 | 
            +
                      #   to the specified destination country on the summary aggregation.
         | 
| 86 | 
            +
                      # @param [verification_attempts_summary.Channels] channel Filter Verification
         | 
| 87 | 
            +
                      #   Attempts considered on the summary aggregation by communication channel. Valid
         | 
| 88 | 
            +
                      #   values are `SMS` and `CALL`
         | 
| 89 | 
            +
                      # @param [String] destination_prefix Filter the Verification Attempts considered
         | 
| 90 | 
            +
                      #   on the summary aggregation by Destination prefix. It is the prefix of a phone
         | 
| 91 | 
            +
                      #   number in E.164 format.
         | 
| 92 | 
            +
                      # @return [VerificationAttemptsSummaryInstance] Fetched VerificationAttemptsSummaryInstance
         | 
| 93 | 
            +
                      def fetch(verify_service_sid: :unset, date_created_after: :unset, date_created_before: :unset, country: :unset, channel: :unset, destination_prefix: :unset)
         | 
| 94 | 
            +
                        params = Twilio::Values.of({
         | 
| 95 | 
            +
                            'VerifyServiceSid' => verify_service_sid,
         | 
| 96 | 
            +
                            'DateCreatedAfter' => Twilio.serialize_iso8601_datetime(date_created_after),
         | 
| 97 | 
            +
                            'DateCreatedBefore' => Twilio.serialize_iso8601_datetime(date_created_before),
         | 
| 98 | 
            +
                            'Country' => country,
         | 
| 99 | 
            +
                            'Channel' => channel,
         | 
| 100 | 
            +
                            'DestinationPrefix' => destination_prefix,
         | 
| 101 | 
            +
                        })
         | 
| 102 | 
            +
             | 
| 103 | 
            +
                        payload = @version.fetch('GET', @uri, params: params)
         | 
| 104 | 
            +
             | 
| 105 | 
            +
                        VerificationAttemptsSummaryInstance.new(@version, payload, )
         | 
| 106 | 
            +
                      end
         | 
| 107 | 
            +
             | 
| 108 | 
            +
                      ##
         | 
| 109 | 
            +
                      # Provide a user friendly representation
         | 
| 110 | 
            +
                      def to_s
         | 
| 111 | 
            +
                        context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
         | 
| 112 | 
            +
                        "#<Twilio.Verify.V2.VerificationAttemptsSummaryContext #{context}>"
         | 
| 113 | 
            +
                      end
         | 
| 114 | 
            +
             | 
| 115 | 
            +
                      ##
         | 
| 116 | 
            +
                      # Provide a detailed, user friendly representation
         | 
| 117 | 
            +
                      def inspect
         | 
| 118 | 
            +
                        context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
         | 
| 119 | 
            +
                        "#<Twilio.Verify.V2.VerificationAttemptsSummaryContext #{context}>"
         | 
| 120 | 
            +
                      end
         | 
| 121 | 
            +
                    end
         | 
| 122 | 
            +
             | 
| 123 | 
            +
                    class VerificationAttemptsSummaryInstance < InstanceResource
         | 
| 124 | 
            +
                      ##
         | 
| 125 | 
            +
                      # Initialize the VerificationAttemptsSummaryInstance
         | 
| 126 | 
            +
                      # @param [Version] version Version that contains the resource
         | 
| 127 | 
            +
                      # @param [Hash] payload payload that contains response from Twilio
         | 
| 128 | 
            +
                      # @return [VerificationAttemptsSummaryInstance] VerificationAttemptsSummaryInstance
         | 
| 129 | 
            +
                      def initialize(version, payload)
         | 
| 130 | 
            +
                        super(version)
         | 
| 131 | 
            +
             | 
| 132 | 
            +
                        # Marshaled Properties
         | 
| 133 | 
            +
                        @properties = {
         | 
| 134 | 
            +
                            'total_attempts' => payload['total_attempts'].to_i,
         | 
| 135 | 
            +
                            'total_converted' => payload['total_converted'].to_i,
         | 
| 136 | 
            +
                            'total_unconverted' => payload['total_unconverted'].to_i,
         | 
| 137 | 
            +
                            'conversion_rate_percentage' => payload['conversion_rate_percentage'].to_f,
         | 
| 138 | 
            +
                            'url' => payload['url'],
         | 
| 139 | 
            +
                        }
         | 
| 140 | 
            +
             | 
| 141 | 
            +
                        # Context
         | 
| 142 | 
            +
                        @instance_context = nil
         | 
| 143 | 
            +
                        @params = {}
         | 
| 144 | 
            +
                      end
         | 
| 145 | 
            +
             | 
| 146 | 
            +
                      ##
         | 
| 147 | 
            +
                      # Generate an instance context for the instance, the context is capable of
         | 
| 148 | 
            +
                      # performing various actions.  All instance actions are proxied to the context
         | 
| 149 | 
            +
                      # @return [VerificationAttemptsSummaryContext] VerificationAttemptsSummaryContext for this VerificationAttemptsSummaryInstance
         | 
| 150 | 
            +
                      def context
         | 
| 151 | 
            +
                        unless @instance_context
         | 
| 152 | 
            +
                          @instance_context = VerificationAttemptsSummaryContext.new(@version, )
         | 
| 153 | 
            +
                        end
         | 
| 154 | 
            +
                        @instance_context
         | 
| 155 | 
            +
                      end
         | 
| 156 | 
            +
             | 
| 157 | 
            +
                      ##
         | 
| 158 | 
            +
                      # @return [String] Total of attempts made.
         | 
| 159 | 
            +
                      def total_attempts
         | 
| 160 | 
            +
                        @properties['total_attempts']
         | 
| 161 | 
            +
                      end
         | 
| 162 | 
            +
             | 
| 163 | 
            +
                      ##
         | 
| 164 | 
            +
                      # @return [String] Total of attempts confirmed by the end user.
         | 
| 165 | 
            +
                      def total_converted
         | 
| 166 | 
            +
                        @properties['total_converted']
         | 
| 167 | 
            +
                      end
         | 
| 168 | 
            +
             | 
| 169 | 
            +
                      ##
         | 
| 170 | 
            +
                      # @return [String] Total of attempts made that were not confirmed by the end user.
         | 
| 171 | 
            +
                      def total_unconverted
         | 
| 172 | 
            +
                        @properties['total_unconverted']
         | 
| 173 | 
            +
                      end
         | 
| 174 | 
            +
             | 
| 175 | 
            +
                      ##
         | 
| 176 | 
            +
                      # @return [String] Percentage of the confirmed messages over the total.
         | 
| 177 | 
            +
                      def conversion_rate_percentage
         | 
| 178 | 
            +
                        @properties['conversion_rate_percentage']
         | 
| 179 | 
            +
                      end
         | 
| 180 | 
            +
             | 
| 181 | 
            +
                      ##
         | 
| 182 | 
            +
                      # @return [String] The url
         | 
| 183 | 
            +
                      def url
         | 
| 184 | 
            +
                        @properties['url']
         | 
| 185 | 
            +
                      end
         | 
| 186 | 
            +
             | 
| 187 | 
            +
                      ##
         | 
| 188 | 
            +
                      # Fetch the VerificationAttemptsSummaryInstance
         | 
| 189 | 
            +
                      # @param [String] verify_service_sid Filter used to consider only Verification
         | 
| 190 | 
            +
                      #   Attempts of the given verify service on the summary aggregation.
         | 
| 191 | 
            +
                      # @param [Time] date_created_after Datetime filter used to consider only
         | 
| 192 | 
            +
                      #   Verification Attempts created after this datetime on the summary aggregation.
         | 
| 193 | 
            +
                      #   Given as GMT in RFC 2822 format.
         | 
| 194 | 
            +
                      # @param [Time] date_created_before Datetime filter used to consider only
         | 
| 195 | 
            +
                      #   Verification Attempts created before this datetime on the summary aggregation.
         | 
| 196 | 
            +
                      #   Given as GMT in RFC 2822 format.
         | 
| 197 | 
            +
                      # @param [String] country Filter used to consider only Verification Attempts sent
         | 
| 198 | 
            +
                      #   to the specified destination country on the summary aggregation.
         | 
| 199 | 
            +
                      # @param [verification_attempts_summary.Channels] channel Filter Verification
         | 
| 200 | 
            +
                      #   Attempts considered on the summary aggregation by communication channel. Valid
         | 
| 201 | 
            +
                      #   values are `SMS` and `CALL`
         | 
| 202 | 
            +
                      # @param [String] destination_prefix Filter the Verification Attempts considered
         | 
| 203 | 
            +
                      #   on the summary aggregation by Destination prefix. It is the prefix of a phone
         | 
| 204 | 
            +
                      #   number in E.164 format.
         | 
| 205 | 
            +
                      # @return [VerificationAttemptsSummaryInstance] Fetched VerificationAttemptsSummaryInstance
         | 
| 206 | 
            +
                      def fetch(verify_service_sid: :unset, date_created_after: :unset, date_created_before: :unset, country: :unset, channel: :unset, destination_prefix: :unset)
         | 
| 207 | 
            +
                        context.fetch(
         | 
| 208 | 
            +
                            verify_service_sid: verify_service_sid,
         | 
| 209 | 
            +
                            date_created_after: date_created_after,
         | 
| 210 | 
            +
                            date_created_before: date_created_before,
         | 
| 211 | 
            +
                            country: country,
         | 
| 212 | 
            +
                            channel: channel,
         | 
| 213 | 
            +
                            destination_prefix: destination_prefix,
         | 
| 214 | 
            +
                        )
         | 
| 215 | 
            +
                      end
         | 
| 216 | 
            +
             | 
| 217 | 
            +
                      ##
         | 
| 218 | 
            +
                      # Provide a user friendly representation
         | 
| 219 | 
            +
                      def to_s
         | 
| 220 | 
            +
                        values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
         | 
| 221 | 
            +
                        "<Twilio.Verify.V2.VerificationAttemptsSummaryInstance #{values}>"
         | 
| 222 | 
            +
                      end
         | 
| 223 | 
            +
             | 
| 224 | 
            +
                      ##
         | 
| 225 | 
            +
                      # Provide a detailed, user friendly representation
         | 
| 226 | 
            +
                      def inspect
         | 
| 227 | 
            +
                        values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
         | 
| 228 | 
            +
                        "<Twilio.Verify.V2.VerificationAttemptsSummaryInstance #{values}>"
         | 
| 229 | 
            +
                      end
         | 
| 230 | 
            +
                    end
         | 
| 231 | 
            +
                  end
         | 
| 232 | 
            +
                end
         | 
| 233 | 
            +
              end
         | 
| 234 | 
            +
            end
         | 
| @@ -18,6 +18,7 @@ module Twilio | |
| 18 18 | 
             
                      @forms = nil
         | 
| 19 19 | 
             
                      @services = nil
         | 
| 20 20 | 
             
                      @verification_attempts = nil
         | 
| 21 | 
            +
                      @verification_attempts_summary = nil
         | 
| 21 22 | 
             
                      @templates = nil
         | 
| 22 23 | 
             
                    end
         | 
| 23 24 |  | 
| @@ -68,6 +69,12 @@ module Twilio | |
| 68 69 | 
             
                      end
         | 
| 69 70 | 
             
                    end
         | 
| 70 71 |  | 
| 72 | 
            +
                    ##
         | 
| 73 | 
            +
                    # @return [Twilio::REST::Verify::V2::VerificationAttemptsSummaryContext]
         | 
| 74 | 
            +
                    def verification_attempts_summary
         | 
| 75 | 
            +
                      @verification_attempts_summary ||= VerificationAttemptsSummaryContext.new self
         | 
| 76 | 
            +
                    end
         | 
| 77 | 
            +
             | 
| 71 78 | 
             
                    ##
         | 
| 72 79 | 
             
                    # @return [Twilio::REST::Verify::V2::TemplateContext]
         | 
| 73 80 | 
             
                    def templates
         | 
| @@ -55,6 +55,12 @@ module Twilio | |
| 55 55 | 
             
                    self.v2.verification_attempts(sid)
         | 
| 56 56 | 
             
                  end
         | 
| 57 57 |  | 
| 58 | 
            +
                  ##
         | 
| 59 | 
            +
                  # @return [Twilio::REST::Verify::V2::VerificationAttemptsSummaryInstance]
         | 
| 60 | 
            +
                  def verification_attempts_summary
         | 
| 61 | 
            +
                    self.v2.verification_attempts_summary()
         | 
| 62 | 
            +
                  end
         | 
| 63 | 
            +
             | 
| 58 64 | 
             
                  ##
         | 
| 59 65 | 
             
                  # @return [Twilio::REST::Verify::V2::TemplateInstance]
         | 
| 60 66 | 
             
                  def templates
         | 
| @@ -335,6 +335,8 @@ module Twilio | |
| 335 335 | 
             
                            'size' => payload['size'].to_i,
         | 
| 336 336 | 
             
                            'duration' => payload['duration'].to_i,
         | 
| 337 337 | 
             
                            'media_external_location' => payload['media_external_location'],
         | 
| 338 | 
            +
                            'status_callback' => payload['status_callback'],
         | 
| 339 | 
            +
                            'status_callback_method' => payload['status_callback_method'],
         | 
| 338 340 | 
             
                            'url' => payload['url'],
         | 
| 339 341 | 
             
                            'links' => payload['links'],
         | 
| 340 342 | 
             
                        }
         | 
| @@ -457,6 +459,18 @@ module Twilio | |
| 457 459 | 
             
                        @properties['media_external_location']
         | 
| 458 460 | 
             
                      end
         | 
| 459 461 |  | 
| 462 | 
            +
                      ##
         | 
| 463 | 
            +
                      # @return [String] The URL called to send status information on every composition event.
         | 
| 464 | 
            +
                      def status_callback
         | 
| 465 | 
            +
                        @properties['status_callback']
         | 
| 466 | 
            +
                      end
         | 
| 467 | 
            +
             | 
| 468 | 
            +
                      ##
         | 
| 469 | 
            +
                      # @return [String] The HTTP method used to call `status_callback`
         | 
| 470 | 
            +
                      def status_callback_method
         | 
| 471 | 
            +
                        @properties['status_callback_method']
         | 
| 472 | 
            +
                      end
         | 
| 473 | 
            +
             | 
| 460 474 | 
             
                      ##
         | 
| 461 475 | 
             
                      # @return [String] The absolute URL of the resource
         | 
| 462 476 | 
             
                      def url
         | 
| @@ -273,6 +273,8 @@ module Twilio | |
| 273 273 | 
             
                            'track_name' => payload['track_name'],
         | 
| 274 274 | 
             
                            'offset' => payload['offset'].to_i,
         | 
| 275 275 | 
             
                            'media_external_location' => payload['media_external_location'],
         | 
| 276 | 
            +
                            'status_callback' => payload['status_callback'],
         | 
| 277 | 
            +
                            'status_callback_method' => payload['status_callback_method'],
         | 
| 276 278 | 
             
                            'links' => payload['links'],
         | 
| 277 279 | 
             
                        }
         | 
| 278 280 |  | 
| @@ -382,6 +384,18 @@ module Twilio | |
| 382 384 | 
             
                        @properties['media_external_location']
         | 
| 383 385 | 
             
                      end
         | 
| 384 386 |  | 
| 387 | 
            +
                      ##
         | 
| 388 | 
            +
                      # @return [String] The URL called to send status information on every recording event.
         | 
| 389 | 
            +
                      def status_callback
         | 
| 390 | 
            +
                        @properties['status_callback']
         | 
| 391 | 
            +
                      end
         | 
| 392 | 
            +
             | 
| 393 | 
            +
                      ##
         | 
| 394 | 
            +
                      # @return [String] The HTTP method used to call `status_callback`
         | 
| 395 | 
            +
                      def status_callback_method
         | 
| 396 | 
            +
                        @properties['status_callback_method']
         | 
| 397 | 
            +
                      end
         | 
| 398 | 
            +
             | 
| 385 399 | 
             
                      ##
         | 
| 386 400 | 
             
                      # @return [String] The URLs of related resources
         | 
| 387 401 | 
             
                      def links
         | 
    
        data/lib/twilio-ruby/version.rb
    CHANGED
    
    
    
        data/lib/twilio-ruby.rb
    CHANGED
    
    | @@ -10,7 +10,7 @@ require 'time' | |
| 10 10 | 
             
            require 'json'
         | 
| 11 11 |  | 
| 12 12 | 
             
            require 'twilio-ruby/version' unless defined?(Twilio::VERSION)
         | 
| 13 | 
            -
            require 'rack/twilio_webhook_authentication'
         | 
| 13 | 
            +
            require 'rack/twilio_webhook_authentication' if defined?(Rack)
         | 
| 14 14 |  | 
| 15 15 | 
             
            require 'twilio-ruby/util'
         | 
| 16 16 | 
             
            require 'twilio-ruby/security/request_validator'
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: twilio-ruby
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 5. | 
| 4 | 
            +
              version: 5.66.1
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Twilio API Team
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2022- | 
| 11 | 
            +
            date: 2022-04-06 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: jwt
         | 
| @@ -198,6 +198,7 @@ extra_rdoc_files: | |
| 198 198 | 
             
            - LICENSE
         | 
| 199 199 | 
             
            files:
         | 
| 200 200 | 
             
            - ".dockerignore"
         | 
| 201 | 
            +
            - ".github/workflows/pr-lint.yml"
         | 
| 201 202 | 
             
            - ".github/workflows/test-and-deploy.yml"
         | 
| 202 203 | 
             
            - ".gitignore"
         | 
| 203 204 | 
             
            - ".rubocop.yml"
         | 
| @@ -375,6 +376,8 @@ files: | |
| 375 376 | 
             
            - lib/twilio-ruby/rest/chat/v2/service/user.rb
         | 
| 376 377 | 
             
            - lib/twilio-ruby/rest/chat/v2/service/user/user_binding.rb
         | 
| 377 378 | 
             
            - lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb
         | 
| 379 | 
            +
            - lib/twilio-ruby/rest/chat/v3.rb
         | 
| 380 | 
            +
            - lib/twilio-ruby/rest/chat/v3/channel.rb
         | 
| 378 381 | 
             
            - lib/twilio-ruby/rest/client.rb
         | 
| 379 382 | 
             
            - lib/twilio-ruby/rest/conversations.rb
         | 
| 380 383 | 
             
            - lib/twilio-ruby/rest/conversations/v1.rb
         | 
| @@ -424,12 +427,17 @@ files: | |
| 424 427 | 
             
            - lib/twilio-ruby/rest/flex_api/v1/channel.rb
         | 
| 425 428 | 
             
            - lib/twilio-ruby/rest/flex_api/v1/configuration.rb
         | 
| 426 429 | 
             
            - lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb
         | 
| 430 | 
            +
            - lib/twilio-ruby/rest/flex_api/v1/interaction.rb
         | 
| 431 | 
            +
            - lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel.rb
         | 
| 432 | 
            +
            - lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_invite.rb
         | 
| 433 | 
            +
            - lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_participant.rb
         | 
| 427 434 | 
             
            - lib/twilio-ruby/rest/flex_api/v1/web_channel.rb
         | 
| 428 435 | 
             
            - lib/twilio-ruby/rest/frontline_api.rb
         | 
| 429 436 | 
             
            - lib/twilio-ruby/rest/frontline_api/v1.rb
         | 
| 430 437 | 
             
            - lib/twilio-ruby/rest/frontline_api/v1/user.rb
         | 
| 431 438 | 
             
            - lib/twilio-ruby/rest/insights.rb
         | 
| 432 439 | 
             
            - lib/twilio-ruby/rest/insights/v1.rb
         | 
| 440 | 
            +
            - lib/twilio-ruby/rest/insights/v1/annotation.rb
         | 
| 433 441 | 
             
            - lib/twilio-ruby/rest/insights/v1/call.rb
         | 
| 434 442 | 
             
            - lib/twilio-ruby/rest/insights/v1/call/event.rb
         | 
| 435 443 | 
             
            - lib/twilio-ruby/rest/insights/v1/call/metric.rb
         | 
| @@ -470,6 +478,7 @@ files: | |
| 470 478 | 
             
            - lib/twilio-ruby/rest/media.rb
         | 
| 471 479 | 
             
            - lib/twilio-ruby/rest/media/v1.rb
         | 
| 472 480 | 
             
            - lib/twilio-ruby/rest/media/v1/media_processor.rb
         | 
| 481 | 
            +
            - lib/twilio-ruby/rest/media/v1/media_recording.rb
         | 
| 473 482 | 
             
            - lib/twilio-ruby/rest/media/v1/player_streamer.rb
         | 
| 474 483 | 
             
            - lib/twilio-ruby/rest/media/v1/player_streamer/playback_grant.rb
         | 
| 475 484 | 
             
            - lib/twilio-ruby/rest/messaging.rb
         | 
| @@ -626,7 +635,6 @@ files: | |
| 626 635 | 
             
            - lib/twilio-ruby/rest/studio/v2/flow_validate.rb
         | 
| 627 636 | 
             
            - lib/twilio-ruby/rest/supersim.rb
         | 
| 628 637 | 
             
            - lib/twilio-ruby/rest/supersim/v1.rb
         | 
| 629 | 
            -
            - lib/twilio-ruby/rest/supersim/v1/command.rb
         | 
| 630 638 | 
             
            - lib/twilio-ruby/rest/supersim/v1/esim_profile.rb
         | 
| 631 639 | 
             
            - lib/twilio-ruby/rest/supersim/v1/fleet.rb
         | 
| 632 640 | 
             
            - lib/twilio-ruby/rest/supersim/v1/ip_command.rb
         | 
| @@ -718,6 +726,7 @@ files: | |
| 718 726 | 
             
            - lib/twilio-ruby/rest/verify/v2/service/webhook.rb
         | 
| 719 727 | 
             
            - lib/twilio-ruby/rest/verify/v2/template.rb
         | 
| 720 728 | 
             
            - lib/twilio-ruby/rest/verify/v2/verification_attempt.rb
         | 
| 729 | 
            +
            - lib/twilio-ruby/rest/verify/v2/verification_attempts_summary.rb
         | 
| 721 730 | 
             
            - lib/twilio-ruby/rest/video.rb
         | 
| 722 731 | 
             
            - lib/twilio-ruby/rest/video/v1.rb
         | 
| 723 732 | 
             
            - lib/twilio-ruby/rest/video/v1/composition.rb
         |