Invites

Server invites

Write permission: server admin or invite creator

Queries

invitesByServer

GET
/api/v1/servers/:serverId/invites

List invites for a server.

Terminal

curl "https://start.chat/api/v1/servers/{serverId}/invites" \
-H "Authorization: Bearer sk_live_xxx"

inviteById

GET
/api/v1/invites/:inviteId

Get invite details by ID.

Terminal

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

Delete

DELETE
/api/v1/invites/:id

Revoke an invite link.

Parameters

FieldTypeRequiredDescription
idstringYes

Example

Terminal

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

Response

{
"ok": true,
"data": {
"id": "abc123",
"email": "user@example.com",
"serverId": "srv_abc123",
"inviterId": "usr_abc123",
"accepted": false,
"expiresAt": 1709251200000,
"createdAt": 1709251200000,
"updatedAt": 1709251200000
}
}

Insert

POST
/api/v1/invites

Create an invite link for the server.

Parameters

FieldTypeRequiredDescription
roleIdstringNo
acceptedAtnumberNo
acceptedByIdstringNo
emailstringYes
serverIdstringYes
expiresAtnumberYes

Example

Terminal

curl -X POST "https://start.chat/api/v1/invites" \
-H "Authorization: Bearer sk_live_xxx" \
-H "Content-Type: application/json" \
-d '{
"email": "user@example.com",
"serverId": "srv_abc123",
"expiresAt": 1709251200000
}'
import { setup, mutate } from '@start-chat/sdk'
await setup({ apiKey: 'sk_live_xxx' })
const result = await mutate.invite.insert({
email: 'user@example.com',
serverId: 'srv_abc123',
expiresAt: 1709251200000,
})

Response

{
"ok": true,
"data": {
"id": "abc123",
"email": "user@example.com",
"serverId": "srv_abc123",
"inviterId": "usr_abc123",
"accepted": false,
"expiresAt": 1709251200000,
"createdAt": 1709251200000,
"updatedAt": 1709251200000
}
}