Returns every custom field definition in the authenticated organization, resolved for the requested locale.
/api/custom-fieldsReturns every custom field definition in the authenticated organization, 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 translation lifecycle metadata.
Bearer API key or X-API-Key header.custom-fields:readautomation_api)Query parameter. BCP 47 locale or language tag used for localized content.
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
{
"data": [
{
"id": "42880ce7-4d1d-469d-a63e-fd75f2c3e96e",
"orgId": "8ea0b557-d794-41ce-b86e-44f4780da2b5",
"name": "account_tier",
"type": "select",
"required": false,
"target": "conversation",
"sortOrder": 10,
"active": true,
"label": "Account tier",
"placeholder": "Choose a tier",
"validationMessage": null,
"locale": "en",
"fallbackUsed": false,
"options": [
{
"id": "d879cc4e-11ce-46f3-be45-47d20de0a48f",
"value": "enterprise",
"sortOrder": 0,
"label": "Enterprise",
"locale": "en",
"fallbackUsed": false,
"translations": [
{
"id": "fc094ad3-b971-438f-9884-ae47e3581e4c",
"locale": "en",
"status": "published",
"sourceLocale": null,
"machineTranslatedAt": null,
"reviewedAt": null,
"reviewedBy": null,
"createdAt": "2026-08-03T18:00:00.000Z",
"updatedAt": "2026-08-03T18:00:00.000Z",
"label": "Enterprise"
}
],
"createdAt": "2026-08-04T10:00:00.000Z",
"updatedAt": "2026-08-04T10:00:00.000Z"
}
],
"translations": [
{
"id": "3ff47837-a302-466b-925d-6b53d0bbfb37",
"locale": "en",
"status": "published",
"sourceLocale": null,
"machineTranslatedAt": null,
"reviewedAt": null,
"reviewedBy": null,
"createdAt": "2026-08-03T18:00:00.000Z",
"updatedAt": "2026-08-03T18:00:00.000Z",
"label": "Account tier",
"placeholder": "Choose a tier",
"validationMessage": null
}
],
"createdAt": "2026-08-03T18:00:00.000Z",
"updatedAt": "2026-08-03T18:00:00.000Z"
}
]
}{
"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": "string",
"message": "string",
"fields": {
"property1": "string",
"property2": "string"
},
"details": {},
"correlationId": "string"
}
}{
"error": {
"code": "string",
"message": "string",
"fields": {
"property1": "string",
"property2": "string"
},
"details": {},
"correlationId": "string"
}
}{
"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 GET \
'https://api.convor.io/api/custom-fields' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer convor_sk_...'const response = await fetch("https://api.convor.io/api/custom-fields", {
method: "GET",
headers: {
"Accept": "application/json",
"Authorization": "Bearer convor_sk_..."
},
});
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?