bandwidth-sdk 18.0.0 → 18.1.0

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 (82) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +4 -4
  3. data/README.md +28 -1
  4. data/bandwidth.yml +944 -19
  5. data/coverage/.last_run.json +1 -1
  6. data/coverage/.resultset.json +784 -152
  7. data/coverage/index.html +21650 -14800
  8. data/docs/BrtcError.md +26 -0
  9. data/docs/BrtcErrorResponse.md +22 -0
  10. data/docs/BrtcErrorSource.md +24 -0
  11. data/docs/BrtcLink.md +22 -0
  12. data/docs/CreateCall.md +2 -2
  13. data/docs/CreateEndpointRequestBase.md +26 -0
  14. data/docs/CreateEndpointResponse.md +22 -0
  15. data/docs/CreateEndpointResponseData.md +32 -0
  16. data/docs/CreateWebRtcConnectionRequest.md +28 -0
  17. data/docs/Device.md +24 -0
  18. data/docs/DeviceStatusEnum.md +15 -0
  19. data/docs/Endpoint.md +30 -0
  20. data/docs/EndpointDirectionEnum.md +15 -0
  21. data/docs/EndpointEvent.md +34 -0
  22. data/docs/EndpointEventTypeEnum.md +15 -0
  23. data/docs/EndpointResponse.md +22 -0
  24. data/docs/EndpointStatusEnum.md +15 -0
  25. data/docs/EndpointTypeEnum.md +15 -0
  26. data/docs/Endpoints.md +28 -0
  27. data/docs/EndpointsApi.md +395 -0
  28. data/docs/InboundCallback.md +2 -2
  29. data/docs/ListEndpointsResponse.md +24 -0
  30. data/docs/LookupResult.md +1 -1
  31. data/docs/MachineDetectionConfiguration.md +1 -1
  32. data/docs/MessageRequest.md +1 -1
  33. data/docs/Page.md +24 -0
  34. data/docs/RbmActionBase.md +1 -1
  35. data/docs/RbmSuggestionResponse.md +1 -1
  36. data/docs/SipConnectionMetadata.md +24 -0
  37. data/docs/SipCredentials.md +20 -0
  38. data/docs/StatusCallback.md +1 -1
  39. data/docs/SyncLookupRequest.md +3 -1
  40. data/docs/UpdateCall.md +1 -1
  41. data/docs/WebhookSubscriptionError.md +22 -0
  42. data/docs/WebhookSubscriptionsListBody.md +1 -1
  43. data/lib/bandwidth-sdk/api/endpoints_api.rb +397 -0
  44. data/lib/bandwidth-sdk/configuration.rb +30 -0
  45. data/lib/bandwidth-sdk/models/brtc_error.rb +219 -0
  46. data/lib/bandwidth-sdk/models/brtc_error_response.rb +204 -0
  47. data/lib/bandwidth-sdk/models/brtc_error_source.rb +176 -0
  48. data/lib/bandwidth-sdk/models/brtc_link.rb +166 -0
  49. data/lib/bandwidth-sdk/models/create_call.rb +7 -7
  50. data/lib/bandwidth-sdk/models/create_endpoint_request_base.rb +250 -0
  51. data/lib/bandwidth-sdk/models/create_endpoint_response.rb +218 -0
  52. data/lib/bandwidth-sdk/models/create_endpoint_response_data.rb +356 -0
  53. data/lib/bandwidth-sdk/models/create_web_rtc_connection_request.rb +266 -0
  54. data/lib/bandwidth-sdk/models/device.rb +258 -0
  55. data/lib/bandwidth-sdk/models/device_status_enum.rb +40 -0
  56. data/lib/bandwidth-sdk/models/endpoint.rb +329 -0
  57. data/lib/bandwidth-sdk/models/endpoint_direction_enum.rb +41 -0
  58. data/lib/bandwidth-sdk/models/endpoint_event.rb +381 -0
  59. data/lib/bandwidth-sdk/models/endpoint_event_type_enum.rb +40 -0
  60. data/lib/bandwidth-sdk/models/endpoint_response.rb +218 -0
  61. data/lib/bandwidth-sdk/models/endpoint_status_enum.rb +40 -0
  62. data/lib/bandwidth-sdk/models/endpoint_type_enum.rb +39 -0
  63. data/lib/bandwidth-sdk/models/endpoints.rb +311 -0
  64. data/lib/bandwidth-sdk/models/inbound_callback.rb +2 -2
  65. data/lib/bandwidth-sdk/models/list_endpoints_response.rb +229 -0
  66. data/lib/bandwidth-sdk/models/lookup_result.rb +1 -1
  67. data/lib/bandwidth-sdk/models/machine_detection_configuration.rb +1 -1
  68. data/lib/bandwidth-sdk/models/message_request.rb +1 -1
  69. data/lib/bandwidth-sdk/models/page.rb +259 -0
  70. data/lib/bandwidth-sdk/models/sip_connection_metadata.rb +175 -0
  71. data/lib/bandwidth-sdk/models/sip_credentials.rb +156 -0
  72. data/lib/bandwidth-sdk/models/status_callback.rb +1 -1
  73. data/lib/bandwidth-sdk/models/sync_lookup_request.rb +35 -4
  74. data/lib/bandwidth-sdk/models/update_call.rb +6 -6
  75. data/lib/bandwidth-sdk/models/webhook_subscription_error.rb +165 -0
  76. data/lib/bandwidth-sdk/models/webhook_subscriptions_list_body.rb +1 -1
  77. data/lib/bandwidth-sdk/version.rb +1 -1
  78. data/lib/bandwidth-sdk.rb +24 -1
  79. data/spec/smoke/endpoints_api_spec.rb +148 -0
  80. data/spec/unit/api/endpoints_api_spec.rb +172 -0
  81. data/spec/unit/api/phone_number_lookup_api_spec.rb +2 -0
  82. metadata +104 -52
data/bandwidth.yml CHANGED
@@ -22,6 +22,7 @@ tags:
22
22
  - name: MFA
23
23
  - name: Phone Number Lookup
24
24
  - name: Toll-Free Verification
25
+ - name: Endpoints
25
26
  paths:
26
27
  /users/{accountId}/media:
27
28
  get:
@@ -1690,6 +1691,165 @@ paths:
1690
1691
  '503':
