Apps

Custom apps

Write permission: server creator, admin, or canEditChannel/canEditServer role

Queries

appById

GET
/api/v1/apps/:appId

Get app details by ID.

Terminal

curl "https://start.chat/api/v1/apps/{appId}" \
-H "Authorization: Bearer sk_live_xxx"

Update

PATCH
/api/v1/apps/:id

Update app configuration.

Parameters

FieldTypeRequiredDescription
idstringYes
serverIdstringNo
threadIdstringNo
typestringNo
metaunknownNo
installCountnumberNo
descriptionstringNo
namestringNo
versionstringNo
imagestringNo
categorystringNo
publisherNamestringNo
npmPackagestringNo
verifiedbooleanNo

Example

Terminal

curl -X PATCH "https://start.chat/api/v1/apps/{id}" \
-H "Authorization: Bearer sk_live_xxx" \
-H "Content-Type: application/json" \
-d '{
"id": "abc123"
}'
import { setup, mutate } from '@start-chat/sdk'
await setup({ apiKey: 'sk_live_xxx' })
const result = await mutate.app.update({
id: 'abc123',
})

Response

{
"ok": true,
"data": {
"id": "abc123",
"updatedAt": 1709251200000,
"createdAt": 1709251200000
}
}

Delete

DELETE
/api/v1/apps/:id

Delete an app.

Parameters

FieldTypeRequiredDescription
idstringYes

Example

Terminal

curl -X DELETE "https://start.chat/api/v1/apps/{id}" \
-H "Authorization: Bearer sk_live_xxx"
import { setup, mutate } from '@start-chat/sdk'
await setup({ apiKey: 'sk_live_xxx' })
const result = await mutate.app.delete({
id: 'abc123',
})

Response

{
"ok": true,
"data": {
"id": "abc123",
"updatedAt": 1709251200000,
"createdAt": 1709251200000
}
}

Insert

POST
/api/v1/apps

Register a new app.

Parameters

FieldTypeRequiredDescription
serverIdstringNo
threadIdstringNo
metastring[]No
installCountnumberNo
descriptionstringNo
namestringNo
versionstringNo
imagestringNo
categorystringNo
publisherNamestringNo
npmPackagestringNo
verifiedbooleanNo

Example

Terminal

curl -X POST "https://start.chat/api/v1/apps" \
-H "Authorization: Bearer sk_live_xxx" \
-H "Content-Type: application/json"
import { setup, mutate } from '@start-chat/sdk'
await setup({ apiKey: 'sk_live_xxx' })
const result = await mutate.app.insert({})

Response

{
"ok": true,
"data": {
"id": "abc123",
"updatedAt": 1709251200000,
"createdAt": 1709251200000
}
}

InstallFromRegistry

POST
/api/v1/apps/install-from-registry

InstallFromRegistry a app.

Example

Terminal

curl -X POST "https://start.chat/api/v1/apps/install-from-registry" \
-H "Authorization: Bearer sk_live_xxx" \
-H "Content-Type: application/json" \
-d '{
"id": "app_abc123"
}'
import { setup, mutate } from '@start-chat/sdk'
await setup({ apiKey: 'sk_live_xxx' })
const result = await mutate.app.installFromRegistry({
id: 'app_abc123',
})

Response

{
"ok": true,
"data": {
"id": "abc123",
"updatedAt": 1709251200000,
"createdAt": 1709251200000
}
}

Submit

POST
/api/v1/apps/submit

Submit a app.

Example

Terminal

curl -X POST "https://start.chat/api/v1/apps/submit" \
-H "Authorization: Bearer sk_live_xxx" \
-H "Content-Type: application/json" \
-d '{
"id": "app_abc123"
}'
import { setup, mutate } from '@start-chat/sdk'
await setup({ apiKey: 'sk_live_xxx' })
const result = await mutate.app.submit({
id: 'app_abc123',
})

Response

{
"ok": true,
"data": {
"id": "abc123",
"updatedAt": 1709251200000,
"createdAt": 1709251200000
}
}