Kallo API (4.9.1)

Download OpenAPI specification:Download

This API supports all of the functionalities that power Kallo. For additional documentation, see https://kallo.dev

Auth

This section covers both authentication and authorization.

Create Access Token

Create an access token for a user over which the requesting account has the appropriate authority.

Authorizations:
ApiKeyAuth
Request Body schema: application/json
userId
required
string <uuid>

The ID of the user for which the access token should be generated

required
Array of objects (scopeObject)

All of the objects for which the access token should include authorization

allowOrigin
string

When CORS is relevant, this value will be used to determine which origin is permitted for requests sent to a Kallo API using the generated access token.

Providing a value is not required, but if not provided, responses from the Kallo API to requests using the generated access token JWT will entirely omit the access-control-allow-origin response header, which will cause requests from modern browsers to fail. Thus this value should be treated as required for web-based use cases.

To permit any origin, you may provide * as a value, although for security reasons this is not recommended.

expiresAt
required
string <date-time>

Responses

Request samples

Content type
application/json
{
  • "userId": "2c4a230c-5085-4924-a3e1-25fb4fc5965b",
  • "scopeObjects": [
    ],
  • "allowOrigin": "https://myapp.foo.com",
  • "expiresAt": "2019-08-24T14:15:22Z"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "jwt": "string"
}

Revoke Access Token

Manually invalidate a previously created access token, even if it has not reached its originally configured expiration time. The requester must be the same as the creator of the access token.

Authorizations:
ApiKeyAuth
path Parameters
accessTokenId
any

The ID of the access token to be revoked

Responses

Query Grantees of an Object

Authorizations:
AccessTokenAuthApiKeyAuthFirebaseAuth
query Parameters
objectType
required
string (objectType)
Enum: "convo" "data_source" "prompt" "team" "topic" "user"

Not all types are supported for all operations

objectId
required
string <uuid>

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "type": "convo",
  • "role": "admin"
}

Add Grantee to Object

Add a grantees, defined in the request body, that should be given access to the object defined in the request params.

For a data source object type where the grantee type is "convo" or "topic", use the dedicated the "Add Convo Data Source" or "Add Topic Data Source" endpoint.

For a prompt object type where the grantee type is "topic", use the dedicated the "Add Topic Prompt" endpoint.

Grantees with "owner" roles can only be added/removed using the PUT method endpoint.

Authorizations:
AccessTokenAuthApiKeyAuthFirebaseAuth
query Parameters
objectType
required
string
Enum: "convo" "data_source" "prompt" "team" "topic" "user"

Not all types are supported for all operations

objectId
required
string <uuid>
inviteEmail
string <email>

If set to an email address, then this request will result in sending an invitation by email. This is designed for invitees who are not yet Kallo users. Accordingly, the request body grantee object should omit an ID since the user ID doesn't exist yet.

Request Body schema: application/json
id
string <uuid>

The UUID of the object granted some role as to another object

type
string (granteeType)
Enum: "convo" "team" "topic" "user"

Not all types are supported for all operations

role
string (granteeRole)
Enum: "admin" "dependent" "member" "owner" "participant" "viewer"

Not all roles are supported for all operations

Responses

Request samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "type": "convo",
  • "role": "admin"
}

Set Grantees for Object

Fully replace the set of grantees for the object defined in the request params. This will fully remove all direct grantees and add the grantees in the request body. The main use case for this endpoint is to change an owner. NOTE: This operation is currently only supported when the request includes exactly one owner-role grantee.

Authorizations:
AccessTokenAuthApiKeyAuthFirebaseAuth
query Parameters
objectType
required
string (objectType)
Enum: "convo" "data_source" "prompt" "team" "topic" "user"

Not all types are supported for all operations

objectId
required
string <uuid>
Request Body schema: application/json
Array
id
string <uuid>

The UUID of the object granted some role as to another object

type
string (granteeType)
Enum: "convo" "team" "topic" "user"

Not all types are supported for all operations

role
string (granteeRole)
Enum: "admin" "dependent" "member" "owner" "participant" "viewer"

Not all roles are supported for all operations

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Remove Grantee from Object

Specify one or more grantees in the request body that should be un-granted the object defined in the request params. NOTE: grantees with owner roles can only be removed using the PUT method endpoint.

