canonical: https://jentic.com/apis/bugshot.de/bugshot

# Bugshot De BugShot API

Jentic publishes the only available OpenAPI specification for BugShot API, keeping it validated and agent-ready. BugShot is a bug tracking platform exposed through a Zapier-style action and trigger surface - every operation is a POST endpoint that takes a structured JSON action payload. The API covers creating and updating bugs, listing bugs by status, managing comments and screenshots, inviting users, and subscribing to webhook triggers for project and bug events. Use it to embed BugShot inside automation flows, sync bug data into other tools, or push BugShot events into chat and ticketing systems.

## For AI agents

Create and update BugShot bugs, fetch project and user data, and subscribe to bug-event webhook triggers across 24 action and trigger endpoints.

## Scope

Does not handle billing, the BugShot dashboard UI, or browser-side screenshot capture - use for programmatic bug, comment, project, and webhook management only.

## Capabilities

- Create new bugs in a BugShot project with title, description, and assignee
- Filter and search bugs by status, free-text query, or status name
- Read comment threads on a bug and update individual comments
- Update bug fields including info, status, and screenshot attachment
- List project members and invite new users by email
- Subscribe and unsubscribe webhook URLs for bug-created, bug-updated, and project-updated triggers
- Pull a complete project snapshot in a single call for export or analytics

## Use cases

### Chat-Driven Bug Filing

Let teammates file BugShot bugs from Slack or Teams without leaving the conversation. The agent posts to `/api/zapier/action/create-bug` with a title and description gathered from the chat thread, then echoes back the created bug ID and direct link. Pair it with `/api/zapier/action/update-bug-sc` to attach the screenshot a tester just shared.

Example prompt: Create a BugShot bug titled Login button broken on iOS with the user's description, then attach the uploaded screenshot to the new bug.

### Bug Status Sync Across Tools

Mirror BugShot status changes into a master ticketing system. Subscribe a webhook to `/api/zapier/trigger/bug-updated-status`, then on each event use `/api/zapier/action/get-status-of-bug` to confirm the new state and update the corresponding ticket in your engineering tracker. This keeps QA and engineering boards aligned without manual triage.

Example prompt: Register a webhook for the bug-updated-status trigger and, on each event, update the linked Jira issue to match the new BugShot status.

### Tester Onboarding Automation

When a new tester joins a project, automate their access. The agent calls `/api/zapier/action/get-users` to confirm they are not already added, then `/api/zapier/action/invite-users` with their email. The full project payload from `/api/zapier/action/get-whole-project` lets you pre-build a welcome message that lists the open bugs they should review.

Example prompt: Invite tester@example.com to the BugShot project and post the open bug count from the project payload to a welcome Slack DM.

### AI Agent Bug Assistant via Jentic

An agent built on Jentic can take a natural-language bug report from a non-technical stakeholder, classify it, and file it cleanly in BugShot. The agent searches Jentic for create a bug, loads the create-bug action schema, and executes the call with credentials drawn from the vault. It then polls the bug status to confirm engineering picked it up.

Example prompt: Search Jentic for create a BugShot bug, load the schema, and file a bug using the user's description; then call get-status-of-bug to monitor it.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/api/zapier/action/create-bug` | Create a bug |
| POST | `/api/zapier/action/search-bug` | Search bugs by query |
| POST | `/api/zapier/action/update-bug-status` | Update bug status |
| POST | `/api/zapier/action/update-bug-sc` | Update bug screenshot |
| POST | `/api/zapier/action/invite-users` | Invite users to a project |
| POST | `/api/zapier/subscription/{action}` | Subscribe to a webhook trigger |
| POST | `/api/zapier/trigger/bug-created` | Fires when a bug is created |

## Key resources

- **Bug Actions** — Create, search, update, and read bugs via Zapier-style action endpoints
- **Comments** — Fetch comment threads and update comments on a bug
- **Project** — Retrieve the whole project payload and update project info
- **Users** — List project users and invite new members by email
- **Triggers** — Subscribe webhooks to fire on bug and project events
- **Subscriptions** — Manage webhook subscription lifecycle for trigger actions

## Why Jentic

- **Setup:** Wiring BugShot by hand means learning its x-api-key header auth against the Zapier interface host and shaping each action and trigger payload yourself. Through Jentic you install once, import BugShot from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** BugShot targets bugs and projects through the request body of its Zapier-style actions rather than the URL path, so scope the agent by the operations it needs, such as creating a bug or searching bugs. Because you choose the allowed operations, it can file and search bugs without being able to invite users or update bug status unless you add those.
- **Credential handling:** Your BugShot x-api-key is stored once, encrypted, by your own Jentic One instance and injected as the header at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'file a new bug' or 'subscribe to bug events', and Jentic returns the matching BugShot action or trigger with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **BugHerd API** — BugHerd is a visual feedback tracker focused on pinning bugs onto live web pages, while BugShot wraps a Zapier-style action surface.
- **Bugsnag API** — Bugsnag automatically captures runtime errors from deployed apps; BugShot is for human-filed bug reports.
- **Buildkite API** — Buildkite builds the artefacts whose bugs end up filed in BugShot.

## FAQ

### Why is there no official OpenAPI spec for BugShot API?

BugShot does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call BugShot API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the BugShot API use?

BugShot uses an API key passed in the x-api-key header on every request. Through Jentic, the key is stored encrypted in the vault and injected at execution time, so the agent never sees the raw key in its context.

### Can I subscribe to bug events through the BugShot API?

Yes. POST `/api/zapier/subscription/{action}` subscribes a webhook URL to a trigger such as bug-created, bug-updated-status, bug-updated-comment, bug-updated-info, bug-updated-sc, or project-updated-info. DELETE on the same path removes the subscription.

### How do I create a bug with a screenshot?

It takes two calls. First post to `/api/zapier/action/create-bug` with title and description to create the bug, then call `/api/zapier/action/update-bug-sc` with the bug identifier and the screenshot payload. Run both in a single agent flow for a one-shot bug filing.

### What are the rate limits for the BugShot API?

The OpenAPI spec does not document explicit rate limits. Treat the Zapier action endpoints as fair-use and add retry-with-backoff for HTTP 429 responses; rely on triggers and webhooks for change detection rather than polling search-bug.

### How do I file a BugShot bug from an AI agent through Jentic?

Run pip install jentic and authenticate with your ak_* key. Search Jentic with create a BugShot bug, load the POST `/api/zapier/action/create-bug` operation, and execute it with title and description. Jentic injects the x-api-key header from your stored credential.

### Can I limit what my agent is allowed to do with the BugShot API?

Yes. Because you run Jentic One yourself, your own rules decide which BugShot operations the agent may call, and BugShot scopes access by operation rather than by URL path since every action targets bugs and projects through the request body. You can allow the agent to create a bug through `/api/zapier/action/create-bug` and search bugs through `/api/zapier/action/search-bug` while withholding invite-users or update-bug-status, so it can file and search bugs without being able to invite testers or change a bug's status. Add those operations only when you decide the agent should have them.
