Skip to main content
PATCH
/
v2.0
/
flows
/
{flowId}
/
intents
/
{intentId}
/
sentences
/
{sentenceId}
Update an Example Sentence
curl --request PATCH \
  --url https://api-trial.cognigy.ai/new/v2.0/flows/{flowId}/intents/{intentId}/sentences/{sentenceId} \
  --header 'Content-Type: application/json' \
  --header 'X-API-Key: <api-key>' \
  --data '
{
  "text": "I want to buy a pizza.",
  "slots": [
    {
      "type": "anySlot",
      "name": "<string>",
      "start": 123,
      "end": 123
    }
  ]
}
'
import requests

url = "https://api-trial.cognigy.ai/new/v2.0/flows/{flowId}/intents/{intentId}/sentences/{sentenceId}"

payload = {
"text": "I want to buy a pizza.",
"slots": [
{
"type": "anySlot",
"name": "<string>",
"start": 123,
"end": 123
}
]
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}

response = requests.patch(url, json=payload, headers=headers)

print(response.text)
const options = {
method: 'PATCH',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
text: 'I want to buy a pizza.',
slots: [{type: 'anySlot', name: '<string>', start: 123, end: 123}]
})
};

fetch('https://api-trial.cognigy.ai/new/v2.0/flows/{flowId}/intents/{intentId}/sentences/{sentenceId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://api-trial.cognigy.ai/new/v2.0/flows/{flowId}/intents/{intentId}/sentences/{sentenceId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'text' => 'I want to buy a pizza.',
'slots' => [
[
'type' => 'anySlot',
'name' => '<string>',
'start' => 123,
'end' => 123
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <api-key>"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"strings"
"net/http"
"io"
)

func main() {

url := "https://api-trial.cognigy.ai/new/v2.0/flows/{flowId}/intents/{intentId}/sentences/{sentenceId}"

payload := strings.NewReader("{\n \"text\": \"I want to buy a pizza.\",\n \"slots\": [\n {\n \"type\": \"anySlot\",\n \"name\": \"<string>\",\n \"start\": 123,\n \"end\": 123\n }\n ]\n}")

req, _ := http.NewRequest("PATCH", url, payload)

req.Header.Add("X-API-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.patch("https://api-trial.cognigy.ai/new/v2.0/flows/{flowId}/intents/{intentId}/sentences/{sentenceId}")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"text\": \"I want to buy a pizza.\",\n \"slots\": [\n {\n \"type\": \"anySlot\",\n \"name\": \"<string>\",\n \"start\": 123,\n \"end\": 123\n }\n ]\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api-trial.cognigy.ai/new/v2.0/flows/{flowId}/intents/{intentId}/sentences/{sentenceId}")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Patch.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"text\": \"I want to buy a pizza.\",\n \"slots\": [\n {\n \"type\": \"anySlot\",\n \"name\": \"<string>\",\n \"start\": 123,\n \"end\": 123\n }\n ]\n}"

response = http.request(request)
puts response.read_body
{
  "type": "Bad Request",
  "title": "Bad Request Error",
  "status": 400,
  "detail": "Validation failed. Missing payload.",
  "instance": "/v2.0/flows/5ce7c2d833ea1e04d7e6c432",
  "code": 1000,
  "traceId": "api--f84324f4-98eb-4f02-abdd-375a2e6c3c1f",
  "details": {}
}
{
"type": "Unauthorized",
"title": "Unauthorized Error",
"status": 401,
"detail": "<string>",
"instance": "/v2.0/flows/5ce7c2d833ea1e04d7e6c432",
"code": 401,
"traceId": "api--f84324f4-98eb-4f02-abdd-375a2e6c3c1f",
"details": {}
}
{
"type": "Payment Required",
"title": "Payment Required Error",
"status": 402,
"detail": "Validation failed. Missing payload.",
"instance": "/v2.0/flows/5ce7c2d833ea1e04d7e6c432",
"code": 402,
"traceId": "api--f84324f4-98eb-4f02-abdd-375a2e6c3c1f",
"details": {}
}
{
"type": "Forbidden",
"title": "Forbidden Error",
"status": 403,
"detail": "<string>",
"instance": "/v2.0/flows/5ce7c2d833ea1e04d7e6c432",
"code": 1000,
"traceId": "api--f84324f4-98eb-4f02-abdd-375a2e6c3c1f",
"details": {}
}
{
"type": "Not Found",
"title": "Not Found Error",
"status": 404,
"detail": "<string>",
"instance": "/v2.0/flows/5ce7c2d833ea1e04d7e6c432",
"code": 1000,
"traceId": "api--f84324f4-98eb-4f02-abdd-375a2e6c3c1f",
"details": {},
"logLevel": "error"
}
{
"type": "Method Not Allowed",
"title": "Method Not Allowed Error",
"status": 405,
"detail": "<string>",
"instance": "/v2.0/flows/5ce7c2d833ea1e04d7e6c432",
"code": 1000,
"traceId": "api--f84324f4-98eb-4f02-abdd-375a2e6c3c1f",
"details": {}
}
{
"type": "Conflict",
"title": "Conflict Error",
"status": 409,
"detail": "<string>",
"instance": "/v2.0/flows/5ce7c2d833ea1e04d7e6c432",
"code": 1004,
"traceId": "api--f84324f4-98eb-4f02-abdd-375a2e6c3c1f",
"details": {}
}
{
"type": "Payload Too Large",
"title": "Payload Too Large Error",
"status": 413,
"detail": "<string>",
"instance": "/v2.0/flows/5ce7c2d833ea1e04d7e6c432",
"code": 1000,
"traceId": "api--f84324f4-98eb-4f02-abdd-375a2e6c3c1f",
"details": {}
}
{
"type": "Internal Server Error",
"title": "Internal Server Error",
"status": 500,
"detail": "<string>",
"instance": "/v2.0/flows/5ce7c2d833ea1e04d7e6c432",
"code": 1000,
"traceId": "api--f84324f4-98eb-4f02-abdd-375a2e6c3c1f",
"details": {}
}
{
"type": "Not Implemented",
"title": "Not Implemented Error",
"status": 501,
"detail": "<string>",
"instance": "/v2.0/flows/5ce7c2d833ea1e04d7e6c432",
"code": 1009,
"traceId": "api--f84324f4-98eb-4f02-abdd-375a2e6c3c1f",
"details": {}
}
{
"type": "Bad Gateway",
"title": "Bad Gateway Error",
"status": 502,
"detail": "<string>",
"instance": "/v2.0/flows/5ce7c2d833ea1e04d7e6c432",
"code": 1000,
"traceId": "api--f84324f4-98eb-4f02-abdd-375a2e6c3c1f",
"details": {}
}
{
"type": "Service Unavailable",
"title": "Service Unavailable Error",
"status": 503,
"detail": "<string>",
"instance": "/v2.0/flows/5ce7c2d833ea1e04d7e6c432",
"code": 503,
"traceId": "api--f84324f4-98eb-4f02-abdd-375a2e6c3c1f",
"details": {}
}
{
"type": "Gateway Timeout",
"title": "Gateway Timeout Error",
"status": 504,
"detail": "<string>",
"instance": "/v2.0/flows/5ce7c2d833ea1e04d7e6c432",
"code": 1000,
"traceId": "api--f84324f4-98eb-4f02-abdd-375a2e6c3c1f",
"details": {}
}

Authorizations

X-API-Key
string
header
required

Supply the API Key in the HTTP-Header

Headers

Accept
enum<string>

The Accept header specifies the media type that the client expects in the response. Available options: application/json, application/hal+json, application/xml, text/xml, text/csv. The default value is application/json.

Available options:
application/json,
application/hal+json,
application/xml,
text/xml,
text/csv

Path Parameters

flowId
string
required

The unique identifier for the Flow.

Required string length: 24
Pattern: ^[a-z0-9]{24}$
intentId
string
required

The unique identifier for the Intent.

Required string length: 24
Pattern: ^[a-z0-9]{24}$
sentenceId
string
required

The unique identifier for the Example Sentence.

Required string length: 24
Pattern: ^[a-z0-9]{24}$

Body

application/json

The payload for creating or updating an Example Sentence.

text
string

The text in the Example Sentence.

Example:

"I want to buy a pizza."

slots
object[]

The Slot segments in the Example Sentence. Each item defines a start and end indexes, and the Slot type: system-defined or user-defined Slot.

A Slot defined by the start and end indexes in the Example Sentence. The value is the text that appears in the range between the start and end indexes.

Response

Successfully updated Sentence

Last modified on July 8, 2026