Gazebo
    ServicesAgentsDocsWritingPricing
    Log inSign up
    Log in

    Getting Started

    • Introduction
    • How Gazebo works
    • Core concepts
    • Quickstart

    Agent Access

    • Access profiles
    • Bearer tokens
    • Audit logs

    MCP

    • Overview
    • Cursor
    • Claude Desktop
    • Claude Code
    • OpenAI / Codex
    • Devin / Windsurf
    • Any MCP client
    • Get credential reference

    Authorization

    • Agent Consent Flow

    REST API

    • Overview
    • Authentication
    • Services
    • Agents
    • Access policies
    • Audit events
    • Consent administration
    • Agent credential access
    • Errors and limits

    Developer Tools

    • TypeScript SDK
    • CLI

    Security

    • Overview
    • Encryption model
    • Credential storage
    • Audit and compliance
    • Responsible disclosure
    Documentation

    Getting Started

    • Introduction
    • How Gazebo works
    • Core concepts
    • Quickstart

    Agent Access

    • Access profiles
    • Bearer tokens
    • Audit logs

    MCP

    • Overview
    • Cursor
    • Claude Desktop
    • Claude Code
    • OpenAI / Codex
    • Devin / Windsurf
    • Any MCP client
    • Get credential reference

    Authorization

    • Agent Consent Flow

    REST API

    • Overview
    • Authentication
    • Services
    • Agents
    • Access policies
    • Audit events
    • Consent administration
    • Agent credential access
    • Errors and limits

    Developer Tools

    • TypeScript SDK
    • CLI

    Security

    • Overview
    • Encryption model
    • Credential storage
    • Audit and compliance
    • Responsible disclosure
    DocsDeveloper ToolsCLI

    CLI

    Use the Gazebo CLI for account administration and agent-scoped credential retrieval from a terminal or script. All HTTP operations use the TypeScript SDK.

    Installation

    This guide covers manual account and agent tokens. The SDK's account-connection flow is separate: the CLI does not provide browser login or automatic renewal. Do not put application signing keys or refresh credentials in CLI arguments.

    The CLI requires server-side Node.js 20 or newer. Use a maintained, security-patched Node.js 22 or 24 release for new environments.

    npm install --global @gazebohq/cli
    gazebo --help
    

    The installed command is gazebo. The CLI uses @gazebohq/sdk for HTTP requests. It has no saved login or persistent configuration.

    Shell variable-assignment examples below use POSIX shell syntax; adapt assignment and quoting for other shells.

    Token setup

    Follow the authentication guide to obtain tokens. Supply them through your secret manager or environment, not command-line values, source files or recorded terminal sessions.

    VariablePurpose
    GAZEBO_ACCOUNT_TOKENAccount administration commands
    GAZEBO_API_TOKENCompatibility fallback for account commands only
    GAZEBO_AGENT_TOKENAgent credential retrieval; never falls back to an account token
    GAZEBO_ENDPOINTOptional deployment origin; defaults to https://app.gazebohq.com

    Alternatively, --token-file PATH reads the appropriate token from a private file outside version control. The file is read once and trimmed; the CLI never saves or updates it. A token-file option takes precedence over environment variables.

    There is no --token argument or interactive login flow. Generating a replacement account API token revokes the previous one, so do not rotate a shared token merely to test the CLI.

    Read-only quickstart

    With an account token securely configured:

    gazebo account get --json
    gazebo services list --json
    gazebo agents list --json
    gazebo audit list --limit 5 --json
    

    These commands do not create an agent or change a policy. Output may still contain personal information: account identity includes email, and audit events include agent metadata. Keep it out of public logs and screenshots.

    Command reference

    CommandTokenPurpose
    account getAccountRead account identity and feature availability
    services listAccountList connected service metadata
    agents listAccountList active agents without tokens
    agents create --name NAME --revealAccountCreate an agent and show its token once
    agents delete AGENT_ID --yesAccountRevoke the specified agent
    access get AGENT_IDAccountInspect service policies
    access set AGENT_ID SERVICE --enabled true --methods GETAccountReplace a policy with explicit enabled state and methods
    audit listAccountRead one page of credential-access events
    credentials get SERVICE --revealAgentRetrieve one permitted, sensitive credential
    --helpNoneShow usage without making a request

    The CLI does not upload credentials, administer consent, invoke provider APIs or wrap MCP. Refer to the REST API and MCP guide for those separately documented interfaces.

    Create an agent safely

    Agent creation returns its token once and requires --reveal before making the request. The following command prints a sensitive token. Use a private, unrecorded terminal or a secure consumer that captures stdout without logging it.

    EXPIRY="$(node -e 'process.stdout.write(new Date(Date.now() + 3600000).toISOString())')"
    gazebo agents create --name "GET credential retrieval" \
      --expires-at "$EXPIRY" --reveal --json
    

    --expires-at takes a UTC ISO timestamp. Omitting it creates an agent without an expiration. Store the returned token securely; agent listings will not return it again. If directing sensitive stdout to a file, set restrictive permissions first and keep it outside version control.

    Configure access

    Replace AGENT_ID with the intended agent's ID. Connect the service through the dashboard first.

    gazebo access get AGENT_ID --json
    gazebo access set AGENT_ID stripe --enabled true --methods GET
    gazebo access set AGENT_ID stripe --enabled false --methods GET
    

    Access updates replace the existing policy. Both --enabled true|false and a nonempty --methods list are required, including when disabling access. Methods are GET, POST, PUT, PATCH and DELETE; comma-separated values are supported and lowercase input is normalized.

    These policies govern credential release, not subsequent provider actions. Use provider-side scopes and IAM to constrain the credential itself.

    Retrieve a credential

    Use an agent token with permission for the service and declared method. This example assumes a connected stripe service with a key named api_key:

    gazebo credentials get stripe \
      --method GET --key-name api_key --reveal --json
    

    This prints the credential value. Capture it privately and pass it directly to your server-side integration. Do not use public CI logs or paste the output into chat.

    Without --key-name, the server selects the primary credential, preferring api_key. Without --method, retrieval defaults to GET. --reveal is mandatory even in scripts: omitting it prevents the HTTP request rather than retrieving and hiding a secret.

    A disabled service or disallowed declared method returns HTTP 403. A missing named key returns HTTP 404. The CLI does not automatically poll for approval or retry denied requests.

    Audit filters and pagination

    gazebo audit list --limit 50 --service stripe --outcome success --json
    gazebo audit list --limit 50 --service stripe --outcome success \
      --cursor "$CURSOR" --json
    

    Set CURSOR to the previous response's nextCursor only when hasMore is true. Every invocation returns one page with events, nextCursor and hasMore; keep filters unchanged when advancing the opaque cursor.

    Filters are --limit (integer 1–200), --cursor, --agent-id, --service, --outcome (success, denied or not_found), --from and --to. Date filters take timestamp strings. Pagination and retries are not automatic.

    JSON output and scripting

    Default output is indented JSON; --json emits compact JSON. Successful results go to stdout, and errors go to stderr:

    {"error":{"code":"http","message":"Gazebo request failed (HTTP 403)","status":403}}
    

    The example is a generic failure shape, not a credential response. Errors omit raw server payloads, stack traces and underlying transport details. An optional retryAfter field preserves the server's Retry-After header.

    For a read-only script, capture service metadata and print only a count:

    import { execFileSync } from "node:child_process";
    
    const output = execFileSync("gazebo", ["services", "list", "--json"], {
      encoding: "utf8",
      stdio: ["ignore", "pipe", "pipe"],
    });
    const services = JSON.parse(output);
    console.log({ connectedServiceCount: services.length });
    

    Treat stdout as sensitive when scripting agent creation or credential retrieval. Use process arguments only for non-secret options and do not log unfiltered subprocess results.

    Exit codeMeaning
    0Success or help
    1Request or configuration failure
    2Usage error, including missing token or required confirmation
    130In-flight request cancelled

    Endpoint, timeout and cancellation

    --endpoint URL overrides GAZEBO_ENDPOINT. Supply the origin, not /api or a resource path. Optional endpoint path prefixes are preserved. Use HTTPS remotely:

    gazebo --endpoint https://app.gazebohq.com services list --json
    gazebo --endpoint http://localhost:8787 services list --json
    

    The localhost example demonstrates interface configurability only. A local broker is not yet implemented, and cloud/local parity is not yet verified.

    --timeout-ms overrides the default 10-second timeout, including response-body reads. Ctrl+C or SIGTERM abort in-flight SDK requests. There are no automatic retries or cookie-authentication fallbacks.

    Revoke an agent

    gazebo agents delete AGENT_ID --yes
    

    --yes explicitly authorizes revocation without an interactive prompt. Confirm the ID carefully. Revoked tokens can no longer retrieve credentials; provider credentials already released remain subject to provider-side controls.

    Credential security boundary

    Credential retrieval returns the actual provider key to the calling runtime. A third-party host running the CLI can receive it too. Use trusted environments and narrow provider permissions; declared-method checks control credential release, not subsequent service calls.

    Revoking an agent blocks future retrieval but does not invalidate a key already retrieved. Audit records show credential access, not all provider actions. Account connection and token setup are manual; there is no integrated browser consent flow or provider request proxy.

    In multi-user applications, keep users' agent tokens separate and do not substitute an account administration token.

    Troubleshooting and support

    • Missing token / exit 2: check the environment variable for the command's account or agent mode.
    • 401: check token type, expiration and revocation.
    • 403: inspect the agent's service policy and declared method using an authorized account client.
    • 404: check the service identifier and named key.
    • 429: follow API limits guidance; repeated unchanged retries are not automatic.

    Package versions and REST API versions are separate. This reference describes the current CLI command surface; do not infer support for undocumented dashboard endpoints. See API compatibility guidance and the SDK reference.

    Local archive installation and controlled live-cloud workflows have passed. Public-registry installation is not yet verified, and the checks do not certify every OS, real-provider usage or a local broker.

    For help, contact [email protected] with the package/runtime versions, error code, HTTP status and exit code. Never include tokens, credential values or raw account/audit output.

    Explore Gazebo

    Gazebo gives each agent an independent access boundary around your agent credentials, with controls for approval, auditing, and revocation.

    Scoped identities for AI agentsGive every agent only the credentials it needs.Credential security and audit controlsSee how access is protected, recorded, and revoked.
    TypeScript SDKOverview
    Gazebo

    Credential management for AI agents. Scoped access, approval controls, and complete audit logs—without hardcoding or rotating shared API keys.

    Gazebo

    • Platform
    • Demo
    • MCP
    • Pricing

    Explore

    • Services
    • Agents
    • Vaults

    Content

    • Writing
    • Topics
    • Blog
    • Docs

    Company

    • About
    • [email protected]

    © 2026 Gazebo. All rights reserved.

    PrivacyTermsSecurity