Authorizations:
AccessTokenAuthApiKeyAuthFirebaseAuth
query Parameters
objectType
required
string (objectType)
Enum: "convo" "data_source" "prompt" "team" "topic" "user"

Not all types are supported for all operations

objectId
required
string <uuid>
granteeId
required
string <uuid>

The grantee's ID

granteeType
required
string (granteeType)
Enum: "convo" "team" "topic" "user"

The grantee's type

granteeRole
required
string (granteeRole)
Enum: "admin" "dependent" "member" "owner" "participant" "viewer"

The grantee's role to remove

Responses

Query Permissions

Query which of a set of supplied permissions a user has in relation to an object

Authorizations:
AccessTokenAuthApiKeyAuthFirebaseAuth
Request Body schema: application/json
userId
string <uuid>
objectId
string <uuid>
objectType
string (objectType)
Enum: "convo" "data_source" "prompt" "team" "topic" "user"

Not all types are supported for all operations

permissions
Array of strings
Items Enum: "can_add_admin" "can_add_data_source" "can_add_member" "can_add_owner" "can_add_participant" "can_add_viewer" "can_chat" "can_delete" "can_delete_steps" "can_edit" "can_remove_admin" "can_remove_data_source" "can_remove_member" "can_remove_owner" "can_remove_participant" "can_remove_viewer" "can_view" "can_add_dependent" "can_add_prompt" "can_remove_dependent" "can_remove_prompt"

Responses

Request samples

Content type
application/json
{
  • "userId": "2c4a230c-5085-4924-a3e1-25fb4fc5965b",
  • "objectId": "e39ea5f2-2188-47f8-add0-f1976630af5e",
  • "objectType": "convo",
  • "permissions": [
    ]
}

Response samples

Content type
application/json
{
  • "userId": "2c4a230c-5085-4924-a3e1-25fb4fc5965b",
  • "objectId": "e39ea5f2-2188-47f8-add0-f1976630af5e",
  • "objectType": "convo",
  • "permissions": [
    ]
}

Convos

Query Convos

Authorizations:
AccessTokenAuthApiKeyAuthFirebaseAuth
query Parameters
topicId
string <uuid>

The ID of the topic whose convos should be returned

userId
string <uuid>

The ID of the user whose convos (either created or participated in by the user) should be returned

includeLatestStep
any
Example: includeLatestStep=1

If set to any non-empty value, an additional property, latestStep, will be included in the response objects

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a Convo

Authorizations:
AccessTokenAuthApiKeyAuthFirebaseAuth
query Parameters
topicId
string <uuid>

If included, this becomes the owning topic of the convo

teamId
string <uuid>

If included, this becomes the owning team of the convo

userId
string <uuid>

If included, this becomes the owning user of the convo

Request Body schema: application/json
id
string <uuid>
name
string
createdAt
string <date-time>
createdBy
string <uuid>
object (step)

Responses

Request samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "createdBy": "25a02396-1048-48f9-bf93-102d2fb7895e",
  • "latestStep": {
    }
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "createdBy": "25a02396-1048-48f9-bf93-102d2fb7895e",
  • "latestStep": {
    }
}

Get a Convo

Authorizations:
AccessTokenAuthApiKeyAuthFirebaseAuth
path Parameters
convoId
string <uuid>

The ID of the relevant convo

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "createdBy": "25a02396-1048-48f9-bf93-102d2fb7895e",
  • "latestStep": {
    }
}

Patch a Convo

Authorizations:
AccessTokenAuthApiKeyAuthFirebaseAuth
path Parameters
convoId
string <uuid>

The ID of the relevant convo

Request Body schema: application/json
name
string <uuid>

Responses

Request samples

Content type
application/json
{
  • "name": "9ffa9185-7453-4fb2-aa6a-3105a6ae83a8"
}

Delete a Convo

Authorizations:
AccessTokenAuthApiKeyAuthFirebaseAuth
path Parameters
convoId
string <uuid>

The ID of the relevant convo

Responses

Get Topic Config

Obtain topic-level config, if the convo belongs to a topic, that impact the convo's functionality

Authorizations:
AccessTokenAuthApiKeyAuthFirebaseAuth
path Parameters
convoId
string <uuid>

The ID of the relevant convo

Responses

Response samples

Content type
application/json
{
  • "defaults": {
    }
}

Add Convo Data Source

Link a data source to a convo

Authorizations:
AccessTokenAuthApiKeyAuthFirebaseAuth
path Parameters
convoId
required
string <uuid>