1691
1692
  $ref: '#/components/responses/tfvServiceUnavailableResponse'
1692
1693
  servers: *ref_4
1694
+ /accounts/{accountId}/endpoints:
1695
+ get:
1696
+ tags:
1697
+ - Endpoints
1698
+ summary: List Endpoints
1699
+ description: Returns a list of endpoints associated with the specified account.
1700
+ operationId: listEndpoints
1701
+ parameters:
1702
+ - $ref: '#/components/parameters/accountId'
1703
+ - $ref: '#/components/parameters/endpointType'
1704
+ - $ref: '#/components/parameters/endpointStatus'
1705
+ - $ref: '#/components/parameters/afterCursor'
1706
+ - $ref: '#/components/parameters/limit1'
1707
+ responses:
1708
+ '200':
1709
+ $ref: '#/components/responses/listEndpointsResponse'
1710
+ '400':
1711
+ $ref: '#/components/responses/badRequestErrorResponse'
1712
+ '401':
1713
+ $ref: '#/components/responses/unauthorizedErrorResponse'
1714
+ '403':
1715
+ $ref: '#/components/responses/forbiddenErrorResponse'
1716
+ '404':
1717
+ $ref: '#/components/responses/notFoundErrorResponse'
1718
+ '405':
1719
+ $ref: '#/components/responses/methodNotAllowedErrorResponse'
1720
+ '415':
1721
+ $ref: '#/components/responses/unsupportedMediaTypeErrorResponse'
1722
+ '429':
1723
+ $ref: '#/components/responses/tooManyRequestsErrorResponse'
1724
+ '500':
1725
+ $ref: '#/components/responses/serviceUnavailableErrorResponse'
1726
+ post:
1727
+ tags:
1728
+ - Endpoints
1729
+ summary: Create Endpoint
1730
+ description: Creates a new Endpoint for the specified account.
1731
+ operationId: createEndpoint
1732
+ parameters:
1733
+ - $ref: '#/components/parameters/accountId'
1734
+ requestBody:
1735
+ $ref: '#/components/requestBodies/createEndpointRequest'
1736
+ responses:
1737
+ '201':
1738
+ $ref: '#/components/responses/createEndpointResponse'
1739
+ '400':
1740
+ $ref: '#/components/responses/badRequestErrorResponse'
1741
+ '401':
1742
+ $ref: '#/components/responses/unauthorizedErrorResponse'
1743
+ '403':
1744
+ $ref: '#/components/responses/forbiddenErrorResponse'
1745
+ '404':
1746
+ $ref: '#/components/responses/notFoundErrorResponse'
1747
+ '405':
1748
+ $ref: '#/components/responses/methodNotAllowedErrorResponse'
1749
+ '415':
1750
+ $ref: '#/components/responses/unsupportedMediaTypeErrorResponse'
1751
+ '429':
1752
+ $ref: '#/components/responses/tooManyRequestsErrorResponse'
1753
+ '500':
1754
+ $ref: '#/components/responses/serviceUnavailableErrorResponse'
1755
+ callbacks:
1756
+ endpointEventCallback:
1757
+ $ref: '#/components/callbacks/endpointEvent'
1758
+ servers: &ref_5
1759
+ - url: https://api.bandwidth.com/v2
1760
+ description: Production
1761
+ /accounts/{accountId}/endpoints/{endpointId}:
1762
+ get:
1763
+ tags:
1764
+ - Endpoints
1765
+ summary: Get Endpoint
1766
+ description: Returns information about the specified endpoint.
1767
+ operationId: getEndpoint
1768
+ parameters:
1769
+ - $ref: '#/components/parameters/accountId'
1770
+ - $ref: '#/components/parameters/endpointId'
1771
+ responses:
1772
+ '200':
1773
+ $ref: '#/components/responses/getEndpointResponse'
1774
+ '400':
1775
+ $ref: '#/components/responses/badRequestErrorResponse'
1776
+ '401':
1777
+ $ref: '#/components/responses/unauthorizedErrorResponse'
1778
+ '403':
1779
+ $ref: '#/components/responses/forbiddenErrorResponse'
1780
+ '404':
1781
+ $ref: '#/components/responses/notFoundErrorResponse'
1782
+ '405':
1783
+ $ref: '#/components/responses/methodNotAllowedErrorResponse'
1784
+ '415':
1785
+ $ref: '#/components/responses/unsupportedMediaTypeErrorResponse'
1786
+ '429':
1787
+ $ref: '#/components/responses/tooManyRequestsErrorResponse'
1788
+ '500':
1789
+ $ref: '#/components/responses/serviceUnavailableErrorResponse'
1790
+ delete:
1791
+ tags:
1792
+ - Endpoints
1793
+ summary: Delete Endpoint
1794
+ description: >-
1795
+ Deletes the specified endpoint. If the endpoint is actively streaming
1796
+ media, the media stream will be terminated.
1797
+ operationId: deleteEndpoint
1798
+ parameters:
1799
+ - $ref: '#/components/parameters/accountId'
1800
+ - $ref: '#/components/parameters/endpointId'
1801
+ responses:
1802
+ '204':
1803
+ description: No Content
1804
+ '400':
1805
+ $ref: '#/components/responses/badRequestErrorResponse'
1806
+ '401':
1807
+ $ref: '#/components/responses/unauthorizedErrorResponse'
1808
+ '403':
1809
+ $ref: '#/components/responses/forbiddenErrorResponse'
1810
+ '404':
1811
+ $ref: '#/components/responses/notFoundErrorResponse'
1812
+ '405':
1813
+ $ref: '#/components/responses/methodNotAllowedErrorResponse'
1814
+ '415':
1815
+ $ref: '#/components/responses/unsupportedMediaTypeErrorResponse'
1816
+ '429':
1817
+ $ref: '#/components/responses/tooManyRequestsErrorResponse'
1818
+ '500':
1819
+ $ref: '#/components/responses/serviceUnavailableErrorResponse'
1820
+ servers: *ref_5
1821
+ /accounts/{accountId}/endpoints/{endpointId}/bxml:
1822
+ put:
1823
+ tags:
1824
+ - Endpoints
1825
+ summary: Update Endpoint BXML
1826
+ description: Updates the BXML for the specified endpoint.
1827
+ operationId: updateEndpointBxml
1828
+ parameters:
1829
+ - $ref: '#/components/parameters/accountId'
1830
+ - $ref: '#/components/parameters/endpointId'
1831
+ requestBody:
1832
+ $ref: '#/components/requestBodies/updateEndpointBxmlRequest'
1833
+ responses:
1834
+ '204':
1835
+ description: No Content
1836
+ '400':
1837
+ $ref: '#/components/responses/badRequestErrorResponse'
1838
+ '401':
1839
+ $ref: '#/components/responses/unauthorizedErrorResponse'
1840
+ '403':
1841
+ $ref: '#/components/responses/forbiddenErrorResponse'
1842
+ '404':
1843
+ $ref: '#/components/responses/notFoundErrorResponse'
1844
+ '405':
1845
+ $ref: '#/components/responses/methodNotAllowedErrorResponse'
1846
+ '415':
1847
+ $ref: '#/components/responses/unsupportedMediaTypeErrorResponse'
1848
+ '429':
1849
+ $ref: '#/components/responses/tooManyRequestsErrorResponse'
1850
+ '500':
1851
+ $ref: '#/components/responses/serviceUnavailableErrorResponse'
1852
+ servers: *ref_5
1693
1853
  components:
