Documentation Index
Fetch the complete documentation index at: https://docs.vobiz.ai/llms.txt
Use this file to discover all available pages before exploring further.
The official C# SDK for the Vobiz Voice API. Make outbound calls, manage SIP trunks, handle phone numbers, and construct programmatic XML workflows natively within .NET Core / .NET 8 applications.
Source code: vobiz-ai/Vobiz-Csharp-sdk
Installation
Clone the SDK source into your solution directly:
git clone https://github.com/vobiz-ai/Vobiz-Csharp-sdk.git
cd Vobiz-Csharp-sdk
dotnet build
Authentication
The .NET SDK uses standard Dependency Injection (DI) to register your auth credentials with the container host.
using Microsoft.Extensions.Hosting;
using Vobiz.Client;
using Vobiz.Extensions;
var host = Host.CreateDefaultBuilder(args)
.ConfigureApi((context, services, options) =>
{
options.AddTokens(new ApiKeyToken("YOUR_AUTH_ID", ClientUtils.ApiKeyHeader.X_Auth_ID, ""));
options.AddTokens(new ApiKeyToken("YOUR_AUTH_TOKEN", ClientUtils.ApiKeyHeader.X_Auth_Token, ""));
})
.Build();
Quick start
Fetch your account details:
using Microsoft.Extensions.DependencyInjection;
using Vobiz.Api;
var accountApi = host.Services.GetRequiredService<IAuthApi>();
var me = await accountApi.ApiV1AuthMeGetAsync(
xAuthID: "YOUR_AUTH_ID",
xAuthToken: "YOUR_AUTH_TOKEN",
contentType: "application/json"
);
Console.WriteLine(me.StatusCode);
For real-time call control, inject the ICallApi interface and pass your webhook URLs to manage outbound dial states.
VobizXML module
The SDK includes a fluent XML builder under Vobiz.Xml that is natively mapped to the official schema types. Chain elements together and emit the generated string from your API controllers.
using Vobiz.Xml;
var response = new ResponseElement()
.AddSpeak("Welcome to Vobiz.", voice: "WOMAN", language: "en-US")
.AddWait(length: 2)
.AddHangup();
var xml = response.ToString(pretty: true);
Console.WriteLine(xml);
Common operations
Queued network polling
var callApi = host.Services.GetRequiredService<ICallApi>();
var response = await callApi.ApiV1AccountAuthIdCallGetAsync(
authId: "YOUR_AUTH_ID",
xAuthID: "YOUR_AUTH_ID",
xAuthToken: "YOUR_AUTH_TOKEN",
contentType: "application/json",
status: "queued"
);
Console.WriteLine(response.StatusCode);
using Vobiz.Xml;
var gather = new GatherElement(
action: "https://example.com/gather",
method: "POST",
inputType: "speech",
executionTimeout: 15
).AddSpeak("Say sales or support").AddPlay("https://example.com/menu.mp3");
var response = new ResponseElement().Add(gather);
Console.WriteLine(response.ToString(false));
Resources