The ID of the convo to which to link the data source

dataSourceId
required
string <uuid>

The ID of the data source to link to the convo

Responses

Remove Convo Data Source

Authorizations:
AccessTokenAuthApiKeyAuthFirebaseAuth
path Parameters
convoId
required
string <uuid>

The ID of the convo from which the data source will be unlinked

dataSourceId
required
string <uuid>

The ID of the data source to unlink from the convo

Responses

Query Convo Steps

Authorizations:
AccessTokenAuthApiKeyAuthFirebaseAuth
path Parameters
convoId
string <uuid>

The ID of the relevant convo

query Parameters
after
string <date-time>

If defined, steps will only be returned if they were created after this time

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Query Convo Users

Authorizations:
AccessTokenAuthApiKeyAuthFirebaseAuth
path Parameters
convoId
string <uuid>

The ID of the relevant convo

query Parameters
contributors
any

If set to any non-empty value, the response will include IDs of all users who have sent at least one message in the convo chat

all
any

If set to any non-empty value, the response will include IDs of all users who are:\ 1. direct grantees of the convo 2. members of the team who owns the convo 3. direct grantees of the topic that owns the convo, AND 4. members of the team that owns the topic that owns the convo.

Responses

Response samples

Content type
application/json
[
  • "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]

Export Data

Create and execute an export of data, such as sending convo content by email

Authorizations:
AccessTokenAuthApiKeyAuthFirebaseAuth
Request Body schema: application/json
id
string or null <uuid>
format
string (exportFormat)
Value: "html-email"
object (exportSources)
Array of objects (exportDestination)
createdAt
string or null <date-time>
createdBy
string or null <uuid>

Responses

Request samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "format": "html-email",
  • "sources": {
    },
  • "destinations": [
    ],
  • "createdAt": "2019-08-24T14:15:22Z",
  • "createdBy": "25a02396-1048-48f9-bf93-102d2fb7895e"
}

Query Steps

Authorizations:
AccessTokenAuthApiKeyAuthFirebaseAuth
query Parameters
searchTerm
string

If defined, all other params are ignored

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Update Step

Authorizations:
AccessTokenAuthApiKeyAuthFirebaseAuth
Request Body schema: application/json
isAlternate
boolean

This is for changing primary/alternate steps when a step group is involved. Setting this to true in a patch operation will result in an error. Setting this to false will cause the API to set all other steps' isAlternate values in the respective group to true and the step identified in the patch operation to false.

Responses

Request samples

Content type
application/json
{
  • "isAlternate": true
}

Delete Step

Authorizations:
AccessTokenAuthApiKeyAuthFirebaseAuth

Responses

Data Sources

Add Convo Data Source

Link a data source to a convo

Authorizations:
AccessTokenAuthApiKeyAuthFirebaseAuth
path Parameters
convoId
required
string <uuid>

The ID of the convo to which to link the data source

dataSourceId
required
string <uuid>

The ID of the data source to link to the convo

Responses

Remove Convo Data Source

Authorizations:
AccessTokenAuthApiKeyAuthFirebaseAuth
path Parameters
convoId
required
string <uuid>

The ID of the convo from which the data source will be unlinked

dataSourceId
required
string <uuid>

The ID of the data source to unlink from the convo

Responses

Query Data Sources

Authorizations:
AccessTokenAuthApiKeyAuthFirebaseAuth
query Parameters
dataSourceIds
string <uuid>

The comma-separated IDs of the data sources that should be returned

convoId
string <uuid>

The ID of the convo whose data sources should be returned

topicId
string <uuid>

The ID of the topic whose data sources should be returned

userId
string <uuid>

The ID of the user who was the actual uploader of the data sources that should be returned

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get a Data Source

Authorizations:
AccessTokenAuthApiKeyAuthFirebaseAuth
path Parameters
dataSourceId
required
string <uuid>

The ID of the data source (e.g. a file upload) to get

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "topicId": "97b608a9-302e-4387-a5f4-fd35969cdc21",
  • "name": "string",
  • "type": "upload",
  • "location": "string",
  • "createdBy": "25a02396-1048-48f9-bf93-102d2fb7895e",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "mimeType": "application/pdf"
}

Delete a Data Source

Authorizations:
AccessTokenAuthApiKeyAuthFirebaseAuth
path Parameters
dataSourceId
required
string <uuid>