1694
1854
  schemas:
1695
1855
  applicationId:
@@ -1986,7 +2146,7 @@ components:
1986
2146
  type: string
1987
2147
  description: >-
1988
2148
  The name of the Authorized Message Provider (AMP) that handled this
1989
- message.
2149
+ message.
1990
2150
 
1991
2151
  In the US, this is the carrier that the message was sent to.
1992
2152
 
@@ -2073,7 +2233,7 @@ components:
2073
2233
  description: >-
2074
2234
  Either an alphanumeric sender ID or the sender's Bandwidth phone
2075
2235
  number in E.164 format, which must be hosted within Bandwidth and
2076
- linked to the account that is generating the message.
2236
+ linked to the account that is generating the message.
2077
2237
 
2078
2238
  Alphanumeric Sender IDs can contain up to 11 characters, upper-case
2079
2239
  letters A-Z, lower-case letters a-z, numbers 0-9, space, hyphen -,
@@ -2396,8 +2556,8 @@ components:
2396
2556
  Specifies how the URL should be opened on a mobile device.
2397
2557
 
2398
2558
  - `BROWSER` Opens the URL in the device's default browser. If
2399
- application is not set or the device doesnt support WebView, this
2400
- option is used by default.
2559
+ application is not set or the device doesn't support WebView, this
2560
+ option is used by default.
2401
2561
 
2402
2562
  - `WEBVIEW` Opens the URL in an in-app WebView.
2403
2563
  enum:
@@ -2410,7 +2570,7 @@ components:
2410
2570
  Defines the layout of the WebView on a mobile device. It must be defined
2411
2571
  when application is set to `WEBVIEW`
2412
2572
 
2413
- - `FULL` WebView takes the full screen.
2573
+ - `FULL` WebView takes the full screen.
2414
2574
 
2415
2575
  - `HALF` WebView takes half of the screen.
2416
2576
 
@@ -2812,7 +2972,7 @@ components:
2812
2972
  to:
2813
2973
  type: string
2814
2974
  description: >
2815
- The destination phone number the message was sent to.
2975
+ The destination phone number the message was sent to.
2816
2976
 
2817
2977
  For inbound callbacks, this is the Bandwidth number or alphanumeric
2818
2978
  identifier that received the message.
@@ -2863,7 +3023,7 @@ components:
2863
3023
  client to a Bandwidth number.
2864
3024
 
2865
3025
  - `request-location-response` indicates a response to a location request
2866
- sent by the Bandwidth user's client after receiving an RBM message.
3026
+ sent by the Bandwidth user's client after receiving an RBM message.
2867
3027
 
2868
3028
  - `suggestion-response` indicates a response to a suggestion sent by the
2869
3029
  Bandwidth user's client after receiving an RBM message.
@@ -3102,7 +3262,7 @@ components:
3102
3262
  nullable: true
3103
3263
  type: string
3104
3264
  description: >-
3105
- The caller display name to use when the call is created.
3265
+ The caller display name to use when the call is created.
3106
3266
 
3107
3267
  May not exceed 256 characters nor contain control characters such as
3108
3268
  new lines.
@@ -3280,8 +3440,8 @@ components:
3280
3440
  May be cleared by setting `tag=""`
3281
3441
 
3282
3442
 
3283
- Max length 256 characters.
3284
- maxLength: 256
3443
+ Max length 4096 characters.
3444
+ maxLength: 4096
3285
3445
  example: arbitrary text here
3286
3446
  createCallResponse:
3287
3447
  type: object
@@ -3658,11 +3818,11 @@ components:
3658
3818
  May be cleared by setting `tag=""`.
3659
3819
 
3660
3820
 
3661
- Max length 256 characters.
3821
+ Max length 4096 characters.
3662
3822
 
3663
3823
 
3664
3824
  Not allowed if `state` is `completed`.
3665
- maxLength: 256
3825
+ maxLength: 4096
3666
3826
  example: My Custom Tag
3667
3827
  updateCallRecording:
3668
3828
  type: object
@@ -4039,7 +4199,7 @@ components:
4039
4199
  format: double
4040
4200
  description: >-
4041
4201
  When an answering machine is detected, the amount of silence (in
4042
- seconds) before assuming the message has finished playing.
4202
+ seconds) before assuming the message has finished playing.
4043
4203
 
4044
4204
  If not provided it will default to the speechEndThreshold value.
4045
4205
  example: 5
@@ -5599,6 +5759,19 @@ components:
5599
5759
  items:
5600
5760
  type: string
5601
5761
  pattern: ^\+[1-9]\d{1,14}$
5762
+ rcsAgent:
5763
+ type: string
5764
+ description: >-
5765
+ Override the default RCS sender/agent ID used when checking RCS
5766
+ capabilities.
5767
+
5768
+ When provided, this value is used as the `sender` in the RCS
5769
+ capability-check request instead of the account default.
5770
+
5771
+ Must be 1–40 characters and contain only letters, digits,
5772
+ underscores, or hyphens.
5773
+ pattern: ^[A-Za-z0-9_-]{1,40}$
5774
+ example: MyCustomRcsAgent
5602
5775
  required:
5603
5776
  - phoneNumbers
5604
5777
  asyncLookupRequest:
