Your first API call (developers)

Shortest path to one successful POST /v1/tools/execute against https://api.callvault.dev with a real GitHub connection. Setup happens in the dashboard; the smoke test uses a server control key and curl.

New here? Start with the setup guide for non-technical steps.

Before you start

  • API base URL: https://api.callvault.dev (no trailing slash)
  • Dashboard: https://app.callvault.dev
  • Human login: Auth0 at the dashboard. Sign in with email, Google, or GitHub. Trial and billing follow the public pricing page.
  • Tenant header: Operator routes require Authorization: Bearer <Auth0 access token> and X-Broker-Tenant-Id: <uuid>. Default tenant id is 11111111-1111-1111-1111-111111111101 unless your host overrides NEXT_PUBLIC_BROKER_TENANT_ID.
  • Auth0 audience: https://api.callvault.dev

1. Sign in

Open https://app.callvault.dev, click Log in, and sign in with email, Google, or GitHub.

2. Connect GitHub

In the dashboard, go to Connections and choose Connect GitHub. After OAuth you get a connection id (a UUID), not a token. Copy it for step 5.

3. Create a test agent

Go to Agents and Create test agent. Copy the agent id from the card.

GitHub is the only SaaS connector wired in the product today.

4. Create a control API key

Go to Connection keys and Create test key. The secret is shown once and starts with bk_test_. Keep it on your server only.

export FULL_KEY="bk_test_<paste secret from dashboard>"

5. Mint a broker JWT and execute a tool

export AGENT_APP_ID="<uuid from Agents page>"
export CONNECTION_ID="<uuid from Connections>"

export BROKER_JWT="$(curl -s -X POST https://api.callvault.dev/v1/broker/token \
  -H "Authorization: Bearer $FULL_KEY" \
  -H "Content-Type: application/json" \
  -d "{\"agent_app_id\":\"$AGENT_APP_ID\",\"env\":\"test\"}" | jq -r .access_token)"

curl -s -X POST https://api.callvault.dev/v1/tools/execute \
  -H "Authorization: Bearer $BROKER_JWT" \
  -H "Content-Type: application/json" \
  -d "{\"tool_name\":\"github.get_authenticated_user\",\"connected_account_id\":\"$CONNECTION_ID\",\"arguments\":{}}" | jq .

6. Confirm in the dashboard

Open Calls to see the invocation and audit row.

Next