The ID of the data source (e.g. a file upload) to delete

Responses

Update a Data Source

Authorizations:
AccessTokenAuthApiKeyAuthFirebaseAuth
path Parameters
dataSourceId
required
string <uuid>

The ID of the data source (e.g. a file upload) to delete

Request Body schema: application/json
name
string

Responses

Request samples

Content type
application/json
{
  • "name": "string"
}

Add Topic Data Source

Link a data source to a topic

Authorizations:
AccessTokenAuthApiKeyAuthFirebaseAuth
path Parameters
topicId
required
string <uuid>

The ID of the topic to which to link the data source

dataSourceId
required
string <uuid>

The ID of the data source to link to the topic

Responses

Remove Topic Data Source

Authorizations:
AccessTokenAuthApiKeyAuthFirebaseAuth
path Parameters
topicId
required
string <uuid>

The ID of the topic from which the data source will be unlinked

dataSourceId
required
string <uuid>

The ID of the data source to unlink from the topic

Responses

Upload New File

Upload a single file, which becomes a data source object with type "upload"

Authorizations:
AccessTokenAuthApiKeyAuthFirebaseAuth
query Parameters
userId
string <uuid>

Either this or teamId must be defined. If defined, this user will become the owner of the upload

teamId
string <uuid>

Either this or userId must be defined. If defined, this team will become the owner of the upload

Request Body schema: multipart/form-data
file
required
string <binary>

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "topicId": "97b608a9-302e-4387-a5f4-fd35969cdc21",
  • "name": "string",
  • "type": "upload",
  • "location": "string",
  • "createdBy": "25a02396-1048-48f9-bf93-102d2fb7895e",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "mimeType": "application/pdf"
}

Generate Signed URL for Download

Generate a temporary signed URL for the purpose of downloading a copy of an uploaded file

Authorizations:
AccessTokenAuthApiKeyAuthFirebaseAuth

Responses

Response samples

Content type
application/json
"string"

Generate Summary

Generate a summary for a given data source whose type is "upload". If one already existed, it may be returned instead of a newly generated one.

Authorizations:
AccessTokenAuthApiKeyAuthFirebaseAuth

Responses

Response samples

Content type
application/json
{
  • "content": {
    },
  • "annotations": [
    ],
  • "retryAfter": "2019-08-24T14:15:22Z"
}

Teams

Query Teams

Query teams on any one of the supported parameters

Authorizations:
AccessTokenAuthApiKeyAuthFirebaseAuth
query Parameters
userId
string <uuid>

Use this param to request the teams to which the user belongs

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Update a Team

Update any of the supported patchable properties for a team

Authorizations:
AccessTokenAuthApiKeyAuthFirebaseAuth
path Parameters
teamId
string <uuid>

The ID of the team being patched

Request Body schema: application/json
name
string

Responses

Request samples

Content type
application/json
{
  • "name": "string"
}

Create a Team

Create a new team

Authorizations:
AccessTokenAuthApiKeyAuthFirebaseAuth
Request Body schema: application/json
id
string <uuid>
name
required
string
createdBy
string <uuid>

ID of the user who created the team

createdAt
string <date-time>

Responses

Request samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "Burt's Awesome Team",
  • "createdBy": "25a02396-1048-48f9-bf93-102d2fb7895e",
  • "createdAt": "2019-08-24T14:15:22Z"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "Burt's Awesome Team",
  • "createdBy": "25a02396-1048-48f9-bf93-102d2fb7895e",
  • "createdAt": "2019-08-24T14:15:22Z"
}

Delete a Team

Delete a team

Authorizations:
AccessTokenAuthApiKeyAuthFirebaseAuth
path Parameters
teamId
string <uuid>

The ID of the team being deleted

Responses

Get a Team's Users

Get all of the users belonging to a given team

Authorizations:
AccessTokenAuthApiKeyAuthFirebaseAuth
path Parameters
teamId
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Add a Team User

Add a user to a team

Authorizations:
AccessTokenAuthApiKeyAuthFirebaseAuth
path Parameters
teamId
string

The ID of the team to which the user is being added

userId
string <uuid>

The ID of the user being added to the team

Responses

Response samples

Content type
application/json
{
  • "teamId": "a4ede8ba-7c0a-4485-8763-cbd9b282fbec",
  • "userId": "2c4a230c-5085-4924-a3e1-25fb4fc5965b",
  • "isOwner": true,
  • "createdAt": "2019-08-24T14:15:22Z"
}