@@ -5783,7 +5956,7 @@ components:
5783
5956
  format: date
5784
5957
  description: >-
5785
5958
  [DNI-Only](#section/DNI-Only). The date the phone number entered the
5786
- status described in `latestMessageDeliveryStatus`.
5959
+ status described in `latestMessageDeliveryStatus`.
5787
5960
 
5788
5961
  Think of this as the "start time" for that status.
5789
5962
 
@@ -6460,7 +6633,7 @@ components:
6460
6633
  errors:
6461
6634
  type: array
6462
6635
  items:
6463
- $ref: '#/components/schemas/error'
6636
+ $ref: '#/components/schemas/webhookSubscriptionError'
6464
6637
  data:
6465
6638
  items:
6466
6639
  $ref: '#/components/schemas/webhookSubscription'
@@ -6486,7 +6659,7 @@ components:
6486
6659
  If more results exist than specified by 'size', this link return the
6487
6660
  last page of result.
6488
6661
  type: string
6489
- error:
6662
+ webhookSubscriptionError:
6490
6663
  type: object
6491
6664
  properties:
6492
6665
  code:
@@ -6687,6 +6860,365 @@ components:
6687
6860
  nullable: true
6688
6861
  example: >-
6689
6862
  cv.user123|sess456|mno|tfree|read_write|X7yZ9aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVw
6863
+ endpointId:
6864
+ type: string
6865
+ description: The unique ID of the endpoint.
6866
+ example: e-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85
6867
+ endpointStatusEnum:
6868
+ type: string
6869
+ enum:
6870
+ - CONNECTED
6871
+ - DISCONNECTED
6872
+ deviceStatusEnum:
6873
+ type: string
6874
+ enum:
6875
+ - CONNECTED
6876
+ - DISCONNECTED
6877
+ endpointTypeEnum:
6878
+ type: string
6879
+ enum:
6880
+ - WEBRTC
6881
+ endpointDirectionEnum:
6882
+ type: string
6883
+ enum:
6884
+ - INBOUND
6885
+ - OUTBOUND
6886
+ - BIDIRECTIONAL
6887
+ sipCredentials:
6888
+ type: object
6889
+ properties:
6890
+ username:
6891
+ type: string
6892
+ description: The username for the SIP connection.
6893
+ example: username
6894
+ password:
6895
+ type: string
6896
+ description: The password for the SIP connection.
6897
+ example: password
6898
+ sipConnectionMetadata:
6899
+ title: SIP Connection
6900
+ type: object
6901
+ properties:
6902
+ ipAddress:
6903
+ type: string
6904
+ format: ipv4
6905
+ description: The IP address of the SIP connection.
6906
+ example: 192.168.0.0
6907
+ port:
6908
+ type: integer
6909
+ description: The port of the SIP connection.
6910
+ example: 5060
6911
+ credentials:
6912
+ $ref: '#/components/schemas/sipCredentials'
6913
+ uuiHeader:
6914
+ type: string
6915
+ description: The User-to-User Information header for the SIP connection.
6916
+ example: my-uui-header
6917
+ webRtcConnectionMetadata:
6918
+ title: WebRTC Connection
6919
+ type: object
6920
+ endpointToken:
6921
+ type: string
6922
+ description: >-
6923
+ The json web token specific to the endpoint. Used to authenticate the
6924
+ client with the media gateway.
6925
+ example: xxxxx.yyyyy.zzzzz
6926
+ endpointTag:
6927
+ type: string
6928
+ description: A tag for the endpoint.
6929
+ example: my-tag
6930
+ maximum: 1024
6931
+ device:
6932
+ type: object
6933
+ properties:
6934
+ deviceId:
6935
+ type: string
6936
+ description: The unique ID of the device.
6937
+ example: d-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85
6938
+ deviceName:
6939
+ type: string
6940
+ description: The name of the device.
6941
+ maximum: 1024
6942
+ example: David's iPhone
6943
+ status:
6944
+ $ref: '#/components/schemas/deviceStatusEnum'
6945
+ creationTimestamp:
6946
+ type: string
6947
+ format: date-time
6948
+ description: The time the device was created. In ISO-8601 format.
6949
+ example: '2021-01-01T00:00:00Z'
6950
+ required:
6951
+ - deviceId
6952
+ - status
6953
+ - creationTimestamp
6954
+ endpoints:
6955
+ type: object
6956
+ properties:
6957
+ endpointId:
6958
+ $ref: '#/components/schemas/endpointId'
6959
+ type:
6960
+ $ref: '#/components/schemas/endpointTypeEnum'
6961
+ status:
6962
+ $ref: '#/components/schemas/endpointStatusEnum'
6963
+ creationTimestamp:
6964
+ type: string
6965
+ format: date-time
6966
+ description: The time the endpoint was created. In ISO-8601 format.
6967
+ example: '2021-01-01T00:00:00Z'
6968
+ expirationTimestamp:
6969
+ type: string
6970
+ format: date-time
6971
+ description: >-
6972
+ The time the endpoint token will expire. In ISO-8601 format. Tokens
6973
+ last 24 hours.
6974
+ example: '2021-01-02T00:00:00Z'
6975
+ tag:
6976
+ $ref: '#/components/schemas/endpointTag'
6977
+ required:
6978
+ - endpointId
6979
+ - type
6980
+ - status
6981
+ - creationTimestamp
6982
+ - expirationTimestamp
6983
+ endpoint:
6984
+ type: object
6985
+ allOf:
6986
+ - $ref: '#/components/schemas/endpoints'
6987
+ - type: object
6988
+ properties:
6989
+ devices:
6990
+ type: array
6991
+ items:
6992
+ $ref: '#/components/schemas/device'
6993
+ createWebRtcConnectionRequest:
6994
+ allOf:
6995
+ - $ref: '#/components/schemas/createEndpointRequestBase'
6996
+ - type: object
6997
+ properties:
6998
+ connectionMetadata:
6999
+ $ref: '#/components/schemas/webRtcConnectionMetadata'
7000
+ createEndpointRequestBase:
7001
+ type: object
7002
+ properties:
7003
+ type:
7004
+ $ref: '#/components/schemas/endpointTypeEnum'
7005
+ direction:
7006
+ $ref: '#/components/schemas/endpointDirectionEnum'
7007
+ eventCallbackUrl:
7008
+ type: string
7009
+ format: uri
7010
+ description: The URL to send event callbacks to.
7011
+ example: https://myapp.com/callback
7012
+ eventFallbackUrl:
7013
+ type: string
7014
+ format: uri
7015
+ description: The URL to send event fallbacks to.
7016
+ example: https://fallback.myapp.com/callback
7017
+ tag:
7018
+ $ref: '#/components/schemas/endpointTag'
7019
+ required:
7020
+ - type
7021
+ - direction
7022
+ createEndpointRequest:
7023
+ oneOf:
7024
+ - $ref: '#/components/schemas/createWebRtcConnectionRequest'
7025
+ discriminator:
7026
+ propertyName: type
7027
+ mapping:
7028
+ WEBRTC: '#/components/schemas/createWebRtcConnectionRequest'
7029
+ createEndpointResponseData:
7030
+ allOf:
7031
+ - $ref: '#/components/schemas/endpoint'
7032
+ - type: object
7033
+ properties:
7034
+ token:
7035
+ $ref: '#/components/schemas/endpointToken'
7036
+ required:
7037
+ - token
7038
+ endpointEventTypeEnum:
7039
+ type: string
7040
+ enum:
7041
+ - DEVICE_CONNECTED
7042
+ - DEVICE_DISCONNECTED
7043
+ endpointEvent:
7044
+ description: An event that occurred on an endpoint.
7045
+ allOf:
7046
+ - $ref: '#/components/schemas/endpoints'
7047
+ - type: object
7048
+ properties:
7049
+ eventTime:
7050
+ type: string
7051
+ format: date-time
7052
+ description: The time the event occurred. In ISO-8601 format.
7053
+ example: '2021-01-01T00:00:00Z'
7054
+ eventType:
7055
+ $ref: '#/components/schemas/endpointEventTypeEnum'
7056
+ device:
7057
+ $ref: '#/components/schemas/device'
7058
+ required:
7059
+ - eventType
7060
+ - eventTime
7061
+ brtcLink:
7062
+ type: object
7063
+ properties:
7064
+ href:
7065
+ type: string
7066
+ description: The full URL of the link.
7067
+ example: >-
7068
+ https://api.bandwidth.com/v2/accounts/5500123/endpoints/e-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85
7069
+ rel:
7070
+ type: string
7071
+ description: The relationship of the link to the current resource.
7072
+ example: self
7073
+ method:
7074
+ type: string
7075
+ description: The HTTP method to use when making the request.
7076
+ example: GET
7077
+ page:
7078
+ type: object
7079
+ properties:
7080
+ pageSize:
7081
+ type: integer
7082
+ description: The number of items per page.
7083
+ minimum: 0
7084
+ example: 10
7085
+ totalElements:
7086
+ type: integer
7087
+ description: The total number of items.
7088
+ minimum: 0
7089
+ example: 100
7090
+ totalPages:
7091
+ type: integer
7092
+ description: The total number of pages.
7093
+ minimum: 0
7094
+ example: 10
7095
+ pageNumber:
7096
+ type: integer
7097
+ description: The current page number.
7098
+ minimum: 0
7099
+ example: 0
7100
+ required:
7101
+ - pageSize
7102
+ brtcError:
7103
+ type: object
7104
+ properties:
7105
+ id:
7106
+ type: string
7107
+ format: uuid
7108
+ description: A unique identifier for the error.
7109
+ example: 59512d87-7a92-4040-8e4a-78fb772019b9
7110
+ type:
7111
+ type: string
7112
+ description: The type of error.
7113
+ example: resource.not_found
7114
+ description:
7115
+ type: string
7116
+ description: A description of the error.
7117
+ example: The requested resource was not found.
7118
+ code:
7119
+ type: string
7120
+ description: A code that uniquely identifies the error.
7121
+ example: '404'
7122
+ source:
7123
+ $ref: '#/components/schemas/brtcErrorSource'
7124
+ required:
7125
+ - type
7126
+ - description
7127
+ brtcErrorSource:
7128
+ type: object
7129
+ properties:
7130
+ parameter:
7131
+ type: string
7132
+ description: The URI parameter that caused the error.
7133
+ example: accountId
7134
+ field:
7135
+ type: string
7136
+ description: The request body field that caused the error.
7137
+ example: accountId
7138
+ header:
7139
+ type: string
7140
+ description: The header that caused the error.
7141
+ example: Authorization
7142
+ reference:
7143
+ type: string
7144
+ description: >-
7145
+ The resource ID or path to the resource (or non-existent resource)
7146
+ causing the error.
7147
+ example: e-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85
7148
+ listEndpointsResponse:
7149
+ type: object
7150
+ properties:
7151
+ links:
7152
+ type: array
7153
+ items:
7154
+ $ref: '#/components/schemas/brtcLink'
7155
+ page:
7156
+ $ref: '#/components/schemas/page'
7157
+ data:
7158
+ type: array
7159
+ items:
7160
+ $ref: '#/components/schemas/endpoints'
7161
+ errors:
7162
+ type: array
7163
+ items:
7164
+ $ref: '#/components/schemas/brtcError'
7165
+ required:
7166
+ - links
7167
+ - data
7168
+ - errors
7169
+ endpointResponse:
7170
+ type: object
7171
+ properties:
7172
+ links:
7173
+ type: array
7174
+ items:
7175
+ $ref: '#/components/schemas/brtcLink'
7176
+ data:
7177
+ $ref: '#/components/schemas/endpoint'
7178
+ errors:
7179
+ type: array
7180
+ items:
7181
+ $ref: '#/components/schemas/brtcError'
7182
+ required:
7183
+ - links
7184
+ - data
7185
+ - errors
7186
+ createEndpointResponse:
7187
+ type: object
7188
+ properties:
7189
+ links:
7190
+ type: array
7191
+ items:
7192
+ $ref: '#/components/schemas/brtcLink'
7193
+ data:
7194
+ $ref: '#/components/schemas/createEndpointResponseData'
7195
+ errors:
7196
+ type: array
7197
+ items:
7198
+ $ref: '#/components/schemas/brtcError'
7199
+ required:
7200
+ - links
7201
+ - data
7202
+ - errors
7203
+ brtcErrorResponse:
7204
+ type: object
7205
+ properties:
7206
+ links:
7207
+ type: array
7208
+ items:
7209
+ $ref: '#/components/schemas/brtcLink'
7210
+ data:
7211
+ type: object
7212
+ nullable: true
7213
+ additionalProperties: false
7214
+ errors:
7215
+ type: array
7216
+ items:
7217
+ $ref: '#/components/schemas/brtcError'
7218
+ required:
7219
+ - links
7220
+ - data
7221
+ - errors
6690
7222
  responses:
6691
7223
  createMessageResponse:
6692
7224
  description: Accepted
@@ -7361,6 +7893,114 @@ components:
7361
7893
  type: Service Unavailable
7362
7894
  verifyPutResponse:
7363
7895
  description: Accepted
7896
+ listEndpointsResponse:
7897
+ description: OK
7898
+ content:
7899
+ application/json:
7900
+ schema:
7901
+ $ref: '#/components/schemas/listEndpointsResponse'
7902
+ examples:
7903
+ listEndpointsResponseExample:
7904
+ $ref: '#/components/examples/listEndpointsResponseExample'
7905
+ createEndpointResponse:
7906
+ description: Created
7907
+ content:
7908
+ application/json:
7909
+ schema:
7910
+ $ref: '#/components/schemas/createEndpointResponse'
7911
+ examples:
7912
+ createEndpointResponseExample:
7913
+ $ref: '#/components/examples/createEndpointResponseExample'
7914
+ getEndpointResponse:
7915
+ description: OK
7916
+ content:
7917
+ application/json:
7918
+ schema:
7919
+ $ref: '#/components/schemas/endpointResponse'
7920
+ examples:
7921
+ getEndpointResponseExample:
7922
+ $ref: '#/components/examples/getEndpointResponseExample'
7923
+ badRequestErrorResponse:
7924
+ description: Bad Request
7925
+ content:
7926
+ application/json:
7927
+ schema:
7928
+ $ref: '#/components/schemas/brtcErrorResponse'
7929
+ examples:
7930
+ badRequestErrorExample:
7931
+ $ref: '#/components/examples/badRequestErrorExample'
7932
+ unauthorizedErrorResponse:
7933
+ description: Unauthorized
7934
+ content:
7935
+ application/json:
7936
+ schema:
7937
+ $ref: '#/components/schemas/brtcErrorResponse'
7938
+ examples:
7939
+ unauthorizedErrorExample:
7940
+ $ref: '#/components/examples/unauthorizedErrorExample'
7941
+ forbiddenErrorResponse:
7942
+ description: Forbidden
7943
+ content:
7944
+ application/json:
7945
+ schema:
7946
+ $ref: '#/components/schemas/brtcErrorResponse'
7947
+ examples:
7948
+ forbiddenErrorExample:
7949
+ $ref: '#/components/examples/forbiddenErrorExample'
7950
+ notFoundErrorResponse:
7951
+ description: Not Found
7952
+ content:
7953
+ application/json:
7954
+ schema:
7955
+ $ref: '#/components/schemas/brtcErrorResponse'
7956
+ examples:
7957
+ notFoundErrorExample:
7958
+ $ref: '#/components/examples/notFoundErrorExample'
7959
+ methodNotAllowedErrorResponse:
7960
+ description: Method Not Allowed
7961
+ content:
7962
+ application/json:
7963
+ schema:
7964
+ $ref: '#/components/schemas/brtcErrorResponse'
7965
+ examples:
7966
+ methodNotAllowedErrorExample:
7967
+ $ref: '#/components/examples/methodNotAllowedErrorExample'
7968
+ unsupportedMediaTypeErrorResponse:
7969
+ description: Unsupported Media Type
7970
+ content:
7971
+ application/json:
7972
+ schema:
7973
+ $ref: '#/components/schemas/brtcErrorResponse'
7974
+ examples:
7975
+ unsuppotedMediaTypeErrorExample:
7976
+ $ref: '#/components/examples/unsupportedMediaTypeErrorExample'
7977
+ tooManyRequestsErrorResponse:
7978
+ description: Too Many Requests
7979
+ headers:
7980
+ Retry-After:
7981
+ description: >-
7982
+ The number of seconds the client should wait before making another
7983
+ request.
7984
+ required: true
7985
+ schema:
7986
+ type: integer
7987
+ example: 900
7988
+ content:
7989
+ application/json:
7990
+ schema:
7991
+ $ref: '#/components/schemas/brtcErrorResponse'
7992
+ examples:
7993
+ tooManyRequestsErrorExample:
7994
+ $ref: '#/components/examples/tooManyRequestsErrorExample'
7995
+ serviceUnavailableErrorResponse:
7996
+ description: Service Unavailable
7997
+ content:
7998
+ application/json:
7999
+ schema:
8000
+ $ref: '#/components/schemas/brtcErrorResponse'
8001
+ examples:
8002
+ serviceUnavailableErrorExample:
8003
+ $ref: '#/components/examples/serviceUnavailableErrorExample'
7364
8004
  parameters:
7365
8005
  accountId:
7366
8006
  in: path
@@ -7860,6 +8500,45 @@ components:
7860
8500
  type: string
7861
8501
  description: Webhook subscription ID
7862
8502
  example: 7bt57JcsVYJrN9K1OcV1Nu
8503
+ endpointId:
8504
+ name: endpointId
8505
+ in: path
8506
+ required: true
8507
+ schema:
8508
+ type: string
8509
+ example: e-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85
8510
+ description: BRTC Endpoint ID.
8511
+ endpointType:
8512
+ name: type
8513
+ in: query
8514
+ schema:
8515
+ $ref: '#/components/schemas/endpointTypeEnum'
8516
+ description: The type of endpoint.
8517
+ endpointStatus:
8518
+ name: status
8519
+ in: query
8520
+ schema:
8521
+ $ref: '#/components/schemas/endpointStatusEnum'
8522
+ description: The status of the endpoint.
8523
+ afterCursor:
8524
+ name: afterCursor
8525
+ in: query
8526
+ schema:
8527
+ type: string
8528
+ example: TWF5IHRoZSBmb3JjZSBiZSB3aXRoIHlvdQ==
8529
+ description: >-
8530
+ The cursor to use for pagination. This is the value of the `next` link
8531
+ in the previous response.
8532
+ limit1:
8533
+ name: limit
8534
+ in: query
8535
+ schema:
8536
+ type: integer
8537
+ minimum: 1
8538
+ maximum: 1000
8539
+ default: 100
8540
+ example: 2
8541
+ description: The maximum number of endpoints to return in the response.
7863
8542
  examples:
7864
8543
  smsMessageReceivedCallbackExample:
7865
8544
  summary: An example of a sms message-received callback body.
@@ -8092,6 +8771,13 @@ components:
8092
8771
  phoneNumbers:
8093
8772
  - '+19196104423'
8094
8773
  - '+19196104424'
8774
+ rcsAgentRequestExample:
8775
+ summary: Number Lookup Request with Custom RCS Agent
8776
+ value:
8777
+ phoneNumbers:
8778
+ - '+19196104423'
8779
+ - '+19196104424'
8780
+ rcsAgent: MyCustomRcsAgent
8095
8781
  lookupAcceptedExample:
8096
8782
  summary: Numbers Lookup Accepted
8097
8783
  value:
@@ -8342,6 +9028,205 @@ components:
8342
9028
  Unexpected error. Please contact Bandwidth Support if your
8343
9029
  requests are receiving this status code for an extended period of
8344
9030
  time.
9031
+ listEndpointsResponseExample:
9032
+ summary: List Endpoints Paginated Response
9033
+ value:
9034
+ links:
9035
+ - href: >-
9036
+ https://api.bandwidth.com/v2/accounts/5500123/endpoints?type=SIP&status=CONNECTED&limit=2
9037
+ rel: self
9038
+ method: GET
9039
+ - href: >-
9040
+ https://api.bandwidth.com/v2/accounts/5500123/endpoints?type=SIP&status=CONNECTED&limit=2&afterCursor=TWF5IHRoZSBmb3JjZSBiZSB3aXRoIHlvdQ==
9041
+ rel: next
9042
+ method: GET
9043
+ page:
9044
+ pageSize: 2
9045
+ totalElements: 10
9046
+ totalPages: 5
9047
+ pageNumber: 0
9048
+ data:
9049
+ - endpointId: e-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85
9050
+ type: WEBRTC
9051
+ status: CONNECTED
9052
+ creationTimestamp: '2021-01-01T00:00:00Z'
9053
+ expirationTimestamp: '2021-01-02T00:00:00Z'
9054
+ tag: my-tag
9055
+ - endpointId: e-2cb0-4a07-b215-b22865662d85-15ac29a2-1331029c
9056
+ type: WEBRTC
9057
+ status: CONNECTED
9058
+ creationTimestamp: '2021-01-01T00:00:00Z'
9059
+ expirationTimestamp: '2021-01-02T00:00:00Z'
9060
+ tag: my-tag
9061
+ errors: []
9062
+ createEndpointResponseExample:
9063
+ summary: Create Endpoint Response
9064
+ value:
9065
+ links:
9066
+ - href: >-
9067
+ https://api.bandwidth.com/v2/accounts/5500123/endpoints/e-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85
9068
+ rel: endpoint
9069
+ method: GET
9070
+ data:
9071
+ endpointId: e-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85
9072
+ token: xxxxx.yyyyy.zzzzz
9073
+ type: WEBRTC
9074
+ status: CONNECTED
9075
+ creationTimestamp: '2021-01-01T00:00:00Z'
9076
+ expirationTimestamp: '2021-01-02T00:00:00Z'
9077
+ devices: []
9078
+ tag: my-tag
9079
+ errors: []
9080
+ getEndpointResponseExample:
9081
+ summary: Get Endpoint Response
9082
+ value:
9083
+ links:
9084
+ - href: >-
9085
+ https://api.bandwidth.com/v2/accounts/5500123/endpoints/e-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85
9086
+ rel: self
9087
+ method: GET
9088
+ data:
9089
+ endpointId: e-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85
9090
+ type: WEBRTC
9091
+ status: CONNECTED
9092
+ creationTimestamp: '2021-01-01T00:00:00Z'
9093
+ expirationTimestamp: '2021-01-02T00:00:00Z'
9094
+ devices: []
9095
+ tag: my-tag
9096
+ errors: []
9097
+ createSipEndpointRequestExample:
9098
+ summary: SIP Endpoint Example
9099
+ value:
9100
+ type: SIP
9101
+ connectionMetadata:
9102
+ ipAddress: 0.0.0.0
9103
+ port: 3000
9104
+ credentials:
9105
+ username: username
9106
+ password: '********'
9107
+ uuiHeader: 123456;encoding=jwt
9108
+ direction: INBOUND
9109
+ eventCallbackUrl: https://myEventCallbackUrl.com/callbacks/bandwidth
9110
+ eventFallbackUrl: https://fallback.myEventCallbackUrl.com/callbacks/bandwidth
9111
+ tag: '{"myTag": "myTagValue"}'
9112
+ createWeRtcEndpointExample:
9113
+ summary: WebRTC Endpoint Example
9114
+ value:
9115
+ type: WEBRTC
9116
+ direction: BIDIRECTIONAL
9117
+ eventCallbackUrl: https://myEventCallbackUrl.com/callbacks/bandwidth
9118
+ eventFallbackUrl: https://fallback.myEventCallbackUrl.com/callbacks/bandwidth
9119
+ tag: '{"myTag": "myTagValue"}'
9120
+ updateEndpointBxmlRequestExample:
9121
+ summary: Update Endpoint BXML Request Example
9122
+ value: <Bxml><StartRecording /></Bxml>
9123
+ endpointDisconnectedEventExample:
9124
+ summary: Endpoint Disconnected Event
9125
+ value:
9126
+ endpointId: e-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85
9127
+ type: WEBRTC
9128
+ status: DISCONNECTED
9129
+ creationTimestamp: '2021-01-01T00:00:00Z'
9130
+ expirationTimestamp: '2021-01-02T00:00:00Z'
9131
+ eventTime: '2021-01-01T00:00:00Z'
9132
+ eventType: DEVICE_DISCONNECTED
9133
+ tag: my-tag
9134
+ badRequestErrorExample:
9135
+ summary: Bad Request Error Example
9136
+ value:
9137
+ links: []
9138
+ data: null
9139
+ errors:
9140
+ - id: 59512d87-7a92-4040-8e4a-78fb772019b9
9141
+ type: invalid_parameter
9142
+ description: accountId must not contain any characters other than numbers.
9143
+ code: '400'
9144
+ source:
9145
+ parameter: accountId
9146
+ unauthorizedErrorExample:
9147
+ summary: Unauthorized Error Example
9148
+ value:
9149
+ links: []
9150
+ data: null
9151
+ errors:
9152
+ - id: 59512d87-7a92-4040-8e4a-78fb772019b9
9153
+ type: unauthorized
9154
+ description: >-
9155
+ The provided credentials are not authorized to access this
9156
+ resource.
9157
+ code: '401'
9158
+ source:
9159
+ header: Authorization
9160
+ forbiddenErrorExample:
9161
+ summary: Forbidden Error Example
9162
+ value:
9163
+ links: []
9164
+ data: null
9165
+ errors:
9166
+ - id: 59512d87-7a92-4040-8e4a-78fb772019b9
9167
+ type: forbidden
9168
+ description: >-
9169
+ The provided credentials are not authorized to access this
9170
+ resource.
9171
+ code: '403'
9172
+ source:
9173
+ header: Authorization
9174
+ notFoundErrorExample:
9175
+ summary: Not Found Error Example
9176
+ value:
9177
+ links: []
9178
+ data: null
9179
+ errors:
9180
+ - id: 59512d87-7a92-4040-8e4a-78fb772019b9
9181
+ type: resource_not_found
9182
+ description: The requested resource was not found.
9183
+ code: '404'
9184
+ source:
9185
+ reference: e-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85
9186
+ methodNotAllowedErrorExample:
9187
+ summary: Method Not Allowed Error Example
9188
+ value:
9189
+ links: []
9190
+ data: null
9191
+ errors:
9192
+ - id: 59512d87-7a92-4040-8e4a-78fb772019b9
9193
+ type: method_not_allowed
9194
+ description: The requested method is not allowed on this resource.
9195
+ code: '405'
9196
+ source:
9197
+ parameter: accountId
9198
+ unsupportedMediaTypeErrorExample:
9199
+ summary: Unsupported Media Type Error Example
9200
+ value:
9201
+ links: []
9202
+ data: null
9203
+ errors:
9204
+ - id: 59512d87-7a92-4040-8e4a-78fb772019b9
9205
+ type: unsupported_media_type
9206
+ description: The provided media type is not supported.
9207
+ code: '415'
9208
+ source:
9209
+ header: Content-Type
9210
+ tooManyRequestsErrorExample:
9211
+ summary: Too Many Requests Error Example
9212
+ value:
9213
+ links: []
9214
+ data: null
9215
+ errors:
9216
+ - type: too_many_endpoints
9217
+ description: >-
9218
+ Too many endpoints. Please delete an existing endpoint or wait 24
9219
+ hours for an endpoint to be removed.
9220
+ serviceUnavailableErrorExample:
9221
+ summary: Service Unavailable Error Example
9222
+ value:
9223
+ links: []
9224
+ data: null
9225
+ errors:
9226
+ - id: 59512d87-7a92-4040-8e4a-78fb772019b9
9227
+ type: service_unavailable
9228
+ description: The service is currently unavailable.
9229
+ code: '500'
8345
9230
  requestBodies:
8346
9231
  createMessageRequest:
8347
9232
  content:
@@ -8653,6 +9538,8 @@ components:
8653
9538
  $ref: '#/components/examples/singleNumberRequestExample'
8654
9539
  multipleNumberRequestExample:
8655
9540
  $ref: '#/components/examples/multipleNumberRequestExample'
9541
+ rcsAgentRequestExample:
9542
+ $ref: '#/components/examples/rcsAgentRequestExample'
8656
9543
  createAsyncBulkLookupRequest:
8657
9544
  description: Asynchronous bulk phone number lookup request.
8658
9545
  required: true
@@ -8697,6 +9584,30 @@ components:
8697
9584
  application/json:
8698
9585
  schema:
8699
9586
  $ref: '#/components/schemas/webhookSubscriptionRequestSchema'
9587
+ createEndpointRequest:
9588
+ required: true
9589
+ content:
9590
+ application/json:
9591
+ schema:
9592
+ $ref: '#/components/schemas/createEndpointRequest'
9593
+ examples:
9594
+ createWebRtcEndpointRequestExample:
9595
+ $ref: '#/components/examples/createWeRtcEndpointExample'
9596
+ updateEndpointBxmlRequest:
9597
+ required: true
9598
+ content:
9599
+ application/xml:
9600
+ schema:
9601
+ type: string
9602
+ description: >-
9603
+ The BXML document to update the endpoint with. This BXML document
9604
+ will be executed against the endpoint when it is updated.
9605
+
9606
+ For more information, please refer to our [BXML
9607
+ documentation](/docs/voice/bxml/).
9608
+ examples:
9609
+ updateEndpointBxmlRequestExample:
9610
+ $ref: '#/components/examples/updateEndpointBxmlRequestExample'
8700
9611
  securitySchemes:
8701
9612
  Basic:
8702
9613
  type: http
@@ -8723,12 +9634,12 @@ components:
8723
9634
  required: true
8724
9635
  description: >-
8725
9636
  <p>This Inbound Message Webhook is an envelope containing either a
8726
- received (MO) message to your
9637
+ received (MO) message to your
8727
9638
 
8728
9639
  message-enabled Bandwidth telephone number or a multichannel
8729
- client's response to a suggestion response
9640
+ client's response to a suggestion response
8730
9641
 
8731
- or location request.
9642
+ or location request.
8732
9643
 
8733
9644
  <p>The payload type will be one of <code>message-received</code>,
8734
9645
  <code>suggestion-response</code>, or
@@ -8830,3 +9741,17 @@ components:
8830
9741
  $ref: '#/components/responses/tfvServerErrorResponse'
8831
9742
  '503':
8832
9743
  $ref: '#/components/responses/tfvServiceUnavailableResponse'
9744
+ endpointEvent:
9745
+ '{request.body#/eventCallbackUrl}':
9746
+ post:
9747
+ requestBody:
9748
+ content:
9749
+ application/json:
9750
+ schema:
9751
+ $ref: '#/components/schemas/endpointEvent'
9752
+ examples:
9753
+ endpointDisconnectedEventExample:
9754
+ $ref: '#/components/examples/endpointDisconnectedEventExample'
9755
+ responses:
9756
+ '204':
9757
+ description: Event was successfully received.