Skip to main content

ChatKitty Platform REST API (v1.10.13)

Download OpenAPI specification:Download

Platform REST API OpenAPI specification (OAS). See the Interactive Docs to try ChatKitty API methods without writing code, and get the complete schema of resources exposed by the API.

Authentication

application_authorization

Security Scheme Type OAuth2
clientCredentials OAuth Flow
Token URL: https://authorization.chatkitty.com/oauth/token
Refresh URL: https://authorization.chatkitty.com/oauth/token
Scopes:
  • create:* -

    Create application resources

  • read:* -

    Read application resources

  • update:* -

    Update application resources

  • delete:* -

    Delete application resources

Application

Configure and manage your ChatKitty application

Get application

Returns the ChatKitty application with this Application ID

Authorizations:
application_authorization (
  • read:application
)

Responses

Request samples

curl --location --request GET 'https://api.chatkitty.com/v1/applications/1/' \
--header 'accept: application/hal+json' \
--header 'Authorization: Bearer 549f95bc-bb8c-4a55-8caf-ba39391004f3'

Response samples

Content type
application/hal+json;charset=UTF-8
{}

Get application settings

Returns the current settings configuring this application

Authorizations:
application_authorization (
  • read:application
)

Responses

Response samples

Content type
application/hal+json;charset=UTF-8
{
  • "guestUsers": "DISABLED"
}

Update application settings

Update the settings configuring this application

Authorizations:
application_authorization (
  • update:application
)
Request Body schema: application/json
guestUsers
required
string
Enum: "DISABLED" "ENABLED"

Toggles guest users enabled

Responses

Request samples

Content type
application/json
{
  • "guestUsers": "DISABLED"
}

Response samples

Content type
application/hal+json;charset=UTF-8
{
  • "guestUsers": "DISABLED"
}

Channels

Operations to create, retrieve, update and delete channels.

Get channels

Returns a page of channels belonging to this application

Authorizations:
query Parameters
page
integer >= 0
Default: 0

Zero-based page index (0..N)

size
integer >= 1
Default: 25

The size of the page to be returned

sort
Array of strings

Sorting criteria in the format: property(,asc|desc). Default sort order is ascending. Multiple sort criteria are supported.

type
string
Enum: "DIRECT" "PUBLIC" "PRIVATE"

Filters by channel type

members
Array of strings unique

Filters by channel members using their usernames

startTime
string <date-time>

Filters for channels created within a time range: start time

endTime
string <date-time>

Filters for channels created within a time range: end time

properties
string

Filters by channel custom properties

direct
boolean

Filters for direct channels

Responses

Response samples

Content type
application/hal+json;charset=UTF-8
{}

Create a channel

Creates a new channel or returns an equivalent existing channel

Authorizations:
application_authorization (
  • create:channel
)
Request Body schema: application/json
One of
object

Custom data associated with this channel

Array of ChatUserIdReference (object) or ChatUserUsernameReference (object) unique [ items ]

List of user references of members of this channel

object (ResourceReference)

Username of the user who created this channel

type
required
string
name
string

The unique name of this channel used to reference the channel. If absent defaults to a random UUID

displayName
string

Human readable name of this channel shown to users. If absent defaults to the channel name

Responses

Request samples

Content type
application/json
Example
{
  • "type": "DIRECT",
  • "members": [
    ]
}

Response samples

Content type
application/hal+json;charset=UTF-8
{}

Get a channel

Returns a channel by ID

Authorizations:
path Parameters
id
required
integer <int64>

Channel ID

Responses

Response samples

Content type
application/hal+json;charset=UTF-8
{}

Update a channel

Updates a channel properties

Authorizations:
application_authorization (
  • read:channel
  • update:channel
)
path Parameters
id
required
integer <int64>

Channel ID

Request Body schema: application/json
id
required
integer <int64>

64-bit integer identifier associated with this resource

type
required
string
Enum: "DIRECT" "PUBLIC" "PRIVATE"