Remove a Team User

Remove a user from a team

Authorizations:
AccessTokenAuthApiKeyAuthFirebaseAuth
path Parameters
teamId
string <uuid>

The ID of the team from which the user is being removed

userId
string <uuid>

The ID of the user being removed from the team

Responses

Topics

Query Topics

Query topics on any one of several supported parameters

Authorizations:
AccessTokenAuthApiKeyAuthFirebaseAuth
query Parameters
topicIds
string <uuid (comma-separated)>

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create New Topic

Authorizations:
AccessTokenAuthApiKeyAuthFirebaseAuth
query Parameters
userId
string <uuid>

The ID of the user that will own the topic, if not a team owner

teamId
string <uuid>

The ID of the team that will own the topic, if not a user owner

Request Body schema: application/json
id
string <uuid>
name
required
string
description
required
string
object (topicConfig)
Array of objects (dataSource)

Careful! This array does not actually define associations between topics and data sources. This array is only meant to define ordering of data sources, if necessary. Hence if a request to the API returns an empty array for this property, that does not mean there are no data sources. To get a topic's data sources, use GET /data-sources.

createdBy
string <uuid>

ID of the user who created the topic

createdAt
string <date-time>

Responses

Request samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "The Trees of Antarctica",
  • "description": "string",
  • "config": {
    },
  • "dataSourceIds": [
    ],
  • "createdBy": "25a02396-1048-48f9-bf93-102d2fb7895e",
  • "createdAt": "2019-08-24T14:15:22Z"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "The Trees of Antarctica",
  • "description": "string",
  • "config": {
    },
  • "dataSourceIds": [
    ],
  • "createdBy": "25a02396-1048-48f9-bf93-102d2fb7895e",
  • "createdAt": "2019-08-24T14:15:22Z"
}

Delete Topic

Authorizations:
AccessTokenAuthApiKeyAuthFirebaseAuth
path Parameters
topicId
string <uuid>

Responses

Update Topic

Authorizations:
AccessTokenAuthApiKeyAuthFirebaseAuth
path Parameters
topicId
string <uuid>
Request Body schema: application/json
name
string <uuid>
description
string
object (topicConfig)
dataSourceIds
Array of strings <uuid> [ items <uuid > ]

This is NOT a list of the data sources linked to a topic, but rather an optional feature for assigning order to the data sources linked to a topic. This matters, for example, if a document is uploaded in chunks.

Responses

Request samples

Content type
application/json
{
  • "name": "9ffa9185-7453-4fb2-aa6a-3105a6ae83a8",
  • "description": "string",
  • "config": {
    },
  • "dataSourceIds": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "The Trees of Antarctica",
  • "description": "string",
  • "config": {
    },
  • "dataSourceIds": [
    ],
  • "createdBy": "25a02396-1048-48f9-bf93-102d2fb7895e",
  • "createdAt": "2019-08-24T14:15:22Z"
}

Add Topic Data Source

Link a data source to a topic

Authorizations:
AccessTokenAuthApiKeyAuthFirebaseAuth
path Parameters
topicId
required
string <uuid>

The ID of the topic to which to link the data source

dataSourceId
required
string <uuid>

The ID of the data source to link to the topic

Responses

Remove Topic Data Source

Authorizations:
AccessTokenAuthApiKeyAuthFirebaseAuth
path Parameters
topicId
required
string <uuid>

The ID of the topic from which the data source will be unlinked

dataSourceId
required
string <uuid>

The ID of the data source to unlink from the topic

Responses

Remove Topic Prompt

Remove a prompt, if one is set, from a topic

Authorizations:
AccessTokenAuthApiKeyAuthFirebaseAuth
path Parameters
topicId
required
string <uuid>

The ID of the topic to remove a prompt, if one is set

Responses

Set Topic Prompt

Set the prompt that is used for a topic

Authorizations:
AccessTokenAuthApiKeyAuthFirebaseAuth
path Parameters
topicId
required
string <uuid>

The ID of the topic to which to set the topic

promptId
required
string <uuid>

The ID of the prompt to set for the topic

Responses

Users

Get Invitations

Get all of the outstanding invitations for any of the queryable object types

