Quickstart

Get a project reporting deploys to i3deploy in a few minutes: sign up, create an API key, wire up one service, and push your first deploy event from CI.

1. Sign up

Go to app.i3deploy.com/onboarding and create your organization. The free plan covers 1 project forever — no credit card required.

2. Create an API key

Once you're in, open the API Keys page (app.i3deploy.com → your org → API Keys in the sidebar) and create a key.

  • The key is shown once — copy it somewhere safe before you navigate away.
  • Keys are org-scoped: the same key can report deploys for any project or service in your organization, so one key per CI system is usually enough.

3. Create a project and a service

Do this from the onboarding wizard, or later from the app UI:

  • A project groups the services you ship together (e.g. "Marketing site").
  • A service is the deployable unit a deploy event targets (e.g. "web", "api", "worker").

Every deploy you report needs a project and service to already exist.

4. Track your first deploy from CI

There are two ways to report a deploy: the vendored shell script (recommended — it handles start/finish and exit codes for you), or a raw curl call if you'd rather not vendor anything.

Option A: i3deploy.sh

Vendor i3deploy.sh into your repo (e.g. under i3version/) alongside a small config file at i3version/deploy.json:

{
  "base_url": "https://backend.i3deploy.com",
  "service": "web",
  "env": "production"
}

Set your API key as an environment variable in CI:

export I3DEPLOY_API_KEY="<your-i3deploy-api-key>"

Then either wrap your deploy command with run — it opens the deploy, runs your command, and closes it as finished or failed based on the exit code:

./i3deploy.sh run --dir ./i3version -- ./deploy-my-service.sh

or call start and finish yourself if you need more control (e.g. to bracket a multi-step deploy pipeline):

./i3deploy.sh start --dir ./i3version --env production
# ... your deploy steps ...
./i3deploy.sh finish --dir ./i3version --status finished
# on failure: ./i3deploy.sh finish --dir ./i3version --status failed --error "build step 3 failed"

version and commit_sha are read from git automatically (git describe --tags --always and git rev-parse HEAD), so there's nothing else to configure for a typical CI job.

Option B: raw curl

If you don't want to vendor a script, call the API directly:

curl -X POST https://backend.i3deploy.com/v1/deploys \
  -H "Authorization: Bearer $I3DEPLOY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"service":"web","env":"production","version":"1.4.2","commit_sha":"abc123"}'

Either way, i3deploy is designed to be tolerant of a broken integration: a failed or missing deploy call never fails your build — at worst you lose a data point, not a deploy.

Next

  • MCP connector — ask Claude what's running in production, or have it cut a release for you.
  • Cutting releases — record what changed, not just that something deployed.