channels
voice
calls-markup-language
markup-language-instructions

Machine detection callback API

When the Infobip platform finishes machine detection requested by a MachineDetection instruction, it generates a request to the callback URL configured on Markup Language configuration (markupUrl). The request carries the call context together with the machine detection result.

postWebhooksend-machine-detection-callback

Payload

callIdstring

Unique identifier of the call.

fromstring

The phone number of the caller in the E.164 format.

tostring

The phone number of the callee in the E.164 format.

direction'INBOUND' | 'OUTBOUND'

The direction of the call. Possible values are: INBOUND, OUTBOUND.

startTimestring date-time

The timestamp when the call started, in ISO-8601 UTC format (yyyy-MM-dd'T'HH:mm:ss.SSSZ).

machineDetectionResult'HUMAN' | 'MACHINE' | 'MACHINE_EOM_BEEP' | 'MACHINE_EOM_SILENCE' | 'MACHINE_EOM_TIMEOUT'

The result of the machine detection process.

confidenceRatingobject

Confidence rating for the machine detection result.

Example payload

{
  "callId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "from": "41793026834",
  "to": "41793026835",
  "direction": "INBOUND",
  "endpoint": {
    "type": "PHONE",
    "phoneNumber": "41793026834"
  },
  "startTime": "2025-04-04T11:38:01.724Z",
  "machineDetectionResult": "HUMAN",
  "confidenceRating": {
    "HUMAN": 0.92,
    "MACHINE": 0.08
  }
}

Response

OK

Example response

{
  "actions": [
    {
      "say": {
        "language": "en",
        "voicePreferences": {
          "voice": "Joanna"
        }
      }
    }
  ]
}

Changes

Webhooks have no change history: a webhook is keyed by its event name rather than a path and method, so no recorded change can name it.