Skip to main content
POST
/
update-configuration
Update a Configuration
curl --request POST \
  --url https://api.heify.com/update-configuration \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: <api-key>' \
  --data '
{
  "configuration_id": "a1b2c3d4-e5f6-7890-1234-567890abcdef",
  "summary": true,
  "summary_language": "en",
  "custom_summary": "Focus on key decisions and action items.",
  "vocabulary": [
    "Heify",
    "NLP"
  ],
  "extraction_fields": [
    {
      "name": "sentiment_analysis",
      "type": "string",
      "description": "Classify the sentiment as POSITIVE, NEGATIVE, or NEUTRAL."
    }
  ]
}
'
{
  "data": {
    "message": "Configuration updated successfully.",
    "configuration": {
      "client_id": "client-12345",
      "configuration_id": "a1b2c3d4-e5f6-7890-1234-567890abcdef",
      "tag": "Customer Support - Technical Issues",
      "vocabulary": [
        "Heify",
        "NLP"
      ],
      "extraction_fields": [
        {
          "name": "sentiment_analysis",
          "type": "string",
          "description": "Classify the sentiment as POSITIVE, NEGATIVE, or NEUTRAL."
        }
      ],
      "webhooks": null,
      "summary": true,
      "custom_summary": "Focus on key decisions and action items.",
      "summary_language": "en",
      "analytics_language": "df",
      "created_at": "2025-01-15T10:00:00.000000+00:00"
    }
  }
}
For full details on all Configuration fields, see Configuration.
This endpoint uses PATCH semantics — omitted fields are not touched. Only configuration_id is required; include only the fields you want to change.
extraction_fields is not a simple replacement — it uses a merge-by-name strategy. Any existing field not included in your request will be removed. Always send the complete desired list of fields, not just the ones you’re changing.
The type of an existing extraction field cannot be changed. Attempting to do so returns a 400 error. To change a field type, delete and recreate the configuration.
tag cannot be updated — it is immutable after creation. See Configuration.
vocabulary and webhooks are fully replaced by whatever you send. To remove webhooks entirely, pass "webhooks": null.
Returns 404 if the configuration is not found.

Authorizations

x-api-key
string
header
required

Body

application/json
configuration_id
string<uuid>
required

The unique identifier of the configuration to update.

vocabulary
string[]

Full replacement. Replaces the entire existing vocabulary list. Example: ["Heify", "NLP", "SLA"].

extraction_fields
object[]

Merge-by-name strategy. Existing fields can have their description updated but their type is immutable. New fields (name not already present) must include type and description. Fields not included in this list are removed. Maximum 10 fields total.

Maximum array length: 10
webhooks
object

Full replacement. Pass null to remove webhooks entirely.

summary
boolean

Enable or disable automatic AI summary generation.

custom_summary
string | null

Custom prompt guiding the AI summary. Pass null to clear. Only applies when summary is true.

Maximum string length: 300
summary_language
string

Language for the generated summary. Use "df" for auto-detect. See Supported Languages.

analytics_language
string

Language for analytics reports. Use "df" for auto-detect. See Supported Languages.

Response

200 - application/json

Configuration updated successfully. Returns the full updated configuration object.

data
object