PUT
/
threads
Create a new thread or update an existing thread
curl --request PUT \
  --url https://app.melodi.fyi/api/external/threads \
  --header 'Content-Type: application/json' \
  --header 'api-key: <api-key>' \
  --data '{
  "externalId": "<string>",
  "messages": [
    {
      "externalId": "<string>",
      "role": "<string>",
      "type": "markdown",
      "content": "<string>",
      "jsonContent": {},
      "metadata": {}
    }
  ],
  "metadata": {},
  "externalUser": {
    "externalId": "<string>",
    "email": "<string>",
    "name": "<string>",
    "username": "<string>",
    "segments": {
      "team": "engineering",
      "role": "developer"
    }
  },
  "projectId": 123
}'
{
  "id": 123,
  "externalId": "<string>",
  "organizationId": 123,
  "project": {
    "id": 123,
    "name": "<string>"
  },
  "messages": [
    {
      "externalId": "<string>",
      "role": "<string>",
      "type": "markdown",
      "content": "<string>",
      "jsonContent": {},
      "metadata": {}
    }
  ],
  "externalUser": {
    "id": 123,
    "organizationId": 123,
    "externalId": "<string>",
    "name": "<string>",
    "email": "<string>",
    "username": "<string>",
    "segments": [
      {
        "id": 123,
        "organizationId": 123,
        "name": "<string>",
        "userSegmentTypeId": 123,
        "createdAt": "2023-11-07T05:31:56Z",
        "updatedAt": "2023-11-07T05:31:56Z",
        "type": {
          "id": 123,
          "organizationId": 123,
          "name": "<string>",
          "createdAt": "2023-11-07T05:31:56Z",
          "updatedAt": "2023-11-07T05:31:56Z"
        }
      }
    ],
    "createdAt": "2023-11-07T05:31:56Z",
    "updatedAt": "2023-11-07T05:31:56Z"
  },
  "metadata": {},
  "createdAt": "2023-11-07T05:31:56Z",
  "updatedAt": "2023-11-07T05:31:56Z"
}

Authorizations

api-key
string
header
required

Your Melodi API key

Body

application/json

The full thread object

messages
object[]
required
projectId
integer
required
externalId
string
metadata
object
externalUser
object

Request object for creating or updating an external user

Response

Thread successfully created or updated

id
integer
required

Unique identifier for the thread

organizationId
integer
required

ID of the organization to which the thread belongs

project
object
required
messages
object[]
required
metadata
object
required

Metadata associated with the thread

createdAt
string<date-time>
required

Date when the thread was created

updatedAt
string<date-time>
required

Date when the thread was last updated

externalId
string | null

External thread ID

externalUser
object

Represents an external user. Note: The combination of organizationId and externalId must be unique.