Introducing Confident Monitor

Create Voice Connection

(v2)

POST

Registers a voice agent Confident AI can call during simulations and returns it. The connection starts unverified; place a test call to verify it. Requires the Starter plan or above.

POST/v2/voice-connections
curl -X POST "https://api.confident-ai.com/v2/voice-connections" \
  -H "CONFIDENT_API_KEY: <PROJECT-API-KEY>" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Support line",
  "config": {
    "transport": "PHONE",
    "phoneNumber": "+14155550100",
    "carrier": "CONFIDENT",
    "trunkUri": "sip:outbound@trunk.example.com",
    "trunkCredentials": {
      "username": "confident",
      "password": "YOUR-SIP-PASSWORD"
    },
    "callerId": "+14155550199"
  },
  "callSettings": {
    "maxConcurrentCalls": 1,
    "ringTimeoutS": 45,
    "maxCallDurationS": 1800,
    "silenceTimeoutS": 30,
    "recordCalls": true
  }
}'
200
{
  "success": true,
  "data": {
    "id": "<VOICE-CONNECTION-ID>",
    "projectId": "<PROJECT-ID>",
    "name": "Support line",
    "active": true,
    "config": {
      "transport": "PHONE",
      "phoneNumber": "+14155550100",
      "carrier": "CONFIDENT",
      "trunkUri": "sip:outbound@trunk.example.com",
      "trunkCredentials": {
        "username": "confident",
        "password": "YOUR-SIP-PASSWORD"
      },
      "callerId": "+14155550199"
    },
    "callSettings": {
      "maxConcurrentCalls": 1,
      "ringTimeoutS": 45,
      "maxCallDurationS": 1800,
      "silenceTimeoutS": 30,
      "recordCalls": true
    },
    "createdAt": "2026-10-01T09:12:00.000Z",
    "updatedAt": "2026-10-08T16:40:00.000Z"
  },
  "link": "https://app.confident-ai.com/project/<PROJECT-ID>/voice-connections/<VOICE-CONNECTION-ID>",
  "deprecated": false
}

Headers

  • CONFIDENT_API_KEYstringRequired

    The API key of your Confident AI project.

