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.