Authorizations:
AccessTokenAuthApiKeyAuthFirebaseAuth
query Parameters
objectType
required
string
Enum: "convo" "team"
objectId
required
string <uuid>

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Delete Invitation

Authorizations:
AccessTokenAuthApiKeyAuthFirebaseAuth
query Parameters
objectType
string
Enum: "convo" "team"
objectId
string <uuid>
inviteEmail
required
string <email>

Responses

Get Dashboard User Stats

Get the number of convos, number of teams, and number of sources for a user

Authorizations:
AccessTokenAuthApiKeyAuthFirebaseAuth
query Parameters
userId
string <uuid>

The ID of the user

Request Body schema: application/json
convos
integer
teams
integer
sources
integer

Responses

Request samples

Content type
application/json
{
  • "convos": 0,
  • "teams": 0,
  • "sources": 0
}

Get/Create a User

Query for an existing user, or potentially create a new user on-the-fly by identifying a Firebase ID in both the authorization header and the query parameters. See the responses' descriptions for more info.

Authorizations:
AccessTokenAuthApiKeyAuthFirebaseAuth
query Parameters
userId
string <uuid>

The Kallo ID of the user

firebaseId
string

The Firebase ID of the user

email
string <email>

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "firebaseId": "string",
  • "isServiceAccount": true,
  • "emailAddress": "shirley@email.com",
  • "displayName": "Squidward Tentacles",
  • "photoUrl": "string",
  • "createdAt": "2019-08-24T14:15:22Z"
}

Update a User

Update any of the supported patchable user properties

Authorizations:
AccessTokenAuthApiKeyAuthFirebaseAuth
path Parameters
userId
string <uuid>

The ID of the user

Request Body schema: application/json
displayName
string
photoUrl
string <url>

Responses

Request samples

Content type
application/json
{
  • "displayName": "Spongebob Squarepants",
  • "photoUrl": "string"
}

Get Related Users

If set to the UUID of a user, will look up all users who have teams, topics, and convos in common with that user (defined specifically as both users being grantees to the same object).

Authorizations:
AccessTokenAuthApiKeyAuthFirebaseAuth
path Parameters
userId
string <uuid>

The ID of the user

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Prompts

Query Prompts

Query prompts based on various filter criteria

Authorizations:
AccessTokenAuthApiKeyAuthFirebaseAuth
query Parameters
topicId
string <uuid>
userId
string <uuid>

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create Prompt

Create a new prompt

Authorizations:
AccessTokenAuthApiKeyAuthFirebaseAuth
query Parameters
teamId
string <uuid>

If included, this becomes the owning team of the prompt

userId
string <uuid>

If included, this becomes the owning user of the prompt

Request Body schema: application/json
id
string <uuid>
text
string
createdBy
string <uuid>

ID of the user who created the team

createdAt
string <date-time>

Responses

Request samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "text": "The only subject matter permitted to be discussed is health conditions",
  • "createdBy": "25a02396-1048-48f9-bf93-102d2fb7895e",
  • "createdAt": "2019-08-24T14:15:22Z"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "text": "The only subject matter permitted to be discussed is health conditions",
  • "createdBy": "25a02396-1048-48f9-bf93-102d2fb7895e",
  • "createdAt": "2019-08-24T14:15:22Z"
}

Update Prompt

Change the text of a prompt

Authorizations:
AccessTokenAuthApiKeyAuthFirebaseAuth
Request Body schema: application/json
text
string

Responses

Request samples

Content type
application/json
{
  • "text": "string"
}

Delete Prompt

Delete a prompt

Authorizations:
AccessTokenAuthApiKeyAuthFirebaseAuth

Responses

Remove Topic Prompt

Remove a prompt, if one is set, from a topic

Authorizations:
AccessTokenAuthApiKeyAuthFirebaseAuth
path Parameters
topicId
required
string <uuid>

The ID of the topic to remove a prompt, if one is set

Responses

Set Topic Prompt

Set the prompt that is used for a topic

Authorizations:
AccessTokenAuthApiKeyAuthFirebaseAuth
path Parameters
topicId
required
string <uuid>

The ID of the topic to which to set the topic

promptId
required
string <uuid>

The ID of the prompt to set for the topic

Responses

Health

Health Check

Simple health check endpoints for various APIs

path Parameters
apiName
string
Enum: "contract-api" "core-api" "data-source-api" "messaging-api"

Responses

Response samples

Content type
application/json
[
  • { }
]