Examples in the go-sdk repo.

Voice — outbound originate

v, _    := voice.New(voice.Config{BaseURL: BASE_URL, APIKey: KEY, OrgID: ORG})
call, _ := v.Calls.Originate(ctx, voice.OriginateArgs{
  To: "+15551234567", From: "+15558675309",
  TrunkID: "trunk_main", Agent: "healthcare-assistant",
})
fmt.Println("call sid:", call.SID)

Streams — record-to-disk viewer

out, _ := os.Create("recording.mp4")
viewer, _ := streams.OpenBroadcastViewer(ctx, signedURL, streams.ViewerOpts{
  OnChunk: func(init, chunk []byte) { out.Write(chunk) },
})
defer viewer.Close()

Robotics — telemetry publisher

r, _    := robotics.New(robotics.Config{RelayHost: HOST, Token: TOK, RobotID: "tb-7"})
odom, _ := r.PublishTelemetry(ctx, robotics.PublishArgs{
  Topic: "odom", TypeName: "nav_msgs/msg/Odometry",
  QoS:   robotics.QoSProfile{Reliability: robotics.Reliable, Depth: 10},
})
for tick := range time.Tick(100 * time.Millisecond) { _ = tick; odom.Write(cdr) }

Games — authoritative server

g, _     := games.New(games.Config{RelayHost: HOST, Token: TOK, RoomID: "duel-42"})
state, _ := g.PublishState(ctx, games.StateOpts{TickHZ: 30})

g.SubscribeInputs(ctx, func(pid string, p []byte) { world.Apply(pid, p) })
for range time.Tick(time.Second / 30) { state.Write(world.Snapshot()) }

Data — MQTT-style subscribe

d, _ := data.New(data.Config{RelayHost: HOST, Token: TOK, ClientID: "ingest"})
sub, _ := d.Subscribe(ctx, data.SubscribeArgs{TopicFilter: "sensors/+/temperature"},
  func(msg data.Message) {
    log.Printf("%s%s = %s", msg.Topic, msg.FromClientID, string(msg.Payload))
  })
defer sub.Close()