Coding Agents
A coding agent is an external service that can read a Firetiger issue and
propose a fix (typically as a pull request). Each configured agent shows up as
an entry in the issue detail page’s Fix dropdown.
For the end-to-end workflow and the Cursor setup walkthrough, see Fixing issues with coding agents and the Cursor integration page. This page is the programmatic reference for callers of the service.
Service: firetiger.coding_agents.v1.CodingAgentsService
Resource name pattern: coding-agents/{coding_agent_id}
Access: Read + sessions
A CodingAgent is a typed view over a Connection whose
type is in the coding-agent subset. Which specific types are available
depends on the deployment — consult
ListConnectionTypes for the set
enabled on your stack. The {coding_agent_id} segment is the same id as
the underlying connections/{id} record. Creating or deleting a coding
agent goes through the Connections API; this service
is read-only for agents and exposes session management on top.
Sessions are passthrough — GetSession proxies to the external provider
on every call, and LaunchSession kicks off a new session there. Sessions
are not persisted by Firetiger.
Methods
| Method | Description |
|---|---|
| GetCodingAgent | Retrieve a coding agent by name |
| ListCodingAgents | List configured coding agents |
| LaunchSession | Launch a new session against an issue |
| GetSession | Read a session’s current state (proxied to the provider) |
GetCodingAgent
GET /v1/coding-agents/{coding_agent_id}
Path parameters
| Field | Type | Required | Description |
|---|---|---|---|
coding_agent_id |
string | Yes | ID portion of the resource name (e.g. cursor-prod) |
Returns not_found when the underlying connection exists but is not a
coding-agent type (e.g. it’s an HTTP connection) — a connection id can’t be
promoted to a coding-agent name on its own.
ListCodingAgents
GET /v1/codingAgents
Lists every configured coding-agent instance visible to the caller. Agent types that are disabled by a deployment-level feature flag are filtered out.
Query parameters
| Field | Type | Required | Description |
|---|---|---|---|
page_size |
integer | No | Maximum results per page |
page_token |
string | No | Token for the next page of results |
order_by |
string | No | Sort order |
filter |
string | No | Reserved for future use; non-empty filters are currently rejected with unimplemented. |
LaunchSession
POST /v1/coding-agents/{coding_agent_id}/sessions:launch
Starts a new session on the external provider. The returned
CodingAgentSession carries the provider’s external id and a
browser-openable session_url that callers (e.g. the UI’s Fix dropdown) can
redirect to. For backward compatibility with the “View Cursor Agent” chip,
the server also appends the session URL to issue.links on a best-effort
basis.
Path parameters
| Field | Type | Required | Description |
|---|---|---|---|
coding_agent_id |
string | Yes | ID of the coding agent that will launch the session |
Body
| Field | Type | Required | Description |
|---|---|---|---|
issue |
string | Yes | Resource name of the issue to fix (e.g. issues/FT-42) |
actor_email |
string | No | Email address of the human who triggered the launch (e.g. clicked Fix in the Firetiger UI). Forwarded to providers that support per-session user attribution: surfaced to Inspect as on_behalf_of so PR / commit authorship and audit trails name the actual user instead of the API key owner. The user must already have logged into the provider at least once. Other providers ignore this field. |
GetSession
GET /v1/coding-agents/{coding_agent_id}/sessions/{session_id}
Proxies to the external provider for fresh state. Status is normalized onto
CodingAgentSessionStatus (PENDING, RUNNING, FINISHED, FAILED).
Related
- Connections — underlying integration records (coding-agent types are a subset)
- Issues — the resources a coding-agent session operates on