Create Canary Deploy
Endpoint to create a canary deploy configuration for an assistant.
Creates a new canary deploy configuration with multiple version IDs and their traffic percentages for A/B testing or gradual rollouts of assistant versions.
POST
/
ai
/
assistants
/
{assistant_id}
/
canary-deploys
JavaScript
import Telnyx from 'telnyx';
const client = new Telnyx({
apiKey: process.env['TELNYX_API_KEY'], // This is the default and can be omitted
});
const canaryDeployResponse = await client.ai.assistants.canaryDeploys.create('assistant_id');
console.log(canaryDeployResponse.assistant_id);import os
from telnyx import Telnyx
client = Telnyx(
api_key=os.environ.get("TELNYX_API_KEY"), # This is the default and can be omitted
)
canary_deploy_response = client.ai.assistants.canary_deploys.create(
assistant_id="assistant_id",
)
print(canary_deploy_response.assistant_id)package main
import (
"context"
"fmt"
"github.com/team-telnyx/telnyx-go"
"github.com/team-telnyx/telnyx-go/option"
)
func main() {
client := telnyx.NewClient(
option.WithAPIKey("My API Key"),
)
canaryDeployResponse, err := client.AI.Assistants.CanaryDeploys.New(
context.TODO(),
"assistant_id",
telnyx.AIAssistantCanaryDeployNewParams{
CanaryDeploy: telnyx.CanaryDeployParam{},
},
)
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", canaryDeployResponse.AssistantID)
}package com.telnyx.sdk.example;
import com.telnyx.sdk.client.TelnyxClient;
import com.telnyx.sdk.client.okhttp.TelnyxOkHttpClient;
import com.telnyx.sdk.models.ai.assistants.canarydeploys.CanaryDeploy;
import com.telnyx.sdk.models.ai.assistants.canarydeploys.CanaryDeployCreateParams;
import com.telnyx.sdk.models.ai.assistants.canarydeploys.CanaryDeployResponse;
public final class Main {
private Main() {}
public static void main(String[] args) {
TelnyxClient client = TelnyxOkHttpClient.fromEnv();
CanaryDeployCreateParams params = CanaryDeployCreateParams.builder()
.assistantId("assistant_id")
.canaryDeploy(CanaryDeploy.builder().build())
.build();
CanaryDeployResponse canaryDeployResponse = client.ai().assistants().canaryDeploys().create(params);
}
}require "telnyx"
telnyx = Telnyx::Client.new(api_key: "My API Key")
canary_deploy_response = telnyx.ai.assistants.canary_deploys.create("assistant_id")
puts(canary_deploy_response)<?php
require_once dirname(__DIR__) . '/vendor/autoload.php';
use Telnyx\Client;
use Telnyx\Core\Exceptions\APIException;
$client = new Client(apiKey: getenv('TELNYX_API_KEY') ?: 'My API Key');
try {
$canaryDeployResponse = $client->ai->assistants->canaryDeploys->create(
'assistant_id',
rules: [
[
'serve' => [
'rollout' => [['versionID' => 'version_id', 'weight' => 0]],
'versionID' => 'version_id',
],
'match' => [
[
'attribute' => 'attribute',
'operator' => 'in',
'values' => ['string'],
],
],
],
],
);
var_dump($canaryDeployResponse);
} catch (APIException $e) {
echo $e->getMessage();
}telnyx ai:assistants:canary-deploys create \
--api-key 'My API Key' \
--assistant-id assistant_idcurl --request POST \
--url https://api.telnyx.com/v2/ai/assistants/{assistant_id}/canary-deploys \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"rules": [
{
"serve": {
"version_id": "<string>",
"rollout": [
{
"version_id": "<string>",
"weight": 50
}
]
},
"match": [
{
"attribute": "<string>",
"values": [
"<string>"
]
}
]
}
]
}
'{
"assistant_id": "<string>",
"rules": [
{
"serve": {
"version_id": "<string>",
"rollout": [
{
"version_id": "<string>",
"weight": 50
}
]
},
"match": [
{
"attribute": "<string>",
"values": [
"<string>"
]
}
]
}
],
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Unique identifier of the assistant.
Body
application/json
Create/update request body. Accepts:
rules— canonical ordered list of routing rules
Show child attributes
Show child attributes
Was this page helpful?
⌘I
JavaScript
import Telnyx from 'telnyx';
const client = new Telnyx({
apiKey: process.env['TELNYX_API_KEY'], // This is the default and can be omitted
});
const canaryDeployResponse = await client.ai.assistants.canaryDeploys.create('assistant_id');
console.log(canaryDeployResponse.assistant_id);import os
from telnyx import Telnyx
client = Telnyx(
api_key=os.environ.get("TELNYX_API_KEY"), # This is the default and can be omitted
)
canary_deploy_response = client.ai.assistants.canary_deploys.create(
assistant_id="assistant_id",
)
print(canary_deploy_response.assistant_id)package main
import (
"context"
"fmt"
"github.com/team-telnyx/telnyx-go"
"github.com/team-telnyx/telnyx-go/option"
)
func main() {
client := telnyx.NewClient(
option.WithAPIKey("My API Key"),
)
canaryDeployResponse, err := client.AI.Assistants.CanaryDeploys.New(
context.TODO(),
"assistant_id",
telnyx.AIAssistantCanaryDeployNewParams{
CanaryDeploy: telnyx.CanaryDeployParam{},
},
)
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", canaryDeployResponse.AssistantID)
}package com.telnyx.sdk.example;
import com.telnyx.sdk.client.TelnyxClient;
import com.telnyx.sdk.client.okhttp.TelnyxOkHttpClient;
import com.telnyx.sdk.models.ai.assistants.canarydeploys.CanaryDeploy;
import com.telnyx.sdk.models.ai.assistants.canarydeploys.CanaryDeployCreateParams;
import com.telnyx.sdk.models.ai.assistants.canarydeploys.CanaryDeployResponse;
public final class Main {
private Main() {}
public static void main(String[] args) {
TelnyxClient client = TelnyxOkHttpClient.fromEnv();
CanaryDeployCreateParams params = CanaryDeployCreateParams.builder()
.assistantId("assistant_id")
.canaryDeploy(CanaryDeploy.builder().build())
.build();
CanaryDeployResponse canaryDeployResponse = client.ai().assistants().canaryDeploys().create(params);
}
}require "telnyx"
telnyx = Telnyx::Client.new(api_key: "My API Key")
canary_deploy_response = telnyx.ai.assistants.canary_deploys.create("assistant_id")
puts(canary_deploy_response)<?php
require_once dirname(__DIR__) . '/vendor/autoload.php';
use Telnyx\Client;
use Telnyx\Core\Exceptions\APIException;
$client = new Client(apiKey: getenv('TELNYX_API_KEY') ?: 'My API Key');
try {
$canaryDeployResponse = $client->ai->assistants->canaryDeploys->create(
'assistant_id',
rules: [
[
'serve' => [
'rollout' => [['versionID' => 'version_id', 'weight' => 0]],
'versionID' => 'version_id',
],
'match' => [
[
'attribute' => 'attribute',
'operator' => 'in',
'values' => ['string'],
],
],
],
],
);
var_dump($canaryDeployResponse);
} catch (APIException $e) {
echo $e->getMessage();
}telnyx ai:assistants:canary-deploys create \
--api-key 'My API Key' \
--assistant-id assistant_idcurl --request POST \
--url https://api.telnyx.com/v2/ai/assistants/{assistant_id}/canary-deploys \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"rules": [
{
"serve": {
"version_id": "<string>",
"rollout": [
{
"version_id": "<string>",
"weight": 50
}
]
},
"match": [
{
"attribute": "<string>",
"values": [
"<string>"
]
}
]
}
]
}
'{
"assistant_id": "<string>",
"rules": [
{
"serve": {
"version_id": "<string>",
"rollout": [
{
"version_id": "<string>",
"weight": 50
}
]
},
"match": [
{
"attribute": "<string>",
"values": [
"<string>"
]
}
]
}
],
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}