The type of this channel

name
string

The unique name of this channel used to reference the channel

displayName
string

Human readable name of this channel shown to users

object (ChatUserProperties)
Array of objects (ChatUserProperties) [ items ]

The members of this channel. Present if this is a direct channel. For other channel types, use get channel members

object (MessageProperties)

The message last received associated with this channel

required
object

Custom data associated with this channel

createdTime
required
string <date-time>

The ISO date-time this channel was created

object (Links)

Responses

Request samples

Content type
application/json
{
  • "id": 0,
  • "type": "DIRECT",
  • "name": "string",
  • "displayName": "string",
  • "creator": {
    },
  • "members": [
    ],
  • "lastReceivedMessage": {
    },
  • "properties": {
    },
  • "createdTime": "2019-08-24T14:15:22Z",
  • "_links": {
    }
}

Response samples

Content type
application/hal+json;charset=UTF-8
{}

Delete a channel

Deletes a channel by ID

Authorizations:
application_authorization (
  • read:channel
  • delete:channel
)
path Parameters
id
required
integer <int64>

Channel ID

Responses

Response samples

Content type
application/hal+json;charset=UTF-8
{}

Send a channel event

Sends a custom channel event

Authorizations:
application_authorization (
  • read:channel
  • create:channel_event
)
path Parameters
id
required
integer <int64>

Channel ID

Request Body schema: application/json
type
required
string
required
object

Responses

Request samples

Content type
application/json
{
  • "type": "string",
  • "properties": {
    }
}

Response samples

Content type
application/hal+json;charset=UTF-8
{
  • "type": "string",
  • "user": {
    },
  • "properties": {
    },
  • "_links": {
    }
}

Get channel invites

Get a page of invites sent to join this channel

Authorizations:
application_authorization (
  • read:channel_invite
)
path Parameters
id
required
integer <int64>

Channel ID

query Parameters
page
integer >= 0
Default: 0

Zero-based page index (0..N)

size
integer >= 1
Default: 25

The size of the page to be returned

sort
Array of strings

Sorting criteria in the format: property(,asc|desc). Default sort order is ascending. Multiple sort criteria are supported.

Responses

Response samples

Content type
application/hal+json;charset=UTF-8
{
  • "_embedded": {
    },
  • "_links": {
    },
  • "page": {
    }
}

Send a channel invite

Sends a channel invite to user

Authorizations:
application_authorization (
  • read:channel
  • read:user
  • create:channel_invite
)
path Parameters
id
required
integer <int64>

Channel ID

Request Body schema: application/json
required
ChatUserIdReference (object) or ChatUserUsernameReference (object)
One of
id
required
integer <int64>

User ID associated with this user

Responses

Request samples

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

Response samples

Content type
application/hal+json;charset=UTF-8
{
  • "createdTime": "2019-08-24T14:15:22Z",
  • "_links": {
    }
}

Get a channel's members

Returns a page of channel members

Authorizations:
application_authorization (
  • read:channel
  • read:channel_membership
)
path Parameters
id
required
integer <int64>

Channel ID

query Parameters
page
integer >= 0
Default: 0

Zero-based page index (0..N)

size
integer >= 1
Default: 25

The size of the page to be returned

sort
Array of strings

Sorting criteria in the format: property(,asc|desc). Default sort order is ascending. Multiple sort criteria are supported.

Responses

Response samples

Content type
application/hal+json;charset=UTF-8
{}

Add a channel member

Makes a user a group channel member

Authorizations:
application_authorization (
  • read:channel
  • read:user
  • create:channel_membership
)
path Parameters
id
required
integer <int64>

Channel ID

Request Body schema: application/json
One of
id
required
integer <int64>

User ID associated with this user

Responses

Request samples

Content type
application/json
Example
{
  • "username": "jane@chatkitty.com"
}

Response samples

Content type
application/hal+json;charset=UTF-8
{}

Remove a channel member

Removes a user from a group channel

