Skip to main content

Partial Gather

The Partial Gather event is sent after a <Gather> verb is executed. Its purpose is to report the 'partially' gathered text to the calling application .We can expect this event to be fired when the partialResultCallback attribute of the <Gather> verb is set and when the input attribute of the <Gather> verb is set to either speech or dtmf_speech and the user has provided some speech input but has not yet finished speaking .This event can be fired multiple times during a single gather ,each event may contain a chunk of the transcribed speech input from the user up until that point in time .The final gather result will still be sent in a separate gather event after the gather is completed and will contain the full gathered text .

Request Parameters

PropertyDescription
eventTypeThe event type, value is partialgather.
eventTimeThe approximate UTC date and time when the event was generated by the Bandwidth server, in ISO 8601 format. This may not be exactly the time of event execution.
accountIdThe user account associated with the call.
applicationIdThe id of the application associated with the call.
toThe phone number that received the call, in E.164 format (e.g. +15555555555).
fromThe provided identifier string of the caller used in the from field of the original call.
directionThe direction of the call. Either inbound or outbound. The direction of a call never changes.
callIdThe call id associated with the event.
parentCallId(optional) If the event is related to the B leg of a <Transfer>, the call id of the original call leg that executed the <Transfer>. Otherwise, this field will not be present.
callUrlThe URL of the call associated with the event.
enqueuedTime(optional) If call queueing is enabled and this is an outbound call, time the call was queued, in ISO 8601 format.
startTimeTime the call was started, in ISO 8601 format.
answerTimeTime the call was answered, in ISO 8601 format.
tag(optional) The tag specified earlier in the call. If no tag was specified or it was previously cleared, this field will not be present.
transferCallerId(optional) If the event is related to the B leg of a <Transfer>, the phone number used as the from field of the B-leg call, in E.164 format (e.g. +15555555555). Otherwise, this field will not be present.
transferTo(optional) If the event is related to the B leg of a <Transfer>, the phone number used as the to field of the B-leg call in E.164 format (e.g. +15555555555). Otherwise, this field will not be present.
text(optional) Present only if input was set to speech or dtmf_speech. Contains the partial/interim transcribed speech input from the user.
final(optional) Present only if input was set to speech or dtmf_speech. Is always false for partialgather event indicating that this is not the complete transcription for the speech input ,but only a part of it.

Expected Response

HTTP/1.1 200
Content-Type: application/xml; charset=utf-8

<Response>
<!-- BXML verbs to process in the call -->
</Response>

Examples

Partial Gather Event Received During A Gather

POST http://yourUrl.example/partialGather
Content-Type: application/json

{
"eventType" : "partialgather",
"eventTime" : "2026-05-05T08:20:46.966Z",
"accountId" : "55555555",
"applicationId" : "7fc9698a-b04a-468b-9e8f-91238c0d0086",
"startTime" : "2026-05-05T08:20:28.154Z",
"answerTime" : "2026-05-05T08:20:37.316Z",
"from" : "+15551112222",
"to" : "+15553334444",
"direction" : "outbound",
"callId" : "c-95ac8d6e-1a31c52e-b38f-4198-93c1-51633ec68f8d",
"callUrl" : "https://voice.bandwidth.com/api/v2/accounts/55555555/calls/c-95ac8d6e-1a31c52e-b38f-4198-93c1-51633ec68f8d",
"text" : "now"
"final" : false
}