Method names follow each language's convention:
- TypeScript/JS:
camelCase - Python:
snake_case
Returns token owner and metadata.
Returns all boards reachable by the token.
Fetches a single board including its full data (lists, cards, presets).
Replaces the entire board data object. Optionally pass the current revision to guard against concurrent writes.
Creates a new list at the end of the board.
| Option | Type | Description |
|---|---|---|
id |
string | Custom list ID (optional) |
revision |
number | Optimistic concurrency guard |
Creates a card. Returns { id, ticket, createdAt, title, categoryId }.
| Option | Type | Description |
|---|---|---|
categoryId |
string | Priority category (e.g. P1) |
description |
string | Card description (max 8,000 chars) |
descriptionMode |
plain | markdown | fields |
|
descriptionSize |
small | normal | large |
|
labels |
Label[] | Up to 50 labels per card |
assignees |
string[] | Roblox user IDs |
due |
{ iso: string } |
Due date in ISO 8601 |
checklist |
{ items: [...] } |
Up to 200 checklist items |
attachments |
{ name, url }[] |
Up to 100 attachments |
revision |
number |
Partially update a card. Only include fields you want to change. Pass null to clear optional fields.
Setting custom field values:
await client.updateCard('board-id', 'card-id', {
fieldValues: { 'owner-team': 'platform', 'discord-id': '1234567890' },
});Move a card to another list or reorder within the current list.
| Option | Type | Description |
|---|---|---|
position |
number | 0 = top, omit = bottom |
revision |
number |
Returns the shareable web URL for a card.
Adds a comment. Regular comments cap at 3,000 chars; pass kind: 'docucomment' for up to 15,000 chars.
Lists soft-deleted cards grouped by source list.
Soft-deletes a card into the vault.
Restores a vaulted card.
| Option | Type | Description |
|---|---|---|
toListId |
string | Destination list (defaults to source list) |
position |
number | Position in the list |
revision |
number |
Permanently deletes a vaulted card. This action is irreversible.
listBoardTokens(boardId)/list_board_tokens(board_id)createBoardToken(boardId, name, type)/create_board_token(board_id, name, type)—type:programmatic|plugindeleteBoardToken(boardId, tokenId)/delete_board_token(board_id, token_id)
listProfileTokens()/list_profile_tokens()createProfileToken(name)/create_profile_token(name)deleteProfileToken(tokenId)/delete_profile_token(token_id)
listOrgTokens(orgId)/list_org_tokens(org_id)createOrgToken(orgId, name)/create_org_token(org_id, name)deleteOrgToken(orgId, tokenId)/delete_org_token(org_id, token_id)configureOrgBotToken(orgId, tokenId, config)/configure_org_bot_token(org_id, token_id, *, name, avatar)
Bot config:
name— display name (max 32 chars), passnullto remove bot identityavatar— WebP data URL (max 16 KiB), passnullto remove avatar only
Requires a token with plugin:checklist scope. Org-owned tokens are not supported.
Returns board/list/card/checklist structure only.
Toggles a checklist item's done state.
Probes the plugin access level for the current token.
| Option | TypeScript/JS | Python | Default |
|---|---|---|---|
| API token | token |
token |
required |
| Base URL | baseUrl |
base_url |
https://api.jokelboard.com/api/v1 |
| Timeout | timeout (ms) |
timeout (seconds) |
10s |
| Auto-retry on 429 | retryOnRateLimit |
retry_on_rate_limit |
true |
| Max retries | maxRetries |
max_retries |
3 |