PUT
/
intent
/
{intentId}
curl --request PUT \
  --url https://demo.enneo.ai/api/mind/intent/{intentId} \
  --header 'Content-Type: application/json' \
  --data '{
  "code": "process_meter_reading",
  "ticketId": 1010,
  "data": {}
}'
{
  "id": 1211221,
  "code": "process_meter_reading",
  "name": "Process a meter reading",
  "contractId": 746839,
  "confidence": 0.95,
  "confidenceColor": "warning",
  "verified": false,
  "context": {},
  "messagePreview": "We have successfully processed your meter reading",
  "recipient": "john@smith.com",
  "tags": "prePopulated",
  "data": {},
  "options": [
    {
      "type": "enter_into_system",
      "name": "Eintragen",
      "icon": "check",
      "recommended": true,
      "order": 1
    },
    {
      "type": "ignore",
      "name": "Ignorieren",
      "icon": "cancel",
      "recommended": false,
      "order": 2
    },
    {
      "type": "forward_to_vnb",
      "name": "An VNB verweisen",
      "icon": "questionMark",
      "recommended": false,
      "order": 3
    }
  ],
  "infos": [
    {
      "type": "warning",
      "message": "Reading is plausible",
      "extraInfo": "Expected reading was 421 kWh. Plausbible because difference to 317 kWh is below threshold of 200 kWh"
    }
  ],
  "extraInfo": null,
  "outcome": {
    "aiAgentId": 1,
    "success": true,
    "messageLocalized": "Powercloud accepted meter reading",
    "internalData": {
      "requestEndpoint": "saveReadingByContractId",
      "requestParams": "readingValue=21;date=2022-12-31"
    },
    "executedAt": "2022-12-13 22:18:06",
    "userId": 1,
    "sent": true,
    "ticketClosed": true,
    "recipient": "john@smith.com",
    "message": "We successfully processed your meter reading of 21 kWh dated Dec 31, 2022",
    "template": "<p>Dear John,</p><p>%MESSAGE%</p><i>Mike from your service team</i>",
    "sources": [
      {
        "type": "knowledgeSource",
        "id": 376189,
        "name": "Opening hours",
        "url": "https://company.com/faq/376189",
        "text": "Our service hours are from 8am to 5pm. We are closed on weekends. [...]"
      }
    ],
    "txId": "c916167c94"
  }
}

Authorizations

connect.sid
string
cookie
required

Cookie-based authentication

Path Parameters

intentId
integer
required

The id of the intent that should be executed

Body

application/json
Parameters to override/validate the existing data in the intent
code
string

This field is necessary for creating new intent when we don't have intentId

ticketId
number

This field is necessary for creating new intent when we don't have intentId

data
object

Intent-specific data object that should be used when updating the intent. If a property is not included in the request, it is not updated.

Response

200
application/json
Intent was updated

An intent of a customer that he wants to be resolved by contacting us

id
integer

Internal ID of intent

code
string

Intent model code that resolves a specific issue. Currently supported is process_meter_reading, process_bank_data and process_installment_change

name
string

User-readable name of intent as defined by client

contractId
integer
confidence
number

Confidence how certain the AI is that this is correct. 0.95 means for example 95% certain. Defaults to 100% when verified by human.

confidenceColor
enum<string>

A color indication of an intent showing the user how much user interaction is needed. 'success' indicates the AI is ready to execute, all other codes require user interaction first

Available options:
success,
neutral,
warning,
danger
verified
boolean

True if intent has been verified by human

context
object

Intent-specific additional data to be shown to the user so he has relevant information about the intent. Data type varies by intent code

messagePreview
string | null

A preview of the response a customer would receive when executing this intent. Not always available, e.g. when the respond depends on user-input

recipient
string
tags
enum<string>

Tags to show to the user. prePopulated means that all properties are already pre-filled by the AI and the user can just insert the template to the body. adaptionNeeded is the opposite, and means the user still needs to modify the text. writesToErp means that upon execution of the intent a write is done to the ERP system, like a insertion of a meter reading or the creation of a bill.

Available options:
prePopulated,
adaptionNeeded,
writesToErp
data
object

Intent-specific data object showing all the data that was extracted from the ticket in a structured form. Data type varies by intent code

options
object[]

Different options that the user is given. Every option is a new button in the UI

infos
object[]

Info areas shown to the user

extraInfo
string | null

Extra-Information shown in tooltip. Info-Icon only shown if not null

outcome
object | null

Shows the outcome (if the intent was already executed)