/api/v1/meGet Public Api Me
Return safe metadata for the authenticated API key connection.
| Status | Description | Schema |
|---|---|---|
| 200 | Successful Response | PublicMeResponse |
REST API for organization-scoped automation around repositories, scans, findings, fixes, and pull request creation.
Organization API key. Generate keys in Organization Settings -> API Keys and send them as Bearer tokens.
Authorization header as a Bearer token./api/v1.Typical flow: list repositories, trigger a scan batch, poll the batch progress endpoint, read aggregated batch results, review findings, create a fix, then poll fix progress before opening pull requests.
scan_type accepts secrets_scan, semgrep_scan, deep_ai_scan, or sbom_scan.GET /repositories/{repository_id}/scans/{scan_id} now returns the scan batch detail created by POST /scans.GET /repositories/{repository_id}/scans/{scan_id}/progress is the primary polling endpoint for live scan progress.GET /repositories/{repository_id}/scans/{scan_id}/results returns findings aggregated across every repository in the batch.GET /repositories/{repository_id}/fixes/{fix_id}/progress is the primary polling endpoint for active fixes.GET /me returns the calling key's organization, scopes, and quota period — handy for verifying credentials before automating.GET /finding-events is an organization-wide, reverse-chronological feed of finding lifecycle events for audit trails and webhook-style polling.POST /repositories/{repository_id}/fixes/{fix_id}/refine re-runs the agent with follow-up instructions; POST .../cancel stops a pending or running fix.Inspect the identity, organization, and scopes of the calling API key.
/api/v1/meReturn safe metadata for the authenticated API key connection.
| Status | Description | Schema |
|---|---|---|
| 200 | Successful Response | PublicMeResponse |
Discover the repository ids and source inventory available to the calling organization.
/api/v1/repositoriesList repositories for the calling organization.
| Name | Type | Required | Description |
|---|---|---|---|
| include_archived | boolean | No | Include archived repositories |
| limit | integer | No | query parameter. |
| skip | integer | No | query parameter. |
| Status | Description | Schema |
|---|---|---|
| 200 | Successful Response | PublicPaginatedResponse_PublicRepositoryResponse_ |
| 422 | Validation Error | HTTPValidationError |
/api/v1/repositories/{repository_id}Get a single repository by id.
| Name | Type | Required | Description |
|---|---|---|---|
| repository_id | string | Yes | path parameter. |
| Status | Description | Schema |
|---|---|---|
| 200 | Successful Response | PublicRepositoryResponse |
| 422 | Validation Error | HTTPValidationError |
Create scan batches, poll live batch progress, inspect batch details, and fetch aggregated findings.
/api/v1/repositories/{repository_id}/scansList scan batches for the repository.
| Name | Type | Required | Description |
|---|---|---|---|
| repository_id | string | Yes | path parameter. |
| scan_type | secrets_scan | semgrep_scan | deep_ai_scan | sbom_scan | null | No | Filter by scan type |
| status | string | null | No | Filter by status |
| limit | integer | No | query parameter. |
| skip | integer | No | query parameter. |
| Status | Description | Schema |
|---|---|---|
| 200 | Successful Response | PublicPaginatedResponse_PublicScanBatchResponse_ |
| 422 | Validation Error | HTTPValidationError |
/api/v1/repositories/{repository_id}/scansTrigger a security scan for the repository.
| Name | Type | Required | Description |
|---|---|---|---|
| repository_id | string | Yes | path parameter. |
| Name | Type | Required | Description |
|---|---|---|---|
| scan_type | secrets_scan | semgrep_scan | deep_ai_scan | sbom_scan | Yes | Available scan types for repository security scanning. |
| Status | Description | Schema |
|---|---|---|
| 202 | Successful Response | PublicScanBatchResponse |
| 422 | Validation Error | HTTPValidationError |
/api/v1/repositories/{repository_id}/scans/{scan_id}Get the scan batch you created. scan_id is the batch id.
| Name | Type | Required | Description |
|---|---|---|---|
| repository_id | string | Yes | path parameter. |
| scan_id | string | Yes | path parameter. |
| Status | Description | Schema |
|---|---|---|
| 200 | Successful Response | PublicScanBatchResponse |
| 422 | Validation Error | HTTPValidationError |
/api/v1/repositories/{repository_id}/scans/{scan_id}/progressFine-grained progress for a scan batch.
Returns the batch's aggregate counters plus a per-repository breakdown (including placeholder entries for repos that haven't been materialized as scans yet when the batch is still QUEUED/CREATING_SCANS). A CLI can poll this and render a progress bar from percent_complete.
| Name | Type | Required | Description |
|---|---|---|---|
| repository_id | string | Yes | path parameter. |
| scan_id | string | Yes | path parameter. |
| Status | Description | Schema |
|---|---|---|
| 200 | Successful Response | PublicScanProgressResponse |
| 422 | Validation Error | HTTPValidationError |
/api/v1/repositories/{repository_id}/scans/{scan_id}/resultsAggregate findings from every repository in the batch.
scan_id is the batch id from POST /scans. Returns every finding attributed to this batch across all repositories. For per-repository slicing, use /progress to see the breakdown and then filter findings by scan_batch_id if needed.
| Name | Type | Required | Description |
|---|---|---|---|
| repository_id | string | Yes | path parameter. |
| scan_id | string | Yes | path parameter. |
| Status | Description | Schema |
|---|---|---|
| 200 | Successful Response | PublicScanResultsResponse |
| 422 | Validation Error | HTTPValidationError |
List findings for a repository, inspect one finding, or update its lifecycle status.
/api/v1/repositories/{repository_id}/findingsList findings for the repository.
| Name | Type | Required | Description |
|---|---|---|---|
| repository_id | string | Yes | path parameter. |
| scan_batch_id | string | null | No | Filter by scan batch id |
| severity | string | null | No | Filter by severity |
| status | string | null | No | Filter by status |
| scan_type | string | null | No | Filter by scan type |
| limit | integer | No | query parameter. |
| skip | integer | No | query parameter. |
| Status | Description | Schema |
|---|---|---|
| 200 | Successful Response | PublicPaginatedResponse_PublicFindingResponse_ |
| 422 | Validation Error | HTTPValidationError |
/api/v1/repositories/{repository_id}/findings/{finding_id}Get a single finding by id.
| Name | Type | Required | Description |
|---|---|---|---|
| repository_id | string | Yes | path parameter. |
| finding_id | string | Yes | path parameter. |
| Status | Description | Schema |
|---|---|---|
| 200 | Successful Response | PublicFindingResponse |
| 422 | Validation Error | HTTPValidationError |
/api/v1/repositories/{repository_id}/findings/{finding_id}Update the status of a finding (open / resolved / ignored / etc).
| Name | Type | Required | Description |
|---|---|---|---|
| repository_id | string | Yes | path parameter. |
| finding_id | string | Yes | path parameter. |
| Name | Type | Required | Description |
|---|---|---|---|
| status | open | resolved | ignored | false_positive | needs_manual_review | Yes | Status of a security finding. |
| Status | Description | Schema |
|---|---|---|
| 200 | Successful Response | PublicFindingResponse |
| 422 | Validation Error | HTTPValidationError |
Stream organization-wide finding lifecycle events for audit trails and webhook-style polling.
/api/v1/finding-eventsList finding lifecycle events for the calling organization.
Events are returned reverse-chronologically so polling consumers such as Zapier can use the event id as a stable dedupe key.
| Name | Type | Required | Description |
|---|---|---|---|
| repository_id | string | null | No | Filter by repository id |
| finding_id | string | null | No | Filter by finding id |
| scan_type | string | null | No | Filter by scan type |
| severity | string | null | No | Filter by severity |
| event_type | string | null | No | Filter by event type |
| start | string (date-time) | null | No | Start time filter |
| end | string (date-time) | null | No | End time filter |
| limit | integer | No | query parameter. |
| skip | integer | No | query parameter. |
| Status | Description | Schema |
|---|---|---|
| 200 | Successful Response | PublicPaginatedResponse_PublicFindingEventResponse_ |
| 422 | Validation Error | HTTPValidationError |
Create remediation runs, poll fix progress, inspect diffs, and create pull requests.
/api/v1/repositories/{repository_id}/fixesList fixes for the repository.
| Name | Type | Required | Description |
|---|---|---|---|
| repository_id | string | Yes | path parameter. |
| finding_id | string | null | No | Filter by finding id |
| limit | integer | No | query parameter. |
| skip | integer | No | query parameter. |
| Status | Description | Schema |
|---|---|---|
| 200 | Successful Response | PublicPaginatedResponse_PublicFixResponse_ |
| 422 | Validation Error | HTTPValidationError |
/api/v1/repositories/{repository_id}/fixesTrigger an autofix run for one or more findings in this repository.
| Name | Type | Required | Description |
|---|---|---|---|
| repository_id | string | Yes | path parameter. |
| Name | Type | Required | Description |
|---|---|---|---|
| finding_ids | string[] | No | No description provided. |
| title | string | Yes | No description provided. |
| instructions | string | Yes | No description provided. |
| source_repo | string | Yes | Repository full_name (owner/repo) |
| source_repo_provider | github | gitlab | azure_devops | No | No description provided. |
| source_scan_branch | string | null | No | Branch the finding was detected on |
| Status | Description | Schema |
|---|---|---|
| 201 | Successful Response | PublicFixResponse |
| 422 | Validation Error | HTTPValidationError |
/api/v1/repositories/{repository_id}/fixes/{fix_id}Get a single fix by id.
| Name | Type | Required | Description |
|---|---|---|---|
| repository_id | string | Yes | path parameter. |
| fix_id | string | Yes | path parameter. |
| Status | Description | Schema |
|---|---|---|
| 200 | Successful Response | PublicFixResponse |
| 422 | Validation Error | HTTPValidationError |
/api/v1/repositories/{repository_id}/fixes/{fix_id}/diffGet the diff for a fix. Returns diff=null while the fix is still running — clients should poll until status is completed.
| Name | Type | Required | Description |
|---|---|---|---|
| repository_id | string | Yes | path parameter. |
| fix_id | string | Yes | path parameter. |
| Status | Description | Schema |
|---|---|---|
| 200 | Successful Response | PublicFixDiffResponse |
| 422 | Validation Error | HTTPValidationError |
/api/v1/repositories/{repository_id}/fixes/{fix_id}/progressMinimal heartbeat for a running fix.
Returns status, timings, agent step count, and a last-activity timestamp so a CLI can show something like "Running... (42s, 12 steps, last update 3s ago)". Deliberately does not expose message content or tool-call details.
| Name | Type | Required | Description |
|---|---|---|---|
| repository_id | string | Yes | path parameter. |
| fix_id | string | Yes | path parameter. |
| Status | Description | Schema |
|---|---|---|
| 200 | Successful Response | PublicFixProgressResponse |
| 422 | Validation Error | HTTPValidationError |
/api/v1/repositories/{repository_id}/fixes/{fix_id}/refineRefine a completed autofix run with follow-up instructions.
| Name | Type | Required | Description |
|---|---|---|---|
| repository_id | string | Yes | path parameter. |
| fix_id | string | Yes | path parameter. |
| Name | Type | Required | Description |
|---|---|---|---|
| instructions | string | Yes | Follow-up instructions for refining the generated fix |
| Status | Description | Schema |
|---|---|---|
| 200 | Successful Response | PublicFixResponse |
| 422 | Validation Error | HTTPValidationError |
/api/v1/repositories/{repository_id}/fixes/{fix_id}/cancelCancel a pending or running autofix run.
| Name | Type | Required | Description |
|---|---|---|---|
| repository_id | string | Yes | path parameter. |
| fix_id | string | Yes | path parameter. |
| Status | Description | Schema |
|---|---|---|
| 200 | Successful Response | PublicFixResponse |
| 422 | Validation Error | HTTPValidationError |
/api/v1/repositories/{repository_id}/fixes/{fix_id}/pull-requestsOpen pull requests for a completed fix.
| Name | Type | Required | Description |
|---|---|---|---|
| repository_id | string | Yes | path parameter. |
| fix_id | string | Yes | path parameter. |
| Name | Type | Required | Description |
|---|---|---|---|
| title | string | null | No | PR title; auto-generated if omitted |
| body | string | null | No | PR body in markdown; auto-generated if omitted |
| branch_name | string | null | No | Custom branch name; auto-generated if omitted |
| Status | Description | Schema |
|---|---|---|
| 201 | Successful Response | PublicPullRequestsCreatedResponse |
| 422 | Validation Error | HTTPValidationError |
Check current organization quota balances exposed by the public API.
/api/v1/quotas/balanceReturn the current-period quota balance for the calling organization.
Check this before triggering a scan or fix — if a counter's remaining is zero, the POST will 403 OPERATION_FAILED with the offending quota_type in the detail.
| Status | Description | Schema |
|---|---|---|
| 200 | Successful Response | PublicQuotaBalanceResponse |