Hosted MCP with 91 agent tools: X, domains, SEO, Maps, Trends, Search, YouTube, TikTok, and more.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
API key from https://app.vee3.io/dashboard/keys
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Add a custom domain to a connected Clerk instance. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns the created domain with CNAME targets for DNS setup. Cost = 10 tokens.
Domain hostname to add.
Whether this is a satellite domain.
Proxy URL when using a satellite domain behind a reverse proxy.
Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Add a custom domain to a connected Clerk instance. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns the created domain with CNAME targets for DNS setup. Cost = 10 tokens.
| Argument | Type | Description |
|---|---|---|
| name* | string | Domain hostname to add. |
| proxy_url | any | Proxy URL when using a satellite domain behind a reverse proxy. |
| is_satellite* | boolean | Whether this is a satellite domain. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "add_clerk_domainArguments",
"required": [
"name",
"is_satellite"
],
"properties": {
"name": {
"type": "string",
"title": "Name",
"description": "Domain hostname to add."
},
"proxy_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Proxy Url",
"default": null,
"description": "Proxy URL when using a satellite domain behind a reverse proxy."
},
"is_satellite": {
"type": "boolean",
"title": "Is Satellite",
"description": "Whether this is a satellite domain."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}Ban one or more Clerk users, preventing them from signing in. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns the updated user summaries and total count. Cost = 8 tokens.
| Argument | Type | Description |
|---|---|---|
| user_ids* | array | List of one or more Clerk user ids (user_...) to ban. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "ban_clerk_usersArguments",
"required": [
"user_ids"
],
"properties": {
"user_ids": {
"type": "array",
"items": {
"type": "string"
},
"title": "User Ids",
"description": "List of one or more Clerk user ids (user_...) to ban."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}Change the primary or secondary home URL for a connected Clerk instance. WARNING: Destructive operation — changing the instance domain invalidates active sessions and may cause brief downtime. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns whether Clerk accepted the domain change request. Cost = 10 tokens.
| Argument | Type | Description |
|---|---|---|
| home_url* | string | New home URL for the instance domain. |
| is_secondary | any | When true, change the secondary domain instead of the primary. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "change_clerk_instance_domainArguments",
"required": [
"home_url"
],
"properties": {
"home_url": {
"type": "string",
"title": "Home Url",
"description": "New home URL for the instance domain."
},
"is_secondary": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Is Secondary",
"default": null,
"description": "When true, change the secondary domain instead of the primary."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}Return the total number of users in a connected Clerk application. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Cheaper than listing users when you only need the total count. Cost = 2 tokens.
| Argument | Type | Description |
|---|---|---|
| query | any | Optional filter query forwarded to Clerk (email, phone, username, or external id). |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "count_clerk_usersArguments",
"properties": {
"query": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Query",
"default": null,
"description": "Optional filter query forwarded to Clerk (email, phone, username, or external id)."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}Create an actor token that lets one user impersonate another in a connected Clerk application. **Sensitive** — the returned token is a high-privilege secret that grants impersonation access; do not log or expose it. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Cost = 15 tokens.
| Argument | Type | Description |
|---|---|---|
| user_id* | string | Clerk user id (user_...) of the user being impersonated. |
| actor_sub* | string | Clerk user id (user_...) of the impersonating actor (maps to actor.sub). |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
| expires_in_seconds | any | Actor token lifetime in seconds (minimum 1). Defaults to 3600 (1 hour). |
| session_max_duration_in_seconds | any | Maximum duration in seconds for the session created from this token (minimum 1). Defaults to 1800 (30 minutes). |
{
"type": "object",
"title": "create_clerk_actor_tokenArguments",
"required": [
"user_id",
"actor_sub"
],
"properties": {
"user_id": {
"type": "string",
"title": "User Id",
"description": "Clerk user id (user_...) of the user being impersonated."
},
"actor_sub": {
"type": "string",
"title": "Actor Sub",
"description": "Clerk user id (user_...) of the impersonating actor (maps to actor.sub)."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
},
"expires_in_seconds": {
"anyOf": [
{
"type": "integer",
"minimum": 1
},
{
"type": "null"
}
],
"title": "Expires In Seconds",
"default": null,
"description": "Actor token lifetime in seconds (minimum 1). Defaults to 3600 (1 hour)."
},
"session_max_duration_in_seconds": {
"anyOf": [
{
"type": "integer",
"minimum": 1
},
{
"type": "null"
}
],
"title": "Session Max Duration In Seconds",
"default": null,
"description": "Maximum duration in seconds for the session created from this token (minimum 1). Defaults to 1800 (30 minutes)."
}
}
}Create an admin portal link token in a connected Clerk instance. **Sensitive** — the returned token is a single-use deep-link secret; do not log or expose it. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Cost = 15 tokens.
| Argument | Type | Description |
|---|---|---|
| scopes | any | Optional scopes for the link (for example "admin_portal:read"). |
| it_contact_id | any | Optional opaque IT contact reference for the link. |
| organization_id | any | Optional organization id (org_...) to scope the admin portal link. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
| seconds_until_expiration | any | Link token lifetime in seconds (default 3600, max 86400). |
{
"type": "object",
"title": "create_clerk_admin_portal_link_tokenArguments",
"properties": {
"scopes": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Scopes",
"default": null,
"description": "Optional scopes for the link (for example \"admin_portal:read\")."
},
"it_contact_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "It Contact Id",
"default": null,
"description": "Optional opaque IT contact reference for the link."
},
"organization_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Organization Id",
"default": null,
"description": "Optional organization id (org_...) to scope the admin portal link."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
},
"seconds_until_expiration": {
"anyOf": [
{
"type": "integer",
"maximum": 86400,
"minimum": 1
},
{
"type": "null"
}
],
"title": "Seconds Until Expiration",
"default": null,
"description": "Link token lifetime in seconds (default 3600, max 86400)."
}
}
}Add an identifier to the allowlist in a connected Clerk instance. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns the created allowlist identifier summary. Cost = 8 tokens.
| Argument | Type | Description |
|---|---|---|
| notify | any | When true, notify the user by email or SMS that they were added to the allowlist. |
| identifier* | string | Identifier to allowlist: email, wildcard domain (*@example.com), E.164 phone (+15555555555), or Web3 wallet address. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "create_clerk_allowlist_identifierArguments",
"required": [
"identifier"
],
"properties": {
"notify": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Notify",
"default": null,
"description": "When true, notify the user by email or SMS that they were added to the allowlist."
},
"identifier": {
"type": "string",
"title": "Identifier",
"description": "Identifier to allowlist: email, wildcard domain (*@example.com), E.164 phone (+15555555555), or Web3 wallet address."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}Create an API key in a connected Clerk application. **Sensitive** — the returned secret is a high-privilege credential; do not log or expose it. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns the new API key summary. Cost = 10 tokens.
| Argument | Type | Description |
|---|---|---|
| name* | string | Human-readable name for the new API key. |
| claims | any | Custom claims to embed in tokens minted from this API key. |
| scopes | any | Permission scopes to grant the API key. |
| subject* | string | Subject the API key is scoped to (user_... or org_...). |
| key_type | any | API key type (typically "api_key"). |
| created_by | any | User id to record as the creator of this API key. |
| description | any | Optional description for the API key. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
Add an identifier to the blocklist in a connected Clerk instance. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Blocked identifiers cannot sign up or sign in. Returns the created blocklist identifier summary. Cost = 8 tokens.
| Argument | Type | Description |
|---|---|---|
| identifier* | string | Identifier to block: email, domain, E.164 phone (+15555555555), or Web3 wallet address. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "create_clerk_blocklist_identifierArguments",
"required": [
"identifier"
],
"properties": {
"identifier": {
"type": "string",
"title": "Identifier",
"description": "Identifier to block: email, domain, E.164 phone (+15555555555), or Web3 wallet address."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}Create a new email address for a Clerk user. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns the created email address summary. Cost = 10 tokens.
| Argument | Type | Description |
|---|---|---|
| primary | any | When true, set this email as the user's primary email address. |
| user_id* | string | Clerk user id (user_...) to retrieve or modify. |
| verified | any | When true, the email address is created as verified. |
| email_address* | string | Email address to create for the user. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "create_clerk_email_addressArguments",
"required": [
"user_id",
"email_address"
],
"properties": {
"primary": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Primary",
"default": null,
"description": "When true, set this email as the user's primary email address."
},
"user_id": {
"type": "string",
"title": "User Id",
"description": "Clerk user id (user_...) to retrieve or modify."
},
"verified": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Verified",
"default": null,
"description": "When true, the email address is created as verified."
},
"email_address": {
"type": "string",
"title": "Email Address",
"description": "Email address to create for the user."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}Create a SAML or OIDC enterprise SSO connection in a connected Clerk application. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns the new enterprise_connection summary. Cost = 10 tokens.
| Argument | Type | Description |
|---|---|---|
| name* | string | Display name for the enterprise connection. |
| oidc | any | OIDC client configuration when provider uses OAuth. |
| saml | any | SAML IdP configuration when provider uses SAML. |
| active | any | Whether the connection is active. |
| domains* | array | Email domains that may use this connection. |
| provider* | string | Identity provider key (for example saml_custom or oidc_custom). |
| organization_id | any | Clerk organization id (org_...) to link to this connection. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
Start an SSO test flow for an enterprise connection in a connected Clerk application. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns a short-lived url that opens the IdP test flow. Cost = 8 tokens.
| Argument | Type | Description |
|---|---|---|
| connection_id* | string | Clerk enterprise connection id (entc_...) to retrieve, update, delete, or test. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "create_clerk_enterprise_connection_test_runArguments",
"required": [
"connection_id"
],
"properties": {
"connection_id": {
"type": "string",
"title": "Connection Id",
"description": "Clerk enterprise connection id (entc_...) to retrieve, update, delete, or test."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}Invite one or more email addresses to sign up for a connected Clerk application. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Cost = 10 tokens.
| Argument | Type | Description |
|---|---|---|
| invitations* | array | One or more invitation objects. Each item requires email_address (string). Optional fields per item: role (string), redirect_url (string), public_metadata (object). |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "create_clerk_invitationsArguments",
"required": [
"invitations"
],
"properties": {
"invitations": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
},
"title": "Invitations",
"description": "One or more invitation objects. Each item requires email_address (string). Optional fields per item: role (string), redirect_url (string), public_metadata (object)."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}Create a new JWT template in a connected Clerk application. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns the new template summary. Cost = 10 tokens.
| Argument | Type | Description |
|---|---|---|
| name* | string | Unique JWT template name. |
| claims* | object | JWT claims template as a JSON object. |
| lifetime | any | Token lifetime in seconds (30–315360000). |
| signing_key | any | Custom signing private key (required when custom_signing_key is true). |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
| signing_algorithm | any | Custom signing algorithm (required when custom_signing_key is true). |
| allowed_clock_skew | any | Allowed clock skew in seconds (0–300). |
| custom_signing_key | any | Whether to use a custom signing key and algorithm. |
Create an M2M token in a connected Clerk instance. **Sensitive** — the returned token is a high-privilege secret; do not log or expose it. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns the created M2M token. Cost = 15 tokens.
| Argument | Type | Description |
|---|---|---|
| claims | any | Optional custom claims embedded in the token. |
| token_format | any | Token format: "opaque" (default) or "jwt". |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
| machine_secret_key* | string | Machine secret key (msk_...) used to authenticate the create request. |
| seconds_until_expiration | any | Token lifetime in seconds. |
| min_remaining_ttl_seconds | any | For opaque tokens, reuse an existing token with at least this TTL remaining. |
{
"type": "object",
"title": "create_clerk_m2m_tokenArguments",
"required": [
"machine_secret_key"
],
"properties": {
"claims": {
"anyOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "null"
}
],
"title": "Claims",
"default": null,
"description": "Optional custom claims embedded in the token."
},
"token_format": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Token Format",
"default": null,
"description": "Token format: \"opaque\" (default) or \"jwt\"."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
},
"machine_secret_key": {
"type": "string",
"title": "Machine Secret Key",
"description": "Machine secret key (msk_...) used to authenticate the create request."
},
"seconds_until_expiration": {
"anyOf": [
{
"type": "number",
"minimum": 0
},
{
"type": "null"
}
],
"title": "Seconds Until Expiration",
"default": null,
"description": "Token lifetime in seconds."
},
"min_remaining_ttl_seconds": {
"anyOf": [
{
"type": "integer",
"minimum": 0
},
{
"type": "null"
}
],
"title": "Min Remaining Ttl Seconds",
"default": null,
"description": "For opaque tokens, reuse an existing token with at least this TTL remaining."
}
}
}Create a machine in a connected Clerk instance for machine-to-machine authentication. **Sensitive** — the response may include a machine secret_key on creation; do not log or expose it. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Cost = 10 tokens.
| Argument | Type | Description |
|---|---|---|
| name* | string | Machine display name (1–255 characters). |
| scoped_machines | any | Machine ids (mch_...) this machine may access (max 150). |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
| default_token_ttl | any | Default M2M token lifetime in seconds (minimum 1). |
{
"type": "object",
"title": "create_clerk_machineArguments",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"title": "Name",
"description": "Machine display name (1–255 characters)."
},
"scoped_machines": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Scoped Machines",
"default": null,
"description": "Machine ids (mch_...) this machine may access (max 150)."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
},
"default_token_ttl": {
"anyOf": [
{
"type": "integer",
"maximum": 315360000,
"minimum": 1
},
{
"type": "null"
}
],
"title": "Default Token Ttl",
"default": null,
"description": "Default M2M token lifetime in seconds (minimum 1)."
}
}
}Create a machine scope so one machine can access another. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns the created machine scope. Cost = 8 tokens.
| Argument | Type | Description |
|---|---|---|
| machine_id* | string | Clerk machine id (mch_...) to retrieve or modify. |
| to_machine_id* | string | Target machine id (mch_...) to grant access to. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "create_clerk_machine_scopeArguments",
"required": [
"machine_id",
"to_machine_id"
],
"properties": {
"machine_id": {
"type": "string",
"title": "Machine Id",
"description": "Clerk machine id (mch_...) to retrieve or modify."
},
"to_machine_id": {
"type": "string",
"title": "To Machine Id",
"description": "Target machine id (mch_...) to grant access to."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}Create a new OAuth application in a connected Clerk application (Clerk as IdP). **Sensitive** — client_secret may be present for confidential clients; do not log or expose it. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns the new OAuth application summary. Cost = 10 tokens.
| Argument | Type | Description |
|---|---|---|
| name* | string | Display name for the new OAuth application. |
| public | any | Whether this is a public OAuth client (no client secret; PKCE-capable). |
| scopes | any | Space-delimited scopes (e.g. profile email public_metadata). |
| redirect_uris | any | Allowed redirect URIs for the OAuth authorization flow. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
| consent_screen_enabled | any | Whether to show the OAuth consent screen during authorization. |
{
"type": "object",
"title": "create_clerk_oauth_applicationArguments",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"title": "Name",
"description": "Display name for the new OAuth application."
},
"public": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Public",
"default": null,
"description": "Whether this is a public OAuth client (no client secret; PKCE-capable)."
},
"scopes": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Scopes",
"default": null,
"description": "Space-delimited scopes (e.g. profile email public_metadata)."
},
"redirect_uris": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Redirect Uris",
"default": null,
"description": "Allowed redirect URIs for the OAuth authorization flow."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
},
"consent_screen_enabled": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Consent Screen Enabled",
"default": null,
"description": "Whether to show the OAuth consent screen during authorization."
}
}
}Create a new organization in a connected Clerk application. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns the new organization summary. Cost = 10 tokens.
| Argument | Type | Description |
|---|---|---|
| name* | string | Organization display name. |
| slug | any | Optional URL-friendly slug for the organization. |
| created_by* | string | Clerk user id (user_...) of the user creating the organization. |
| public_metadata | any | Optional public metadata as a JSON object. |
| private_metadata | any | Optional private metadata as a JSON object. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
| max_allowed_memberships | any | Optional maximum number of memberships allowed. |
{
"type": "object",
"title": "create_clerk_organizationArguments",
"required": [
"name",
"created_by"
],
"properties": {
"name": {
"type": "string",
"title": "Name",
"description": "Organization display name."
},
"slug": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Slug",
"default": null,
"description": "Optional URL-friendly slug for the organization."
},
"created_by": {
"type": "string",
"title": "Created By",
"description": "Clerk user id (user_...) of the user creating the organization."
},
"public_metadata": {
"anyOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "null"
}
],
"title": "Public Metadata",
"default": null,
"description": "Optional public metadata as a JSON object."
},
"private_metadata": {
"anyOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "null"
}
],
"title": "Private Metadata",
"default": null,
"description": "Optional private metadata as a JSON object."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
},
"max_allowed_memberships": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Max Allowed Memberships",
"default": null,
"description": "Optional maximum number of memberships allowed."
}
}
}Add a domain to a Clerk organization. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns the created domain summary. Cost = 10 tokens.
| Argument | Type | Description |
|---|---|---|
| name* | string | Domain name to add (for example example.com). |
| verified | any | Whether the domain is verified. Defaults to true when omitted. |
| enrollment_mode | any | Filter or set enrollment mode: manual_invitation, automatic_invitation, or automatic_suggestion. |
| organization_id* | string | Clerk organization id (org_...) to operate on. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "create_clerk_organization_domainArguments",
"required": [
"organization_id",
"name"
],
"properties": {
"name": {
"type": "string",
"title": "Name",
"description": "Domain name to add (for example example.com)."
},
"verified": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Verified",
"default": null,
"description": "Whether the domain is verified. Defaults to true when omitted."
},
"enrollment_mode": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Enrollment Mode",
"default": null,
"description": "Filter or set enrollment mode: manual_invitation, automatic_invitation, or automatic_suggestion."
},
"organization_id": {
"type": "string",
"title": "Organization Id",
"description": "Clerk organization id (org_...) to operate on."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}Invite one or more email addresses to join a Clerk organization with specific roles. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns the list of created invitation summaries. Cost = 10 tokens.
| Argument | Type | Description |
|---|---|---|
| invitations* | array | One or more invitation objects. Each item requires email_address (string) and role (string, e.g. org:admin, org:member). |
| organization_id* | string | Clerk organization id (org_...) to operate on. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "create_clerk_organization_invitationsArguments",
"required": [
"organization_id",
"invitations"
],
"properties": {
"invitations": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
},
"title": "Invitations",
"description": "One or more invitation objects. Each item requires email_address (string) and role (string, e.g. org:admin, org:member)."
},
"organization_id": {
"type": "string",
"title": "Organization Id",
"description": "Clerk organization id (org_...) to operate on."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}Add a user to a Clerk organization with a specified role. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns the created membership. Cost = 10 tokens.
| Argument | Type | Description |
|---|---|---|
| role* | string | Role to assign to the user in the organization (e.g. org:member, org:admin). |
| user_id* | string | Clerk user id (user_...) of the user to add. |
| organization_id* | string | Clerk organization id (org_...) to add the member to. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "create_clerk_organization_membershipArguments",
"required": [
"organization_id",
"user_id",
"role"
],
"properties": {
"role": {
"type": "string",
"title": "Role",
"description": "Role to assign to the user in the organization (e.g. org:member, org:admin)."
},
"user_id": {
"type": "string",
"title": "User Id",
"description": "Clerk user id (user_...) of the user to add."
},
"organization_id": {
"type": "string",
"title": "Organization Id",
"description": "Clerk organization id (org_...) to add the member to."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}Create a new organization permission in a connected Clerk application. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns the new permission summary. Cost = 10 tokens.
| Argument | Type | Description |
|---|---|---|
| key* | string | Unique permission key. |
| name* | string | Permission display name. |
| description | any | Permission description. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "create_clerk_organization_permissionArguments",
"required": [
"name",
"key"
],
"properties": {
"key": {
"type": "string",
"title": "Key",
"description": "Unique permission key."
},
"name": {
"type": "string",
"title": "Name",
"description": "Permission display name."
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description",
"default": null,
"description": "Permission description."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}Create a new organization role in a connected Clerk application. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns the new role summary. Cost = 10 tokens.
| Argument | Type | Description |
|---|---|---|
| key* | string | Unique role key. |
| name* | string | Role display name. |
| description | any | Role description. |
| permissions | any | Permission keys to assign to the new role. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
| include_in_initial_role_set | any | Whether to include this role in the initial role set. |
{
"type": "object",
"title": "create_clerk_organization_roleArguments",
"required": [
"name",
"key"
],
"properties": {
"key": {
"type": "string",
"title": "Key",
"description": "Unique role key."
},
"name": {
"type": "string",
"title": "Name",
"description": "Role display name."
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description",
"default": null,
"description": "Role description."
},
"permissions": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Permissions",
"default": null,
"description": "Permission keys to assign to the new role."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
},
"include_in_initial_role_set": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Include In Initial Role Set",
"default": null,
"description": "Whether to include this role in the initial role set."
}
}
}Create a phone number for a Clerk user. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns the created phone number summary. Cost = 10 tokens.
| Argument | Type | Description |
|---|---|---|
| primary | any | Whether this should be the user's primary phone number. |
| user_id* | string | Clerk user id (user_...) to retrieve or modify. |
| verified | any | Whether the phone number should be marked verified. Defaults to false. |
| phone_number* | string | Phone number in E.164 format (e.g. +15551234567). |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
| reserved_for_second_factor | any | Whether to reserve this number for multi-factor authentication. |
{
"type": "object",
"title": "create_clerk_phone_numberArguments",
"required": [
"user_id",
"phone_number"
],
"properties": {
"primary": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Primary",
"default": null,
"description": "Whether this should be the user's primary phone number."
},
"user_id": {
"type": "string",
"title": "User Id",
"description": "Clerk user id (user_...) to retrieve or modify."
},
"verified": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Verified",
"default": null,
"description": "Whether the phone number should be marked verified. Defaults to false."
},
"phone_number": {
"type": "string",
"title": "Phone Number",
"description": "Phone number in E.164 format (e.g. +15551234567)."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
},
"reserved_for_second_factor": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Reserved For Second Factor",
"default": null,
"description": "Whether to reserve this number for multi-factor authentication."
}
}
}Add an allowed redirect URL to a connected Clerk instance. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns the created redirect URL. Cost = 10 tokens.
| Argument | Type | Description |
|---|---|---|
| url* | string | Redirect URL to allow for sign-in and sign-up flows. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "create_clerk_redirect_urlArguments",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"title": "Url",
"description": "Redirect URL to allow for sign-in and sign-up flows."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}Create a new session for a Clerk user in a connected Clerk application. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns the created session object with id, user_id, status, last_active_at, expire_at, client_id, created_at, and updated_at. Cost = 10 tokens.
| Argument | Type | Description |
|---|---|---|
| user_id* | string | Clerk user id (user_...) to create a session for. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "create_clerk_sessionArguments",
"required": [
"user_id"
],
"properties": {
"user_id": {
"type": "string",
"title": "User Id",
"description": "Clerk user id (user_...) to create a session for."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}Create a session token (JWT) for an active session in a connected Clerk application. Optionally pass template_name to create the token from a named JWT template. **Sensitive** — the returned JWT grants access on behalf of the user; do not log or expose it. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns a jwt field containing the signed token. Cost = 10 tokens.
| Argument | Type | Description |
|---|---|---|
| session_id* | string | Clerk session id (sess_...) to retrieve or modify. |
| template_name | any | Optional JWT template name. When set, the session token is created from that template. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "create_clerk_session_tokenArguments",
"required": [
"session_id"
],
"properties": {
"session_id": {
"type": "string",
"title": "Session Id",
"description": "Clerk session id (sess_...) to retrieve or modify."
},
"template_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Template Name",
"default": null,
"description": "Optional JWT template name. When set, the session token is created from that template."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}Create a sign-in token for a user in a connected Clerk application. The token can be used once to sign the user in without credentials (magic-link style). **Sensitive** — the returned token is a high-privilege secret that grants sign-in access; do not log or expose it. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Cost = 15 tokens.
| Argument | Type | Description |
|---|---|---|
| user_id* | string | Clerk user id (user_...) to retrieve or modify. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
| expires_in_seconds | any | Token lifetime in seconds (minimum 1). Defaults to 2592000 (30 days). |
{
"type": "object",
"title": "create_clerk_sign_in_tokenArguments",
"required": [
"user_id"
],
"properties": {
"user_id": {
"type": "string",
"title": "User Id",
"description": "Clerk user id (user_...) to retrieve or modify."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
},
"expires_in_seconds": {
"anyOf": [
{
"type": "integer",
"minimum": 1
},
{
"type": "null"
}
],
"title": "Expires In Seconds",
"default": null,
"description": "Token lifetime in seconds (minimum 1). Defaults to 2592000 (30 days)."
}
}
}Create a Svix app and associate it with a connected Clerk application for webhook delivery. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns a temporary svix_url from Clerk. Cost = 10 tokens.
| Argument | Type | Description |
|---|---|---|
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "create_clerk_svix_appArguments",
"properties": {
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}Generate a temporary URL for accessing the Svix management dashboard for a connected Clerk application. **Sensitive** — the returned URL grants access to webhook configuration; do not log or expose it. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns svix_url. Cost = 8 tokens.
| Argument | Type | Description |
|---|---|---|
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "create_clerk_svix_dashboard_urlArguments",
"properties": {
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}Create a user in a connected Clerk application. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Cost = 10 tokens.
| Argument | Type | Description |
|---|---|---|
| password | any | Optional password. Omit to create a user without a password. |
| last_name | any | Optional last name. |
| first_name | any | Optional first name. |
| email_address* | string | Primary email address for the new Clerk user. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "create_clerk_userArguments",
"required": [
"email_address"
],
"properties": {
"password": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Password",
"default": null,
"description": "Optional password. Omit to create a user without a password."
},
"last_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Last Name",
"default": null,
"description": "Optional last name."
},
"first_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "First Name",
"default": null,
"description": "Optional first name."
},
"email_address": {
"type": "string",
"title": "Email Address",
"description": "Primary email address for the new Clerk user."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}Add one or more email addresses to the waitlist in a connected Clerk application. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns the created or existing waitlist entries. Cost = 10 tokens.
| Argument | Type | Description |
|---|---|---|
| waitlist_entries* | array | One or more waitlist entry objects. Each item requires email_address (string). Optional fields per item: notify (boolean; whether to notify the user their email was added; defaults to true). |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "create_clerk_waitlist_entriesArguments",
"required": [
"waitlist_entries"
],
"properties": {
"waitlist_entries": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
},
"title": "Waitlist Entries",
"description": "One or more waitlist entry objects. Each item requires email_address (string). Optional fields per item: notify (boolean; whether to notify the user their email was added; defaults to true)."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}Remove an allowlist identifier by id. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns a deleted confirmation. Cost = 8 tokens.
| Argument | Type | Description |
|---|---|---|
| identifier_id* | string | Allowlist or blocklist identifier id (alid_... or blid_...) to delete. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "delete_clerk_allowlist_identifierArguments",
"required": [
"identifier_id"
],
"properties": {
"identifier_id": {
"type": "string",
"title": "Identifier Id",
"description": "Allowlist or blocklist identifier id (alid_... or blid_...) to delete."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}Permanently delete an API key from a connected Clerk application. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns the deleted API key id and a deleted flag. Cost = 10 tokens.
| Argument | Type | Description |
|---|---|---|
| api_key_id* | string | Clerk API key id (ak_...) to retrieve, update, delete, or revoke. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "delete_clerk_api_keyArguments",
"required": [
"api_key_id"
],
"properties": {
"api_key_id": {
"type": "string",
"title": "Api Key Id",
"description": "Clerk API key id (ak_...) to retrieve, update, delete, or revoke."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}Remove a blocklist identifier by id. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns a deleted confirmation. Cost = 8 tokens.
| Argument | Type | Description |
|---|---|---|
| identifier_id* | string | Allowlist or blocklist identifier id (alid_... or blid_...) to delete. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "delete_clerk_blocklist_identifierArguments",
"required": [
"identifier_id"
],
"properties": {
"identifier_id": {
"type": "string",
"title": "Identifier Id",
"description": "Allowlist or blocklist identifier id (alid_... or blid_...) to delete."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}Remove a custom domain from a connected Clerk instance. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns the deleted domain id and a deleted flag. Cost = 10 tokens.
| Argument | Type | Description |
|---|---|---|
| domain_id* | string | Clerk organization domain id (dmn_...) to update, delete, or verify. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "delete_clerk_domainArguments",
"required": [
"domain_id"
],
"properties": {
"domain_id": {
"type": "string",
"title": "Domain Id",
"description": "Clerk organization domain id (dmn_...) to update, delete, or verify."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}Delete a Clerk email address by its id. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns the deleted email address summary when Clerk provides it. Cost = 10 tokens.
| Argument | Type | Description |
|---|---|---|
| email_address_id* | string | Clerk email address id (idn_...) to retrieve or modify. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "delete_clerk_email_addressArguments",
"required": [
"email_address_id"
],
"properties": {
"email_address_id": {
"type": "string",
"title": "Email Address Id",
"description": "Clerk email address id (idn_...) to retrieve or modify."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}Delete an enterprise SSO connection from a connected Clerk application. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns the deleted enterprise connection object from Clerk. Cost = 10 tokens.
| Argument | Type | Description |
|---|---|---|
| connection_id* | string | Clerk enterprise connection id (entc_...) to retrieve, update, delete, or test. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "delete_clerk_enterprise_connectionArguments",
"required": [
"connection_id"
],
"properties": {
"connection_id": {
"type": "string",
"title": "Connection Id",
"description": "Clerk enterprise connection id (entc_...) to retrieve, update, delete, or test."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}Permanently delete a JWT template from a connected Clerk application. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. This action is irreversible. Returns the deleted template id and a deleted flag. Cost = 10 tokens.
| Argument | Type | Description |
|---|---|---|
| template_id* | string | Clerk JWT template id (jtmp_...) to retrieve, update, or delete. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "delete_clerk_jwt_templateArguments",
"required": [
"template_id"
],
"properties": {
"template_id": {
"type": "string",
"title": "Template Id",
"description": "Clerk JWT template id (jtmp_...) to retrieve, update, or delete."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}Delete a machine by id from a connected Clerk instance. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns a deletion confirmation. Cost = 10 tokens.
| Argument | Type | Description |
|---|---|---|
| machine_id* | string | Clerk machine id (mch_...) to retrieve or modify. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "delete_clerk_machineArguments",
"required": [
"machine_id"
],
"properties": {
"machine_id": {
"type": "string",
"title": "Machine Id",
"description": "Clerk machine id (mch_...) to retrieve or modify."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}Delete a machine scope, removing access from one machine to another. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns a deletion confirmation. Cost = 8 tokens.
| Argument | Type | Description |
|---|---|---|
| scope_id* | string | Target machine id (mch_...) for the scope to remove. |
| machine_id* | string | Clerk machine id (mch_...) to retrieve or modify. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "delete_clerk_machine_scopeArguments",
"required": [
"machine_id",
"scope_id"
],
"properties": {
"scope_id": {
"type": "string",
"title": "Scope Id",
"description": "Target machine id (mch_...) for the scope to remove."
},
"machine_id": {
"type": "string",
"title": "Machine Id",
"description": "Clerk machine id (mch_...) to retrieve or modify."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}Permanently delete an OAuth application from a connected Clerk application. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns the deleted OAuth application object from Clerk. Cost = 10 tokens.
| Argument | Type | Description |
|---|---|---|
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
| oauth_application_id* | string | Clerk OAuth application id (oa_...) to retrieve, update, or delete. |
{
"type": "object",
"title": "delete_clerk_oauth_applicationArguments",
"required": [
"oauth_application_id"
],
"properties": {
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
},
"oauth_application_id": {
"type": "string",
"title": "Oauth Application Id",
"description": "Clerk OAuth application id (oa_...) to retrieve, update, or delete."
}
}
}Permanently delete an organization from a connected Clerk application. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. This action is irreversible. Returns the deleted organization id and a deleted flag. Cost = 10 tokens.
| Argument | Type | Description |
|---|---|---|
| organization_id* | string | Clerk organization id (org_...) to operate on. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "delete_clerk_organizationArguments",
"required": [
"organization_id"
],
"properties": {
"organization_id": {
"type": "string",
"title": "Organization Id",
"description": "Clerk organization id (org_...) to operate on."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}Remove an organization domain from a Clerk organization. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns the deleted domain id and a deleted flag. Cost = 10 tokens.
| Argument | Type | Description |
|---|---|---|
| domain_id* | string | Clerk organization domain id (dmn_...) to update, delete, or verify. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "delete_clerk_organization_domainArguments",
"required": [
"domain_id"
],
"properties": {
"domain_id": {
"type": "string",
"title": "Domain Id",
"description": "Clerk organization domain id (dmn_...) to update, delete, or verify."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}Remove a user from a Clerk organization. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. This action cannot be undone. Cost = 8 tokens.
| Argument | Type | Description |
|---|---|---|
| user_id* | string | Clerk user id (user_...) of the member to remove. |
| organization_id* | string | Clerk organization id (org_...) to remove the member from. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "delete_clerk_organization_membershipArguments",
"required": [
"organization_id",
"user_id"
],
"properties": {
"user_id": {
"type": "string",
"title": "User Id",
"description": "Clerk user id (user_...) of the member to remove."
},
"organization_id": {
"type": "string",
"title": "Organization Id",
"description": "Clerk organization id (org_...) to remove the member from."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}Delete an organization permission from a connected Clerk application. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns the Clerk deletion payload. Cost = 10 tokens.
| Argument | Type | Description |
|---|---|---|
| permission_id* | string | Clerk organization permission id to update or delete. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "delete_clerk_organization_permissionArguments",
"required": [
"permission_id"
],
"properties": {
"permission_id": {
"type": "string",
"title": "Permission Id",
"description": "Clerk organization permission id to update or delete."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}Delete an organization role from a connected Clerk application. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns the Clerk deletion payload. Cost = 10 tokens.
| Argument | Type | Description |
|---|---|---|
| role_id* | string | Clerk organization role id to retrieve, update, or delete. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "delete_clerk_organization_roleArguments",
"required": [
"role_id"
],
"properties": {
"role_id": {
"type": "string",
"title": "Role Id",
"description": "Clerk organization role id to retrieve, update, or delete."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}Delete a Clerk phone number by id. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. This action cannot be undone. Returns a deleted confirmation. Cost = 10 tokens.
| Argument | Type | Description |
|---|---|---|
| phone_number_id* | string | Clerk phone number id (idn_... or phn_...) to retrieve or modify. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "delete_clerk_phone_numberArguments",
"required": [
"phone_number_id"
],
"properties": {
"phone_number_id": {
"type": "string",
"title": "Phone Number Id",
"description": "Clerk phone number id (idn_... or phn_...) to retrieve or modify."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}Remove an allowed redirect URL from a connected Clerk instance. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns the deleted redirect URL id and a deleted flag. Cost = 10 tokens.
| Argument | Type | Description |
|---|---|---|
| redirect_url_id* | string | Clerk redirect URL id to retrieve or delete. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "delete_clerk_redirect_urlArguments",
"required": [
"redirect_url_id"
],
"properties": {
"redirect_url_id": {
"type": "string",
"title": "Redirect Url Id",
"description": "Clerk redirect URL id to retrieve or delete."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}Delete the Svix app associated with a connected Clerk application and disassociate webhook delivery. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns a deleted confirmation. Cost = 10 tokens.
| Argument | Type | Description |
|---|---|---|
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "delete_clerk_svix_appArguments",
"properties": {
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}Permanently delete a Clerk user by user id. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. This action cannot be undone. Cost = 10 tokens.
| Argument | Type | Description |
|---|---|---|
| user_id* | string | Clerk user id (user_...) to delete. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "delete_clerk_userArguments",
"required": [
"user_id"
],
"properties": {
"user_id": {
"type": "string",
"title": "User Id",
"description": "Clerk user id (user_...) to delete."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}Delete all MFA backup codes for a Clerk user. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns the updated user object. Cost = 8 tokens.
| Argument | Type | Description |
|---|---|---|
| user_id* | string | Clerk user id (user_...) to operate on. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "delete_clerk_user_backup_codesArguments",
"required": [
"user_id"
],
"properties": {
"user_id": {
"type": "string",
"title": "User Id",
"description": "Clerk user id (user_...) to operate on."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}Delete (unlink) an external OAuth or social account from a Clerk user. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns the deleted external account. Cost = 8 tokens.
| Argument | Type | Description |
|---|---|---|
| user_id* | string | Clerk user id (user_...) to operate on. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
| external_account_id* | string | External account id (for example ea_...) to unlink. |
{
"type": "object",
"title": "delete_clerk_user_external_accountArguments",
"required": [
"user_id",
"external_account_id"
],
"properties": {
"user_id": {
"type": "string",
"title": "User Id",
"description": "Clerk user id (user_...) to operate on."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
},
"external_account_id": {
"type": "string",
"title": "External Account Id",
"description": "External account id (for example ea_...) to unlink."
}
}
}Delete a passkey for a Clerk user by passkey id. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns the updated user object. Cost = 8 tokens.
| Argument | Type | Description |
|---|---|---|
| user_id* | string | Clerk user id (user_...) to operate on. |
| passkey_id* | string | Passkey identification id to delete. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "delete_clerk_user_passkeyArguments",
"required": [
"user_id",
"passkey_id"
],
"properties": {
"user_id": {
"type": "string",
"title": "User Id",
"description": "Clerk user id (user_...) to operate on."
},
"passkey_id": {
"type": "string",
"title": "Passkey Id",
"description": "Passkey identification id to delete."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}Delete all TOTP authenticators for a Clerk user. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns the updated user object. Cost = 8 tokens.
| Argument | Type | Description |
|---|---|---|
| user_id* | string | Clerk user id (user_...) to operate on. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "delete_clerk_user_totpArguments",
"required": [
"user_id"
],
"properties": {
"user_id": {
"type": "string",
"title": "User Id",
"description": "Clerk user id (user_...) to operate on."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}Delete a Web3 wallet for a Clerk user. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns the updated user object. Cost = 8 tokens.
| Argument | Type | Description |
|---|---|---|
| user_id* | string | Clerk user id (user_...) to operate on. |
| web3_wallet_id* | string | Web3 wallet identification id to delete. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "delete_clerk_user_web3_walletArguments",
"required": [
"user_id",
"web3_wallet_id"
],
"properties": {
"user_id": {
"type": "string",
"title": "User Id",
"description": "Clerk user id (user_...) to operate on."
},
"web3_wallet_id": {
"type": "string",
"title": "Web3 Wallet Id",
"description": "Web3 wallet identification id to delete."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}Delete a pending waitlist entry from a connected Clerk application. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns the Clerk deleted-object payload. Cost = 10 tokens.
| Argument | Type | Description |
|---|---|---|
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
| waitlist_entry_id* | string | Clerk waitlist entry id (wle_...) to operate on. |
{
"type": "object",
"title": "delete_clerk_waitlist_entryArguments",
"required": [
"waitlist_entry_id"
],
"properties": {
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
},
"waitlist_entry_id": {
"type": "string",
"title": "Waitlist Entry Id",
"description": "Clerk waitlist entry id (wle_...) to operate on."
}
}
}Disable all MFA methods (SMS, TOTP, and similar) for a Clerk user at once. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns the updated user object. Cost = 8 tokens.
| Argument | Type | Description |
|---|---|---|
| user_id* | string | Clerk user id (user_...) to operate on. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "disable_clerk_user_mfaArguments",
"required": [
"user_id"
],
"properties": {
"user_id": {
"type": "string",
"title": "User Id",
"description": "Clerk user id (user_...) to operate on."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}Retrieve API key metadata by id from a connected Clerk application. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns the API key summary without the secret. Cost = 3 tokens.
| Argument | Type | Description |
|---|---|---|
| api_key_id* | string | Clerk API key id (ak_...) to retrieve, update, delete, or revoke. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "get_clerk_api_keyArguments",
"required": [
"api_key_id"
],
"properties": {
"api_key_id": {
"type": "string",
"title": "Api Key Id",
"description": "Clerk API key id (ak_...) to retrieve, update, delete, or revoke."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}Reveal the secret for an API key in a connected Clerk application. **Sensitive** — the returned secret is a high-privilege credential; do not log or expose it. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns secret. Cost = 5 tokens.
| Argument | Type | Description |
|---|---|---|
| api_key_id* | string | Clerk API key id (ak_...) to retrieve, update, delete, or revoke. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "get_clerk_api_key_secretArguments",
"required": [
"api_key_id"
],
"properties": {
"api_key_id": {
"type": "string",
"title": "Api Key Id",
"description": "Clerk API key id (ak_...) to retrieve, update, delete, or revoke."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}List Clerk applications connected to the authenticated Vee3 account. Returns clerk_instance_id, display name, environment type, and whether each connection is the default. Use clerk_instance_id on future Clerk calls, or omit it to use the default account. If accounts is empty, the user must connect a Clerk application at https://vee3.io/dashboard/connections before Clerk capabilities work. Agents cannot complete the connection flow; ask the user to connect, then call this tool again. Cost = 0 tokens.
No arguments.
{
"type": "object",
"title": "get_clerk_connected_accountsArguments",
"properties": {}
}Return the Publishable Key and Secret Key for a connected development Clerk instance so the agent can configure a local app env (NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY and CLERK_SECRET_KEY). **Sensitive** — the returned Secret Key is a high-privilege credential; do not log or expose it. Development only. Production connections are refused. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. If the connection was created before Publishable Keys were stored, ask the user to reconnect the Clerk application at https://vee3.io/dashboard/connections. Cost = 5 tokens.
| Argument | Type | Description |
|---|---|---|
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "get_clerk_development_api_keysArguments",
"properties": {
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}Retrieve a Clerk email address by its id. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns the email address summary. Cost = 3 tokens.
| Argument | Type | Description |
|---|---|---|
| email_address_id* | string | Clerk email address id (idn_...) to retrieve or modify. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "get_clerk_email_addressArguments",
"required": [
"email_address_id"
],
"properties": {
"email_address_id": {
"type": "string",
"title": "Email Address Id",
"description": "Clerk email address id (idn_...) to retrieve or modify."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}Retrieve a single enterprise SSO connection from a connected Clerk application. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns the enterprise_connection summary including SAML or OIDC configuration when present. Cost = 3 tokens.
| Argument | Type | Description |
|---|---|---|
| connection_id* | string | Clerk enterprise connection id (entc_...) to retrieve, update, delete, or test. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "get_clerk_enterprise_connectionArguments",
"required": [
"connection_id"
],
"properties": {
"connection_id": {
"type": "string",
"title": "Connection Id",
"description": "Clerk enterprise connection id (entc_...) to retrieve, update, delete, or test."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}Retrieve the connected Clerk application instance id and environment type. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns the Clerk instance id (ins_...) and environment_type (development or production). App display names are not available from the Backend API. Cost = 2 tokens.
| Argument | Type | Description |
|---|---|---|
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "get_clerk_instanceArguments",
"properties": {
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}Retrieve SMS communication settings for a connected Clerk instance. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns communication settings. Cost = 3 tokens.
| Argument | Type | Description |
|---|---|---|
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "get_clerk_instance_communication_settingsArguments",
"properties": {
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}Retrieve OAuth settings for a connected Clerk instance. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns OAuth settings. Cost = 3 tokens.
| Argument | Type | Description |
|---|---|---|
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "get_clerk_instance_oauth_settingsArguments",
"properties": {
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}Retrieve organization feature settings for a connected Clerk instance. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns organization feature settings. Cost = 3 tokens.
| Argument | Type | Description |
|---|---|---|
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "get_clerk_instance_organization_settingsArguments",
"properties": {
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}Retrieve core settings for a connected Clerk application instance. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns core instance settings. Cost = 3 tokens.
| Argument | Type | Description |
|---|---|---|
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "get_clerk_instance_settingsArguments",
"properties": {
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}Retrieve the JSON Web Key Set (JWKS) for verifying Clerk session tokens. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns public signing keys for verifying Clerk JWTs. Cost = 2 tokens.
| Argument | Type | Description |
|---|---|---|
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "get_clerk_jwksArguments",
"properties": {
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}Retrieve a single JWT template from a connected Clerk application. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns id, name, claims, lifetime, allowed_clock_skew, created_at, updated_at, signing_algorithm, and custom_signing_key. Cost = 3 tokens.
| Argument | Type | Description |
|---|---|---|
| template_id* | string | Clerk JWT template id (jtmp_...) to retrieve, update, or delete. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "get_clerk_jwt_templateArguments",
"required": [
"template_id"
],
"properties": {
"template_id": {
"type": "string",
"title": "Template Id",
"description": "Clerk JWT template id (jtmp_...) to retrieve, update, or delete."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}Retrieve a machine by id from a connected Clerk instance. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns machine metadata including scoped_machines. Cost = 3 tokens.
| Argument | Type | Description |
|---|---|---|
| machine_id* | string | Clerk machine id (mch_...) to retrieve or modify. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "get_clerk_machineArguments",
"required": [
"machine_id"
],
"properties": {
"machine_id": {
"type": "string",
"title": "Machine Id",
"description": "Clerk machine id (mch_...) to retrieve or modify."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}Retrieve the secret key for a machine in a connected Clerk instance. **Sensitive** — the returned secret grants machine authentication; do not log or expose it. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns the machine secret key. Cost = 5 tokens.
| Argument | Type | Description |
|---|---|---|
| machine_id* | string | Clerk machine id (mch_...) to retrieve or modify. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "get_clerk_machine_secret_keyArguments",
"required": [
"machine_id"
],
"properties": {
"machine_id": {
"type": "string",
"title": "Machine Id",
"description": "Clerk machine id (mch_...) to retrieve or modify."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}Retrieve a single OAuth application by id from a connected Clerk application. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns the OAuth application summary. Cost = 3 tokens.
| Argument | Type | Description |
|---|---|---|
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
| oauth_application_id* | string | Clerk OAuth application id (oa_...) to retrieve, update, or delete. |
{
"type": "object",
"title": "get_clerk_oauth_applicationArguments",
"required": [
"oauth_application_id"
],
"properties": {
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
},
"oauth_application_id": {
"type": "string",
"title": "Oauth Application Id",
"description": "Clerk OAuth application id (oa_...) to retrieve, update, or delete."
}
}
}Retrieve a single organization from a connected Clerk application. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns organization id, name, slug, members_count, and created_at. Cost = 3 tokens.
| Argument | Type | Description |
|---|---|---|
| organization_id* | string | Clerk organization id (org_...) to operate on. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "get_clerk_organizationArguments",
"required": [
"organization_id"
],
"properties": {
"organization_id": {
"type": "string",
"title": "Organization Id",
"description": "Clerk organization id (org_...) to operate on."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}Retrieve a single Clerk organization invitation by id. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns the invitation summary including status. Cost = 3 tokens.
| Argument | Type | Description |
|---|---|---|
| invitation_id* | string | Clerk organization invitation id (orginv_...). |
| organization_id* | string | Clerk organization id (org_...) to operate on. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "get_clerk_organization_invitationArguments",
"required": [
"organization_id",
"invitation_id"
],
"properties": {
"invitation_id": {
"type": "string",
"title": "Invitation Id",
"description": "Clerk organization invitation id (orginv_...)."
},
"organization_id": {
"type": "string",
"title": "Organization Id",
"description": "Clerk organization id (org_...) to operate on."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}Retrieve an organization role by id from a connected Clerk application. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns the role summary including assigned permissions. Cost = 3 tokens.
| Argument | Type | Description |
|---|---|---|
| role_id* | string | Clerk organization role id to retrieve, update, or delete. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "get_clerk_organization_roleArguments",
"required": [
"role_id"
],
"properties": {
"role_id": {
"type": "string",
"title": "Role Id",
"description": "Clerk organization role id to retrieve, update, or delete."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}Retrieve a Clerk phone number by id. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns the phone number summary. Cost = 3 tokens.
| Argument | Type | Description |
|---|---|---|
| phone_number_id* | string | Clerk phone number id (idn_... or phn_...) to retrieve or modify. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "get_clerk_phone_numberArguments",
"required": [
"phone_number_id"
],
"properties": {
"phone_number_id": {
"type": "string",
"title": "Phone Number Id",
"description": "Clerk phone number id (idn_... or phn_...) to retrieve or modify."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}Retrieve an allowed redirect URL by id from a connected Clerk instance. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns the redirect URL. Cost = 3 tokens.
| Argument | Type | Description |
|---|---|---|
| redirect_url_id* | string | Clerk redirect URL id to retrieve or delete. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "get_clerk_redirect_urlArguments",
"required": [
"redirect_url_id"
],
"properties": {
"redirect_url_id": {
"type": "string",
"title": "Redirect Url Id",
"description": "Clerk redirect URL id to retrieve or delete."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}Retrieve a single session from a connected Clerk application by its session id. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns session id, user_id, status, last_active_at, expire_at, client_id, created_at, and updated_at. Cost = 3 tokens.
| Argument | Type | Description |
|---|---|---|
| session_id* | string | Clerk session id (sess_...) to retrieve or modify. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "get_clerk_sessionArguments",
"required": [
"session_id"
],
"properties": {
"session_id": {
"type": "string",
"title": "Session Id",
"description": "Clerk session id (sess_...) to retrieve or modify."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}Retrieve an in-progress sign-up from a connected Clerk application by sign-up id. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns status, contact fields, missing and unverified fields, and completion timestamps. Cost = 3 tokens.
| Argument | Type | Description |
|---|---|---|
| sign_up_id* | string | Clerk sign-up id (su_...) to retrieve. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "get_clerk_sign_upArguments",
"required": [
"sign_up_id"
],
"properties": {
"sign_up_id": {
"type": "string",
"title": "Sign Up Id",
"description": "Clerk sign-up id (su_...) to retrieve."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}Retrieve one Clerk user by id. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns id, name, primary email, and created_at. Cost = 3 tokens.
| Argument | Type | Description |
|---|---|---|
| user_id* | string | Clerk user id (user_...) to retrieve. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "get_clerk_userArguments",
"required": [
"user_id"
],
"properties": {
"user_id": {
"type": "string",
"title": "User Id",
"description": "Clerk user id (user_...) to retrieve."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}Send an invite to the email address on a waitlist entry. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Cost = 10 tokens.
| Argument | Type | Description |
|---|---|---|
| ignore_existing | any | When true, create an invitation even if one already exists for this email. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
| waitlist_entry_id* | string | Clerk waitlist entry id (wle_...) to operate on. |
{
"type": "object",
"title": "invite_clerk_waitlist_entryArguments",
"required": [
"waitlist_entry_id"
],
"properties": {
"ignore_existing": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Ignore Existing",
"default": null,
"description": "When true, create an invitation even if one already exists for this email."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
},
"waitlist_entry_id": {
"type": "string",
"title": "Waitlist Entry Id",
"description": "Clerk waitlist entry id (wle_...) to operate on."
}
}
}List allowlisted identifiers in a connected Clerk instance. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns allowlist identifiers and total_count. Cost = 5 tokens.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Maximum number of identifiers to return (1–500). |
| offset | integer | Number of identifiers to skip before returning results. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "list_clerk_allowlist_identifiersArguments",
"properties": {
"limit": {
"type": "integer",
"title": "Limit",
"default": 10,
"description": "Maximum number of identifiers to return (1–500)."
},
"offset": {
"type": "integer",
"title": "Offset",
"default": 0,
"description": "Number of identifiers to skip before returning results."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}List API keys in a connected Clerk application. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns api_keys and total_count. Cost = 5 tokens.
| Argument | Type | Description |
|---|---|---|
| limit | any | Maximum number of API keys to return (1–500). |
| query | any | Search query to filter API keys by name. |
| offset | any | Number of API keys to skip before returning results. |
| subject* | string | Subject to list API keys for (user_... or org_...). |
| key_type | any | Filter by API key type (typically "api_key"). |
| include_invalid | any | When true, include revoked or expired API keys. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "list_clerk_api_keysArguments",
"required": [
"subject"
],
"properties": {
"limit": {
"anyOf": [
{
"type": "integer",
"maximum": 500,
"minimum": 1
},
{
"type": "null"
}
],
"title": "Limit",
"default": null,
"description": "Maximum number of API keys to return (1–500)."
},
"query": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Query",
"default": null,
"description": "Search query to filter API keys by name."
},
"offset": {
"anyOf": [
{
"type": "integer",
"minimum": 0
},
{
"type": "null"
}
],
"title": "Offset",
"default": null,
"description": "Number of API keys to skip before returning results."
},
"subject": {
"type": "string",
"title": "Subject",
"description": "Subject to list API keys for (user_... or org_...)."
},
"key_type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Key Type",
"default": null,
"description": "Filter by API key type (typically \"api_key\")."
},
"include_invalid": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Include Invalid",
"default": null,
"description": "When true, include revoked or expired API keys."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}List blocklisted identifiers in a connected Clerk instance. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns blocklist identifiers and total_count. Cost = 5 tokens.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Maximum number of identifiers to return (1–500). |
| offset | integer | Number of identifiers to skip before returning results. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "list_clerk_blocklist_identifiersArguments",
"properties": {
"limit": {
"type": "integer",
"title": "Limit",
"default": 10,
"description": "Maximum number of identifiers to return (1–500)."
},
"offset": {
"type": "integer",
"title": "Offset",
"default": 0,
"description": "Number of identifiers to skip before returning results."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}List custom domains configured for a connected Clerk instance. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns custom domain summaries and total_count. Cost = 5 tokens.
| Argument | Type | Description |
|---|---|---|
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "list_clerk_domainsArguments",
"properties": {
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}List SAML or OIDC debug test runs for an enterprise SSO connection. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns test_runs summaries plus total_count. Cost = 5 tokens.
| Argument | Type | Description |
|---|---|---|
| limit | any | Maximum number of results to return (1–500). |
| offset | any | Number of results to skip before returning. |
| status | any | Filter by test run status: "pending", "success", or "failed". |
| connection_id* | string | Clerk enterprise connection id (entc_...) to retrieve, update, delete, or test. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "list_clerk_enterprise_connection_test_runsArguments",
"required": [
"connection_id"
],
"properties": {
"limit": {
"anyOf": [
{
"type": "integer",
"maximum": 500,
"minimum": 1
},
{
"type": "null"
}
],
"title": "Limit",
"default": null,
"description": "Maximum number of results to return (1–500)."
},
"offset": {
"anyOf": [
{
"type": "integer",
"minimum": 0
},
{
"type": "null"
}
],
"title": "Offset",
"default": null,
"description": "Number of results to skip before returning."
},
"status": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Status",
"default": null,
"description": "Filter by test run status: \"pending\", \"success\", or \"failed\"."
},
"connection_id": {
"type": "string",
"title": "Connection Id",
"description": "Clerk enterprise connection id (entc_...) to retrieve, update, delete, or test."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}List enterprise SSO (SAML/OIDC) connections in a connected Clerk application. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns enterprise_connections summaries plus total_count. Cost = 5 tokens.
| Argument | Type | Description |
|---|---|---|
| limit | any | Maximum number of results to return (1–500). |
| active | any | Filter by active status. Omit to return all connections. |
| offset | any | Number of results to skip before returning. |
| organization_id | any | Filter connections linked to this Clerk organization id (org_...). |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "list_clerk_enterprise_connectionsArguments",
"properties": {
"limit": {
"anyOf": [
{
"type": "integer",
"maximum": 500,
"minimum": 1
},
{
"type": "null"
}
],
"title": "Limit",
"default": null,
"description": "Maximum number of results to return (1–500)."
},
"active": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Active",
"default": null,
"description": "Filter by active status. Omit to return all connections."
},
"offset": {
"anyOf": [
{
"type": "integer",
"minimum": 0
},
{
"type": "null"
}
],
"title": "Offset",
"default": null,
"description": "Number of results to skip before returning."
},
"organization_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Organization Id",
"default": null,
"description": "Filter connections linked to this Clerk organization id (org_...)."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}List application invitations in a connected Clerk instance. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns invitation id, email_address, status, created_at, and revoked for each invitation, plus total_count. Cost = 5 tokens.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Maximum number of invitations to return (1–500). |
| offset | integer | Number of invitations to skip before returning results. |
| status | any | Optional status filter: "pending", "accepted", "revoked", or "expired". |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "list_clerk_invitationsArguments",
"properties": {
"limit": {
"type": "integer",
"title": "Limit",
"default": 10,
"description": "Maximum number of invitations to return (1–500)."
},
"offset": {
"type": "integer",
"title": "Offset",
"default": 0,
"description": "Number of invitations to skip before returning results."
},
"status": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Status",
"default": null,
"description": "Optional status filter: \"pending\", \"accepted\", \"revoked\", or \"expired\"."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}List JWT templates in a connected Clerk application. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns each template's id, name, claims, lifetime, allowed_clock_skew, created_at, updated_at, signing_algorithm, and custom_signing_key, plus total_count. Cost = 5 tokens.
| Argument | Type | Description |
|---|---|---|
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "list_clerk_jwt_templatesArguments",
"properties": {
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}List M2M tokens for a machine in a connected Clerk instance. **Sensitive** — returns token metadata for active machine credentials. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns M2M token summaries plus total_count. JWT-format tokens are not listed. Cost = 5 tokens.
| Argument | Type | Description |
|---|---|---|
| limit | any | Maximum number of results to return (1–500). |
| offset | any | Number of results to skip before returning. |
| expired | any | Include expired tokens (default false). |
| revoked | any | Include revoked tokens (default false). |
| subject* | string | Machine id (mch_...) whose tokens to list. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "list_clerk_m2m_tokensArguments",
"required": [
"subject"
],
"properties": {
"limit": {
"anyOf": [
{
"type": "integer",
"maximum": 500,
"minimum": 1
},
{
"type": "null"
}
],
"title": "Limit",
"default": null,
"description": "Maximum number of results to return (1–500)."
},
"offset": {
"anyOf": [
{
"type": "integer",
"minimum": 0
},
{
"type": "null"
}
],
"title": "Offset",
"default": null,
"description": "Number of results to skip before returning."
},
"expired": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Expired",
"default": null,
"description": "Include expired tokens (default false)."
},
"revoked": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Revoked",
"default": null,
"description": "Include revoked tokens (default false)."
},
"subject": {
"type": "string",
"title": "Subject",
"description": "Machine id (mch_...) whose tokens to list."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}List machines in a connected Clerk instance. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns machine summaries plus total_count. Cost = 5 tokens.
| Argument | Type | Description |
|---|---|---|
| limit | any | Maximum number of results to return (1–500). |
| query | any | Filter by machine id (exact) or name (partial match). |
| offset | any | Number of results to skip before returning. |
| order_by | any | Sort by name or created_at; prefix with - for descending (default -created_at). |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "list_clerk_machinesArguments",
"properties": {
"limit": {
"anyOf": [
{
"type": "integer",
"maximum": 500,
"minimum": 1
},
{
"type": "null"
}
],
"title": "Limit",
"default": null,
"description": "Maximum number of results to return (1–500)."
},
"query": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Query",
"default": null,
"description": "Filter by machine id (exact) or name (partial match)."
},
"offset": {
"anyOf": [
{
"type": "integer",
"minimum": 0
},
{
"type": "null"
}
],
"title": "Offset",
"default": null,
"description": "Number of results to skip before returning."
},
"order_by": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Order By",
"default": null,
"description": "Sort by name or created_at; prefix with - for descending (default -created_at)."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}List OAuth applications registered in a connected Clerk application when Clerk acts as an OAuth identity provider. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns each application's id, name, client_id, redirect_uris, scopes, public flag, and related endpoint URLs, plus total_count. Cost = 5 tokens.
| Argument | Type | Description |
|---|---|---|
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "list_clerk_oauth_applicationsArguments",
"properties": {
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}List organization domains across a Clerk instance. Optionally filter to one organization via organization_id. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns domain summaries and total_count. Cost = 5 tokens.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Maximum number of results to return (1–500). |
| query | any | Search domains by name or organization id. Values starting with org_ match organization id exactly; otherwise performs a case-insensitive partial match on the domain name. |
| offset | integer | Number of results to skip before returning. |
| verified | any | Filter by verification status: "true" or "false". |
| enrollment_mode | any | Filter or set enrollment mode: manual_invitation, automatic_invitation, or automatic_suggestion. |
| organization_id | any | Filter domains to a specific Clerk organization id (org_...). |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
List organization invitations across a Clerk instance. Optionally filter to one organization via organization_id. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns invitation summaries and total_count. Cost = 5 tokens.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Maximum number of results to return (1–500). |
| offset | integer | Number of results to skip before returning. |
| status | any | Filter by invitation status: pending, accepted, revoked, or expired. |
| organization_id | any | Filter invitations to a specific Clerk organization id (org_...). |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "list_clerk_organization_invitationsArguments",
"properties": {
"limit": {
"type": "integer",
"title": "Limit",
"default": 10,
"maximum": 500,
"minimum": 1,
"description": "Maximum number of results to return (1–500)."
},
"offset": {
"type": "integer",
"title": "Offset",
"default": 0,
"minimum": 0,
"description": "Number of results to skip before returning."
},
"status": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Status",
"default": null,
"description": "Filter by invitation status: pending, accepted, revoked, or expired."
},
"organization_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Organization Id",
"default": null,
"description": "Filter invitations to a specific Clerk organization id (org_...)."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}List members of a Clerk organization. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns membership id, user_id, role, and created_at for each member, plus total_count. Cost = 5 tokens.
| Argument | Type | Description |
|---|---|---|
| limit | any | Maximum number of organization memberships to return (1–500). |
| offset | any | Number of organization memberships to skip before returning results. |
| organization_id* | string | Clerk organization id (org_...) whose members to list. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "list_clerk_organization_membershipsArguments",
"required": [
"organization_id"
],
"properties": {
"limit": {
"anyOf": [
{
"type": "integer",
"maximum": 500,
"minimum": 1
},
{
"type": "null"
}
],
"title": "Limit",
"default": null,
"description": "Maximum number of organization memberships to return (1–500)."
},
"offset": {
"anyOf": [
{
"type": "integer",
"minimum": 0
},
{
"type": "null"
}
],
"title": "Offset",
"default": null,
"description": "Number of organization memberships to skip before returning results."
},
"organization_id": {
"type": "string",
"title": "Organization Id",
"description": "Clerk organization id (org_...) whose members to list."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}List organization permissions in a connected Clerk application. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns permission summaries and total_count. Cost = 5 tokens.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Maximum number of results to return (1–500). |
| query | any | Search by name or key. |
| offset | integer | Number of results to skip before returning. |
| order_by | any | Sort order with optional + or - prefix (for example -created_at or name). Defaults to -created_at. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "list_clerk_organization_permissionsArguments",
"properties": {
"limit": {
"type": "integer",
"title": "Limit",
"default": 10,
"maximum": 500,
"minimum": 1,
"description": "Maximum number of results to return (1–500)."
},
"query": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Query",
"default": null,
"description": "Search by name or key."
},
"offset": {
"type": "integer",
"title": "Offset",
"default": 0,
"minimum": 0,
"description": "Number of results to skip before returning."
},
"order_by": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Order By",
"default": null,
"description": "Sort order with optional + or - prefix (for example -created_at or name). Defaults to -created_at."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}List organization roles in a connected Clerk application. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns role summaries with nested permissions and total_count. Cost = 5 tokens.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Maximum number of results to return (1–500). |
| query | any | Search by name or key. |
| offset | integer | Number of results to skip before returning. |
| order_by | any | Sort order with optional + or - prefix (for example -created_at or name). Defaults to -created_at. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "list_clerk_organization_rolesArguments",
"properties": {
"limit": {
"type": "integer",
"title": "Limit",
"default": 10,
"maximum": 500,
"minimum": 1,
"description": "Maximum number of results to return (1–500)."
},
"query": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Query",
"default": null,
"description": "Search by name or key."
},
"offset": {
"type": "integer",
"title": "Offset",
"default": 0,
"minimum": 0,
"description": "Number of results to skip before returning."
},
"order_by": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Order By",
"default": null,
"description": "Sort order with optional + or - prefix (for example -created_at or name). Defaults to -created_at."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}List organizations in a connected Clerk application. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns organization id, name, slug, members_count, and created_at for each organization, plus total_count. Cost = 5 tokens.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Maximum number of organizations to return (1–500). |
| query | any | Optional search string to filter organizations by name or slug. |
| offset | integer | Number of organizations to skip before returning results. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "list_clerk_organizationsArguments",
"properties": {
"limit": {
"type": "integer",
"title": "Limit",
"default": 10,
"maximum": 500,
"minimum": 1,
"description": "Maximum number of organizations to return (1–500)."
},
"query": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Query",
"default": null,
"description": "Optional search string to filter organizations by name or slug."
},
"offset": {
"type": "integer",
"title": "Offset",
"default": 0,
"minimum": 0,
"description": "Number of organizations to skip before returning results."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}List allowed redirect URLs for a connected Clerk instance. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns redirect URL summaries and total_count. Cost = 5 tokens.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Maximum number of redirect URLs to return (1–500). |
| offset | integer | Number of redirect URLs to skip before returning results. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "list_clerk_redirect_urlsArguments",
"properties": {
"limit": {
"type": "integer",
"title": "Limit",
"default": 10,
"maximum": 500,
"minimum": 1,
"description": "Maximum number of redirect URLs to return (1–500)."
},
"offset": {
"type": "integer",
"title": "Offset",
"default": 0,
"minimum": 0,
"description": "Number of redirect URLs to skip before returning results."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}List sessions in a connected Clerk application. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns session id, user_id, status, last_active_at, and expire_at for each session. Cost = 5 tokens.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Maximum number of sessions to return (1–500). |
| offset | integer | Number of sessions to skip before returning results. |
| status | any | Filter sessions by status. Accepted values: abandoned, active, ended, expired, removed, replaced, revoked. |
| user_id | any | Filter sessions to those belonging to this Clerk user id (user_...). Clerk requires user_id or client_id when listing sessions; pass user_id here. |
| client_id | any | Filter sessions to those belonging to this Clerk client id (client_...). |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "list_clerk_sessionsArguments",
"properties": {
"limit": {
"type": "integer",
"title": "Limit",
"default": 10,
"maximum": 500,
"minimum": 1,
"description": "Maximum number of sessions to return (1–500)."
},
"offset": {
"type": "integer",
"title": "Offset",
"default": 0,
"minimum": 0,
"description": "Number of sessions to skip before returning results."
},
"status": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Status",
"default": null,
"description": "Filter sessions by status. Accepted values: abandoned, active, ended, expired, removed, replaced, revoked."
},
"user_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "User Id",
"default": null,
"description": "Filter sessions to those belonging to this Clerk user id (user_...). Clerk requires user_id or client_id when listing sessions; pass user_id here."
},
"client_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Client Id",
"default": null,
"description": "Filter sessions to those belonging to this Clerk client id (client_...)."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}List all organizations a specific Clerk user belongs to. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns membership id, organization_id, role, and timestamps. Cost = 5 tokens.
| Argument | Type | Description |
|---|---|---|
| limit | any | Maximum number of organization memberships to return (1–500). |
| offset | any | Number of organization memberships to skip before returning results. |
| user_id* | string | Clerk user id (user_...) whose memberships to list. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "list_clerk_user_organization_membershipsArguments",
"required": [
"user_id"
],
"properties": {
"limit": {
"anyOf": [
{
"type": "integer",
"maximum": 500,
"minimum": 1
},
{
"type": "null"
}
],
"title": "Limit",
"default": null,
"description": "Maximum number of organization memberships to return (1–500)."
},
"offset": {
"anyOf": [
{
"type": "integer",
"minimum": 0
},
{
"type": "null"
}
],
"title": "Offset",
"default": null,
"description": "Number of organization memberships to skip before returning results."
},
"user_id": {
"type": "string",
"title": "User Id",
"description": "Clerk user id (user_...) whose memberships to list."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}List users in a connected Clerk application. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns user id, name, primary email, and created_at for each user, plus total_count. Cost = 5 tokens.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Maximum number of users to return (1–500). |
| offset | integer | Number of users to skip before returning results. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "list_clerk_usersArguments",
"properties": {
"limit": {
"type": "integer",
"title": "Limit",
"default": 10,
"maximum": 500,
"minimum": 1,
"description": "Maximum number of users to return (1–500)."
},
"offset": {
"type": "integer",
"title": "Offset",
"default": 0,
"minimum": 0,
"description": "Number of users to skip before returning results."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}List waitlist entries in a connected Clerk application. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns waitlist entry summaries and total_count. Cost = 5 tokens.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Maximum number of waitlist entries to return (1–500). |
| query | any | Filter by email address or waitlist entry id. |
| offset | integer | Number of waitlist entries to skip before returning results. |
| status | any | Optional status filter: "pending", "invited", "rejected", or "completed". |
| order_by | any | Sort order: created_at, email_address, or invited_at with optional + or - prefix. Defaults to -created_at. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "list_clerk_waitlist_entriesArguments",
"properties": {
"limit": {
"type": "integer",
"title": "Limit",
"default": 10,
"description": "Maximum number of waitlist entries to return (1–500)."
},
"query": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Query",
"default": null,
"description": "Filter by email address or waitlist entry id."
},
"offset": {
"type": "integer",
"title": "Offset",
"default": 0,
"description": "Number of waitlist entries to skip before returning results."
},
"status": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Status",
"default": null,
"description": "Optional status filter: \"pending\", \"invited\", \"rejected\", or \"completed\"."
},
"order_by": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Order By",
"default": null,
"description": "Sort order: created_at, email_address, or invited_at with optional + or - prefix. Defaults to -created_at."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}Reject a waitlist entry in a connected Clerk application. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns the updated waitlist entry. Cost = 10 tokens.
| Argument | Type | Description |
|---|---|---|
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
| waitlist_entry_id* | string | Clerk waitlist entry id (wle_...) to operate on. |
{
"type": "object",
"title": "reject_clerk_waitlist_entryArguments",
"required": [
"waitlist_entry_id"
],
"properties": {
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
},
"waitlist_entry_id": {
"type": "string",
"title": "Waitlist Entry Id",
"description": "Clerk waitlist entry id (wle_...) to operate on."
}
}
}Replace the entire contents of one metadata namespace for a Clerk user. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. The metadata body fully replaces the chosen namespace. Returns the updated user summary. Cost = 8 tokens.
| Argument | Type | Description |
|---|---|---|
| user_id* | string | Clerk user id (user_...) whose metadata to replace. |
| metadata* | object | New metadata dict that fully replaces the chosen namespace. Pass an empty object to clear all keys. |
| metadata_type* | string | Metadata namespace to replace. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "replace_clerk_user_metadataArguments",
"required": [
"user_id",
"metadata_type",
"metadata"
],
"properties": {
"user_id": {
"type": "string",
"title": "User Id",
"description": "Clerk user id (user_...) whose metadata to replace."
},
"metadata": {
"type": "object",
"title": "Metadata",
"description": "New metadata dict that fully replaces the chosen namespace. Pass an empty object to clear all keys.",
"additionalProperties": true
},
"metadata_type": {
"type": "string",
"title": "Metadata Type",
"description": "Metadata namespace to replace."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}Revoke an actor token in a connected Clerk application so it can no longer be used for impersonation. **Sensitive** — invalidates a high-privilege token. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns the revoked actor token object. Cost = 5 tokens.
| Argument | Type | Description |
|---|---|---|
| actor_token_id* | string | Clerk actor token id to revoke. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "revoke_clerk_actor_tokenArguments",
"required": [
"actor_token_id"
],
"properties": {
"actor_token_id": {
"type": "string",
"title": "Actor Token Id",
"description": "Clerk actor token id to revoke."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}Revoke an admin portal link token by id in a connected Clerk instance. **Sensitive** — invalidates a single-use deep-link token. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns the revoked admin portal link token. Cost = 8 tokens.
| Argument | Type | Description |
|---|---|---|
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
| revocation_reason | any | Optional reason recorded when revoking the link token. |
| admin_portal_link_token_id* | string | Admin portal link token id (aplt_...) to revoke. |
{
"type": "object",
"title": "revoke_clerk_admin_portal_link_tokenArguments",
"required": [
"admin_portal_link_token_id"
],
"properties": {
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
},
"revocation_reason": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Revocation Reason",
"default": null,
"description": "Optional reason recorded when revoking the link token."
},
"admin_portal_link_token_id": {
"type": "string",
"title": "Admin Portal Link Token Id",
"description": "Admin portal link token id (aplt_...) to revoke."
}
}
}Revoke an API key in a connected Clerk application so it can no longer be used. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns the revoked API key summary. Cost = 8 tokens.
| Argument | Type | Description |
|---|---|---|
| api_key_id* | string | Clerk API key id (ak_...) to retrieve, update, delete, or revoke. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
| revocation_reason | any | Optional reason recorded when revoking the API key. |
{
"type": "object",
"title": "revoke_clerk_api_keyArguments",
"required": [
"api_key_id"
],
"properties": {
"api_key_id": {
"type": "string",
"title": "Api Key Id",
"description": "Clerk API key id (ak_...) to retrieve, update, delete, or revoke."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
},
"revocation_reason": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Revocation Reason",
"default": null,
"description": "Optional reason recorded when revoking the API key."
}
}
}Revoke a pending application invitation by invitation id. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Only pending invitations can be revoked. Cost = 5 tokens.
| Argument | Type | Description |
|---|---|---|
| invitation_id* | string | Clerk application invitation id (inv_...) to revoke. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "revoke_clerk_invitationArguments",
"required": [
"invitation_id"
],
"properties": {
"invitation_id": {
"type": "string",
"title": "Invitation Id",
"description": "Clerk application invitation id (inv_...) to revoke."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}Revoke an M2M token by id in a connected Clerk instance. **Sensitive** — invalidates a machine authentication token. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns the revoked M2M token. Cost = 8 tokens.
| Argument | Type | Description |
|---|---|---|
| m2m_token_id* | string | Clerk M2M token id (mt_...) to revoke. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "revoke_clerk_m2m_tokenArguments",
"required": [
"m2m_token_id"
],
"properties": {
"m2m_token_id": {
"type": "string",
"title": "M2M Token Id",
"description": "Clerk M2M token id (mt_...) to revoke."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}Revoke a pending Clerk organization invitation. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Only pending invitations can be revoked. Returns the updated invitation summary with status revoked. Cost = 5 tokens.
| Argument | Type | Description |
|---|---|---|
| invitation_id* | string | Clerk organization invitation id (orginv_...). |
| organization_id* | string | Clerk organization id (org_...) to operate on. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "revoke_clerk_organization_invitationArguments",
"required": [
"organization_id",
"invitation_id"
],
"properties": {
"invitation_id": {
"type": "string",
"title": "Invitation Id",
"description": "Clerk organization invitation id (orginv_...)."
},
"organization_id": {
"type": "string",
"title": "Organization Id",
"description": "Clerk organization id (org_...) to operate on."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}Revoke a session in a connected Clerk application, immediately ending it. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns the revoked session object with status set to revoked. Cost = 5 tokens.
| Argument | Type | Description |
|---|---|---|
| session_id* | string | Clerk session id (sess_...) to retrieve or modify. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "revoke_clerk_sessionArguments",
"required": [
"session_id"
],
"properties": {
"session_id": {
"type": "string",
"title": "Session Id",
"description": "Clerk session id (sess_...) to retrieve or modify."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}Revoke a sign-in token in a connected Clerk application so it can no longer be used. **Sensitive** — invalidates a high-privilege token. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns the revoked sign-in token object. Cost = 5 tokens.
| Argument | Type | Description |
|---|---|---|
| sign_in_token_id* | string | Clerk sign-in token id to revoke. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "revoke_clerk_sign_in_tokenArguments",
"required": [
"sign_in_token_id"
],
"properties": {
"sign_in_token_id": {
"type": "string",
"title": "Sign In Token Id",
"description": "Clerk sign-in token id to revoke."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}Rotate the secret key for a machine in a connected Clerk instance. **Sensitive** — the response includes the new secret key; do not log or expose it. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns the new secret key. Cost = 10 tokens.
| Argument | Type | Description |
|---|---|---|
| machine_id* | string | Clerk machine id (mch_...) to retrieve or modify. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
| previous_token_ttl* | integer | Seconds the previous secret key remains valid after rotation (0–28800). |
{
"type": "object",
"title": "rotate_clerk_machine_secret_keyArguments",
"required": [
"machine_id",
"previous_token_ttl"
],
"properties": {
"machine_id": {
"type": "string",
"title": "Machine Id",
"description": "Clerk machine id (mch_...) to retrieve or modify."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
},
"previous_token_ttl": {
"type": "integer",
"title": "Previous Token Ttl",
"maximum": 28800,
"minimum": 0,
"description": "Seconds the previous secret key remains valid after rotation (0–28800)."
}
}
}Rotate the client secret for a confidential OAuth application in a connected Clerk application. **Sensitive** — the response includes a new client_secret. Update authorized OAuth clients immediately and do not log the secret. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns the updated OAuth application summary with the new client_secret. Cost = 10 tokens.
| Argument | Type | Description |
|---|---|---|
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
| oauth_application_id* | string | Clerk OAuth application id (oa_...) to retrieve, update, or delete. |
{
"type": "object",
"title": "rotate_clerk_oauth_application_secretArguments",
"required": [
"oauth_application_id"
],
"properties": {
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
},
"oauth_application_id": {
"type": "string",
"title": "Oauth Application Id",
"description": "Clerk OAuth application id (oa_...) to retrieve, update, or delete."
}
}
}Remove bans from one or more Clerk users, restoring their ability to sign in. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns the updated user summaries and total count. Cost = 8 tokens.
| Argument | Type | Description |
|---|---|---|
| user_ids* | array | List of one or more Clerk user ids (user_...) to unban. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "unban_clerk_usersArguments",
"required": [
"user_ids"
],
"properties": {
"user_ids": {
"type": "array",
"items": {
"type": "string"
},
"title": "User Ids",
"description": "List of one or more Clerk user ids (user_...) to unban."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}Update an API key in a connected Clerk application. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns the updated API key summary. Cost = 8 tokens.
| Argument | Type | Description |
|---|---|---|
| claims | any | Updated custom claims for tokens minted from this API key. |
| scopes | any | Updated permission scopes for the API key. |
| subject | any | Updated subject (user_... or org_...). |
| api_key_id* | string | Clerk API key id (ak_...) to retrieve, update, delete, or revoke. |
| description | any | Updated description for the API key. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
| seconds_until_expiration | any | Updated seconds until expiration from now. |
{
"type": "object",
"title": "update_clerk_api_keyArguments",
"required": [
"api_key_id"
],
"properties": {
"claims": {
"anyOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "null"
}
],
"title": "Claims",
"default": null,
"description": "Updated custom claims for tokens minted from this API key."
},
"scopes": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Scopes",
"default": null,
"description": "Updated permission scopes for the API key."
},
"subject": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Subject",
"default": null,
"description": "Updated subject (user_... or org_...)."
},
"api_key_id": {
"type": "string",
"title": "Api Key Id",
"description": "Clerk API key id (ak_...) to retrieve, update, delete, or revoke."
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description",
"default": null,
"description": "Updated description for the API key."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
},
"seconds_until_expiration": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Seconds Until Expiration",
"default": null,
"description": "Updated seconds until expiration from now."
}
}
}Update a custom domain on a connected Clerk instance. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns the updated domain. Cost = 8 tokens.
| Argument | Type | Description |
|---|---|---|
| name | any | Updated domain hostname. |
| domain_id* | string | Clerk organization domain id (dmn_...) to update, delete, or verify. |
| proxy_url | any | Updated proxy URL for a satellite domain. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "update_clerk_domainArguments",
"required": [
"domain_id"
],
"properties": {
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Name",
"default": null,
"description": "Updated domain hostname."
},
"domain_id": {
"type": "string",
"title": "Domain Id",
"description": "Clerk organization domain id (dmn_...) to update, delete, or verify."
},
"proxy_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Proxy Url",
"default": null,
"description": "Updated proxy URL for a satellite domain."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}Update a Clerk email address by id. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns the updated email address summary. Cost = 8 tokens.
| Argument | Type | Description |
|---|---|---|
| primary | any | When true, set this email as the user's primary email address. |
| verified | any | When true, mark the email address as verified. |
| email_address_id* | string | Clerk email address id (idn_...) to retrieve or modify. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "update_clerk_email_addressArguments",
"required": [
"email_address_id"
],
"properties": {
"primary": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Primary",
"default": null,
"description": "When true, set this email as the user's primary email address."
},
"verified": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Verified",
"default": null,
"description": "When true, mark the email address as verified."
},
"email_address_id": {
"type": "string",
"title": "Email Address Id",
"description": "Clerk email address id (idn_...) to retrieve or modify."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}Update an enterprise SSO connection in a connected Clerk application. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns the updated enterprise_connection summary. Cost = 8 tokens.
| Argument | Type | Description |
|---|---|---|
| name | any | Updated display name for the connection. |
| oidc | any | Updated OIDC client configuration. |
| saml | any | Updated SAML IdP configuration. |
| active | any | Whether the connection is active. |
| domains | any | Updated domain list (replaces existing domains when provided). |
| connection_id* | string | Clerk enterprise connection id (entc_...) to retrieve, update, delete, or test. |
| organization_id | any | Clerk organization id (org_...) to link to this connection. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
| custom_attributes |
Update SMS communication settings for a connected Clerk instance. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns the updated communication settings. Cost = 8 tokens.
| Argument | Type | Description |
|---|---|---|
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
| blocked_country_codes | any | ISO country codes to block from receiving SMS messages (up to 250). |
{
"type": "object",
"title": "update_clerk_instance_communication_settingsArguments",
"properties": {
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
},
"blocked_country_codes": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Blocked Country Codes",
"default": null,
"description": "ISO country codes to block from receiving SMS messages (up to 250)."
}
}
}Update OAuth settings for a connected Clerk instance. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns the updated OAuth settings. Cost = 8 tokens.
| Argument | Type | Description |
|---|---|---|
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
| oauth_jwt_access_tokens | any | Whether OAuth access tokens should be issued as JWTs. |
| dynamic_oauth_client_registration | any | Whether dynamic OAuth client registration should be enabled. |
{
"type": "object",
"title": "update_clerk_instance_oauth_settingsArguments",
"properties": {
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
},
"oauth_jwt_access_tokens": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Oauth Jwt Access Tokens",
"default": null,
"description": "Whether OAuth access tokens should be issued as JWTs."
},
"dynamic_oauth_client_registration": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Dynamic Oauth Client Registration",
"default": null,
"description": "Whether dynamic OAuth client registration should be enabled."
}
}
}Update organization feature settings for a connected Clerk instance. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns the updated organization settings. Cost = 8 tokens.
| Argument | Type | Description |
|---|---|---|
| enabled | any | Whether organizations should be enabled for the instance. |
| creator_role | any | Default role assigned to the organization creator. |
| domains_enabled | any | Whether organization domains should be enabled. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
| admin_delete_enabled | any | Whether organization admins can delete their organization. |
| domains_default_role | any | Default role for members who join via a verified organization domain. |
| initial_role_set_key | any | Initial role set key applied to new organizations. |
| max_allowed_memberships | any | Maximum organization memberships allowed per user. |
Update sign-up and sign-in restriction settings for a connected Clerk instance. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns the updated instance restrictions. Cost = 8 tokens.
| Argument | Type | Description |
|---|---|---|
| allowlist | any | Whether the allowlist restriction should be enabled. |
| blocklist | any | Whether the blocklist restriction should be enabled. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
| block_email_subaddresses | any | Whether email subaddresses (plus-addressing) should be blocked. |
| block_disposable_email_domains | any | Whether disposable email domains should be blocked. |
| allowlist_blocklist_disabled_on_sign_in | any | Whether allowlist and blocklist checks should be skipped during sign-in. |
{
"type": "object",
"title": "update_clerk_instance_restrictionsArguments",
"properties": {
"allowlist": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Allowlist",
"default": null,
"description": "Whether the allowlist restriction should be enabled."
},
"blocklist": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Blocklist",
"default": null,
"description": "Whether the blocklist restriction should be enabled."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
},
"block_email_subaddresses": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Block Email Subaddresses",
"default": null,
"description": "Whether email subaddresses (plus-addressing) should be blocked."
},
"block_disposable_email_domains": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Block Disposable Email Domains",
"default": null,
"description": "Whether disposable email domains should be blocked."
},
"allowlist_blocklist_disabled_on_sign_in": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Allowlist Blocklist Disabled On Sign In",
"default": null,
"description": "Whether allowlist and blocklist checks should be skipped during sign-in."
}
}
}Update core settings for a connected Clerk application instance. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns the updated instance settings. Cost = 8 tokens.
| Argument | Type | Description |
|---|---|---|
| hibp | any | Whether Have I Been Pwned password checking should be enabled. |
| test_mode | any | Whether the instance should run in test mode. |
| support_email | any | Support email address shown to end users. |
| allowed_origins | any | Allowed browser origins for the instance. |
| clerk_js_version | any | Pinned Clerk.js version for the instance. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
| development_origin | any | Development origin URL for local testing. |
| url_based_session_syncing | any | Whether URL-based session syncing should be enabled. |
Update an existing JWT template in a connected Clerk application. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns the updated template summary. Cost = 8 tokens.
| Argument | Type | Description |
|---|---|---|
| name | any | Optional new unique template name. |
| claims | any | Optional new JWT claims template as a JSON object. |
| lifetime | any | Optional new token lifetime in seconds (30–315360000). |
| signing_key | any | Optional custom signing private key. |
| template_id* | string | Clerk JWT template id (jtmp_...) to retrieve, update, or delete. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
| signing_algorithm | any | Optional custom signing algorithm. |
| allowed_clock_skew | any | Optional new allowed clock skew in seconds (0–300). |
| custom_signing_key |
Update a machine in a connected Clerk instance. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns the updated machine. Cost = 8 tokens.
| Argument | Type | Description |
|---|---|---|
| name | any | Updated machine display name. |
| machine_id* | string | Clerk machine id (mch_...) to retrieve or modify. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
| default_token_ttl | any | Updated default M2M token lifetime in seconds. |
{
"type": "object",
"title": "update_clerk_machineArguments",
"required": [
"machine_id"
],
"properties": {
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Name",
"default": null,
"description": "Updated machine display name."
},
"machine_id": {
"type": "string",
"title": "Machine Id",
"description": "Clerk machine id (mch_...) to retrieve or modify."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
},
"default_token_ttl": {
"anyOf": [
{
"type": "integer",
"maximum": 315360000,
"minimum": 1
},
{
"type": "null"
}
],
"title": "Default Token Ttl",
"default": null,
"description": "Updated default M2M token lifetime in seconds."
}
}
}Update an OAuth application in a connected Clerk application. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns the updated OAuth application summary. Cost = 8 tokens.
| Argument | Type | Description |
|---|---|---|
| name | any | New display name for the OAuth application. |
| public | any | Whether this is a public OAuth client (no client secret; PKCE-capable). |
| scopes | any | Space-delimited scopes (e.g. profile email public_metadata). |
| redirect_uris | any | Replacement list of allowed redirect URIs. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
| oauth_application_id* | string | Clerk OAuth application id (oa_...) to retrieve, update, or delete. |
| consent_screen_enabled | any | Whether to show the OAuth consent screen during authorization. |
{
"type": "object",
"title": "update_clerk_oauth_applicationArguments",
"required": [
"oauth_application_id"
],
"properties": {
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Name",
"default": null,
"description": "New display name for the OAuth application."
},
"public": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Public",
"default": null,
"description": "Whether this is a public OAuth client (no client secret; PKCE-capable)."
},
"scopes": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Scopes",
"default": null,
"description": "Space-delimited scopes (e.g. profile email public_metadata)."
},
"redirect_uris": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Redirect Uris",
"default": null,
"description": "Replacement list of allowed redirect URIs."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
},
"oauth_application_id": {
"type": "string",
"title": "Oauth Application Id",
"description": "Clerk OAuth application id (oa_...) to retrieve, update, or delete."
},
"consent_screen_enabled": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Consent Screen Enabled",
"default": null,
"description": "Whether to show the OAuth consent screen during authorization."
}
}
}Update fields for a Clerk organization. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns the updated organization summary. Cost = 8 tokens.
| Argument | Type | Description |
|---|---|---|
| name | any | Optional new display name for the organization. |
| slug | any | Optional new URL-friendly slug. |
| organization_id* | string | Clerk organization id (org_...) to operate on. |
| public_metadata | any | Optional public metadata to merge into the organization. |
| private_metadata | any | Optional private metadata to merge into the organization. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
| max_allowed_memberships | any | Optional new maximum number of memberships allowed. |
{
"type": "object",
"title": "update_clerk_organizationArguments",
"required": [
"organization_id"
],
"properties": {
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Name",
"default": null,
"description": "Optional new display name for the organization."
},
"slug": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Slug",
"default": null,
"description": "Optional new URL-friendly slug."
},
"organization_id": {
"type": "string",
"title": "Organization Id",
"description": "Clerk organization id (org_...) to operate on."
},
"public_metadata": {
"anyOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "null"
}
],
"title": "Public Metadata",
"default": null,
"description": "Optional public metadata to merge into the organization."
},
"private_metadata": {
"anyOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "null"
}
],
"title": "Private Metadata",
"default": null,
"description": "Optional private metadata to merge into the organization."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
},
"max_allowed_memberships": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Max Allowed Memberships",
"default": null,
"description": "Optional new maximum number of memberships allowed."
}
}
}Update enrollment mode or verification status for an organization domain. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns the updated domain summary. Cost = 8 tokens.
| Argument | Type | Description |
|---|---|---|
| verified | any | Whether the domain is verified. |
| domain_id* | string | Clerk organization domain id (dmn_...) to update, delete, or verify. |
| enrollment_mode | any | Filter or set enrollment mode: manual_invitation, automatic_invitation, or automatic_suggestion. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "update_clerk_organization_domainArguments",
"required": [
"domain_id"
],
"properties": {
"verified": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Verified",
"default": null,
"description": "Whether the domain is verified."
},
"domain_id": {
"type": "string",
"title": "Domain Id",
"description": "Clerk organization domain id (dmn_...) to update, delete, or verify."
},
"enrollment_mode": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Enrollment Mode",
"default": null,
"description": "Filter or set enrollment mode: manual_invitation, automatic_invitation, or automatic_suggestion."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}Change the role of a Clerk organization member. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns the updated membership. Cost = 8 tokens.
| Argument | Type | Description |
|---|---|---|
| role* | string | New role for the member (e.g. org:member, org:admin). |
| user_id* | string | Clerk user id (user_...) of the member to update. |
| organization_id* | string | Clerk organization id (org_...) containing the member. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "update_clerk_organization_membershipArguments",
"required": [
"organization_id",
"user_id",
"role"
],
"properties": {
"role": {
"type": "string",
"title": "Role",
"description": "New role for the member (e.g. org:member, org:admin)."
},
"user_id": {
"type": "string",
"title": "User Id",
"description": "Clerk user id (user_...) of the member to update."
},
"organization_id": {
"type": "string",
"title": "Organization Id",
"description": "Clerk organization id (org_...) containing the member."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}Merge public or private metadata on a Clerk organization membership. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns the updated membership. Cost = 8 tokens.
| Argument | Type | Description |
|---|---|---|
| user_id* | string | Clerk user id (user_...) of the member. |
| organization_id* | string | Clerk organization id (org_...) containing the membership. |
| public_metadata | any | Public metadata to merge into the membership. |
| private_metadata | any | Private metadata to merge into the membership. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "update_clerk_organization_membership_metadataArguments",
"required": [
"organization_id",
"user_id"
],
"properties": {
"user_id": {
"type": "string",
"title": "User Id",
"description": "Clerk user id (user_...) of the member."
},
"organization_id": {
"type": "string",
"title": "Organization Id",
"description": "Clerk organization id (org_...) containing the membership."
},
"public_metadata": {
"anyOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "null"
}
],
"title": "Public Metadata",
"default": null,
"description": "Public metadata to merge into the membership."
},
"private_metadata": {
"anyOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "null"
}
],
"title": "Private Metadata",
"default": null,
"description": "Private metadata to merge into the membership."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}Merge metadata into a Clerk organization (deep merge — existing keys are preserved unless overwritten). Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns the updated organization summary. Cost = 8 tokens.
| Argument | Type | Description |
|---|---|---|
| organization_id* | string | Clerk organization id (org_...) to operate on. |
| public_metadata | any | Public metadata to merge into the organization. |
| private_metadata | any | Private metadata to merge into the organization. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "update_clerk_organization_metadataArguments",
"required": [
"organization_id"
],
"properties": {
"organization_id": {
"type": "string",
"title": "Organization Id",
"description": "Clerk organization id (org_...) to operate on."
},
"public_metadata": {
"anyOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "null"
}
],
"title": "Public Metadata",
"default": null,
"description": "Public metadata to merge into the organization."
},
"private_metadata": {
"anyOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "null"
}
],
"title": "Private Metadata",
"default": null,
"description": "Private metadata to merge into the organization."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}Update an organization permission in a connected Clerk application. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns the updated permission summary. Cost = 8 tokens.
| Argument | Type | Description |
|---|---|---|
| name | any | Updated permission display name. |
| description | any | Updated permission description. |
| permission_id* | string | Clerk organization permission id to update or delete. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "update_clerk_organization_permissionArguments",
"required": [
"permission_id"
],
"properties": {
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Name",
"default": null,
"description": "Updated permission display name."
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description",
"default": null,
"description": "Updated permission description."
},
"permission_id": {
"type": "string",
"title": "Permission Id",
"description": "Clerk organization permission id to update or delete."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}Update an organization role in a connected Clerk application. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns the updated role summary. Cost = 8 tokens.
| Argument | Type | Description |
|---|---|---|
| name | any | Updated role display name. |
| role_id* | string | Clerk organization role id to retrieve, update, or delete. |
| description | any | Updated role description. |
| permissions | any | Permission keys to assign to the role. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
| is_creator_eligible | any | Whether this role may be assigned as organization creator. |
{
"type": "object",
"title": "update_clerk_organization_roleArguments",
"required": [
"role_id"
],
"properties": {
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Name",
"default": null,
"description": "Updated role display name."
},
"role_id": {
"type": "string",
"title": "Role Id",
"description": "Clerk organization role id to retrieve, update, or delete."
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description",
"default": null,
"description": "Updated role description."
},
"permissions": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Permissions",
"default": null,
"description": "Permission keys to assign to the role."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
},
"is_creator_eligible": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Is Creator Eligible",
"default": null,
"description": "Whether this role may be assigned as organization creator."
}
}
}Update a Clerk phone number by id. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns the updated phone number summary. Cost = 8 tokens.
| Argument | Type | Description |
|---|---|---|
| primary | any | Whether this should be the user's primary phone number. |
| verified | any | Whether the phone number should be marked verified. |
| phone_number_id* | string | Clerk phone number id (idn_... or phn_...) to retrieve or modify. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
| reserved_for_second_factor | any | Whether to reserve this number for multi-factor authentication. |
{
"type": "object",
"title": "update_clerk_phone_numberArguments",
"required": [
"phone_number_id"
],
"properties": {
"primary": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Primary",
"default": null,
"description": "Whether this should be the user's primary phone number."
},
"verified": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Verified",
"default": null,
"description": "Whether the phone number should be marked verified."
},
"phone_number_id": {
"type": "string",
"title": "Phone Number Id",
"description": "Clerk phone number id (idn_... or phn_...) to retrieve or modify."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
},
"reserved_for_second_factor": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Reserved For Second Factor",
"default": null,
"description": "Whether to reserve this number for multi-factor authentication."
}
}
}Update profile fields for a Clerk user. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns the updated user summary. Cost = 8 tokens.
| Argument | Type | Description |
|---|---|---|
| user_id* | string | Clerk user id (user_...) to update. |
| username | any | Optional username. |
| last_name | any | Optional last name. |
| first_name | any | Optional first name. |
| external_id | any | Optional external id for the user. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "update_clerk_userArguments",
"required": [
"user_id"
],
"properties": {
"user_id": {
"type": "string",
"title": "User Id",
"description": "Clerk user id (user_...) to update."
},
"username": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Username",
"default": null,
"description": "Optional username."
},
"last_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Last Name",
"default": null,
"description": "Optional last name."
},
"first_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "First Name",
"default": null,
"description": "Optional first name."
},
"external_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "External Id",
"default": null,
"description": "Optional external id for the user."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}Merge metadata fields for a Clerk user. Only the provided metadata keys are updated. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns the updated user summary. Cost = 8 tokens.
| Argument | Type | Description |
|---|---|---|
| user_id* | string | Clerk user id (user_...) whose metadata to update. |
| public_metadata | any | Public metadata fields to merge. Existing keys not listed are preserved. |
| unsafe_metadata | any | Unsafe metadata fields to merge. Existing keys not listed are preserved. |
| private_metadata | any | Private metadata fields to merge. Existing keys not listed are preserved. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "update_clerk_user_metadataArguments",
"required": [
"user_id"
],
"properties": {
"user_id": {
"type": "string",
"title": "User Id",
"description": "Clerk user id (user_...) whose metadata to update."
},
"public_metadata": {
"anyOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "null"
}
],
"title": "Public Metadata",
"default": null,
"description": "Public metadata fields to merge. Existing keys not listed are preserved."
},
"unsafe_metadata": {
"anyOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "null"
}
],
"title": "Unsafe Metadata",
"default": null,
"description": "Unsafe metadata fields to merge. Existing keys not listed are preserved."
},
"private_metadata": {
"anyOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "null"
}
],
"title": "Private Metadata",
"default": null,
"description": "Private metadata fields to merge. Existing keys not listed are preserved."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}Upload or replace the logo image for an OAuth application in a connected Clerk application. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Returns the updated OAuth application summary. Cost = 8 tokens.
| Argument | Type | Description |
|---|---|---|
| file_name* | string | Stored file name from files.list_uploaded_files. Upload with files.upload_file first. |
| uploader_user_id | any | Clerk user id (user_...) credited with the image upload. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
| oauth_application_id* | string | Clerk OAuth application id (oa_...) to retrieve, update, or delete. |
{
"type": "object",
"title": "upload_clerk_oauth_application_logoArguments",
"required": [
"oauth_application_id",
"file_name"
],
"properties": {
"file_name": {
"type": "string",
"title": "File Name",
"description": "Stored file name from files.list_uploaded_files. Upload with files.upload_file first."
},
"uploader_user_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Uploader User Id",
"default": null,
"description": "Clerk user id (user_...) credited with the image upload."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
},
"oauth_application_id": {
"type": "string",
"title": "Oauth Application Id",
"description": "Clerk OAuth application id (oa_...) to retrieve, update, or delete."
}
}
}Mark an organization domain's DNS ownership as verified via manual override. Call clerk.get_connected_accounts first. Pass clerk_instance_id to target a specific connection, or omit it to use the default account. Idempotent when ownership is already verified. Returns the updated domain summary. Cost = 5 tokens.
| Argument | Type | Description |
|---|---|---|
| domain_id* | string | Clerk organization domain id (dmn_...) to update, delete, or verify. |
| clerk_instance_id | any | Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account. |
{
"type": "object",
"title": "verify_clerk_organization_domain_ownershipArguments",
"required": [
"domain_id"
],
"properties": {
"domain_id": {
"type": "string",
"title": "Domain Id",
"description": "Clerk organization domain id (dmn_...) to update, delete, or verify."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}Add one DNS host record to a managed domain without replacing the full zone. Preserves existing records. The domain must use Namecheap DNS. Call domains.get_dns_hosts afterward if HostIds are needed. Cost = 5 tokens.
| Argument | Type | Description |
|---|---|---|
| ttl | integer | TTL in seconds (60 to 60000). Defaults to 1800. |
| domain* | string | Managed domain name (for example example.com). |
| address* | string | Record value (IP, hostname, URL, or TXT content depending on type). |
| mx_pref | any | MX preference. Required when record_type is MX or MXE. |
| host_name* | string | Host label to create, for example @, www, or mail. |
| record_type* | string | DNS record type. Supported values: A, AAAA, ALIAS, CAA, CNAME, MX, MXE, NS, TXT, URL, URL301, FRAME. |
{
"type": "object",
"title": "add_dns_hostArguments",
"required": [
"domain",
"host_name",
"record_type",
"address"
],
"properties": {
"ttl": {
"type": "integer",
"title": "Ttl",
"default": 1800,
"maximum": 60000,
"minimum": 60,
"description": "TTL in seconds (60 to 60000). Defaults to 1800."
},
"domain": {
"type": "string",
"title": "Domain",
"description": "Managed domain name (for example example.com)."
},
"address": {
"type": "string",
"title": "Address",
"description": "Record value (IP, hostname, URL, or TXT content depending on type)."
},
"mx_pref": {
"anyOf": [
{
"type": "integer",
"maximum": 65535,
"minimum": 0
},
{
"type": "null"
}
],
"title": "Mx Pref",
"default": null,
"description": "MX preference. Required when record_type is MX or MXE."
},
"host_name": {
"type": "string",
"title": "Host Name",
"description": "Host label to create, for example @, www, or mail."
},
"record_type": {
"type": "string",
"title": "Record Type",
"description": "DNS record type. Supported values: A, AAAA, ALIAS, CAA, CNAME, MX, MXE, NS, TXT, URL, URL301, FRAME."
}
}
}Check whether domain names can be registered through Vee3 (Namecheap-backed). Returns a map of each requested domain name to a boolean: true when the domain is available for purchase through Vee3, false when it is not. Cost = 5 tokens.
| Argument | Type | Description |
|---|---|---|
| domains* | array | Domain names to check (maximum 10). |
{
"type": "object",
"title": "check_domain_availabilityArguments",
"required": [
"domains"
],
"properties": {
"domains": {
"type": "array",
"items": {
"type": "string"
},
"title": "Domains",
"maxItems": 10,
"minItems": 1,
"description": "Domain names to check (maximum 10)."
}
}
}Fetch DNS records for a domain. Returns an array of records. Each record includes name, ttl, type (for example A, AAAA, CNAME, MX, NS, SOA, TXT), and data (record value). Optionally pass subdomain to include records for a host under the domain (for example blog for blog.example.com). Cost = 2 tokens.
| Argument | Type | Description |
|---|---|---|
| domain* | string | Domain name to look up (for example example.com). |
| subdomain | any | Optional subdomain label to include (for example www or blog). |
{
"type": "object",
"title": "get_domain_dns_recordsArguments",
"required": [
"domain"
],
"properties": {
"domain": {
"type": "string",
"title": "Domain",
"maxLength": 253,
"description": "Domain name to look up (for example example.com)."
},
"subdomain": {
"anyOf": [
{
"type": "string",
"maxLength": 253
},
{
"type": "null"
}
],
"title": "Subdomain",
"default": null,
"description": "Optional subdomain label to include (for example www or blog)."
}
}
}List DNS host records for one domain this Vee3 account manages. Use for managed Namecheap DNS only. For public DNS lookup of any domain, use domains.dns_records instead. Cost = 3 tokens.
| Argument | Type | Description |
|---|---|---|
| domain* | string | Managed domain name (for example example.com). |
{
"type": "object",
"title": "get_dns_hostsArguments",
"required": [
"domain"
],
"properties": {
"domain": {
"type": "string",
"title": "Domain",
"description": "Managed domain name (for example example.com)."
}
}
}Get full details for one domain this Vee3 account owns or manages. Returns registration status, expiration, privacy, DNS provider type, and registration metadata. Cost = 3 tokens.
| Argument | Type | Description |
|---|---|---|
| domain* | string | Managed domain name to look up (for example example.com). |
{
"type": "object",
"title": "get_managed_domainArguments",
"required": [
"domain"
],
"properties": {
"domain": {
"type": "string",
"title": "Domain",
"description": "Managed domain name to look up (for example example.com)."
}
}
}List domains this Vee3 account owns or manages (registered through Vee3). Returns domain status, registration dates, lock and privacy settings, and paging metadata. Cost = 2 tokens.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number for paginated results. |
| limit | integer | Maximum number of domains to return. |
{
"type": "object",
"title": "list_managed_domainsArguments",
"properties": {
"page": {
"type": "integer",
"title": "Page",
"default": 1,
"minimum": 1,
"description": "Page number for paginated results."
},
"limit": {
"type": "integer",
"title": "Limit",
"default": 50,
"maximum": 100,
"minimum": 1,
"description": "Maximum number of domains to return."
}
}
}List or search top-level domains (TLDs) with registry metadata. Filter by substring search, availability phase, TLD category, and paginate with limit and page. limit defaults to 100 when omitted. Each result includes the TLD suffix, type, availability phase, WHOIS server, domain counts when known, registry organization details, and created/changed timestamps. availability values: general-availability (open for normal registration) or sunrise (trademark sunrise period before general availability). Cost = 2 tokens.
| Argument | Type | Description |
|---|---|---|
| page | any | Page number for paginated results. |
| limit | any | Maximum number of TLDs to return. Defaults to 100 when omitted. |
| search | any | Return TLDs whose suffix contains this substring. |
| tld_type | any | Filter by TLD category: country-code, generic, generic-restricted, infrastructure, or sponsored. |
| availability | any | Filter by registration phase: general-availability (normal public registration) or sunrise (early trademark-holder period). |
{
"type": "object",
"title": "list_domain_tldsArguments",
"properties": {
"page": {
"anyOf": [
{
"type": "integer",
"minimum": 1
},
{
"type": "null"
}
],
"title": "Page",
"default": null,
"description": "Page number for paginated results."
},
"limit": {
"anyOf": [
{
"type": "integer",
"minimum": 1
},
{
"type": "null"
}
],
"title": "Limit",
"default": null,
"description": "Maximum number of TLDs to return. Defaults to 100 when omitted."
},
"search": {
"anyOf": [
{
"type": "string",
"maxLength": 63
},
{
"type": "null"
}
],
"title": "Search",
"default": null,
"description": "Return TLDs whose suffix contains this substring."
},
"tld_type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tld Type",
"default": null,
"description": "Filter by TLD category: country-code, generic, generic-restricted, infrastructure, or sponsored."
},
"availability": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Availability",
"default": null,
"description": "Filter by registration phase: general-availability (normal public registration) or sunrise (early trademark-holder period)."
}
}
}Look up a domain and return normalized registration details. Combines registry and registrar RDAP and WHOIS sources to return the most accurate normalized fields across TLDs: availability, domain status, created/updated/expiry dates, registrar data, contact records, and nameservers. Use this when you need registrant-oriented summary data rather than raw WHOIS or RDAP payloads. Cost = 5 tokens.
| Argument | Type | Description |
|---|---|---|
| domain* | string | Domain name to look up (for example example.com). |
{
"type": "object",
"title": "get_domain_lookupArguments",
"required": [
"domain"
],
"properties": {
"domain": {
"type": "string",
"title": "Domain",
"description": "Domain name to look up (for example example.com)."
}
}
}Analyze a domain with comprehensive SEO metrics, backlink data, and social signals. Returns authority metrics (Moz domain/page authority, Ahrefs domain rating, Majestic trust and citation flow), backlink profile counts (total backlinks, referring domains, EDU/GOV links), traffic and keyword estimates (organic traffic, traffic value, organic keywords, Ahrefs rank), social signals (Facebook shares/comments, Pinterest pins, StumbleUpon), and technical data (IP addresses, subnets, topical trust flow categories). Cost = 40 tokens.
| Argument | Type | Description |
|---|---|---|
| domain* | string | Domain name to analyze (for example example.com). |
{
"type": "object",
"title": "get_domain_metricsArguments",
"required": [
"domain"
],
"properties": {
"domain": {
"type": "string",
"title": "Domain",
"maxLength": 253,
"description": "Domain name to analyze (for example example.com)."
}
}
}Look up raw RDAP (Registration Data Access Protocol) data for a domain. Returns registrar entities, domain status codes, registration and expiration events, nameservers, DNSSEC delegation data, RDAP conformance labels, and registry notices. Cost = 3 tokens.
| Argument | Type | Description |
|---|---|---|
| domain* | string | Domain name to look up (for example example.com). |
{
"type": "object",
"title": "get_domain_rdapArguments",
"required": [
"domain"
],
"properties": {
"domain": {
"type": "string",
"title": "Domain",
"maxLength": 253,
"description": "Domain name to look up (for example example.com)."
}
}
}Register a domain through Vee3. The user or agent passes registrant contact details and expected_token_cost from domains.registration_quote. Use a real registrant email address the domain owner can access; the registrar may send a verification email that must be completed to keep the domain in good standing. Charges the quoted token cost on success. Cost = 200 tokens + domain registration price in tokens.
| Argument | Type | Description |
|---|---|---|
| years | integer | Registration term in years. |
| domain* | string | Domain name to register (for example example.com). |
| contact* | object | Registrant contact used for Registrant, Admin, Tech, and AuxBilling roles. Object with first_name, last_name, address1, city, state_province, postal_code, country (two-letter code), phone (format +NNN.NNNNNNNNNN), and email_address (a real inbox the registrant can access; the registrar may send a verification email that must be completed). Optional fields: address2 and organization_name. |
| enable_privacy | boolean | Whether to enable free WhoisGuard privacy protection when available. |
| expected_token_cost* | integer | Token cost from a fresh domains.registration_quote response. Required to prevent surprise charges. |
{
"type": "object",
"title": "register_domainArguments",
"required": [
"domain",
"expected_token_cost",
"contact"
],
"properties": {
"years": {
"type": "integer",
"title": "Years",
"default": 1,
"maximum": 10,
"minimum": 1,
"description": "Registration term in years."
},
"domain": {
"type": "string",
"title": "Domain",
"description": "Domain name to register (for example example.com)."
},
"contact": {
"type": "object",
"title": "Contact",
"description": "Registrant contact used for Registrant, Admin, Tech, and AuxBilling roles. Object with first_name, last_name, address1, city, state_province, postal_code, country (two-letter code), phone (format +NNN.NNNNNNNNNN), and email_address (a real inbox the registrant can access; the registrar may send a verification email that must be completed). Optional fields: address2 and organization_name.",
"additionalProperties": true
},
"enable_privacy": {
"type": "boolean",
"title": "Enable Privacy",
"default": true,
"description": "Whether to enable free WhoisGuard privacy protection when available."
},
"expected_token_cost": {
"type": "integer",
"title": "Expected Token Cost",
"description": "Token cost from a fresh domains.registration_quote response. Required to prevent surprise charges."
}
}
}Quote registration cost in tokens for one domain and year count. Quoted cost is 200 service tokens plus the domain registration price in tokens. Token conversion depends on the account billing plan. Use before domains.register. Cost = 5 tokens.
| Argument | Type | Description |
|---|---|---|
| years | integer | Registration term in years. |
| domain* | string | Domain name to quote (for example example.com). |
{
"type": "object",
"title": "get_domain_registration_quoteArguments",
"required": [
"domain"
],
"properties": {
"years": {
"type": "integer",
"title": "Years",
"default": 1,
"maximum": 10,
"minimum": 1,
"description": "Registration term in years."
},
"domain": {
"type": "string",
"title": "Domain",
"description": "Domain name to quote (for example example.com)."
}
}
}Remove one DNS host record from a managed domain by host_id. Preserves all other records. Get host_id from domains.get_dns_hosts. The domain must use Namecheap DNS. Cost = 5 tokens.
| Argument | Type | Description |
|---|---|---|
| domain* | string | Managed domain name (for example example.com). |
| host_id* | string | Host record id from domains.get_dns_hosts. |
{
"type": "object",
"title": "remove_dns_hostArguments",
"required": [
"domain",
"host_id"
],
"properties": {
"domain": {
"type": "string",
"title": "Domain",
"description": "Managed domain name (for example example.com)."
},
"host_id": {
"type": "string",
"title": "Host Id",
"description": "Host record id from domains.get_dns_hosts."
}
}
}Renew a domain already managed through this Vee3 account. The user or agent passes expected_token_cost from domains.renewal_quote. Charges the quoted token cost on success. Premium domains can only be renewed for 1 year at a time. Cost = 100 tokens + domain renewal price in tokens.
| Argument | Type | Description |
|---|---|---|
| years | integer | Renewal term in years. Premium domains support 1 year only. |
| domain* | string | Managed domain name to renew (for example example.com). |
| expected_token_cost* | integer | Token cost from a fresh domains.renewal_quote response. Required to prevent surprise charges. |
{
"type": "object",
"title": "renew_domainArguments",
"required": [
"domain",
"expected_token_cost"
],
"properties": {
"years": {
"type": "integer",
"title": "Years",
"default": 1,
"maximum": 10,
"minimum": 1,
"description": "Renewal term in years. Premium domains support 1 year only."
},
"domain": {
"type": "string",
"title": "Domain",
"description": "Managed domain name to renew (for example example.com)."
},
"expected_token_cost": {
"type": "integer",
"title": "Expected Token Cost",
"description": "Token cost from a fresh domains.renewal_quote response. Required to prevent surprise charges."
}
}
}Quote renewal cost in tokens for one managed domain and year count. Only works for domains already managed by this Vee3 account. Quoted cost is 100 service tokens plus the domain renewal price in tokens. Token conversion depends on the account billing plan. Use before domains.renew. Premium domains can only be renewed for 1 year at a time. Cost = 5 tokens.
| Argument | Type | Description |
|---|---|---|
| years | integer | Renewal term in years. Premium domains support 1 year only. |
| domain* | string | Managed domain name to quote for renewal (for example example.com). |
{
"type": "object",
"title": "get_domain_renewal_quoteArguments",
"required": [
"domain"
],
"properties": {
"years": {
"type": "integer",
"title": "Years",
"default": 1,
"maximum": 10,
"minimum": 1,
"description": "Renewal term in years. Premium domains support 1 year only."
},
"domain": {
"type": "string",
"title": "Domain",
"description": "Managed domain name to quote for renewal (for example example.com)."
}
}
}Look up detailed registry information for a single top-level domain (TLD). Returns status, TLD type, availability phase, WHOIS and RDAP servers, registry URL, domain counts, delegation dates, registry organization, administrative/technical contacts, and remarks. Pass the TLD suffix without a leading dot (for example io or com). Cost = 1 token.
| Argument | Type | Description |
|---|---|---|
| tld* | string | TLD suffix to look up without a leading dot (for example io). |
{
"type": "object",
"title": "get_domain_tld_detailsArguments",
"required": [
"tld"
],
"properties": {
"tld": {
"type": "string",
"title": "Tld",
"maxLength": 63,
"description": "TLD suffix to look up without a leading dot (for example io)."
}
}
}Fetch WHOIS registration data for a domain. Returns a JSON object keyed by WHOIS server host name. Each value contains parsed fields such as Domain Name, registrar details, dates, name servers, domain status, DNSSEC data, and raw text lines. Set include_registrar to true to query registry and registrar servers (slower, more complete). Default false queries the registry server only. Cost = 4 tokens.
| Argument | Type | Description |
|---|---|---|
| domain* | string | Domain name to look up (for example example.com). |
| include_registrar | boolean | When true, query registry and registrar WHOIS servers for more complete data. When false (default), query the registry server only. |
{
"type": "object",
"title": "get_domain_whoisArguments",
"required": [
"domain"
],
"properties": {
"domain": {
"type": "string",
"title": "Domain",
"description": "Domain name to look up (for example example.com)."
},
"include_registrar": {
"type": "boolean",
"title": "Include Registrar",
"default": false,
"description": "When true, query registry and registrar WHOIS servers for more complete data. When false (default), query the registry server only."
}
}
}Permanently delete a file from the authenticated account's upload storage. Pass file_name from files.list_uploaded_files. The file is removed from storage and any linked upload session is marked expired. Cost = 0 tokens.
| Argument | Type | Description |
|---|---|---|
| file_name* | string | Relative file name or path to delete. Use files.list_uploaded_files to see available names. |
{
"type": "object",
"title": "delete_fileArguments",
"required": [
"file_name"
],
"properties": {
"file_name": {
"type": "string",
"title": "File Name",
"maxLength": 255,
"description": "Relative file name or path to delete. Use files.list_uploaded_files to see available names."
}
}
}Reserve a direct download for a previously uploaded file. Pass the file_name from files.list_uploaded_files (paths such as folder/subfolder/name.ext are supported). Vee3 returns a download_code. Install the Vee3 CLI once with `npm install -g @vee3/cli` (requires Node 18+), then run `vee3-get-file {download_code} ./path/to/save` in the terminal. The CLI does not need an API key. If installation fails with a TLS or certificate error (common on networks that inspect HTTPS traffic), use Node 22.15 or newer and run with NODE_OPTIONS=--use-system-ca, or configure npm to trust your network's root certificate. Download codes can be resolved within 60 minutes of reserve. Cost = 0 tokens.
| Argument | Type | Description |
|---|---|---|
| file_name* | string | Relative file name or path to download. Use files.list_uploaded_files to see available names. |
{
"type": "object",
"title": "download_fileArguments",
"required": [
"file_name"
],
"properties": {
"file_name": {
"type": "string",
"title": "File Name",
"maxLength": 255,
"description": "Relative file name or path to download. Use files.list_uploaded_files to see available names."
}
}
}Extend retention for a file that was uploaded with files.upload_file and appears in files.list_uploaded_files with retained_until. Adds additional_retention_days to the current schedule (or from now if retention already expired). Only files with a completed upload session and retention metadata can be extended. Cost = max(1, ceil(size_gibibytes * additional_retention_days * 2)) tokens.
| Argument | Type | Description |
|---|---|---|
| file_name* | string | Relative file name or path to extend. Use files.list_uploaded_files and choose a file that includes retained_until. |
| additional_retention_days* | integer | Days to add to the file's retention schedule. |
{
"type": "object",
"title": "extend_fileArguments",
"required": [
"file_name",
"additional_retention_days"
],
"properties": {
"file_name": {
"type": "string",
"title": "File Name",
"maxLength": 255,
"description": "Relative file name or path to extend. Use files.list_uploaded_files and choose a file that includes retained_until."
},
"additional_retention_days": {
"type": "integer",
"title": "Additional Retention Days",
"maximum": 90,
"minimum": 1,
"description": "Days to add to the file's retention schedule."
}
}
}List files currently stored for the authenticated Vee3 account. Returns file_name (including any folders), content_type, size_bytes, uploaded_at, and retained_until when known. Use file_name to reference a file in other capabilities. Optional folder limits results to that folder path and its subfolders (for example media/clips). retained_until is when the file will be removed (based on retention_days at upload). Cost = 0 tokens.
| Argument | Type | Description |
|---|---|---|
| folder | any | Optional folder path (for example media/clips). When set, only files under that folder (including nested subfolders) are returned. Do not use '..' or absolute paths. |
{
"type": "object",
"title": "list_uploaded_filesArguments",
"properties": {
"folder": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "null"
}
],
"title": "Folder",
"default": null,
"description": "Optional folder path (for example media/clips). When set, only files under that folder (including nested subfolders) are returned. Do not use '..' or absolute paths."
}
}
}Move a stored file to a new account-relative path. Pass source_file_name from files.list_uploaded_files and the desired destination_file_name. The file is copied to the new path and the source is removed. Any linked upload session is updated to the new path. Cost = 0 tokens.
| Argument | Type | Description |
|---|---|---|
| source_file_name* | string | Current relative file name or path. Use files.list_uploaded_files to see available names. |
| destination_file_name* | string | New relative file name or path. Must not already exist in account storage. |
{
"type": "object",
"title": "move_fileArguments",
"required": [
"source_file_name",
"destination_file_name"
],
"properties": {
"source_file_name": {
"type": "string",
"title": "Source File Name",
"maxLength": 255,
"description": "Current relative file name or path. Use files.list_uploaded_files to see available names."
},
"destination_file_name": {
"type": "string",
"title": "Destination File Name",
"maxLength": 255,
"description": "New relative file name or path. Must not already exist in account storage."
}
}
}Reserve a direct upload slot for a local file or folder. Pass the desired file_name. For a single file, this becomes the stored name. For a folder, this becomes the destination folder prefix. To nest further, use a path in file_name (folder/subfolder/.../name). Optionally pass retention_days (default 7, minimum 1). The name may omit an extension. Vee3 returns an upload_code. Install the Vee3 CLI once with `npm install -g @vee3/cli` (requires Node 18+), then run `vee3-upload {upload_code} {file_or_folder_path}` in the terminal. The CLI accepts a file or a folder. A folder uploads every nested file in one command and stores each file under the reserved file_name prefix, preserving relative paths. The CLI resolves the code to signed upload URLs, streams the local file or files to Vee3 storage, and prints each stored file_name after the upload finishes. Use those file_name values in files.list_uploaded_files and other capabilities. The CLI does not need an API key. When a stored file already uses the same name, the upload stops, skips that file, or replaces it. If installation fails with a TLS or certificate error (common on networks that inspect HTTPS traffic), use Node 22.15 or newer and run with NODE_OPTIONS=--use-system-ca, or configure npm to trust your network's root certificate. Each file can be up to 2 GB. One folder upload can include up to 500 files. Retention is chosen at reserve time (default 7 days) and applies to every file in the folder. After each upload is detected, Vee3 bills `max(1, ceil(size_gibibytes * retention_days * 2))` tokens per file. Upload codes can be resolved within 60 minutes of reserve. Use `files.list_uploaded_files` to list stored uploads for follow-up work. Cost = 0 tokens to reserve. After upload completes, billing is max(1, ceil(size_gibibytes * retention_days * 2)) tokens.
| Argument | Type | Description |
|---|---|---|
| file_name* | string | Desired file name or path for the uploaded file. Use folder/subfolder/.../file_name to organize files in folders. Extension is optional and is replaced based on detected file type. Do not use '..' or absolute paths. |
| existing_files |
List supported language codes for Google Maps place endpoints. Returns languages as a map of language names to codes (for example English: en). Use these codes with the language parameter on place detail, review, and photo calls. Cost = 1 token.
No arguments.
{
"type": "object",
"title": "get_google_maps_languagesArguments",
"properties": {}
}Search for places near a latitude and longitude. Required: location. Optional: radius (defaults to 1000 meters when sort_by is Relevance), keyword, place_type, open_now, min_price, max_price, language, region, and cursor. When sort_by is Distance, omit radius and provide keyword or place_type. Pass cursor from a previous cursor_next to fetch the next page. Returns matching places in places. Use place_id with place detail, review, and photo endpoints. cursor_next and cursor_previous appear only when pagination cursors are available. Additional upstream fields may appear. Cost = 10 tokens.
| Argument | Type | Description |
|---|---|---|
| cursor | any | Pagination cursor from cursor_next on a previous response. |
| radius | any | Search radius in meters (default 1000). |
| region | any | Two-character region code (for example us). On search endpoints this biases results by ccTLD. On place endpoints this selects regional place data. |
| keyword | any | Keyword to match nearby places (for example restaurant). |
| sort_by | any | Result ordering: "Relevance" (default) or "Distance". |
| language | any | Language code for results (for example en). |
| location* | string | Latitude and longitude of the search point (for example 40,-110). |
Get detailed information for a Google Maps place. Provide place_id from search results. The identifier also accepts the business identifier form (0x...:0x...). Optional region and language are supported. Returns a flat place object with fields such as name, full_address, location, hours, status, rating, review_count, website, phone_number, and types when available. Additional upstream fields may appear. Cost = 4 tokens.
| Argument | Type | Description |
|---|---|---|
| region | any | Two-character region code (for example us). On search endpoints this biases results by ccTLD. On place endpoints this selects regional place data. |
| language | any | Language code for results (for example en). |
| place_id* | string | Google Maps place identifier (for example ChIJk_grnPDq9EcRE7gOH9gAPZA). Also accepts the business identifier form (for example 0x47f4eb87e91f866d:0x9629fabb993eb66). |
{
"type": "object",
"title": "get_google_maps_place_detailsArguments",
"required": [
"place_id"
],
"properties": {
"region": {
"anyOf": [
{
"type": "string",
"maxLength": 8
},
{
"type": "null"
}
],
"title": "Region",
"default": null,
"description": "Two-character region code (for example us). On search endpoints this biases results by ccTLD. On place endpoints this selects regional place data."
},
"language": {
"anyOf": [
{
"type": "string",
"maxLength": 16
},
{
"type": "null"
}
],
"title": "Language",
"default": null,
"description": "Language code for results (for example en)."
},
"place_id": {
"type": "string",
"title": "Place Id",
"maxLength": 256,
"description": "Google Maps place identifier (for example ChIJk_grnPDq9EcRE7gOH9gAPZA). Also accepts the business identifier form (for example 0x47f4eb87e91f866d:0x9629fabb993eb66)."
}
}
}Get photos for a Google Maps place. Provide place_id from search results. The identifier also accepts the business identifier form (0x...:0x...). Optional cursor, region, and language are supported. Pass cursor from a previous cursor_next to fetch the next page. Returns place metadata and a photos array. Each photo has photo_url and description when available. cursor_next appears only when a pagination cursor is available. Additional upstream fields may appear. Cost = 3 tokens.
| Argument | Type | Description |
|---|---|---|
| cursor | any | Pagination cursor from cursor_next on a previous response. |
| region | any | Two-character region code (for example us). On search endpoints this biases results by ccTLD. On place endpoints this selects regional place data. |
| language | any | Language code for results (for example en). |
| place_id* | string | Google Maps place identifier (for example ChIJk_grnPDq9EcRE7gOH9gAPZA). Also accepts the business identifier form (for example 0x47f4eb87e91f866d:0x9629fabb993eb66). |
{
"type": "object",
"title": "get_google_maps_place_photosArguments",
"required": [
"place_id"
],
"properties": {
"cursor": {
"anyOf": [
{
"type": "string",
"maxLength": 4096
},
{
"type": "null"
}
],
"title": "Cursor",
"default": null,
"description": "Pagination cursor from cursor_next on a previous response."
},
"region": {
"anyOf": [
{
"type": "string",
"maxLength": 8
},
{
"type": "null"
}
],
"title": "Region",
"default": null,
"description": "Two-character region code (for example us). On search endpoints this biases results by ccTLD. On place endpoints this selects regional place data."
},
"language": {
"anyOf": [
{
"type": "string",
"maxLength": 16
},
{
"type": "null"
}
],
"title": "Language",
"default": null,
"description": "Language code for results (for example en)."
},
"place_id": {
"type": "string",
"title": "Place Id",
"maxLength": 256,
"description": "Google Maps place identifier (for example ChIJk_grnPDq9EcRE7gOH9gAPZA). Also accepts the business identifier form (for example 0x47f4eb87e91f866d:0x9629fabb993eb66)."
}
}
}Get reviews for a Google Maps place. Provide place_id from search results. The identifier also accepts the business identifier form (0x...:0x...). Optional sort_by (Relevant, Lowest, Highest, Newest), cursor, region, and language are supported. Pass cursor from a previous cursor_next to fetch the next page. Returns place metadata and a reviews array. Each review includes fields such as review_id, review_text, rating, and user_name. cursor_next appears only when a pagination cursor is available. Additional upstream fields may appear. Cost = 3 tokens.
| Argument | Type | Description |
|---|---|---|
| cursor | any | Pagination cursor from cursor_next on a previous response. |
| region | any | Two-character region code (for example us). On search endpoints this biases results by ccTLD. On place endpoints this selects regional place data. |
| sort_by | any | Review sort order: "Relevant" (default), "Lowest", "Highest", or "Newest". |
| language | any | Language code for results (for example en). |
| place_id* | string | Google Maps place identifier (for example ChIJk_grnPDq9EcRE7gOH9gAPZA). Also accepts the business identifier form (for example 0x47f4eb87e91f866d:0x9629fabb993eb66). |
{
"type": "object",
"title": "get_google_maps_place_reviewsArguments",
"required": [
"place_id"
],
"properties": {
"cursor": {
"anyOf": [
{
"type": "string",
"maxLength": 4096
},
{
"type": "null"
}
],
"title": "Cursor",
"default": null,
"description": "Pagination cursor from cursor_next on a previous response."
},
"region": {
"anyOf": [
{
"type": "string",
"maxLength": 8
},
{
"type": "null"
}
],
"title": "Region",
"default": null,
"description": "Two-character region code (for example us). On search endpoints this biases results by ccTLD. On place endpoints this selects regional place data."
},
"sort_by": {
"anyOf": [
{
"type": "string",
"maxLength": 32
},
{
"type": "null"
}
],
"title": "Sort By",
"default": null,
"description": "Review sort order: \"Relevant\" (default), \"Lowest\", \"Highest\", or \"Newest\"."
},
"language": {
"anyOf": [
{
"type": "string",
"maxLength": 16
},
{
"type": "null"
}
],
"title": "Language",
"default": null,
"description": "Language code for results (for example en)."
},
"place_id": {
"type": "string",
"title": "Place Id",
"maxLength": 256,
"description": "Google Maps place identifier (for example ChIJk_grnPDq9EcRE7gOH9gAPZA). Also accepts the business identifier form (for example 0x47f4eb87e91f866d:0x9629fabb993eb66)."
}
}
}List supported Google Maps place type values for search filters. Returns place_types as a string array. Use a value with place_type on google-maps.search or google-maps.nearby_search. Cost = 1 token.
No arguments.
{
"type": "object",
"title": "get_google_maps_place_typesArguments",
"properties": {}
}Get details for one Google Maps review. Provide review_id from a place reviews response. Returns one review object at the top level with fields such as review_id, review_text, rating, and user_name when available. Additional upstream fields may appear. Cost = 2 tokens.
| Argument | Type | Description |
|---|---|---|
| review_id* | string | Google Maps review identifier. |
{
"type": "object",
"title": "get_google_maps_review_detailsArguments",
"required": [
"review_id"
],
"properties": {
"review_id": {
"type": "string",
"title": "Review Id",
"maxLength": 512,
"description": "Google Maps review identifier."
}
}
}Search Google Maps by text query. Optional filters include location, radius (defaults to 1000 meters), open_now, min_price, max_price, place_type, language, and region. Pass cursor from a previous cursor_next to fetch the next page. Returns matching places in places with names, full_address, place_id, ratings, and location. Use place_id with place detail, review, and photo endpoints. cursor_next and cursor_previous appear only when pagination cursors are available. Additional upstream fields may appear. Cost = 10 tokens.
| Argument | Type | Description |
|---|---|---|
| query* | string | Search query for places (for example restaurants in Paris). |
| cursor | any | Pagination cursor from cursor_next on a previous response. |
| radius | any | Search radius in meters (default 1000). |
| region | any | Two-character region code (for example us). On search endpoints this biases results by ccTLD. On place endpoints this selects regional place data. |
| language | any | Language code for results (for example en). |
| location | any | Optional latitude and longitude bias point (for example 40,-110). A location embedded in the query may override this. |
| open_now | any | When true, return only places open for business at query time. |
Add a domain as a Google Search Console property on Vee3's Search Console account. The user or agent can pass a domain, a domain property, or a URL. Vee3-managed domains are added and verified automatically. If the apex host uses URL forwarding, Vee3 writes a Google DNS CNAME record instead of a TXT record. If Google still needs time to verify, the response asks the agent to wait and retry this tool. If Vee3 cannot write DNS, the response includes dns_host_name, dns_record_type, and dns_token. Domains that are not managed by Vee3 return DNS TXT instructions so the user or agent can prove ownership, then retry this tool. After a site is added, call google-search-console.list_sites to see it, then use the other Search Console tools. Cost = 10 tokens.
| Argument | Type | Description |
|---|---|---|
| site_url* | string | Domain or property to add. The user or agent passes a hostname (example.com), a domain property (sc-domain:example.com), or a URL (https://example.com/). |
{
"type": "object",
"title": "add_google_search_console_siteArguments",
"required": [
"site_url"
],
"properties": {
"site_url": {
"type": "string",
"title": "Site Url",
"description": "Domain or property to add. The user or agent passes a hostname (example.com), a domain property (sc-domain:example.com), or a URL (https://example.com/)."
}
}
}Remove a sitemap URL from Search Console for a verified property. Call google-search-console.list_sites to discover sites, then google-search-console.list_sitemaps for an exact feed_path. Omit site_url to use the default property. This only removes the sitemap from Search Console tracking; it does not delete the sitemap file from the website. Cost = 10 tokens.
| Argument | Type | Description |
|---|---|---|
| site_url | any | Optional property URL from google-search-console.list_sites. When omitted, the default property is used. The user or agent passes an exact site_url value from that response. |
| feed_path* | string | Full sitemap URL for the property, for example https://example.com/sitemap.xml. Use an exact path from google-search-console.list_sitemaps when available. |
{
"type": "object",
"title": "delete_google_search_console_sitemapArguments",
"required": [
"feed_path"
],
"properties": {
"site_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Site Url",
"default": null,
"description": "Optional property URL from google-search-console.list_sites. When omitted, the default property is used. The user or agent passes an exact site_url value from that response."
},
"feed_path": {
"type": "string",
"title": "Feed Path",
"description": "Full sitemap URL for the property, for example https://example.com/sitemap.xml. Use an exact path from google-search-console.list_sitemaps when available."
}
}
}Get one Search Console property for this account. Call google-search-console.list_sites to discover sites. Omit site_url to use the default property, or pass an exact site_url from that response, including unverified properties. Returns the property URL and permission level. Cost = 5 tokens.
| Argument | Type | Description |
|---|---|---|
| site_url | any | Optional property URL from google-search-console.list_sites. When omitted, the default property is used. The user or agent passes an exact site_url value from that response. |
{
"type": "object",
"title": "get_google_search_console_siteArguments",
"properties": {
"site_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Site Url",
"default": null,
"description": "Optional property URL from google-search-console.list_sites. When omitted, the default property is used. The user or agent passes an exact site_url value from that response."
}
}
}Get details for one sitemap submitted to Search Console. Call google-search-console.list_sites to discover sites, then google-search-console.list_sitemaps for an exact feed_path when available. Omit site_url to use the default property. Returns submission status, download time, warnings, errors, and content counts. Cost = 5 tokens.
| Argument | Type | Description |
|---|---|---|
| site_url | any | Optional property URL from google-search-console.list_sites. When omitted, the default property is used. The user or agent passes an exact site_url value from that response. |
| feed_path* | string | Full sitemap URL for the property, for example https://example.com/sitemap.xml. Use an exact path from google-search-console.list_sitemaps when available. |
{
"type": "object",
"title": "get_google_search_console_sitemapArguments",
"required": [
"feed_path"
],
"properties": {
"site_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Site Url",
"default": null,
"description": "Optional property URL from google-search-console.list_sites. When omitted, the default property is used. The user or agent passes an exact site_url value from that response."
},
"feed_path": {
"type": "string",
"title": "Feed Path",
"description": "Full sitemap URL for the property, for example https://example.com/sitemap.xml. Use an exact path from google-search-console.list_sitemaps when available."
}
}
}Inspect indexing status for a single URL in Search Console. Call google-search-console.list_sites to discover sites. Omit site_url to use the default property, or pass an exact site_url from that response. Returns indexing verdict, coverage state, crawl details, and canonical information for the inspected URL. URL Inspection has limited daily quota. Each call inspects one URL. Cost = 15 tokens.
| Argument | Type | Description |
|---|---|---|
| site_url | any | Optional property URL from google-search-console.list_sites. When omitted, the default property is used. The user or agent passes an exact site_url value from that response. |
| language_code | any | Optional BCP-47 language code for localized inspection results. |
| inspection_url* | string | Fully qualified URL to inspect within the selected property. |
{
"type": "object",
"title": "inspect_google_search_console_urlArguments",
"required": [
"inspection_url"
],
"properties": {
"site_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Site Url",
"default": null,
"description": "Optional property URL from google-search-console.list_sites. When omitted, the default property is used. The user or agent passes an exact site_url value from that response."
},
"language_code": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Language Code",
"default": null,
"description": "Optional BCP-47 language code for localized inspection results."
},
"inspection_url": {
"type": "string",
"title": "Inspection Url",
"description": "Fully qualified URL to inspect within the selected property."
}
}
}List sitemaps submitted for a Search Console property. Call google-search-console.list_sites to discover sites. Omit site_url to use the default property, or pass an exact site_url from that response. Returns sitemap paths plus submission, download, warning, and error details. Use an exact path from this response with get_sitemap, submit_sitemap, or delete_sitemap. Cost = 5 tokens.
| Argument | Type | Description |
|---|---|---|
| site_url | any | Optional property URL from google-search-console.list_sites. When omitted, the default property is used. The user or agent passes an exact site_url value from that response. |
| sitemap_index | any | Optional sitemap index URL. When set, only child sitemaps under that index are returned. |
{
"type": "object",
"title": "list_google_search_console_sitemapsArguments",
"properties": {
"site_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Site Url",
"default": null,
"description": "Optional property URL from google-search-console.list_sites. When omitted, the default property is used. The user or agent passes an exact site_url value from that response."
},
"sitemap_index": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Sitemap Index",
"default": null,
"description": "Optional sitemap index URL. When set, only child sitemaps under that index are returned."
}
}
}List Search Console properties for this account. Returns Vee3-managed domains plus sites added with google-search-console.add_site. Call this to discover sites, then omit site_url on later calls to use the default property, or pass an exact site_url from this response. If no properties appear, add a site with google-search-console.add_site or register a domain with domains.register. Cost = 5 tokens.
No arguments.
{
"type": "object",
"title": "list_google_search_console_sitesArguments",
"properties": {}
}Query Search Console search analytics for a verified property. Call google-search-console.list_sites to discover sites. Omit site_url to use the default property, or pass an exact site_url from that response. Returns performance rows with clicks, impressions, CTR, and average position, grouped by the requested dimensions. Daily search analytics typically lag by two to three days. For the Search Console last-24-hours hourly view, group by hour; those rows can include partial hours and cover up to ten days. Cost = 20 tokens.
| Argument | Type | Description |
|---|---|---|
| end_date* | string | Inclusive range end date in YYYY-MM-DD format. |
| site_url | any | Optional property URL from google-search-console.list_sites. When omitted, the default property is used. The user or agent passes an exact site_url value from that response. |
| row_limit | any | Maximum number of rows to return. Defaults to 1000. |
| start_row | any | Zero-based row offset for pagination. Defaults to 0. |
| data_state | any | Whether to return only finalized data, all available daily data, or hourly data. Use hourly_all when grouping by hour. Defaults to final. |
| dimensions | any | Optional dimension names to group results. Supported values: date, query, page, country, device, searchAppearance, hour. Grouping by hour uses the hourly feed. |
Submit a sitemap URL to Search Console for a verified property. Call google-search-console.list_sites to discover sites. Omit site_url to use the default property, or pass an exact site_url from that response. feed_path must be the full sitemap URL hosted on that property. Cost = 10 tokens.
| Argument | Type | Description |
|---|---|---|
| site_url | any | Optional property URL from google-search-console.list_sites. When omitted, the default property is used. The user or agent passes an exact site_url value from that response. |
| feed_path* | string | Full sitemap URL for the property, for example https://example.com/sitemap.xml. |
{
"type": "object",
"title": "submit_google_search_console_sitemapArguments",
"required": [
"feed_path"
],
"properties": {
"site_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Site Url",
"default": null,
"description": "Optional property URL from google-search-console.list_sites. When omitted, the default property is used. The user or agent passes an exact site_url value from that response."
},
"feed_path": {
"type": "string",
"title": "Feed Path",
"description": "Full sitemap URL for the property, for example https://example.com/sitemap.xml."
}
}
}Get Google Search autocomplete suggestions for a partial query. Returns the normalized query and an array of suggested search phrases. Cost = 5 tokens.
| Argument | Type | Description |
|---|---|---|
| query* | string | Partial search keywords or phrase. |
{
"type": "object",
"title": "get_google_search_autocompleteArguments",
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"title": "Query",
"maxLength": 512,
"description": "Partial search keywords or phrase."
}
}
}Get Google keyword traffic insights and related keyword suggestions for a seed keyword. Returns an array of keyword suggestions. Each item includes text, monthly search volume, competition_level, competition_index, low_bid, high_bid, and trend. Required: keyword and language (for example en). Optional: location (for example US) for country-specific data; omit location for global results (default). Optional: mode (exact or all, default all), min_search_volume (default 0), and intent (informational, navigational, commercial, or transactional). Cost = 20 tokens.
| Argument | Type | Description |
|---|---|---|
| mode | string | Keyword suggestion filter: exact returns only suggestions that exactly match the seed keyword; all returns all suggestions (default). |
| intent | any | Filter by search intent: informational, navigational, commercial, or transactional. |
| keyword* | string | Seed keyword to get traffic insights and suggestions for. |
| language* | string | Language code for the search market (for example en). |
| location | any | Optional country or region code for localized traffic (for example US). Omit for global keyword insights. |
| min_search_volume | integer | Minimum monthly search volume; only keywords at or above this threshold are returned. |
List languages you can pass as language on google-search.keyword_traffic_insights and google-search.url_traffic_insights. Returns an array of entries with language_name and language_code (for example en, de). Maps to upstream lang on the provider API. No request parameters. Cost = 5 tokens.
No arguments.
{
"type": "object",
"title": "get_google_search_languagesArguments",
"properties": {}
}List countries and region codes you can pass as location on google-search.keyword_traffic_insights and google-search.url_traffic_insights. Returns an array of entries with country_name and country_code (for example US, GB). No request parameters. Cost = 5 tokens.
No arguments.
{
"type": "object",
"title": "get_google_search_locationsArguments",
"properties": {}
}Get Google keyword traffic insights and related keyword suggestions for a URL. Returns an array of keyword suggestions. Each item includes text, monthly search volume, competition_level, competition_index, low_bid, high_bid, and trend. Required: url and language (for example en). Optional: location (for example US) for country-specific data; omit location for global results (default). Optional: min_search_volume (default 0) and intent (informational, navigational, commercial, or transactional). Cost = 20 tokens.
| Argument | Type | Description |
|---|---|---|
| url* | string | Public http or https URL to get traffic insights and suggestions for. |
| intent | any | Filter by search intent: informational, navigational, commercial, or transactional. |
| language* | string | Language code for the search market (for example en). |
| location | any | Optional country or region code for localized traffic (for example US). Omit for global URL keyword insights. |
| min_search_volume | integer | Minimum monthly search volume; only keywords at or above this threshold are returned. |
{
"type": "object",
"title": "get_seo_url_traffic_insightsArguments",
"required": [
"url",
"language"
],
"properties": {
"url": {
"type": "string",
"title": "Url",
"maxLength": 2048,
"description": "Public http or https URL to get traffic insights and suggestions for."
},
"intent": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Intent",
"default": null,
"description": "Filter by search intent: informational, navigational, commercial, or transactional."
},
"language": {
"type": "string",
"title": "Language",
"maxLength": 16,
"description": "Language code for the search market (for example en)."
},
"location": {
"anyOf": [
{
"type": "string",
"maxLength": 16
},
{
"type": "null"
}
],
"title": "Location",
"default": null,
"description": "Optional country or region code for localized traffic (for example US). Omit for global URL keyword insights."
},
"min_search_volume": {
"type": "integer",
"title": "Min Search Volume",
"default": 0,
"minimum": 0,
"description": "Minimum monthly search volume; only keywords at or above this threshold are returned."
}
}
}List all Google Trends category and subcategory labels you can pass to other Google Trends tools in the category field. Returns cat (array of category names, including All categories) and msg. Use this before interest-over-time or interest-by-region calls when filtering by category. Cost = 5 tokens.
No arguments.
{
"type": "object",
"title": "get_google_trends_categoriesArguments",
"properties": {}
}Fetch Google Trends interest-by-region breakdowns for one to five keywords. Returns a JSON object whose top-level keys are your keywords. Each value maps location names (countries or subregions) to interest scores (0–100). Requires start in datetime-with-timezone form (for example 2020-05-01T00:43:37+0100). Optional end defaults to now. country defaults to global; region requires a valid country. category and gprop default to all when omitted or empty. resolution is COUNTRY (default) or REGION. Cost = 40 tokens.
| Argument | Type | Description |
|---|---|---|
| end | any | Range end in datetime-with-timezone form. Defaults to now. |
| gprop | any | Google property filter (for example images, news, youtube, froogle). Defaults to all. |
| start* | string | Range start in datetime-with-timezone form (for example 2020-05-01T00:43:37+0100). |
| region | any | Region within country. Requires country when set. |
| country | any | Country name for geo filtering. Defaults to global. |
| category | any | Trends category or subcategory. Defaults to all. |
| keywords* | array | Up to five keywords to compare. |
| resolution |
Fetch Google Trends interest-over-time series for one to five keywords. Returns a JSON object whose top-level keys are your keywords. Each value maps timestamps to interest scores (0–100). Granularity depends on the requested date range (from about one minute to monthly buckets). Requires start in datetime-with-timezone form (for example 2020-05-01T00:43:37+0100). Optional end defaults to now. country defaults to global; region requires a valid country. category and gprop default to all when omitted or empty. Cost = 40 tokens.
| Argument | Type | Description |
|---|---|---|
| end | any | Range end in datetime-with-timezone form. Defaults to now. |
| gprop | any | Google property filter (for example images, news, youtube, froogle). Defaults to all. |
| start* | string | Range start in datetime-with-timezone form (for example 2020-05-01T00:43:37+0100). |
| region | any | Region within country. Requires country when set. |
| country | any | Country name for geo filtering. Defaults to global. |
| category | any | Trends category or subcategory. Defaults to all. |
| keywords* | array | Up to five keywords to compare. |
List all countries and subregions you can pass to other Google Trends tools in the country and region fields. Returns geo.countries: each country name maps to country (label) and regions (array of subregion names). Also returns msg. Use this before interest-over-time or interest-by-region calls when filtering by geography. Pair with google-trends.categories when filtering by category. Cost = 5 tokens.
No arguments.
{
"type": "object",
"title": "get_google_trends_regionsArguments",
"properties": {}
}Fetch Google Trends related queries for one to five keywords. Returns a JSON object whose top-level keys are your keywords. Each value has top and rising sections; each section has query (rank index to query string) and value (rank index to score). Requires start in datetime-with-timezone form (for example 2020-05-01T00:43:37+0100). Optional end defaults to now. country defaults to global; region requires a valid country. category and gprop default to all when omitted or empty. Use google-trends.categories and google-trends.regions to discover valid category, country, and region values. Cost = 40 tokens.
| Argument | Type | Description |
|---|---|---|
| end | any | Range end in datetime-with-timezone form. Defaults to now. |
| gprop | any | Google property filter (for example images, news, youtube, froogle). Defaults to all. |
| start* | string | Range start in datetime-with-timezone form (for example 2020-05-01T00:43:37+0100). |
| region | any | Region within country. Requires country when set. |
| country | any | Country name for geo filtering. Defaults to global. |
| category | any | Trends category or subcategory. Defaults to all. |
| keywords* | array | Up to five keywords to compare. |
Get Google Trends suggestions for a single keyword. Returns result: an array of suggested topics and entities, each with mid (topic id), title (display name), and type (for example Topic, Software, Book). Use this to refine keywords before interest-over-time, interest-by-region, or related-queries calls. Cost = 10 tokens.
| Argument | Type | Description |
|---|---|---|
| keyword* | string | Keyword or phrase to get suggestions for. |
{
"type": "object",
"title": "get_google_trends_suggestionsArguments",
"required": [
"keyword"
],
"properties": {
"keyword": {
"type": "string",
"title": "Keyword",
"maxLength": 512,
"description": "Keyword or phrase to get suggestions for."
}
}
}Edit an existing image or compose several images into one scene with Muse Image. The user or agent passes stored file names from files.list_uploaded_files and/or public http or https image URLs. One image is an edit; several images are composed into one result. The result is saved to account file storage. The response includes a signed URL for API users and download_code for agents to run `vee3-get-file`. Cost = 50 tokens per generated image.
| Argument | Type | Description |
|---|---|---|
| n | integer | Number of images to generate (1 to 10). Each returned image costs 50 tokens. |
| size | any | Optional output size as WIDTHxHEIGHT (for example 1024x1536) or auto. This sets aspect ratio, not exact pixel size. Omit for the default aspect ratio. |
| images* | array | Source images as stored file names from files.list_uploaded_files and/or public http or https image URLs. One image is an edit. Several images are composed into one scene. Upload files with files.upload_file first. |
| prompt* | string | Text description of the image to generate or of the edit to apply. |
| file_name | any | Optional account-relative storage path for the image. When n is greater than 1, an index is inserted before the extension (for example art/fox.webp becomes art/fox-1.webp and art/fox-2.webp). If omitted, the file is stored under image-generation/ with a generated name. |
| output_format | string |
Generate an image from a text prompt with Muse Image. The image is saved to account file storage. The response includes a signed URL for API users and download_code for agents to run `vee3-get-file`. When n is greater than 1, each returned image is stored separately. Cost = 50 tokens per generated image.
| Argument | Type | Description |
|---|---|---|
| n | integer | Number of images to generate (1 to 10). Each returned image costs 50 tokens. |
| size | any | Optional output size as WIDTHxHEIGHT (for example 1024x1536) or auto. This sets aspect ratio, not exact pixel size. Omit for the default aspect ratio. |
| prompt* | string | Text description of the image to generate or of the edit to apply. |
| file_name | any | Optional account-relative storage path for the image. When n is greater than 1, an index is inserted before the extension (for example art/fox.webp becomes art/fox-1.webp and art/fox-2.webp). If omitted, the file is stored under image-generation/ with a generated name. |
| output_format | string | Encoding of the returned image. webp is smaller; png is lossless. |
{
"type": "object",
"title": "generate_imageArguments",
"required": [
"prompt"
],
"properties": {
"n": {
"type": "integer",
"title": "N",
"default": 1,
"maximum": 10,
"minimum": 1,
"description": "Number of images to generate (1 to 10). Each returned image costs 50 tokens."
},
"size": {
"anyOf": [
{
"type": "string",
"maxLength": 32
},
{
"type": "null"
}
],
"title": "Size",
"default": null,
"description": "Optional output size as WIDTHxHEIGHT (for example 1024x1536) or auto. This sets aspect ratio, not exact pixel size. Omit for the default aspect ratio."
},
"prompt": {
"type": "string",
"title": "Prompt",
"maxLength": 4000,
"description": "Text description of the image to generate or of the edit to apply."
},
"file_name": {
"anyOf": [
{
"type": "string",
"maxLength": 255
},
{
"type": "null"
}
],
"title": "File Name",
"default": null,
"description": "Optional account-relative storage path for the image. When n is greater than 1, an index is inserted before the extension (for example art/fox.webp becomes art/fox-1.webp and art/fox-2.webp). If omitted, the file is stored under image-generation/ with a generated name."
},
"output_format": {
"enum": [
"webp",
"png",
"jpeg"
],
"type": "string",
"title": "Output Format",
"default": "webp",
"description": "Encoding of the returned image. webp is smaller; png is lossless."
}
}
}Describe a single Vee3 capability. Pass the MCP tool name (for example `website-screenshots.capture`) or capability id (for example `website-screenshot`). Use this after meta-tools.list_group_tools when you need parameter names, defaults, response fields, examples, and token cost before calling a tool Cost = 0 tokens.
| Argument | Type | Description |
|---|---|---|
| tool_name* | string | MCP tool name (for example `x-twitter.create_post`) or capability id (for example `create-x-post`). |
{
"type": "object",
"title": "describe_toolArguments",
"required": [
"tool_name"
],
"properties": {
"tool_name": {
"type": "string",
"title": "Tool Name",
"maxLength": 128,
"description": "MCP tool name (for example `x-twitter.create_post`) or capability id (for example `create-x-post`)."
}
}
}List all live Vee3 agent tools. Use this when you need to discover which tools exist and what they are called in MCP. Each entry includes mcp_tool_name, group_id, and summary. Use meta-tools.describe for full request/response schemas and token costs Cost = 0 tokens.
No arguments.
{
"type": "object",
"title": "list_all_toolsArguments",
"properties": {}
}List live tools belonging to a single capability group. Use group_id from meta-tools.list_groups (for example website-screenshots). Returns name and summary for each live tool in the group Cost = 0 tokens.
| Argument | Type | Description |
|---|---|---|
| group_id* | string | Group id to list tools for (for example website-screenshots). |
{
"type": "object",
"title": "list_group_toolsArguments",
"required": [
"group_id"
],
"properties": {
"group_id": {
"type": "string",
"title": "Group Id",
"maxLength": 128,
"description": "Group id to list tools for (for example website-screenshots)."
}
}
}List all Vee3 capability groups. Use this to see how tools are organized (for example website-screenshots or meta-tools) before listing tools in a specific group Cost = 0 tokens.
No arguments.
{
"type": "object",
"title": "list_groupsArguments",
"properties": {}
}Report a bug, error, or anything that did not work as expected while using Vee3. Use this when a capability fails unexpectedly, returns wrong data, or behaves inconsistently. Include what you tried, what happened, and any error output Cost = 0 tokens.
| Argument | Type | Description |
|---|---|---|
| summary* | string | Short title describing the issue. |
| description* | string | Detailed explanation of what went wrong, what was expected, and steps to reproduce if known. |
| error_details | any | Raw error message, stack trace, or API response that shows the failure. |
| related_capability_id | any | MCP tool name or capability id involved in the issue, if applicable. |
{
"type": "object",
"title": "report_bugArguments",
"required": [
"summary",
"description"
],
"properties": {
"summary": {
"type": "string",
"title": "Summary",
"maxLength": 200,
"description": "Short title describing the issue."
},
"description": {
"type": "string",
"title": "Description",
"maxLength": 8000,
"description": "Detailed explanation of what went wrong, what was expected, and steps to reproduce if known."
},
"error_details": {
"anyOf": [
{
"type": "string",
"maxLength": 8000
},
{
"type": "null"
}
],
"title": "Error Details",
"default": null,
"description": "Raw error message, stack trace, or API response that shows the failure."
},
"related_capability_id": {
"anyOf": [
{
"type": "string",
"maxLength": 128
},
{
"type": "null"
}
],
"title": "Related Capability Id",
"default": null,
"description": "MCP tool name or capability id involved in the issue, if applicable."
}
}
}Request a new capability or feature that Vee3 does not offer yet. Use this when you need something that is not available in the catalog — a missing integration, data source, workflow, or enhancement to an existing capability. Describe what you need, why you cannot accomplish it today, and how you would use it Cost = 0 tokens.
| Argument | Type | Description |
|---|---|---|
| summary* | string | Short title describing the requested capability or feature. |
| use_case | any | Example workflow or scenario where this feature would be used. |
| description* | string | Detailed explanation of what is needed, why it cannot be done with existing tools, and how it would help. |
| related_capability_id | any | Capability id this request extends or relates to, if applicable. |
{
"type": "object",
"title": "request_featureArguments",
"required": [
"summary",
"description"
],
"properties": {
"summary": {
"type": "string",
"title": "Summary",
"maxLength": 200,
"description": "Short title describing the requested capability or feature."
},
"use_case": {
"anyOf": [
{
"type": "string",
"maxLength": 8000
},
{
"type": "null"
}
],
"title": "Use Case",
"default": null,
"description": "Example workflow or scenario where this feature would be used."
},
"description": {
"type": "string",
"title": "Description",
"maxLength": 8000,
"description": "Detailed explanation of what is needed, why it cannot be done with existing tools, and how it would help."
},
"related_capability_id": {
"anyOf": [
{
"type": "string",
"maxLength": 128
},
{
"type": "null"
}
],
"title": "Related Capability Id",
"default": null,
"description": "Capability id this request extends or relates to, if applicable."
}
}
}Search live Vee3 agent tools by keyword or short task description. Call this first when you are unsure which tool to use. Returns ranked matches with tool_name, summary, and cost for each hit. Use meta-tools.describe on the best match for full request and response schemas. Optional group_id narrows results to one capability group. limit defaults to 8 (maximum 20). Cost = 0 tokens.
| Argument | Type | Description |
|---|---|---|
| limit | any | Maximum results to return (1–20). |
| query* | string | Keywords or short task description (for example `tiktok video comments` or `domain availability`). |
| group_id | any | Optional group id to narrow results (for example `x-twitter`). |
{
"type": "object",
"title": "search_toolsArguments",
"required": [
"query"
],
"properties": {
"limit": {
"anyOf": [
{
"type": "integer",
"maximum": 20,
"minimum": 1
},
{
"type": "null"
}
],
"title": "Limit",
"default": null,
"description": "Maximum results to return (1–20)."
},
"query": {
"type": "string",
"title": "Query",
"maxLength": 256,
"description": "Keywords or short task description (for example `tiktok video comments` or `domain availability`)."
},
"group_id": {
"anyOf": [
{
"type": "string",
"maxLength": 128
},
{
"type": "null"
}
],
"title": "Group Id",
"default": null,
"description": "Optional group id to narrow results (for example `x-twitter`)."
}
}
}Get the token balance for this API key. When the key belongs to a project that has a spend cap, the allowance, tokens used, and tokens remaining are that cap for the current billing period. Every other key gets the account allowance and usage. The response includes the billing plan and when the period resets. Use this before expensive calls or when a call returns 402. Cost = 0 tokens.
No arguments.
{
"type": "object",
"title": "get_token_balanceArguments",
"properties": {}
}Create a new static website for this Vee3 account. Returns a page id and public URL at {slug}.vee3.site. Deploy uploaded files next with pages.deploy. Cost = 200 tokens.
| Argument | Type | Description |
|---|---|---|
| name | any | Optional display name for the page. Does not change the public URL. At most 80 characters. |
| slug* | string | Page slug used for the public hostname ({slug}.vee3.site). Must be unique across Vee3. Lowercase alphanumeric characters and hyphens only; 1-48 characters; must start and end with an alphanumeric character. |
{
"type": "object",
"title": "createArguments",
"required": [
"slug"
],
"properties": {
"name": {
"anyOf": [
{
"type": "string",
"maxLength": 80
},
{
"type": "null"
}
],
"title": "Name",
"default": null,
"description": "Optional display name for the page. Does not change the public URL. At most 80 characters."
},
"slug": {
"type": "string",
"title": "Slug",
"maxLength": 48,
"description": "Page slug used for the public hostname ({slug}.vee3.site). Must be unique across Vee3. Lowercase alphanumeric characters and hyphens only; 1-48 characters; must start and end with an alphanumeric character."
}
}
}Delete a hosted static website and its CDN resources. Removes the page from this Vee3 account after deleting upstream resources. Cost = 5 tokens.
| Argument | Type | Description |
|---|---|---|
| page_id* | string | Page id to delete. |
{
"type": "object",
"title": "deleteArguments",
"required": [
"page_id"
],
"properties": {
"page_id": {
"type": "string",
"title": "Page Id",
"description": "Page id to delete."
}
}
}Deploy uploaded account files to a hosted static website. Pass file_name values from files.upload_file / files.list_uploaded_files. Optional path overrides the destination path on the page (defaults to the file basename). Up to 500 files per deploy. Cost = 100 tokens.
| Argument | Type | Description |
|---|---|---|
| files* | array | Files to deploy. Each item is an object with file_name (uploaded account-relative path) and optional path (destination path on the page; defaults to the file basename). Maximum 500 files. |
| page_id* | string | Page id returned by pages.create. |
{
"type": "object",
"title": "deployArguments",
"required": [
"page_id",
"files"
],
"properties": {
"files": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
},
"title": "Files",
"maxItems": 500,
"minItems": 1,
"description": "Files to deploy. Each item is an object with file_name (uploaded account-relative path) and optional path (destination path on the page; defaults to the file basename). Maximum 500 files."
},
"page_id": {
"type": "string",
"title": "Page Id",
"description": "Page id returned by pages.create."
}
}
}Update a hosted static website for this Vee3 account. Change the display name and/or the public slug. Changing the slug moves the preview hostname to {slug}.vee3.site and issues a new TLS certificate. An attached custom domain stays in place. Pass at least one of name or slug. Cost = 20 tokens.
| Argument | Type | Description |
|---|---|---|
| name | any | Display name for the page. Does not change the public URL. Pass an empty value to clear the name. At most 80 characters. |
| slug | any | New page slug used for the public hostname ({slug}.vee3.site). Must be unique across Vee3. Lowercase alphanumeric characters and hyphens only; 1-48 characters; must start and end with an alphanumeric character. |
| page_id* | string | Page id to update. |
{
"type": "object",
"title": "editArguments",
"required": [
"page_id"
],
"properties": {
"name": {
"anyOf": [
{
"type": "string",
"maxLength": 80
},
{
"type": "null"
}
],
"title": "Name",
"default": null,
"description": "Display name for the page. Does not change the public URL. Pass an empty value to clear the name. At most 80 characters."
},
"slug": {
"anyOf": [
{
"type": "string",
"maxLength": 48
},
{
"type": "null"
}
],
"title": "Slug",
"default": null,
"description": "New page slug used for the public hostname ({slug}.vee3.site). Must be unique across Vee3. Lowercase alphanumeric characters and hyphens only; 1-48 characters; must start and end with an alphanumeric character."
},
"page_id": {
"type": "string",
"title": "Page Id",
"description": "Page id to update."
}
}
}Get details for one static website this Vee3 account hosts. Returns name, status, public URL, preview hostname on vee3.site, attached custom domain if any, and timestamps. Cost = 5 tokens.
| Argument | Type | Description |
|---|---|---|
| page_id* | string | Page id to look up. |
{
"type": "object",
"title": "getArguments",
"required": [
"page_id"
],
"properties": {
"page_id": {
"type": "string",
"title": "Page Id",
"description": "Page id to look up."
}
}
}List static websites this Vee3 account hosts. Returns page ids, names, slugs, status, public URLs, preview hostnames on vee3.site, attached custom domains if any, and paging metadata. Cost = 10 tokens.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number for paginated results. |
| limit | integer | Maximum number of pages to return. |
{
"type": "object",
"title": "list_pagesArguments",
"properties": {
"page": {
"type": "integer",
"title": "Page",
"default": 1,
"minimum": 1,
"description": "Page number for paginated results."
},
"limit": {
"type": "integer",
"title": "Limit",
"default": 50,
"maximum": 100,
"minimum": 1,
"description": "Maximum number of pages to return."
}
}
}Detach the custom hostname from a hosted static website. Removes the custom-domain DNS record and CDN hostname. The page stays online at the preview hostname on vee3.site. Cost = 5 tokens.
| Argument | Type | Description |
|---|---|---|
| page_id* | string | Page id to detach the custom domain from. |
{
"type": "object",
"title": "remove_custom_domainArguments",
"required": [
"page_id"
],
"properties": {
"page_id": {
"type": "string",
"title": "Page Id",
"description": "Page id to detach the custom domain from."
}
}
}Attach a custom hostname to a hosted static website. The hostname must be on a domain this Vee3 account already manages. Vee3 writes DNS and attaches the hostname to the page CDN with TLS. Subdomains use CNAME; the domain apex uses ALIAS. The preview hostname on vee3.site stays available. Setting a new custom domain replaces the previous one. If HTTPS is not ready yet, call this tool again after DNS is live; Vee3 retries TLS issuance. Cost = 50 tokens.
| Argument | Type | Description |
|---|---|---|
| page_id* | string | Page id to attach the custom domain to. |
| custom_domain* | string | Hostname to attach, such as www.example.com or example.com. Must be on a domain this Vee3 account already manages. At most 253 characters. |
{
"type": "object",
"title": "set_custom_domainArguments",
"required": [
"page_id",
"custom_domain"
],
"properties": {
"page_id": {
"type": "string",
"title": "Page Id",
"description": "Page id to attach the custom domain to."
},
"custom_domain": {
"type": "string",
"title": "Custom Domain",
"maxLength": 253,
"description": "Hostname to attach, such as www.example.com or example.com. Must be on a domain this Vee3 account already manages. At most 253 characters."
}
}
}Get CDN traffic for one static website this Vee3 account hosts. Returns request count, bandwidth, cache hit rate, and bandwidth by country for a UTC date range. Request count includes every file the CDN served, not unique visitors. The range is inclusive. When the user or agent omits dates, the last 7 UTC days including today are used. The range can be at most 31 days. Cost = 10 tokens.
| Argument | Type | Description |
|---|---|---|
| date_to | any | Inclusive UTC end date (YYYY-MM-DD). Defaults to today UTC. |
| page_id* | string | Page id returned by pages.create. |
| date_from | any | Inclusive UTC start date (YYYY-MM-DD). Defaults to 6 days before date_to. |
{
"type": "object",
"title": "get_statisticsArguments",
"required": [
"page_id"
],
"properties": {
"date_to": {
"anyOf": [
{
"type": "string",
"maxLength": 10
},
{
"type": "null"
}
],
"title": "Date To",
"default": null,
"description": "Inclusive UTC end date (YYYY-MM-DD). Defaults to today UTC."
},
"page_id": {
"type": "string",
"title": "Page Id",
"description": "Page id returned by pages.create."
},
"date_from": {
"anyOf": [
{
"type": "string",
"maxLength": 10
},
{
"type": "null"
}
],
"title": "Date From",
"default": null,
"description": "Inclusive UTC start date (YYYY-MM-DD). Defaults to 6 days before date_to."
}
}
}Look up a celebrity on Rotten Tomatoes by slug (for example morgan-freeman). Returns name, bio, birth date and place, profile image, and filmography lists for movies and TV with scores and years. Cost = 5 tokens.
| Argument | Type | Description |
|---|---|---|
| celebrity_slug* | string | Celebrity slug (for example morgan-freeman). |
{
"type": "object",
"title": "get_rotten_tomatoes_celebrity_detailsArguments",
"required": [
"celebrity_slug"
],
"properties": {
"celebrity_slug": {
"type": "string",
"title": "Celebrity Slug",
"maxLength": 512,
"description": "Celebrity slug (for example morgan-freeman)."
}
}
}List cast and crew credits for a movie by slug (for example shawshank-redemption). Returns cast and crew members with names, roles, character names, and profile links where available. Cost = 5 tokens.
| Argument | Type | Description |
|---|---|---|
| movie_slug* | string | Movie slug (for example shawshank-redemption). |
{
"type": "object",
"title": "get_rotten_tomatoes_movie_cast_and_crewArguments",
"required": [
"movie_slug"
],
"properties": {
"movie_slug": {
"type": "string",
"title": "Movie Slug",
"maxLength": 512,
"description": "Movie slug (for example shawshank-redemption)."
}
}
}Look up a movie on Rotten Tomatoes by slug (for example shawshank-redemption). Returns title, year, rating, runtime, genres, description, poster and hero images, Tomatometer and Popcornmeter scores, cast highlights, and where to watch links. Cost = 5 tokens.
| Argument | Type | Description |
|---|---|---|
| movie_slug* | string | Movie slug (for example shawshank-redemption). |
{
"type": "object",
"title": "get_rotten_tomatoes_movie_detailsArguments",
"required": [
"movie_slug"
],
"properties": {
"movie_slug": {
"type": "string",
"title": "Movie Slug",
"maxLength": 512,
"description": "Movie slug (for example shawshank-redemption)."
}
}
}Load reviews for a movie by slug (for example shawshank-redemption). Returns review quotes, sentiment, publication, critic details, and pageInfo for pagination. Use cursor from pageInfo.endCursor for the next page. Optionally set type to critic for critic reviews only. Cost = 5 tokens.
| Argument | Type | Description |
|---|---|---|
| limit | any | Maximum number of review pages to return (1–50, default 20). |
| cursor | any | Pagination cursor from a previous response pageInfo.endCursor field. |
| movie_slug* | string | Movie slug (for example shawshank-redemption). |
| review_type | any | Review filter. Use critic for critic reviews; omit for the default set. |
{
"type": "object",
"title": "get_rotten_tomatoes_movie_reviewsArguments",
"required": [
"movie_slug"
],
"properties": {
"limit": {
"anyOf": [
{
"type": "integer",
"maximum": 50,
"minimum": 1
},
{
"type": "null"
}
],
"title": "Limit",
"default": null,
"description": "Maximum number of review pages to return (1–50, default 20)."
},
"cursor": {
"anyOf": [
{
"type": "string",
"maxLength": 4096
},
{
"type": "null"
}
],
"title": "Cursor",
"default": null,
"description": "Pagination cursor from a previous response pageInfo.endCursor field."
},
"movie_slug": {
"type": "string",
"title": "Movie Slug",
"maxLength": 512,
"description": "Movie slug (for example shawshank-redemption)."
},
"review_type": {
"anyOf": [
{
"type": "string",
"maxLength": 32
},
{
"type": "null"
}
],
"title": "Review Type",
"default": null,
"description": "Review filter. Use critic for critic reviews; omit for the default set."
}
}
}Search Rotten Tomatoes by title or name. Returns matching movies, TV series, and celebrities with slugs, scores, poster URLs, release years, and top-billed cast where available. Cost = 13 tokens.
| Argument | Type | Description |
|---|---|---|
| limit | any | Maximum number of search results to return (1–50, default 20). |
| query* | string | Search query for movies, TV series, or celebrities. |
{
"type": "object",
"title": "search_rotten_tomatoesArguments",
"required": [
"query"
],
"properties": {
"limit": {
"anyOf": [
{
"type": "integer",
"maximum": 50,
"minimum": 1
},
{
"type": "null"
}
],
"title": "Limit",
"default": null,
"description": "Maximum number of search results to return (1–50, default 20)."
},
"query": {
"type": "string",
"title": "Query",
"maxLength": 256,
"description": "Search query for movies, TV series, or celebrities."
}
}
}List cast and crew credits for a TV series by slug (for example breaking-bad). Returns cast and crew members with names, roles, character names, and profile links where available. Cost = 5 tokens.
| Argument | Type | Description |
|---|---|---|
| tv_show_slug* | string | TV series slug (for example breaking-bad). |
{
"type": "object",
"title": "get_rotten_tomatoes_tv_show_cast_and_crewArguments",
"required": [
"tv_show_slug"
],
"properties": {
"tv_show_slug": {
"type": "string",
"title": "Tv Show Slug",
"maxLength": 512,
"description": "TV series slug (for example breaking-bad)."
}
}
}Look up a TV series on Rotten Tomatoes by slug (for example breaking-bad). Returns title, years on air, TV rating, season count, genres, description, poster and hero images, Tomatometer and Popcornmeter scores, and creator/cast highlights. Cost = 5 tokens.
| Argument | Type | Description |
|---|---|---|
| tv_show_slug* | string | TV series slug (for example breaking-bad). |
{
"type": "object",
"title": "get_rotten_tomatoes_tv_show_detailsArguments",
"required": [
"tv_show_slug"
],
"properties": {
"tv_show_slug": {
"type": "string",
"title": "Tv Show Slug",
"maxLength": 512,
"description": "TV series slug (for example breaking-bad)."
}
}
}Load a single episode by TV series slug (for example breaking-bad), season number, and episode number. Returns episode title, air date, description, and episode Tomatometer score when available. Cost = 5 tokens.
| Argument | Type | Description |
|---|---|---|
| tv_show_slug* | string | TV series slug (for example breaking-bad). |
| season_number* | string | Season number as one or two digits (for example 1 or 01). |
| episode_number* | string | Episode number as one or two digits (for example 1 or 01). |
{
"type": "object",
"title": "get_rotten_tomatoes_tv_show_episodeArguments",
"required": [
"tv_show_slug",
"season_number",
"episode_number"
],
"properties": {
"tv_show_slug": {
"type": "string",
"title": "Tv Show Slug",
"maxLength": 512,
"description": "TV series slug (for example breaking-bad)."
},
"season_number": {
"type": "string",
"title": "Season Number",
"maxLength": 2,
"description": "Season number as one or two digits (for example 1 or 01)."
},
"episode_number": {
"type": "string",
"title": "Episode Number",
"maxLength": 2,
"description": "Episode number as one or two digits (for example 1 or 01)."
}
}
}Load season-level details for a TV series by slug (for example breaking-bad) and season number. Returns season title, episode list summaries, and season Tomatometer scores when available. Cost = 5 tokens.
| Argument | Type | Description |
|---|---|---|
| tv_show_slug* | string | TV series slug (for example breaking-bad). |
| season_number* | string | Season number as one or two digits (for example 1 or 01). |
{
"type": "object",
"title": "get_rotten_tomatoes_tv_show_seasonArguments",
"required": [
"tv_show_slug",
"season_number"
],
"properties": {
"tv_show_slug": {
"type": "string",
"title": "Tv Show Slug",
"maxLength": 512,
"description": "TV series slug (for example breaking-bad)."
},
"season_number": {
"type": "string",
"title": "Season Number",
"maxLength": 2,
"description": "Season number as one or two digits (for example 1 or 01)."
}
}
}Load reviews for a TV season by series slug (for example breaking-bad) and season number. Returns review quotes, sentiment, publication, critic details, and pageInfo for pagination. Use cursor from pageInfo.endCursor for the next page. Optionally set type to critic for critic reviews only. Cost = 5 tokens.
| Argument | Type | Description |
|---|---|---|
| limit | any | Maximum number of review pages to return (1–50, default 20). |
| cursor | any | Pagination cursor from a previous response pageInfo.endCursor field. |
| review_type | any | Review filter. Use critic for critic reviews; omit for the default set. |
| tv_show_slug* | string | TV series slug (for example breaking-bad). |
| season_number* | string | Season number as one or two digits (for example 1 or 01). |
{
"type": "object",
"title": "get_rotten_tomatoes_tv_show_season_reviewsArguments",
"required": [
"tv_show_slug",
"season_number"
],
"properties": {
"limit": {
"anyOf": [
{
"type": "integer",
"maximum": 50,
"minimum": 1
},
{
"type": "null"
}
],
"title": "Limit",
"default": null,
"description": "Maximum number of review pages to return (1–50, default 20)."
},
"cursor": {
"anyOf": [
{
"type": "string",
"maxLength": 4096
},
{
"type": "null"
}
],
"title": "Cursor",
"default": null,
"description": "Pagination cursor from a previous response pageInfo.endCursor field."
},
"review_type": {
"anyOf": [
{
"type": "string",
"maxLength": 32
},
{
"type": "null"
}
],
"title": "Review Type",
"default": null,
"description": "Review filter. Use critic for critic reviews; omit for the default set."
},
"tv_show_slug": {
"type": "string",
"title": "Tv Show Slug",
"maxLength": 512,
"description": "TV series slug (for example breaking-bad)."
},
"season_number": {
"type": "string",
"title": "Season Number",
"maxLength": 2,
"description": "Season number as one or two digits (for example 1 or 01)."
}
}
}Find backlinks pointing to a website URL. Returns an overview (domain rating, URL rating, backlink counts, referring domains, dofollow breakdown) and a list of individual backlinks with anchor text, source and target URLs, domain rating, and redirect chains. Cost = 10 tokens.
| Argument | Type | Description |
|---|---|---|
| url* | string | Public website URL to check for backlinks. |
| include_subdomains | boolean | When true (default), include backlinks to the domain and its subdomains. When false, analyze only the exact URL. |
{
"type": "object",
"title": "get_seo_backlinksArguments",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"title": "Url",
"maxLength": 2048,
"description": "Public website URL to check for backlinks."
},
"include_subdomains": {
"type": "boolean",
"title": "Include Subdomains",
"default": true,
"description": "When true (default), include backlinks to the domain and its subdomains. When false, analyze only the exact URL."
}
}
}Get Ahrefs domain authority signals for a website URL. Returns domainRating (0–100 Ahrefs authority score) and ahRank (global Ahrefs website rank). Useful for comparing site strength and prioritizing outreach or competitive research. Cost = 10 tokens.
| Argument | Type | Description |
|---|---|---|
| url* | string | Public website URL to analyze (for example https://example.com). |
{
"type": "object",
"title": "get_seo_basic_metricsArguments",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"title": "Url",
"maxLength": 2048,
"description": "Public website URL to analyze (for example https://example.com)."
}
}
}List country codes you can pass as country on seo.keyword_metrics. Returns an array of 2-letter ISO country codes (for example us, gb, de). Cost = 0 tokens.
No arguments.
{
"type": "object",
"title": "list_seo_country_codesArguments",
"properties": {}
}Get SEO metrics for a search keyword in a specific country market. Returns keyword, searchVolume, clicks, cpc, difficulty, globalSearchVolume, and trafficPotential. Cost = 10 tokens.
| Argument | Type | Description |
|---|---|---|
| country | string | 2-letter ISO country code for the target market (default us). Use seo.country_codes for supported values. |
| keyword* | string | Search keyword or phrase to analyze. |
{
"type": "object",
"title": "get_seo_keyword_metricsArguments",
"required": [
"keyword"
],
"properties": {
"country": {
"type": "string",
"title": "Country",
"default": "us",
"maxLength": 2,
"description": "2-letter ISO country code for the target market (default us). Use seo.country_codes for supported values."
},
"keyword": {
"type": "string",
"title": "Keyword",
"maxLength": 512,
"description": "Search keyword or phrase to analyze."
}
}
}Get detailed Ahrefs SEO metrics for a specific URL. Returns two sections: - page: backlinks, referring domains, estimated traffic, traffic value, organic keywords, URL rating, and word count on the page - domain: domain rating, rank, backlinks, referring domains, traffic, traffic value, and organic keywords Cost = 10 tokens.
| Argument | Type | Description |
|---|---|---|
| url* | string | Public page URL to analyze. |
{
"type": "object",
"title": "get_seo_url_metricsArguments",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"title": "Url",
"maxLength": 2048,
"description": "Public page URL to analyze."
}
}
}List replies to a TikTok comment. Requires video_id and comment_id. Pass cursor from a previous response to fetch the next page. Cost = 2 tokens.
| Argument | Type | Description |
|---|---|---|
| count | any | Number of replies to return (max 40). |
| cursor | any | Pagination cursor from a previous response. |
| video_id* | string | TikTok video id. |
| comment_id* | string | TikTok comment id. |
{
"type": "object",
"title": "get_tiktok_comment_repliesArguments",
"required": [
"video_id",
"comment_id"
],
"properties": {
"count": {
"anyOf": [
{
"type": "integer",
"maximum": 40,
"minimum": 1
},
{
"type": "null"
}
],
"title": "Count",
"default": null,
"description": "Number of replies to return (max 40)."
},
"cursor": {
"anyOf": [
{
"type": "string",
"maxLength": 4096
},
{
"type": "null"
}
],
"title": "Cursor",
"default": null,
"description": "Pagination cursor from a previous response."
},
"video_id": {
"type": "string",
"title": "Video Id",
"maxLength": 32,
"description": "TikTok video id."
},
"comment_id": {
"type": "string",
"title": "Comment Id",
"maxLength": 32,
"description": "TikTok comment id."
}
}
}Download a TikTok music track so the user or agent can save and reuse it. Provide either music_id or music_url, not both. The file is saved to account file storage. The response includes file_url for API users and download_code for agents to run `vee3-get-file`. Cost = 10 tokens.
| Argument | Type | Description |
|---|---|---|
| music_id | any | TikTok music id. |
| file_name | any | Optional account-relative storage path for the music file. If omitted, the file is stored under downloads/ with a generated name. |
| music_url | any | TikTok music page URL. |
{
"type": "object",
"title": "download_tiktok_musicArguments",
"properties": {
"music_id": {
"anyOf": [
{
"type": "string",
"maxLength": 64
},
{
"type": "null"
}
],
"title": "Music Id",
"default": null,
"description": "TikTok music id."
},
"file_name": {
"anyOf": [
{
"type": "string",
"maxLength": 255
},
{
"type": "null"
}
],
"title": "File Name",
"default": null,
"description": "Optional account-relative storage path for the music file. If omitted, the file is stored under downloads/ with a generated name."
},
"music_url": {
"anyOf": [
{
"type": "string",
"maxLength": 2048
},
{
"type": "null"
}
],
"title": "Music Url",
"default": null,
"description": "TikTok music page URL."
}
}
}Download music from a TikTok video so the user or agent can save and reuse it. Provide either video_id or video_url, not both. The file is saved to account file storage. The response includes file_url for API users and download_code for agents to run `vee3-get-file`. Cost = 10 tokens.
| Argument | Type | Description |
|---|---|---|
| video_id | any | TikTok video id. |
| file_name | any | Optional account-relative storage path for the music file. If omitted, the file is stored under downloads/ with a generated name. |
| video_url | any | TikTok video URL. |
{
"type": "object",
"title": "download_tiktok_music_from_videoArguments",
"properties": {
"video_id": {
"anyOf": [
{
"type": "string",
"maxLength": 32
},
{
"type": "null"
}
],
"title": "Video Id",
"default": null,
"description": "TikTok video id."
},
"file_name": {
"anyOf": [
{
"type": "string",
"maxLength": 255
},
{
"type": "null"
}
],
"title": "File Name",
"default": null,
"description": "Optional account-relative storage path for the music file. If omitted, the file is stored under downloads/ with a generated name."
},
"video_url": {
"anyOf": [
{
"type": "string",
"maxLength": 2048
},
{
"type": "null"
}
],
"title": "Video Url",
"default": null,
"description": "TikTok video URL."
}
}
}Download a TikTok video so the user or agent can save and reuse it. Provide either video_id or video_url, not both. The file is saved to account file storage. The response includes file_url for API users and download_code for agents to run `vee3-get-file`. Cost = 10 tokens.
| Argument | Type | Description |
|---|---|---|
| quality | string | Video quality to download. 'standard' is default quality; 'hd' is high definition. Only one selected quality is downloaded. |
| video_id | any | TikTok video id. |
| file_name | any | Optional account-relative storage path for the video. If omitted, the file is stored under downloads/ with a generated name. |
| video_url | any | TikTok video URL. |
{
"type": "object",
"title": "download_tiktok_videoArguments",
"properties": {
"quality": {
"enum": [
"standard",
"hd"
],
"type": "string",
"title": "Quality",
"default": "standard",
"description": "Video quality to download. 'standard' is default quality; 'hd' is high definition. Only one selected quality is downloaded."
},
"video_id": {
"anyOf": [
{
"type": "string",
"maxLength": 32
},
{
"type": "null"
}
],
"title": "Video Id",
"default": null,
"description": "TikTok video id."
},
"file_name": {
"anyOf": [
{
"type": "string",
"maxLength": 255
},
{
"type": "null"
}
],
"title": "File Name",
"default": null,
"description": "Optional account-relative storage path for the video. If omitted, the file is stored under downloads/ with a generated name."
},
"video_url": {
"anyOf": [
{
"type": "string",
"maxLength": 2048
},
{
"type": "null"
}
],
"title": "Video Url",
"default": null,
"description": "TikTok video URL."
}
}
}Fetch for-you feed videos for a region. Requires region. Cost = 4 tokens.
| Argument | Type | Description |
|---|---|---|
| count | any | Number of videos to return (max 20). |
| region* | string | Region code (for example us, jp, kr). |
{
"type": "object",
"title": "get_tiktok_for_you_feedArguments",
"required": [
"region"
],
"properties": {
"count": {
"anyOf": [
{
"type": "integer",
"maximum": 20,
"minimum": 1
},
{
"type": "null"
}
],
"title": "Count",
"default": null,
"description": "Number of videos to return (max 20)."
},
"region": {
"type": "string",
"title": "Region",
"maxLength": 8,
"description": "Region code (for example us, jp, kr)."
}
}
}Look up metadata for a TikTok music track. Provide either music_id or music_url, not both. Cost = 2 tokens.
| Argument | Type | Description |
|---|---|---|
| music_id | any | TikTok music id. |
| music_url | any | TikTok music page URL. |
{
"type": "object",
"title": "get_tiktok_music_detailsArguments",
"properties": {
"music_id": {
"anyOf": [
{
"type": "string",
"maxLength": 64
},
{
"type": "null"
}
],
"title": "Music Id",
"default": null,
"description": "TikTok music id."
},
"music_url": {
"anyOf": [
{
"type": "string",
"maxLength": 2048
},
{
"type": "null"
}
],
"title": "Music Url",
"default": null,
"description": "TikTok music page URL."
}
}
}List videos that use a TikTok music track. Requires music_id. Pass cursor from a previous response to fetch the next page. Cost = 3 tokens.
| Argument | Type | Description |
|---|---|---|
| count | any | Number of items to return (max 30). |
| cursor | any | Pagination cursor from a previous response. |
| music_id* | string | TikTok music id. |
{
"type": "object",
"title": "get_tiktok_music_videosArguments",
"required": [
"music_id"
],
"properties": {
"count": {
"anyOf": [
{
"type": "integer",
"maximum": 30,
"minimum": 1
},
{
"type": "null"
}
],
"title": "Count",
"default": null,
"description": "Number of items to return (max 30)."
},
"cursor": {
"anyOf": [
{
"type": "string",
"maxLength": 4096
},
{
"type": "null"
}
],
"title": "Cursor",
"default": null,
"description": "Pagination cursor from a previous response."
},
"music_id": {
"type": "string",
"title": "Music Id",
"maxLength": 64,
"description": "TikTok music id."
}
}
}Search TikTok photo posts by keyword. Requires query. Pass cursor from a previous response to fetch the next page. Cost = 5 tokens.
| Argument | Type | Description |
|---|---|---|
| count | any | Number of items to return (max 30). |
| query* | string | Search keywords. |
| cursor | any | Pagination cursor from a previous response. |
| region | any | Region code (for example us, jp, kr). |
{
"type": "object",
"title": "search_tiktok_photosArguments",
"required": [
"query"
],
"properties": {
"count": {
"anyOf": [
{
"type": "integer",
"maximum": 30,
"minimum": 1
},
{
"type": "null"
}
],
"title": "Count",
"default": null,
"description": "Number of items to return (max 30)."
},
"query": {
"type": "string",
"title": "Query",
"maxLength": 512,
"description": "Search keywords."
},
"cursor": {
"anyOf": [
{
"type": "string",
"maxLength": 4096
},
{
"type": "null"
}
],
"title": "Cursor",
"default": null,
"description": "Pagination cursor from a previous response."
},
"region": {
"anyOf": [
{
"type": "string",
"maxLength": 8
},
{
"type": "null"
}
],
"title": "Region",
"default": null,
"description": "Region code (for example us, jp, kr)."
}
}
}Search TikTok users by keyword. Requires query. Pass cursor from a previous response to fetch the next page. Cost = 5 tokens.
| Argument | Type | Description |
|---|---|---|
| count | any | Number of items to return (max 30). |
| query* | string | Search keywords. |
| cursor | any | Pagination cursor from a previous response. |
| follower_count | any | Follower count filter: 0-4. |
{
"type": "object",
"title": "search_tiktok_usersArguments",
"required": [
"query"
],
"properties": {
"count": {
"anyOf": [
{
"type": "integer",
"maximum": 30,
"minimum": 1
},
{
"type": "null"
}
],
"title": "Count",
"default": null,
"description": "Number of items to return (max 30)."
},
"query": {
"type": "string",
"title": "Query",
"maxLength": 512,
"description": "Search keywords."
},
"cursor": {
"anyOf": [
{
"type": "string",
"maxLength": 4096
},
{
"type": "null"
}
],
"title": "Cursor",
"default": null,
"description": "Pagination cursor from a previous response."
},
"follower_count": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Follower Count",
"default": "0",
"description": "Follower count filter: 0-4."
}
}
}Search TikTok videos by keyword. Requires query. Pass cursor from a previous response to fetch the next page. Cost = 5 tokens.
| Argument | Type | Description |
|---|---|---|
| count | any | Number of items to return (max 30). |
| query* | string | Search keywords. |
| cursor | any | Pagination cursor from a previous response. |
| region | any | Region code (for example us, jp, kr). |
| sort_by | any | Sort order: relevance, like_count, or date_posted. |
| publish_time | any | Publish time filter: 0, 1, 7, 30, 90, or 180. |
{
"type": "object",
"title": "search_tiktok_videosArguments",
"required": [
"query"
],
"properties": {
"count": {
"anyOf": [
{
"type": "integer",
"maximum": 30,
"minimum": 1
},
{
"type": "null"
}
],
"title": "Count",
"default": null,
"description": "Number of items to return (max 30)."
},
"query": {
"type": "string",
"title": "Query",
"maxLength": 512,
"description": "Search keywords."
},
"cursor": {
"anyOf": [
{
"type": "string",
"maxLength": 4096
},
{
"type": "null"
}
],
"title": "Cursor",
"default": null,
"description": "Pagination cursor from a previous response."
},
"region": {
"anyOf": [
{
"type": "string",
"maxLength": 8
},
{
"type": "null"
}
],
"title": "Region",
"default": null,
"description": "Region code (for example us, jp, kr)."
},
"sort_by": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Sort By",
"default": "relevance",
"description": "Sort order: relevance, like_count, or date_posted."
},
"publish_time": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Publish Time",
"default": null,
"description": "Publish time filter: 0, 1, 7, 30, 90, or 180."
}
}
}List followers for a TikTok user. Requires user_id. Pass cursor from a previous response to fetch the next page. Cost = 2 tokens.
| Argument | Type | Description |
|---|---|---|
| count | any | Number of items to return (max 200). |
| cursor | any | Pagination cursor from a previous response. |
| user_id* | string | TikTok numeric user id. |
{
"type": "object",
"title": "get_tiktok_user_followersArguments",
"required": [
"user_id"
],
"properties": {
"count": {
"anyOf": [
{
"type": "integer",
"maximum": 200,
"minimum": 1
},
{
"type": "null"
}
],
"title": "Count",
"default": null,
"description": "Number of items to return (max 200)."
},
"cursor": {
"anyOf": [
{
"type": "string",
"maxLength": 4096
},
{
"type": "null"
}
],
"title": "Cursor",
"default": null,
"description": "Pagination cursor from a previous response."
},
"user_id": {
"type": "string",
"title": "User Id",
"maxLength": 128,
"description": "TikTok numeric user id."
}
}
}List accounts a TikTok user follows. Requires user_id. Pass cursor from a previous response to fetch the next page. Cost = 2 tokens.
| Argument | Type | Description |
|---|---|---|
| count | any | Number of items to return (max 200). |
| cursor | any | Pagination cursor from a previous response. |
| user_id* | string | TikTok numeric user id. |
{
"type": "object",
"title": "get_tiktok_user_followingArguments",
"required": [
"user_id"
],
"properties": {
"count": {
"anyOf": [
{
"type": "integer",
"maximum": 200,
"minimum": 1
},
{
"type": "null"
}
],
"title": "Count",
"default": null,
"description": "Number of items to return (max 200)."
},
"cursor": {
"anyOf": [
{
"type": "string",
"maxLength": 4096
},
{
"type": "null"
}
],
"title": "Cursor",
"default": null,
"description": "Pagination cursor from a previous response."
},
"user_id": {
"type": "string",
"title": "User Id",
"maxLength": 128,
"description": "TikTok numeric user id."
}
}
}Look up a TikTok user profile. Provide either user_id or unique_id, not both. Cost = 2 tokens.
| Argument | Type | Description |
|---|---|---|
| user_id | any | TikTok numeric user id. |
| unique_id | any | TikTok unique id (username). |
{
"type": "object",
"title": "get_tiktok_user_infoArguments",
"properties": {
"user_id": {
"anyOf": [
{
"type": "string",
"maxLength": 128
},
{
"type": "null"
}
],
"title": "User Id",
"default": null,
"description": "TikTok numeric user id."
},
"unique_id": {
"anyOf": [
{
"type": "string",
"maxLength": 128
},
{
"type": "null"
}
],
"title": "Unique Id",
"default": null,
"description": "TikTok unique id (username)."
}
}
}List reposts for a TikTok user. Provide either user_id or unique_id, not both. Pass cursor from a previous response to fetch the next page. Cost = 3 tokens.
| Argument | Type | Description |
|---|---|---|
| count | any | Number of items to return (max 30). |
| cursor | any | Pagination cursor from a previous response. |
| user_id | any | TikTok numeric user id. |
| unique_id | any | TikTok unique id (username). |
{
"type": "object",
"title": "get_tiktok_user_repostsArguments",
"properties": {
"count": {
"anyOf": [
{
"type": "integer",
"maximum": 30,
"minimum": 1
},
{
"type": "null"
}
],
"title": "Count",
"default": null,
"description": "Number of items to return (max 30)."
},
"cursor": {
"anyOf": [
{
"type": "string",
"maxLength": 4096
},
{
"type": "null"
}
],
"title": "Cursor",
"default": null,
"description": "Pagination cursor from a previous response."
},
"user_id": {
"anyOf": [
{
"type": "string",
"maxLength": 128
},
{
"type": "null"
}
],
"title": "User Id",
"default": null,
"description": "TikTok numeric user id."
},
"unique_id": {
"anyOf": [
{
"type": "string",
"maxLength": 128
},
{
"type": "null"
}
],
"title": "Unique Id",
"default": null,
"description": "TikTok unique id (username)."
}
}
}List videos posted by a TikTok user. Provide either user_id or unique_id, not both. Set latest to true for newest posts or false for top posts. Pass cursor from a previous response to fetch the next page. Cost = 3 tokens.
| Argument | Type | Description |
|---|---|---|
| count | any | Number of items to return (max 30). |
| cursor | any | Pagination cursor from a previous response. |
| latest | any | When true, return latest videos. When false, return top videos. |
| user_id | any | TikTok numeric user id. |
| unique_id | any | TikTok unique id (username). |
{
"type": "object",
"title": "get_tiktok_user_videosArguments",
"properties": {
"count": {
"anyOf": [
{
"type": "integer",
"maximum": 30,
"minimum": 1
},
{
"type": "null"
}
],
"title": "Count",
"default": null,
"description": "Number of items to return (max 30)."
},
"cursor": {
"anyOf": [
{
"type": "string",
"maxLength": 4096
},
{
"type": "null"
}
],
"title": "Cursor",
"default": null,
"description": "Pagination cursor from a previous response."
},
"latest": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Latest",
"default": true,
"description": "When true, return latest videos. When false, return top videos."
},
"user_id": {
"anyOf": [
{
"type": "string",
"maxLength": 128
},
{
"type": "null"
}
],
"title": "User Id",
"default": null,
"description": "TikTok numeric user id."
},
"unique_id": {
"anyOf": [
{
"type": "string",
"maxLength": 128
},
{
"type": "null"
}
],
"title": "Unique Id",
"default": null,
"description": "TikTok unique id (username)."
}
}
}List comments on a TikTok video. Provide either video_id or video_url, not both. Pass cursor from a previous response to fetch the next page. Cost = 2 tokens.
| Argument | Type | Description |
|---|---|---|
| count | any | Number of comments to return (max 50). |
| cursor | any | Pagination cursor from a previous response. |
| video_id | any | TikTok video id. |
| video_url | any | TikTok video URL. |
{
"type": "object",
"title": "get_tiktok_video_commentsArguments",
"properties": {
"count": {
"anyOf": [
{
"type": "integer",
"maximum": 50,
"minimum": 1
},
{
"type": "null"
}
],
"title": "Count",
"default": null,
"description": "Number of comments to return (max 50)."
},
"cursor": {
"anyOf": [
{
"type": "string",
"maxLength": 4096
},
{
"type": "null"
}
],
"title": "Cursor",
"default": null,
"description": "Pagination cursor from a previous response."
},
"video_id": {
"anyOf": [
{
"type": "string",
"maxLength": 32
},
{
"type": "null"
}
],
"title": "Video Id",
"default": null,
"description": "TikTok video id."
},
"video_url": {
"anyOf": [
{
"type": "string",
"maxLength": 2048
},
{
"type": "null"
}
],
"title": "Video Url",
"default": null,
"description": "TikTok video URL."
}
}
}Look up metadata for a TikTok video. Provide either video_id or video_url, not both. Cost = 1 token.
| Argument | Type | Description |
|---|---|---|
| video_id | any | TikTok video id. |
| video_url | any | TikTok video URL. |
{
"type": "object",
"title": "get_tiktok_video_detailsArguments",
"properties": {
"video_id": {
"anyOf": [
{
"type": "string",
"maxLength": 32
},
{
"type": "null"
}
],
"title": "Video Id",
"default": null,
"description": "TikTok video id."
},
"video_url": {
"anyOf": [
{
"type": "string",
"maxLength": 2048
},
{
"type": "null"
}
],
"title": "Video Url",
"default": null,
"description": "TikTok video URL."
}
}
}Capture a screenshot of a public website so the user or agent can inspect its layout, content, and UI. The image is saved to account file storage. The response includes screenshot_url for API users and download_code for agents to run `vee3-get-file`. Cost = 20 tokens.
| Argument | Type | Description |
|---|---|---|
| url* | string | Public http or https URL to capture. Private, localhost, and internal network addresses are blocked. |
| format | string | Output image format. 'png' preserves lossless quality (default). 'jpeg' produces smaller files. |
| quality | integer | JPEG compression quality from 0 (smallest) to 100 (best). Only applies when format is 'jpeg'; ignored for PNG. |
| dark_mode | boolean | When true, emulate prefers-color-scheme: dark so sites with dark-mode CSS render in dark mode. Has no effect on sites without dark-mode styling. |
| file_name | any | Optional account-relative storage path for the screenshot. If omitted, the file is stored under downloads/ with a generated name. |
| full_page | boolean | Capture the full scrollable page. When false, only the viewport area is captured. |
| wait_until | string | When to take the screenshot: 'load' (load event), 'domcontentloaded' (DOM ready, faster; use with post_load_wait to let the page settle), or 'networkidle' (no network activity for 500ms; can time out on pages with ongoing requests). |
List X (Twitter) accounts connected to the authenticated Vee3 account for write capabilities. Returns user_id, user_name, display name, avatar URL, and whether each account is the default. Use user_id or user_name on future write calls, or omit both to use the default account. If accounts is empty, the user must connect an X account at https://vee3.io/dashboard/connections before write capabilities work. Agents cannot complete OAuth; ask the user to connect, then call this tool again. Cost = 0 tokens.
No arguments.
{
"type": "object",
"title": "get_x_connected_accountsArguments",
"properties": {}
}Bookmark a post for a connected X account. Call x-twitter.connected_accounts first. Pass user_id or user_name to target a specific account, or omit both to use the default account. Cost = 30 tokens.
| Argument | Type | Description |
|---|---|---|
| post_id* | string | Numeric id of the post to bookmark. |
| user_id | any | Numeric X user id from x-twitter.connected_accounts. Pass user_id or user_name to target a specific account, not both. Omit both to use the default account. |
| user_name | any | X handle from x-twitter.connected_accounts, with or without a leading @. Pass user_id or user_name to target a specific account, not both. Omit both to use the default account. |
{
"type": "object",
"title": "create_x_bookmarkArguments",
"required": [
"post_id"
],
"properties": {
"post_id": {
"type": "string",
"title": "Post Id",
"description": "Numeric id of the post to bookmark."
},
"user_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "User Id",
"default": null,
"description": "Numeric X user id from x-twitter.connected_accounts. Pass user_id or user_name to target a specific account, not both. Omit both to use the default account."
},
"user_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "User Name",
"default": null,
"description": "X handle from x-twitter.connected_accounts, with or without a leading @. Pass user_id or user_name to target a specific account, not both. Omit both to use the default account."
}
}
}Publish a post to a connected X account via the official X API (POST /2/tweets). Call x-twitter.connected_accounts first. If accounts is empty, the user must connect an X account at https://vee3.io/dashboard/connections before posting. Agents cannot complete OAuth; ask the user to connect, then call x-twitter.connected_accounts again. Pass user_id or user_name to target a specific account, not both. Omit both to use the default connected account. At least one of text, poll, media, or card_uri is required. Supports text, polls, media attachments, reply settings, paid partnership disclosure, AI-generated labels, super-follower exclusivity, nullcast posts, cards, communities, and direct-message deep links. To attach media, upload files with files.upload_file and the @vee3/upload CLI, then pass file_name values returned by files.list_uploaded_files in the media array (up to 4 files). Only files listed by list_uploaded_files can be attached. poll, media, and card_uri are mutually exclusive in the X API. Token pricing: 60 tokens base for text posts. Posts whose text includes a URL are billed 1000 tokens base instead. Attaching only media (an image or video) without a URL in the text does not trigger the URL rate. Each attached image adds 50 tokens. Each attached video adds 150 tokens plus 50 tokens per 5 MB of video size. X rate limit: 100 POST /2/tweets requests per connected user per 15 minutes. Wait and retry if posting is temporarily blocked. If X authorization fails, reconnect the account in the Vee3 dashboard. Read the error message when X rejects a post and adjust the request.
| Argument | Type | Description |
|---|---|---|
| poll | any | Poll object with options (2-4 strings) and duration_minutes (5-10080). |
| text | any | Post text content. At least one of text, poll, media, or card_uri is required. |
| media | array | File names from files.list_uploaded_files to attach (up to 4). Upload with files.upload_file and @vee3/upload first, then list_uploaded_files to get the stored file_name values. |
Remove a bookmarked post for a connected X account. Call x-twitter.connected_accounts first. Pass user_id or user_name to target a specific account, or omit both to use the default account. Cost = 30 tokens.
| Argument | Type | Description |
|---|---|---|
| post_id* | string | Numeric id of the bookmarked post to remove. |
| user_id | any | Numeric X user id from x-twitter.connected_accounts. Pass user_id or user_name to target a specific account, not both. Omit both to use the default account. |
| user_name | any | X handle from x-twitter.connected_accounts, with or without a leading @. Pass user_id or user_name to target a specific account, not both. Omit both to use the default account. |
{
"type": "object",
"title": "delete_x_bookmarkArguments",
"required": [
"post_id"
],
"properties": {
"post_id": {
"type": "string",
"title": "Post Id",
"description": "Numeric id of the bookmarked post to remove."
},
"user_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "User Id",
"default": null,
"description": "Numeric X user id from x-twitter.connected_accounts. Pass user_id or user_name to target a specific account, not both. Omit both to use the default account."
},
"user_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "User Name",
"default": null,
"description": "X handle from x-twitter.connected_accounts, with or without a leading @. Pass user_id or user_name to target a specific account, not both. Omit both to use the default account."
}
}
}Delete a post published by a connected X account. Call x-twitter.connected_accounts first. Pass user_id or user_name to target a specific account, or omit both to use the default account. Cost = 25 tokens.
| Argument | Type | Description |
|---|---|---|
| post_id* | string | Numeric id of the post to delete. |
| user_id | any | Numeric X user id from x-twitter.connected_accounts. Pass user_id or user_name to target a specific account, not both. Omit both to use the default account. |
| user_name | any | X handle from x-twitter.connected_accounts, with or without a leading @. Pass user_id or user_name to target a specific account, not both. Omit both to use the default account. |
{
"type": "object",
"title": "delete_x_postArguments",
"required": [
"post_id"
],
"properties": {
"post_id": {
"type": "string",
"title": "Post Id",
"description": "Numeric id of the post to delete."
},
"user_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "User Id",
"default": null,
"description": "Numeric X user id from x-twitter.connected_accounts. Pass user_id or user_name to target a specific account, not both. Omit both to use the default account."
},
"user_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "User Name",
"default": null,
"description": "X handle from x-twitter.connected_accounts, with or without a leading @. Pass user_id or user_name to target a specific account, not both. Omit both to use the default account."
}
}
}Edit a recent post from a connected X account. Call x-twitter.connected_accounts first. Pass user_id or user_name to target a specific account, or omit both to use the default account. Requires post_id and at least one of text, media, paid_partnership, or made_with_ai. Edits must be within X's one-hour window after posting. The authenticated X account may need X Premium for API edits. Posts with polls and some other types cannot be edited. Each edit returns a new post_id. To attach media, upload files with files.upload_file and pass file_name values from files.list_uploaded_files. Token pricing matches x-twitter.create_post: 60 tokens base, 1000 with URL, plus media surcharges.
| Argument | Type | Description |
|---|---|---|
| text | any | Updated post text. |
| media | array | File names from files.list_uploaded_files to attach (up to 4). Upload with files.upload_file first. |
| post_id* | string | Numeric id of the post to edit. |
| user_id | any | Numeric X user id from x-twitter.connected_accounts. Pass user_id or user_name to target a specific account, not both. Omit both to use the default account. |
| user_name | any | X handle from x-twitter.connected_accounts, with or without a leading @. Pass user_id or user_name to target a specific account, not both. Omit both to use the default account. |
| made_with_ai | any | Whether the post contains AI-generated media. |
Fetch bookmarked posts for a connected X account. Call x-twitter.connected_accounts first. Pass user_id or user_name to target a specific account, or omit both to use the default account. Returns raw X API data with tweet objects, expanded authors, media, polls, and places. Use next_cursor to fetch the next page. Cost = 25 tokens.
| Argument | Type | Description |
|---|---|---|
| limit | any | Maximum number of bookmarks to return (default 20, max 100). |
| cursor | any | Pagination cursor from a previous response next_cursor field. |
| user_id | any | Numeric X user id from x-twitter.connected_accounts. Pass user_id or user_name to target a specific account, not both. Omit both to use the default account. |
| user_name | any | X handle from x-twitter.connected_accounts, with or without a leading @. Pass user_id or user_name to target a specific account, not both. Omit both to use the default account. |
{
"type": "object",
"title": "get_x_bookmarksArguments",
"properties": {
"limit": {
"anyOf": [
{
"type": "integer",
"maximum": 100,
"minimum": 1
},
{
"type": "null"
}
],
"title": "Limit",
"default": null,
"description": "Maximum number of bookmarks to return (default 20, max 100)."
},
"cursor": {
"anyOf": [
{
"type": "string",
"maxLength": 4096
},
{
"type": "null"
}
],
"title": "Cursor",
"default": null,
"description": "Pagination cursor from a previous response next_cursor field."
},
"user_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "User Id",
"default": null,
"description": "Numeric X user id from x-twitter.connected_accounts. Pass user_id or user_name to target a specific account, not both. Omit both to use the default account."
},
"user_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "User Name",
"default": null,
"description": "X handle from x-twitter.connected_accounts, with or without a leading @. Pass user_id or user_name to target a specific account, not both. Omit both to use the default account."
}
}
}Reply to a post from a connected X account. Call x-twitter.connected_accounts first. Pass user_id or user_name to target a specific account, or omit both to use the default account. Requires reply_to_post_id. Supports the same content options as x-twitter.create_post: text, polls, media, reply settings, paid partnership disclosure, AI-generated labels, super-follower exclusivity, nullcast posts, cards, communities, and direct-message deep links. At least one of text, poll, media, or card_uri is required, same as x-twitter.create_post. Token pricing matches x-twitter.create_post.
| Argument | Type | Description |
|---|---|---|
| poll | any | Poll object with options (2-4 strings) and duration_minutes (5-10080). |
| text | any | Reply text content. At least one of text, poll, media, or card_uri is required. |
| media | array | File names from files.list_uploaded_files to attach (up to 4). |
| user_id | any | Numeric X user id from x-twitter.connected_accounts. Pass user_id or user_name to target a specific account, not both. Omit both to use the default account. |
| card_uri | any | Card URI for the post. Mutually exclusive with poll and media. |
| nullcast | any | Whether the post is promoted-only and hidden from the public timeline. |
| user_name | any | X handle from x-twitter.connected_accounts, with or without a leading @. Pass user_id or user_name to target a specific account, not both. Omit both to use the default account. |
Repost a post for a connected X account. Call x-twitter.connected_accounts first. Pass user_id or user_name to target a specific account, or omit both to use the default account. Returns the reposted post_id and retweeted status. Cost = 75 tokens.
| Argument | Type | Description |
|---|---|---|
| post_id* | string | Numeric id of the post to repost. |
| user_id | any | Numeric X user id from x-twitter.connected_accounts. Pass user_id or user_name to target a specific account, not both. Omit both to use the default account. |
| user_name | any | X handle from x-twitter.connected_accounts, with or without a leading @. Pass user_id or user_name to target a specific account, not both. Omit both to use the default account. |
{
"type": "object",
"title": "repost_x_postArguments",
"required": [
"post_id"
],
"properties": {
"post_id": {
"type": "string",
"title": "Post Id",
"description": "Numeric id of the post to repost."
},
"user_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "User Id",
"default": null,
"description": "Numeric X user id from x-twitter.connected_accounts. Pass user_id or user_name to target a specific account, not both. Omit both to use the default account."
},
"user_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "User Name",
"default": null,
"description": "X handle from x-twitter.connected_accounts, with or without a leading @. Pass user_id or user_name to target a specific account, not both. Omit both to use the default account."
}
}
}Search public X (Twitter) posts matching a keyword or phrase. Returns a timeline of matching posts with tweet text, engagement counts, author info, media, and quoted tweets. Use cursor from next_cursor to fetch the next page. search_type controls ranking: Top (default), Latest, Media, People, or Lists. Cost = 5 tokens.
| Argument | Type | Description |
|---|---|---|
| query* | string | Search keywords or phrase. |
| cursor | any | Pagination cursor from a previous response next_cursor field. |
| search_type | string | Result ranking mode. |
{
"type": "object",
"title": "search_xArguments",
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"title": "Query",
"maxLength": 512,
"description": "Search keywords or phrase."
},
"cursor": {
"anyOf": [
{
"type": "string",
"maxLength": 4096
},
{
"type": "null"
}
],
"title": "Cursor",
"default": null,
"description": "Pagination cursor from a previous response next_cursor field."
},
"search_type": {
"enum": [
"Top",
"Latest",
"Media",
"People",
"Lists"
],
"type": "string",
"title": "Search Type",
"default": "Top",
"description": "Result ranking mode."
}
}
}Fetch metadata for a single public X (Twitter) post by its numeric tweet id. Returns tweet text, engagement counts (likes, retweets, replies, quotes, bookmarks), language, conversation id, author profile summary, and attached media when present. Cost = 2 tokens.
| Argument | Type | Description |
|---|---|---|
| id* | string | Numeric tweet id. |
{
"type": "object",
"title": "get_x_tweet_infoArguments",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"title": "Id",
"maxLength": 32,
"description": "Numeric tweet id."
}
}
}Fetch the latest replies for a single X (Twitter) post by its numeric tweet id. Returns a timeline of reply tweets with text, engagement counts, author info, media, and in-reply-to metadata. Use cursor from next_cursor to fetch the next page. Cost = 4 tokens.
| Argument | Type | Description |
|---|---|---|
| id* | string | Numeric tweet id. |
| cursor | any | Pagination cursor from a previous response next_cursor field. |
{
"type": "object",
"title": "get_x_tweet_repliesArguments",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"title": "Id",
"maxLength": 32,
"description": "Numeric tweet id."
},
"cursor": {
"anyOf": [
{
"type": "string",
"maxLength": 4096
},
{
"type": "null"
}
],
"title": "Cursor",
"default": null,
"description": "Pagination cursor from a previous response next_cursor field."
}
}
}Remove a repost for a connected X account. Call x-twitter.connected_accounts first. Pass user_id or user_name to target a specific account, or omit both to use the default account. Cost = 50 tokens.
| Argument | Type | Description |
|---|---|---|
| post_id* | string | Numeric id of the original post to unrepost. |
| user_id | any | Numeric X user id from x-twitter.connected_accounts. Pass user_id or user_name to target a specific account, not both. Omit both to use the default account. |
| user_name | any | X handle from x-twitter.connected_accounts, with or without a leading @. Pass user_id or user_name to target a specific account, not both. Omit both to use the default account. |
{
"type": "object",
"title": "unrepost_x_postArguments",
"required": [
"post_id"
],
"properties": {
"post_id": {
"type": "string",
"title": "Post Id",
"description": "Numeric id of the original post to unrepost."
},
"user_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "User Id",
"default": null,
"description": "Numeric X user id from x-twitter.connected_accounts. Pass user_id or user_name to target a specific account, not both. Omit both to use the default account."
},
"user_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "User Name",
"default": null,
"description": "X handle from x-twitter.connected_accounts, with or without a leading @. Pass user_id or user_name to target a specific account, not both. Omit both to use the default account."
}
}
}Fetch public profile metadata for an X (Twitter) user. Provide user_name (handle without @) or rest_id (numeric user id). At least one is required. When rest_id is set, it takes precedence over user_name. Returns display name, bio, follower counts, verification flags, avatar URLs, and related profile fields. Cost = 2 tokens.
| Argument | Type | Description |
|---|---|---|
| rest_id | any | Numeric X user id (rest_id). When provided, user_name is ignored. |
| user_name | any | X handle without the leading @ (for example elonmusk). Required when rest_id is omitted. |
{
"type": "object",
"title": "get_x_user_infoArguments",
"properties": {
"rest_id": {
"anyOf": [
{
"type": "string",
"maxLength": 32
},
{
"type": "null"
}
],
"title": "Rest Id",
"default": null,
"description": "Numeric X user id (rest_id). When provided, user_name is ignored."
},
"user_name": {
"anyOf": [
{
"type": "string",
"maxLength": 50
},
{
"type": "null"
}
],
"title": "User Name",
"default": null,
"description": "X handle without the leading @ (for example elonmusk). Required when rest_id is omitted."
}
}
}Fetch a user's recent X (Twitter) posts, pinned tweet, and profile summary. Provide user_name (handle without @) or rest_id (numeric user id). At least one is required. When rest_id is set, it takes precedence over user_name. Returns timeline entries with tweet text, engagement counts, media, quoted tweets, and author info. Use cursor from next_cursor to fetch the next page. Cost = 4 tokens.
| Argument | Type | Description |
|---|---|---|
| cursor | any | Pagination cursor from a previous response next_cursor field. |
| rest_id | any | Numeric X user id (rest_id). When provided, user_name is ignored. |
| user_name | any | X handle without the leading @ (for example elonmusk). Required when rest_id is omitted. |
{
"type": "object",
"title": "get_x_user_timelineArguments",
"properties": {
"cursor": {
"anyOf": [
{
"type": "string",
"maxLength": 4096
},
{
"type": "null"
}
],
"title": "Cursor",
"default": null,
"description": "Pagination cursor from a previous response next_cursor field."
},
"rest_id": {
"anyOf": [
{
"type": "string",
"maxLength": 32
},
{
"type": "null"
}
],
"title": "Rest Id",
"default": null,
"description": "Numeric X user id (rest_id). When provided, user_name is ignored."
},
"user_name": {
"anyOf": [
{
"type": "string",
"maxLength": 50
},
{
"type": "null"
}
],
"title": "User Name",
"default": null,
"description": "X handle without the leading @ (for example elonmusk). Required when rest_id is omitted."
}
}
}Fetch metadata for a public YouTube channel by channel id or URL. Accepts a channel id (for example UCJ5v_MCY6GNUBTO8-D3XoAg) or common YouTube channel URLs (for example https://www.youtube.com/@WWE). Returns title, username, description, subscriber and view counts, join date, verification flags, avatar and banner images, keywords, and external links. Cost = 10 tokens.
| Argument | Type | Description |
|---|---|---|
| channel_id* | string | YouTube channel id or URL (for example UCJ5v_MCY6GNUBTO8-D3XoAg or https://www.youtube.com/@WWE). |
{
"type": "object",
"title": "get_youtube_channel_detailsArguments",
"required": [
"channel_id"
],
"properties": {
"channel_id": {
"type": "string",
"title": "Channel Id",
"maxLength": 2048,
"description": "YouTube channel id or URL (for example UCJ5v_MCY6GNUBTO8-D3XoAg or https://www.youtube.com/@WWE)."
}
}
}Search public videos on a YouTube channel by keyword or phrase. Accepts a bare channel id (for example UCJ5v_MCY6GNUBTO8-D3XoAg), not a URL. Returns matching video entries and cursorNext for pagination. Use cursorNext from a prior response as cursor for the next page. Cost = 10 tokens.
| Argument | Type | Description |
|---|---|---|
| query* | string | Search keywords or phrase within the channel. |
| cursor | any | Pagination cursor from cursorNext. |
| channel_id* | string | YouTube channel id (for example UCJ5v_MCY6GNUBTO8-D3XoAg, not a URL). |
{
"type": "object",
"title": "search_youtube_channelArguments",
"required": [
"channel_id",
"query"
],
"properties": {
"query": {
"type": "string",
"title": "Query",
"maxLength": 512,
"description": "Search keywords or phrase within the channel."
},
"cursor": {
"anyOf": [
{
"type": "string",
"maxLength": 4096
},
{
"type": "null"
}
],
"title": "Cursor",
"default": null,
"description": "Pagination cursor from cursorNext."
},
"channel_id": {
"type": "string",
"title": "Channel Id",
"maxLength": 24,
"description": "YouTube channel id (for example UCJ5v_MCY6GNUBTO8-D3XoAg, not a URL)."
}
}
}Fetch a paginated list of videos from a public YouTube channel by its channel id. Accepts a channel id (for example UCg6gPGh8HU2U01vaFCAsvmQ) or common YouTube channel URLs (for example https://www.youtube.com/@ChrisTitusTech). Use cursor from a prior response for the next page. Cost = 10 tokens.
| Argument | Type | Description |
|---|---|---|
| cursor | any | Pagination cursor from a previous response cursor field. |
| channel_id* | string | YouTube channel id or URL (for example UCg6gPGh8HU2U01vaFCAsvmQ or https://www.youtube.com/@ChrisTitusTech). |
{
"type": "object",
"title": "get_youtube_channel_videosArguments",
"required": [
"channel_id"
],
"properties": {
"cursor": {
"anyOf": [
{
"type": "string",
"maxLength": 4096
},
{
"type": "null"
}
],
"title": "Cursor",
"default": null,
"description": "Pagination cursor from a previous response cursor field."
},
"channel_id": {
"type": "string",
"title": "Channel Id",
"maxLength": 2048,
"description": "YouTube channel id or URL (for example UCg6gPGh8HU2U01vaFCAsvmQ or https://www.youtube.com/@ChrisTitusTech)."
}
}
}Fetch metadata for a public YouTube playlist by playlist id. Returns title, description, creator summary, video and view counts, thumbnails, badges, and last updated timestamps. Cost = 10 tokens.
| Argument | Type | Description |
|---|---|---|
| playlist_id* | string | YouTube playlist id (for example PLcirGkCPmbmFeQ1sm4wFciF03D_EroIfr). |
{
"type": "object",
"title": "get_youtube_playlist_detailsArguments",
"required": [
"playlist_id"
],
"properties": {
"playlist_id": {
"type": "string",
"title": "Playlist Id",
"maxLength": 512,
"description": "YouTube playlist id (for example PLcirGkCPmbmFeQ1sm4wFciF03D_EroIfr)."
}
}
}Search public YouTube content by keyword or phrase. Returns matching result cards, estimated result count, and spelling suggestions. Use filter parameters to apply multiple YouTube search filters: - upload_date: Last hour, Today, This week, This month, This year - content_type: Video, Channel, Playlist, Movie - duration: Under 4 minutes, 4 - 20 minutes, Over 20 minutes - features: Live, 4K, HD, Subtitles/CC, Creative Commons, 360°, VR180, 3D, HDR, Location, Purchased (multiple allowed) - sort_by: Relevance, Upload date, View count, Rating Filter values are matched case-insensitively. Only one option per group applies except features, which accepts multiple labels. When a requested filter cannot be applied, the API returns the best-effort results available so far and includes unappliedFilters with the labels that were skipped. Use cursor with the same query to paginate: pass cursorNext from a prior response. Filter parameters and cursor cannot be combined. Check didYouMean when the query may be misspelled. Cost = 20 tokens.
| Argument | Type | Description |
|---|---|---|
| query* | string | Search keywords or phrase. |
| cursor | any | Pagination cursor from cursorNext. |
| sort_by | any | Sort order. One of: Relevance, Upload date, View count, Rating. |
| duration | any | Duration filter. One of: Under 4 minutes, 4 - 20 minutes, Over 20 minutes. |
| features | any | Feature filters. Multiple allowed. Each value must be one of: Live, 4K, HD, Subtitles/CC, Creative Commons, 360°, VR180, 3D, HDR, Location, Purchased. |
Get YouTube search autocomplete suggestions for a partial query. Returns the normalized query and an array of suggested search phrases. Optional language and location codes localize suggestions (defaults: en, US). Cost = 8 tokens.
| Argument | Type | Description |
|---|---|---|
| query* | string | Partial search keywords or phrase. |
| language | string | Language code for localized suggestions (for example en). |
| location | string | Country code for localized suggestions (for example US). |
{
"type": "object",
"title": "get_youtube_search_autocompleteArguments",
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"title": "Query",
"maxLength": 512,
"description": "Partial search keywords or phrase."
},
"language": {
"type": "string",
"title": "Language",
"default": "en",
"maxLength": 10,
"description": "Language code for localized suggestions (for example en)."
},
"location": {
"type": "string",
"title": "Location",
"default": "US",
"maxLength": 10,
"description": "Country code for localized suggestions (for example US)."
}
}
}Fetch top-level comments for a public YouTube video by its 11-character video id. Returns comment text, author summary, vote and reply counts, pinned status, total comment count, and cursorNext for the next page. Use sort_by to choose comment order: - sort_by: Top comments, Newest first Sort values are matched case-insensitively. Use cursor with the same video_id to paginate: pass cursorNext from a prior response. sort_by and cursor cannot be combined. Cost = 15 tokens.
| Argument | Type | Description |
|---|---|---|
| cursor | any | Pagination cursor from a previous response cursorNext field. |
| sort_by | any | Comment sort order. One of: Top comments, Newest first. |
| video_id* | string | YouTube video id (11 characters, not a URL). |
{
"type": "object",
"title": "get_youtube_video_commentsArguments",
"required": [
"video_id"
],
"properties": {
"cursor": {
"anyOf": [
{
"type": "string",
"maxLength": 4096
},
{
"type": "null"
}
],
"title": "Cursor",
"default": null,
"description": "Pagination cursor from a previous response cursorNext field."
},
"sort_by": {
"anyOf": [
{
"type": "string",
"maxLength": 128
},
{
"type": "null"
}
],
"title": "Sort By",
"default": null,
"description": "Comment sort order. One of: Top comments, Newest first."
},
"video_id": {
"type": "string",
"title": "Video Id",
"maxLength": 11,
"description": "YouTube video id (11 characters, not a URL)."
}
}
}Fetch metadata for a public YouTube video by video id or URL. Accepts a bare 11-character video id (for example PuQFESk0BrA) or common YouTube watch, youtu.be, Shorts, and embed URLs. Returns title, description, view count, duration, publish date, channel id, category, keywords, and thumbnails. Cost = 10 tokens.
| Argument | Type | Description |
|---|---|---|
| video_id* | string | YouTube video id or URL (for example PuQFESk0BrA, https://youtu.be/PuQFESk0BrA, or https://www.youtube.com/watch?v=PuQFESk0BrA). |
{
"type": "object",
"title": "get_youtube_video_detailsArguments",
"required": [
"video_id"
],
"properties": {
"video_id": {
"type": "string",
"title": "Video Id",
"maxLength": 2048,
"description": "YouTube video id or URL (for example PuQFESk0BrA, https://youtu.be/PuQFESk0BrA, or https://www.youtube.com/watch?v=PuQFESk0BrA)."
}
}
}| seconds_until_expiration |
| any |
| Seconds from creation until the API key expires. |
{
"type": "object",
"title": "create_clerk_api_keyArguments",
"required": [
"name",
"subject"
],
"properties": {
"name": {
"type": "string",
"title": "Name",
"description": "Human-readable name for the new API key."
},
"claims": {
"anyOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "null"
}
],
"title": "Claims",
"default": null,
"description": "Custom claims to embed in tokens minted from this API key."
},
"scopes": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Scopes",
"default": null,
"description": "Permission scopes to grant the API key."
},
"subject": {
"type": "string",
"title": "Subject",
"description": "Subject the API key is scoped to (user_... or org_...)."
},
"key_type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Key Type",
"default": null,
"description": "API key type (typically \"api_key\")."
},
"created_by": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Created By",
"default": null,
"description": "User id to record as the creator of this API key."
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description",
"default": null,
"description": "Optional description for the API key."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
},
"seconds_until_expiration": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Seconds Until Expiration",
"default": null,
"description": "Seconds from creation until the API key expires."
}
}
}| custom_attributes |
| any |
| Custom attribute mappings from the IdP to user metadata. |
| sync_user_attributes | any | Whether to sync user attributes on each sign-in. |
| allow_organization_account_linking | any | Whether account linking via organization membership is allowed. |
| disable_additional_identifications | any | Whether to block additional identifications for this connection. |
{
"type": "object",
"title": "create_clerk_enterprise_connectionArguments",
"required": [
"name",
"provider",
"domains"
],
"properties": {
"name": {
"type": "string",
"title": "Name",
"description": "Display name for the enterprise connection."
},
"oidc": {
"anyOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "null"
}
],
"title": "Oidc",
"default": null,
"description": "OIDC client configuration when provider uses OAuth."
},
"saml": {
"anyOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "null"
}
],
"title": "Saml",
"default": null,
"description": "SAML IdP configuration when provider uses SAML."
},
"active": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Active",
"default": null,
"description": "Whether the connection is active."
},
"domains": {
"type": "array",
"items": {
"type": "string"
},
"title": "Domains",
"description": "Email domains that may use this connection."
},
"provider": {
"type": "string",
"title": "Provider",
"description": "Identity provider key (for example saml_custom or oidc_custom)."
},
"organization_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Organization Id",
"default": null,
"description": "Clerk organization id (org_...) to link to this connection."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
},
"custom_attributes": {
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
}
},
{
"type": "null"
}
],
"title": "Custom Attributes",
"default": null,
"description": "Custom attribute mappings from the IdP to user metadata."
},
"sync_user_attributes": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Sync User Attributes",
"default": null,
"description": "Whether to sync user attributes on each sign-in."
},
"allow_organization_account_linking": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Allow Organization Account Linking",
"default": null,
"description": "Whether account linking via organization membership is allowed."
},
"disable_additional_identifications": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Disable Additional Identifications",
"default": null,
"description": "Whether to block additional identifications for this connection."
}
}
}{
"type": "object",
"title": "create_clerk_jwt_templateArguments",
"required": [
"name",
"claims"
],
"properties": {
"name": {
"type": "string",
"title": "Name",
"description": "Unique JWT template name."
},
"claims": {
"type": "object",
"title": "Claims",
"description": "JWT claims template as a JSON object.",
"additionalProperties": true
},
"lifetime": {
"anyOf": [
{
"type": "integer",
"maximum": 315360000,
"minimum": 30
},
{
"type": "null"
}
],
"title": "Lifetime",
"default": null,
"description": "Token lifetime in seconds (30–315360000)."
},
"signing_key": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Signing Key",
"default": null,
"description": "Custom signing private key (required when custom_signing_key is true)."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
},
"signing_algorithm": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Signing Algorithm",
"default": null,
"description": "Custom signing algorithm (required when custom_signing_key is true)."
},
"allowed_clock_skew": {
"anyOf": [
{
"type": "integer",
"maximum": 300,
"minimum": 0
},
{
"type": "null"
}
],
"title": "Allowed Clock Skew",
"default": null,
"description": "Allowed clock skew in seconds (0–300)."
},
"custom_signing_key": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Custom Signing Key",
"default": null,
"description": "Whether to use a custom signing key and algorithm."
}
}
}{
"type": "object",
"title": "list_clerk_organization_domainsArguments",
"properties": {
"limit": {
"type": "integer",
"title": "Limit",
"default": 10,
"maximum": 500,
"minimum": 1,
"description": "Maximum number of results to return (1–500)."
},
"query": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Query",
"default": null,
"description": "Search domains by name or organization id. Values starting with org_ match organization id exactly; otherwise performs a case-insensitive partial match on the domain name."
},
"offset": {
"type": "integer",
"title": "Offset",
"default": 0,
"minimum": 0,
"description": "Number of results to skip before returning."
},
"verified": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Verified",
"default": null,
"description": "Filter by verification status: \"true\" or \"false\"."
},
"enrollment_mode": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Enrollment Mode",
"default": null,
"description": "Filter or set enrollment mode: manual_invitation, automatic_invitation, or automatic_suggestion."
},
"organization_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Organization Id",
"default": null,
"description": "Filter domains to a specific Clerk organization id (org_...)."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
}
}
}| any |
| Updated custom attribute mappings. |
| sync_user_attributes | any | Whether to sync user attributes on each sign-in. |
| allow_organization_account_linking | any | Whether account linking via organization membership is allowed. |
| disable_additional_identifications | any | Whether to block additional identifications for this connection. |
{
"type": "object",
"title": "update_clerk_enterprise_connectionArguments",
"required": [
"connection_id"
],
"properties": {
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Name",
"default": null,
"description": "Updated display name for the connection."
},
"oidc": {
"anyOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "null"
}
],
"title": "Oidc",
"default": null,
"description": "Updated OIDC client configuration."
},
"saml": {
"anyOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "null"
}
],
"title": "Saml",
"default": null,
"description": "Updated SAML IdP configuration."
},
"active": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Active",
"default": null,
"description": "Whether the connection is active."
},
"domains": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Domains",
"default": null,
"description": "Updated domain list (replaces existing domains when provided)."
},
"connection_id": {
"type": "string",
"title": "Connection Id",
"description": "Clerk enterprise connection id (entc_...) to retrieve, update, delete, or test."
},
"organization_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Organization Id",
"default": null,
"description": "Clerk organization id (org_...) to link to this connection."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
},
"custom_attributes": {
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
}
},
{
"type": "null"
}
],
"title": "Custom Attributes",
"default": null,
"description": "Updated custom attribute mappings."
},
"sync_user_attributes": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Sync User Attributes",
"default": null,
"description": "Whether to sync user attributes on each sign-in."
},
"allow_organization_account_linking": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Allow Organization Account Linking",
"default": null,
"description": "Whether account linking via organization membership is allowed."
},
"disable_additional_identifications": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Disable Additional Identifications",
"default": null,
"description": "Whether to block additional identifications for this connection."
}
}
}| domains_enrollment_modes | any | Allowed organization domain enrollment modes: manual_invitation, automatic_invitation, or automatic_suggestion. |
{
"type": "object",
"title": "update_clerk_instance_organization_settingsArguments",
"properties": {
"enabled": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Enabled",
"default": null,
"description": "Whether organizations should be enabled for the instance."
},
"creator_role": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Creator Role",
"default": null,
"description": "Default role assigned to the organization creator."
},
"domains_enabled": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Domains Enabled",
"default": null,
"description": "Whether organization domains should be enabled."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
},
"admin_delete_enabled": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Admin Delete Enabled",
"default": null,
"description": "Whether organization admins can delete their organization."
},
"domains_default_role": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Domains Default Role",
"default": null,
"description": "Default role for members who join via a verified organization domain."
},
"initial_role_set_key": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Initial Role Set Key",
"default": null,
"description": "Initial role set key applied to new organizations."
},
"max_allowed_memberships": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Max Allowed Memberships",
"default": null,
"description": "Maximum organization memberships allowed per user."
},
"domains_enrollment_modes": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Domains Enrollment Modes",
"default": null,
"description": "Allowed organization domain enrollment modes: manual_invitation, automatic_invitation, or automatic_suggestion."
}
}
}| preferred_sign_in_strategy_when_password_required |
| any |
| Preferred sign-in strategy when a password is required: "password" or "otp". |
{
"type": "object",
"title": "update_clerk_instance_settingsArguments",
"properties": {
"hibp": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Hibp",
"default": null,
"description": "Whether Have I Been Pwned password checking should be enabled."
},
"test_mode": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Test Mode",
"default": null,
"description": "Whether the instance should run in test mode."
},
"support_email": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Support Email",
"default": null,
"description": "Support email address shown to end users."
},
"allowed_origins": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Allowed Origins",
"default": null,
"description": "Allowed browser origins for the instance."
},
"clerk_js_version": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Js Version",
"default": null,
"description": "Pinned Clerk.js version for the instance."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
},
"development_origin": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Development Origin",
"default": null,
"description": "Development origin URL for local testing."
},
"url_based_session_syncing": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Url Based Session Syncing",
"default": null,
"description": "Whether URL-based session syncing should be enabled."
},
"preferred_sign_in_strategy_when_password_required": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Preferred Sign In Strategy When Password Required",
"default": null,
"description": "Preferred sign-in strategy when a password is required: \"password\" or \"otp\"."
}
}
}| any |
| Optional flag to enable or disable a custom signing key. |
{
"type": "object",
"title": "update_clerk_jwt_templateArguments",
"required": [
"template_id"
],
"properties": {
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Name",
"default": null,
"description": "Optional new unique template name."
},
"claims": {
"anyOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "null"
}
],
"title": "Claims",
"default": null,
"description": "Optional new JWT claims template as a JSON object."
},
"lifetime": {
"anyOf": [
{
"type": "integer",
"maximum": 315360000,
"minimum": 30
},
{
"type": "null"
}
],
"title": "Lifetime",
"default": null,
"description": "Optional new token lifetime in seconds (30–315360000)."
},
"signing_key": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Signing Key",
"default": null,
"description": "Optional custom signing private key."
},
"template_id": {
"type": "string",
"title": "Template Id",
"description": "Clerk JWT template id (jtmp_...) to retrieve, update, or delete."
},
"clerk_instance_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clerk Instance Id",
"default": null,
"description": "Clerk instance id (ins_...) from clerk.get_connected_accounts. Omit to use the default connected account."
},
"signing_algorithm": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Signing Algorithm",
"default": null,
"description": "Optional custom signing algorithm."
},
"allowed_clock_skew": {
"anyOf": [
{
"type": "integer",
"maximum": 300,
"minimum": 0
},
{
"type": "null"
}
],
"title": "Allowed Clock Skew",
"default": null,
"description": "Optional new allowed clock skew in seconds (0–300)."
},
"custom_signing_key": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Custom Signing Key",
"default": null,
"description": "Optional flag to enable or disable a custom signing key."
}
}
}| any |
| What to do when a stored file already uses the same name. 'stop' (default) fails on the first duplicate. 'continue' skips duplicates and keeps uploading remaining files. 'replace' overwrites duplicated stored files. |
| retention_days | any | How many days to keep the file after upload completes. Default 7. Billing uses size and this retention. |
{
"type": "object",
"title": "upload_fileArguments",
"required": [
"file_name"
],
"properties": {
"file_name": {
"type": "string",
"title": "File Name",
"maxLength": 255,
"description": "Desired file name or path for the uploaded file. Use folder/subfolder/.../file_name to organize files in folders. Extension is optional and is replaced based on detected file type. Do not use '..' or absolute paths."
},
"existing_files": {
"anyOf": [
{
"enum": [
"stop",
"continue",
"replace"
],
"type": "string"
},
{
"type": "null"
}
],
"title": "Existing Files",
"default": "stop",
"description": "What to do when a stored file already uses the same name. 'stop' (default) fails on the first duplicate. 'continue' skips duplicates and keeps uploading remaining files. 'replace' overwrites duplicated stored files."
},
"retention_days": {
"anyOf": [
{
"type": "integer",
"maximum": 90,
"minimum": 1
},
{
"type": "null"
}
],
"title": "Retention Days",
"default": 7,
"description": "How many days to keep the file after upload completes. Default 7. Billing uses size and this retention."
}
}
}| open_now | any | When true, return only places open for business at query time. |
| max_price | any | Maximum price level (0–4, inclusive). |
| min_price | any | Minimum price level (0–4, inclusive). |
| place_type | any | Restrict results to a single Google Maps place type (for example restaurant). |
{
"type": "object",
"title": "search_google_maps_nearbyArguments",
"required": [
"location"
],
"properties": {
"cursor": {
"anyOf": [
{
"type": "string",
"maxLength": 4096
},
{
"type": "null"
}
],
"title": "Cursor",
"default": null,
"description": "Pagination cursor from cursor_next on a previous response."
},
"radius": {
"anyOf": [
{
"type": "integer",
"maximum": 50000,
"minimum": 1
},
{
"type": "null"
}
],
"title": "Radius",
"default": null,
"description": "Search radius in meters (default 1000)."
},
"region": {
"anyOf": [
{
"type": "string",
"maxLength": 8
},
{
"type": "null"
}
],
"title": "Region",
"default": null,
"description": "Two-character region code (for example us). On search endpoints this biases results by ccTLD. On place endpoints this selects regional place data."
},
"keyword": {
"anyOf": [
{
"type": "string",
"maxLength": 256
},
{
"type": "null"
}
],
"title": "Keyword",
"default": null,
"description": "Keyword to match nearby places (for example restaurant)."
},
"sort_by": {
"anyOf": [
{
"type": "string",
"maxLength": 32
},
{
"type": "null"
}
],
"title": "Sort By",
"default": null,
"description": "Result ordering: \"Relevance\" (default) or \"Distance\"."
},
"language": {
"anyOf": [
{
"type": "string",
"maxLength": 16
},
{
"type": "null"
}
],
"title": "Language",
"default": null,
"description": "Language code for results (for example en)."
},
"location": {
"type": "string",
"title": "Location",
"maxLength": 64,
"description": "Latitude and longitude of the search point (for example 40,-110)."
},
"open_now": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Open Now",
"default": null,
"description": "When true, return only places open for business at query time."
},
"max_price": {
"anyOf": [
{
"type": "integer",
"maximum": 4,
"minimum": 0
},
{
"type": "null"
}
],
"title": "Max Price",
"default": null,
"description": "Maximum price level (0–4, inclusive)."
},
"min_price": {
"anyOf": [
{
"type": "integer",
"maximum": 4,
"minimum": 0
},
{
"type": "null"
}
],
"title": "Min Price",
"default": null,
"description": "Minimum price level (0–4, inclusive)."
},
"place_type": {
"anyOf": [
{
"type": "string",
"maxLength": 64
},
{
"type": "null"
}
],
"title": "Place Type",
"default": null,
"description": "Restrict results to a single Google Maps place type (for example restaurant)."
}
}
}| max_price | any | Maximum price level (0–4, inclusive). |
| min_price | any | Minimum price level (0–4, inclusive). |
| place_type | any | Restrict results to a single Google Maps place type (for example restaurant). |
{
"type": "object",
"title": "search_google_mapsArguments",
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"title": "Query",
"maxLength": 512,
"description": "Search query for places (for example restaurants in Paris)."
},
"cursor": {
"anyOf": [
{
"type": "string",
"maxLength": 4096
},
{
"type": "null"
}
],
"title": "Cursor",
"default": null,
"description": "Pagination cursor from cursor_next on a previous response."
},
"radius": {
"anyOf": [
{
"type": "integer",
"maximum": 50000,
"minimum": 1
},
{
"type": "null"
}
],
"title": "Radius",
"default": null,
"description": "Search radius in meters (default 1000)."
},
"region": {
"anyOf": [
{
"type": "string",
"maxLength": 8
},
{
"type": "null"
}
],
"title": "Region",
"default": null,
"description": "Two-character region code (for example us). On search endpoints this biases results by ccTLD. On place endpoints this selects regional place data."
},
"language": {
"anyOf": [
{
"type": "string",
"maxLength": 16
},
{
"type": "null"
}
],
"title": "Language",
"default": null,
"description": "Language code for results (for example en)."
},
"location": {
"anyOf": [
{
"type": "string",
"maxLength": 64
},
{
"type": "null"
}
],
"title": "Location",
"default": null,
"description": "Optional latitude and longitude bias point (for example 40,-110). A location embedded in the query may override this."
},
"open_now": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Open Now",
"default": null,
"description": "When true, return only places open for business at query time."
},
"max_price": {
"anyOf": [
{
"type": "integer",
"maximum": 4,
"minimum": 0
},
{
"type": "null"
}
],
"title": "Max Price",
"default": null,
"description": "Maximum price level (0–4, inclusive)."
},
"min_price": {
"anyOf": [
{
"type": "integer",
"maximum": 4,
"minimum": 0
},
{
"type": "null"
}
],
"title": "Min Price",
"default": null,
"description": "Minimum price level (0–4, inclusive)."
},
"place_type": {
"anyOf": [
{
"type": "string",
"maxLength": 64
},
{
"type": "null"
}
],
"title": "Place Type",
"default": null,
"description": "Restrict results to a single Google Maps place type (for example restaurant)."
}
}
}| start_date* |
| string |
| Inclusive range start date in YYYY-MM-DD format. |
| search_type | any | Search type filter. Defaults to web. |
| dimension_filter_groups | any | Optional filter groups matching the Google Search Console Search Analytics API shape. Each group contains filters that restrict which rows are returned. |
{
"type": "object",
"title": "query_google_search_console_search_analyticsArguments",
"required": [
"start_date",
"end_date"
],
"properties": {
"end_date": {
"type": "string",
"title": "End Date",
"description": "Inclusive range end date in YYYY-MM-DD format."
},
"site_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Site Url",
"default": null,
"description": "Optional property URL from google-search-console.list_sites. When omitted, the default property is used. The user or agent passes an exact site_url value from that response."
},
"row_limit": {
"anyOf": [
{
"type": "integer",
"maximum": 25000,
"minimum": 1
},
{
"type": "null"
}
],
"title": "Row Limit",
"default": null,
"description": "Maximum number of rows to return. Defaults to 1000."
},
"start_row": {
"anyOf": [
{
"type": "integer",
"minimum": 0
},
{
"type": "null"
}
],
"title": "Start Row",
"default": null,
"description": "Zero-based row offset for pagination. Defaults to 0."
},
"data_state": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Data State",
"default": null,
"description": "Whether to return only finalized data, all available daily data, or hourly data. Use hourly_all when grouping by hour. Defaults to final."
},
"dimensions": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Dimensions",
"default": null,
"description": "Optional dimension names to group results. Supported values: date, query, page, country, device, searchAppearance, hour. Grouping by hour uses the hourly feed."
},
"start_date": {
"type": "string",
"title": "Start Date",
"description": "Inclusive range start date in YYYY-MM-DD format."
},
"search_type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Search Type",
"default": null,
"description": "Search type filter. Defaults to web."
},
"dimension_filter_groups": {
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
}
},
{
"type": "null"
}
],
"title": "Dimension Filter Groups",
"default": null,
"description": "Optional filter groups matching the Google Search Console Search Analytics API shape. Each group contains filters that restrict which rows are returned."
}
}
}{
"type": "object",
"title": "get_seo_keyword_traffic_insightsArguments",
"required": [
"keyword",
"language"
],
"properties": {
"mode": {
"type": "string",
"title": "Mode",
"default": "all",
"description": "Keyword suggestion filter: exact returns only suggestions that exactly match the seed keyword; all returns all suggestions (default)."
},
"intent": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Intent",
"default": null,
"description": "Filter by search intent: informational, navigational, commercial, or transactional."
},
"keyword": {
"type": "string",
"title": "Keyword",
"maxLength": 512,
"description": "Seed keyword to get traffic insights and suggestions for."
},
"language": {
"type": "string",
"title": "Language",
"maxLength": 16,
"description": "Language code for the search market (for example en)."
},
"location": {
"anyOf": [
{
"type": "string",
"maxLength": 16
},
{
"type": "null"
}
],
"title": "Location",
"default": null,
"description": "Optional country or region code for localized traffic (for example US). Omit for global keyword insights."
},
"min_search_volume": {
"type": "integer",
"title": "Min Search Volume",
"default": 0,
"minimum": 0,
"description": "Minimum monthly search volume; only keywords at or above this threshold are returned."
}
}
}| string |
| Geographic resolution: COUNTRY (default) or REGION. |
{
"type": "object",
"title": "get_google_trends_interest_by_regionArguments",
"required": [
"keywords",
"start"
],
"properties": {
"end": {
"anyOf": [
{
"type": "string",
"maxLength": 64
},
{
"type": "null"
}
],
"title": "End",
"default": null,
"description": "Range end in datetime-with-timezone form. Defaults to now."
},
"gprop": {
"anyOf": [
{
"type": "string",
"maxLength": 64
},
{
"type": "null"
}
],
"title": "Gprop",
"default": null,
"description": "Google property filter (for example images, news, youtube, froogle). Defaults to all."
},
"start": {
"type": "string",
"title": "Start",
"maxLength": 64,
"description": "Range start in datetime-with-timezone form (for example 2020-05-01T00:43:37+0100)."
},
"region": {
"anyOf": [
{
"type": "string",
"maxLength": 128
},
{
"type": "null"
}
],
"title": "Region",
"default": null,
"description": "Region within country. Requires country when set."
},
"country": {
"anyOf": [
{
"type": "string",
"maxLength": 128
},
{
"type": "null"
}
],
"title": "Country",
"default": null,
"description": "Country name for geo filtering. Defaults to global."
},
"category": {
"anyOf": [
{
"type": "string",
"maxLength": 256
},
{
"type": "null"
}
],
"title": "Category",
"default": null,
"description": "Trends category or subcategory. Defaults to all."
},
"keywords": {
"type": "array",
"items": {
"type": "string"
},
"title": "Keywords",
"maxItems": 5,
"minItems": 1,
"description": "Up to five keywords to compare."
},
"resolution": {
"enum": [
"COUNTRY",
"REGION"
],
"type": "string",
"title": "Resolution",
"default": "COUNTRY",
"description": "Geographic resolution: COUNTRY (default) or REGION."
}
}
}{
"type": "object",
"title": "get_google_trends_interest_over_timeArguments",
"required": [
"keywords",
"start"
],
"properties": {
"end": {
"anyOf": [
{
"type": "string",
"maxLength": 64
},
{
"type": "null"
}
],
"title": "End",
"default": null,
"description": "Range end in datetime-with-timezone form. Defaults to now."
},
"gprop": {
"anyOf": [
{
"type": "string",
"maxLength": 64
},
{
"type": "null"
}
],
"title": "Gprop",
"default": null,
"description": "Google property filter (for example images, news, youtube, froogle). Defaults to all."
},
"start": {
"type": "string",
"title": "Start",
"maxLength": 64,
"description": "Range start in datetime-with-timezone form (for example 2020-05-01T00:43:37+0100)."
},
"region": {
"anyOf": [
{
"type": "string",
"maxLength": 128
},
{
"type": "null"
}
],
"title": "Region",
"default": null,
"description": "Region within country. Requires country when set."
},
"country": {
"anyOf": [
{
"type": "string",
"maxLength": 128
},
{
"type": "null"
}
],
"title": "Country",
"default": null,
"description": "Country name for geo filtering. Defaults to global."
},
"category": {
"anyOf": [
{
"type": "string",
"maxLength": 256
},
{
"type": "null"
}
],
"title": "Category",
"default": null,
"description": "Trends category or subcategory. Defaults to all."
},
"keywords": {
"type": "array",
"items": {
"type": "string"
},
"title": "Keywords",
"maxItems": 5,
"minItems": 1,
"description": "Up to five keywords to compare."
}
}
}{
"type": "object",
"title": "get_google_trends_related_queriesArguments",
"required": [
"keywords",
"start"
],
"properties": {
"end": {
"anyOf": [
{
"type": "string",
"maxLength": 64
},
{
"type": "null"
}
],
"title": "End",
"default": null,
"description": "Range end in datetime-with-timezone form. Defaults to now."
},
"gprop": {
"anyOf": [
{
"type": "string",
"maxLength": 64
},
{
"type": "null"
}
],
"title": "Gprop",
"default": null,
"description": "Google property filter (for example images, news, youtube, froogle). Defaults to all."
},
"start": {
"type": "string",
"title": "Start",
"maxLength": 64,
"description": "Range start in datetime-with-timezone form (for example 2020-05-01T00:43:37+0100)."
},
"region": {
"anyOf": [
{
"type": "string",
"maxLength": 128
},
{
"type": "null"
}
],
"title": "Region",
"default": null,
"description": "Region within country. Requires country when set."
},
"country": {
"anyOf": [
{
"type": "string",
"maxLength": 128
},
{
"type": "null"
}
],
"title": "Country",
"default": null,
"description": "Country name for geo filtering. Defaults to global."
},
"category": {
"anyOf": [
{
"type": "string",
"maxLength": 256
},
{
"type": "null"
}
],
"title": "Category",
"default": null,
"description": "Trends category or subcategory. Defaults to all."
},
"keywords": {
"type": "array",
"items": {
"type": "string"
},
"title": "Keywords",
"maxItems": 5,
"minItems": 1,
"description": "Up to five keywords to compare."
}
}
}| Encoding of the returned image. webp is smaller; png is lossless. |
{
"type": "object",
"title": "edit_imageArguments",
"required": [
"prompt",
"images"
],
"properties": {
"n": {
"type": "integer",
"title": "N",
"default": 1,
"maximum": 10,
"minimum": 1,
"description": "Number of images to generate (1 to 10). Each returned image costs 50 tokens."
},
"size": {
"anyOf": [
{
"type": "string",
"maxLength": 32
},
{
"type": "null"
}
],
"title": "Size",
"default": null,
"description": "Optional output size as WIDTHxHEIGHT (for example 1024x1536) or auto. This sets aspect ratio, not exact pixel size. Omit for the default aspect ratio."
},
"images": {
"type": "array",
"items": {
"type": "string"
},
"title": "Images",
"maxItems": 8,
"minItems": 1,
"description": "Source images as stored file names from files.list_uploaded_files and/or public http or https image URLs. One image is an edit. Several images are composed into one scene. Upload files with files.upload_file first."
},
"prompt": {
"type": "string",
"title": "Prompt",
"maxLength": 4000,
"description": "Text description of the image to generate or of the edit to apply."
},
"file_name": {
"anyOf": [
{
"type": "string",
"maxLength": 255
},
{
"type": "null"
}
],
"title": "File Name",
"default": null,
"description": "Optional account-relative storage path for the image. When n is greater than 1, an index is inserted before the extension (for example art/fox.webp becomes art/fox-1.webp and art/fox-2.webp). If omitted, the file is stored under image-generation/ with a generated name."
},
"output_format": {
"enum": [
"webp",
"png",
"jpeg"
],
"type": "string",
"title": "Output Format",
"default": "webp",
"description": "Encoding of the returned image. webp is smaller; png is lossless."
}
}
}| post_load_wait | integer | Extra seconds to wait after wait_until before capturing. Only valid when wait_until is domcontentloaded. Use this instead of networkidle when pages keep network activity. |
| viewport_width | integer | Browser viewport width in pixels. |
| timeout_seconds | integer | Maximum seconds to wait for the page to load before failing. |
| viewport_height | integer | Browser viewport height in pixels. |
| block_cookie_banners | boolean | When true, attempt to dismiss common cookie consent banners and overlays before capture. Best-effort - custom or first-party banners may remain. |
{
"type": "object",
"title": "capture_website_screenshotArguments",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"title": "Url",
"maxLength": 2048,
"description": "Public http or https URL to capture. Private, localhost, and internal network addresses are blocked."
},
"format": {
"enum": [
"png",
"jpeg"
],
"type": "string",
"title": "Format",
"default": "png",
"description": "Output image format. 'png' preserves lossless quality (default). 'jpeg' produces smaller files."
},
"quality": {
"type": "integer",
"title": "Quality",
"default": 80,
"maximum": 100,
"minimum": 0,
"description": "JPEG compression quality from 0 (smallest) to 100 (best). Only applies when format is 'jpeg'; ignored for PNG."
},
"dark_mode": {
"type": "boolean",
"title": "Dark Mode",
"default": false,
"description": "When true, emulate prefers-color-scheme: dark so sites with dark-mode CSS render in dark mode. Has no effect on sites without dark-mode styling."
},
"file_name": {
"anyOf": [
{
"type": "string",
"maxLength": 255
},
{
"type": "null"
}
],
"title": "File Name",
"default": null,
"description": "Optional account-relative storage path for the screenshot. If omitted, the file is stored under downloads/ with a generated name."
},
"full_page": {
"type": "boolean",
"title": "Full Page",
"default": false,
"description": "Capture the full scrollable page. When false, only the viewport area is captured."
},
"wait_until": {
"enum": [
"load",
"domcontentloaded",
"networkidle"
],
"type": "string",
"title": "Wait Until",
"default": "domcontentloaded",
"description": "When to take the screenshot: 'load' (load event), 'domcontentloaded' (DOM ready, faster; use with post_load_wait to let the page settle), or 'networkidle' (no network activity for 500ms; can time out on pages with ongoing requests)."
},
"post_load_wait": {
"type": "integer",
"title": "Post Load Wait",
"default": 0,
"maximum": 20,
"minimum": 0,
"description": "Extra seconds to wait after wait_until before capturing. Only valid when wait_until is domcontentloaded. Use this instead of networkidle when pages keep network activity."
},
"viewport_width": {
"type": "integer",
"title": "Viewport Width",
"default": 1280,
"maximum": 3840,
"minimum": 320,
"description": "Browser viewport width in pixels."
},
"timeout_seconds": {
"type": "integer",
"title": "Timeout Seconds",
"default": 30,
"maximum": 60,
"minimum": 5,
"description": "Maximum seconds to wait for the page to load before failing."
},
"viewport_height": {
"type": "integer",
"title": "Viewport Height",
"default": 720,
"maximum": 2160,
"minimum": 240,
"description": "Browser viewport height in pixels."
},
"block_cookie_banners": {
"type": "boolean",
"title": "Block Cookie Banners",
"default": false,
"description": "When true, attempt to dismiss common cookie consent banners and overlays before capture. Best-effort - custom or first-party banners may remain."
}
}
}| user_id | any | Numeric X user id from x-twitter.connected_accounts. Pass user_id or user_name to target a specific account, not both. Omit both to use the default account. |
| card_uri | any | Card URI for the post. Mutually exclusive with poll and media. |
| nullcast | any | Whether the post is promoted-only and hidden from the public timeline. |
| user_name | any | X handle from x-twitter.connected_accounts, with or without a leading @. Pass user_id or user_name to target a specific account, not both. Omit both to use the default account. |
| community_id | any | Community id when posting to an X community. |
| made_with_ai | any | Whether the post contains AI-generated media. |
| reply_settings | any | Who can reply to the post. |
| paid_partnership | any | Whether the post is a paid partnership. |
| share_with_followers | any | Whether to share a community post with followers too. |
| direct_message_deep_link | any | Deep link that moves the conversation into Direct Messages. |
| for_super_followers_only | any | Whether the post is exclusive to super followers. |
{
"type": "object",
"title": "create_x_postArguments",
"properties": {
"poll": {
"anyOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "null"
}
],
"title": "Poll",
"default": null,
"description": "Poll object with options (2-4 strings) and duration_minutes (5-10080)."
},
"text": {
"anyOf": [
{
"type": "string",
"maxLength": 25000
},
{
"type": "null"
}
],
"title": "Text",
"default": null,
"description": "Post text content. At least one of text, poll, media, or card_uri is required."
},
"media": {
"type": "array",
"items": {
"type": "string"
},
"title": "Media",
"default": null,
"maxItems": 4,
"minItems": 1,
"description": "File names from files.list_uploaded_files to attach (up to 4). Upload with files.upload_file and @vee3/upload first, then list_uploaded_files to get the stored file_name values."
},
"user_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "User Id",
"default": null,
"description": "Numeric X user id from x-twitter.connected_accounts. Pass user_id or user_name to target a specific account, not both. Omit both to use the default account."
},
"card_uri": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Card Uri",
"default": null,
"description": "Card URI for the post. Mutually exclusive with poll and media."
},
"nullcast": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Nullcast",
"default": null,
"description": "Whether the post is promoted-only and hidden from the public timeline."
},
"user_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "User Name",
"default": null,
"description": "X handle from x-twitter.connected_accounts, with or without a leading @. Pass user_id or user_name to target a specific account, not both. Omit both to use the default account."
},
"community_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Community Id",
"default": null,
"description": "Community id when posting to an X community."
},
"made_with_ai": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Made With Ai",
"default": null,
"description": "Whether the post contains AI-generated media."
},
"reply_settings": {
"anyOf": [
{
"enum": [
"following",
"mentionedUsers",
"subscribers",
"verified"
],
"type": "string"
},
{
"type": "null"
}
],
"title": "Reply Settings",
"default": null,
"description": "Who can reply to the post."
},
"paid_partnership": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Paid Partnership",
"default": null,
"description": "Whether the post is a paid partnership."
},
"share_with_followers": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Share With Followers",
"default": null,
"description": "Whether to share a community post with followers too."
},
"direct_message_deep_link": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Direct Message Deep Link",
"default": null,
"description": "Deep link that moves the conversation into Direct Messages."
},
"for_super_followers_only": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "For Super Followers Only",
"default": null,
"description": "Whether the post is exclusive to super followers."
}
}
}| paid_partnership |
| any |
| Whether the post is a paid partnership. |
{
"type": "object",
"title": "edit_x_postArguments",
"required": [
"post_id"
],
"properties": {
"text": {
"anyOf": [
{
"type": "string",
"maxLength": 25000
},
{
"type": "null"
}
],
"title": "Text",
"default": null,
"description": "Updated post text."
},
"media": {
"type": "array",
"items": {
"type": "string"
},
"title": "Media",
"default": null,
"maxItems": 4,
"minItems": 1,
"description": "File names from files.list_uploaded_files to attach (up to 4). Upload with files.upload_file first."
},
"post_id": {
"type": "string",
"title": "Post Id",
"description": "Numeric id of the post to edit."
},
"user_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "User Id",
"default": null,
"description": "Numeric X user id from x-twitter.connected_accounts. Pass user_id or user_name to target a specific account, not both. Omit both to use the default account."
},
"user_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "User Name",
"default": null,
"description": "X handle from x-twitter.connected_accounts, with or without a leading @. Pass user_id or user_name to target a specific account, not both. Omit both to use the default account."
},
"made_with_ai": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Made With Ai",
"default": null,
"description": "Whether the post contains AI-generated media."
},
"paid_partnership": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Paid Partnership",
"default": null,
"description": "Whether the post is a paid partnership."
}
}
}| community_id | any | Community id when posting to an X community. |
| made_with_ai | any | Whether the post contains AI-generated media. |
| reply_settings | any | Who can reply to the post. |
| paid_partnership | any | Whether the post is a paid partnership. |
| reply_to_post_id* | string | Numeric id of the post to reply to. |
| share_with_followers | any | Whether to share a community post with followers too. |
| exclude_reply_user_ids | any | User ids to exclude from the reply mention list. |
| direct_message_deep_link | any | Deep link that moves the conversation into Direct Messages. |
| for_super_followers_only | any | Whether the post is exclusive to super followers. |
| auto_populate_reply_metadata | any | Whether to automatically populate reply metadata. |
{
"type": "object",
"title": "reply_to_x_postArguments",
"required": [
"reply_to_post_id"
],
"properties": {
"poll": {
"anyOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "null"
}
],
"title": "Poll",
"default": null,
"description": "Poll object with options (2-4 strings) and duration_minutes (5-10080)."
},
"text": {
"anyOf": [
{
"type": "string",
"maxLength": 25000
},
{
"type": "null"
}
],
"title": "Text",
"default": null,
"description": "Reply text content. At least one of text, poll, media, or card_uri is required."
},
"media": {
"type": "array",
"items": {
"type": "string"
},
"title": "Media",
"default": null,
"maxItems": 4,
"minItems": 1,
"description": "File names from files.list_uploaded_files to attach (up to 4)."
},
"user_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "User Id",
"default": null,
"description": "Numeric X user id from x-twitter.connected_accounts. Pass user_id or user_name to target a specific account, not both. Omit both to use the default account."
},
"card_uri": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Card Uri",
"default": null,
"description": "Card URI for the post. Mutually exclusive with poll and media."
},
"nullcast": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Nullcast",
"default": null,
"description": "Whether the post is promoted-only and hidden from the public timeline."
},
"user_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "User Name",
"default": null,
"description": "X handle from x-twitter.connected_accounts, with or without a leading @. Pass user_id or user_name to target a specific account, not both. Omit both to use the default account."
},
"community_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Community Id",
"default": null,
"description": "Community id when posting to an X community."
},
"made_with_ai": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Made With Ai",
"default": null,
"description": "Whether the post contains AI-generated media."
},
"reply_settings": {
"anyOf": [
{
"enum": [
"following",
"mentionedUsers",
"subscribers",
"verified"
],
"type": "string"
},
{
"type": "null"
}
],
"title": "Reply Settings",
"default": null,
"description": "Who can reply to the post."
},
"paid_partnership": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Paid Partnership",
"default": null,
"description": "Whether the post is a paid partnership."
},
"reply_to_post_id": {
"type": "string",
"title": "Reply To Post Id",
"description": "Numeric id of the post to reply to."
},
"share_with_followers": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Share With Followers",
"default": null,
"description": "Whether to share a community post with followers too."
},
"exclude_reply_user_ids": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Exclude Reply User Ids",
"default": null,
"description": "User ids to exclude from the reply mention list."
},
"direct_message_deep_link": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Direct Message Deep Link",
"default": null,
"description": "Deep link that moves the conversation into Direct Messages."
},
"for_super_followers_only": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "For Super Followers Only",
"default": null,
"description": "Whether the post is exclusive to super followers."
},
"auto_populate_reply_metadata": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Auto Populate Reply Metadata",
"default": null,
"description": "Whether to automatically populate reply metadata."
}
}
}| language |
| string |
| Language code for localized results (for example en). |
| location | string | Country code for localized results (for example US). |
| upload_date | any | Upload date filter. One of: Last hour, Today, This week, This month, This year. |
| content_type | any | Content type filter. One of: Video, Channel, Playlist, Movie. |
{
"type": "object",
"title": "search_youtubeArguments",
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"title": "Query",
"maxLength": 512,
"description": "Search keywords or phrase."
},
"cursor": {
"anyOf": [
{
"type": "string",
"maxLength": 4096
},
{
"type": "null"
}
],
"title": "Cursor",
"default": null,
"description": "Pagination cursor from cursorNext."
},
"sort_by": {
"anyOf": [
{
"type": "string",
"maxLength": 128
},
{
"type": "null"
}
],
"title": "Sort By",
"default": null,
"description": "Sort order. One of: Relevance, Upload date, View count, Rating."
},
"duration": {
"anyOf": [
{
"type": "string",
"maxLength": 128
},
{
"type": "null"
}
],
"title": "Duration",
"default": null,
"description": "Duration filter. One of: Under 4 minutes, 4 - 20 minutes, Over 20 minutes."
},
"features": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
},
"maxItems": 6
},
{
"type": "null"
}
],
"title": "Features",
"default": null,
"description": "Feature filters. Multiple allowed. Each value must be one of: Live, 4K, HD, Subtitles/CC, Creative Commons, 360°, VR180, 3D, HDR, Location, Purchased."
},
"language": {
"type": "string",
"title": "Language",
"default": "en",
"maxLength": 10,
"description": "Language code for localized results (for example en)."
},
"location": {
"type": "string",
"title": "Location",
"default": "US",
"maxLength": 10,
"description": "Country code for localized results (for example US)."
},
"upload_date": {
"anyOf": [
{
"type": "string",
"maxLength": 128
},
{
"type": "null"
}
],
"title": "Upload Date",
"default": null,
"description": "Upload date filter. One of: Last hour, Today, This week, This month, This year."
},
"content_type": {
"anyOf": [
{
"type": "string",
"maxLength": 128
},
{
"type": "null"
}
],
"title": "Content Type",
"default": null,
"description": "Content type filter. One of: Video, Channel, Playlist, Movie."
}
}
}