DebugBundle
API

Projects API

Create, list, update, and delete projects via the DebugBundle REST API.

All project endpoints require member token authentication via the Authorization header.

All project operations are also available via the CLI (debugbundle project list/create/update/delete) and MCP tools (list_projects, create_project, update_project, delete_project). See CLI Cloud Workflow and MCP Tools.

List Projects

GET /v1/projects
curl https://api.debugbundle.com/v1/projects \
  -H "Authorization: Bearer dbundle_member_a1b2c3d4..."

Response (200):

{
  "projects": [
    {
      "project_id": "proj_01HXYZ...",
      "organization_id": "org_01HABCDE...",
      "name": "Backend API",
      "slug": "backend-api",
      "environment_default": "production",
      "organization_plan": "team",
      "created_at": "2026-01-10T08:00:00Z",
      "updated_at": "2026-03-15T14:30:00Z"
    }
  ]
}

Create Project

POST /v1/projects
curl -X POST https://api.debugbundle.com/v1/projects \
  -H "Authorization: Bearer dbundle_member_a1b2c3d4..." \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Backend API",
    "slug": "backend-api",
    "environment_default": "production"
  }'

Request Body:

FieldTypeRequiredDescription
namestringYesHuman-readable project name.
slugstringYesURL-safe identifier (lowercase, hyphens, no spaces).
environment_defaultstringNoEditable project default used in setup snippets and prefilled project metadata. Common values: production, staging, development, but custom values are allowed.

Response (201):

{
  "project": {
    "project_id": "proj_01HNEW...",
    "organization_id": "org_01HABCDE...",
    "name": "Backend API",
    "slug": "backend-api",
    "environment_default": "production",
    "organization_plan": "team",
    "created_at": "2026-03-24T11:00:00Z"
  }
}

Get Project

GET /v1/projects/{id}
curl https://api.debugbundle.com/v1/projects/proj_01HXYZ... \
  -H "Authorization: Bearer dbundle_member_a1b2c3d4..."

Response (200): Single project object.

Update Project

PATCH /v1/projects/{id}
curl -X PATCH https://api.debugbundle.com/v1/projects/proj_01HXYZ... \
  -H "Authorization: Bearer dbundle_member_a1b2c3d4..." \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Backend API v2",
    "environment_default": "staging"
  }'

Partial update — only the specified fields are changed.

Response (200): Updated project object.

Delete Project

DELETE /v1/projects/{id}
curl -X DELETE https://api.debugbundle.com/v1/projects/proj_01HXYZ... \
  -H "Authorization: Bearer dbundle_member_a1b2c3d4..."

Response (204): No content.

Deleting a project permanently removes all incidents, bundles, tokens, webhooks, and alerts associated with that project. This operation cannot be undone.

Capture Policy

Each project has a capture policy that controls event ingestion behavior.

Get Capture Policy

GET /v1/projects/{id}/capture-policy
curl https://api.debugbundle.com/v1/projects/proj_01HXYZ.../capture-policy \
  -H "Authorization: Bearer dbundle_member_a1b2c3d4..."

Response (200):

{
  "capture_policy": {
    "preset": "balanced",
    "sample_rate": 0.5,
    "duplicate_suppression_window_seconds": 300,
    "max_events_per_minute": 100,
    "severity_filter_min": null
  }
}

Update Capture Policy

PATCH /v1/projects/{id}/capture-policy
curl -X PATCH https://api.debugbundle.com/v1/projects/proj_01HXYZ.../capture-policy \
  -H "Authorization: Bearer dbundle_member_a1b2c3d4..." \
  -H "Content-Type: application/json" \
  -d '{
    "preset": "high_volume",
    "sample_rate": 0.1,
    "max_events_per_minute": 500
  }'

Presets:

PresetSample RateRate LimitDedup WindowDescription
full_capture1.050/min60sCapture everything. Best for low-traffic apps.
balanced0.5100/min300sDefault. Balanced coverage and volume.
high_volume0.1500/min600sAggressive sampling for high-traffic services.
customUser-setUser-setUser-setFull manual control.

Setting a preset overrides all fields to the preset defaults. Providing individual fields alongside a preset creates a custom override.

Next Steps

On this page