This Inbound Message Webhook is an envelope containing a received (MO) message to your message-enabled Bandwidth telephone number. The payload type will always indicate "message-received".
-
This Inbound Message Webhook is an envelope containing\
+ \ either a received (MO) message to your \nmessage-enabled Bandwidth\
+ \ telephone number or a multichannel client's response to a suggestion\
+ \ response \nor location request. \n
The payload type will be one\
+ \ of message-received, suggestion-response,\
+ \ or location-request-response.\n
Note that suggestion-response\
+ \ and location-request-response callback types are pertinent\
+ \ only for RBM messages sent from the /messages/multiChannel\
+ \ endpoint.\n
This Outbound Message Webhook is an envelope containing status information regarding a message sent (MT) from your message-enabled Bandwidth telephone number. The payload type will be one of "message-sending", "message-delivered", or "message-failed".
+ $ref: '#/components/schemas/statusCallback'
+ description: |-
+
This Outbound Message Webhook is an envelope containing status information regarding a message sent (MT)
+ from your message-enabled Bandwidth telephone number.
+
The payload type will be one of message-sending, message-delivered, message-failed or message-read.
+
Note that message-read callbacks are pertinent only for RBM messages sent from the /messages/multiChannel endpoint.
required: true
responses:
"200":
description: OK
- multiChannelMessageCallback:
- '{multiChannelMessageCallbackUrl}':
- post:
- requestBody:
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/multiChannelCallbackData'
- description: Status Callback Payload
- required: true
- responses:
- "204":
- description: No Content
+ "202":
+ description: Accepted
tfVerificationStatus:
your_url.com/webhookService:
post:
@@ -6760,6 +6929,12 @@ components:
schema:
$ref: '#/components/schemas/messagingRequestError'
description: Not Found
+ messagingMethodNotAllowedError:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/messagingRequestError'
+ description: Method Not Allowed
messagingInvalidMediaTypeError:
content:
application/json:
@@ -6778,6 +6953,117 @@ components:
schema:
$ref: '#/components/schemas/messagingRequestError'
description: Internal Server Error
+ multiChannelBadRequestError:
+ content:
+ application/json:
+ example:
+ links: []
+ data: null
+ errors:
+ - type: request-validation
+ description: "The 'channelList[0].from' field must contain exactly one\
+ \ telephone number"
+ source:
+ field: "channelList[0].from"
+ schema:
+ $ref: '#/components/schemas/multiChannelError'
+ description: Bad Request
+ multiChannelNotAcceptableError:
+ description: Not Acceptable
+ multiChannelUnauthorizedError:
+ content:
+ application/json:
+ example:
+ links: []
+ data: null
+ errors:
+ - type: unauthorized
+ description: Authentication Failed
+ source: {}
+ schema:
+ $ref: '#/components/schemas/multiChannelError'
+ description: Unauthorized
+ multiChannelForbiddenError:
+ content:
+ application/json:
+ example:
+ links: []
+ data: null
+ errors:
+ - type: forbidden
+ description: Access Denied
+ source: {}
+ schema:
+ $ref: '#/components/schemas/multiChannelError'
+ description: Forbidden
+ multiChannelNotFoundError:
+ content:
+ application/json:
+ example:
+ links: []
+ data: null
+ errors:
+ - type: forbidden
+ description: Resource not found.
+ source: {}
+ schema:
+ $ref: '#/components/schemas/multiChannelError'
+ description: Not Found
+ multiChannelMethodNotAllowedError:
+ content:
+ application/json:
+ example:
+ links: []
+ data: null
+ errors:
+ - type: method-not-allowed
+ description: Method 'PUT' not supported for this resource.
+ source: {}
+ schema:
+ $ref: '#/components/schemas/multiChannelError'
+ description: Method Not Allowed
+ multiChannelInvalidMediaTypeError:
+ content:
+ application/json:
+ example:
+ links: []
+ data: null
+ errors:
+ - type: unsupported-content-type
+ description: Content-Type 'application/xml;charset=UTF-8' is not supported.
+ Please use 'application/json'
+ source:
+ header: Content-Type
+ schema:
+ $ref: '#/components/schemas/multiChannelError'
+ description: Unsupported Media Type
+ multiChannelTooManyRequestsError:
+ content:
+ application/json:
+ example:
+ links: []
+ data: null
+ errors:
+ - type: rate-limit-exceeded
+ description: You have exceeded your rate limit for this endpoint. Please
+ retry later.
+ source: {}
+ schema:
+ $ref: '#/components/schemas/multiChannelError'
+ description: Too Many Requests
+ multiChannelInternalServerError:
+ content:
+ application/json:
+ example:
+ links: []
+ data: null
+ errors:
+ - type: internal-server-error
+ description: Internal server error. No further information available
+ source: {}
+ schema:
+ $ref: '#/components/schemas/multiChannelError'
+ description: Internal Server Error
createCallResponse:
content:
application/json:
@@ -7175,6 +7461,8 @@ components:
schema:
$ref: '#/components/schemas/tfvError'
description: Bad Request
+ noContentResponse:
+ description: No Content
tfvPostBadRequestResponse:
content:
application/json:
@@ -7256,20 +7544,10 @@ components:
with in the Bandwidth Phone Number Dashboard.
example: 93de2206-9669-4e07-948d-329f4b722ee2
type: string
- callbackTypeEnum:
- description: |
- Indicates the type of the callback:
- - `message-received` for inbound callbacks.
- - One of `message-sending`, `message-delivered`, `message-failed` for status callbacks.
- enum:
- - message-received
- - message-sending
- - message-delivered
- - message-failed
- example: message-delivered
- type: string
priorityEnum:
- description: The priority specified by the user.
+ description: "Specifies the message's sending priority with respect to other\
+ \ messages in your account. For best results and optimal throughput, reserve\
+ \ the 'high' priority setting for critical messages only."
enum:
- default
- high
@@ -7426,7 +7704,8 @@ components:
messageType:
$ref: '#/components/schemas/messageTypeEnum'
segmentCount:
- description: The number of segments the message was sent as.
+ description: The number of segments the user's message is broken into before
+ sending over carrier networks.
example: 1
type: integer
errorCode:
@@ -7557,20 +7836,17 @@ components:
type: string
title: Media
type: object
+ segmentCount:
+ description: The number of segments the user's message is broken into before
+ sending over carrier networks.
+ example: 1
+ type: integer
tag:
description: A custom string that will be included in callback events of the
message. Max 1024 characters.
example: custom string
title: Tag
type: string
- deferredResult:
- properties:
- result:
- type: object
- setOrExpired:
- type: boolean
- title: DeferredResult
- type: object
expiration:
description: "A string with the date/time value that the message will automatically\
\ expire by. This must be a valid RFC-3339 value, e.g., 2021-03-14T01:59:26Z\
@@ -7578,13 +7854,19 @@ components:
example: 2021-02-01T11:29:18-05:00
format: date-time
type: string
+ carrierName:
+ description: "The name of the Authorized Message Provider (AMP) that handled\
+ \ this message. \nIn the US, this is the carrier that the message was sent\
+ \ to.\nThis field is present only when this account feature has been enabled."
+ example: AT&T
+ type: string
message:
example:
owner: "+15554443333"
media:
- https://dev.bandwidth.com/images/bandwidth-logo.png
priority: default
- segmentCount: 2
+ segmentCount: 1
from: "+15553332222"
expiration: 2021-02-01T11:29:18-05:00
id: 1589228074636lm4k2je7j7jklbn2
@@ -7592,7 +7874,7 @@ components:
to:
- "+15552223333"
text: Hello world
- tag: custom tag
+ tag: custom string
applicationId: 93de2206-9669-4e07-948d-329f4b722ee2
direction: in
properties:
@@ -7605,7 +7887,8 @@ components:
example: "+15554443333"
type: string
applicationId:
- description: The application ID associated with the message.
+ description: The ID of the Application your from number or senderId is associated
+ with in the Bandwidth Phone Number Dashboard.
example: 93de2206-9669-4e07-948d-329f4b722ee2
type: string
time:
@@ -7614,9 +7897,9 @@ components:
format: date-time
type: string
segmentCount:
- description: The number of segments the original message from the user is
- broken into before sending over to carrier networks.
- example: 2
+ description: The number of segments the user's message is broken into before
+ sending over carrier networks.
+ example: 1
type: integer
direction:
$ref: '#/components/schemas/messageDirectionEnum'
@@ -7648,8 +7931,10 @@ components:
example: Hello world
type: string
tag:
- description: The custom string set by the user.
- example: custom tag
+ description: A custom string that will be included in callback events of
+ the message. Max 1024 characters.
+ example: custom string
+ title: Tag
type: string
priority:
$ref: '#/components/schemas/priorityEnum'
@@ -7665,8 +7950,8 @@ components:
messageRequest:
properties:
applicationId:
- description: The ID of the Application your from number is associated with
- in the Bandwidth Phone Number Dashboard.
+ description: The ID of the Application your from number or senderId is associated
+ with in the Bandwidth Phone Number Dashboard.
example: 93de2206-9669-4e07-948d-329f4b722ee2
type: string
to:
@@ -7747,50 +8032,232 @@ components:
createMultiChannelMessageResponse:
example:
data:
- channel: RBM
+ channelList:
+ - owner: owner
+ channel: RBM
+ from: BandwidthRBM
+ applicationId: 93de2206-9669-4e07-948d-329f4b722ee2
+ content:
+ suggestions:
+ - postbackData: !!binary |-
+ U0dWc2JHOGdkMjl5YkdRPQ==
+ text: Hello world
+ type: REPLY
+ - postbackData: !!binary |-
+ U0dWc2JHOGdkMjl5YkdRPQ==
+ text: Hello world
+ type: REPLY
+ - postbackData: !!binary |-
+ U0dWc2JHOGdkMjl5YkdRPQ==
+ text: Hello world
+ type: REPLY
+ - postbackData: !!binary |-
+ U0dWc2JHOGdkMjl5YkdRPQ==
+ text: Hello world
+ type: REPLY
+ - postbackData: !!binary |-
+ U0dWc2JHOGdkMjl5YkdRPQ==
+ text: Hello world
+ type: REPLY
+ text: Hello world
+ - owner: owner
+ channel: RBM
+ from: BandwidthRBM
+ applicationId: 93de2206-9669-4e07-948d-329f4b722ee2
+ content:
+ suggestions:
+ - postbackData: !!binary |-
+ U0dWc2JHOGdkMjl5YkdRPQ==
+ text: Hello world
+ type: REPLY
+ - postbackData: !!binary |-
+ U0dWc2JHOGdkMjl5YkdRPQ==
+ text: Hello world
+ type: REPLY
+ - postbackData: !!binary |-
+ U0dWc2JHOGdkMjl5YkdRPQ==
+ text: Hello world
+ type: REPLY
+ - postbackData: !!binary |-
+ U0dWc2JHOGdkMjl5YkdRPQ==
+ text: Hello world
+ type: REPLY
+ - postbackData: !!binary |-
+ U0dWc2JHOGdkMjl5YkdRPQ==
+ text: Hello world
+ type: REPLY
+ text: Hello world
+ - owner: owner
+ channel: RBM
+ from: BandwidthRBM
+ applicationId: 93de2206-9669-4e07-948d-329f4b722ee2
+ content:
+ suggestions:
+ - postbackData: !!binary |-
+ U0dWc2JHOGdkMjl5YkdRPQ==
+ text: Hello world
+ type: REPLY
+ - postbackData: !!binary |-
+ U0dWc2JHOGdkMjl5YkdRPQ==
+ text: Hello world
+ type: REPLY
+ - postbackData: !!binary |-
+ U0dWc2JHOGdkMjl5YkdRPQ==
+ text: Hello world
+ type: REPLY
+ - postbackData: !!binary |-
+ U0dWc2JHOGdkMjl5YkdRPQ==
+ text: Hello world
+ type: REPLY
+ - postbackData: !!binary |-
+ U0dWc2JHOGdkMjl5YkdRPQ==
+ text: Hello world
+ type: REPLY
+ text: Hello world
+ - owner: owner
+ channel: RBM
+ from: BandwidthRBM
+ applicationId: 93de2206-9669-4e07-948d-329f4b722ee2
+ content:
+ suggestions:
+ - postbackData: !!binary |-
+ U0dWc2JHOGdkMjl5YkdRPQ==
+ text: Hello world
+ type: REPLY
+ - postbackData: !!binary |-
+ U0dWc2JHOGdkMjl5YkdRPQ==
+ text: Hello world
+ type: REPLY
+ - postbackData: !!binary |-
+ U0dWc2JHOGdkMjl5YkdRPQ==
+ text: Hello world
+ type: REPLY
+ - postbackData: !!binary |-
+ U0dWc2JHOGdkMjl5YkdRPQ==
+ text: Hello world
+ type: REPLY
+ - postbackData: !!binary |-
+ U0dWc2JHOGdkMjl5YkdRPQ==
+ text: Hello world
+ type: REPLY
+ text: Hello world
messageId: 1589228074636lm4k2je7j7jklbn2
- from: BandwidthRBM
+ expiration: 2021-02-01T11:29:18-05:00
time: 2025-01-01T18:20:16Z
- to: "+15552223333"
+ to:
+ - "+15554443333"
tag: custom string
- applicationId: 93de2206-9669-4e07-948d-329f4b722ee2
- status: DELIVERED
- direction: OUTBOUND
+ priority: default
+ direction: in
+ links: []
+ errors: []
+ properties:
links:
- - rel: rel
- href: href
- - rel: rel
- href: href
+ example: []
+ items:
+ $ref: '#/components/schemas/link'
+ type: array
+ data:
+ $ref: '#/components/schemas/multiChannelMessageResponseData'
errors:
- - code: code
- message: message
- - code: code
- message: message
+ example: []
+ items:
+ $ref: '#/components/schemas/errorObject'
+ type: array
+ type: object
+ multiChannelError:
+ example:
+ data: "{}"
+ links: []
+ errors:
+ - description: description
+ source:
+ reference: reference
+ field: field
+ parameter: parameter
+ header: header
+ type: type
+ - description: description
+ source:
+ reference: reference
+ field: field
+ parameter: parameter
+ header: header
+ type: type
properties:
links:
+ example: []
items:
$ref: '#/components/schemas/link'
type: array
data:
- $ref: '#/components/schemas/multiChannelMessageData'
+ nullable: true
+ type: object
+ example: null
errors:
items:
$ref: '#/components/schemas/errorObject'
type: array
type: object
- multiChannelMessageChannelEnum:
- description: The channel of the multi-channel message.
- enum:
- - RBM
- - SMS
- - MMS
- example: RBM
- type: string
- multiChannelMessageDirectionEnum:
+ link:
+ properties:
+ rel:
+ type: string
+ href:
+ type: string
+ type: object
+ errorObject:
+ example:
+ description: description
+ source:
+ reference: reference
+ field: field
+ parameter: parameter
+ header: header
+ type: type
+ properties:
+ type:
+ description: A concise summary of the error used for categorization.
+ type: string
+ description:
+ description: A detailed explanation of the error.
+ type: string
+ source:
+ $ref: '#/components/schemas/errorSource'
+ required:
+ - description
+ - source
+ - type
+ type: object
+ errorSource:
+ description: "Specifies relevant sources of the error, if any."
+ example:
+ reference: reference
+ field: field
+ parameter: parameter
+ header: header
+ properties:
+ parameter:
+ description: The relevant URI query parameter causing the error
+ type: string
+ field:
+ description: The request body field that led to the error
+ type: string
+ header:
+ description: The header field that contributed to the error
+ type: string
+ reference:
+ description: A resource ID or path linked to the error
+ type: string
+ title: Error Source
+ type: object
+ multiChannelMessageChannelEnum:
+ description: The channel of the multi-channel message.
enum:
- - INBOUND
- - OUTBOUND
- example: OUTBOUND
+ - RBM
+ - SMS
+ - MMS
+ example: RBM
type: string
multiChannelSenderId:
description: The sender ID of the message. This could be an alphanumeric sender
@@ -7801,7 +8268,38 @@ components:
description: The phone number the message should be sent to in E164 format.
example: "+15552223333"
type: string
+ multiChannelDestinations:
+ description: "The destination phone number(s) of the message, in E164 format."
+ example:
+ - "+15554443333"
+ items:
+ type: string
+ type: array
+ uniqueItems: true
rbmMessageContentText:
+ example:
+ suggestions:
+ - postbackData: !!binary |-
+ U0dWc2JHOGdkMjl5YkdRPQ==
+ text: Hello world
+ type: REPLY
+ - postbackData: !!binary |-
+ U0dWc2JHOGdkMjl5YkdRPQ==
+ text: Hello world
+ type: REPLY
+ - postbackData: !!binary |-
+ U0dWc2JHOGdkMjl5YkdRPQ==
+ text: Hello world
+ type: REPLY
+ - postbackData: !!binary |-
+ U0dWc2JHOGdkMjl5YkdRPQ==
+ text: Hello world
+ type: REPLY
+ - postbackData: !!binary |-
+ U0dWc2JHOGdkMjl5YkdRPQ==
+ text: Hello world
+ type: REPLY
+ text: Hello world
properties:
text:
description: The text associated with the message. Must be 3270 characters
@@ -7846,6 +8344,21 @@ components:
- fileUrl
title: RBM Rich Media File
type: object
+ mmsMessageContentFile:
+ properties:
+ fileUrl:
+ description: |-
+ The URL of a media attachment.
+
+ For MMS, the API limits file size to 3.5MB. Specific carriers and channels may have a smaller limit that could cause a large file to fail, see [here](https://support.bandwidth.com/hc/en-us/articles/360014235473-What-are-the-MMS-file-size-limits) for more details.
+ example: https://dev.bandwidth.com/images/bandwidth-logo.png
+ format: uri
+ maxLength: 1000
+ type: string
+ required:
+ - fileUrl
+ title: MMS Media File
+ type: object
rbmMessageMedia:
properties:
media:
@@ -7963,16 +8476,8 @@ components:
maxLength: 2048
type: string
media:
- description: |-
- A list of URLs to include as media attachments as part of the message.
- Each URL can be at most 4096 characters.
- example:
- - https://dev.bandwidth.com/images/bandwidth-logo.png
- - https://dev.bandwidth.com/images/github_logo.png
items:
- format: uri
- maxLength: 4096
- type: string
+ $ref: '#/components/schemas/mmsMessageContentFile'
type: array
title: MMS Message
type: object
@@ -7997,7 +8502,7 @@ components:
maxLength: 25
title: Text
type: string
- rbmActionPostBackData:
+ rbmActionPostbackData:
description: Base64 payload the customer receives when the reply is clicked.
example: !!binary |-
U0dWc2JHOGdkMjl5YkdRPQ==
@@ -8006,6 +8511,11 @@ components:
title: Post Back Data
type: string
rbmActionBase:
+ example:
+ postbackData: !!binary |-
+ U0dWc2JHOGdkMjl5YkdRPQ==
+ text: Hello world
+ type: REPLY
properties:
type:
$ref: '#/components/schemas/rbmActionTypeEnum'
@@ -8015,7 +8525,7 @@ components:
maxLength: 25
title: Text
type: string
- postBackData:
+ postbackData:
description: Base64 payload the customer receives when the reply is clicked.
example: !!binary |-
U0dWc2JHOGdkMjl5YkdRPQ==
@@ -8024,7 +8534,7 @@ components:
title: Post Back Data
type: string
required:
- - postBackData
+ - postbackData
- text
- type
type: object
@@ -8130,14 +8640,6 @@ components:
- $ref: '#/components/schemas/rbmActionViewLocation'
- $ref: '#/components/schemas/multiChannelActionCalendarEvent'
- $ref: '#/components/schemas/rbmActionOpenUrl'
- multiChannelStatusEnum:
- enum:
- - QUEUED
- - SENDING
- - DELIVERED
- - FAILED
- example: DELIVERED
- type: string
multiChannelChannelListObject:
properties:
from:
@@ -8194,155 +8696,304 @@ components:
- channelList
- to
type: object
- multiChannelMessageCallbackData:
- properties:
- messageId:
- description: The ID of the message.
- example: 1589228074636lm4k2je7j7jklbn2
- type: string
- status:
- $ref: '#/components/schemas/multiChannelStatusEnum'
- direction:
- $ref: '#/components/schemas/multiChannelMessageDirectionEnum'
- from:
- description: The sender ID of the message. This could be an alphanumeric
- sender ID.
- example: BandwidthRBM
- type: string
- to:
- description: The phone number the message should be sent to in E164 format.
- example: "+15552223333"
- type: string
- applicationId:
- description: The ID of the Application your from number or senderId is associated
- with in the Bandwidth Phone Number Dashboard.
- example: 93de2206-9669-4e07-948d-329f4b722ee2
- type: string
- channel:
- $ref: '#/components/schemas/multiChannelMessageChannelEnum'
- tag:
- description: A custom string that will be included in callback events of
- the message. Max 1024 characters.
- example: custom string
- title: Tag
- type: string
- type: object
- multiChannelMessageData:
+ multiChannelMessageResponseData:
+ description: The data returned in a multichannel message response.
example:
- channel: RBM
+ channelList:
+ - owner: owner
+ channel: RBM
+ from: BandwidthRBM
+ applicationId: 93de2206-9669-4e07-948d-329f4b722ee2
+ content:
+ suggestions:
+ - postbackData: !!binary |-
+ U0dWc2JHOGdkMjl5YkdRPQ==
+ text: Hello world
+ type: REPLY
+ - postbackData: !!binary |-
+ U0dWc2JHOGdkMjl5YkdRPQ==
+ text: Hello world
+ type: REPLY
+ - postbackData: !!binary |-
+ U0dWc2JHOGdkMjl5YkdRPQ==
+ text: Hello world
+ type: REPLY
+ - postbackData: !!binary |-
+ U0dWc2JHOGdkMjl5YkdRPQ==
+ text: Hello world
+ type: REPLY
+ - postbackData: !!binary |-
+ U0dWc2JHOGdkMjl5YkdRPQ==
+ text: Hello world
+ type: REPLY
+ text: Hello world
+ - owner: owner
+ channel: RBM
+ from: BandwidthRBM
+ applicationId: 93de2206-9669-4e07-948d-329f4b722ee2
+ content:
+ suggestions:
+ - postbackData: !!binary |-
+ U0dWc2JHOGdkMjl5YkdRPQ==
+ text: Hello world
+ type: REPLY
+ - postbackData: !!binary |-
+ U0dWc2JHOGdkMjl5YkdRPQ==
+ text: Hello world
+ type: REPLY
+ - postbackData: !!binary |-
+ U0dWc2JHOGdkMjl5YkdRPQ==
+ text: Hello world
+ type: REPLY
+ - postbackData: !!binary |-
+ U0dWc2JHOGdkMjl5YkdRPQ==
+ text: Hello world
+ type: REPLY
+ - postbackData: !!binary |-
+ U0dWc2JHOGdkMjl5YkdRPQ==
+ text: Hello world
+ type: REPLY
+ text: Hello world
+ - owner: owner
+ channel: RBM
+ from: BandwidthRBM
+ applicationId: 93de2206-9669-4e07-948d-329f4b722ee2
+ content:
+ suggestions:
+ - postbackData: !!binary |-
+ U0dWc2JHOGdkMjl5YkdRPQ==
+ text: Hello world
+ type: REPLY
+ - postbackData: !!binary |-
+ U0dWc2JHOGdkMjl5YkdRPQ==
+ text: Hello world
+ type: REPLY
+ - postbackData: !!binary |-
+ U0dWc2JHOGdkMjl5YkdRPQ==
+ text: Hello world
+ type: REPLY
+ - postbackData: !!binary |-
+ U0dWc2JHOGdkMjl5YkdRPQ==
+ text: Hello world
+ type: REPLY
+ - postbackData: !!binary |-
+ U0dWc2JHOGdkMjl5YkdRPQ==
+ text: Hello world
+ type: REPLY
+ text: Hello world
+ - owner: owner
+ channel: RBM
+ from: BandwidthRBM
+ applicationId: 93de2206-9669-4e07-948d-329f4b722ee2
+ content:
+ suggestions:
+ - postbackData: !!binary |-
+ U0dWc2JHOGdkMjl5YkdRPQ==
+ text: Hello world
+ type: REPLY
+ - postbackData: !!binary |-
+ U0dWc2JHOGdkMjl5YkdRPQ==
+ text: Hello world
+ type: REPLY
+ - postbackData: !!binary |-
+ U0dWc2JHOGdkMjl5YkdRPQ==
+ text: Hello world
+ type: REPLY
+ - postbackData: !!binary |-
+ U0dWc2JHOGdkMjl5YkdRPQ==
+ text: Hello world
+ type: REPLY
+ - postbackData: !!binary |-
+ U0dWc2JHOGdkMjl5YkdRPQ==
+ text: Hello world
+ type: REPLY
+ text: Hello world
messageId: 1589228074636lm4k2je7j7jklbn2
- from: BandwidthRBM
+ expiration: 2021-02-01T11:29:18-05:00
time: 2025-01-01T18:20:16Z
- to: "+15552223333"
+ to:
+ - "+15554443333"
tag: custom string
- applicationId: 93de2206-9669-4e07-948d-329f4b722ee2
- status: DELIVERED
- direction: OUTBOUND
+ priority: default
+ direction: in
properties:
messageId:
description: The ID of the message.
example: 1589228074636lm4k2je7j7jklbn2
type: string
- status:
- $ref: '#/components/schemas/multiChannelStatusEnum'
time:
description: The time the message was received by the Bandwidth API.
example: 2025-01-01T18:20:16Z
format: date-time
type: string
direction:
- $ref: '#/components/schemas/multiChannelMessageDirectionEnum'
- from:
- description: The sender ID of the message. This could be an alphanumeric
- sender ID.
- example: BandwidthRBM
- type: string
+ $ref: '#/components/schemas/messageDirectionEnum'
to:
- description: The phone number the message should be sent to in E164 format.
- example: "+15552223333"
- type: string
- applicationId:
- description: The ID of the Application your from number or senderId is associated
- with in the Bandwidth Phone Number Dashboard.
- example: 93de2206-9669-4e07-948d-329f4b722ee2
- type: string
- channel:
- $ref: '#/components/schemas/multiChannelMessageChannelEnum'
+ description: "The destination phone number(s) of the message, in E164 format."
+ example:
+ - "+15554443333"
+ items:
+ type: string
+ type: array
+ uniqueItems: true
+ channelList:
+ description: "A list of message bodies. The messages will be attempted in\
+ \ the order they are listed. Once a message sends successfully, the others\
+ \ will be ignored."
+ items:
+ $ref: '#/components/schemas/multiChannelMessageResponseData_channelList_inner'
+ maxItems: 4
+ type: array
tag:
description: A custom string that will be included in callback events of
the message. Max 1024 characters.
example: custom string
title: Tag
type: string
- type: object
- multiChannelCallbackData:
- properties:
- time:
- description: The time of the callback event.
- example: 2025-01-01T18:20:16Z
+ priority:
+ $ref: '#/components/schemas/priorityEnum'
+ expiration:
+ description: "A string with the date/time value that the message will automatically\
+ \ expire by. This must be a valid RFC-3339 value, e.g., 2021-03-14T01:59:26Z\
+ \ or 2021-03-13T20:59:26-05:00. Must be a date-time in the future."
+ example: 2021-02-01T11:29:18-05:00
format: date-time
type: string
- type:
- $ref: '#/components/schemas/multiChannelStatusEnum'
- to:
- description: The phone number the message should be sent to in E164 format.
- example: "+15552223333"
- type: string
- description:
- example: Incoming message received
+ required:
+ - channelList
+ - direction
+ - messageId
+ - time
+ - to
+ type: object
+ multiChannelMessageContent:
+ description: The structure of the content field of a multichannel message.
+ properties:
+ text:
type: string
- message:
- $ref: '#/components/schemas/multiChannelMessageCallbackData'
+ media:
+ $ref: '#/components/schemas/rbmMessageContentFile'
type: object
- link:
- example:
- rel: rel
- href: href
+ rbmSuggestionResponse:
properties:
- rel:
+ text:
+ description: The text associated with the suggestion response.
+ example: "Yes, I would like to proceed"
type: string
- href:
+ postbackData:
+ description: Base64 payload the customer receives when the reply is clicked.
+ example: !!binary |-
+ U0dWc2JHOGdkMjl5YkdRPQ==
+ format: byte
+ maxLength: 2048
+ title: Post Back Data
type: string
type: object
- errorObject:
- example:
- code: code
- message: message
+ rbmLocationResponse:
properties:
- code:
+ latitude:
+ description: The latitude of the client's location.
+ example: "37.7749"
+ format: double
type: string
- message:
+ longitude:
+ description: The longitude of the client's location.
+ example: "-122.4194"
+ format: double
type: string
type: object
- messageCallback:
- description: Message Callback Schema
+ callback:
+ description: |-
+ Callbacks are divided into two types based on direction of the related message:
+ - `statusCallback` indicates status of an outbound MT SMS, MMS, or RBM message.
+ - `inboundCallback` indicates an inbound MO message or a multichannel message client's response to a suggestion or location request.
+ discriminator:
+ mapping:
+ message-sent: '#/components/schemas/statusCallback'
+ message-delivered: '#/components/schemas/statusCallback'
+ message-failed: '#/components/schemas/statusCallback'
+ message-read: '#/components/schemas/statusCallback'
+ message-received: '#/components/schemas/inboundCallback'
+ request-location-response: '#/components/schemas/inboundCallback'
+ suggestion-response: '#/components/schemas/inboundCallback'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/statusCallback'
+ - $ref: '#/components/schemas/inboundCallback'
+ type: object
+ statusCallback:
+ description: Represents a status callback for an outbound MT SMS or MMS or RBM
+ message.
properties:
time:
example: 2024-12-02T20:15:57.278Z
format: date-time
type: string
+ eventTime:
+ description: "Represents the time at which the message was read, for `message-read`\
+ \ callbacks."
+ example: 2024-12-02T20:15:58.278Z
+ format: date-time
+ type: string
type:
- $ref: '#/components/schemas/callbackTypeEnum'
+ $ref: '#/components/schemas/statusCallbackTypeEnum'
to:
+ description: |-
+ The destination phone number the message was sent to.
+ For status callbacks, this the the Bandwidth user's client phone number.
example: "+15552223333"
type: string
description:
description: A detailed description of the event described by the callback.
- example: rejected-unallocated-from-number
+ example: Message delivered to carrier.
type: string
message:
- $ref: '#/components/schemas/messageCallbackMessage'
+ $ref: '#/components/schemas/statusCallbackMessage'
errorCode:
description: "Optional error code, applicable only when type is `message-failed`."
example: 4405
- nullable: true
type: integer
carrierName:
description: "The name of the Authorized Message Provider (AMP) that handled\
- \ this message. In the US, this is the carrier that the message was sent\
- \ to."
+ \ this message. \nIn the US, this is the carrier that the message was\
+ \ sent to.\nThis field is present only when this account feature has been\
+ \ enabled."
+ example: AT&T
+ type: string
+ required:
+ - description
+ - message
+ - time
+ - to
+ - type
+ type: object
+ inboundCallback:
+ description: Represents an inbound callback.
+ properties:
+ time:
+ example: 2024-12-02T20:15:57.278Z
+ format: date-time
+ type: string
+ type:
+ $ref: '#/components/schemas/inboundCallbackTypeEnum'
+ to:
+ description: "The destination phone number the message was sent to. \nFor\
+ \ inbound callbacks, this is the Bandwidth number or alphanumeric identifier\
+ \ that received the message.\n"
+ example: "+15552223333"
+ type: string
+ description:
+ description: A detailed description of the event described by the callback.
+ example: Incoming message received
+ type: string
+ message:
+ $ref: '#/components/schemas/inboundCallbackMessage'
+ carrierName:
+ description: "The name of the Authorized Message Provider (AMP) that handled\
+ \ this message. \nIn the US, this is the carrier that the message was\
+ \ sent to.\nThis field is present only when this account feature has been\
+ \ enabled."
example: AT&T
- nullable: true
type: string
required:
- description
@@ -8351,16 +9002,49 @@ components:
- to
- type
type: object
- messageCallbackMessage:
- description: Message payload schema within a MessageCallback
+ statusCallbackTypeEnum:
+ description: |-
+ The possible status callbacks when sending an MT SMS or MMS or RBM message:
+ - `message-sending` indicates that Bandwidth is sending the message to the upstream provider.
+ - `message-delivered` indicates that the message was successfully sent.
+ - `message-failed` indicates that the message could not be sent to the intended recipient.
+ - `message-read` indicates that the RBM message was read by the recipient.
+ enum:
+ - message-sending
+ - message-delivered
+ - message-failed
+ - message-read
+ example: message-delivered
+ type: string
+ inboundCallbackTypeEnum:
+ description: "The possible inbound callback types originating from MO messages\
+ \ or multichannel message client responses:\n- `message-received` indicates\
+ \ an MO message from a Bandwidth user's client to a Bandwidth number.\n- `request-location-response`\
+ \ indicates a response to a location request sent by the Bandwidth user's\
+ \ client after receiving an RBM message. \n- `suggestion-response` indicates\
+ \ a response to a suggestion sent by the Bandwidth user's client after receiving\
+ \ an RBM message."
+ enum:
+ - message-received
+ - request-location-response
+ - suggestion-response
+ example: message-received
+ type: string
+ statusCallbackMessage:
+ description: Message payload schema within a callback
properties:
id:
+ description: A unique identifier of the message.
example: 1661365814859loidf7mcwd4qacn7
type: string
owner:
+ description: The Bandwidth phone number or alphanumeric identifier associated
+ with the message.
example: "+15553332222"
type: string
applicationId:
+ description: The ID of the Application your from number or senderId is associated
+ with in the Bandwidth Phone Number Dashboard.
example: 93de2206-9669-4e07-948d-329f4b722ee2
type: string
time:
@@ -8368,11 +9052,14 @@ components:
format: date-time
type: string
segmentCount:
+ description: The number of segments the user's message is broken into before
+ sending over carrier networks.
example: 1
type: integer
direction:
$ref: '#/components/schemas/messageDirectionEnum'
to:
+ description: The phone number recipients of the message.
example:
- "+15552223333"
items:
@@ -8380,26 +9067,32 @@ components:
type: array
uniqueItems: true
from:
+ description: The Bandwidth phone number or alphanumeric identifier the message
+ was sent from.
example: "+15553332222"
type: string
text:
example: Hello world
type: string
tag:
+ description: A custom string that will be included in callback events of
+ the message. Max 1024 characters.
example: custom string
+ title: Tag
type: string
media:
- description: "Optional media, applicable only for mms"
+ description: "Optional media, not applicable for sms"
example:
- https://dev.bandwidth.com/images/bandwidth-logo.png
- https://dev.bandwidth.com/images/github_logo.png
items:
format: uri
type: string
- nullable: true
type: array
priority:
$ref: '#/components/schemas/priorityEnum'
+ channel:
+ $ref: '#/components/schemas/multiChannelMessageChannelEnum'
required:
- applicationId
- direction
@@ -8407,10 +9100,29 @@ components:
- id
- owner
- segmentCount
- - text
- time
- to
type: object
+ inboundCallbackMessage:
+ allOf:
+ - $ref: '#/components/schemas/statusCallbackMessage'
+ - properties:
+ content:
+ $ref: '#/components/schemas/multiChannelMessageContent'
+ suggestionResponse:
+ $ref: '#/components/schemas/rbmSuggestionResponse'
+ locationResponse:
+ $ref: '#/components/schemas/rbmLocationResponse'
+ type: object
+ required:
+ - applicationId
+ - direction
+ - from
+ - id
+ - owner
+ - segmentCount
+ - time
+ - to
callbackMethodEnum:
default: POST
description: The HTTP method to use to deliver the callback. GET or POST. Default
@@ -13114,6 +13826,45 @@ components:
- $ref: '#/components/schemas/rbmMessageContentRichCard'
- $ref: '#/components/schemas/smsMessageContent'
- $ref: '#/components/schemas/mmsMessageContent'
+ multiChannelMessageResponseData_channelList_inner:
+ allOf:
+ - $ref: '#/components/schemas/multiChannelChannelListObject'
+ - properties:
+ owner:
+ description: The Bandwidth senderId associated with the message. Identical
+ to 'from'.
+ type: string
+ required:
+ - owner
+ type: object
+ example:
+ owner: owner
+ channel: RBM
+ from: BandwidthRBM
+ applicationId: 93de2206-9669-4e07-948d-329f4b722ee2
+ content:
+ suggestions:
+ - postbackData: !!binary |-
+ U0dWc2JHOGdkMjl5YkdRPQ==
+ text: Hello world
+ type: REPLY
+ - postbackData: !!binary |-
+ U0dWc2JHOGdkMjl5YkdRPQ==
+ text: Hello world
+ type: REPLY
+ - postbackData: !!binary |-
+ U0dWc2JHOGdkMjl5YkdRPQ==
+ text: Hello world
+ type: REPLY
+ - postbackData: !!binary |-
+ U0dWc2JHOGdkMjl5YkdRPQ==
+ text: Hello world
+ type: REPLY
+ - postbackData: !!binary |-
+ U0dWc2JHOGdkMjl5YkdRPQ==
+ text: Hello world
+ type: REPLY
+ text: Hello world
webhookSubscription_basicAuthentication:
description: "Basic authentication credentials are not required, but if present,\
\ both username and password must be provided."
diff --git a/bandwidth.yml b/bandwidth.yml
index 03769645..4b3681cb 100644
--- a/bandwidth.yml
+++ b/bandwidth.yml
@@ -223,6 +223,8 @@ paths:
$ref: '#/components/responses/messagingForbiddenError'
'404':
$ref: '#/components/responses/messagingNotFoundError'
+ '405':
+ $ref: '#/components/responses/messagingMethodNotAllowedError'
'406':
$ref: '#/components/responses/messagingNotAcceptableError'
'415':
@@ -250,24 +252,26 @@ paths:
'202':
$ref: '#/components/responses/createMultiChannelMessageResponse'
'400':
- $ref: '#/components/responses/createMessageBadRequestError'
+ $ref: '#/components/responses/multiChannelBadRequestError'
'401':
- $ref: '#/components/responses/messagingUnauthorizedError'
+ $ref: '#/components/responses/multiChannelUnauthorizedError'
'403':
- $ref: '#/components/responses/messagingForbiddenError'
+ $ref: '#/components/responses/multiChannelForbiddenError'
'404':
- $ref: '#/components/responses/messagingNotFoundError'
+ $ref: '#/components/responses/multiChannelNotFoundError'
+ '405':
+ $ref: '#/components/responses/multiChannelMethodNotAllowedError'
'406':
- $ref: '#/components/responses/messagingNotAcceptableError'
+ $ref: '#/components/responses/multiChannelNotAcceptableError'
'415':
- $ref: '#/components/responses/messagingInvalidMediaTypeError'
+ $ref: '#/components/responses/multiChannelInvalidMediaTypeError'
'429':
- $ref: '#/components/responses/messagingTooManyRequestsError'
+ $ref: '#/components/responses/multiChannelTooManyRequestsError'
'500':
- $ref: '#/components/responses/messagingInternalServerError'
+ $ref: '#/components/responses/multiChannelInternalServerError'
callbacks:
- multiChannelCallback:
- $ref: '#/components/callbacks/multiChannelMessageCallback'
+ statusCallback:
+ $ref: '#/components/callbacks/statusCallback'
x-badges:
- name: Beta
color: '#076EA8'
@@ -1471,6 +1475,34 @@ paths:
callbacks:
tfVerificationStatus:
$ref: '#/components/callbacks/tfVerificationStatus'
+ delete:
+ description: Delete a toll-free verification submission for a toll-free number.
+ operationId: deleteVerificationRequest
+ parameters:
+ - $ref: '#/components/parameters/accountId'
+ - $ref: '#/components/parameters/tfPhoneNumberPathParam'
+ responses:
+ '204':
+ $ref: '#/components/responses/noContentResponse'
+ '400':
+ $ref: '#/components/responses/tfvBadRequestResponse'
+ '401':
+ $ref: '#/components/responses/tfvUnauthorizedResponse'
+ '403':
+ $ref: '#/components/responses/tfvForbiddenResponse'
+ '404':
+ $ref: '#/components/responses/tfvNotFoundResponse'
+ '405':
+ $ref: '#/components/responses/tfvNotAllowedResponse'
+ '429':
+ $ref: '#/components/responses/tfvTooManyRequestsResponse'
+ '500':
+ $ref: '#/components/responses/tfvServerErrorResponse'
+ '503':
+ $ref: '#/components/responses/tfvServiceUnavailableResponse'
+ summary: Delete a Toll-Free Verification Submission
+ tags:
+ - Toll-Free Verification
servers: *ref_4
/accounts/{accountId}/tollFreeVerification/webhooks/subscriptions:
get:
@@ -1554,7 +1586,7 @@ paths:
- $ref: '#/components/parameters/webhookSubscriptionIdPathParam'
responses:
'204':
- description: No Content
+ $ref: '#/components/responses/noContentResponse'
'400':
$ref: '#/components/responses/tfvBadRequestResponse'
'401':
@@ -1639,24 +1671,12 @@ components:
The ID of the Application your from number or senderId is associated
with in the Bandwidth Phone Number Dashboard.
example: 93de2206-9669-4e07-948d-329f4b722ee2
- callbackTypeEnum:
- type: string
- enum:
- - message-received
- - message-sending
- - message-delivered
- - message-failed
- description: >
- Indicates the type of the callback:
-
- - `message-received` for inbound callbacks.
-
- - One of `message-sending`, `message-delivered`, `message-failed` for
- status callbacks.
- example: message-delivered
priorityEnum:
type: string
- description: The priority specified by the user.
+ description: >-
+ Specifies the message's sending priority with respect to other messages
+ in your account. For best results and optimal throughput, reserve the
+ 'high' priority setting for critical messages only.
enum:
- default
- high
@@ -1753,9 +1773,7 @@ components:
messageType:
$ref: '#/components/schemas/messageTypeEnum'
segmentCount:
- type: integer
- description: The number of segments the message was sent as.
- example: 1
+ $ref: '#/components/schemas/segmentCount'
errorCode:
type: integer
description: The numeric error code of the message.
@@ -1863,6 +1881,12 @@ components:
type: integer
mediaName:
type: string
+ segmentCount:
+ type: integer
+ description: >-
+ The number of segments the user's message is broken into before sending
+ over carrier networks.
+ example: 1
tag:
title: Tag
type: string
@@ -1870,14 +1894,6 @@ components:
A custom string that will be included in callback events of the message.
Max 1024 characters.
example: custom string
- deferredResult:
- title: DeferredResult
- type: object
- properties:
- result:
- type: object
- setOrExpired:
- type: boolean
expiration:
type: string
format: date-time
@@ -1887,6 +1903,16 @@ components:
2021-03-14T01:59:26Z or 2021-03-13T20:59:26-05:00. Must be a date-time
in the future.
example: '2021-02-01T11:29:18-05:00'
+ carrierName:
+ type: string
+ description: >-
+ The name of the Authorized Message Provider (AMP) that handled this
+ message.
+
+ In the US, this is the carrier that the message was sent to.
+
+ This field is present only when this account feature has been enabled.
+ example: AT&T
message:
title: Message
type: object
@@ -1900,20 +1926,14 @@ components:
description: The Bandwidth phone number associated with the message.
example: '+15554443333'
applicationId:
- type: string
- description: The application ID associated with the message.
- example: 93de2206-9669-4e07-948d-329f4b722ee2
+ $ref: '#/components/schemas/applicationId'
time:
type: string
format: date-time
description: The datetime stamp of the message in ISO 8601
example: 2024-12-02T20:15:57.278Z
segmentCount:
- type: integer
- description: >-
- The number of segments the original message from the user is broken
- into before sending over to carrier networks.
- example: 2
+ $ref: '#/components/schemas/segmentCount'
direction:
$ref: '#/components/schemas/messageDirectionEnum'
to:
@@ -1945,9 +1965,7 @@ components:
description: The contents of the message.
example: Hello world
tag:
- type: string
- description: The custom string set by the user.
- example: custom tag
+ $ref: '#/components/schemas/tag'
priority:
$ref: '#/components/schemas/priorityEnum'
expiration:
@@ -1961,11 +1979,7 @@ components:
- from
properties:
applicationId:
- type: string
- description: >-
- The ID of the Application your from number is associated with in the
- Bandwidth Phone Number Dashboard.
- example: 93de2206-9669-4e07-948d-329f4b722ee2
+ $ref: '#/components/schemas/applicationId'
to:
uniqueItems: true
type: array
@@ -2021,12 +2035,69 @@ components:
type: array
items:
$ref: '#/components/schemas/link'
+ example: []
+ data:
+ $ref: '#/components/schemas/multiChannelMessageResponseData'
+ errors:
+ type: array
+ items:
+ $ref: '#/components/schemas/errorObject'
+ example: []
+ multiChannelError:
+ type: object
+ properties:
+ links:
+ type: array
+ items:
+ $ref: '#/components/schemas/link'
+ example: []
data:
- $ref: '#/components/schemas/multiChannelMessageData'
+ type: object
+ nullable: true
+ example: null
errors:
type: array
items:
$ref: '#/components/schemas/errorObject'
+ link:
+ type: object
+ properties:
+ rel:
+ type: string
+ href:
+ type: string
+ errorObject:
+ type: object
+ properties:
+ type:
+ description: A concise summary of the error used for categorization.
+ type: string
+ description:
+ description: A detailed explanation of the error.
+ type: string
+ source:
+ $ref: '#/components/schemas/errorSource'
+ required:
+ - type
+ - description
+ - source
+ errorSource:
+ title: Error Source
+ type: object
+ description: Specifies relevant sources of the error, if any.
+ properties:
+ parameter:
+ type: string
+ description: The relevant URI query parameter causing the error
+ field:
+ type: string
+ description: The request body field that led to the error
+ header:
+ type: string
+ description: The header field that contributed to the error
+ reference:
+ type: string
+ description: A resource ID or path linked to the error
multiChannelMessageChannelEnum:
description: The channel of the multi-channel message.
type: string
@@ -2035,12 +2106,6 @@ components:
- SMS
- MMS
example: RBM
- multiChannelMessageDirectionEnum:
- type: string
- enum:
- - INBOUND
- - OUTBOUND
- example: OUTBOUND
multiChannelSenderId:
type: string
description: The sender ID of the message. This could be an alphanumeric sender ID.
@@ -2049,6 +2114,14 @@ components:
type: string
description: The phone number the message should be sent to in E164 format.
example: '+15552223333'
+ multiChannelDestinations:
+ uniqueItems: true
+ type: array
+ description: The destination phone number(s) of the message, in E164 format.
+ example:
+ - '+15554443333'
+ items:
+ type: string
rbmMessageContentText:
title: RBM Text
type: object
@@ -2090,6 +2163,26 @@ components:
maxLength: 1000
required:
- fileUrl
+ mmsMessageContentFile:
+ title: MMS Media File
+ type: object
+ properties:
+ fileUrl:
+ type: string
+ format: uri
+ description: >-
+ The URL of a media attachment.
+
+
+ For MMS, the API limits file size to 3.5MB. Specific carriers and
+ channels may have a smaller limit that could cause a large file to
+ fail, see
+ [here](https://support.bandwidth.com/hc/en-us/articles/360014235473-What-are-the-MMS-file-size-limits)
+ for more details.
+ example: https://dev.bandwidth.com/images/bandwidth-logo.png
+ maxLength: 1000
+ required:
+ - fileUrl
rbmMessageMedia:
title: RBM Media
type: object
@@ -2198,7 +2291,9 @@ components:
text:
$ref: '#/components/schemas/messageText'
media:
- $ref: '#/components/schemas/messageMedia'
+ type: array
+ items:
+ $ref: '#/components/schemas/mmsMessageContentFile'
rbmMessageContentRichCard:
title: RBM Rich Card
oneOf:
@@ -2220,7 +2315,7 @@ components:
description: Displayed text for user to click
maxLength: 25
example: Hello world
- rbmActionPostBackData:
+ rbmActionPostbackData:
title: Post Back Data
type: string
format: byte
@@ -2234,11 +2329,11 @@ components:
$ref: '#/components/schemas/rbmActionTypeEnum'
text:
$ref: '#/components/schemas/rbmActionText'
- postBackData:
- $ref: '#/components/schemas/rbmActionPostBackData'
+ postbackData:
+ $ref: '#/components/schemas/rbmActionPostbackData'
required:
- text
- - postBackData
+ - postbackData
- type
rbmActionDial:
allOf:
@@ -2342,14 +2437,6 @@ components:
CREATE_CALENDAR_EVENT: '#/components/schemas/multiChannelActionCalendarEvent'
OPEN_URL: '#/components/schemas/rbmActionOpenUrl'
REQUEST_LOCATION: '#/components/schemas/rbmActionBase'
- multiChannelStatusEnum:
- type: string
- enum:
- - QUEUED
- - SENDING
- - DELIVERED
- - FAILED
- example: DELIVERED
multiChannelChannelListObject:
type: object
properties:
@@ -2396,141 +2483,250 @@ components:
required:
- to
- channelList
- multiChannelMessageCallbackData:
- type: object
- properties:
- messageId:
- $ref: '#/components/schemas/messageId'
- status:
- $ref: '#/components/schemas/multiChannelStatusEnum'
- direction:
- $ref: '#/components/schemas/multiChannelMessageDirectionEnum'
- from:
- $ref: '#/components/schemas/multiChannelSenderId'
- to:
- $ref: '#/components/schemas/multiChannelDestination'
- applicationId:
- $ref: '#/components/schemas/applicationId'
- channel:
- $ref: '#/components/schemas/multiChannelMessageChannelEnum'
- tag:
- $ref: '#/components/schemas/tag'
- multiChannelMessageData:
+ multiChannelMessageResponseData:
+ description: The data returned in a multichannel message response.
type: object
properties:
messageId:
$ref: '#/components/schemas/messageId'
- status:
- $ref: '#/components/schemas/multiChannelStatusEnum'
time:
description: The time the message was received by the Bandwidth API.
type: string
format: date-time
example: 2025-01-01T18:20:16.000Z
direction:
- $ref: '#/components/schemas/multiChannelMessageDirectionEnum'
- from:
- $ref: '#/components/schemas/multiChannelSenderId'
+ $ref: '#/components/schemas/messageDirectionEnum'
to:
- $ref: '#/components/schemas/multiChannelDestination'
- applicationId:
- $ref: '#/components/schemas/applicationId'
- channel:
- $ref: '#/components/schemas/multiChannelMessageChannelEnum'
+ $ref: '#/components/schemas/multiChannelDestinations'
+ channelList:
+ type: array
+ description: >-
+ A list of message bodies. The messages will be attempted in the
+ order they are listed. Once a message sends successfully, the others
+ will be ignored.
+ items:
+ allOf:
+ - $ref: '#/components/schemas/multiChannelChannelListObject'
+ - type: object
+ properties:
+ owner:
+ type: string
+ description: >-
+ The Bandwidth senderId associated with the message.
+ Identical to 'from'.
+ required:
+ - owner
+ maxItems: 4
tag:
$ref: '#/components/schemas/tag'
- multiChannelCallbackData:
+ priority:
+ $ref: '#/components/schemas/priorityEnum'
+ expiration:
+ $ref: '#/components/schemas/expiration'
+ required:
+ - messageId
+ - time
+ - direction
+ - to
+ - channelList
+ multiChannelMessageContent:
+ description: The structure of the content field of a multichannel message.
type: object
properties:
- time:
- description: The time of the callback event.
- type: string
- format: date-time
- example: 2025-01-01T18:20:16.000Z
- type:
- $ref: '#/components/schemas/multiChannelStatusEnum'
- to:
- $ref: '#/components/schemas/multiChannelDestination'
- description:
+ text:
type: string
- example: Incoming message received
- message:
- $ref: '#/components/schemas/multiChannelMessageCallbackData'
- link:
+ media:
+ $ref: '#/components/schemas/rbmMessageContentFile'
+ rbmSuggestionResponse:
type: object
properties:
- rel:
- type: string
- href:
+ text:
type: string
- errorObject:
+ description: The text associated with the suggestion response.
+ example: Yes, I would like to proceed
+ postbackData:
+ $ref: '#/components/schemas/rbmActionPostbackData'
+ rbmLocationResponse:
type: object
properties:
- code:
+ latitude:
type: string
- message:
+ format: double
+ description: The latitude of the client's location.
+ example: '37.7749'
+ longitude:
type: string
- messageCallback:
- description: Message Callback Schema
+ format: double
+ description: The longitude of the client's location.
+ example: '-122.4194'
+ callback:
+ description: >-
+ Callbacks are divided into two types based on direction of the related
+ message:
+
+ - `statusCallback` indicates status of an outbound MT SMS, MMS, or RBM
+ message.
+
+ - `inboundCallback` indicates an inbound MO message or a multichannel
+ message client's response to a suggestion or location request.
+ type: object
+ oneOf:
+ - $ref: '#/components/schemas/statusCallback'
+ - $ref: '#/components/schemas/inboundCallback'
+ discriminator:
+ propertyName: type
+ mapping:
+ message-sent: '#/components/schemas/statusCallback'
+ message-delivered: '#/components/schemas/statusCallback'
+ message-failed: '#/components/schemas/statusCallback'
+ message-read: '#/components/schemas/statusCallback'
+ message-received: '#/components/schemas/inboundCallback'
+ request-location-response: '#/components/schemas/inboundCallback'
+ suggestion-response: '#/components/schemas/inboundCallback'
+ statusCallback:
type: object
+ description: >-
+ Represents a status callback for an outbound MT SMS or MMS or RBM
+ message.
properties:
time:
type: string
format: date-time
example: 2024-12-02T20:15:57.278Z
+ eventTime:
+ type: string
+ description: >-
+ Represents the time at which the message was read, for
+ `message-read` callbacks.
+ format: date-time
+ example: 2024-12-02T20:15:58.278Z
type:
- $ref: '#/components/schemas/callbackTypeEnum'
+ $ref: '#/components/schemas/statusCallbackTypeEnum'
to:
type: string
+ description: >-
+ The destination phone number the message was sent to.
+
+ For status callbacks, this the the Bandwidth user's client phone
+ number.
example: '+15552223333'
description:
type: string
description: A detailed description of the event described by the callback.
- example: rejected-unallocated-from-number
+ example: Message delivered to carrier.
message:
- $ref: '#/components/schemas/messageCallbackMessage'
+ $ref: '#/components/schemas/statusCallbackMessage'
errorCode:
type: integer
description: Optional error code, applicable only when type is `message-failed`.
- nullable: true
example: 4405
carrierName:
+ $ref: '#/components/schemas/carrierName'
+ required:
+ - time
+ - type
+ - to
+ - description
+ - message
+ inboundCallback:
+ type: object
+ description: Represents an inbound callback.
+ properties:
+ time:
type: string
- description: >-
- The name of the Authorized Message Provider (AMP) that handled this
- message. In the US, this is the carrier that the message was sent
- to.
- nullable: true
- example: AT&T
+ format: date-time
+ example: 2024-12-02T20:15:57.278Z
+ type:
+ $ref: '#/components/schemas/inboundCallbackTypeEnum'
+ to:
+ type: string
+ description: >
+ The destination phone number the message was sent to.
+
+ For inbound callbacks, this is the Bandwidth number or alphanumeric
+ identifier that received the message.
+ example: '+15552223333'
+ description:
+ type: string
+ description: A detailed description of the event described by the callback.
+ example: Incoming message received
+ message:
+ $ref: '#/components/schemas/inboundCallbackMessage'
+ carrierName:
+ $ref: '#/components/schemas/carrierName'
required:
- time
- type
- to
- description
- message
- messageCallbackMessage:
- description: Message payload schema within a MessageCallback
+ statusCallbackTypeEnum:
+ type: string
+ description: >-
+ The possible status callbacks when sending an MT SMS or MMS or RBM
+ message:
+
+ - `message-sending` indicates that Bandwidth is sending the message to
+ the upstream provider.
+
+ - `message-delivered` indicates that the message was successfully sent.
+
+ - `message-failed` indicates that the message could not be sent to the
+ intended recipient.
+
+ - `message-read` indicates that the RBM message was read by the
+ recipient.
+ enum:
+ - message-sending
+ - message-delivered
+ - message-failed
+ - message-read
+ example: message-delivered
+ inboundCallbackTypeEnum:
+ type: string
+ description: >-
+ The possible inbound callback types originating from MO messages or
+ multichannel message client responses:
+
+ - `message-received` indicates an MO message from a Bandwidth user's
+ client to a Bandwidth number.
+
+ - `request-location-response` indicates a response to a location request
+ sent by the Bandwidth user's client after receiving an RBM message.
+
+ - `suggestion-response` indicates a response to a suggestion sent by the
+ Bandwidth user's client after receiving an RBM message.
+ enum:
+ - message-received
+ - request-location-response
+ - suggestion-response
+ example: message-received
+ statusCallbackMessage:
+ description: Message payload schema within a callback
type: object
properties:
id:
type: string
+ description: A unique identifier of the message.
example: 1661365814859loidf7mcwd4qacn7
owner:
type: string
+ description: >-
+ The Bandwidth phone number or alphanumeric identifier associated
+ with the message.
example: '+15553332222'
applicationId:
- type: string
- example: 93de2206-9669-4e07-948d-329f4b722ee2
+ $ref: '#/components/schemas/applicationId'
time:
type: string
format: date-time
example: 2024-12-02T20:15:57.666Z
segmentCount:
- type: integer
- example: 1
+ $ref: '#/components/schemas/segmentCount'
direction:
$ref: '#/components/schemas/messageDirectionEnum'
to:
+ description: The phone number recipients of the message.
uniqueItems: true
type: array
items:
@@ -2539,17 +2735,18 @@ components:
- '+15552223333'
from:
type: string
+ description: >-
+ The Bandwidth phone number or alphanumeric identifier the message
+ was sent from.
example: '+15553332222'
text:
type: string
example: Hello world
tag:
- type: string
- example: custom string
+ $ref: '#/components/schemas/tag'
media:
type: array
- description: Optional media, applicable only for mms
- nullable: true
+ description: Optional media, not applicable for sms
items:
type: string
format: uri
@@ -2558,6 +2755,28 @@ components:
- https://dev.bandwidth.com/images/github_logo.png
priority:
$ref: '#/components/schemas/priorityEnum'
+ channel:
+ $ref: '#/components/schemas/multiChannelMessageChannelEnum'
+ required:
+ - id
+ - owner
+ - applicationId
+ - time
+ - segmentCount
+ - direction
+ - to
+ - from
+ inboundCallbackMessage:
+ allOf:
+ - $ref: '#/components/schemas/statusCallbackMessage'
+ - type: object
+ properties:
+ content:
+ $ref: '#/components/schemas/multiChannelMessageContent'
+ suggestionResponse:
+ $ref: '#/components/schemas/rbmSuggestionResponse'
+ locationResponse:
+ $ref: '#/components/schemas/rbmLocationResponse'
required:
- id
- owner
@@ -2567,7 +2786,6 @@ components:
- direction
- to
- from
- - text
callbackMethodEnum:
type: string
nullable: true
@@ -5954,6 +6172,12 @@ components:
application/json:
schema:
$ref: '#/components/schemas/messagingRequestError'
+ messagingMethodNotAllowedError:
+ description: Method Not Allowed
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/messagingRequestError'
messagingInvalidMediaTypeError:
description: Unsupported Media Type
content:
@@ -5972,6 +6196,120 @@ components:
application/json:
schema:
$ref: '#/components/schemas/messagingRequestError'
+ multiChannelBadRequestError:
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/multiChannelError'
+ example:
+ links: []
+ data: null
+ errors:
+ - type: request-validation
+ description: >-
+ The 'channelList[0].from' field must contain exactly one
+ telephone number
+ source:
+ field: channelList[0].from
+ multiChannelNotAcceptableError:
+ description: Not Acceptable
+ multiChannelUnauthorizedError:
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/multiChannelError'
+ example:
+ links: []
+ data: null
+ errors:
+ - type: unauthorized
+ description: Authentication Failed
+ source: {}
+ multiChannelForbiddenError:
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/multiChannelError'
+ example:
+ links: []
+ data: null
+ errors:
+ - type: forbidden
+ description: Access Denied
+ source: {}
+ multiChannelNotFoundError:
+ description: Not Found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/multiChannelError'
+ example:
+ links: []
+ data: null
+ errors:
+ - type: forbidden
+ description: Resource not found.
+ source: {}
+ multiChannelMethodNotAllowedError:
+ description: Method Not Allowed
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/multiChannelError'
+ example:
+ links: []
+ data: null
+ errors:
+ - type: method-not-allowed
+ description: Method 'PUT' not supported for this resource.
+ source: {}
+ multiChannelInvalidMediaTypeError:
+ description: Unsupported Media Type
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/multiChannelError'
+ example:
+ links: []
+ data: null
+ errors:
+ - type: unsupported-content-type
+ description: >-
+ Content-Type 'application/xml;charset=UTF-8' is not supported.
+ Please use 'application/json'
+ source:
+ header: Content-Type
+ multiChannelTooManyRequestsError:
+ description: Too Many Requests
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/multiChannelError'
+ example:
+ links: []
+ data: null
+ errors:
+ - type: rate-limit-exceeded
+ description: >-
+ You have exceeded your rate limit for this endpoint. Please
+ retry later.
+ source: {}
+ multiChannelInternalServerError:
+ description: Internal Server Error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/multiChannelError'
+ example:
+ links: []
+ data: null
+ errors:
+ - type: internal-server-error
+ description: Internal server error. No further information available
+ source: {}
createCallResponse:
description: Created
headers:
@@ -6373,6 +6711,8 @@ components:
example:
description: Cannot process request.
type: bad request
+ noContentResponse:
+ description: No Content
tfvPostBadRequestResponse:
description: Bad Request
content:
@@ -7506,17 +7846,30 @@ components:
post:
requestBody:
required: true
- description: >
-
This Inbound Message Webhook is an envelope containing a
- received (MO) message to your message-enabled Bandwidth telephone
- number. The payload type will always indicate "message-received".
+ description: >-
+
This Inbound Message Webhook is an envelope containing either a
+ received (MO) message to your
+
+ message-enabled Bandwidth telephone number or a multichannel
+ client's response to a suggestion response
+
+ or location request.
+
+
The payload type will be one of message-received,
+ suggestion-response, or
+ location-request-response.
+
+
Note that suggestion-response and
+ location-request-response callback types are
+ pertinent only for RBM messages sent from the
+ /messages/multiChannel endpoint.
This Outbound Message Webhook is an envelope containing status
- information regarding a message sent (MT) from your
- message-enabled Bandwidth telephone number. The payload type will
- be one of "message-sending", "message-delivered", or
- "message-failed".
+ information regarding a message sent (MT)
+ from your message-enabled Bandwidth telephone number.
+
The payload type will be one of message-sending, message-delivered, message-failed or message-read.
+
Note that message-read callbacks are pertinent only for RBM messages sent from the /messages/multiChannel endpoint.
content:
application/json:
schema:
- $ref: '#/components/schemas/messageCallback'
+ $ref: '#/components/schemas/statusCallback'
examples:
messageSendingCallback:
$ref: '#/components/examples/messageSendingCallbackExample'
@@ -7558,19 +7913,8 @@ components:
responses:
'200':
description: OK
- multiChannelMessageCallback:
- '{multiChannelMessageCallbackUrl}':
- post:
- requestBody:
- required: true
- description: Status Callback Payload
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/multiChannelCallbackData'
- responses:
- '204':
- description: No Content
+ '202':
+ description: Accepted
tfVerificationStatus:
your_url.com/webhookService:
post:
@@ -7594,7 +7938,7 @@ components:
$ref: '#/components/requestBodies/verificationWebhookRequest'
responses:
'204':
- description: No Content
+ $ref: '#/components/responses/noContentResponse'
'400':
$ref: '#/components/responses/tfvBadRequestResponse'
'401':
diff --git a/docs/Callback.md b/docs/Callback.md
new file mode 100644
index 00000000..78e9137f
--- /dev/null
+++ b/docs/Callback.md
@@ -0,0 +1,18 @@
+# Bandwidth.Standard.Model.Callback
+Callbacks are divided into two types based on direction of the related message: - `statusCallback` indicates status of an outbound MT SMS, MMS, or RBM message. - `inboundCallback` indicates an inbound MO message or a multichannel message client's response to a suggestion or location request.
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Time** | **DateTime** | |
+**EventTime** | **DateTime** | Represents the time at which the message was read, for `message-read` callbacks. | [optional]
+**Type** | **InboundCallbackTypeEnum** | |
+**To** | **string** | The destination phone number the message was sent to. For inbound callbacks, this is the Bandwidth number or alphanumeric identifier that received the message. |
+**Description** | **string** | A detailed description of the event described by the callback. |
+**Message** | [**InboundCallbackMessage**](InboundCallbackMessage.md) | |
+**ErrorCode** | **int** | Optional error code, applicable only when type is `message-failed`. | [optional]
+**CarrierName** | **string** | The name of the Authorized Message Provider (AMP) that handled this message. In the US, this is the carrier that the message was sent to. This field is present only when this account feature has been enabled. | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/CreateMultiChannelMessageResponse.md b/docs/CreateMultiChannelMessageResponse.md
index b8973eb8..32ac359f 100644
--- a/docs/CreateMultiChannelMessageResponse.md
+++ b/docs/CreateMultiChannelMessageResponse.md
@@ -5,7 +5,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**Links** | [**List<Link>**](Link.md) | | [optional]
-**Data** | [**MultiChannelMessageData**](MultiChannelMessageData.md) | | [optional]
+**Data** | [**MultiChannelMessageResponseData**](MultiChannelMessageResponseData.md) | | [optional]
**Errors** | [**List<ErrorObject>**](ErrorObject.md) | | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/docs/ErrorObject.md b/docs/ErrorObject.md
index b6507929..185da5d0 100644
--- a/docs/ErrorObject.md
+++ b/docs/ErrorObject.md
@@ -4,8 +4,9 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**Code** | **string** | | [optional]
-**Message** | **string** | | [optional]
+**Type** | **string** | A concise summary of the error used for categorization. |
+**Description** | **string** | A detailed explanation of the error. |
+**Source** | [**ErrorSource**](ErrorSource.md) | |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/docs/ErrorSource.md b/docs/ErrorSource.md
new file mode 100644
index 00000000..ce45ad3a
--- /dev/null
+++ b/docs/ErrorSource.md
@@ -0,0 +1,14 @@
+# Bandwidth.Standard.Model.ErrorSource
+Specifies relevant sources of the error, if any.
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Parameter** | **string** | The relevant URI query parameter causing the error | [optional]
+**Field** | **string** | The request body field that led to the error | [optional]
+**Header** | **string** | The header field that contributed to the error | [optional]
+**Reference** | **string** | A resource ID or path linked to the error | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/InboundCallback.md b/docs/InboundCallback.md
new file mode 100644
index 00000000..e4f5734e
--- /dev/null
+++ b/docs/InboundCallback.md
@@ -0,0 +1,16 @@
+# Bandwidth.Standard.Model.InboundCallback
+Represents an inbound callback.
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Time** | **DateTime** | |
+**Type** | **InboundCallbackTypeEnum** | |
+**To** | **string** | The destination phone number the message was sent to. For inbound callbacks, this is the Bandwidth number or alphanumeric identifier that received the message. |
+**Description** | **string** | A detailed description of the event described by the callback. |
+**Message** | [**InboundCallbackMessage**](InboundCallbackMessage.md) | |
+**CarrierName** | **string** | The name of the Authorized Message Provider (AMP) that handled this message. In the US, this is the carrier that the message was sent to. This field is present only when this account feature has been enabled. | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/InboundCallbackMessage.md b/docs/InboundCallbackMessage.md
new file mode 100644
index 00000000..3a5dcde0
--- /dev/null
+++ b/docs/InboundCallbackMessage.md
@@ -0,0 +1,25 @@
+# Bandwidth.Standard.Model.InboundCallbackMessage
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Id** | **string** | A unique identifier of the message. |
+**Owner** | **string** | The Bandwidth phone number or alphanumeric identifier associated with the message. |
+**ApplicationId** | **string** | The ID of the Application your from number or senderId is associated with in the Bandwidth Phone Number Dashboard. |
+**Time** | **DateTime** | |
+**SegmentCount** | **int** | The number of segments the user's message is broken into before sending over carrier networks. |
+**Direction** | **MessageDirectionEnum** | |
+**To** | **List<string>** | The phone number recipients of the message. |
+**From** | **string** | The Bandwidth phone number or alphanumeric identifier the message was sent from. |
+**Text** | **string** | | [optional]
+**Tag** | **string** | A custom string that will be included in callback events of the message. Max 1024 characters. | [optional]
+**Media** | **List<string>** | Optional media, not applicable for sms | [optional]
+**Priority** | **PriorityEnum** | | [optional]
+**Channel** | **MultiChannelMessageChannelEnum** | | [optional]
+**Content** | [**MultiChannelMessageContent**](MultiChannelMessageContent.md) | | [optional]
+**SuggestionResponse** | [**RbmSuggestionResponse**](RbmSuggestionResponse.md) | | [optional]
+**LocationResponse** | [**RbmLocationResponse**](RbmLocationResponse.md) | | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/InboundCallbackTypeEnum.md b/docs/InboundCallbackTypeEnum.md
new file mode 100644
index 00000000..03461e35
--- /dev/null
+++ b/docs/InboundCallbackTypeEnum.md
@@ -0,0 +1,10 @@
+# Bandwidth.Standard.Model.InboundCallbackTypeEnum
+The possible inbound callback types originating from MO messages or multichannel message client responses: - `message-received` indicates an MO message from a Bandwidth user's client to a Bandwidth number. - `request-location-response` indicates a response to a location request sent by the Bandwidth user's client after receiving an RBM message. - `suggestion-response` indicates a response to a suggestion sent by the Bandwidth user's client after receiving an RBM message.
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/ListMessageItem.md b/docs/ListMessageItem.md
index 416aff5a..072ce7c6 100644
--- a/docs/ListMessageItem.md
+++ b/docs/ListMessageItem.md
@@ -11,7 +11,7 @@ Name | Type | Description | Notes
**MessageStatus** | **MessageStatusEnum** | | [optional]
**MessageDirection** | **ListMessageDirectionEnum** | | [optional]
**MessageType** | **MessageTypeEnum** | | [optional]
-**SegmentCount** | **int** | The number of segments the message was sent as. | [optional]
+**SegmentCount** | **int** | The number of segments the user's message is broken into before sending over carrier networks. | [optional]
**ErrorCode** | **int** | The numeric error code of the message. | [optional]
**ReceiveTime** | **DateTime** | The ISO 8601 datetime of the message. | [optional]
**CarrierName** | **string** | The name of the carrier. Not currently supported for MMS coming soon. | [optional]
diff --git a/docs/Message.md b/docs/Message.md
index 071d55c0..ddf04c89 100644
--- a/docs/Message.md
+++ b/docs/Message.md
@@ -6,15 +6,15 @@ Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**Id** | **string** | The id of the message. | [optional]
**Owner** | **string** | The Bandwidth phone number associated with the message. | [optional]
-**ApplicationId** | **string** | The application ID associated with the message. | [optional]
+**ApplicationId** | **string** | The ID of the Application your from number or senderId is associated with in the Bandwidth Phone Number Dashboard. | [optional]
**Time** | **DateTime** | The datetime stamp of the message in ISO 8601 | [optional]
-**SegmentCount** | **int** | The number of segments the original message from the user is broken into before sending over to carrier networks. | [optional]
+**SegmentCount** | **int** | The number of segments the user's message is broken into before sending over carrier networks. | [optional]
**Direction** | **MessageDirectionEnum** | | [optional]
**To** | **List<string>** | The phone number recipients of the message. | [optional]
**From** | **string** | The phone number the message was sent from. | [optional]
**Media** | **List<string>** | The list of media URLs sent in the message. Including a `filename` field in the `Content-Disposition` header of the media linked with a URL will set the displayed file name. This is a best practice to ensure that your media has a readable file name. | [optional]
**Text** | **string** | The contents of the message. | [optional]
-**Tag** | **string** | The custom string set by the user. | [optional]
+**Tag** | **string** | A custom string that will be included in callback events of the message. Max 1024 characters. | [optional]
**Priority** | **PriorityEnum** | | [optional]
**Expiration** | **DateTime** | A string with the date/time value that the message will automatically expire by. This must be a valid RFC-3339 value, e.g., 2021-03-14T01:59:26Z or 2021-03-13T20:59:26-05:00. Must be a date-time in the future. | [optional]
diff --git a/docs/MessageCallback.md b/docs/MessageCallback.md
deleted file mode 100644
index d197e74e..00000000
--- a/docs/MessageCallback.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# Bandwidth.Standard.Model.MessageCallback
-Message Callback Schema
-
-## Properties
-
-Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
-**Time** | **DateTime** | |
-**Type** | **CallbackTypeEnum** | |
-**To** | **string** | |
-**Description** | **string** | A detailed description of the event described by the callback. |
-**Message** | [**MessageCallbackMessage**](MessageCallbackMessage.md) | |
-**ErrorCode** | **int?** | Optional error code, applicable only when type is `message-failed`. | [optional]
-**CarrierName** | **string** | The name of the Authorized Message Provider (AMP) that handled this message. In the US, this is the carrier that the message was sent to. | [optional]
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/MessageCallbackMessage.md b/docs/MessageCallbackMessage.md
deleted file mode 100644
index b7b294b5..00000000
--- a/docs/MessageCallbackMessage.md
+++ /dev/null
@@ -1,22 +0,0 @@
-# Bandwidth.Standard.Model.MessageCallbackMessage
-Message payload schema within a MessageCallback
-
-## Properties
-
-Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
-**Id** | **string** | |
-**Owner** | **string** | |
-**ApplicationId** | **string** | |
-**Time** | **DateTime** | |
-**SegmentCount** | **int** | |
-**Direction** | **MessageDirectionEnum** | |
-**To** | **List<string>** | |
-**From** | **string** | |
-**Text** | **string** | |
-**Tag** | **string** | | [optional]
-**Media** | **List<string>** | Optional media, applicable only for mms | [optional]
-**Priority** | **PriorityEnum** | | [optional]
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/MessageRequest.md b/docs/MessageRequest.md
index 9e12d62a..7c051d2a 100644
--- a/docs/MessageRequest.md
+++ b/docs/MessageRequest.md
@@ -4,7 +4,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**ApplicationId** | **string** | The ID of the Application your from number is associated with in the Bandwidth Phone Number Dashboard. |
+**ApplicationId** | **string** | The ID of the Application your from number or senderId is associated with in the Bandwidth Phone Number Dashboard. |
**To** | **List<string>** | The phone number(s) the message should be sent to in E164 format. |
**From** | **string** | Either an alphanumeric sender ID or the sender's Bandwidth phone number in E.164 format, which must be hosted within Bandwidth and linked to the account that is generating the message. Alphanumeric Sender IDs can contain up to 11 characters, upper-case letters A-Z, lower-case letters a-z, numbers 0-9, space, hyphen -, plus +, underscore _ and ampersand &. Alphanumeric Sender IDs must contain at least one letter. |
**Text** | **string** | The contents of the text message. Must be 2048 characters or less. | [optional]
diff --git a/docs/MessagesApi.md b/docs/MessagesApi.md
index 67853a3b..8ebc03c9 100644
--- a/docs/MessagesApi.md
+++ b/docs/MessagesApi.md
@@ -105,6 +105,7 @@ catch (ApiException e)
| **401** | Unauthorized | - |
| **403** | Forbidden | - |
| **404** | Not Found | - |
+| **405** | Method Not Allowed | - |
| **406** | Not Acceptable | - |
| **415** | Unsupported Media Type | - |
| **429** | Too Many Requests | - |
diff --git a/docs/MmsMessageContent.md b/docs/MmsMessageContent.md
index ce3881fa..fabed58e 100644
--- a/docs/MmsMessageContent.md
+++ b/docs/MmsMessageContent.md
@@ -5,7 +5,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**Text** | **string** | The contents of the text message. Must be 2048 characters or less. | [optional]
-**Media** | **List<string>** | A list of URLs to include as media attachments as part of the message. Each URL can be at most 4096 characters. | [optional]
+**Media** | [**List<MmsMessageContentFile>**](MmsMessageContentFile.md) | | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/docs/MmsMessageContentFile.md b/docs/MmsMessageContentFile.md
new file mode 100644
index 00000000..35beae55
--- /dev/null
+++ b/docs/MmsMessageContentFile.md
@@ -0,0 +1,10 @@
+# Bandwidth.Standard.Model.MmsMessageContentFile
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**FileUrl** | **string** | The URL of a media attachment. For MMS, the API limits file size to 3.5MB. Specific carriers and channels may have a smaller limit that could cause a large file to fail, see [here](https://support.bandwidth.com/hc/en-us/articles/360014235473-What-are-the-MMS-file-size-limits) for more details. |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/MultiChannelAction.md b/docs/MultiChannelAction.md
index 09057543..76c29ffa 100644
--- a/docs/MultiChannelAction.md
+++ b/docs/MultiChannelAction.md
@@ -6,7 +6,7 @@ Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**Type** | **RbmActionTypeEnum** | |
**Text** | **string** | Displayed text for user to click |
-**PostBackData** | **byte[]** | Base64 payload the customer receives when the reply is clicked. |
+**PostbackData** | **byte[]** | Base64 payload the customer receives when the reply is clicked. |
**PhoneNumber** | **string** | The phone number to dial. Must be E164 format. |
**Latitude** | **double** | The latitude of the location. |
**Longitude** | **double** | The longitude of the location. |
diff --git a/docs/MultiChannelActionCalendarEvent.md b/docs/MultiChannelActionCalendarEvent.md
index 04ffb1cd..31b28d1c 100644
--- a/docs/MultiChannelActionCalendarEvent.md
+++ b/docs/MultiChannelActionCalendarEvent.md
@@ -6,7 +6,7 @@ Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**Type** | **RbmActionTypeEnum** | |
**Text** | **string** | Displayed text for user to click |
-**PostBackData** | **byte[]** | Base64 payload the customer receives when the reply is clicked. |
+**PostbackData** | **byte[]** | Base64 payload the customer receives when the reply is clicked. |
**Title** | **string** | The title of the event. |
**StartTime** | **DateTime** | The start time of the event. |
**EndTime** | **DateTime** | The end time of the event. |
diff --git a/docs/MultiChannelApi.md b/docs/MultiChannelApi.md
index 582e8742..9bef9031 100644
--- a/docs/MultiChannelApi.md
+++ b/docs/MultiChannelApi.md
@@ -104,6 +104,7 @@ catch (ApiException e)
| **401** | Unauthorized | - |
| **403** | Forbidden | - |
| **404** | Not Found | - |
+| **405** | Method Not Allowed | - |
| **406** | Not Acceptable | - |
| **415** | Unsupported Media Type | - |
| **429** | Too Many Requests | - |
diff --git a/docs/MultiChannelCallbackData.md b/docs/MultiChannelCallbackData.md
deleted file mode 100644
index e492cfed..00000000
--- a/docs/MultiChannelCallbackData.md
+++ /dev/null
@@ -1,14 +0,0 @@
-# Bandwidth.Standard.Model.MultiChannelCallbackData
-
-## Properties
-
-Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
-**Time** | **DateTime** | The time of the callback event. | [optional]
-**Type** | **MultiChannelStatusEnum** | | [optional]
-**To** | **string** | The phone number the message should be sent to in E164 format. | [optional]
-**Description** | **string** | | [optional]
-**Message** | [**MultiChannelMessageCallbackData**](MultiChannelMessageCallbackData.md) | | [optional]
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/MultiChannelChannelListObjectContent.md b/docs/MultiChannelChannelListObjectContent.md
index 51c967c7..facb69aa 100644
--- a/docs/MultiChannelChannelListObjectContent.md
+++ b/docs/MultiChannelChannelListObjectContent.md
@@ -7,7 +7,7 @@ Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**Text** | **string** | The contents of the text message. Must be 2048 characters or less. |
**Suggestions** | [**List<MultiChannelAction>**](MultiChannelAction.md) | An array of suggested actions for the recipient. | [optional]
-**Media** | **List<string>** | A list of URLs to include as media attachments as part of the message. Each URL can be at most 4096 characters. |
+**Media** | [**List<MmsMessageContentFile>**](MmsMessageContentFile.md) | |
**Orientation** | **StandaloneCardOrientationEnum** | |
**ThumbnailImageAlignment** | **ThumbnailAlignmentEnum** | |
**CardContent** | [**RbmCardContent**](RbmCardContent.md) | |
diff --git a/docs/DeferredResult.md b/docs/MultiChannelError.md
similarity index 55%
rename from docs/DeferredResult.md
rename to docs/MultiChannelError.md
index 9d7b82e9..a0a50083 100644
--- a/docs/DeferredResult.md
+++ b/docs/MultiChannelError.md
@@ -1,11 +1,12 @@
-# Bandwidth.Standard.Model.DeferredResult
+# Bandwidth.Standard.Model.MultiChannelError
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**Result** | **Object** | | [optional]
-**SetOrExpired** | **bool** | | [optional]
+**Links** | [**List<Link>**](Link.md) | | [optional]
+**Data** | **Object** | | [optional]
+**Errors** | [**List<ErrorObject>**](ErrorObject.md) | | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/docs/MultiChannelMessageCallbackData.md b/docs/MultiChannelMessageCallbackData.md
deleted file mode 100644
index aa2fb4c9..00000000
--- a/docs/MultiChannelMessageCallbackData.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# Bandwidth.Standard.Model.MultiChannelMessageCallbackData
-
-## Properties
-
-Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
-**MessageId** | **string** | The ID of the message. | [optional]
-**Status** | **MultiChannelStatusEnum** | | [optional]
-**Direction** | **MultiChannelMessageDirectionEnum** | | [optional]
-**From** | **string** | The sender ID of the message. This could be an alphanumeric sender ID. | [optional]
-**To** | **string** | The phone number the message should be sent to in E164 format. | [optional]
-**ApplicationId** | **string** | The ID of the Application your from number or senderId is associated with in the Bandwidth Phone Number Dashboard. | [optional]
-**Channel** | **MultiChannelMessageChannelEnum** | | [optional]
-**Tag** | **string** | A custom string that will be included in callback events of the message. Max 1024 characters. | [optional]
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/MultiChannelStatusEnum.md b/docs/MultiChannelMessageContent.md
similarity index 53%
rename from docs/MultiChannelStatusEnum.md
rename to docs/MultiChannelMessageContent.md
index 71a7eacb..d24e8955 100644
--- a/docs/MultiChannelStatusEnum.md
+++ b/docs/MultiChannelMessageContent.md
@@ -1,9 +1,12 @@
-# Bandwidth.Standard.Model.MultiChannelStatusEnum
+# Bandwidth.Standard.Model.MultiChannelMessageContent
+The structure of the content field of a multichannel message.
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
+**Text** | **string** | | [optional]
+**Media** | [**RbmMessageContentFile**](RbmMessageContentFile.md) | | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/docs/MultiChannelMessageData.md b/docs/MultiChannelMessageData.md
deleted file mode 100644
index 4bd01e80..00000000
--- a/docs/MultiChannelMessageData.md
+++ /dev/null
@@ -1,18 +0,0 @@
-# Bandwidth.Standard.Model.MultiChannelMessageData
-
-## Properties
-
-Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
-**MessageId** | **string** | The ID of the message. | [optional]
-**Status** | **MultiChannelStatusEnum** | | [optional]
-**Time** | **DateTime** | The time the message was received by the Bandwidth API. | [optional]
-**Direction** | **MultiChannelMessageDirectionEnum** | | [optional]
-**From** | **string** | The sender ID of the message. This could be an alphanumeric sender ID. | [optional]
-**To** | **string** | The phone number the message should be sent to in E164 format. | [optional]
-**ApplicationId** | **string** | The ID of the Application your from number or senderId is associated with in the Bandwidth Phone Number Dashboard. | [optional]
-**Channel** | **MultiChannelMessageChannelEnum** | | [optional]
-**Tag** | **string** | A custom string that will be included in callback events of the message. Max 1024 characters. | [optional]
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/MultiChannelMessageResponseData.md b/docs/MultiChannelMessageResponseData.md
new file mode 100644
index 00000000..f5228ddd
--- /dev/null
+++ b/docs/MultiChannelMessageResponseData.md
@@ -0,0 +1,18 @@
+# Bandwidth.Standard.Model.MultiChannelMessageResponseData
+The data returned in a multichannel message response.
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**MessageId** | **string** | The ID of the message. |
+**Time** | **DateTime** | The time the message was received by the Bandwidth API. |
+**Direction** | **MessageDirectionEnum** | |
+**To** | **List<string>** | The destination phone number(s) of the message, in E164 format. |
+**ChannelList** | [**List<MultiChannelMessageResponseDataChannelListInner>**](MultiChannelMessageResponseDataChannelListInner.md) | A list of message bodies. The messages will be attempted in the order they are listed. Once a message sends successfully, the others will be ignored. |
+**Tag** | **string** | A custom string that will be included in callback events of the message. Max 1024 characters. | [optional]
+**Priority** | **PriorityEnum** | | [optional]
+**Expiration** | **DateTime** | A string with the date/time value that the message will automatically expire by. This must be a valid RFC-3339 value, e.g., 2021-03-14T01:59:26Z or 2021-03-13T20:59:26-05:00. Must be a date-time in the future. | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/MultiChannelMessageResponseDataChannelListInner.md b/docs/MultiChannelMessageResponseDataChannelListInner.md
new file mode 100644
index 00000000..21061cb5
--- /dev/null
+++ b/docs/MultiChannelMessageResponseDataChannelListInner.md
@@ -0,0 +1,14 @@
+# Bandwidth.Standard.Model.MultiChannelMessageResponseDataChannelListInner
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**From** | **string** | The sender ID of the message. This could be an alphanumeric sender ID. |
+**ApplicationId** | **string** | The ID of the Application your from number or senderId is associated with in the Bandwidth Phone Number Dashboard. |
+**Channel** | **MultiChannelMessageChannelEnum** | |
+**Content** | [**MultiChannelChannelListObjectContent**](MultiChannelChannelListObjectContent.md) | |
+**Owner** | **string** | The Bandwidth senderId associated with the message. Identical to 'from'. |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/PriorityEnum.md b/docs/PriorityEnum.md
index 5c17cb50..8797c450 100644
--- a/docs/PriorityEnum.md
+++ b/docs/PriorityEnum.md
@@ -1,5 +1,5 @@
# Bandwidth.Standard.Model.PriorityEnum
-The priority specified by the user.
+Specifies the message's sending priority with respect to other messages in your account. For best results and optimal throughput, reserve the 'high' priority setting for critical messages only.
## Properties
diff --git a/docs/RbmActionBase.md b/docs/RbmActionBase.md
index 7ee5324c..704de253 100644
--- a/docs/RbmActionBase.md
+++ b/docs/RbmActionBase.md
@@ -6,7 +6,7 @@ Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**Type** | **RbmActionTypeEnum** | |
**Text** | **string** | Displayed text for user to click |
-**PostBackData** | **byte[]** | Base64 payload the customer receives when the reply is clicked. |
+**PostbackData** | **byte[]** | Base64 payload the customer receives when the reply is clicked. |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/docs/RbmActionDial.md b/docs/RbmActionDial.md
index d5b18e43..33ceb529 100644
--- a/docs/RbmActionDial.md
+++ b/docs/RbmActionDial.md
@@ -6,7 +6,7 @@ Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**Type** | **RbmActionTypeEnum** | |
**Text** | **string** | Displayed text for user to click |
-**PostBackData** | **byte[]** | Base64 payload the customer receives when the reply is clicked. |
+**PostbackData** | **byte[]** | Base64 payload the customer receives when the reply is clicked. |
**PhoneNumber** | **string** | The phone number to dial. Must be E164 format. |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/docs/RbmActionOpenUrl.md b/docs/RbmActionOpenUrl.md
index a86c6ea8..f1dec721 100644
--- a/docs/RbmActionOpenUrl.md
+++ b/docs/RbmActionOpenUrl.md
@@ -6,7 +6,7 @@ Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**Type** | **RbmActionTypeEnum** | |
**Text** | **string** | Displayed text for user to click |
-**PostBackData** | **byte[]** | Base64 payload the customer receives when the reply is clicked. |
+**PostbackData** | **byte[]** | Base64 payload the customer receives when the reply is clicked. |
**Url** | **string** | The URL to open in browser. |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/docs/RbmActionViewLocation.md b/docs/RbmActionViewLocation.md
index 237b9aed..f61ad965 100644
--- a/docs/RbmActionViewLocation.md
+++ b/docs/RbmActionViewLocation.md
@@ -6,7 +6,7 @@ Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**Type** | **RbmActionTypeEnum** | |
**Text** | **string** | Displayed text for user to click |
-**PostBackData** | **byte[]** | Base64 payload the customer receives when the reply is clicked. |
+**PostbackData** | **byte[]** | Base64 payload the customer receives when the reply is clicked. |
**Latitude** | **double** | The latitude of the location. |
**Longitude** | **double** | The longitude of the location. |
**Label** | **string** | The label of the location. | [optional]
diff --git a/docs/CallbackTypeEnum.md b/docs/RbmLocationResponse.md
similarity index 55%
rename from docs/CallbackTypeEnum.md
rename to docs/RbmLocationResponse.md
index 31e8607d..cd154df9 100644
--- a/docs/CallbackTypeEnum.md
+++ b/docs/RbmLocationResponse.md
@@ -1,10 +1,11 @@
-# Bandwidth.Standard.Model.CallbackTypeEnum
-Indicates the type of the callback: - `message-received` for inbound callbacks. - One of `message-sending`, `message-delivered`, `message-failed` for status callbacks.
+# Bandwidth.Standard.Model.RbmLocationResponse
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
+**Latitude** | **double** | The latitude of the client's location. | [optional]
+**Longitude** | **double** | The longitude of the client's location. | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/docs/MultiChannelMessageDirectionEnum.md b/docs/RbmSuggestionResponse.md
similarity index 52%
rename from docs/MultiChannelMessageDirectionEnum.md
rename to docs/RbmSuggestionResponse.md
index 31495a12..eb00fe01 100644
--- a/docs/MultiChannelMessageDirectionEnum.md
+++ b/docs/RbmSuggestionResponse.md
@@ -1,9 +1,11 @@
-# Bandwidth.Standard.Model.MultiChannelMessageDirectionEnum
+# Bandwidth.Standard.Model.RbmSuggestionResponse
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
+**Text** | **string** | The text associated with the suggestion response. | [optional]
+**PostbackData** | **byte[]** | Base64 payload the customer receives when the reply is clicked. | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/docs/StatusCallback.md b/docs/StatusCallback.md
new file mode 100644
index 00000000..e584abe1
--- /dev/null
+++ b/docs/StatusCallback.md
@@ -0,0 +1,18 @@
+# Bandwidth.Standard.Model.StatusCallback
+Represents a status callback for an outbound MT SMS or MMS or RBM message.
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Time** | **DateTime** | |
+**EventTime** | **DateTime** | Represents the time at which the message was read, for `message-read` callbacks. | [optional]
+**Type** | **StatusCallbackTypeEnum** | |
+**To** | **string** | The destination phone number the message was sent to. For status callbacks, this the the Bandwidth user's client phone number. |
+**Description** | **string** | A detailed description of the event described by the callback. |
+**Message** | [**StatusCallbackMessage**](StatusCallbackMessage.md) | |
+**ErrorCode** | **int** | Optional error code, applicable only when type is `message-failed`. | [optional]
+**CarrierName** | **string** | The name of the Authorized Message Provider (AMP) that handled this message. In the US, this is the carrier that the message was sent to. This field is present only when this account feature has been enabled. | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/StatusCallbackMessage.md b/docs/StatusCallbackMessage.md
new file mode 100644
index 00000000..c78a5269
--- /dev/null
+++ b/docs/StatusCallbackMessage.md
@@ -0,0 +1,23 @@
+# Bandwidth.Standard.Model.StatusCallbackMessage
+Message payload schema within a callback
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Id** | **string** | A unique identifier of the message. |
+**Owner** | **string** | The Bandwidth phone number or alphanumeric identifier associated with the message. |
+**ApplicationId** | **string** | The ID of the Application your from number or senderId is associated with in the Bandwidth Phone Number Dashboard. |
+**Time** | **DateTime** | |
+**SegmentCount** | **int** | The number of segments the user's message is broken into before sending over carrier networks. |
+**Direction** | **MessageDirectionEnum** | |
+**To** | **List<string>** | The phone number recipients of the message. |
+**From** | **string** | The Bandwidth phone number or alphanumeric identifier the message was sent from. |
+**Text** | **string** | | [optional]
+**Tag** | **string** | A custom string that will be included in callback events of the message. Max 1024 characters. | [optional]
+**Media** | **List<string>** | Optional media, not applicable for sms | [optional]
+**Priority** | **PriorityEnum** | | [optional]
+**Channel** | **MultiChannelMessageChannelEnum** | | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/StatusCallbackTypeEnum.md b/docs/StatusCallbackTypeEnum.md
new file mode 100644
index 00000000..bbd2c889
--- /dev/null
+++ b/docs/StatusCallbackTypeEnum.md
@@ -0,0 +1,10 @@
+# Bandwidth.Standard.Model.StatusCallbackTypeEnum
+The possible status callbacks when sending an MT SMS or MMS or RBM message: - `message-sending` indicates that Bandwidth is sending the message to the upstream provider. - `message-delivered` indicates that the message was successfully sent. - `message-failed` indicates that the message could not be sent to the intended recipient. - `message-read` indicates that the RBM message was read by the recipient.
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/Tag.md b/docs/Tag.md
deleted file mode 100644
index c53d7d10..00000000
--- a/docs/Tag.md
+++ /dev/null
@@ -1,11 +0,0 @@
-# Bandwidth.Standard.Model.Tag
-
-## Properties
-
-Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
-**Key** | **string** | | [optional]
-**Value** | **string** | | [optional]
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/TollFreeVerificationApi.md b/docs/TollFreeVerificationApi.md
index fbbda62d..69151969 100644
--- a/docs/TollFreeVerificationApi.md
+++ b/docs/TollFreeVerificationApi.md
@@ -5,6 +5,7 @@ All URIs are relative to *http://localhost*
| Method | HTTP request | Description |
|--------|--------------|-------------|
| [**CreateWebhookSubscription**](TollFreeVerificationApi.md#createwebhooksubscription) | **POST** /accounts/{accountId}/tollFreeVerification/webhooks/subscriptions | Create Webhook Subscription |
+| [**DeleteVerificationRequest**](TollFreeVerificationApi.md#deleteverificationrequest) | **DELETE** /accounts/{accountId}/phoneNumbers/{phoneNumber}/tollFreeVerification | Delete a Toll-Free Verification Submission |
| [**DeleteWebhookSubscription**](TollFreeVerificationApi.md#deletewebhooksubscription) | **DELETE** /accounts/{accountId}/tollFreeVerification/webhooks/subscriptions/{id} | Delete Webhook Subscription |
| [**GetTollFreeVerificationStatus**](TollFreeVerificationApi.md#gettollfreeverificationstatus) | **GET** /accounts/{accountId}/phoneNumbers/{phoneNumber}/tollFreeVerification | Get Toll-Free Verification Status |
| [**ListTollFreeUseCases**](TollFreeVerificationApi.md#listtollfreeusecases) | **GET** /tollFreeVerification/useCases | List Toll-Free Use Cases |
@@ -118,6 +119,107 @@ catch (ApiException e)
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
+# **DeleteVerificationRequest**
+> void DeleteVerificationRequest (string accountId, string phoneNumber)
+
+Delete a Toll-Free Verification Submission
+
+Delete a toll-free verification submission for a toll-free number.
+
+### Example
+```csharp
+using System.Collections.Generic;
+using System.Diagnostics;
+using Bandwidth.Standard.Api;
+using Bandwidth.Standard.Client;
+using Bandwidth.Standard.Model;
+
+namespace Example
+{
+ public class DeleteVerificationRequestExample
+ {
+ public static void Main()
+ {
+ Configuration config = new Configuration();
+ config.BasePath = "http://localhost";
+ // Configure HTTP basic authorization: Basic
+ config.Username = "YOUR_USERNAME";
+ config.Password = "YOUR_PASSWORD";
+
+ var apiInstance = new TollFreeVerificationApi(config);
+ var accountId = 9900000; // string | Your Bandwidth Account ID.
+ var phoneNumber = +18885555555; // string | Valid Toll-Free telephone number in E.164 format.
+
+ try
+ {
+ // Delete a Toll-Free Verification Submission
+ apiInstance.DeleteVerificationRequest(accountId, phoneNumber);
+ }
+ catch (ApiException e)
+ {
+ Debug.Print("Exception when calling TollFreeVerificationApi.DeleteVerificationRequest: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+ }
+ }
+ }
+}
+```
+
+#### Using the DeleteVerificationRequestWithHttpInfo variant
+This returns an ApiResponse object which contains the response data, status code and headers.
+
+```csharp
+try
+{
+ // Delete a Toll-Free Verification Submission
+ apiInstance.DeleteVerificationRequestWithHttpInfo(accountId, phoneNumber);
+}
+catch (ApiException e)
+{
+ Debug.Print("Exception when calling TollFreeVerificationApi.DeleteVerificationRequestWithHttpInfo: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+}
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+|------|------|-------------|-------|
+| **accountId** | **string** | Your Bandwidth Account ID. | |
+| **phoneNumber** | **string** | Valid Toll-Free telephone number in E.164 format. | |
+
+### Return type
+
+void (empty response body)
+
+### Authorization
+
+[Basic](../README.md#Basic)
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
+
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **204** | No Content | - |
+| **400** | Bad Request | - |
+| **401** | Unauthorized | - |
+| **403** | Forbidden | - |
+| **404** | Cannot find the requested resource. | - |
+| **405** | Method Not Allowed | - |
+| **429** | Too Many Requests | - |
+| **500** | Internal Server Error | - |
+| **503** | Service Unavailable | - |
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
# **DeleteWebhookSubscription**
> void DeleteWebhookSubscription (string accountId, string id)
diff --git a/src/Bandwidth.Standard.Test/Unit/Api/TollFreeVerificationApiTests.cs b/src/Bandwidth.Standard.Test/Unit/Api/TollFreeVerificationApiTests.cs
index 5b571f69..495e0a9c 100644
--- a/src/Bandwidth.Standard.Test/Unit/Api/TollFreeVerificationApiTests.cs
+++ b/src/Bandwidth.Standard.Test/Unit/Api/TollFreeVerificationApiTests.cs
@@ -108,6 +108,18 @@ public void CreateWebhookSubscriptionTest()
// Assert.IsType(response);
}
+ ///
+ /// Test DeleteVerificationRequest
+ ///
+ [Fact]
+ public void DeleteVerificationRequestTest()
+ {
+ // TODO uncomment below to test the method and replace null with proper value
+ //string accountId = null;
+ //string phoneNumber = null;
+ //instance.DeleteVerificationRequest(accountId, phoneNumber);
+ }
+
///
/// Test DeleteWebhookSubscription
///
diff --git a/src/Bandwidth.Standard.Test/Unit/Model/BridgeCompleteCallbackTests.cs b/src/Bandwidth.Standard.Test/Unit/Model/BridgeCompleteCallbackTests.cs
index 96ce86c6..b787e482 100644
--- a/src/Bandwidth.Standard.Test/Unit/Model/BridgeCompleteCallbackTests.cs
+++ b/src/Bandwidth.Standard.Test/Unit/Model/BridgeCompleteCallbackTests.cs
@@ -127,7 +127,7 @@ public void CallIdTest()
{
instance.CallId = "c-1234";
Assert.IsType(instance.CallId);
- Assert.Equal("c-1234", instance.CallId);
+ Assert.Equal("c-1234", instance.CallId);
}
///
/// Test the property 'CallUrl'
diff --git a/src/Bandwidth.Standard.Test/Unit/Model/CallbackMethodEnumTests.cs b/src/Bandwidth.Standard.Test/Unit/Model/CallbackMethodEnumTests.cs
index 09a1ae49..e189c5d3 100644
--- a/src/Bandwidth.Standard.Test/Unit/Model/CallbackMethodEnumTests.cs
+++ b/src/Bandwidth.Standard.Test/Unit/Model/CallbackMethodEnumTests.cs
@@ -47,7 +47,7 @@ public void CallbackMethodEnumInstanceTest()
{
Assert.IsType(instance);
}
-
+
}
}
diff --git a/src/Bandwidth.Standard.Test/Unit/Model/CallbackTests.cs b/src/Bandwidth.Standard.Test/Unit/Model/CallbackTests.cs
new file mode 100644
index 00000000..9dedcc1e
--- /dev/null
+++ b/src/Bandwidth.Standard.Test/Unit/Model/CallbackTests.cs
@@ -0,0 +1,99 @@
+/*
+ * Bandwidth
+ *
+ * Bandwidth's Communication APIs
+ *
+ * The version of the OpenAPI document: 1.0.0
+ * Contact: letstalk@bandwidth.com
+ * Generated by: https://github.com/openapitools/openapi-generator.git
+ */
+
+
+using Xunit;
+
+using System;
+using System.Linq;
+using System.IO;
+using System.Collections.Generic;
+using Bandwidth.Standard.Model;
+using Bandwidth.Standard.Client;
+using System.Reflection;
+using Newtonsoft.Json;
+
+namespace Bandwidth.Standard.Test.Model
+{
+ ///
+ /// Class for testing Callback
+ ///
+ ///
+ /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech).
+ /// Please update the test case below to test the model.
+ ///
+ public class CallbackTests : IDisposable
+ {
+ private Callback instanceInboundCallback;
+ private Callback instanceStatusCallback;
+
+ public CallbackTests()
+ {
+ instanceInboundCallback = new Callback(new InboundCallback(
+ time: DateTime.Now,
+ type: InboundCallbackTypeEnum.MessageReceived,
+ to: "1234567890",
+ description: "Test Callback",
+ message: new InboundCallbackMessage(
+ id: "1661365814859loidf7mcwd4qacn7",
+ owner: "+15553332222",
+ applicationId: "93de2206-9669-4e07-948d-329f4b722ee2",
+ time: DateTime.Now,
+ segmentCount: 1,
+ direction: MessageDirectionEnum.In,
+ to: new List { "+15552223333" },
+ from: "+15553332222"
+ ),
+ carrierName: "Test Carrier"
+ ));
+
+ instanceStatusCallback = new Callback(new StatusCallback(
+ time: DateTime.Now,
+ eventTime: DateTime.Now,
+ type: StatusCallbackTypeEnum.Sending,
+ to: "1234567890",
+ description: "Test Status Callback",
+ message: new StatusCallbackMessage(
+ id: "1661365814859loidf7mcwd4qacn7",
+ owner: "+15553332222",
+ applicationId: "93de2206-9669-4e07-948d-329f4b722ee2",
+ time: DateTime.Now,
+ segmentCount: 1,
+ direction: MessageDirectionEnum.In,
+ to: new List { "+15552223333" },
+ from: "+15553332222",
+ text: "Hello world",
+ tag: "custom string",
+ media: new List { "https://dev.bandwidth.com/images/bandwidth-logo.png" },
+ priority: PriorityEnum.Default,
+ channel: MultiChannelMessageChannelEnum.SMS
+ ),
+ carrierName: "Test Carrier"
+ ));
+ }
+
+ public void Dispose()
+ {
+ // Cleanup when everything is done.
+ }
+
+ ///
+ /// Test an instance of Callback
+ ///
+ [Fact]
+ public void CallbackInstanceTest()
+ {
+ Assert.IsType(instanceInboundCallback);
+ Assert.IsType(instanceInboundCallback.ActualInstance);
+ Assert.IsType(instanceStatusCallback);
+ Assert.IsType(instanceStatusCallback.ActualInstance);
+ }
+ }
+}
diff --git a/src/Bandwidth.Standard.Test/Unit/Model/CreateCallTests.cs b/src/Bandwidth.Standard.Test/Unit/Model/CreateCallTests.cs
index 02d5be29..3c3f8182 100644
--- a/src/Bandwidth.Standard.Test/Unit/Model/CreateCallTests.cs
+++ b/src/Bandwidth.Standard.Test/Unit/Model/CreateCallTests.cs
@@ -109,7 +109,7 @@ public void DisplayNameTest()
{
Assert.IsType(instance.DisplayName);
Assert.Equal("John Doe", instance.DisplayName);
- }
+ }
///
/// Test the property 'Uui'
///
diff --git a/src/Bandwidth.Standard.Test/Unit/Model/CreateMessageRequestErrorTests.cs b/src/Bandwidth.Standard.Test/Unit/Model/CreateMessageRequestErrorTests.cs
index 95f17b46..893774d5 100644
--- a/src/Bandwidth.Standard.Test/Unit/Model/CreateMessageRequestErrorTests.cs
+++ b/src/Bandwidth.Standard.Test/Unit/Model/CreateMessageRequestErrorTests.cs
@@ -34,7 +34,7 @@ public CreateMessageRequestErrorTests()
{
fieldErrors = new List() {
new FieldError(
- fieldName: "from",
+ fieldName: "from",
description: "`invalid` must be replaced with a valid E164 formatted telephone number"
)
};
diff --git a/src/Bandwidth.Standard.Test/Unit/Model/DeferredResultTests.cs b/src/Bandwidth.Standard.Test/Unit/Model/DeferredResultTests.cs
deleted file mode 100644
index 9fe3e69f..00000000
--- a/src/Bandwidth.Standard.Test/Unit/Model/DeferredResultTests.cs
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * Bandwidth
- *
- * Bandwidth's Communication APIs
- *
- * The version of the OpenAPI document: 1.0.0
- * Contact: letstalk@bandwidth.com
- * Generated by: https://github.com/openapitools/openapi-generator.git
- */
-
-
-using Xunit;
-
-using System;
-using System.Linq;
-using System.IO;
-using System.Collections.Generic;
-using Bandwidth.Standard.Model;
-using Bandwidth.Standard.Client;
-using System.Reflection;
-using Newtonsoft.Json;
-
-namespace Bandwidth.Standard.Test.Unit.Model
-{
- ///
- /// Class for testing DeferredResult
- ///
- public class DeferredResultTests : IDisposable
- {
- private DeferredResult instance;
-
- public DeferredResultTests()
- {
- instance = new DeferredResult();
- }
-
- public void Dispose()
- {
- // Cleanup when everything is done.
- }
-
- ///
- /// Test an instance of DeferredResult
- ///
- [Fact]
- public void DeferredResultInstanceTest()
- {
- Assert.IsType(instance);
- }
-
-
- ///
- /// Test the property 'Result'
- ///
- [Fact]
- public void ResultTest()
- {
- instance.Result = "test";
- Assert.IsAssignableFrom