This API serves Kallo's asynchronous, real-time experiences, primarily revolving around convos.
WebSockets endpoints for Kallo (see kallo.ai for more info)
Accepts one of the following messages:
A new step either (1) authored by the user, sent to the server, or (2) authored by an LLM or another user, sent by the server.
{
"payload": {
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"groupId": "eb54e96e-21b8-4f54-9cd4-80fccbd06f55",
"isAlternate": true,
"shouldDeferResponse": true,
"convoId": "ce76207c-af32-41c0-aa93-80b97e1f2c9f",
"inferenceId": "b5e4b117-5f05-48de-98cd-3848592d29cf",
"config": {
"modelAlias": "claude-3-haiku",
"provider": "anthropic"
},
"text": "string",
"files": [
{
"dataSourceId": "2b37f84c-d876-441e-9b27-0c3482a7c574",
"providerFileId": "string"
}
],
"annotations": [
{
"dataSourceId": "2b37f84c-d876-441e-9b27-0c3482a7c574"
}
],
"createdAt": "2019-08-24T14:15:22Z",
"createdBy": "25a02396-1048-48f9-bf93-102d2fb7895e",
"createdByProvider": true,
"errorAt": "2019-08-24T14:15:22Z",
"partialOrder": 0
},
"_ws": {
"funcName": "convo-new-step"
}
}
A new step group authored by the user, sent to the server. The server will respond with steps only, and those step objects will include a server-generated group ID.
{
"payload": {
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"step": {
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"groupId": "eb54e96e-21b8-4f54-9cd4-80fccbd06f55",
"isAlternate": true,
"shouldDeferResponse": true,
"convoId": "ce76207c-af32-41c0-aa93-80b97e1f2c9f",
"inferenceId": "b5e4b117-5f05-48de-98cd-3848592d29cf",
"config": {
"modelAlias": "claude-3-haiku",
"provider": "anthropic"
},
"text": "string",
"files": [
{
"dataSourceId": "2b37f84c-d876-441e-9b27-0c3482a7c574",
"providerFileId": "string"
}
],
"annotations": [
{
"dataSourceId": "2b37f84c-d876-441e-9b27-0c3482a7c574"
}
],
"createdAt": "2019-08-24T14:15:22Z",
"createdBy": "25a02396-1048-48f9-bf93-102d2fb7895e",
"createdByProvider": true,
"errorAt": "2019-08-24T14:15:22Z",
"partialOrder": 0
},
"config": {
"primary": {
"modelAlias": "claude-3-haiku",
"provider": "anthropic"
},
"alternate": [
{
"modelAlias": "claude-3-haiku",
"provider": "anthropic"
}
]
}
},
"_ws": {
"funcName": "convo-new-step-group"
}
}
A request to delete a step.
{
"payload": {
"stepId": "50e29fb7-490e-4a88-b2f4-2fde4d70423d"
},
"_ws": {
"funcName": "convo-step-deletion"
}
}
A request to add a step a step group; if a group doesn't exist, then a group will be automatically created. This is possible because the payload asks for the primary step ID, not the group ID. If a group was created, then a step update message will be sent from the server to indicate the new group ID.
{
"payload": {
"primaryStepId": "a8e6daf6-5f00-448b-a84c-d8c22c0543cc",
"config": {
"modelAlias": "claude-3-haiku",
"provider": "anthropic"
}
},
"_ws": {
"funcName": "convo-step-group-addition"
}
}
A request to regenerate ("regen") a step that has already either fully, successfully completed a run or has failed. A step regen is the equivalent of deleting and creating a new step, but where the new step will automatically retain the original (deleted) step's config.
{
"payload": {
"stepId": "50e29fb7-490e-4a88-b2f4-2fde4d70423d",
"newStep": {
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"groupId": "eb54e96e-21b8-4f54-9cd4-80fccbd06f55",
"isAlternate": true,
"shouldDeferResponse": true,
"convoId": "ce76207c-af32-41c0-aa93-80b97e1f2c9f",
"inferenceId": "b5e4b117-5f05-48de-98cd-3848592d29cf",
"config": {
"modelAlias": "claude-3-haiku",
"provider": "anthropic"
},
"text": "string",
"files": [
{
"dataSourceId": "2b37f84c-d876-441e-9b27-0c3482a7c574",
"providerFileId": "string"
}
],
"annotations": [
{
"dataSourceId": "2b37f84c-d876-441e-9b27-0c3482a7c574"
}
],
"createdAt": "2019-08-24T14:15:22Z",
"createdBy": "25a02396-1048-48f9-bf93-102d2fb7895e",
"createdByProvider": true,
"errorAt": "2019-08-24T14:15:22Z",
"partialOrder": 0
}
},
"_ws": {
"funcName": "convo-step-regen"
}
}
A request to update any of the patchable properties of a step. See the payload schema for the properties that are supported. To leave a property unchanged, do not include it in the payload.
{
"payload": {
"stepId": "50e29fb7-490e-4a88-b2f4-2fde4d70423d",
"convoId": "ce76207c-af32-41c0-aa93-80b97e1f2c9f",
"groupId": "eb54e96e-21b8-4f54-9cd4-80fccbd06f55",
"isAlternate": false
},
"_ws": {
"funcName": "convo-step-update"
}
}
Accepts one of the following messages:
{
"payload": {
"error": "string"
},
"_ws": {
"funcName": "error"
}
}
A new step either (1) authored by the user, sent to the server, or (2) authored by an LLM or another user, sent by the server.
{
"payload": {
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"groupId": "eb54e96e-21b8-4f54-9cd4-80fccbd06f55",
"isAlternate": true,
"shouldDeferResponse": true,
"convoId": "ce76207c-af32-41c0-aa93-80b97e1f2c9f",
"inferenceId": "b5e4b117-5f05-48de-98cd-3848592d29cf",
"config": {
"modelAlias": "claude-3-haiku",
"provider": "anthropic"
},
"text": "string",
"files": [
{
"dataSourceId": "2b37f84c-d876-441e-9b27-0c3482a7c574",
"providerFileId": "string"
}
],
"annotations": [
{
"dataSourceId": "2b37f84c-d876-441e-9b27-0c3482a7c574"
}
],
"createdAt": "2019-08-24T14:15:22Z",
"createdBy": "25a02396-1048-48f9-bf93-102d2fb7895e",
"createdByProvider": true,
"errorAt": "2019-08-24T14:15:22Z",
"partialOrder": 0
},
"_ws": {
"funcName": "convo-new-step"
}
}
{
"payload": {
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"groupId": "eb54e96e-21b8-4f54-9cd4-80fccbd06f55",
"isAlternate": true,
"shouldDeferResponse": true,
"convoId": "ce76207c-af32-41c0-aa93-80b97e1f2c9f",
"inferenceId": "b5e4b117-5f05-48de-98cd-3848592d29cf",
"config": {
"modelAlias": "claude-3-haiku",
"provider": "anthropic"
},
"text": "string",
"files": [
{
"dataSourceId": "2b37f84c-d876-441e-9b27-0c3482a7c574",
"providerFileId": "string"
}
],
"annotations": [
{
"dataSourceId": "2b37f84c-d876-441e-9b27-0c3482a7c574"
}
],
"createdAt": "2019-08-24T14:15:22Z",
"createdBy": "25a02396-1048-48f9-bf93-102d2fb7895e",
"createdByProvider": true,
"errorAt": "2019-08-24T14:15:22Z",
"partialOrder": 0
},
"_ws": {
"funcName": "convo-status"
}
}
A request to delete a step.
{
"payload": {
"stepId": "50e29fb7-490e-4a88-b2f4-2fde4d70423d"
},
"_ws": {
"funcName": "convo-step-deletion"
}
}
A request to regenerate ("regen") a step that has already either fully, successfully completed a run or has failed. A step regen is the equivalent of deleting and creating a new step, but where the new step will automatically retain the original (deleted) step's config.
{
"payload": {
"stepId": "50e29fb7-490e-4a88-b2f4-2fde4d70423d",
"newStep": {
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"groupId": "eb54e96e-21b8-4f54-9cd4-80fccbd06f55",
"isAlternate": true,
"shouldDeferResponse": true,
"convoId": "ce76207c-af32-41c0-aa93-80b97e1f2c9f",
"inferenceId": "b5e4b117-5f05-48de-98cd-3848592d29cf",
"config": {
"modelAlias": "claude-3-haiku",
"provider": "anthropic"
},
"text": "string",
"files": [
{
"dataSourceId": "2b37f84c-d876-441e-9b27-0c3482a7c574",
"providerFileId": "string"
}
],
"annotations": [
{
"dataSourceId": "2b37f84c-d876-441e-9b27-0c3482a7c574"
}
],
"createdAt": "2019-08-24T14:15:22Z",
"createdBy": "25a02396-1048-48f9-bf93-102d2fb7895e",
"createdByProvider": true,
"errorAt": "2019-08-24T14:15:22Z",
"partialOrder": 0
}
},
"_ws": {
"funcName": "convo-step-regen"
}
}
A request to update any of the patchable properties of a step. See the payload schema for the properties that are supported. To leave a property unchanged, do not include it in the payload.
{
"payload": {
"stepId": "50e29fb7-490e-4a88-b2f4-2fde4d70423d",
"convoId": "ce76207c-af32-41c0-aa93-80b97e1f2c9f",
"groupId": "eb54e96e-21b8-4f54-9cd4-80fccbd06f55",
"isAlternate": false
},
"_ws": {
"funcName": "convo-step-update"
}
}
Sent by the server to indicate that properties of the convo have changed. Primarily used when a convo name is auto-generated.
{
"payload": {
"convo": {
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"name": "string",
"createdAt": "2019-08-24T14:15:22Z",
"createdBy": "25a02396-1048-48f9-bf93-102d2fb7895e",
"latestStep": {
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"groupId": "eb54e96e-21b8-4f54-9cd4-80fccbd06f55",
"isAlternate": true,
"shouldDeferResponse": true,
"convoId": "ce76207c-af32-41c0-aa93-80b97e1f2c9f",
"inferenceId": "b5e4b117-5f05-48de-98cd-3848592d29cf",
"config": {
"modelAlias": "claude-3-haiku",
"provider": "anthropic"
},
"text": "string",
"files": [
{
"dataSourceId": "2b37f84c-d876-441e-9b27-0c3482a7c574",
"providerFileId": "string"
}
],
"annotations": [
{
"dataSourceId": "2b37f84c-d876-441e-9b27-0c3482a7c574"
}
],
"createdAt": "2019-08-24T14:15:22Z",
"createdBy": "25a02396-1048-48f9-bf93-102d2fb7895e",
"createdByProvider": true,
"errorAt": "2019-08-24T14:15:22Z",
"partialOrder": 0
}
}
},
"_ws": {
"funcName": "convo-step-update"
}
}
A new step either (1) authored by the user, sent to the server, or (2) authored by an LLM or another user, sent by the server.
A new step group authored by the user, sent to the server. The server will respond with steps only, and those step objects will include a server-generated group ID.
A request to delete a step.
A request to add a step a step group; if a group doesn't exist, then a group will be automatically created. This is possible because the payload asks for the primary step ID, not the group ID. If a group was created, then a step update message will be sent from the server to indicate the new group ID.
A request to regenerate ("regen") a step that has already either fully, successfully completed a run or has failed. A step regen is the equivalent of deleting and creating a new step, but where the new step will automatically retain the original (deleted) step's config.
A request to update any of the patchable properties of a step. See the payload schema for the properties that are supported. To leave a property unchanged, do not include it in the payload.
Sent by the server to indicate that properties of the convo have changed. Primarily used when a convo name is auto-generated.
May be used in a request to regen (regenerate) a step, whereby running a step takes place as if it had never taken place before. Mechanically, the original step (the one being regen) is deleted and a new step takes it place while retaining certain metadata from the original step, such as timestamp (which ensures the regen version of a step will not appear out of order in a convo)
May be used in a request to update any of the patchable properties of a step, or may be an update sent from the server to indicate a property has been updated