Authorizations:
application_authorization (
  • read:channel
  • read:user
  • delete:channel_membership
)
path Parameters
id
required
integer <int64>

Channel ID

user_id
required
integer <int64>

User ID of member to be removed

Responses

Response samples

Content type
application/hal+json;charset=UTF-8
{}

Get channel memberships

Returns a page of channel membership info for this channel

Authorizations:
application_authorization (
  • read:channel
  • read:channel_membership
)
path Parameters
id
required
integer <int64>

Channel ID

query Parameters
page
integer >= 0
Default: 0

Zero-based page index (0..N)

size
integer >= 1
Default: 25

The size of the page to be returned

sort
Array of strings

Sorting criteria in the format: property(,asc|desc). Default sort order is ascending. Multiple sort criteria are supported.

Responses

Response samples

Content type
application/hal+json;charset=UTF-8
{
  • "_embedded": {
    },
  • "_links": {
    },
  • "page": {
    }
}

Get channel messages

Get a page of messages sent in this channel

Authorizations:
application_authorization (
  • read:channel
  • read:message
)
path Parameters
id
required
integer <int64>

Channel ID

query Parameters
start
integer <int64>
next
integer <int64>
size
integer <int32>
relation
string
Enum: "SELF" "PREVIOUS" "NEXT"
username
string
query
string

Responses

Response samples

Content type
application/hal+json;charset=UTF-8
{}

Send a channel message

Sends a message in this channel as the system or on behalf of a user

Authorizations:
application_authorization (
  • read:channel
  • read:user
  • create:message
)
path Parameters
id
required
integer <int64>

Channel ID

Request Body schema:
One of

Responses

Request samples

Content type
Example
{
  • "properties": {
    },
  • "user": {
    },
  • "groupTag": "string",
  • "type": "string",
  • "file": {}
}

Response samples

Content type
application/hal+json;charset=UTF-8
{}

Add a channel moderator

Makes a user a group channel moderator

Authorizations:
application_authorization (
  • read:channel
  • read:user
  • read:channel_membership
  • create:channel_moderator
)
path Parameters
id
required
integer <int64>

Channel ID

Request Body schema: application/json
One of
id
required
integer <int64>

User ID associated with this user

Responses

Request samples

Content type
application/json
Example
{
  • "username": "jane@chatkitty.com"
}

Response samples

Content type
application/hal+json;charset=UTF-8
{}

Get channel participants

Get a page of channel active participants: members that currently online

Authorizations:
application_authorization (
  • read:channel
  • read:chat_session
)
path Parameters
id
required
integer <int64>

Channel ID

query Parameters
page
integer >= 0
Default: 0

Zero-based page index (0..N)

size
integer >= 1
Default: 25

The size of the page to be returned

sort
Array of strings

Sorting criteria in the format: property(,asc|desc). Default sort order is ascending. Multiple sort criteria are supported.

Responses

Response samples

Content type
application/hal+json;charset=UTF-8
{}

Jobs

Get information about long running scheduled jobs like imports and exports.

Get jobs

Returns a page of jobs created for this application

Authorizations:
query Parameters
page
integer >= 0
Default: 0

Zero-based page index (0..N)

size
integer >= 1
Default: 25

The size of the page to be returned

sort
Array of strings

Sorting criteria in the format: property(,asc|desc). Default sort order is ascending. Multiple sort criteria are supported.

running
boolean

Filters for jobs currently running

Responses

Response samples

Content type
application/hal+json;charset=UTF-8
{}

Get a job

Returns a job by ID

Authorizations:
path Parameters
id
required
integer <int64>

Job ID

Responses

Response samples

Content type
application/hal+json;charset=UTF-8
{}

Messages

Operations to retrieve, update and delete messages.

Get messages

Returns a page of messages belonging to this application

Authorizations:
query Parameters
start
integer <int64>
next
integer <int64>
size
integer <int32>
relation
string
Enum: "SELF" "PREVIOUS" "NEXT"
username
string

