Repository navigation
feat: public API report lab parity - #10
Merged
Merged
Conversation
…y returns - Accept float timestamps and scores, the info threat severity, the email and embedded artifact types, list CDR data and open platform values. - Add the indicator, artifact, syscall, file, tag, network and threat fields that the API returns, the network exfil requests, paged SHA-256 search, the STIX download, the PDF status and wait, and the AI report with its pending state.
…lan permissions - Add the score breakdown, overview duration, tag author, report metafields and file history to the submission detail. - Add the AI report reason, error code and finalized flag, the AI quota and plan permissions on /me, and regenerate_ai_report.
Add the indicator, artifact job, MITRE, process, behaviour, syscall, kill chain, network, static scan, URL score, IoC export, verdict, run, annotation and compare data. Remove verdict_state. List methods return total_count from X-Total-Count.
…iour match methods A private submission of another workspace now raises NotFoundError. Rate limit errors carry their code, and a quota outage raises QuotaUnavailableError. Empty list filters raise ValueError. The fake API follows the API order and codes.
batuhanisildak-malwation
changed the base branch from
feat/network-row-source
to
main
October 15, 2026 14:09
…rror field The fake API refuses a malformed artifact ID with 400 like the API. ApiError reads the raw camelCase body.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR targets
mainand contains the commits of #7, #8 and #9 (it merges #9, soverdict_stateis removed here too). Merge #7, #9 and #8 first with merge commits; the diff of this PR then shrinks to its own changes.What changed
/me.regenerate_ai_report(), which returnsAiReportPending.raw_type, artifact analysis fields, thesourcefilter andget_artifact_jobs().itemswith technique usage.ptr_domain, packets, endpoints, host flows with alerts, HTTPS PCAP andtotal_countfromX-Total-Count.Breaking changes
NotFoundError(404NOT_FOUND), notPermissionDeniedError.INVALID_UUID,SUBMISSION_PRIVATEandSUBMISSION_NOT_FOUNDcodes are removed, because the API no longer sends them.ValueErrorbefore the request is sent.verdict_stateis removed (fix(TZ-1535): remove unused final state #9).RateLimitErrornow carriescode. A quota outage raisesQuotaUnavailableError, which subclassesInternalServerError.Tests
ruff check,ruff format --check,mypyandpytestwith coverage pass (1234 tests, 93% coverage).uv buildpasses.