list_findings
List findings
List security findings for the organisation. Filter by pentest, asset, repository, severity, client-visible status, source, confirmation type, assignee, CVSS range, or dormant assets. Search titles or human identifiers such as ODI-12.
輸入參數leanlimitstatsoffsetsearchsortBysourcestatusassetIdcvssMaxcvssMinassignee另有 7 個
get_finding
Get finding remediation context
Fetch a finding by human identifier such as ODI-12 (preferred) or by internal findingId. Returns bounded remediation context, the suggested branch name, linked GitHub pull requests, workflow readiness, and retest state. Odin only provides context and can link an existing PR; it never creates commits, pushes branches, or creates pull requests.
輸入參數findingIdidentifier
update_finding_status
Update finding status
Change a finding's status by human identifier such as ODI-12 or internal findingId. Requires an explicit user request and an API key with Read & Write permission; cookie-authenticated callers also need member role. Linked pull request metadata does not grant authority to change status.
輸入參數status必填findingIdidentifier
link_finding_pull_request
Link an existing GitHub pull request
Link an existing accessible GitHub pull request to a finding identified by ODI-12 or findingId. This operation is idempotent. It does not create, modify, merge, or push a pull request, commit, or branch. Requires explicit user confirmation and an API key with Read & Write permission; cookie-authenticated callers also need member role.
輸入參數url必填findingIdidentifier
get_finding_retests
Get finding retest history
Read the retest history for a finding by human identifier such as ODI-12 or internal findingId. Distinguishes no history, queued or running, completed, skipped, failed, and gated/unavailable results. This tool never triggers a retest or spends credits.
輸入參數findingIdidentifier
list_pentests
List pentests
List all pentests for the organisation, including status, scheduled window, and in-scope targets.
無需輸入參數。
Fetch a single pentest by ID, including status, scheduled window, and in-scope targets.
輸入參數pentestId必填
List attack-surface assets for the organisation. Supports filtering by type, source, status, and free-text search.
輸入參數typelimitstatsoffsetsearchsortBysourcestatussortOrder
Fetch a single attack-surface asset by ID, including the findings that reference it in their latest revision.
輸入參數assetId必填
get_finding_stats
Get finding statistics
Read aggregate finding totals by severity and status, optionally scoped to a pentest. These totals do not apply other finding list filters.
輸入參數pentestId
list_finding_repositories
List repositories with findings
List organisation repositories available for the repository filter in list_findings.
無需輸入參數。
list_finding_assets
List assets referenced by findings
List organisation assets referenced by findings for use with the assetId filter. This differs from listing all attack-surface assets.
無需輸入參數。
export_findings
Export findings and revision content
Export findings matching the supplied filters, including revision Markdown and affected assets. The API returns all matching rows without pagination; narrow the filters for large organisations. This reads data and creates no file.
輸入參數searchsourcestatusassetIdcvssMaxcvssMinassigneeseveritypentestIdrepositoryhideDormantexcludeStatuses另有 1 個
get_finding_retest_summaries
Get latest retests for several findings
Read the latest retest summary for up to 200 finding IDs. Requires read permission and the organisation's retest capability; never starts a retest or spends credits. Missing entries have no latest retest.
輸入參數findingIds必填
get_finding_discussion_summaries
Get discussion summaries for several findings
Read message counts and unresolved discussion state for up to 200 finding IDs. API keys have no personal unread state; unreadCount is zero for key-authenticated calls.
輸入參數findingIds必填
assign_finding
Assign a finding
Assign a finding to an organisation member, or clear its assignment. Requires write permission. Assignment can notify the assignee by email and Slack and synchronise connected issue trackers.
輸入參數findingIdidentifierassigneeUserId必填
get_finding_discussion
Read finding discussions
Read native and Slack-synchronised conversation blocks for a finding. Each block paginates independently. API keys have no personal read or unread state.
輸入參數limitbeforeoffsetfindingIdidentifier
create_finding_message
Post a finding discussion message
Post a Markdown discussion message. Requires write permission and acts as the API key creator. May send email, mention notifications and Slack messages. Repeating a call creates another message.
輸入參數bodyMd必填threadIdfindingIdidentifierattachments
edit_finding_message
Edit a finding discussion message
Edit a message authored by the API key creator. Requires write permission. New mentions can send notifications and the edit can synchronise to Slack.
輸入參數bodyMd必填findingIdmessageId必填identifier
delete_finding_message
Delete a finding discussion message
Delete a message authored by the API key creator. Requires write permission and explicit user confirmation. May delete the message's Slack mirror.
輸入參數findingIdmessageId必填identifier
update_finding_discussion
Resolve or reopen the native discussion
Resolve or reopen a finding's native discussion. Requires write permission and may synchronise the status to Slack. This does not change the finding's security status.
輸入參數action必填findingIdidentifier
list_finding_mentionables
Find people and entities to mention
Find authorised people, findings and pentests that can be mentioned in a finding discussion. Returns up to eight people, eight findings and eight pentests matching q.
輸入參數qfindingIdidentifier
disconnect_finding_slack_thread
Disconnect a synced Slack thread
Disconnect a finding's SLACK_SYNC discussion block while preserving imported messages. Stops future synchronisation and may post a confirmation to Slack. Requires write permission and explicit user confirmation.
輸入參數threadId必填findingIdidentifier
prepare_finding_attachment_upload
Prepare a private discussion attachment upload
Create a five-minute signed upload URL for a file up to 25 MiB. Requires write permission. Does not upload bytes or post a message. Returns uploadUrl and requiredHeaders for a PUT of the exact file, plus publicUrl, a private gs:// object reference usable as a discussion attachment. Storage uploads use the returned storage headers without Odin credentials. Signed URLs are temporary secrets.
輸入參數filename必填findingIdsizeBytes必填identifiercontentType必填
get_finding_attachment_url
Get a temporary attachment download URL
Resolve a stored discussion attachment to a ten-minute signed download URL. Requires read permission and the attachment must belong to the selected finding and message. Does not download bytes or forward the Odin key to storage. Treat the returned signed URL as a temporary secret.
輸入參數url必填findingIdmessageId必填identifier
get_finding_slack_url
Get a synced discussion's Slack permalink
Resolve a synced message or thread to its Slack permalink. Requires read permission. Does not navigate to Slack or forward the Odin API key.
輸入參數threadIdfindingIdmessageIdidentifier
list_finding_pull_requests
Find accessible pull requests to link
Search accessible GitHub pull requests for this finding. Defaults to the finding's repository, otherwise its connected GitHub organisation. Results are advisory; link_finding_pull_request verifies the chosen PR. Requires read permission and a configured GitHub integration.
輸入參數pagequeryfindingIdidentifier
unlink_finding_pull_request
Unlink a manually linked pull request
Remove a manual finding-to-PR link. Requires write permission and explicit user confirmation. Automatic links cannot be removed with this operation. Does not modify, close, merge or delete the GitHub PR.
輸入參數prNodeId必填findingIdidentifier
follow_finding
Follow or unfollow a finding
Follow a finding to get its notifications, or stop following it. Requires write permission and acts as the API key creator. The assignee always follows their finding and can't unfollow it.
輸入參數follow必填findingIdidentifier
request_finding_retest
Request a finding retest
Queue a manual retest that checks whether a finding is still exploitable, when enabled for the organisation. Requires explicit user confirmation, spends credits and requires write permission. Available for findings in REPORTED, ACKNOWLEDGED, MITIGATING or OPEN_FOR_RETEST status with no retest already queued or running. Acts as the API key creator. Results are recorded in finding retest history.
輸入參數findingIdidentifier