Filters messages by a sender's username

query
string

Filters text messages by text contained in the message body

Responses

Response samples

Content type
application/hal+json;charset=UTF-8
{}

Delete messages

Deletes all messages belonging to this application

Authorizations:
application_authorization (
  • read:message
  • delete:message
)

Responses

Response samples

Content type
application/json
{
  • "error": "unauthorized",
  • "error_description": "Full authentication is required to access this resource"
}

Get a message

Returns a message by ID

Authorizations:
path Parameters
id
required
integer <int64>

Message ID

Responses

Response samples

Content type
application/hal+json;charset=UTF-8
{}

Delete a message

Deletes a message by ID

Authorizations:
application_authorization (
  • read:message
  • delete:message
)
path Parameters
id
required
integer <int64>

Message ID

Responses

Response samples

Content type
application/hal+json;charset=UTF-8
{
  • "id": 0,
  • "type": "MAIN",
  • "name": "string",
  • "properties": {
    },
  • "createdTime": "2019-08-24T14:15:22Z",
  • "_links": {
    }
}

Users

User operations.

Get users

Returns a page of users belonging to this application

Authorizations:
query Parameters
page
integer >= 0
Default: 0

Zero-based page index (0..N)

size
integer >= 1
Default: 25

The size of the page to be returned

sort
Array of strings

Sorting criteria in the format: property(,asc|desc). Default sort order is ascending. Multiple sort criteria are supported.

name
string

Filters by username

Responses

Response samples

Content type
application/hal+json;charset=UTF-8
{}

Create a user

Creates a new user

Authorizations:
Request Body schema: application/json
name
required
string

The unique name used to identify this user across ChatKitty. Also known as username

displayName
required
string

Human readable name of this user. Shown to other users

isGuest
required
boolean

True if this user was created by a guest user session

object

Custom data associated with this user

Responses

Request samples

Content type
application/json
{
  • "name": "jane@chatkitty.com",
  • "displayName": "Jane Doe",
  • "isGuest": false,
  • "properties": {
    }
}

Response samples

Content type
application/hal+json;charset=UTF-8
{}

Check a user exists

Checks if a user exists

Authorizations:
query Parameters
name
required
string

Username of the user

Responses

Response samples

Content type
application/hal+json;charset=UTF-8
{ }

Get a user

Returns a user by ID

Authorizations:
path Parameters
id
required
integer <int64>

User ID

Responses

Response samples

Content type
application/hal+json;charset=UTF-8
{}

Update a user

Updates a user

Authorizations:
application_authorization (
  • read:user
  • update:user
)
path Parameters
id
required
integer <int64>

User ID

Request Body schema: application/json
id
required
integer <int64>

64-bit integer identifier associated with this resource

type
required
string
Enum: "PERSON" "BOT"

Type of user

name
required
string

The unique name used to identify this user across ChatKitty. Also known as username

displayName
required
string

Human readable name of this user. Shown to other users

displayPictureUrl
required
string

URL for this user's display picture

isGuest
required
boolean

True if this user was created by a guest user session

required
object (ChatUserPresenceProperties)

Presence status of this user

callStatus
string
Enum: "AVAILABLE" "IN_CALL"

Call presence status of this user

required
object

Custom data associated with this user

Responses

Request samples

Content type
application/json
{
  • "id": 0,
  • "type": "PERSON",
  • "name": "string",
  • "displayName": "string",
  • "displayPictureUrl": "string",
  • "isGuest": true,
  • "presence": {
    },
  • "callStatus": "AVAILABLE",
  • "properties": {
    }
}

Response samples

Content type
application/hal+json;charset=UTF-8
{}

Delete a user

Delets a user

Authorizations:
application_authorization (
  • read:user
  • delete:user
)
path Parameters
id
required
integer <int64>

User ID

Responses

Response samples

Content type
application/hal+json;charset=UTF-8
{}

Partially update a user

Updates a user by setting the values of the parameters passed. Any parameters not provided will be left unchanged

