Merges validated values into one organization-owned conversation's `metadata.customFields` object. Keys must match active conversation-targeted field names, and each value must satisfy the field type or select-option contract. Existing values for omitted keys remain unchanged. Access requires an active organization administrator session or an organization API key with the `custom-fields:write` scope. API-key calls also require the automation API module. Data is isolated to the authenticated organization; identifiers from another organization or site are not disclosed.
/api/custom-fields/{conversationId}/valuesOrganization API key supplied as Authorization: Bearer convor_sk_....
In: header
application/json
TypeScript Definitions
Use the request body type in TypeScript.
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
{
"account_tier": "enterprise",
"renewal_due": true
}{
"error": {
"code": "string",
"message": "string",
"fields": {
"property1": "string",
"property2": "string"
},
"details": {},
"correlationId": "string"
}
}{
"error": {
"code": "UNAUTHORIZED",
"message": "Authentication is required.",
"correlationId": "req_01K0MANAGEMENT401"
}
}{
"error": {
"code": "INTEGRATION_MODULE_REQUIRED",
"message": "The automation API module is required.",
"details": {
"module": "automation_api",
"feature": "public_api"
},
"correlationId": "req_01K0MANAGEMENT402"
}
}{
"error": {
"code": "FORBIDDEN",
"message": "The caller lacks the required role or API-key scope.",
"correlationId": "req_01K0MANAGEMENT403"
}
}{
"error": {
"code": "NOT_FOUND",
"message": "The requested resource was not found.",
"correlationId": "req_01K0MANAGEMENT404"
}
}{
"error": {
"code": "CONFLICT",
"message": "The requested change conflicts with current resource state.",
"correlationId": "req_01K0MANAGEMENT409"
}
}{
"error": {
"code": "VALIDATION_ERROR",
"message": "The request payload is invalid.",
"details": {
"field": "name"
},
"correlationId": "req_01K0MANAGEMENT422"
}
}{
"error": {
"code": "RATE_LIMITED",
"message": "Too many requests.",
"correlationId": "req_01K0MANAGEMENT429"
}
}{
"error": {
"code": "string",
"message": "string",
"fields": {
"property1": "string",
"property2": "string"
},
"details": {},
"correlationId": "string"
}
}curl --request PATCH \
'https://api.convor.io/api/custom-fields/3f3fc828-2d72-45d0-95b7-e9b52bfb4808/values' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer convor_sk_...' \
--header 'Content-Type: application/json' \
--data '{
"customFields": {
"account_tier": "enterprise",
"renewal_due": true
}
}'const response = await fetch("https://api.convor.io/api/custom-fields/3f3fc828-2d72-45d0-95b7-e9b52bfb4808/values", {
method: "PATCH",
headers: {
"Accept": "application/json",
"Authorization": "Bearer convor_sk_...",
"Content-Type": "application/json"
},
body: JSON.stringify({
"customFields": {
"account_tier": "enterprise",
"renewal_due": true
}
}),
});
const contentType = response.headers.get("content-type") ?? "";
const data = response.status === 204
? null
: contentType.includes("json")
? await response.json()
: contentType.startsWith("text/")
? await response.text()
: await response.blob();
if (!response.ok) {
const message = typeof data === "object" && data !== null
&& "error" in data && typeof data.error === "object"
&& data.error !== null && "message" in data.error
? String(data.error.message)
: "Convor API request failed (" + response.status + ")";
throw new Error(message);
}
console.log(data);Was this page helpful?
List localized custom field definitions
Returns every organization-owned custom field definition resolved for the requested locale. Each item includes its immutable key and type, target, required and active state, sort order, localized labels, select options, and full translation lifecycle metadata. This read-only operation is safe to retry. Access requires an active authenticated operator session or an organization API key with the `custom-fields:read` scope. API-key calls also require the automation API module. Data is isolated to the authenticated organization; identifiers from another organization or site are not disclosed.
Update multilingual custom field content
Partially updates one organization-owned custom field. The stable field name, type, and target are not changed; supplied translations or select options replace their localized content sets, while omitted properties remain unchanged. Access requires an active organization administrator session or an organization API key with the `custom-fields:write` scope. API-key calls also require the automation API module. Data is isolated to the authenticated organization; identifiers from another organization or site are not disclosed.