Tokens
Create token
Authenticate to the Windmill API with access tokens.
{#if newToken}
Added token:
{newToken}
Make sure to copy your personal access token now. You won't be able to see it again!
{/if} {#if newMcpToken}
New MCP URL:
Make sure to copy this URL now. You won't be able to see it again!
{/if} {#if displayCreateToken}
Add a new token
{#if scopes != undefined} {#each scopes as scope}
Scope
{/each} {/if} {#if showMcpMode}
{ mcpCreationMode = e.detail if (e.detail) { newTokenLabel = 'MCP token' newTokenExpiration = undefined newTokenWorkspace = $workspaceStore } else { newTokenLabel = undefined newTokenExpiration = undefined newTokenWorkspace = defaultNewTokenWorkspace } }} checked={mcpCreationMode} options={{ right: 'Generate MCP URL', rightTooltip: 'Generate a new MCP URL to make your scripts and flows available as tools.' }} class="mb-4" size="xs" /> {/if}
{#if mcpCreationMode}
Scope
Workspace
{#each $userWorkspaces as workspace}
{workspace.name}
{/each}
{/if}
Label
(optional)
Expires In
(optional)
No expiration
15m
30m
1h
1d
7d
30d
90d
createToken(mcpCreationMode)} disabled={mcpCreationMode && newTokenWorkspace === undefined} > New token
{/if}
prefix
label
expiration
scopes
{#if tokens && tokens.length > 0} {#each tokens as { token_prefix, expiration, label, scopes }}
{token_prefix}****
{label ?? ''}
{displayDate(expiration ?? '')}
{scopes?.join(', ') ?? ''}
handleDeleteClick(token_prefix)} > Delete
{/each} {:else if tokens && tokens.length === 0}
There are no tokens yet
{:else}
Loading...
{/if}
{#if tokens?.length == 100}
Next
{/if} {#if tokenPage > 1}
Previous
{/if}