Authorizations:
application_authorization (
  • read:user
  • update:user
)
path Parameters
id
required
integer <int64>

User ID

Request Body schema: application/json+merge-patch
id
integer <int64>
type
string
Enum: "PERSON" "BOT"

Type of user

name
string

The unique name used to identify this user across ChatKitty. Also known as username

displayName
string

Human readable name of this user. Shown to other users

displayPictureUrl
string

URL for this user's display picture

isGuest
boolean

True if this user was created by a guest user session

object (ChatUserPresenceProperties)

Presence status of this user

callStatus
string
Enum: "AVAILABLE" "IN_CALL"

Call presence status of this user

object

Custom data associated with this user

object (Links)

Responses

Request samples

Content type
application/json+merge-patch
{
  • "displayName": "Jane Doe"
}

Response samples

Content type
application/hal+json;charset=UTF-8
{}

Get a user's channels

Returns a page of channels for this user created or joined

Authorizations:
application_authorization (
  • read:user
  • read:channels
)
path Parameters
id
required
integer <int64>

User ID

query Parameters
page
integer >= 0
Default: 0

Zero-based page index (0..N)

size
integer >= 1
Default: 25

The size of the page to be returned

sort
Array of strings

Sorting criteria in the format: property(,asc|desc). Default sort order is ascending. Multiple sort criteria are supported.

Responses

Response samples

Content type
application/hal+json;charset=UTF-8
{}

Update a user's display picture

Updates a user's display picture with a reference to an external file

Authorizations:
application_authorization (
  • read:user
  • update:user
)
path Parameters
id
required
integer <int64>

User ID

Request Body schema:
url
required
string

External file URL

name
required
string

File name

contentType
required
string

File MIME content type

size
required
integer <int64>

File size in bytes

Responses

Request samples

Content type
{}

Response samples

Content type
application/hal+json;charset=UTF-8
{}

Get a user's messages

Returns a page of messages sent by this user

Authorizations:
application_authorization (
  • read:user
  • read:channels
)
path Parameters
id
required
integer <int64>

User ID

query Parameters
start
integer <int64>
next
integer <int64>
size
integer <int32>
relation
string
Enum: "SELF" "PREVIOUS" "NEXT"
unread
boolean

Filters by returning unread messages

Responses

Response samples

Content type
application/hal+json;charset=UTF-8
{}

Get a user's notifications

Returns a page of notifications received by this user

Authorizations:
application_authorization (
  • read:user
  • read:notifications
)
path Parameters
id
required
integer <int64>

User ID

query Parameters
start
integer <int64>
next
integer <int64>
size
integer <int32>
relation
string
Enum: "SELF" "PREVIOUS" "NEXT"

Responses

Response samples

Content type
application/hal+json;charset=UTF-8
{
  • "_embedded": {
    },
  • "_links": {
    },
  • "page": {
    }
}

Get a user secret

Returns a user secret

Authorizations:
application_authorization (
  • read:user_secret
)
path Parameters
id
required
integer <int64>

User ID

name
required
string

The secret's name

Responses

Response samples

Content type
application/hal+json;charset=UTF-8
{
  • "secret": { },
  • "_links": {
    }
}

Set a user secret

Sets a user secret's value

Authorizations:
application_authorization (
  • read:user
  • update:user_secret
)
path Parameters
id
required
integer <int64>

User ID

name
required
string

The secret's name

Request Body schema: application/json
secret
object

Secret value

object (Links)

Responses

Request samples

Content type
application/json
{
  • "secret": { },
  • "_links": {
    }
}

Response samples

Content type
application/hal+json;charset=UTF-8
{}

Remove a user secret

Removes a user secret's value

Authorizations:
application_authorization (
  • read:user
  • delete:user_secret
)
path Parameters
id
required
integer <int64>

User ID

name
required
string

The secret's name

Responses

Response samples

Content type
application/hal+json;charset=UTF-8
{}