Request body

  • namestringRequired

    A name for the voice connection, unique within the project.

  • configobject | object | objectRequired

    How Confident AI reaches your voice agent. transport decides which shape applies.

    Show 3 variantsHide 3 variants
    • Phone Voice Configobject

      Dials your agent over the phone network.

      Show 6 propertiesHide 6 properties
      • transportenumRequired

        Show 1 enum valueHide 1 enum value
        • PHONE
      • phoneNumberstringRequired

        The E.164 phone number to dial.

      • carrierenumRequired

        Who carries the call to the phone network: CONFIDENT uses Confident AI's own trunk, CUSTOM_TRUNK uses yours.

        Show 2 enum valuesHide 2 enum values
        • CONFIDENT
        • CUSTOM_TRUNK
      • trunkUristringRequired

        The sip: address of your outbound trunk. Required when carrier is CUSTOM_TRUNK.

      • trunkCredentialsobject | nullRequired

        Digest credentials used to authenticate a SIP call.

        Show 2 propertiesHide 2 properties
        • usernamestringRequired

          The SIP digest username.

        • passwordstringRequired

          The SIP digest password.

      • callerIdstringRequired

        The number or sip: address presented to your agent as the caller. Leave it empty to use the default.

    • OR
    • SIP Voice Configobject

      Calls your agent's SIP address directly.

      Show 6 propertiesHide 6 properties
      • transportenumRequired

        Show 1 enum valueHide 1 enum value
        • SIP
      • sipUristringRequired

        The sip: address of your agent.

      • signalingTransportenumRequired

        The transport used for SIP signaling. A ;transport= parameter on sipUri takes precedence.

        Show 3 enum valuesHide 3 enum values
        • UDP
        • TCP
        • TLS
      • credentialsobject | nullRequired

        Digest credentials used to authenticate a SIP call.

        Show 2 propertiesHide 2 properties
        • usernamestringRequired

          The SIP digest username.

        • passwordstringRequired

          The SIP digest password.

      • callerIdstringRequired

        The number or sip: address presented to your agent as the caller. Leave it empty to use the default.

      • headerslist of objectsRequired

        Extra X- headers sent on the INVITE, for routing on your side.

        Show 2 propertiesHide 2 properties
        • keystringRequired

          The header name.

        • valuestringRequired

          The header value.

    • OR
    • WebRTC Voice Configobject

      Joins a WebRTC session with your agent.

      Show 6 propertiesHide 6 properties
      • transportenumRequired

        Show 1 enum valueHide 1 enum value
        • WEBRTC
      • providerenumRequired

        Where your agent runs: LIVEKIT joins a LiveKit room, PIPECAT starts a Pipecat session, and CUSTOM posts an SDP offer to your own signaling URL.

        Show 3 enum valuesHide 3 enum values
        • LIVEKIT
        • CUSTOM
        • PIPECAT
      • urlstringRequired

        The LiveKit server URL (wss://), the Pipecat start URL (https://), or your signaling URL (wss:// or https://).

      • livekitobjectRequired

        LiveKit settings, read when provider is LIVEKIT.

        Show 3 propertiesHide 3 properties
        • apiKeystringRequired

          The LiveKit API key.

        • apiSecretstringRequired

          The LiveKit API secret.

        • agentNamestringRequired

          The LiveKit agent to dispatch into the room, if any.

      • pipecatobjectRequired

        Pipecat settings, read when provider is PIPECAT.

        Show 2 propertiesHide 2 properties
        • transportenumRequired

          The transport your Pipecat agent runs on.

          Show 2 enum valuesHide 2 enum values
          • DAILY
          • WEBRTC
        • apiKeystringRequired

          The Pipecat Cloud API key, if any.

      • headerslist of objectsRequired

        Headers sent to your signaling URL, read when provider is CUSTOM or PIPECAT.

        Show 2 propertiesHide 2 properties
        • keystringRequired

          The header name.

        • valuestringRequired

          The header value.

  • callSettingsobject

    The call limits to set. Omitted settings keep their value.

    Show 5 propertiesHide 5 properties
    • maxConcurrentCallsinteger

      The most calls placed to your agent at once.

    • ringTimeoutSinteger

      Seconds to wait for your agent to answer, for PHONE and SIP.

    • maxCallDurationSinteger

      Seconds after which a call is hung up.

    • silenceTimeoutSinteger | null

      Seconds of silence from both sides after which a call is hung up, or null to never hang up for silence.

    • recordCallsboolean

      Whether simulated calls are recorded.

Response

Create Voice Connection succeeded.

  • successboolean

    Indicates if the request was successful.

  • dataobject

    A voice agent Confident AI calls during simulations. Stored credentials are returned as saved, so treat the response as carrying secrets.

    Show 8 propertiesHide 8 properties
    • idstring

      The id of the voice connection, generated by Confident AI.

    • projectIdstring

      The id of the project the connection belongs to.

    • namestring

      The name of the voice connection.

    • activeboolean

      Whether the last test call reached your agent. Changing config resets it to false.

    • configobject | object | object

      How Confident AI reaches your voice agent. transport decides which shape applies.

      Show 3 variantsHide 3 variants
      • Phone Voice Configobject

        Dials your agent over the phone network.

        Show 6 propertiesHide 6 properties
        • transportenum

          Show 1 enum valueHide 1 enum value
          • PHONE
        • phoneNumberstring

          The E.164 phone number to dial.

        • carrierenum

          Who carries the call to the phone network: CONFIDENT uses Confident AI's own trunk, CUSTOM_TRUNK uses yours.

          Show 2 enum valuesHide 2 enum values
          • CONFIDENT
          • CUSTOM_TRUNK
        • trunkUristring

          The sip: address of your outbound trunk. Required when carrier is CUSTOM_TRUNK.

        • trunkCredentialsobject | null

          Digest credentials used to authenticate a SIP call.

          Show 2 propertiesHide 2 properties
          • usernamestring

            The SIP digest username.

          • passwordstring

            The SIP digest password.

        • callerIdstring

          The number or sip: address presented to your agent as the caller. Leave it empty to use the default.

      • OR
      • SIP Voice Configobject

        Calls your agent's SIP address directly.

        Show 6 propertiesHide 6 properties
        • transportenum

          Show 1 enum valueHide 1 enum value
          • SIP
        • sipUristring

          The sip: address of your agent.

        • signalingTransportenum

          The transport used for SIP signaling. A ;transport= parameter on sipUri takes precedence.

          Show 3 enum valuesHide 3 enum values
          • UDP
          • TCP
          • TLS
        • credentialsobject | null

          Digest credentials used to authenticate a SIP call.

          Show 2 propertiesHide 2 properties
          • usernamestring

            The SIP digest username.

          • passwordstring

            The SIP digest password.

        • callerIdstring

          The number or sip: address presented to your agent as the caller. Leave it empty to use the default.

        • headerslist of objects

          Extra X- headers sent on the INVITE, for routing on your side.

          Show 2 propertiesHide 2 properties
          • keystring

            The header name.

          • valuestring

            The header value.

      • OR
      • WebRTC Voice Configobject

        Joins a WebRTC session with your agent.

        Show 6 propertiesHide 6 properties
        • transportenum

          Show 1 enum valueHide 1 enum value
          • WEBRTC
        • providerenum

          Where your agent runs: LIVEKIT joins a LiveKit room, PIPECAT starts a Pipecat session, and CUSTOM posts an SDP offer to your own signaling URL.

          Show 3 enum valuesHide 3 enum values
          • LIVEKIT
          • CUSTOM
          • PIPECAT
        • urlstring

          The LiveKit server URL (wss://), the Pipecat start URL (https://), or your signaling URL (wss:// or https://).

        • livekitobject

          LiveKit settings, read when provider is LIVEKIT.

          Show 3 propertiesHide 3 properties
          • apiKeystring

            The LiveKit API key.

          • apiSecretstring

            The LiveKit API secret.

          • agentNamestring

            The LiveKit agent to dispatch into the room, if any.

        • pipecatobject

          Pipecat settings, read when provider is PIPECAT.

          Show 2 propertiesHide 2 properties
          • transportenum

            The transport your Pipecat agent runs on.

            Show 2 enum valuesHide 2 enum values
            • DAILY
            • WEBRTC
          • apiKeystring

            The Pipecat Cloud API key, if any.

        • headerslist of objects

          Headers sent to your signaling URL, read when provider is CUSTOM or PIPECAT.

          Show 2 propertiesHide 2 properties
          • keystring

            The header name.

          • valuestring

            The header value.

    • callSettingsobject

      Limits applied to every call placed to your agent.

      Show 5 propertiesHide 5 properties
      • maxConcurrentCallsinteger

        The most calls placed to your agent at once.

      • ringTimeoutSinteger

        Seconds to wait for your agent to answer, for PHONE and SIP.

      • maxCallDurationSinteger

        Seconds after which a call is hung up.

      • silenceTimeoutSinteger | null

        Seconds of silence from both sides after which a call is hung up, or null to never hang up for silence.

      • recordCallsboolean

        Whether simulated calls are recorded.

    • createdAtstring

      When the connection was created, as an ISO 8601 timestamp.

    • updatedAtstring

      When the connection last changed, as an ISO 8601 timestamp.

  • linkstring

    This is the URL of the resource on the Confident AI platform.

  • deprecatedboolean

    Indicates if this endpoint is deprecated.

Built byConfident AI